// Lean compiler output
// Module: Lean.Meta.Tactic.Grind.Main
// Imports: public import Lean.Meta.Tactic.Grind.Types public import Lean.Meta.Tactic.Grind.Util public import Lean.Meta.Closure import Lean.PrettyPrinter import Lean.Meta.Tactic.ExposeNames import Lean.Meta.Tactic.Simp.Diagnostics import Lean.Meta.Tactic.Simp.Rewrite import Lean.Meta.Tactic.Grind.RevertAll import Lean.Meta.Tactic.Grind.Proj import Lean.Meta.Tactic.Grind.ForallProp import Lean.Meta.Tactic.Grind.CtorIdx import Lean.Meta.Tactic.Grind.Intro import Lean.Meta.Tactic.Grind.Solve import Lean.Meta.Tactic.Grind.EMatch import Lean.Meta.Tactic.Grind.MarkNestedSubsingletons import Lean.Meta.Tactic.Grind.Internalize import Lean.Meta.Tactic.Grind.SimpUtil import Lean.Meta.Tactic.Grind.LawfulEqCmp import Lean.Meta.Tactic.Grind.ReflCmp import Lean.Meta.Tactic.Grind.PP import Lean.Meta.Tactic.Grind.Core
#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
size_t lean_usize_shift_left(size_t, size_t);
size_t lean_usize_sub(size_t, size_t);
size_t lean_usize_land(size_t, size_t);
lean_object* lean_usize_to_nat(size_t);
lean_object* lean_array_get_size(lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
lean_object* lean_array_fget(lean_object*, lean_object*);
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
uint8_t lean_name_eq(lean_object*, lean_object*);
lean_object* l_Lean_PersistentHashMap_mkCollisionNode___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
size_t lean_usize_shift_right(size_t, size_t);
size_t lean_usize_add(size_t, size_t);
lean_object* lean_array_push(lean_object*, lean_object*);
lean_object* lean_array_fget_borrowed(lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
lean_object* l_Lean_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*);
size_t lean_uint64_to_usize(uint64_t);
size_t lean_usize_mul(size_t, size_t);
uint64_t lean_uint64_of_nat(lean_object*);
uint8_t lean_usize_dec_le(size_t, size_t);
lean_object* l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
lean_object* lean_array_uget_borrowed(lean_object*, size_t);
size_t lean_array_size(lean_object*);
lean_object* l_Lean_Meta_Grind_activateInjectiveTheorem(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_nat_dec_le(lean_object*, lean_object*);
size_t lean_usize_of_nat(lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr1(lean_object*);
lean_object* lean_st_ref_get(lean_object*);
lean_object* l_Lean_DeclNameGenerator_mkUniqueName(lean_object*, lean_object*, lean_object*);
lean_object* lean_st_ref_take(lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkAuxDefinition(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkAuxTheorem(lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, 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*);
lean_object* l_Lean_MessageData_ofExpr(lean_object*);
double lean_float_of_nat(lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
lean_object* l_Lean_PersistentArray_push___redArg(lean_object*, lean_object*);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
lean_object* l_Lean_stringToMessageData(lean_object*);
lean_object* l_Lean_MessageData_ofConstName(lean_object*, uint8_t);
uint8_t l_Lean_Name_isAnonymous(lean_object*);
lean_object* l_Lean_Environment_setExporting(lean_object*, uint8_t);
uint8_t l_Lean_Environment_contains(lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*);
extern lean_object* l_Lean_Options_empty;
lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*);
lean_object* l_Lean_MessageData_note(lean_object*);
lean_object* l_Lean_Environment_header(lean_object*);
lean_object* l_Lean_EnvironmentHeader_moduleNames(lean_object*);
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_replaceRef(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_activateTheorem(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_Grind_builtinPropagatorsRef;
lean_object* l_Lean_Meta_Grind_EvalTactic_skip___redArg(lean_object*);
lean_object* l_Lean_Meta_Grind_propagateForallPropUp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_propagateReflCmp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_getAppFn(lean_object*);
lean_object* l_Lean_Meta_Grind_propagateProjEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_propagateCtorIdxUp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint64_t lean_uint64_shift_right(uint64_t, uint64_t);
uint64_t lean_uint64_xor(uint64_t, uint64_t);
lean_object* l_Lean_Meta_Grind_propagateForallPropDown(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_propagateLawfulEqCmp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_LocalDecl_userName(lean_object*);
lean_object* l_Lean_Meta_Sym_getTrueExpr___redArg(lean_object*);
lean_object* l_Lean_Meta_Sym_getFalseExpr___redArg(lean_object*);
lean_object* l_Lean_Meta_Sym_getBoolTrueExpr___redArg(lean_object*);
lean_object* l_Lean_Meta_Sym_getBoolFalseExpr___redArg(lean_object*);
lean_object* l_Lean_Meta_Sym_getNatZeroExpr___redArg(lean_object*);
lean_object* l_Lean_Meta_Sym_getOrderingEqExpr___redArg(lean_object*);
lean_object* l_Lean_Meta_Grind_getExtensions___redArg(lean_object*);
lean_object* l_Lean_Meta_Grind_getConfig___redArg(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_Grind_Solvers_mkInitialStates();
extern lean_object* l_Lean_Meta_Grind_instInhabitedENodeMap___private__1;
lean_object* l_Std_Queue_empty(lean_object*);
lean_object* lean_mk_array(lean_object*, lean_object*);
lean_object* lean_st_mk_ref(lean_object*);
lean_object* l_Lean_Meta_Grind_mkENodeCore___redArg(lean_object*, uint8_t, uint8_t, lean_object*, uint8_t, lean_object*);
lean_object* l_Lean_Meta_Grind_updateIndicesFound___redArg(lean_object*, lean_object*);
lean_object* lean_io_error_to_string(lean_object*);
lean_object* l_Lean_MessageData_ofFormat(lean_object*);
lean_object* l_Lean_MVarId_exposeNames(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageLog_add(lean_object*, lean_object*);
lean_object* l___private_Lean_Log_0__Lean_MessageData_appendDescriptionWidgetIfNamed(lean_object*);
lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*);
uint8_t l_Lean_MessageData_hasTag(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t);
lean_object* l_Lean_Syntax_getPos_x3f(lean_object*, uint8_t);
uint8_t lean_string_dec_eq(lean_object*, lean_object*);
uint8_t l_Lean_instBEqMessageSeverity_beq(uint8_t, uint8_t);
extern lean_object* l_Lean_warningAsError;
lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00Lean_NameMap_find_x3f_spec__0___redArg(lean_object*, lean_object*);
uint8_t l_Lean_MessageData_hasSyntheticSorry(lean_object*);
lean_object* l_Lean_Meta_Grind_addNewRawFact(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint64_t l_Lean_Meta_Sym_hashPtrExpr_unsafe__1(lean_object*);
uint8_t l___private_Lean_Meta_Sym_ExprPtr_0__Lean_Meta_Sym_isSameExpr_unsafe__1(lean_object*, lean_object*);
lean_object* lean_nat_mul(lean_object*, lean_object*);
lean_object* lean_nat_div(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Origin_key(lean_object*);
lean_object* l_Lean_MVarId_admit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_instMonadMCtxMetaM;
lean_object* l_Lean_MVarId_getType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_hasMVar(lean_object*);
lean_object* l_Lean_Expr_collectMVars(lean_object*, lean_object*);
lean_object* l_Lean_MetavarContext_findDecl_x3f(lean_object*, lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_MetavarContext_getDelayedMVarAssignmentCore_x3f(lean_object*, lean_object*);
lean_object* l_Lean_MetavarContext_getExprAssignmentCore_x3f(lean_object*, lean_object*);
lean_object* l_Lean_MVarId_getDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_instantiateMVarsCore(lean_object*, lean_object*);
lean_object* l_Lean_LocalContext_mkLambda(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t);
uint64_t l_Lean_instHashableMVarId_hash(lean_object*);
uint8_t l_Lean_instBEqMVarId_beq(lean_object*, lean_object*);
lean_object* l_Lean_Expr_mvar___override(lean_object*);
lean_object* l_Lean_Meta_instantiateMVarsProfiling___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_mvarId_x21(lean_object*);
lean_object* l_Lean_MVarId_assign___redArg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_withNewMCtxDepth___redArg(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_Lean_MVarId_withContext___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_instInhabitedPersistentArrayNode_default(lean_object*);
lean_object* lean_array_get_borrowed(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_LocalDecl_isImplementationDetail(lean_object*);
lean_object* l_Lean_LocalDecl_type(lean_object*);
lean_object* l_Lean_Meta_Grind_internalizeLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_preprocessHypothesis(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_LocalDecl_toExpr(lean_object*);
lean_object* l_Lean_Meta_Grind_add(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Level_ofNat(lean_object*);
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
lean_object* l_Lean_mkConst(lean_object*, lean_object*);
lean_object* l_Lean_mkApp4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_isInconsistent___redArg(lean_object*);
lean_object* l_Lean_LocalDecl_index(lean_object*);
lean_object* l_Lean_Meta_Grind_setNextDeclToEnd___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* l_Array_qpartition___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Meta_Grind_isBuiltinEagerCases(lean_object*);
lean_object* lean_array_uget(lean_object*, size_t);
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_MessageData_ofConst(lean_object*);
lean_object* l_Nat_reprFast(lean_object*);
uint8_t l_Lean_Name_lt(lean_object*, lean_object*);
lean_object* l_Lean_profileitIOUnsafe___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_Grind_grindExt;
extern lean_object* l_Lean_Meta_Grind_instInhabitedExtensionState_default;
lean_object* l_Lean_ScopedEnvExtension_getState___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Theorems_mkEmpty(lean_object*);
lean_object* l_Lean_MVarId_clearImplDetails___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_PersistentHashMap_Node_isEmpty___redArg(lean_object*);
lean_object* l_Lean_Meta_Grind_getSimpContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_getSimprocs___redArg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_getGlobalSymbolPriorities___redArg(lean_object*);
lean_object* l_Lean_Meta_Grind_SplitSource_toMessageData(lean_object*);
uint8_t l_Lean_Meta_Grind_isMarkedSubsingletonApp(lean_object*);
lean_object* l_Lean_Meta_Grind_EMatch_isTheoremInstanceProof_x3f(lean_object*);
lean_object* l_Lean_Expr_cleanupAnnotations(lean_object*);
lean_object* lean_simp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Simp_dischargeRfl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Simp_Result_getProof(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_isTrue(lean_object*);
lean_object* l_Lean_Meta_mkOfEqTrue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Simp_mkMethods(lean_object*, lean_object*, uint8_t);
extern lean_object* l_Lean_Meta_Grind_grind_debug;
lean_object* l_Lean_Meta_Grind_Methods_toMethodsRef(lean_object*);
lean_object* l_Lean_Meta_Sym_SymM_run___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_solve(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_isDiagnosticsEnabled___redArg(lean_object*);
lean_object* lean_array_mk(lean_object*);
lean_object* l_Lean_Meta_Simp_mkDiagMessages(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_PersistentArray_toArray___redArg(lean_object*);
extern lean_object* l_Lean_Meta_Grind_grind_unusedLemmaThreshold;
lean_object* l_Lean_mkMVar(lean_object*);
lean_object* l_Lean_Meta_Context_config(lean_object*);
uint64_t l_Lean_Meta_Context_configKey(lean_object*);
uint64_t lean_uint64_shift_left(uint64_t, uint64_t);
uint64_t l_Lean_Meta_TransparencyMode_toUInt64(uint8_t);
uint64_t lean_uint64_lor(uint64_t, uint64_t);
lean_object* l_Lean_MVarId_unfoldReducible(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MVarId_betaReduce(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_appendTagSuffix(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MVarId_revertAll(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MVarId_markAccessible(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_joinSep(lean_object*, lean_object*);
lean_object* l_List_appendTR___redArg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_goalToMessageData(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_List_isEmpty___redArg(lean_object*);
lean_object* l_Lean_MVarId_instantiateGoalMVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getDefaultExtensionState___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getDefaultExtensionState___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getDefaultExtensionState(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getDefaultExtensionState___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getOnlyExtensionState___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getOnlyExtensionState___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getOnlyExtensionState(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getOnlyExtensionState___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_Meta_Grind_mkParams___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkParams___closed__0;
static lean_once_cell_t l_Lean_Meta_Grind_mkParams___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkParams___closed__1;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkParams___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkDefaultParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkDefaultParams___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkOnlyParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkOnlyParams___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___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_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*);
static lean_once_cell_t l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static uint64_t l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0;
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forM___at___00Lean_Meta_Grind_mkMethods_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_forM___at___00Lean_Meta_Grind_mkMethods_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___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_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___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_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___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_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg___lam__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0_spec__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___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_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__0 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__0_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 3, .m_data = "mpr"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__1 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__1_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___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_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__0_value),LEAN_SCALAR_PTR_LITERAL(143, 37, 101, 248, 9, 246, 191, 223)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___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_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__2_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__1_value),LEAN_SCALAR_PTR_LITERAL(146, 109, 21, 40, 70, 113, 251, 6)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__2 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__2_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__3 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__3_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__4;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_Option_get___at___00Lean_Meta_Grind_GrindM_run_spec__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00Lean_Meta_Grind_GrindM_run_spec__0___boxed(lean_object*, lean_object*);
static lean_once_cell_t l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__0;
static lean_once_cell_t l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1;
static lean_once_cell_t l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__2;
static lean_once_cell_t l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__3;
static lean_once_cell_t l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__4;
static lean_once_cell_t l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__5;
static lean_once_cell_t l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__6_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__6;
static lean_once_cell_t l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__7_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__7;
static lean_once_cell_t l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__8_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__8;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_run___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*);
static const lean_closure_object l_Lean_Meta_Grind_GrindM_run___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___boxed, .m_arity = 9, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_GrindM_run___redArg___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_run___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_run___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_Grind_GrindM_run(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_run___boxed(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_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0___closed__0;
static lean_once_cell_t l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0___closed__1;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0(lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___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_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___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_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__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_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__3_spec__5___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___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__3___redArg(lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static size_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__0;
static lean_once_cell_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static size_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__1;
static lean_once_cell_t l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__2;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___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___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__4___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___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__4___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___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4_spec__10___redArg(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4_spec__10___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_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_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8_spec__10___redArg(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8_spec__10___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8___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_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__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_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__7(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_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*);
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__0;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__1;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___boxed, .m_arity = 10, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___closed__0 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___closed__0_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState(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_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___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_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1(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___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___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___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__3(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___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__4(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___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4_spec__10(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4_spec__10___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_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__3_spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8_spec__10(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8_spec__10___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_ctor_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16___closed__0_value;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17___closed__0_value;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14___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_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__13(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_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_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__2_spec__5(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__2_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_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_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_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_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1_spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__4_spec__10(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__4_spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_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_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__8_spec__11(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__8_spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__8(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__8___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_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__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_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__7(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_assertExtra(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_Grind_assertExtra___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_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___redArg(lean_object*, uint8_t, uint8_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore(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___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___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 lean_once_cell_t l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__0;
static lean_once_cell_t l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__1;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2(lean_object*);
static lean_once_cell_t l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3___closed__0;
static lean_once_cell_t l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3___closed__1;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3(lean_object*);
static lean_once_cell_t l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4___closed__0;
static lean_once_cell_t l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4___closed__1;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__5(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkGoalCore___lam__0(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkGoalCore___lam__0___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkGoalCore_spec__1(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkGoalCore_spec__1___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkGoalCore_spec__0(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkGoalCore_spec__0___boxed(lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__0;
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__1;
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__2;
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__3;
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__4;
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__5;
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__6_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__6;
static const lean_array_object l_Lean_Meta_Grind_mkGoalCore___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__7 = (const lean_object*)&l_Lean_Meta_Grind_mkGoalCore___closed__7_value;
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__8_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__8;
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__9_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__9;
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__10_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__10;
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__11_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__11;
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__12_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__12;
static lean_once_cell_t l_Lean_Meta_Grind_mkGoalCore___closed__13_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_mkGoalCore___closed__13;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkGoalCore(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_Grind_mkGoalCore___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___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10_spec__11(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10_spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__0;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__1;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__2;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__3;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 24, .m_capacity = 24, .m_length = 23, .m_data = "A private declaration `"};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__4 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__4_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__5;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 79, .m_capacity = 79, .m_length = 78, .m_data = "` (from the current module) exists but would need to be public to access here."};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__6 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__6_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__7_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__7;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 23, .m_capacity = 23, .m_length = 22, .m_data = "A public declaration `"};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__8 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__8_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__9_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__9;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 68, .m_capacity = 68, .m_length = 67, .m_data = "` exists but is imported privately; consider adding `public import "};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__10 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__10_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__11_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__11;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 3, .m_capacity = 3, .m_length = 2, .m_data = "`."};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__12 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__12_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__13_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__13;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__14_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 10, .m_capacity = 10, .m_length = 9, .m_data = "` (from `"};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__14 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__14_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__15_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__15;
static const lean_string_object l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__16_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 54, .m_capacity = 54, .m_length = 53, .m_data = "`) exists but would need to be public to access here."};
static const lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__16 = (const lean_object*)&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__16_value;
static lean_once_cell_t l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__17_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__17;
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_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_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__0 = (const lean_object*)&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__0_value;
static lean_once_cell_t l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__1;
static const lean_string_object l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "`"};
static const lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__2 = (const lean_object*)&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__2_value;
static lean_once_cell_t l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__3;
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_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_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static double l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0;
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_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___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__1 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__1_value;
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 3, .m_data = " ↦ "};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__2 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__2_value;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__3;
static const lean_array_object l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__4_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_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__4 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__4_value;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_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_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___lam__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___lam__0___boxed(lean_object*, lean_object*);
static const lean_closure_object l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___lam__0___boxed, .m_arity = 2, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___closed__0 = (const lean_object*)&l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___closed__0_value;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData___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_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_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_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_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_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10___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_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_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 = "split"};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__0_value;
static const lean_ctor_object l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_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___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__0_value),LEAN_SCALAR_PTR_LITERAL(249, 90, 54, 167, 41, 130, 106, 252)}};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__1 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__1_value;
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__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 = "source: "};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__2 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__2_value;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__3;
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__4_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 = "generation: "};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__4 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__4_value;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__5;
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__6_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 = "# cases: "};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__6 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__6_value;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__7_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__7;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__0;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 12, .m_capacity = 12, .m_length = 11, .m_data = "Case splits"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__1 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__1_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__1_value)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__2 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__2_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_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 uint8_t l_Lean_PersistentHashMap_isEmpty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__1___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_isEmpty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__1___redArg___boxed(lean_object*);
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_isEmpty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_isEmpty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__1___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3_spec__5(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_array_object l_Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_array_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 246}, .m_size = 0, .m_capacity = 0, .m_data = {}};
static const lean_object* l_Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3___closed__0 = (const lean_object*)&l_Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3___closed__0_value;
LEAN_EXPORT lean_object* l_Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__4(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10___redArg(lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg___lam__0(lean_object*, lean_object*, lean_object*);
static const lean_closure_object l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg___lam__0, .m_arity = 3, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg___closed__0 = (const lean_object*)&l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg___lam__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3___redArg___boxed(lean_object*, lean_object*, lean_object*);
static const lean_closure_object l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg___lam__0, .m_arity = 3, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg___closed__0 = (const lean_object*)&l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg___boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__5(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___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 = "grind"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__0 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___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_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__0_value),LEAN_SCALAR_PTR_LITERAL(223, 115, 241, 203, 181, 236, 81, 221)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__1 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__1_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__2;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__3_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 = "Diagnostics"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__3 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__3_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__3_value)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__4 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__4_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__5;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__6_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 = "Simplifier"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__6 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__6_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__6_value)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__7 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__7_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__8_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__8;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__9_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 = "Applications"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__9 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__9_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__10_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 = "app"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__10 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__10_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__11_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__10_value),LEAN_SCALAR_PTR_LITERAL(149, 158, 147, 61, 120, 131, 143, 40)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__11 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__11_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__12_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 = "Cases instances"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__12 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__12_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__13_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 = "cases"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__13 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__13_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__14_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_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__13_value),LEAN_SCALAR_PTR_LITERAL(220, 93, 203, 178, 149, 199, 118, 190)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__14 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__14_value;
static const lean_array_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__15_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_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__15 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__15_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__16_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 = "E-Matching instances"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__16 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__16_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__17_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 = "thm"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__17 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__17_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__18_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_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__17_value),LEAN_SCALAR_PTR_LITERAL(144, 106, 229, 125, 19, 158, 75, 156)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__18 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__18_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3_spec__5___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3_spec__5___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3_spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11(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_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_Meta_Grind_Result_hasFailed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Result_hasFailed___boxed(lean_object*);
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00Lean_Meta_Grind_Result_toMessageData_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00Lean_Meta_Grind_Result_toMessageData_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Meta_Grind_Result_toMessageData___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 = "\n"};
static const lean_object* l_Lean_Meta_Grind_Result_toMessageData___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_Result_toMessageData___closed__0_value;
static lean_once_cell_t l_Lean_Meta_Grind_Result_toMessageData___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Result_toMessageData___closed__1;
static const lean_string_object l_Lean_Meta_Grind_Result_toMessageData___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "Issues"};
static const lean_object* l_Lean_Meta_Grind_Result_toMessageData___closed__2 = (const lean_object*)&l_Lean_Meta_Grind_Result_toMessageData___closed__2_value;
static const lean_ctor_object l_Lean_Meta_Grind_Result_toMessageData___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Result_toMessageData___closed__2_value)}};
static const lean_object* l_Lean_Meta_Grind_Result_toMessageData___closed__3 = (const lean_object*)&l_Lean_Meta_Grind_Result_toMessageData___closed__3_value;
static lean_once_cell_t l_Lean_Meta_Grind_Result_toMessageData___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Result_toMessageData___closed__4;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Result_toMessageData(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Result_toMessageData___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2_spec__3_spec__5___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2_spec__3___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5_spec__7_spec__9___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5_spec__7___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5___redArg(lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2_spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5_spec__7(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2_spec__3_spec__5(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5_spec__7_spec__9(lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins___closed__0;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00Lean_Meta_Grind_checkUnusedActivations_spec__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00Lean_Meta_Grind_checkUnusedActivations_spec__0___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00Lean_Meta_Grind_checkUnusedActivations_spec__1___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00Lean_Meta_Grind_checkUnusedActivations_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00Lean_Meta_Grind_checkUnusedActivations_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00Lean_Meta_Grind_checkUnusedActivations_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00Lean_Meta_Grind_checkUnusedActivations_spec__2___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00Lean_Meta_Grind_checkUnusedActivations_spec__2___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_checkUnusedActivations___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_Lean_Meta_Grind_checkUnusedActivations___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___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_checkUnusedActivations_spec__4___redArg(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_checkUnusedActivations_spec__4___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg___lam__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg___lam__0___boxed(lean_object*, lean_object*);
static const lean_closure_object l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg___lam__0___boxed, .m_arity = 2, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg___closed__0 = (const lean_object*)&l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg___closed__0_value;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg___boxed(lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___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 = "Elab"};
static const lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__0 = (const lean_object*)&l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__0_value;
static const lean_string_object l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "Tactic"};
static const lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__1 = (const lean_object*)&l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__1_value;
static const lean_string_object l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__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 = "unsolvedGoals"};
static const lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__2 = (const lean_object*)&l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__2_value;
static const lean_string_object l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 17, .m_capacity = 17, .m_length = 16, .m_data = "synthPlaceholder"};
static const lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__3 = (const lean_object*)&l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__3_value;
static const lean_string_object l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___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 = "lean"};
static const lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__4 = (const lean_object*)&l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__4_value;
static const lean_string_object l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__5_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 = "inductionWithNoAlts"};
static const lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__5 = (const lean_object*)&l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__5_value;
static const lean_string_object l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__6_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 = "_namedError"};
static const lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__6 = (const lean_object*)&l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__6_value;
static const lean_string_object l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__7_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_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__7 = (const lean_object*)&l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__7_value;
LEAN_EXPORT uint8_t l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0(uint8_t, uint8_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___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_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6(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_Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5(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_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__9___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__9___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_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_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8___redArg(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_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_EXPORT lean_object* l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___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_EXPORT lean_object* l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___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_EXPORT lean_object* l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Meta_Grind_checkUnusedActivations___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 46, .m_capacity = 46, .m_length = 45, .m_data = "grind: activated but unused E-matching lemmas"};
static const lean_object* l_Lean_Meta_Grind_checkUnusedActivations___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_checkUnusedActivations___closed__0_value;
static const lean_ctor_object l_Lean_Meta_Grind_checkUnusedActivations___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_checkUnusedActivations___closed__0_value)}};
static const lean_object* l_Lean_Meta_Grind_checkUnusedActivations___closed__1 = (const lean_object*)&l_Lean_Meta_Grind_checkUnusedActivations___closed__1_value;
static lean_once_cell_t l_Lean_Meta_Grind_checkUnusedActivations___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_checkUnusedActivations___closed__2;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_checkUnusedActivations(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_Grind_checkUnusedActivations___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 uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00Lean_Meta_Grind_checkUnusedActivations_spec__2(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00Lean_Meta_Grind_checkUnusedActivations_spec__2___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__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_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_checkUnusedActivations_spec__4(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_checkUnusedActivations_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_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__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_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_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_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8(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_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_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_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__9___boxed(lean_object**);
static const lean_string_object l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___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 = "mp"};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__0_value;
static const lean_ctor_object l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__1_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__0_value),LEAN_SCALAR_PTR_LITERAL(143, 37, 101, 248, 9, 246, 191, 223)}};
static const lean_ctor_object l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__1_value_aux_0),((lean_object*)&l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__0_value),LEAN_SCALAR_PTR_LITERAL(183, 66, 254, 161, 210, 133, 94, 78)}};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__1 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__1_value;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__2;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__3;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__4;
static const lean_ctor_object l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 0}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__5 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__5_value;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___boxed(lean_object**);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2___boxed(lean_object**);
static const lean_ctor_object l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0_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)(0) << 1) | 1))}};
static const lean_object* l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0 = (const lean_object*)&l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__3___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1___closed__0;
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forMFrom0___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__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_Lean_PersistentArray_forMFrom0___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_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_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go(lean_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_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_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_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_processHypotheses___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_Lean_Meta_Grind_processHypotheses___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_processHypotheses(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_Grind_processHypotheses___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_Tactic_Grind_Main_0__Lean_Meta_Grind_initCore(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_Tactic_Grind_Main_0__Lean_Meta_Grind_initCore___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_logInfo___at___00Lean_Meta_Grind_mkResult_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_logInfo___at___00Lean_Meta_Grind_mkResult_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_Grind_mkResult(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_Grind_mkResult___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_runAtGoal___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_Lean_Meta_Grind_GrindM_runAtGoal___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_Lean_Meta_Grind_GrindM_runAtGoal___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_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_runAtGoal___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_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_runAtGoal___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_runAtGoal___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_Grind_GrindM_runAtGoal(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_Grind_GrindM_runAtGoal___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_profileitM___at___00Lean_Meta_Grind_main_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_profileitM___at___00Lean_Meta_Grind_main_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_profileitM___at___00Lean_Meta_Grind_main_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_profileitM___at___00Lean_Meta_Grind_main_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_main___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_main___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_EXPORT lean_object* l_Lean_Meta_Grind_main___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_main___lam__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_main___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getExprMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__1___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getExprMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getExprMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getExprMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__1___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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2___boxed(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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__6_spec__7___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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__6___redArg(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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4___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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__7___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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__7___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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4___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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_array_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___closed__0 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___closed__0_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___closed__1;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3(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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3___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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3(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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4(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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4___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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__6(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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__7(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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__7___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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__6_spec__7(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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 65, .m_capacity = 65, .m_length = 64, .m_data = "`grind` failed, proof contains unresolved internal metavariable "};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0___closed__1;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__7_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_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___redArg___closed__0 = (const lean_object*)&l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___redArg___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___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 = "debug"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__0 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__0_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__1_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 = "proof"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__1 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__1_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___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_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__0_value),LEAN_SCALAR_PTR_LITERAL(223, 115, 241, 203, 181, 236, 81, 221)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__2_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__2_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__0_value),LEAN_SCALAR_PTR_LITERAL(92, 174, 15, 22, 76, 124, 59, 78)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___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_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__2_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__1_value),LEAN_SCALAR_PTR_LITERAL(127, 66, 124, 20, 108, 113, 119, 45)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__2 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__2_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__4(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__2(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_Grind_withProtectedMCtx___redArg___lam__3(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx(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_Grind_getDefaultExtensionState___redArg(lean_object* v_a_1_){
_start:
{
lean_object* v___x_3_; lean_object* v_env_4_; lean_object* v___x_5_; lean_object* v_ext_6_; lean_object* v_toEnvExtension_7_; lean_object* v_asyncMode_8_; lean_object* v___x_9_; lean_object* v___x_10_; lean_object* v___x_11_; 
v___x_3_ = lean_st_ref_get(v_a_1_);
v_env_4_ = lean_ctor_get(v___x_3_, 0);
lean_inc_ref(v_env_4_);
lean_dec(v___x_3_);
v___x_5_ = l_Lean_Meta_Grind_grindExt;
v_ext_6_ = lean_ctor_get(v___x_5_, 1);
lean_inc_ref(v_ext_6_);
v_toEnvExtension_7_ = lean_ctor_get(v_ext_6_, 0);
lean_inc_ref(v_toEnvExtension_7_);
lean_dec_ref(v_ext_6_);
v_asyncMode_8_ = lean_ctor_get(v_toEnvExtension_7_, 2);
lean_inc(v_asyncMode_8_);
lean_dec_ref(v_toEnvExtension_7_);
v___x_9_ = l_Lean_Meta_Grind_instInhabitedExtensionState_default;
v___x_10_ = l_Lean_ScopedEnvExtension_getState___redArg(v___x_9_, v___x_5_, v_env_4_, v_asyncMode_8_);
lean_dec(v_asyncMode_8_);
v___x_11_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_11_, 0, v___x_10_);
return v___x_11_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getDefaultExtensionState___redArg___boxed(lean_object* v_a_12_, lean_object* v_a_13_){
_start:
{
lean_object* v_res_14_; 
v_res_14_ = l_Lean_Meta_Grind_getDefaultExtensionState___redArg(v_a_12_);
lean_dec(v_a_12_);
return v_res_14_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getDefaultExtensionState(lean_object* v_a_15_, lean_object* v_a_16_, lean_object* v_a_17_, lean_object* v_a_18_){
_start:
{
lean_object* v___x_20_; 
v___x_20_ = l_Lean_Meta_Grind_getDefaultExtensionState___redArg(v_a_18_);
return v___x_20_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getDefaultExtensionState___boxed(lean_object* v_a_21_, lean_object* v_a_22_, lean_object* v_a_23_, lean_object* v_a_24_, lean_object* v_a_25_){
_start:
{
lean_object* v_res_26_; 
v_res_26_ = l_Lean_Meta_Grind_getDefaultExtensionState(v_a_21_, v_a_22_, v_a_23_, v_a_24_);
lean_dec(v_a_24_);
lean_dec_ref(v_a_23_);
lean_dec(v_a_22_);
lean_dec_ref(v_a_21_);
return v_res_26_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0(void){
_start:
{
lean_object* v___x_27_; 
v___x_27_ = l_Lean_Meta_Grind_Theorems_mkEmpty(lean_box(0));
return v___x_27_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getOnlyExtensionState___redArg(lean_object* v_a_28_){
_start:
{
lean_object* v___x_30_; lean_object* v_env_31_; lean_object* v___x_32_; lean_object* v_ext_33_; lean_object* v_toEnvExtension_34_; lean_object* v_asyncMode_35_; lean_object* v___x_36_; lean_object* v___x_37_; lean_object* v_casesTypes_38_; lean_object* v_extThms_39_; lean_object* v_funCC_40_; lean_object* v___x_42_; uint8_t v_isShared_43_; uint8_t v_isSharedCheck_49_; 
v___x_30_ = lean_st_ref_get(v_a_28_);
v_env_31_ = lean_ctor_get(v___x_30_, 0);
lean_inc_ref(v_env_31_);
lean_dec(v___x_30_);
v___x_32_ = l_Lean_Meta_Grind_grindExt;
v_ext_33_ = lean_ctor_get(v___x_32_, 1);
lean_inc_ref(v_ext_33_);
v_toEnvExtension_34_ = lean_ctor_get(v_ext_33_, 0);
lean_inc_ref(v_toEnvExtension_34_);
lean_dec_ref(v_ext_33_);
v_asyncMode_35_ = lean_ctor_get(v_toEnvExtension_34_, 2);
lean_inc(v_asyncMode_35_);
lean_dec_ref(v_toEnvExtension_34_);
v___x_36_ = l_Lean_Meta_Grind_instInhabitedExtensionState_default;
v___x_37_ = l_Lean_ScopedEnvExtension_getState___redArg(v___x_36_, v___x_32_, v_env_31_, v_asyncMode_35_);
lean_dec(v_asyncMode_35_);
v_casesTypes_38_ = lean_ctor_get(v___x_37_, 0);
v_extThms_39_ = lean_ctor_get(v___x_37_, 1);
v_funCC_40_ = lean_ctor_get(v___x_37_, 2);
v_isSharedCheck_49_ = !lean_is_exclusive(v___x_37_);
if (v_isSharedCheck_49_ == 0)
{
lean_object* v_unused_50_; lean_object* v_unused_51_; 
v_unused_50_ = lean_ctor_get(v___x_37_, 4);
lean_dec(v_unused_50_);
v_unused_51_ = lean_ctor_get(v___x_37_, 3);
lean_dec(v_unused_51_);
v___x_42_ = v___x_37_;
v_isShared_43_ = v_isSharedCheck_49_;
goto v_resetjp_41_;
}
else
{
lean_inc(v_funCC_40_);
lean_inc(v_extThms_39_);
lean_inc(v_casesTypes_38_);
lean_dec(v___x_37_);
v___x_42_ = lean_box(0);
v_isShared_43_ = v_isSharedCheck_49_;
goto v_resetjp_41_;
}
v_resetjp_41_:
{
lean_object* v___x_44_; lean_object* v___x_46_; 
v___x_44_ = lean_obj_once(&l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0, &l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0_once, _init_l_Lean_Meta_Grind_getOnlyExtensionState___redArg___closed__0);
if (v_isShared_43_ == 0)
{
lean_ctor_set(v___x_42_, 4, v___x_44_);
lean_ctor_set(v___x_42_, 3, v___x_44_);
v___x_46_ = v___x_42_;
goto v_reusejp_45_;
}
else
{
lean_object* v_reuseFailAlloc_48_; 
v_reuseFailAlloc_48_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_48_, 0, v_casesTypes_38_);
lean_ctor_set(v_reuseFailAlloc_48_, 1, v_extThms_39_);
lean_ctor_set(v_reuseFailAlloc_48_, 2, v_funCC_40_);
lean_ctor_set(v_reuseFailAlloc_48_, 3, v___x_44_);
lean_ctor_set(v_reuseFailAlloc_48_, 4, v___x_44_);
v___x_46_ = v_reuseFailAlloc_48_;
goto v_reusejp_45_;
}
v_reusejp_45_:
{
lean_object* v___x_47_; 
v___x_47_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_47_, 0, v___x_46_);
return v___x_47_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getOnlyExtensionState___redArg___boxed(lean_object* v_a_52_, lean_object* v_a_53_){
_start:
{
lean_object* v_res_54_; 
v_res_54_ = l_Lean_Meta_Grind_getOnlyExtensionState___redArg(v_a_52_);
lean_dec(v_a_52_);
return v_res_54_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getOnlyExtensionState(lean_object* v_a_55_, lean_object* v_a_56_, lean_object* v_a_57_, lean_object* v_a_58_){
_start:
{
lean_object* v___x_60_; 
v___x_60_ = l_Lean_Meta_Grind_getOnlyExtensionState___redArg(v_a_58_);
return v___x_60_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_getOnlyExtensionState___boxed(lean_object* v_a_61_, lean_object* v_a_62_, lean_object* v_a_63_, lean_object* v_a_64_, lean_object* v_a_65_){
_start:
{
lean_object* v_res_66_; 
v_res_66_ = l_Lean_Meta_Grind_getOnlyExtensionState(v_a_61_, v_a_62_, v_a_63_, v_a_64_);
lean_dec(v_a_64_);
lean_dec_ref(v_a_63_);
lean_dec(v_a_62_);
lean_dec_ref(v_a_61_);
return v_res_66_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkParams___closed__0(void){
_start:
{
lean_object* v___x_67_; lean_object* v___x_68_; lean_object* v___x_69_; 
v___x_67_ = lean_unsigned_to_nat(32u);
v___x_68_ = lean_mk_empty_array_with_capacity(v___x_67_);
v___x_69_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_69_, 0, v___x_68_);
return v___x_69_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkParams___closed__1(void){
_start:
{
size_t v___x_70_; lean_object* v___x_71_; lean_object* v___x_72_; lean_object* v___x_73_; lean_object* v___x_74_; lean_object* v___x_75_; 
v___x_70_ = ((size_t)5ULL);
v___x_71_ = lean_unsigned_to_nat(0u);
v___x_72_ = lean_unsigned_to_nat(32u);
v___x_73_ = lean_mk_empty_array_with_capacity(v___x_72_);
v___x_74_ = lean_obj_once(&l_Lean_Meta_Grind_mkParams___closed__0, &l_Lean_Meta_Grind_mkParams___closed__0_once, _init_l_Lean_Meta_Grind_mkParams___closed__0);
v___x_75_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(v___x_75_, 0, v___x_74_);
lean_ctor_set(v___x_75_, 1, v___x_73_);
lean_ctor_set(v___x_75_, 2, v___x_71_);
lean_ctor_set(v___x_75_, 3, v___x_71_);
lean_ctor_set_usize(v___x_75_, 4, v___x_70_);
return v___x_75_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkParams(lean_object* v_config_76_, lean_object* v_extensions_77_, lean_object* v_a_78_, lean_object* v_a_79_, lean_object* v_a_80_, lean_object* v_a_81_){
_start:
{
lean_object* v___x_83_; 
lean_inc(v_a_81_);
lean_inc_ref(v_a_80_);
v___x_83_ = l_Lean_Meta_Grind_getSimpContext(v_config_76_, v_a_78_, v_a_79_, v_a_80_, v_a_81_);
if (lean_obj_tag(v___x_83_) == 0)
{
lean_object* v_a_84_; lean_object* v___x_85_; 
v_a_84_ = lean_ctor_get(v___x_83_, 0);
lean_inc(v_a_84_);
lean_dec_ref(v___x_83_);
v___x_85_ = l_Lean_Meta_Grind_getSimprocs___redArg(v_a_80_, v_a_81_);
lean_dec_ref(v_a_80_);
if (lean_obj_tag(v___x_85_) == 0)
{
lean_object* v_a_86_; lean_object* v___x_87_; 
v_a_86_ = lean_ctor_get(v___x_85_, 0);
lean_inc(v_a_86_);
lean_dec_ref(v___x_85_);
v___x_87_ = l_Lean_Meta_Grind_getGlobalSymbolPriorities___redArg(v_a_81_);
lean_dec(v_a_81_);
if (lean_obj_tag(v___x_87_) == 0)
{
lean_object* v_a_88_; lean_object* v___x_90_; uint8_t v_isShared_91_; uint8_t v_isSharedCheck_98_; 
v_a_88_ = lean_ctor_get(v___x_87_, 0);
v_isSharedCheck_98_ = !lean_is_exclusive(v___x_87_);
if (v_isSharedCheck_98_ == 0)
{
v___x_90_ = v___x_87_;
v_isShared_91_ = v_isSharedCheck_98_;
goto v_resetjp_89_;
}
else
{
lean_inc(v_a_88_);
lean_dec(v___x_87_);
v___x_90_ = lean_box(0);
v_isShared_91_ = v_isSharedCheck_98_;
goto v_resetjp_89_;
}
v_resetjp_89_:
{
lean_object* v___x_92_; lean_object* v___x_93_; lean_object* v___x_94_; lean_object* v___x_96_; 
v___x_92_ = lean_obj_once(&l_Lean_Meta_Grind_mkParams___closed__1, &l_Lean_Meta_Grind_mkParams___closed__1_once, _init_l_Lean_Meta_Grind_mkParams___closed__1);
v___x_93_ = lean_box(0);
v___x_94_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v___x_94_, 0, v_config_76_);
lean_ctor_set(v___x_94_, 1, v_extensions_77_);
lean_ctor_set(v___x_94_, 2, v___x_92_);
lean_ctor_set(v___x_94_, 3, v___x_92_);
lean_ctor_set(v___x_94_, 4, v___x_92_);
lean_ctor_set(v___x_94_, 5, v_a_88_);
lean_ctor_set(v___x_94_, 6, v_a_84_);
lean_ctor_set(v___x_94_, 7, v_a_86_);
lean_ctor_set(v___x_94_, 8, v___x_93_);
if (v_isShared_91_ == 0)
{
lean_ctor_set(v___x_90_, 0, v___x_94_);
v___x_96_ = v___x_90_;
goto v_reusejp_95_;
}
else
{
lean_object* v_reuseFailAlloc_97_; 
v_reuseFailAlloc_97_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_97_, 0, v___x_94_);
v___x_96_ = v_reuseFailAlloc_97_;
goto v_reusejp_95_;
}
v_reusejp_95_:
{
return v___x_96_;
}
}
}
else
{
lean_object* v_a_99_; lean_object* v___x_101_; uint8_t v_isShared_102_; uint8_t v_isSharedCheck_106_; 
lean_dec(v_a_86_);
lean_dec(v_a_84_);
lean_dec_ref(v_extensions_77_);
lean_dec_ref(v_config_76_);
v_a_99_ = lean_ctor_get(v___x_87_, 0);
v_isSharedCheck_106_ = !lean_is_exclusive(v___x_87_);
if (v_isSharedCheck_106_ == 0)
{
v___x_101_ = v___x_87_;
v_isShared_102_ = v_isSharedCheck_106_;
goto v_resetjp_100_;
}
else
{
lean_inc(v_a_99_);
lean_dec(v___x_87_);
v___x_101_ = lean_box(0);
v_isShared_102_ = v_isSharedCheck_106_;
goto v_resetjp_100_;
}
v_resetjp_100_:
{
lean_object* v___x_104_; 
if (v_isShared_102_ == 0)
{
v___x_104_ = v___x_101_;
goto v_reusejp_103_;
}
else
{
lean_object* v_reuseFailAlloc_105_; 
v_reuseFailAlloc_105_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_105_, 0, v_a_99_);
v___x_104_ = v_reuseFailAlloc_105_;
goto v_reusejp_103_;
}
v_reusejp_103_:
{
return v___x_104_;
}
}
}
}
else
{
lean_object* v_a_107_; lean_object* v___x_109_; uint8_t v_isShared_110_; uint8_t v_isSharedCheck_114_; 
lean_dec(v_a_84_);
lean_dec(v_a_81_);
lean_dec_ref(v_extensions_77_);
lean_dec_ref(v_config_76_);
v_a_107_ = lean_ctor_get(v___x_85_, 0);
v_isSharedCheck_114_ = !lean_is_exclusive(v___x_85_);
if (v_isSharedCheck_114_ == 0)
{
v___x_109_ = v___x_85_;
v_isShared_110_ = v_isSharedCheck_114_;
goto v_resetjp_108_;
}
else
{
lean_inc(v_a_107_);
lean_dec(v___x_85_);
v___x_109_ = lean_box(0);
v_isShared_110_ = v_isSharedCheck_114_;
goto v_resetjp_108_;
}
v_resetjp_108_:
{
lean_object* v___x_112_; 
if (v_isShared_110_ == 0)
{
v___x_112_ = v___x_109_;
goto v_reusejp_111_;
}
else
{
lean_object* v_reuseFailAlloc_113_; 
v_reuseFailAlloc_113_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_113_, 0, v_a_107_);
v___x_112_ = v_reuseFailAlloc_113_;
goto v_reusejp_111_;
}
v_reusejp_111_:
{
return v___x_112_;
}
}
}
}
else
{
lean_object* v_a_115_; lean_object* v___x_117_; uint8_t v_isShared_118_; uint8_t v_isSharedCheck_122_; 
lean_dec(v_a_81_);
lean_dec_ref(v_a_80_);
lean_dec_ref(v_extensions_77_);
lean_dec_ref(v_config_76_);
v_a_115_ = lean_ctor_get(v___x_83_, 0);
v_isSharedCheck_122_ = !lean_is_exclusive(v___x_83_);
if (v_isSharedCheck_122_ == 0)
{
v___x_117_ = v___x_83_;
v_isShared_118_ = v_isSharedCheck_122_;
goto v_resetjp_116_;
}
else
{
lean_inc(v_a_115_);
lean_dec(v___x_83_);
v___x_117_ = lean_box(0);
v_isShared_118_ = v_isSharedCheck_122_;
goto v_resetjp_116_;
}
v_resetjp_116_:
{
lean_object* v___x_120_; 
if (v_isShared_118_ == 0)
{
v___x_120_ = v___x_117_;
goto v_reusejp_119_;
}
else
{
lean_object* v_reuseFailAlloc_121_; 
v_reuseFailAlloc_121_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_121_, 0, v_a_115_);
v___x_120_ = v_reuseFailAlloc_121_;
goto v_reusejp_119_;
}
v_reusejp_119_:
{
return v___x_120_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkParams___boxed(lean_object* v_config_123_, lean_object* v_extensions_124_, lean_object* v_a_125_, lean_object* v_a_126_, lean_object* v_a_127_, lean_object* v_a_128_, lean_object* v_a_129_){
_start:
{
lean_object* v_res_130_; 
v_res_130_ = l_Lean_Meta_Grind_mkParams(v_config_123_, v_extensions_124_, v_a_125_, v_a_126_, v_a_127_, v_a_128_);
return v_res_130_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkDefaultParams(lean_object* v_config_131_, lean_object* v_a_132_, lean_object* v_a_133_, lean_object* v_a_134_, lean_object* v_a_135_){
_start:
{
lean_object* v___x_137_; lean_object* v_a_138_; lean_object* v___x_139_; lean_object* v___x_140_; lean_object* v___x_141_; lean_object* v___x_142_; 
v___x_137_ = l_Lean_Meta_Grind_getDefaultExtensionState___redArg(v_a_135_);
v_a_138_ = lean_ctor_get(v___x_137_, 0);
lean_inc(v_a_138_);
lean_dec_ref(v___x_137_);
v___x_139_ = lean_unsigned_to_nat(1u);
v___x_140_ = lean_mk_empty_array_with_capacity(v___x_139_);
v___x_141_ = lean_array_push(v___x_140_, v_a_138_);
v___x_142_ = l_Lean_Meta_Grind_mkParams(v_config_131_, v___x_141_, v_a_132_, v_a_133_, v_a_134_, v_a_135_);
return v___x_142_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkDefaultParams___boxed(lean_object* v_config_143_, lean_object* v_a_144_, lean_object* v_a_145_, lean_object* v_a_146_, lean_object* v_a_147_, lean_object* v_a_148_){
_start:
{
lean_object* v_res_149_; 
v_res_149_ = l_Lean_Meta_Grind_mkDefaultParams(v_config_143_, v_a_144_, v_a_145_, v_a_146_, v_a_147_);
return v_res_149_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkOnlyParams(lean_object* v_config_150_, lean_object* v_a_151_, lean_object* v_a_152_, lean_object* v_a_153_, lean_object* v_a_154_){
_start:
{
lean_object* v___x_156_; lean_object* v_a_157_; lean_object* v___x_158_; lean_object* v___x_159_; lean_object* v___x_160_; lean_object* v___x_161_; 
v___x_156_ = l_Lean_Meta_Grind_getOnlyExtensionState___redArg(v_a_154_);
v_a_157_ = lean_ctor_get(v___x_156_, 0);
lean_inc(v_a_157_);
lean_dec_ref(v___x_156_);
v___x_158_ = lean_unsigned_to_nat(1u);
v___x_159_ = lean_mk_empty_array_with_capacity(v___x_158_);
v___x_160_ = lean_array_push(v___x_159_, v_a_157_);
v___x_161_ = l_Lean_Meta_Grind_mkParams(v_config_150_, v___x_160_, v_a_151_, v_a_152_, v_a_153_, v_a_154_);
return v___x_161_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkOnlyParams___boxed(lean_object* v_config_162_, lean_object* v_a_163_, lean_object* v_a_164_, lean_object* v_a_165_, lean_object* v_a_166_, lean_object* v_a_167_){
_start:
{
lean_object* v_res_168_; 
v_res_168_ = l_Lean_Meta_Grind_mkOnlyParams(v_config_162_, v_a_163_, v_a_164_, v_a_165_, v_a_166_);
return v_res_168_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg___lam__0(lean_object* v_evalTactic_x3f_169_, lean_object* v___y_170_, lean_object* v___y_171_, lean_object* v___y_172_, lean_object* v___y_173_, lean_object* v___y_174_, lean_object* v___y_175_, lean_object* v___y_176_, lean_object* v___y_177_, lean_object* v___y_178_, lean_object* v___y_179_, lean_object* v___y_180_){
_start:
{
if (lean_obj_tag(v_evalTactic_x3f_169_) == 0)
{
lean_object* v___x_182_; 
lean_dec(v___y_180_);
lean_dec_ref(v___y_179_);
lean_dec(v___y_178_);
lean_dec_ref(v___y_177_);
lean_dec(v___y_176_);
lean_dec_ref(v___y_175_);
lean_dec(v___y_174_);
lean_dec_ref(v___y_173_);
lean_dec(v___y_172_);
lean_dec(v___y_171_);
v___x_182_ = l_Lean_Meta_Grind_EvalTactic_skip___redArg(v___y_170_);
return v___x_182_;
}
else
{
lean_object* v_val_183_; lean_object* v___x_184_; 
v_val_183_ = lean_ctor_get(v_evalTactic_x3f_169_, 0);
lean_inc(v_val_183_);
lean_dec_ref(v_evalTactic_x3f_169_);
v___x_184_ = lean_apply_12(v_val_183_, v___y_170_, v___y_171_, v___y_172_, v___y_173_, v___y_174_, v___y_175_, v___y_176_, v___y_177_, v___y_178_, v___y_179_, v___y_180_, lean_box(0));
return v___x_184_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg___lam__0___boxed(lean_object* v_evalTactic_x3f_185_, lean_object* v___y_186_, lean_object* v___y_187_, lean_object* v___y_188_, lean_object* v___y_189_, lean_object* v___y_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_, lean_object* v___y_196_, lean_object* v___y_197_){
_start:
{
lean_object* v_res_198_; 
v_res_198_ = l_Lean_Meta_Grind_mkMethods___redArg___lam__0(v_evalTactic_x3f_185_, v___y_186_, v___y_187_, v___y_188_, v___y_189_, v___y_190_, v___y_191_, v___y_192_, v___y_193_, v___y_194_, v___y_195_, v___y_196_);
return v_res_198_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0_spec__0___redArg(lean_object* v_a_199_, lean_object* v_x_200_){
_start:
{
if (lean_obj_tag(v_x_200_) == 0)
{
lean_object* v___x_201_; 
v___x_201_ = lean_box(0);
return v___x_201_;
}
else
{
lean_object* v_key_202_; lean_object* v_value_203_; lean_object* v_tail_204_; uint8_t v___x_205_; 
v_key_202_ = lean_ctor_get(v_x_200_, 0);
v_value_203_ = lean_ctor_get(v_x_200_, 1);
v_tail_204_ = lean_ctor_get(v_x_200_, 2);
v___x_205_ = lean_name_eq(v_key_202_, v_a_199_);
if (v___x_205_ == 0)
{
v_x_200_ = v_tail_204_;
goto _start;
}
else
{
lean_object* v___x_207_; 
lean_inc(v_value_203_);
v___x_207_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_207_, 0, v_value_203_);
return v___x_207_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0_spec__0___redArg___boxed(lean_object* v_a_208_, lean_object* v_x_209_){
_start:
{
lean_object* v_res_210_; 
v_res_210_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0_spec__0___redArg(v_a_208_, v_x_209_);
lean_dec(v_x_209_);
lean_dec(v_a_208_);
return v_res_210_;
}
}
static uint64_t _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0(void){
_start:
{
lean_object* v___x_211_; uint64_t v___x_212_; 
v___x_211_ = lean_unsigned_to_nat(1723u);
v___x_212_ = lean_uint64_of_nat(v___x_211_);
return v___x_212_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg(lean_object* v_m_213_, lean_object* v_a_214_){
_start:
{
lean_object* v_buckets_215_; lean_object* v___x_216_; uint64_t v___y_218_; 
v_buckets_215_ = lean_ctor_get(v_m_213_, 1);
v___x_216_ = lean_array_get_size(v_buckets_215_);
if (lean_obj_tag(v_a_214_) == 0)
{
uint64_t v___x_232_; 
v___x_232_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0);
v___y_218_ = v___x_232_;
goto v___jp_217_;
}
else
{
uint64_t v_hash_233_; 
v_hash_233_ = lean_ctor_get_uint64(v_a_214_, sizeof(void*)*2);
v___y_218_ = v_hash_233_;
goto v___jp_217_;
}
v___jp_217_:
{
uint64_t v___x_219_; uint64_t v___x_220_; uint64_t v_fold_221_; uint64_t v___x_222_; uint64_t v___x_223_; uint64_t v___x_224_; size_t v___x_225_; size_t v___x_226_; size_t v___x_227_; size_t v___x_228_; size_t v___x_229_; lean_object* v___x_230_; lean_object* v___x_231_; 
v___x_219_ = 32ULL;
v___x_220_ = lean_uint64_shift_right(v___y_218_, v___x_219_);
v_fold_221_ = lean_uint64_xor(v___y_218_, v___x_220_);
v___x_222_ = 16ULL;
v___x_223_ = lean_uint64_shift_right(v_fold_221_, v___x_222_);
v___x_224_ = lean_uint64_xor(v_fold_221_, v___x_223_);
v___x_225_ = lean_uint64_to_usize(v___x_224_);
v___x_226_ = lean_usize_of_nat(v___x_216_);
v___x_227_ = ((size_t)1ULL);
v___x_228_ = lean_usize_sub(v___x_226_, v___x_227_);
v___x_229_ = lean_usize_land(v___x_225_, v___x_228_);
v___x_230_ = lean_array_uget_borrowed(v_buckets_215_, v___x_229_);
v___x_231_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0_spec__0___redArg(v_a_214_, v___x_230_);
return v___x_231_;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___boxed(lean_object* v_m_234_, lean_object* v_a_235_){
_start:
{
lean_object* v_res_236_; 
v_res_236_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg(v_m_234_, v_a_235_);
lean_dec(v_a_235_);
lean_dec_ref(v_m_234_);
return v_res_236_;
}
}
LEAN_EXPORT lean_object* l_List_forM___at___00Lean_Meta_Grind_mkMethods_spec__1(lean_object* v_e_237_, lean_object* v_as_238_, lean_object* v___y_239_, lean_object* v___y_240_, lean_object* v___y_241_, lean_object* v___y_242_, lean_object* v___y_243_, lean_object* v___y_244_, lean_object* v___y_245_, lean_object* v___y_246_, lean_object* v___y_247_, lean_object* v___y_248_){
_start:
{
if (lean_obj_tag(v_as_238_) == 0)
{
lean_object* v___x_250_; lean_object* v___x_251_; 
lean_dec(v___y_248_);
lean_dec_ref(v___y_247_);
lean_dec(v___y_246_);
lean_dec_ref(v___y_245_);
lean_dec(v___y_244_);
lean_dec_ref(v___y_243_);
lean_dec(v___y_242_);
lean_dec_ref(v___y_241_);
lean_dec(v___y_240_);
lean_dec(v___y_239_);
lean_dec_ref(v_e_237_);
v___x_250_ = lean_box(0);
v___x_251_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_251_, 0, v___x_250_);
return v___x_251_;
}
else
{
lean_object* v_head_252_; lean_object* v_tail_253_; lean_object* v___x_254_; 
v_head_252_ = lean_ctor_get(v_as_238_, 0);
lean_inc(v_head_252_);
v_tail_253_ = lean_ctor_get(v_as_238_, 1);
lean_inc(v_tail_253_);
lean_dec_ref(v_as_238_);
lean_inc(v___y_248_);
lean_inc_ref(v___y_247_);
lean_inc(v___y_246_);
lean_inc_ref(v___y_245_);
lean_inc(v___y_244_);
lean_inc_ref(v___y_243_);
lean_inc(v___y_242_);
lean_inc_ref(v___y_241_);
lean_inc(v___y_240_);
lean_inc(v___y_239_);
lean_inc_ref(v_e_237_);
v___x_254_ = lean_apply_12(v_head_252_, v_e_237_, v___y_239_, v___y_240_, v___y_241_, v___y_242_, v___y_243_, v___y_244_, v___y_245_, v___y_246_, v___y_247_, v___y_248_, lean_box(0));
if (lean_obj_tag(v___x_254_) == 0)
{
lean_dec_ref(v___x_254_);
v_as_238_ = v_tail_253_;
goto _start;
}
else
{
lean_dec(v_tail_253_);
lean_dec(v___y_248_);
lean_dec_ref(v___y_247_);
lean_dec(v___y_246_);
lean_dec_ref(v___y_245_);
lean_dec(v___y_244_);
lean_dec_ref(v___y_243_);
lean_dec(v___y_242_);
lean_dec_ref(v___y_241_);
lean_dec(v___y_240_);
lean_dec(v___y_239_);
lean_dec_ref(v_e_237_);
return v___x_254_;
}
}
}
}
LEAN_EXPORT lean_object* l_List_forM___at___00Lean_Meta_Grind_mkMethods_spec__1___boxed(lean_object* v_e_256_, lean_object* v_as_257_, lean_object* v___y_258_, lean_object* v___y_259_, lean_object* v___y_260_, lean_object* v___y_261_, lean_object* v___y_262_, lean_object* v___y_263_, lean_object* v___y_264_, lean_object* v___y_265_, lean_object* v___y_266_, lean_object* v___y_267_, lean_object* v___y_268_){
_start:
{
lean_object* v_res_269_; 
v_res_269_ = l_List_forM___at___00Lean_Meta_Grind_mkMethods_spec__1(v_e_256_, v_as_257_, v___y_258_, v___y_259_, v___y_260_, v___y_261_, v___y_262_, v___y_263_, v___y_264_, v___y_265_, v___y_266_, v___y_267_);
return v_res_269_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg___lam__1(lean_object* v_val_270_, lean_object* v_e_271_, lean_object* v___y_272_, lean_object* v___y_273_, lean_object* v___y_274_, lean_object* v___y_275_, lean_object* v___y_276_, lean_object* v___y_277_, lean_object* v___y_278_, lean_object* v___y_279_, lean_object* v___y_280_, lean_object* v___y_281_){
_start:
{
lean_object* v___x_283_; 
lean_inc(v___y_281_);
lean_inc_ref(v___y_280_);
lean_inc(v___y_279_);
lean_inc_ref(v___y_278_);
lean_inc(v___y_277_);
lean_inc_ref(v___y_276_);
lean_inc(v___y_275_);
lean_inc_ref(v___y_274_);
lean_inc(v___y_273_);
lean_inc(v___y_272_);
lean_inc_ref(v_e_271_);
v___x_283_ = l_Lean_Meta_Grind_propagateForallPropUp(v_e_271_, v___y_272_, v___y_273_, v___y_274_, v___y_275_, v___y_276_, v___y_277_, v___y_278_, v___y_279_, v___y_280_, v___y_281_);
if (lean_obj_tag(v___x_283_) == 0)
{
lean_object* v___x_284_; 
lean_dec_ref(v___x_283_);
lean_inc(v___y_281_);
lean_inc_ref(v___y_280_);
lean_inc(v___y_279_);
lean_inc_ref(v___y_278_);
lean_inc(v___y_277_);
lean_inc_ref(v___y_276_);
lean_inc(v___y_275_);
lean_inc_ref(v___y_274_);
lean_inc(v___y_273_);
lean_inc(v___y_272_);
lean_inc_ref(v_e_271_);
v___x_284_ = l_Lean_Meta_Grind_propagateReflCmp(v_e_271_, v___y_272_, v___y_273_, v___y_274_, v___y_275_, v___y_276_, v___y_277_, v___y_278_, v___y_279_, v___y_280_, v___y_281_);
if (lean_obj_tag(v___x_284_) == 0)
{
lean_object* v___x_286_; uint8_t v_isShared_287_; uint8_t v_isSharedCheck_309_; 
v_isSharedCheck_309_ = !lean_is_exclusive(v___x_284_);
if (v_isSharedCheck_309_ == 0)
{
lean_object* v_unused_310_; 
v_unused_310_ = lean_ctor_get(v___x_284_, 0);
lean_dec(v_unused_310_);
v___x_286_ = v___x_284_;
v_isShared_287_ = v_isSharedCheck_309_;
goto v_resetjp_285_;
}
else
{
lean_dec(v___x_284_);
v___x_286_ = lean_box(0);
v_isShared_287_ = v_isSharedCheck_309_;
goto v_resetjp_285_;
}
v_resetjp_285_:
{
lean_object* v___x_288_; 
v___x_288_ = l_Lean_Expr_getAppFn(v_e_271_);
if (lean_obj_tag(v___x_288_) == 4)
{
lean_object* v_declName_289_; lean_object* v___x_290_; 
lean_del_object(v___x_286_);
v_declName_289_ = lean_ctor_get(v___x_288_, 0);
lean_inc(v_declName_289_);
lean_dec_ref(v___x_288_);
lean_inc(v___y_281_);
lean_inc_ref(v___y_280_);
lean_inc(v___y_279_);
lean_inc_ref(v___y_278_);
lean_inc(v___y_277_);
lean_inc_ref(v___y_276_);
lean_inc(v___y_275_);
lean_inc_ref(v___y_274_);
lean_inc(v___y_273_);
lean_inc(v___y_272_);
lean_inc_ref(v_e_271_);
v___x_290_ = l_Lean_Meta_Grind_propagateProjEq(v_e_271_, v___y_272_, v___y_273_, v___y_274_, v___y_275_, v___y_276_, v___y_277_, v___y_278_, v___y_279_, v___y_280_, v___y_281_);
if (lean_obj_tag(v___x_290_) == 0)
{
lean_object* v___x_291_; 
lean_dec_ref(v___x_290_);
lean_inc(v___y_281_);
lean_inc_ref(v___y_280_);
lean_inc(v___y_279_);
lean_inc_ref(v___y_278_);
lean_inc(v___y_277_);
lean_inc_ref(v___y_276_);
lean_inc(v___y_275_);
lean_inc_ref(v___y_274_);
lean_inc(v___y_273_);
lean_inc(v___y_272_);
lean_inc_ref(v_e_271_);
v___x_291_ = l_Lean_Meta_Grind_propagateCtorIdxUp(v_e_271_, v___y_272_, v___y_273_, v___y_274_, v___y_275_, v___y_276_, v___y_277_, v___y_278_, v___y_279_, v___y_280_, v___y_281_);
if (lean_obj_tag(v___x_291_) == 0)
{
lean_object* v___x_293_; uint8_t v_isShared_294_; uint8_t v_isSharedCheck_303_; 
v_isSharedCheck_303_ = !lean_is_exclusive(v___x_291_);
if (v_isSharedCheck_303_ == 0)
{
lean_object* v_unused_304_; 
v_unused_304_ = lean_ctor_get(v___x_291_, 0);
lean_dec(v_unused_304_);
v___x_293_ = v___x_291_;
v_isShared_294_ = v_isSharedCheck_303_;
goto v_resetjp_292_;
}
else
{
lean_dec(v___x_291_);
v___x_293_ = lean_box(0);
v_isShared_294_ = v_isSharedCheck_303_;
goto v_resetjp_292_;
}
v_resetjp_292_:
{
lean_object* v_up_295_; lean_object* v___x_296_; 
v_up_295_ = lean_ctor_get(v_val_270_, 0);
v___x_296_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg(v_up_295_, v_declName_289_);
lean_dec(v_declName_289_);
if (lean_obj_tag(v___x_296_) == 1)
{
lean_object* v_val_297_; lean_object* v___x_298_; 
lean_del_object(v___x_293_);
v_val_297_ = lean_ctor_get(v___x_296_, 0);
lean_inc(v_val_297_);
lean_dec_ref(v___x_296_);
v___x_298_ = l_List_forM___at___00Lean_Meta_Grind_mkMethods_spec__1(v_e_271_, v_val_297_, v___y_272_, v___y_273_, v___y_274_, v___y_275_, v___y_276_, v___y_277_, v___y_278_, v___y_279_, v___y_280_, v___y_281_);
return v___x_298_;
}
else
{
lean_object* v___x_299_; lean_object* v___x_301_; 
lean_dec(v___x_296_);
lean_dec(v___y_281_);
lean_dec_ref(v___y_280_);
lean_dec(v___y_279_);
lean_dec_ref(v___y_278_);
lean_dec(v___y_277_);
lean_dec_ref(v___y_276_);
lean_dec(v___y_275_);
lean_dec_ref(v___y_274_);
lean_dec(v___y_273_);
lean_dec(v___y_272_);
lean_dec_ref(v_e_271_);
v___x_299_ = lean_box(0);
if (v_isShared_294_ == 0)
{
lean_ctor_set(v___x_293_, 0, v___x_299_);
v___x_301_ = v___x_293_;
goto v_reusejp_300_;
}
else
{
lean_object* v_reuseFailAlloc_302_; 
v_reuseFailAlloc_302_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_302_, 0, v___x_299_);
v___x_301_ = v_reuseFailAlloc_302_;
goto v_reusejp_300_;
}
v_reusejp_300_:
{
return v___x_301_;
}
}
}
}
else
{
lean_dec(v_declName_289_);
lean_dec(v___y_281_);
lean_dec_ref(v___y_280_);
lean_dec(v___y_279_);
lean_dec_ref(v___y_278_);
lean_dec(v___y_277_);
lean_dec_ref(v___y_276_);
lean_dec(v___y_275_);
lean_dec_ref(v___y_274_);
lean_dec(v___y_273_);
lean_dec(v___y_272_);
lean_dec_ref(v_e_271_);
return v___x_291_;
}
}
else
{
lean_dec(v_declName_289_);
lean_dec(v___y_281_);
lean_dec_ref(v___y_280_);
lean_dec(v___y_279_);
lean_dec_ref(v___y_278_);
lean_dec(v___y_277_);
lean_dec_ref(v___y_276_);
lean_dec(v___y_275_);
lean_dec_ref(v___y_274_);
lean_dec(v___y_273_);
lean_dec(v___y_272_);
lean_dec_ref(v_e_271_);
return v___x_290_;
}
}
else
{
lean_object* v___x_305_; lean_object* v___x_307_; 
lean_dec_ref(v___x_288_);
lean_dec(v___y_281_);
lean_dec_ref(v___y_280_);
lean_dec(v___y_279_);
lean_dec_ref(v___y_278_);
lean_dec(v___y_277_);
lean_dec_ref(v___y_276_);
lean_dec(v___y_275_);
lean_dec_ref(v___y_274_);
lean_dec(v___y_273_);
lean_dec(v___y_272_);
lean_dec_ref(v_e_271_);
v___x_305_ = lean_box(0);
if (v_isShared_287_ == 0)
{
lean_ctor_set(v___x_286_, 0, v___x_305_);
v___x_307_ = v___x_286_;
goto v_reusejp_306_;
}
else
{
lean_object* v_reuseFailAlloc_308_; 
v_reuseFailAlloc_308_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_308_, 0, v___x_305_);
v___x_307_ = v_reuseFailAlloc_308_;
goto v_reusejp_306_;
}
v_reusejp_306_:
{
return v___x_307_;
}
}
}
}
else
{
lean_dec(v___y_281_);
lean_dec_ref(v___y_280_);
lean_dec(v___y_279_);
lean_dec_ref(v___y_278_);
lean_dec(v___y_277_);
lean_dec_ref(v___y_276_);
lean_dec(v___y_275_);
lean_dec_ref(v___y_274_);
lean_dec(v___y_273_);
lean_dec(v___y_272_);
lean_dec_ref(v_e_271_);
return v___x_284_;
}
}
else
{
lean_dec(v___y_281_);
lean_dec_ref(v___y_280_);
lean_dec(v___y_279_);
lean_dec_ref(v___y_278_);
lean_dec(v___y_277_);
lean_dec_ref(v___y_276_);
lean_dec(v___y_275_);
lean_dec_ref(v___y_274_);
lean_dec(v___y_273_);
lean_dec(v___y_272_);
lean_dec_ref(v_e_271_);
return v___x_283_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg___lam__1___boxed(lean_object* v_val_311_, lean_object* v_e_312_, lean_object* v___y_313_, lean_object* v___y_314_, lean_object* v___y_315_, lean_object* v___y_316_, lean_object* v___y_317_, lean_object* v___y_318_, lean_object* v___y_319_, lean_object* v___y_320_, lean_object* v___y_321_, lean_object* v___y_322_, lean_object* v___y_323_){
_start:
{
lean_object* v_res_324_; 
v_res_324_ = l_Lean_Meta_Grind_mkMethods___redArg___lam__1(v_val_311_, v_e_312_, v___y_313_, v___y_314_, v___y_315_, v___y_316_, v___y_317_, v___y_318_, v___y_319_, v___y_320_, v___y_321_, v___y_322_);
lean_dec_ref(v_val_311_);
return v_res_324_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg___lam__2(lean_object* v_val_325_, lean_object* v_e_326_, lean_object* v___y_327_, lean_object* v___y_328_, lean_object* v___y_329_, lean_object* v___y_330_, lean_object* v___y_331_, lean_object* v___y_332_, lean_object* v___y_333_, lean_object* v___y_334_, lean_object* v___y_335_, lean_object* v___y_336_){
_start:
{
lean_object* v___x_338_; 
lean_inc(v___y_336_);
lean_inc_ref(v___y_335_);
lean_inc(v___y_334_);
lean_inc_ref(v___y_333_);
lean_inc(v___y_332_);
lean_inc_ref(v___y_331_);
lean_inc(v___y_330_);
lean_inc_ref(v___y_329_);
lean_inc(v___y_328_);
lean_inc(v___y_327_);
lean_inc_ref(v_e_326_);
v___x_338_ = l_Lean_Meta_Grind_propagateForallPropDown(v_e_326_, v___y_327_, v___y_328_, v___y_329_, v___y_330_, v___y_331_, v___y_332_, v___y_333_, v___y_334_, v___y_335_, v___y_336_);
if (lean_obj_tag(v___x_338_) == 0)
{
lean_object* v___x_339_; 
lean_dec_ref(v___x_338_);
lean_inc(v___y_336_);
lean_inc_ref(v___y_335_);
lean_inc(v___y_334_);
lean_inc_ref(v___y_333_);
lean_inc(v___y_332_);
lean_inc_ref(v___y_331_);
lean_inc(v___y_330_);
lean_inc_ref(v___y_329_);
lean_inc(v___y_328_);
lean_inc(v___y_327_);
lean_inc_ref(v_e_326_);
v___x_339_ = l_Lean_Meta_Grind_propagateLawfulEqCmp(v_e_326_, v___y_327_, v___y_328_, v___y_329_, v___y_330_, v___y_331_, v___y_332_, v___y_333_, v___y_334_, v___y_335_, v___y_336_);
if (lean_obj_tag(v___x_339_) == 0)
{
lean_object* v___x_341_; uint8_t v_isShared_342_; uint8_t v_isSharedCheck_357_; 
v_isSharedCheck_357_ = !lean_is_exclusive(v___x_339_);
if (v_isSharedCheck_357_ == 0)
{
lean_object* v_unused_358_; 
v_unused_358_ = lean_ctor_get(v___x_339_, 0);
lean_dec(v_unused_358_);
v___x_341_ = v___x_339_;
v_isShared_342_ = v_isSharedCheck_357_;
goto v_resetjp_340_;
}
else
{
lean_dec(v___x_339_);
v___x_341_ = lean_box(0);
v_isShared_342_ = v_isSharedCheck_357_;
goto v_resetjp_340_;
}
v_resetjp_340_:
{
lean_object* v___x_343_; 
v___x_343_ = l_Lean_Expr_getAppFn(v_e_326_);
if (lean_obj_tag(v___x_343_) == 4)
{
lean_object* v_declName_344_; lean_object* v_down_345_; lean_object* v___x_346_; 
v_declName_344_ = lean_ctor_get(v___x_343_, 0);
lean_inc(v_declName_344_);
lean_dec_ref(v___x_343_);
v_down_345_ = lean_ctor_get(v_val_325_, 1);
v___x_346_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg(v_down_345_, v_declName_344_);
lean_dec(v_declName_344_);
if (lean_obj_tag(v___x_346_) == 1)
{
lean_object* v_val_347_; lean_object* v___x_348_; 
lean_del_object(v___x_341_);
v_val_347_ = lean_ctor_get(v___x_346_, 0);
lean_inc(v_val_347_);
lean_dec_ref(v___x_346_);
v___x_348_ = l_List_forM___at___00Lean_Meta_Grind_mkMethods_spec__1(v_e_326_, v_val_347_, v___y_327_, v___y_328_, v___y_329_, v___y_330_, v___y_331_, v___y_332_, v___y_333_, v___y_334_, v___y_335_, v___y_336_);
return v___x_348_;
}
else
{
lean_object* v___x_349_; lean_object* v___x_351_; 
lean_dec(v___x_346_);
lean_dec(v___y_336_);
lean_dec_ref(v___y_335_);
lean_dec(v___y_334_);
lean_dec_ref(v___y_333_);
lean_dec(v___y_332_);
lean_dec_ref(v___y_331_);
lean_dec(v___y_330_);
lean_dec_ref(v___y_329_);
lean_dec(v___y_328_);
lean_dec(v___y_327_);
lean_dec_ref(v_e_326_);
v___x_349_ = lean_box(0);
if (v_isShared_342_ == 0)
{
lean_ctor_set(v___x_341_, 0, v___x_349_);
v___x_351_ = v___x_341_;
goto v_reusejp_350_;
}
else
{
lean_object* v_reuseFailAlloc_352_; 
v_reuseFailAlloc_352_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_352_, 0, v___x_349_);
v___x_351_ = v_reuseFailAlloc_352_;
goto v_reusejp_350_;
}
v_reusejp_350_:
{
return v___x_351_;
}
}
}
else
{
lean_object* v___x_353_; lean_object* v___x_355_; 
lean_dec_ref(v___x_343_);
lean_dec(v___y_336_);
lean_dec_ref(v___y_335_);
lean_dec(v___y_334_);
lean_dec_ref(v___y_333_);
lean_dec(v___y_332_);
lean_dec_ref(v___y_331_);
lean_dec(v___y_330_);
lean_dec_ref(v___y_329_);
lean_dec(v___y_328_);
lean_dec(v___y_327_);
lean_dec_ref(v_e_326_);
v___x_353_ = lean_box(0);
if (v_isShared_342_ == 0)
{
lean_ctor_set(v___x_341_, 0, v___x_353_);
v___x_355_ = v___x_341_;
goto v_reusejp_354_;
}
else
{
lean_object* v_reuseFailAlloc_356_; 
v_reuseFailAlloc_356_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_356_, 0, v___x_353_);
v___x_355_ = v_reuseFailAlloc_356_;
goto v_reusejp_354_;
}
v_reusejp_354_:
{
return v___x_355_;
}
}
}
}
else
{
lean_dec(v___y_336_);
lean_dec_ref(v___y_335_);
lean_dec(v___y_334_);
lean_dec_ref(v___y_333_);
lean_dec(v___y_332_);
lean_dec_ref(v___y_331_);
lean_dec(v___y_330_);
lean_dec_ref(v___y_329_);
lean_dec(v___y_328_);
lean_dec(v___y_327_);
lean_dec_ref(v_e_326_);
return v___x_339_;
}
}
else
{
lean_dec(v___y_336_);
lean_dec_ref(v___y_335_);
lean_dec(v___y_334_);
lean_dec_ref(v___y_333_);
lean_dec(v___y_332_);
lean_dec_ref(v___y_331_);
lean_dec(v___y_330_);
lean_dec_ref(v___y_329_);
lean_dec(v___y_328_);
lean_dec(v___y_327_);
lean_dec_ref(v_e_326_);
return v___x_338_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg___lam__2___boxed(lean_object* v_val_359_, lean_object* v_e_360_, lean_object* v___y_361_, lean_object* v___y_362_, lean_object* v___y_363_, lean_object* v___y_364_, lean_object* v___y_365_, lean_object* v___y_366_, lean_object* v___y_367_, lean_object* v___y_368_, lean_object* v___y_369_, lean_object* v___y_370_, lean_object* v___y_371_){
_start:
{
lean_object* v_res_372_; 
v_res_372_ = l_Lean_Meta_Grind_mkMethods___redArg___lam__2(v_val_359_, v_e_360_, v___y_361_, v___y_362_, v___y_363_, v___y_364_, v___y_365_, v___y_366_, v___y_367_, v___y_368_, v___y_369_, v___y_370_);
lean_dec_ref(v_val_359_);
return v_res_372_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg(lean_object* v_evalTactic_x3f_373_){
_start:
{
lean_object* v___x_375_; lean_object* v___x_376_; lean_object* v___y_377_; lean_object* v___f_378_; lean_object* v___f_379_; lean_object* v___x_380_; lean_object* v___x_381_; 
v___x_375_ = l_Lean_Meta_Grind_builtinPropagatorsRef;
v___x_376_ = lean_st_ref_get(v___x_375_);
v___y_377_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_mkMethods___redArg___lam__0___boxed), 13, 1);
lean_closure_set(v___y_377_, 0, v_evalTactic_x3f_373_);
lean_inc(v___x_376_);
v___f_378_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_mkMethods___redArg___lam__1___boxed), 13, 1);
lean_closure_set(v___f_378_, 0, v___x_376_);
v___f_379_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_mkMethods___redArg___lam__2___boxed), 13, 1);
lean_closure_set(v___f_379_, 0, v___x_376_);
v___x_380_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_380_, 0, v___f_378_);
lean_ctor_set(v___x_380_, 1, v___f_379_);
lean_ctor_set(v___x_380_, 2, v___y_377_);
v___x_381_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_381_, 0, v___x_380_);
return v___x_381_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___redArg___boxed(lean_object* v_evalTactic_x3f_382_, lean_object* v_a_383_){
_start:
{
lean_object* v_res_384_; 
v_res_384_ = l_Lean_Meta_Grind_mkMethods___redArg(v_evalTactic_x3f_382_);
return v_res_384_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods(lean_object* v_evalTactic_x3f_385_, lean_object* v_a_386_, lean_object* v_a_387_){
_start:
{
lean_object* v___x_389_; 
v___x_389_ = l_Lean_Meta_Grind_mkMethods___redArg(v_evalTactic_x3f_385_);
return v___x_389_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkMethods___boxed(lean_object* v_evalTactic_x3f_390_, lean_object* v_a_391_, lean_object* v_a_392_, lean_object* v_a_393_){
_start:
{
lean_object* v_res_394_; 
v_res_394_ = l_Lean_Meta_Grind_mkMethods(v_evalTactic_x3f_390_, v_a_391_, v_a_392_);
lean_dec(v_a_392_);
lean_dec_ref(v_a_391_);
return v_res_394_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0(lean_object* v_00_u03b2_395_, lean_object* v_m_396_, lean_object* v_a_397_){
_start:
{
lean_object* v___x_398_; 
v___x_398_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg(v_m_396_, v_a_397_);
return v___x_398_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___boxed(lean_object* v_00_u03b2_399_, lean_object* v_m_400_, lean_object* v_a_401_){
_start:
{
lean_object* v_res_402_; 
v_res_402_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0(v_00_u03b2_399_, v_m_400_, v_a_401_);
lean_dec(v_a_401_);
lean_dec_ref(v_m_400_);
return v_res_402_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0_spec__0(lean_object* v_00_u03b2_403_, lean_object* v_a_404_, lean_object* v_x_405_){
_start:
{
lean_object* v___x_406_; 
v___x_406_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0_spec__0___redArg(v_a_404_, v_x_405_);
return v___x_406_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0_spec__0___boxed(lean_object* v_00_u03b2_407_, lean_object* v_a_408_, lean_object* v_x_409_){
_start:
{
lean_object* v_res_410_; 
v_res_410_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0_spec__0(v_00_u03b2_407_, v_a_408_, v_x_409_);
lean_dec(v_x_409_);
lean_dec(v_a_408_);
return v_res_410_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__4(void){
_start:
{
lean_object* v___x_419_; lean_object* v___x_420_; lean_object* v___x_421_; 
v___x_419_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__3));
v___x_420_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__2));
v___x_421_ = l_Lean_mkConst(v___x_420_, v___x_419_);
return v___x_421_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f(lean_object* v_e_422_, lean_object* v_a_423_, lean_object* v_a_424_, lean_object* v_a_425_, lean_object* v_a_426_, lean_object* v_a_427_, lean_object* v_a_428_, lean_object* v_a_429_){
_start:
{
lean_object* v_e_431_; lean_object* v___x_432_; 
v_e_431_ = l_Lean_Expr_cleanupAnnotations(v_e_422_);
lean_inc(v_a_429_);
lean_inc_ref(v_a_428_);
lean_inc(v_a_427_);
lean_inc_ref(v_a_426_);
lean_inc(v_a_425_);
lean_inc_ref(v_a_424_);
lean_inc(v_a_423_);
lean_inc_ref(v_e_431_);
v___x_432_ = lean_simp(v_e_431_, v_a_423_, v_a_424_, v_a_425_, v_a_426_, v_a_427_, v_a_428_, v_a_429_);
if (lean_obj_tag(v___x_432_) == 0)
{
lean_object* v_a_433_; lean_object* v_expr_434_; lean_object* v___x_435_; 
v_a_433_ = lean_ctor_get(v___x_432_, 0);
lean_inc(v_a_433_);
lean_dec_ref(v___x_432_);
v_expr_434_ = lean_ctor_get(v_a_433_, 0);
lean_inc(v_a_429_);
lean_inc_ref(v_a_428_);
lean_inc(v_a_427_);
lean_inc_ref(v_a_426_);
lean_inc_ref(v_expr_434_);
v___x_435_ = l_Lean_Meta_Simp_dischargeRfl(v_expr_434_, v_a_423_, v_a_424_, v_a_425_, v_a_426_, v_a_427_, v_a_428_, v_a_429_);
if (lean_obj_tag(v___x_435_) == 0)
{
lean_object* v_a_436_; lean_object* v___x_438_; uint8_t v_isShared_439_; uint8_t v_isSharedCheck_500_; 
v_a_436_ = lean_ctor_get(v___x_435_, 0);
v_isSharedCheck_500_ = !lean_is_exclusive(v___x_435_);
if (v_isSharedCheck_500_ == 0)
{
v___x_438_ = v___x_435_;
v_isShared_439_ = v_isSharedCheck_500_;
goto v_resetjp_437_;
}
else
{
lean_inc(v_a_436_);
lean_dec(v___x_435_);
v___x_438_ = lean_box(0);
v_isShared_439_ = v_isSharedCheck_500_;
goto v_resetjp_437_;
}
v_resetjp_437_:
{
if (lean_obj_tag(v_a_436_) == 1)
{
lean_object* v_val_440_; lean_object* v___x_442_; uint8_t v_isShared_443_; uint8_t v_isSharedCheck_466_; 
lean_inc_ref(v_expr_434_);
lean_del_object(v___x_438_);
v_val_440_ = lean_ctor_get(v_a_436_, 0);
v_isSharedCheck_466_ = !lean_is_exclusive(v_a_436_);
if (v_isSharedCheck_466_ == 0)
{
v___x_442_ = v_a_436_;
v_isShared_443_ = v_isSharedCheck_466_;
goto v_resetjp_441_;
}
else
{
lean_inc(v_val_440_);
lean_dec(v_a_436_);
v___x_442_ = lean_box(0);
v_isShared_443_ = v_isSharedCheck_466_;
goto v_resetjp_441_;
}
v_resetjp_441_:
{
lean_object* v___x_444_; 
v___x_444_ = l_Lean_Meta_Simp_Result_getProof(v_a_433_, v_a_426_, v_a_427_, v_a_428_, v_a_429_);
if (lean_obj_tag(v___x_444_) == 0)
{
lean_object* v_a_445_; lean_object* v___x_447_; uint8_t v_isShared_448_; uint8_t v_isSharedCheck_457_; 
v_a_445_ = lean_ctor_get(v___x_444_, 0);
v_isSharedCheck_457_ = !lean_is_exclusive(v___x_444_);
if (v_isSharedCheck_457_ == 0)
{
v___x_447_ = v___x_444_;
v_isShared_448_ = v_isSharedCheck_457_;
goto v_resetjp_446_;
}
else
{
lean_inc(v_a_445_);
lean_dec(v___x_444_);
v___x_447_ = lean_box(0);
v_isShared_448_ = v_isSharedCheck_457_;
goto v_resetjp_446_;
}
v_resetjp_446_:
{
lean_object* v___x_449_; lean_object* v___x_450_; lean_object* v___x_452_; 
v___x_449_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__4, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__4_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___closed__4);
v___x_450_ = l_Lean_mkApp4(v___x_449_, v_e_431_, v_expr_434_, v_a_445_, v_val_440_);
if (v_isShared_443_ == 0)
{
lean_ctor_set(v___x_442_, 0, v___x_450_);
v___x_452_ = v___x_442_;
goto v_reusejp_451_;
}
else
{
lean_object* v_reuseFailAlloc_456_; 
v_reuseFailAlloc_456_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_456_, 0, v___x_450_);
v___x_452_ = v_reuseFailAlloc_456_;
goto v_reusejp_451_;
}
v_reusejp_451_:
{
lean_object* v___x_454_; 
if (v_isShared_448_ == 0)
{
lean_ctor_set(v___x_447_, 0, v___x_452_);
v___x_454_ = v___x_447_;
goto v_reusejp_453_;
}
else
{
lean_object* v_reuseFailAlloc_455_; 
v_reuseFailAlloc_455_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_455_, 0, v___x_452_);
v___x_454_ = v_reuseFailAlloc_455_;
goto v_reusejp_453_;
}
v_reusejp_453_:
{
return v___x_454_;
}
}
}
}
else
{
lean_object* v_a_458_; lean_object* v___x_460_; uint8_t v_isShared_461_; uint8_t v_isSharedCheck_465_; 
lean_del_object(v___x_442_);
lean_dec(v_val_440_);
lean_dec_ref(v_expr_434_);
lean_dec_ref(v_e_431_);
v_a_458_ = lean_ctor_get(v___x_444_, 0);
v_isSharedCheck_465_ = !lean_is_exclusive(v___x_444_);
if (v_isSharedCheck_465_ == 0)
{
v___x_460_ = v___x_444_;
v_isShared_461_ = v_isSharedCheck_465_;
goto v_resetjp_459_;
}
else
{
lean_inc(v_a_458_);
lean_dec(v___x_444_);
v___x_460_ = lean_box(0);
v_isShared_461_ = v_isSharedCheck_465_;
goto v_resetjp_459_;
}
v_resetjp_459_:
{
lean_object* v___x_463_; 
if (v_isShared_461_ == 0)
{
v___x_463_ = v___x_460_;
goto v_reusejp_462_;
}
else
{
lean_object* v_reuseFailAlloc_464_; 
v_reuseFailAlloc_464_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_464_, 0, v_a_458_);
v___x_463_ = v_reuseFailAlloc_464_;
goto v_reusejp_462_;
}
v_reusejp_462_:
{
return v___x_463_;
}
}
}
}
}
else
{
uint8_t v___x_467_; 
lean_dec(v_a_436_);
lean_dec_ref(v_e_431_);
lean_inc_ref(v_expr_434_);
v___x_467_ = l_Lean_Expr_isTrue(v_expr_434_);
if (v___x_467_ == 0)
{
lean_object* v___x_468_; lean_object* v___x_470_; 
lean_dec(v_a_433_);
lean_dec(v_a_429_);
lean_dec_ref(v_a_428_);
lean_dec(v_a_427_);
lean_dec_ref(v_a_426_);
v___x_468_ = lean_box(0);
if (v_isShared_439_ == 0)
{
lean_ctor_set(v___x_438_, 0, v___x_468_);
v___x_470_ = v___x_438_;
goto v_reusejp_469_;
}
else
{
lean_object* v_reuseFailAlloc_471_; 
v_reuseFailAlloc_471_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_471_, 0, v___x_468_);
v___x_470_ = v_reuseFailAlloc_471_;
goto v_reusejp_469_;
}
v_reusejp_469_:
{
return v___x_470_;
}
}
else
{
lean_object* v___x_472_; 
lean_del_object(v___x_438_);
lean_inc(v_a_429_);
lean_inc_ref(v_a_428_);
lean_inc(v_a_427_);
lean_inc_ref(v_a_426_);
v___x_472_ = l_Lean_Meta_Simp_Result_getProof(v_a_433_, v_a_426_, v_a_427_, v_a_428_, v_a_429_);
if (lean_obj_tag(v___x_472_) == 0)
{
lean_object* v_a_473_; lean_object* v___x_474_; 
v_a_473_ = lean_ctor_get(v___x_472_, 0);
lean_inc(v_a_473_);
lean_dec_ref(v___x_472_);
v___x_474_ = l_Lean_Meta_mkOfEqTrue(v_a_473_, v_a_426_, v_a_427_, v_a_428_, v_a_429_);
if (lean_obj_tag(v___x_474_) == 0)
{
lean_object* v_a_475_; lean_object* v___x_477_; uint8_t v_isShared_478_; uint8_t v_isSharedCheck_483_; 
v_a_475_ = lean_ctor_get(v___x_474_, 0);
v_isSharedCheck_483_ = !lean_is_exclusive(v___x_474_);
if (v_isSharedCheck_483_ == 0)
{
v___x_477_ = v___x_474_;
v_isShared_478_ = v_isSharedCheck_483_;
goto v_resetjp_476_;
}
else
{
lean_inc(v_a_475_);
lean_dec(v___x_474_);
v___x_477_ = lean_box(0);
v_isShared_478_ = v_isSharedCheck_483_;
goto v_resetjp_476_;
}
v_resetjp_476_:
{
lean_object* v___x_479_; lean_object* v___x_481_; 
v___x_479_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_479_, 0, v_a_475_);
if (v_isShared_478_ == 0)
{
lean_ctor_set(v___x_477_, 0, v___x_479_);
v___x_481_ = v___x_477_;
goto v_reusejp_480_;
}
else
{
lean_object* v_reuseFailAlloc_482_; 
v_reuseFailAlloc_482_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_482_, 0, v___x_479_);
v___x_481_ = v_reuseFailAlloc_482_;
goto v_reusejp_480_;
}
v_reusejp_480_:
{
return v___x_481_;
}
}
}
else
{
lean_object* v_a_484_; lean_object* v___x_486_; uint8_t v_isShared_487_; uint8_t v_isSharedCheck_491_; 
v_a_484_ = lean_ctor_get(v___x_474_, 0);
v_isSharedCheck_491_ = !lean_is_exclusive(v___x_474_);
if (v_isSharedCheck_491_ == 0)
{
v___x_486_ = v___x_474_;
v_isShared_487_ = v_isSharedCheck_491_;
goto v_resetjp_485_;
}
else
{
lean_inc(v_a_484_);
lean_dec(v___x_474_);
v___x_486_ = lean_box(0);
v_isShared_487_ = v_isSharedCheck_491_;
goto v_resetjp_485_;
}
v_resetjp_485_:
{
lean_object* v___x_489_; 
if (v_isShared_487_ == 0)
{
v___x_489_ = v___x_486_;
goto v_reusejp_488_;
}
else
{
lean_object* v_reuseFailAlloc_490_; 
v_reuseFailAlloc_490_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_490_, 0, v_a_484_);
v___x_489_ = v_reuseFailAlloc_490_;
goto v_reusejp_488_;
}
v_reusejp_488_:
{
return v___x_489_;
}
}
}
}
else
{
lean_object* v_a_492_; lean_object* v___x_494_; uint8_t v_isShared_495_; uint8_t v_isSharedCheck_499_; 
lean_dec(v_a_429_);
lean_dec_ref(v_a_428_);
lean_dec(v_a_427_);
lean_dec_ref(v_a_426_);
v_a_492_ = lean_ctor_get(v___x_472_, 0);
v_isSharedCheck_499_ = !lean_is_exclusive(v___x_472_);
if (v_isSharedCheck_499_ == 0)
{
v___x_494_ = v___x_472_;
v_isShared_495_ = v_isSharedCheck_499_;
goto v_resetjp_493_;
}
else
{
lean_inc(v_a_492_);
lean_dec(v___x_472_);
v___x_494_ = lean_box(0);
v_isShared_495_ = v_isSharedCheck_499_;
goto v_resetjp_493_;
}
v_resetjp_493_:
{
lean_object* v___x_497_; 
if (v_isShared_495_ == 0)
{
v___x_497_ = v___x_494_;
goto v_reusejp_496_;
}
else
{
lean_object* v_reuseFailAlloc_498_; 
v_reuseFailAlloc_498_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_498_, 0, v_a_492_);
v___x_497_ = v_reuseFailAlloc_498_;
goto v_reusejp_496_;
}
v_reusejp_496_:
{
return v___x_497_;
}
}
}
}
}
}
}
else
{
lean_dec(v_a_433_);
lean_dec_ref(v_e_431_);
lean_dec(v_a_429_);
lean_dec_ref(v_a_428_);
lean_dec(v_a_427_);
lean_dec_ref(v_a_426_);
return v___x_435_;
}
}
else
{
lean_object* v_a_501_; lean_object* v___x_503_; uint8_t v_isShared_504_; uint8_t v_isSharedCheck_508_; 
lean_dec_ref(v_e_431_);
lean_dec(v_a_429_);
lean_dec_ref(v_a_428_);
lean_dec(v_a_427_);
lean_dec_ref(v_a_426_);
lean_dec(v_a_425_);
lean_dec_ref(v_a_424_);
lean_dec(v_a_423_);
v_a_501_ = lean_ctor_get(v___x_432_, 0);
v_isSharedCheck_508_ = !lean_is_exclusive(v___x_432_);
if (v_isSharedCheck_508_ == 0)
{
v___x_503_ = v___x_432_;
v_isShared_504_ = v_isSharedCheck_508_;
goto v_resetjp_502_;
}
else
{
lean_inc(v_a_501_);
lean_dec(v___x_432_);
v___x_503_ = lean_box(0);
v_isShared_504_ = v_isSharedCheck_508_;
goto v_resetjp_502_;
}
v_resetjp_502_:
{
lean_object* v___x_506_; 
if (v_isShared_504_ == 0)
{
v___x_506_ = v___x_503_;
goto v_reusejp_505_;
}
else
{
lean_object* v_reuseFailAlloc_507_; 
v_reuseFailAlloc_507_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_507_, 0, v_a_501_);
v___x_506_ = v_reuseFailAlloc_507_;
goto v_reusejp_505_;
}
v_reusejp_505_:
{
return v___x_506_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f___boxed(lean_object* v_e_509_, lean_object* v_a_510_, lean_object* v_a_511_, lean_object* v_a_512_, lean_object* v_a_513_, lean_object* v_a_514_, lean_object* v_a_515_, lean_object* v_a_516_, lean_object* v_a_517_){
_start:
{
lean_object* v_res_518_; 
v_res_518_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_discharge_x3f(v_e_509_, v_a_510_, v_a_511_, v_a_512_, v_a_513_, v_a_514_, v_a_515_, v_a_516_);
return v_res_518_;
}
}
LEAN_EXPORT uint8_t l_Lean_Option_get___at___00Lean_Meta_Grind_GrindM_run_spec__0(lean_object* v_opts_519_, lean_object* v_opt_520_){
_start:
{
lean_object* v_name_521_; lean_object* v_defValue_522_; lean_object* v_map_523_; lean_object* v___x_524_; 
v_name_521_ = lean_ctor_get(v_opt_520_, 0);
v_defValue_522_ = lean_ctor_get(v_opt_520_, 1);
v_map_523_ = lean_ctor_get(v_opts_519_, 0);
v___x_524_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00Lean_NameMap_find_x3f_spec__0___redArg(v_map_523_, v_name_521_);
if (lean_obj_tag(v___x_524_) == 0)
{
uint8_t v___x_525_; 
v___x_525_ = lean_unbox(v_defValue_522_);
return v___x_525_;
}
else
{
lean_object* v_val_526_; 
v_val_526_ = lean_ctor_get(v___x_524_, 0);
lean_inc(v_val_526_);
lean_dec_ref(v___x_524_);
if (lean_obj_tag(v_val_526_) == 1)
{
uint8_t v_v_527_; 
v_v_527_ = lean_ctor_get_uint8(v_val_526_, 0);
lean_dec_ref(v_val_526_);
return v_v_527_;
}
else
{
uint8_t v___x_528_; 
lean_dec(v_val_526_);
v___x_528_ = lean_unbox(v_defValue_522_);
return v___x_528_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00Lean_Meta_Grind_GrindM_run_spec__0___boxed(lean_object* v_opts_529_, lean_object* v_opt_530_){
_start:
{
uint8_t v_res_531_; lean_object* v_r_532_; 
v_res_531_ = l_Lean_Option_get___at___00Lean_Meta_Grind_GrindM_run_spec__0(v_opts_529_, v_opt_530_);
lean_dec_ref(v_opt_530_);
lean_dec_ref(v_opts_529_);
v_r_532_ = lean_box(v_res_531_);
return v_r_532_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__0(void){
_start:
{
lean_object* v___x_533_; 
v___x_533_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_533_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1(void){
_start:
{
lean_object* v___x_534_; lean_object* v___x_535_; 
v___x_534_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__0, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__0_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__0);
v___x_535_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_535_, 0, v___x_534_);
return v___x_535_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__2(void){
_start:
{
lean_object* v___x_536_; lean_object* v___x_537_; lean_object* v___x_538_; 
v___x_536_ = lean_box(0);
v___x_537_ = lean_unsigned_to_nat(16u);
v___x_538_ = lean_mk_array(v___x_537_, v___x_536_);
return v___x_538_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__3(void){
_start:
{
lean_object* v___x_539_; lean_object* v___x_540_; lean_object* v___x_541_; 
v___x_539_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__2, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__2_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__2);
v___x_540_ = lean_unsigned_to_nat(0u);
v___x_541_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_541_, 0, v___x_540_);
lean_ctor_set(v___x_541_, 1, v___x_539_);
return v___x_541_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__4(void){
_start:
{
lean_object* v___x_542_; lean_object* v___x_543_; lean_object* v___x_544_; 
v___x_542_ = lean_unsigned_to_nat(0u);
v___x_543_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1);
v___x_544_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_544_, 0, v___x_543_);
lean_ctor_set(v___x_544_, 1, v___x_542_);
return v___x_544_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__5(void){
_start:
{
lean_object* v___x_545_; lean_object* v___x_546_; lean_object* v___x_547_; 
v___x_545_ = lean_unsigned_to_nat(32u);
v___x_546_ = lean_mk_empty_array_with_capacity(v___x_545_);
v___x_547_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_547_, 0, v___x_546_);
return v___x_547_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__6(void){
_start:
{
size_t v___x_548_; lean_object* v___x_549_; lean_object* v___x_550_; lean_object* v___x_551_; lean_object* v___x_552_; lean_object* v___x_553_; 
v___x_548_ = ((size_t)5ULL);
v___x_549_ = lean_unsigned_to_nat(0u);
v___x_550_ = lean_unsigned_to_nat(32u);
v___x_551_ = lean_mk_empty_array_with_capacity(v___x_550_);
v___x_552_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__5, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__5_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__5);
v___x_553_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(v___x_553_, 0, v___x_552_);
lean_ctor_set(v___x_553_, 1, v___x_551_);
lean_ctor_set(v___x_553_, 2, v___x_549_);
lean_ctor_set(v___x_553_, 3, v___x_549_);
lean_ctor_set_usize(v___x_553_, 4, v___x_548_);
return v___x_553_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__7(void){
_start:
{
lean_object* v___x_554_; lean_object* v___x_555_; lean_object* v___x_556_; 
v___x_554_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__6, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__6_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__6);
v___x_555_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1);
v___x_556_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_556_, 0, v___x_555_);
lean_ctor_set(v___x_556_, 1, v___x_555_);
lean_ctor_set(v___x_556_, 2, v___x_555_);
lean_ctor_set(v___x_556_, 3, v___x_554_);
return v___x_556_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__8(void){
_start:
{
lean_object* v___x_557_; lean_object* v___x_558_; 
v___x_557_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1);
v___x_558_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_558_, 0, v___x_557_);
lean_ctor_set(v___x_558_, 1, v___x_557_);
lean_ctor_set(v___x_558_, 2, v___x_557_);
return v___x_558_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___lam__0(lean_object* v_evalTactic_x3f_559_, lean_object* v_norm_560_, lean_object* v_simpMethods_561_, lean_object* v_config_562_, lean_object* v_anchorRefs_x3f_563_, uint8_t v___x_564_, lean_object* v_symPrios_565_, lean_object* v_extensions_566_, lean_object* v_x_567_, lean_object* v___y_568_, lean_object* v___y_569_, lean_object* v___y_570_, lean_object* v___y_571_, lean_object* v___y_572_, lean_object* v___y_573_){
_start:
{
lean_object* v_options_575_; lean_object* v___x_576_; lean_object* v_a_577_; lean_object* v___x_578_; uint8_t v_debug_579_; uint8_t v___x_580_; lean_object* v___x_581_; lean_object* v___x_582_; lean_object* v___x_583_; lean_object* v___x_584_; lean_object* v___x_585_; lean_object* v___x_586_; lean_object* v___x_587_; lean_object* v___x_588_; lean_object* v___x_589_; lean_object* v___x_590_; lean_object* v___x_591_; lean_object* v___x_592_; lean_object* v___x_593_; lean_object* v___x_594_; lean_object* v___x_595_; lean_object* v___x_596_; lean_object* v___x_597_; 
v_options_575_ = lean_ctor_get(v___y_572_, 2);
v___x_576_ = l_Lean_Meta_Grind_mkMethods___redArg(v_evalTactic_x3f_559_);
v_a_577_ = lean_ctor_get(v___x_576_, 0);
lean_inc(v_a_577_);
lean_dec_ref(v___x_576_);
v___x_578_ = l_Lean_Meta_Grind_grind_debug;
v_debug_579_ = l_Lean_Option_get___at___00Lean_Meta_Grind_GrindM_run_spec__0(v_options_575_, v___x_578_);
v___x_580_ = 0;
v___x_581_ = lean_box(6);
v___x_582_ = lean_alloc_ctor(0, 7, 3);
lean_ctor_set(v___x_582_, 0, v_norm_560_);
lean_ctor_set(v___x_582_, 1, v_simpMethods_561_);
lean_ctor_set(v___x_582_, 2, v_config_562_);
lean_ctor_set(v___x_582_, 3, v_anchorRefs_x3f_563_);
lean_ctor_set(v___x_582_, 4, v___x_581_);
lean_ctor_set(v___x_582_, 5, v_symPrios_565_);
lean_ctor_set(v___x_582_, 6, v_extensions_566_);
lean_ctor_set_uint8(v___x_582_, sizeof(void*)*7, v___x_580_);
lean_ctor_set_uint8(v___x_582_, sizeof(void*)*7 + 1, v___x_564_);
lean_ctor_set_uint8(v___x_582_, sizeof(void*)*7 + 2, v_debug_579_);
v___x_583_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__1);
v___x_584_ = lean_unsigned_to_nat(0u);
v___x_585_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__3, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__3_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__3);
v___x_586_ = lean_alloc_ctor(0, 2, 1);
lean_ctor_set(v___x_586_, 0, v___x_585_);
lean_ctor_set(v___x_586_, 1, v___x_583_);
lean_ctor_set_uint8(v___x_586_, sizeof(void*)*2, v___x_564_);
v___x_587_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__4, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__4_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__4);
v___x_588_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__6, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__6_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__6);
v___x_589_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__7, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__7_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__7);
v___x_590_ = lean_alloc_ctor(0, 6, 0);
lean_ctor_set(v___x_590_, 0, v___x_586_);
lean_ctor_set(v___x_590_, 1, v___x_585_);
lean_ctor_set(v___x_590_, 2, v___x_585_);
lean_ctor_set(v___x_590_, 3, v___x_587_);
lean_ctor_set(v___x_590_, 4, v___x_584_);
lean_ctor_set(v___x_590_, 5, v___x_589_);
v___x_591_ = lean_box(0);
v___x_592_ = lean_box(0);
v___x_593_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__8, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__8_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__8);
v___x_594_ = lean_alloc_ctor(0, 10, 0);
lean_ctor_set(v___x_594_, 0, v___x_583_);
lean_ctor_set(v___x_594_, 1, v___x_590_);
lean_ctor_set(v___x_594_, 2, v___x_591_);
lean_ctor_set(v___x_594_, 3, v___x_592_);
lean_ctor_set(v___x_594_, 4, v___x_593_);
lean_ctor_set(v___x_594_, 5, v___x_588_);
lean_ctor_set(v___x_594_, 6, v___x_583_);
lean_ctor_set(v___x_594_, 7, v___x_583_);
lean_ctor_set(v___x_594_, 8, v___x_583_);
lean_ctor_set(v___x_594_, 9, v___x_585_);
v___x_595_ = lean_st_mk_ref(v___x_594_);
v___x_596_ = l_Lean_Meta_Grind_Methods_toMethodsRef(v_a_577_);
lean_dec(v_a_577_);
lean_inc(v___x_595_);
v___x_597_ = lean_apply_10(v_x_567_, v___x_596_, v___x_582_, v___x_595_, v___y_568_, v___y_569_, v___y_570_, v___y_571_, v___y_572_, v___y_573_, lean_box(0));
if (lean_obj_tag(v___x_597_) == 0)
{
lean_object* v_a_598_; lean_object* v___x_600_; uint8_t v_isShared_601_; uint8_t v_isSharedCheck_606_; 
v_a_598_ = lean_ctor_get(v___x_597_, 0);
v_isSharedCheck_606_ = !lean_is_exclusive(v___x_597_);
if (v_isSharedCheck_606_ == 0)
{
v___x_600_ = v___x_597_;
v_isShared_601_ = v_isSharedCheck_606_;
goto v_resetjp_599_;
}
else
{
lean_inc(v_a_598_);
lean_dec(v___x_597_);
v___x_600_ = lean_box(0);
v_isShared_601_ = v_isSharedCheck_606_;
goto v_resetjp_599_;
}
v_resetjp_599_:
{
lean_object* v___x_602_; lean_object* v___x_604_; 
v___x_602_ = lean_st_ref_get(v___x_595_);
lean_dec(v___x_595_);
lean_dec(v___x_602_);
if (v_isShared_601_ == 0)
{
v___x_604_ = v___x_600_;
goto v_reusejp_603_;
}
else
{
lean_object* v_reuseFailAlloc_605_; 
v_reuseFailAlloc_605_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_605_, 0, v_a_598_);
v___x_604_ = v_reuseFailAlloc_605_;
goto v_reusejp_603_;
}
v_reusejp_603_:
{
return v___x_604_;
}
}
}
else
{
lean_dec(v___x_595_);
return v___x_597_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___boxed(lean_object* v_evalTactic_x3f_607_, lean_object* v_norm_608_, lean_object* v_simpMethods_609_, lean_object* v_config_610_, lean_object* v_anchorRefs_x3f_611_, lean_object* v___x_612_, lean_object* v_symPrios_613_, lean_object* v_extensions_614_, lean_object* v_x_615_, lean_object* v___y_616_, lean_object* v___y_617_, lean_object* v___y_618_, lean_object* v___y_619_, lean_object* v___y_620_, lean_object* v___y_621_, lean_object* v___y_622_){
_start:
{
uint8_t v___x_3330__boxed_623_; lean_object* v_res_624_; 
v___x_3330__boxed_623_ = lean_unbox(v___x_612_);
v_res_624_ = l_Lean_Meta_Grind_GrindM_run___redArg___lam__0(v_evalTactic_x3f_607_, v_norm_608_, v_simpMethods_609_, v_config_610_, v_anchorRefs_x3f_611_, v___x_3330__boxed_623_, v_symPrios_613_, v_extensions_614_, v_x_615_, v___y_616_, v___y_617_, v___y_618_, v___y_619_, v___y_620_, v___y_621_);
return v_res_624_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_run___redArg(lean_object* v_x_626_, lean_object* v_params_627_, lean_object* v_evalTactic_x3f_628_, lean_object* v_a_629_, lean_object* v_a_630_, lean_object* v_a_631_, lean_object* v_a_632_){
_start:
{
lean_object* v_config_634_; lean_object* v_extensions_635_; lean_object* v_symPrios_636_; lean_object* v_norm_637_; lean_object* v_normProcs_638_; lean_object* v_anchorRefs_x3f_639_; lean_object* v___x_640_; uint8_t v___x_641_; lean_object* v_simpMethods_642_; lean_object* v___x_643_; lean_object* v___f_644_; lean_object* v___x_645_; 
v_config_634_ = lean_ctor_get(v_params_627_, 0);
lean_inc_ref(v_config_634_);
v_extensions_635_ = lean_ctor_get(v_params_627_, 1);
lean_inc_ref(v_extensions_635_);
v_symPrios_636_ = lean_ctor_get(v_params_627_, 5);
lean_inc_ref(v_symPrios_636_);
v_norm_637_ = lean_ctor_get(v_params_627_, 6);
lean_inc_ref(v_norm_637_);
v_normProcs_638_ = lean_ctor_get(v_params_627_, 7);
lean_inc_ref(v_normProcs_638_);
v_anchorRefs_x3f_639_ = lean_ctor_get(v_params_627_, 8);
lean_inc(v_anchorRefs_x3f_639_);
lean_dec_ref(v_params_627_);
v___x_640_ = ((lean_object*)(l_Lean_Meta_Grind_GrindM_run___redArg___closed__0));
v___x_641_ = 1;
v_simpMethods_642_ = l_Lean_Meta_Simp_mkMethods(v_normProcs_638_, v___x_640_, v___x_641_);
v___x_643_ = lean_box(v___x_641_);
v___f_644_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___boxed), 16, 9);
lean_closure_set(v___f_644_, 0, v_evalTactic_x3f_628_);
lean_closure_set(v___f_644_, 1, v_norm_637_);
lean_closure_set(v___f_644_, 2, v_simpMethods_642_);
lean_closure_set(v___f_644_, 3, v_config_634_);
lean_closure_set(v___f_644_, 4, v_anchorRefs_x3f_639_);
lean_closure_set(v___f_644_, 5, v___x_643_);
lean_closure_set(v___f_644_, 6, v_symPrios_636_);
lean_closure_set(v___f_644_, 7, v_extensions_635_);
lean_closure_set(v___f_644_, 8, v_x_626_);
v___x_645_ = l_Lean_Meta_Sym_SymM_run___redArg(v___f_644_, v_a_629_, v_a_630_, v_a_631_, v_a_632_);
return v___x_645_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_run___redArg___boxed(lean_object* v_x_646_, lean_object* v_params_647_, lean_object* v_evalTactic_x3f_648_, lean_object* v_a_649_, lean_object* v_a_650_, lean_object* v_a_651_, lean_object* v_a_652_, lean_object* v_a_653_){
_start:
{
lean_object* v_res_654_; 
v_res_654_ = l_Lean_Meta_Grind_GrindM_run___redArg(v_x_646_, v_params_647_, v_evalTactic_x3f_648_, v_a_649_, v_a_650_, v_a_651_, v_a_652_);
return v_res_654_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_run(lean_object* v_00_u03b1_655_, lean_object* v_x_656_, lean_object* v_params_657_, lean_object* v_evalTactic_x3f_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_; 
v___x_664_ = l_Lean_Meta_Grind_GrindM_run___redArg(v_x_656_, v_params_657_, v_evalTactic_x3f_658_, v_a_659_, v_a_660_, v_a_661_, v_a_662_);
return v___x_664_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_run___boxed(lean_object* v_00_u03b1_665_, lean_object* v_x_666_, lean_object* v_params_667_, lean_object* v_evalTactic_x3f_668_, lean_object* v_a_669_, lean_object* v_a_670_, lean_object* v_a_671_, lean_object* v_a_672_, lean_object* v_a_673_){
_start:
{
lean_object* v_res_674_; 
v_res_674_ = l_Lean_Meta_Grind_GrindM_run(v_00_u03b1_665_, v_x_666_, v_params_667_, v_evalTactic_x3f_668_, v_a_669_, v_a_670_, v_a_671_, v_a_672_);
return v_res_674_;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0___closed__0(void){
_start:
{
lean_object* v___x_675_; 
v___x_675_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_675_;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0___closed__1(void){
_start:
{
lean_object* v___x_676_; lean_object* v___x_677_; 
v___x_676_ = lean_obj_once(&l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0___closed__0, &l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0___closed__0_once, _init_l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0___closed__0);
v___x_677_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_677_, 0, v___x_676_);
return v___x_677_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0(lean_object* v_00_u03b2_678_){
_start:
{
lean_object* v___x_679_; 
v___x_679_ = lean_obj_once(&l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0___closed__1, &l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0___closed__1_once, _init_l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0___closed__1);
return v___x_679_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg___lam__0(lean_object* v_x_680_, lean_object* v___y_681_, lean_object* v___y_682_, lean_object* v___y_683_, lean_object* v___y_684_, lean_object* v___y_685_, lean_object* v___y_686_, lean_object* v___y_687_, lean_object* v___y_688_, lean_object* v___y_689_){
_start:
{
lean_object* v___x_691_; 
v___x_691_ = lean_apply_10(v_x_680_, v___y_681_, v___y_682_, v___y_683_, v___y_684_, v___y_685_, v___y_686_, v___y_687_, v___y_688_, v___y_689_, lean_box(0));
return v___x_691_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg___lam__0___boxed(lean_object* v_x_692_, lean_object* v___y_693_, lean_object* v___y_694_, lean_object* v___y_695_, lean_object* v___y_696_, lean_object* v___y_697_, lean_object* v___y_698_, lean_object* v___y_699_, lean_object* v___y_700_, lean_object* v___y_701_, lean_object* v___y_702_){
_start:
{
lean_object* v_res_703_; 
v_res_703_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg___lam__0(v_x_692_, v___y_693_, v___y_694_, v___y_695_, v___y_696_, v___y_697_, v___y_698_, v___y_699_, v___y_700_, v___y_701_);
return v_res_703_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg(lean_object* v_mvarId_704_, lean_object* v_x_705_, lean_object* v___y_706_, lean_object* v___y_707_, lean_object* v___y_708_, lean_object* v___y_709_, lean_object* v___y_710_, lean_object* v___y_711_, lean_object* v___y_712_, lean_object* v___y_713_, lean_object* v___y_714_){
_start:
{
lean_object* v___f_716_; lean_object* v___x_717_; 
v___f_716_ = lean_alloc_closure((void*)(l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg___lam__0___boxed), 11, 6);
lean_closure_set(v___f_716_, 0, v_x_705_);
lean_closure_set(v___f_716_, 1, v___y_706_);
lean_closure_set(v___f_716_, 2, v___y_707_);
lean_closure_set(v___f_716_, 3, v___y_708_);
lean_closure_set(v___f_716_, 4, v___y_709_);
lean_closure_set(v___f_716_, 5, v___y_710_);
v___x_717_ = l___private_Lean_Meta_Basic_0__Lean_Meta_withMVarContextImp(lean_box(0), v_mvarId_704_, v___f_716_, v___y_711_, v___y_712_, v___y_713_, v___y_714_);
if (lean_obj_tag(v___x_717_) == 0)
{
return v___x_717_;
}
else
{
lean_object* v_a_718_; lean_object* v___x_720_; uint8_t v_isShared_721_; uint8_t v_isSharedCheck_725_; 
v_a_718_ = lean_ctor_get(v___x_717_, 0);
v_isSharedCheck_725_ = !lean_is_exclusive(v___x_717_);
if (v_isSharedCheck_725_ == 0)
{
v___x_720_ = v___x_717_;
v_isShared_721_ = v_isSharedCheck_725_;
goto v_resetjp_719_;
}
else
{
lean_inc(v_a_718_);
lean_dec(v___x_717_);
v___x_720_ = lean_box(0);
v_isShared_721_ = v_isSharedCheck_725_;
goto v_resetjp_719_;
}
v_resetjp_719_:
{
lean_object* v___x_723_; 
if (v_isShared_721_ == 0)
{
v___x_723_ = v___x_720_;
goto v_reusejp_722_;
}
else
{
lean_object* v_reuseFailAlloc_724_; 
v_reuseFailAlloc_724_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_724_, 0, v_a_718_);
v___x_723_ = v_reuseFailAlloc_724_;
goto v_reusejp_722_;
}
v_reusejp_722_:
{
return v___x_723_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg___boxed(lean_object* v_mvarId_726_, lean_object* v_x_727_, lean_object* v___y_728_, lean_object* v___y_729_, lean_object* v___y_730_, lean_object* v___y_731_, lean_object* v___y_732_, lean_object* v___y_733_, lean_object* v___y_734_, lean_object* v___y_735_, lean_object* v___y_736_, lean_object* v___y_737_){
_start:
{
lean_object* v_res_738_; 
v_res_738_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg(v_mvarId_726_, v_x_727_, v___y_728_, v___y_729_, v___y_730_, v___y_731_, v___y_732_, v___y_733_, v___y_734_, v___y_735_, v___y_736_);
return v_res_738_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3(lean_object* v_00_u03b1_739_, lean_object* v_mvarId_740_, lean_object* v_x_741_, lean_object* v___y_742_, lean_object* v___y_743_, lean_object* v___y_744_, lean_object* v___y_745_, lean_object* v___y_746_, lean_object* v___y_747_, lean_object* v___y_748_, lean_object* v___y_749_, lean_object* v___y_750_){
_start:
{
lean_object* v___x_752_; 
v___x_752_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg(v_mvarId_740_, v_x_741_, v___y_742_, v___y_743_, v___y_744_, v___y_745_, v___y_746_, v___y_747_, v___y_748_, v___y_749_, v___y_750_);
return v___x_752_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___boxed(lean_object* v_00_u03b1_753_, lean_object* v_mvarId_754_, lean_object* v_x_755_, lean_object* v___y_756_, lean_object* v___y_757_, lean_object* v___y_758_, lean_object* v___y_759_, lean_object* v___y_760_, lean_object* v___y_761_, lean_object* v___y_762_, lean_object* v___y_763_, lean_object* v___y_764_, lean_object* v___y_765_){
_start:
{
lean_object* v_res_766_; 
v_res_766_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3(v_00_u03b1_753_, v_mvarId_754_, v_x_755_, v___y_756_, v___y_757_, v___y_758_, v___y_759_, v___y_760_, v___y_761_, v___y_762_, v___y_763_, v___y_764_);
return v_res_766_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__3_spec__5___redArg(lean_object* v_x_767_, lean_object* v_x_768_, lean_object* v_x_769_, lean_object* v_x_770_){
_start:
{
lean_object* v_ks_771_; lean_object* v_vs_772_; lean_object* v___x_774_; uint8_t v_isShared_775_; uint8_t v_isSharedCheck_796_; 
v_ks_771_ = lean_ctor_get(v_x_767_, 0);
v_vs_772_ = lean_ctor_get(v_x_767_, 1);
v_isSharedCheck_796_ = !lean_is_exclusive(v_x_767_);
if (v_isSharedCheck_796_ == 0)
{
v___x_774_ = v_x_767_;
v_isShared_775_ = v_isSharedCheck_796_;
goto v_resetjp_773_;
}
else
{
lean_inc(v_vs_772_);
lean_inc(v_ks_771_);
lean_dec(v_x_767_);
v___x_774_ = lean_box(0);
v_isShared_775_ = v_isSharedCheck_796_;
goto v_resetjp_773_;
}
v_resetjp_773_:
{
lean_object* v___x_776_; uint8_t v___x_777_; 
v___x_776_ = lean_array_get_size(v_ks_771_);
v___x_777_ = lean_nat_dec_lt(v_x_768_, v___x_776_);
if (v___x_777_ == 0)
{
lean_object* v___x_778_; lean_object* v___x_779_; lean_object* v___x_781_; 
lean_dec(v_x_768_);
v___x_778_ = lean_array_push(v_ks_771_, v_x_769_);
v___x_779_ = lean_array_push(v_vs_772_, v_x_770_);
if (v_isShared_775_ == 0)
{
lean_ctor_set(v___x_774_, 1, v___x_779_);
lean_ctor_set(v___x_774_, 0, v___x_778_);
v___x_781_ = v___x_774_;
goto v_reusejp_780_;
}
else
{
lean_object* v_reuseFailAlloc_782_; 
v_reuseFailAlloc_782_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_782_, 0, v___x_778_);
lean_ctor_set(v_reuseFailAlloc_782_, 1, v___x_779_);
v___x_781_ = v_reuseFailAlloc_782_;
goto v_reusejp_780_;
}
v_reusejp_780_:
{
return v___x_781_;
}
}
else
{
lean_object* v_k_x27_783_; uint8_t v___x_784_; 
v_k_x27_783_ = lean_array_fget_borrowed(v_ks_771_, v_x_768_);
v___x_784_ = lean_name_eq(v_x_769_, v_k_x27_783_);
if (v___x_784_ == 0)
{
lean_object* v___x_786_; 
if (v_isShared_775_ == 0)
{
v___x_786_ = v___x_774_;
goto v_reusejp_785_;
}
else
{
lean_object* v_reuseFailAlloc_790_; 
v_reuseFailAlloc_790_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_790_, 0, v_ks_771_);
lean_ctor_set(v_reuseFailAlloc_790_, 1, v_vs_772_);
v___x_786_ = v_reuseFailAlloc_790_;
goto v_reusejp_785_;
}
v_reusejp_785_:
{
lean_object* v___x_787_; lean_object* v___x_788_; 
v___x_787_ = lean_unsigned_to_nat(1u);
v___x_788_ = lean_nat_add(v_x_768_, v___x_787_);
lean_dec(v_x_768_);
v_x_767_ = v___x_786_;
v_x_768_ = v___x_788_;
goto _start;
}
}
else
{
lean_object* v___x_791_; lean_object* v___x_792_; lean_object* v___x_794_; 
v___x_791_ = lean_array_fset(v_ks_771_, v_x_768_, v_x_769_);
v___x_792_ = lean_array_fset(v_vs_772_, v_x_768_, v_x_770_);
lean_dec(v_x_768_);
if (v_isShared_775_ == 0)
{
lean_ctor_set(v___x_774_, 1, v___x_792_);
lean_ctor_set(v___x_774_, 0, v___x_791_);
v___x_794_ = v___x_774_;
goto v_reusejp_793_;
}
else
{
lean_object* v_reuseFailAlloc_795_; 
v_reuseFailAlloc_795_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_795_, 0, v___x_791_);
lean_ctor_set(v_reuseFailAlloc_795_, 1, v___x_792_);
v___x_794_ = v_reuseFailAlloc_795_;
goto v_reusejp_793_;
}
v_reusejp_793_:
{
return v___x_794_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__3___redArg(lean_object* v_n_797_, lean_object* v_k_798_, lean_object* v_v_799_){
_start:
{
lean_object* v___x_800_; lean_object* v___x_801_; 
v___x_800_ = lean_unsigned_to_nat(0u);
v___x_801_ = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__3_spec__5___redArg(v_n_797_, v___x_800_, v_k_798_, v_v_799_);
return v___x_801_;
}
}
static size_t _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__0(void){
_start:
{
size_t v___x_802_; size_t v___x_803_; size_t v___x_804_; 
v___x_802_ = ((size_t)5ULL);
v___x_803_ = ((size_t)1ULL);
v___x_804_ = lean_usize_shift_left(v___x_803_, v___x_802_);
return v___x_804_;
}
}
static size_t _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__1(void){
_start:
{
size_t v___x_805_; size_t v___x_806_; size_t v___x_807_; 
v___x_805_ = ((size_t)1ULL);
v___x_806_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__0, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__0_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__0);
v___x_807_ = lean_usize_sub(v___x_806_, v___x_805_);
return v___x_807_;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__2(void){
_start:
{
lean_object* v___x_808_; 
v___x_808_ = l_Lean_PersistentHashMap_mkEmptyEntries(lean_box(0), lean_box(0));
return v___x_808_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg(lean_object* v_x_809_, size_t v_x_810_, size_t v_x_811_, lean_object* v_x_812_, lean_object* v_x_813_){
_start:
{
if (lean_obj_tag(v_x_809_) == 0)
{
lean_object* v_es_814_; size_t v___x_815_; size_t v___x_816_; size_t v___x_817_; size_t v___x_818_; lean_object* v_j_819_; lean_object* v___x_820_; uint8_t v___x_821_; 
v_es_814_ = lean_ctor_get(v_x_809_, 0);
v___x_815_ = ((size_t)5ULL);
v___x_816_ = ((size_t)1ULL);
v___x_817_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__1);
v___x_818_ = lean_usize_land(v_x_810_, v___x_817_);
v_j_819_ = lean_usize_to_nat(v___x_818_);
v___x_820_ = lean_array_get_size(v_es_814_);
v___x_821_ = lean_nat_dec_lt(v_j_819_, v___x_820_);
if (v___x_821_ == 0)
{
lean_dec(v_j_819_);
lean_dec(v_x_813_);
lean_dec(v_x_812_);
return v_x_809_;
}
else
{
lean_object* v___x_823_; uint8_t v_isShared_824_; uint8_t v_isSharedCheck_858_; 
lean_inc_ref(v_es_814_);
v_isSharedCheck_858_ = !lean_is_exclusive(v_x_809_);
if (v_isSharedCheck_858_ == 0)
{
lean_object* v_unused_859_; 
v_unused_859_ = lean_ctor_get(v_x_809_, 0);
lean_dec(v_unused_859_);
v___x_823_ = v_x_809_;
v_isShared_824_ = v_isSharedCheck_858_;
goto v_resetjp_822_;
}
else
{
lean_dec(v_x_809_);
v___x_823_ = lean_box(0);
v_isShared_824_ = v_isSharedCheck_858_;
goto v_resetjp_822_;
}
v_resetjp_822_:
{
lean_object* v_v_825_; lean_object* v___x_826_; lean_object* v_xs_x27_827_; lean_object* v___y_829_; 
v_v_825_ = lean_array_fget(v_es_814_, v_j_819_);
v___x_826_ = lean_box(0);
v_xs_x27_827_ = lean_array_fset(v_es_814_, v_j_819_, v___x_826_);
switch(lean_obj_tag(v_v_825_))
{
case 0:
{
lean_object* v_key_834_; lean_object* v_val_835_; lean_object* v___x_837_; uint8_t v_isShared_838_; uint8_t v_isSharedCheck_845_; 
v_key_834_ = lean_ctor_get(v_v_825_, 0);
v_val_835_ = lean_ctor_get(v_v_825_, 1);
v_isSharedCheck_845_ = !lean_is_exclusive(v_v_825_);
if (v_isSharedCheck_845_ == 0)
{
v___x_837_ = v_v_825_;
v_isShared_838_ = v_isSharedCheck_845_;
goto v_resetjp_836_;
}
else
{
lean_inc(v_val_835_);
lean_inc(v_key_834_);
lean_dec(v_v_825_);
v___x_837_ = lean_box(0);
v_isShared_838_ = v_isSharedCheck_845_;
goto v_resetjp_836_;
}
v_resetjp_836_:
{
uint8_t v___x_839_; 
v___x_839_ = lean_name_eq(v_x_812_, v_key_834_);
if (v___x_839_ == 0)
{
lean_object* v___x_840_; lean_object* v___x_841_; 
lean_del_object(v___x_837_);
v___x_840_ = l_Lean_PersistentHashMap_mkCollisionNode___redArg(v_key_834_, v_val_835_, v_x_812_, v_x_813_);
v___x_841_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_841_, 0, v___x_840_);
v___y_829_ = v___x_841_;
goto v___jp_828_;
}
else
{
lean_object* v___x_843_; 
lean_dec(v_val_835_);
lean_dec(v_key_834_);
if (v_isShared_838_ == 0)
{
lean_ctor_set(v___x_837_, 1, v_x_813_);
lean_ctor_set(v___x_837_, 0, v_x_812_);
v___x_843_ = v___x_837_;
goto v_reusejp_842_;
}
else
{
lean_object* v_reuseFailAlloc_844_; 
v_reuseFailAlloc_844_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_844_, 0, v_x_812_);
lean_ctor_set(v_reuseFailAlloc_844_, 1, v_x_813_);
v___x_843_ = v_reuseFailAlloc_844_;
goto v_reusejp_842_;
}
v_reusejp_842_:
{
v___y_829_ = v___x_843_;
goto v___jp_828_;
}
}
}
}
case 1:
{
lean_object* v_node_846_; lean_object* v___x_848_; uint8_t v_isShared_849_; uint8_t v_isSharedCheck_856_; 
v_node_846_ = lean_ctor_get(v_v_825_, 0);
v_isSharedCheck_856_ = !lean_is_exclusive(v_v_825_);
if (v_isSharedCheck_856_ == 0)
{
v___x_848_ = v_v_825_;
v_isShared_849_ = v_isSharedCheck_856_;
goto v_resetjp_847_;
}
else
{
lean_inc(v_node_846_);
lean_dec(v_v_825_);
v___x_848_ = lean_box(0);
v_isShared_849_ = v_isSharedCheck_856_;
goto v_resetjp_847_;
}
v_resetjp_847_:
{
size_t v___x_850_; size_t v___x_851_; lean_object* v___x_852_; lean_object* v___x_854_; 
v___x_850_ = lean_usize_shift_right(v_x_810_, v___x_815_);
v___x_851_ = lean_usize_add(v_x_811_, v___x_816_);
v___x_852_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg(v_node_846_, v___x_850_, v___x_851_, v_x_812_, v_x_813_);
if (v_isShared_849_ == 0)
{
lean_ctor_set(v___x_848_, 0, v___x_852_);
v___x_854_ = v___x_848_;
goto v_reusejp_853_;
}
else
{
lean_object* v_reuseFailAlloc_855_; 
v_reuseFailAlloc_855_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_855_, 0, v___x_852_);
v___x_854_ = v_reuseFailAlloc_855_;
goto v_reusejp_853_;
}
v_reusejp_853_:
{
v___y_829_ = v___x_854_;
goto v___jp_828_;
}
}
}
default: 
{
lean_object* v___x_857_; 
v___x_857_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_857_, 0, v_x_812_);
lean_ctor_set(v___x_857_, 1, v_x_813_);
v___y_829_ = v___x_857_;
goto v___jp_828_;
}
}
v___jp_828_:
{
lean_object* v___x_830_; lean_object* v___x_832_; 
v___x_830_ = lean_array_fset(v_xs_x27_827_, v_j_819_, v___y_829_);
lean_dec(v_j_819_);
if (v_isShared_824_ == 0)
{
lean_ctor_set(v___x_823_, 0, v___x_830_);
v___x_832_ = v___x_823_;
goto v_reusejp_831_;
}
else
{
lean_object* v_reuseFailAlloc_833_; 
v_reuseFailAlloc_833_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_833_, 0, v___x_830_);
v___x_832_ = v_reuseFailAlloc_833_;
goto v_reusejp_831_;
}
v_reusejp_831_:
{
return v___x_832_;
}
}
}
}
}
else
{
lean_object* v_ks_860_; lean_object* v_vs_861_; lean_object* v___x_863_; uint8_t v_isShared_864_; uint8_t v_isSharedCheck_881_; 
v_ks_860_ = lean_ctor_get(v_x_809_, 0);
v_vs_861_ = lean_ctor_get(v_x_809_, 1);
v_isSharedCheck_881_ = !lean_is_exclusive(v_x_809_);
if (v_isSharedCheck_881_ == 0)
{
v___x_863_ = v_x_809_;
v_isShared_864_ = v_isSharedCheck_881_;
goto v_resetjp_862_;
}
else
{
lean_inc(v_vs_861_);
lean_inc(v_ks_860_);
lean_dec(v_x_809_);
v___x_863_ = lean_box(0);
v_isShared_864_ = v_isSharedCheck_881_;
goto v_resetjp_862_;
}
v_resetjp_862_:
{
lean_object* v___x_866_; 
if (v_isShared_864_ == 0)
{
v___x_866_ = v___x_863_;
goto v_reusejp_865_;
}
else
{
lean_object* v_reuseFailAlloc_880_; 
v_reuseFailAlloc_880_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_880_, 0, v_ks_860_);
lean_ctor_set(v_reuseFailAlloc_880_, 1, v_vs_861_);
v___x_866_ = v_reuseFailAlloc_880_;
goto v_reusejp_865_;
}
v_reusejp_865_:
{
lean_object* v_newNode_867_; uint8_t v___y_869_; size_t v___x_875_; uint8_t v___x_876_; 
v_newNode_867_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__3___redArg(v___x_866_, v_x_812_, v_x_813_);
v___x_875_ = ((size_t)7ULL);
v___x_876_ = lean_usize_dec_le(v___x_875_, v_x_811_);
if (v___x_876_ == 0)
{
lean_object* v___x_877_; lean_object* v___x_878_; uint8_t v___x_879_; 
v___x_877_ = l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(v_newNode_867_);
v___x_878_ = lean_unsigned_to_nat(4u);
v___x_879_ = lean_nat_dec_lt(v___x_877_, v___x_878_);
lean_dec(v___x_877_);
v___y_869_ = v___x_879_;
goto v___jp_868_;
}
else
{
v___y_869_ = v___x_876_;
goto v___jp_868_;
}
v___jp_868_:
{
if (v___y_869_ == 0)
{
lean_object* v_ks_870_; lean_object* v_vs_871_; lean_object* v___x_872_; lean_object* v___x_873_; lean_object* v___x_874_; 
v_ks_870_ = lean_ctor_get(v_newNode_867_, 0);
lean_inc_ref(v_ks_870_);
v_vs_871_ = lean_ctor_get(v_newNode_867_, 1);
lean_inc_ref(v_vs_871_);
lean_dec_ref(v_newNode_867_);
v___x_872_ = lean_unsigned_to_nat(0u);
v___x_873_ = lean_obj_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__2, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__2_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__2);
v___x_874_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__4___redArg(v_x_811_, v_ks_870_, v_vs_871_, v___x_872_, v___x_873_);
lean_dec_ref(v_vs_871_);
lean_dec_ref(v_ks_870_);
return v___x_874_;
}
else
{
return v_newNode_867_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__4___redArg(size_t v_depth_882_, lean_object* v_keys_883_, lean_object* v_vals_884_, lean_object* v_i_885_, lean_object* v_entries_886_){
_start:
{
lean_object* v___x_887_; uint8_t v___x_888_; 
v___x_887_ = lean_array_get_size(v_keys_883_);
v___x_888_ = lean_nat_dec_lt(v_i_885_, v___x_887_);
if (v___x_888_ == 0)
{
lean_dec(v_i_885_);
return v_entries_886_;
}
else
{
lean_object* v_k_889_; lean_object* v_v_890_; uint64_t v___y_892_; 
v_k_889_ = lean_array_fget_borrowed(v_keys_883_, v_i_885_);
v_v_890_ = lean_array_fget_borrowed(v_vals_884_, v_i_885_);
if (lean_obj_tag(v_k_889_) == 0)
{
uint64_t v___x_903_; 
v___x_903_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0);
v___y_892_ = v___x_903_;
goto v___jp_891_;
}
else
{
uint64_t v_hash_904_; 
v_hash_904_ = lean_ctor_get_uint64(v_k_889_, sizeof(void*)*2);
v___y_892_ = v_hash_904_;
goto v___jp_891_;
}
v___jp_891_:
{
size_t v_h_893_; size_t v___x_894_; lean_object* v___x_895_; size_t v___x_896_; size_t v___x_897_; size_t v___x_898_; size_t v_h_899_; lean_object* v___x_900_; lean_object* v___x_901_; 
v_h_893_ = lean_uint64_to_usize(v___y_892_);
v___x_894_ = ((size_t)5ULL);
v___x_895_ = lean_unsigned_to_nat(1u);
v___x_896_ = ((size_t)1ULL);
v___x_897_ = lean_usize_sub(v_depth_882_, v___x_896_);
v___x_898_ = lean_usize_mul(v___x_894_, v___x_897_);
v_h_899_ = lean_usize_shift_right(v_h_893_, v___x_898_);
v___x_900_ = lean_nat_add(v_i_885_, v___x_895_);
lean_dec(v_i_885_);
lean_inc(v_v_890_);
lean_inc(v_k_889_);
v___x_901_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg(v_entries_886_, v_h_899_, v_depth_882_, v_k_889_, v_v_890_);
v_i_885_ = v___x_900_;
v_entries_886_ = v___x_901_;
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___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__4___redArg___boxed(lean_object* v_depth_905_, lean_object* v_keys_906_, lean_object* v_vals_907_, lean_object* v_i_908_, lean_object* v_entries_909_){
_start:
{
size_t v_depth_boxed_910_; lean_object* v_res_911_; 
v_depth_boxed_910_ = lean_unbox_usize(v_depth_905_);
lean_dec(v_depth_905_);
v_res_911_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__4___redArg(v_depth_boxed_910_, v_keys_906_, v_vals_907_, v_i_908_, v_entries_909_);
lean_dec_ref(v_vals_907_);
lean_dec_ref(v_keys_906_);
return v_res_911_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___boxed(lean_object* v_x_912_, lean_object* v_x_913_, lean_object* v_x_914_, lean_object* v_x_915_, lean_object* v_x_916_){
_start:
{
size_t v_x_18917__boxed_917_; size_t v_x_18918__boxed_918_; lean_object* v_res_919_; 
v_x_18917__boxed_917_ = lean_unbox_usize(v_x_913_);
lean_dec(v_x_913_);
v_x_18918__boxed_918_ = lean_unbox_usize(v_x_914_);
lean_dec(v_x_914_);
v_res_919_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg(v_x_912_, v_x_18917__boxed_917_, v_x_18918__boxed_918_, v_x_915_, v_x_916_);
return v_res_919_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1___redArg(lean_object* v_x_920_, lean_object* v_x_921_, lean_object* v_x_922_){
_start:
{
uint64_t v___y_924_; 
if (lean_obj_tag(v_x_921_) == 0)
{
uint64_t v___x_928_; 
v___x_928_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0);
v___y_924_ = v___x_928_;
goto v___jp_923_;
}
else
{
uint64_t v_hash_929_; 
v_hash_929_ = lean_ctor_get_uint64(v_x_921_, sizeof(void*)*2);
v___y_924_ = v_hash_929_;
goto v___jp_923_;
}
v___jp_923_:
{
size_t v___x_925_; size_t v___x_926_; lean_object* v___x_927_; 
v___x_925_ = lean_uint64_to_usize(v___y_924_);
v___x_926_ = ((size_t)1ULL);
v___x_927_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg(v_x_920_, v___x_925_, v___x_926_, v_x_921_, v_x_922_);
return v___x_927_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4_spec__10___redArg(lean_object* v_as_930_, size_t v_sz_931_, size_t v_i_932_, lean_object* v_b_933_){
_start:
{
uint8_t v___x_935_; 
v___x_935_ = lean_usize_dec_lt(v_i_932_, v_sz_931_);
if (v___x_935_ == 0)
{
lean_object* v___x_936_; 
v___x_936_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_936_, 0, v_b_933_);
return v___x_936_;
}
else
{
lean_object* v_snd_937_; lean_object* v___x_939_; uint8_t v_isShared_940_; uint8_t v_isSharedCheck_955_; 
v_snd_937_ = lean_ctor_get(v_b_933_, 1);
v_isSharedCheck_955_ = !lean_is_exclusive(v_b_933_);
if (v_isSharedCheck_955_ == 0)
{
lean_object* v_unused_956_; 
v_unused_956_ = lean_ctor_get(v_b_933_, 0);
lean_dec(v_unused_956_);
v___x_939_ = v_b_933_;
v_isShared_940_ = v_isSharedCheck_955_;
goto v_resetjp_938_;
}
else
{
lean_inc(v_snd_937_);
lean_dec(v_b_933_);
v___x_939_ = lean_box(0);
v_isShared_940_ = v_isSharedCheck_955_;
goto v_resetjp_938_;
}
v_resetjp_938_:
{
lean_object* v___x_941_; lean_object* v_a_943_; lean_object* v_a_950_; 
v___x_941_ = lean_box(0);
v_a_950_ = lean_array_uget_borrowed(v_as_930_, v_i_932_);
if (lean_obj_tag(v_a_950_) == 0)
{
v_a_943_ = v_snd_937_;
goto v___jp_942_;
}
else
{
lean_object* v_val_951_; lean_object* v___x_952_; lean_object* v___x_953_; lean_object* v___x_954_; 
v_val_951_ = lean_ctor_get(v_a_950_, 0);
v___x_952_ = l_Lean_LocalDecl_userName(v_val_951_);
v___x_953_ = lean_box(0);
v___x_954_ = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1___redArg(v_snd_937_, v___x_952_, v___x_953_);
v_a_943_ = v___x_954_;
goto v___jp_942_;
}
v___jp_942_:
{
lean_object* v___x_945_; 
if (v_isShared_940_ == 0)
{
lean_ctor_set(v___x_939_, 1, v_a_943_);
lean_ctor_set(v___x_939_, 0, v___x_941_);
v___x_945_ = v___x_939_;
goto v_reusejp_944_;
}
else
{
lean_object* v_reuseFailAlloc_949_; 
v_reuseFailAlloc_949_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_949_, 0, v___x_941_);
lean_ctor_set(v_reuseFailAlloc_949_, 1, v_a_943_);
v___x_945_ = v_reuseFailAlloc_949_;
goto v_reusejp_944_;
}
v_reusejp_944_:
{
size_t v___x_946_; size_t v___x_947_; 
v___x_946_ = ((size_t)1ULL);
v___x_947_ = lean_usize_add(v_i_932_, v___x_946_);
v_i_932_ = v___x_947_;
v_b_933_ = v___x_945_;
goto _start;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4_spec__10___redArg___boxed(lean_object* v_as_957_, lean_object* v_sz_958_, lean_object* v_i_959_, lean_object* v_b_960_, lean_object* v___y_961_){
_start:
{
size_t v_sz_boxed_962_; size_t v_i_boxed_963_; lean_object* v_res_964_; 
v_sz_boxed_962_ = lean_unbox_usize(v_sz_958_);
lean_dec(v_sz_958_);
v_i_boxed_963_ = lean_unbox_usize(v_i_959_);
lean_dec(v_i_959_);
v_res_964_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4_spec__10___redArg(v_as_957_, v_sz_boxed_962_, v_i_boxed_963_, v_b_960_);
lean_dec_ref(v_as_957_);
return v_res_964_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4(lean_object* v_as_965_, size_t v_sz_966_, size_t v_i_967_, lean_object* v_b_968_, lean_object* v___y_969_, lean_object* v___y_970_, lean_object* v___y_971_, lean_object* v___y_972_, lean_object* v___y_973_, lean_object* v___y_974_, lean_object* v___y_975_, lean_object* v___y_976_, lean_object* v___y_977_){
_start:
{
uint8_t v___x_979_; 
v___x_979_ = lean_usize_dec_lt(v_i_967_, v_sz_966_);
if (v___x_979_ == 0)
{
lean_object* v___x_980_; 
v___x_980_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_980_, 0, v_b_968_);
return v___x_980_;
}
else
{
lean_object* v_snd_981_; lean_object* v___x_983_; uint8_t v_isShared_984_; uint8_t v_isSharedCheck_999_; 
v_snd_981_ = lean_ctor_get(v_b_968_, 1);
v_isSharedCheck_999_ = !lean_is_exclusive(v_b_968_);
if (v_isSharedCheck_999_ == 0)
{
lean_object* v_unused_1000_; 
v_unused_1000_ = lean_ctor_get(v_b_968_, 0);
lean_dec(v_unused_1000_);
v___x_983_ = v_b_968_;
v_isShared_984_ = v_isSharedCheck_999_;
goto v_resetjp_982_;
}
else
{
lean_inc(v_snd_981_);
lean_dec(v_b_968_);
v___x_983_ = lean_box(0);
v_isShared_984_ = v_isSharedCheck_999_;
goto v_resetjp_982_;
}
v_resetjp_982_:
{
lean_object* v___x_985_; lean_object* v_a_987_; lean_object* v_a_994_; 
v___x_985_ = lean_box(0);
v_a_994_ = lean_array_uget_borrowed(v_as_965_, v_i_967_);
if (lean_obj_tag(v_a_994_) == 0)
{
v_a_987_ = v_snd_981_;
goto v___jp_986_;
}
else
{
lean_object* v_val_995_; lean_object* v___x_996_; lean_object* v___x_997_; lean_object* v___x_998_; 
v_val_995_ = lean_ctor_get(v_a_994_, 0);
v___x_996_ = l_Lean_LocalDecl_userName(v_val_995_);
v___x_997_ = lean_box(0);
v___x_998_ = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1___redArg(v_snd_981_, v___x_996_, v___x_997_);
v_a_987_ = v___x_998_;
goto v___jp_986_;
}
v___jp_986_:
{
lean_object* v___x_989_; 
if (v_isShared_984_ == 0)
{
lean_ctor_set(v___x_983_, 1, v_a_987_);
lean_ctor_set(v___x_983_, 0, v___x_985_);
v___x_989_ = v___x_983_;
goto v_reusejp_988_;
}
else
{
lean_object* v_reuseFailAlloc_993_; 
v_reuseFailAlloc_993_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_993_, 0, v___x_985_);
lean_ctor_set(v_reuseFailAlloc_993_, 1, v_a_987_);
v___x_989_ = v_reuseFailAlloc_993_;
goto v_reusejp_988_;
}
v_reusejp_988_:
{
size_t v___x_990_; size_t v___x_991_; lean_object* v___x_992_; 
v___x_990_ = ((size_t)1ULL);
v___x_991_ = lean_usize_add(v_i_967_, v___x_990_);
v___x_992_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4_spec__10___redArg(v_as_965_, v_sz_966_, v___x_991_, v___x_989_);
return v___x_992_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4___boxed(lean_object* v_as_1001_, lean_object* v_sz_1002_, lean_object* v_i_1003_, lean_object* v_b_1004_, lean_object* v___y_1005_, lean_object* v___y_1006_, lean_object* v___y_1007_, lean_object* v___y_1008_, lean_object* v___y_1009_, lean_object* v___y_1010_, lean_object* v___y_1011_, lean_object* v___y_1012_, lean_object* v___y_1013_, lean_object* v___y_1014_){
_start:
{
size_t v_sz_boxed_1015_; size_t v_i_boxed_1016_; lean_object* v_res_1017_; 
v_sz_boxed_1015_ = lean_unbox_usize(v_sz_1002_);
lean_dec(v_sz_1002_);
v_i_boxed_1016_ = lean_unbox_usize(v_i_1003_);
lean_dec(v_i_1003_);
v_res_1017_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4(v_as_1001_, v_sz_boxed_1015_, v_i_boxed_1016_, v_b_1004_, v___y_1005_, v___y_1006_, v___y_1007_, v___y_1008_, v___y_1009_, v___y_1010_, v___y_1011_, v___y_1012_, v___y_1013_);
lean_dec(v___y_1013_);
lean_dec_ref(v___y_1012_);
lean_dec(v___y_1011_);
lean_dec_ref(v___y_1010_);
lean_dec(v___y_1009_);
lean_dec_ref(v___y_1008_);
lean_dec(v___y_1007_);
lean_dec_ref(v___y_1006_);
lean_dec(v___y_1005_);
lean_dec_ref(v_as_1001_);
return v_res_1017_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8_spec__10___redArg(lean_object* v_as_1018_, size_t v_sz_1019_, size_t v_i_1020_, lean_object* v_b_1021_){
_start:
{
uint8_t v___x_1023_; 
v___x_1023_ = lean_usize_dec_lt(v_i_1020_, v_sz_1019_);
if (v___x_1023_ == 0)
{
lean_object* v___x_1024_; 
v___x_1024_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1024_, 0, v_b_1021_);
return v___x_1024_;
}
else
{
lean_object* v_snd_1025_; lean_object* v___x_1027_; uint8_t v_isShared_1028_; uint8_t v_isSharedCheck_1043_; 
v_snd_1025_ = lean_ctor_get(v_b_1021_, 1);
v_isSharedCheck_1043_ = !lean_is_exclusive(v_b_1021_);
if (v_isSharedCheck_1043_ == 0)
{
lean_object* v_unused_1044_; 
v_unused_1044_ = lean_ctor_get(v_b_1021_, 0);
lean_dec(v_unused_1044_);
v___x_1027_ = v_b_1021_;
v_isShared_1028_ = v_isSharedCheck_1043_;
goto v_resetjp_1026_;
}
else
{
lean_inc(v_snd_1025_);
lean_dec(v_b_1021_);
v___x_1027_ = lean_box(0);
v_isShared_1028_ = v_isSharedCheck_1043_;
goto v_resetjp_1026_;
}
v_resetjp_1026_:
{
lean_object* v___x_1029_; lean_object* v_a_1031_; lean_object* v_a_1038_; 
v___x_1029_ = lean_box(0);
v_a_1038_ = lean_array_uget_borrowed(v_as_1018_, v_i_1020_);
if (lean_obj_tag(v_a_1038_) == 0)
{
v_a_1031_ = v_snd_1025_;
goto v___jp_1030_;
}
else
{
lean_object* v_val_1039_; lean_object* v___x_1040_; lean_object* v___x_1041_; lean_object* v___x_1042_; 
v_val_1039_ = lean_ctor_get(v_a_1038_, 0);
v___x_1040_ = l_Lean_LocalDecl_userName(v_val_1039_);
v___x_1041_ = lean_box(0);
v___x_1042_ = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1___redArg(v_snd_1025_, v___x_1040_, v___x_1041_);
v_a_1031_ = v___x_1042_;
goto v___jp_1030_;
}
v___jp_1030_:
{
lean_object* v___x_1033_; 
if (v_isShared_1028_ == 0)
{
lean_ctor_set(v___x_1027_, 1, v_a_1031_);
lean_ctor_set(v___x_1027_, 0, v___x_1029_);
v___x_1033_ = v___x_1027_;
goto v_reusejp_1032_;
}
else
{
lean_object* v_reuseFailAlloc_1037_; 
v_reuseFailAlloc_1037_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1037_, 0, v___x_1029_);
lean_ctor_set(v_reuseFailAlloc_1037_, 1, v_a_1031_);
v___x_1033_ = v_reuseFailAlloc_1037_;
goto v_reusejp_1032_;
}
v_reusejp_1032_:
{
size_t v___x_1034_; size_t v___x_1035_; 
v___x_1034_ = ((size_t)1ULL);
v___x_1035_ = lean_usize_add(v_i_1020_, v___x_1034_);
v_i_1020_ = v___x_1035_;
v_b_1021_ = v___x_1033_;
goto _start;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8_spec__10___redArg___boxed(lean_object* v_as_1045_, lean_object* v_sz_1046_, lean_object* v_i_1047_, lean_object* v_b_1048_, lean_object* v___y_1049_){
_start:
{
size_t v_sz_boxed_1050_; size_t v_i_boxed_1051_; lean_object* v_res_1052_; 
v_sz_boxed_1050_ = lean_unbox_usize(v_sz_1046_);
lean_dec(v_sz_1046_);
v_i_boxed_1051_ = lean_unbox_usize(v_i_1047_);
lean_dec(v_i_1047_);
v_res_1052_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8_spec__10___redArg(v_as_1045_, v_sz_boxed_1050_, v_i_boxed_1051_, v_b_1048_);
lean_dec_ref(v_as_1045_);
return v_res_1052_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8(lean_object* v_as_1053_, size_t v_sz_1054_, size_t v_i_1055_, lean_object* v_b_1056_, lean_object* v___y_1057_, lean_object* v___y_1058_, lean_object* v___y_1059_, lean_object* v___y_1060_, lean_object* v___y_1061_, lean_object* v___y_1062_, lean_object* v___y_1063_, lean_object* v___y_1064_, lean_object* v___y_1065_){
_start:
{
uint8_t v___x_1067_; 
v___x_1067_ = lean_usize_dec_lt(v_i_1055_, v_sz_1054_);
if (v___x_1067_ == 0)
{
lean_object* v___x_1068_; 
v___x_1068_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1068_, 0, v_b_1056_);
return v___x_1068_;
}
else
{
lean_object* v_snd_1069_; lean_object* v___x_1071_; uint8_t v_isShared_1072_; uint8_t v_isSharedCheck_1087_; 
v_snd_1069_ = lean_ctor_get(v_b_1056_, 1);
v_isSharedCheck_1087_ = !lean_is_exclusive(v_b_1056_);
if (v_isSharedCheck_1087_ == 0)
{
lean_object* v_unused_1088_; 
v_unused_1088_ = lean_ctor_get(v_b_1056_, 0);
lean_dec(v_unused_1088_);
v___x_1071_ = v_b_1056_;
v_isShared_1072_ = v_isSharedCheck_1087_;
goto v_resetjp_1070_;
}
else
{
lean_inc(v_snd_1069_);
lean_dec(v_b_1056_);
v___x_1071_ = lean_box(0);
v_isShared_1072_ = v_isSharedCheck_1087_;
goto v_resetjp_1070_;
}
v_resetjp_1070_:
{
lean_object* v___x_1073_; lean_object* v_a_1075_; lean_object* v_a_1082_; 
v___x_1073_ = lean_box(0);
v_a_1082_ = lean_array_uget_borrowed(v_as_1053_, v_i_1055_);
if (lean_obj_tag(v_a_1082_) == 0)
{
v_a_1075_ = v_snd_1069_;
goto v___jp_1074_;
}
else
{
lean_object* v_val_1083_; lean_object* v___x_1084_; lean_object* v___x_1085_; lean_object* v___x_1086_; 
v_val_1083_ = lean_ctor_get(v_a_1082_, 0);
v___x_1084_ = l_Lean_LocalDecl_userName(v_val_1083_);
v___x_1085_ = lean_box(0);
v___x_1086_ = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1___redArg(v_snd_1069_, v___x_1084_, v___x_1085_);
v_a_1075_ = v___x_1086_;
goto v___jp_1074_;
}
v___jp_1074_:
{
lean_object* v___x_1077_; 
if (v_isShared_1072_ == 0)
{
lean_ctor_set(v___x_1071_, 1, v_a_1075_);
lean_ctor_set(v___x_1071_, 0, v___x_1073_);
v___x_1077_ = v___x_1071_;
goto v_reusejp_1076_;
}
else
{
lean_object* v_reuseFailAlloc_1081_; 
v_reuseFailAlloc_1081_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1081_, 0, v___x_1073_);
lean_ctor_set(v_reuseFailAlloc_1081_, 1, v_a_1075_);
v___x_1077_ = v_reuseFailAlloc_1081_;
goto v_reusejp_1076_;
}
v_reusejp_1076_:
{
size_t v___x_1078_; size_t v___x_1079_; lean_object* v___x_1080_; 
v___x_1078_ = ((size_t)1ULL);
v___x_1079_ = lean_usize_add(v_i_1055_, v___x_1078_);
v___x_1080_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8_spec__10___redArg(v_as_1053_, v_sz_1054_, v___x_1079_, v___x_1077_);
return v___x_1080_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8___boxed(lean_object* v_as_1089_, lean_object* v_sz_1090_, lean_object* v_i_1091_, lean_object* v_b_1092_, lean_object* v___y_1093_, lean_object* v___y_1094_, lean_object* v___y_1095_, lean_object* v___y_1096_, lean_object* v___y_1097_, lean_object* v___y_1098_, lean_object* v___y_1099_, lean_object* v___y_1100_, lean_object* v___y_1101_, lean_object* v___y_1102_){
_start:
{
size_t v_sz_boxed_1103_; size_t v_i_boxed_1104_; lean_object* v_res_1105_; 
v_sz_boxed_1103_ = lean_unbox_usize(v_sz_1090_);
lean_dec(v_sz_1090_);
v_i_boxed_1104_ = lean_unbox_usize(v_i_1091_);
lean_dec(v_i_1091_);
v_res_1105_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8(v_as_1089_, v_sz_boxed_1103_, v_i_boxed_1104_, v_b_1092_, v___y_1093_, v___y_1094_, v___y_1095_, v___y_1096_, v___y_1097_, v___y_1098_, v___y_1099_, v___y_1100_, v___y_1101_);
lean_dec(v___y_1101_);
lean_dec_ref(v___y_1100_);
lean_dec(v___y_1099_);
lean_dec_ref(v___y_1098_);
lean_dec(v___y_1097_);
lean_dec_ref(v___y_1096_);
lean_dec(v___y_1095_);
lean_dec_ref(v___y_1094_);
lean_dec(v___y_1093_);
lean_dec_ref(v_as_1089_);
return v_res_1105_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3(lean_object* v_inh_1106_, lean_object* v_n_1107_, lean_object* v_b_1108_, lean_object* v___y_1109_, lean_object* v___y_1110_, lean_object* v___y_1111_, lean_object* v___y_1112_, lean_object* v___y_1113_, lean_object* v___y_1114_, lean_object* v___y_1115_, lean_object* v___y_1116_, lean_object* v___y_1117_){
_start:
{
if (lean_obj_tag(v_n_1107_) == 0)
{
lean_object* v_cs_1119_; lean_object* v___x_1121_; uint8_t v_isShared_1122_; uint8_t v_isSharedCheck_1153_; 
v_cs_1119_ = lean_ctor_get(v_n_1107_, 0);
v_isSharedCheck_1153_ = !lean_is_exclusive(v_n_1107_);
if (v_isSharedCheck_1153_ == 0)
{
v___x_1121_ = v_n_1107_;
v_isShared_1122_ = v_isSharedCheck_1153_;
goto v_resetjp_1120_;
}
else
{
lean_inc(v_cs_1119_);
lean_dec(v_n_1107_);
v___x_1121_ = lean_box(0);
v_isShared_1122_ = v_isSharedCheck_1153_;
goto v_resetjp_1120_;
}
v_resetjp_1120_:
{
lean_object* v___x_1123_; lean_object* v___x_1124_; size_t v_sz_1125_; size_t v___x_1126_; lean_object* v___x_1127_; 
v___x_1123_ = lean_box(0);
v___x_1124_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1124_, 0, v___x_1123_);
lean_ctor_set(v___x_1124_, 1, v_b_1108_);
v_sz_1125_ = lean_array_size(v_cs_1119_);
v___x_1126_ = ((size_t)0ULL);
v___x_1127_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__7(v_inh_1106_, v_cs_1119_, v_sz_1125_, v___x_1126_, v___x_1124_, v___y_1109_, v___y_1110_, v___y_1111_, v___y_1112_, v___y_1113_, v___y_1114_, v___y_1115_, v___y_1116_, v___y_1117_);
lean_dec_ref(v_cs_1119_);
if (lean_obj_tag(v___x_1127_) == 0)
{
lean_object* v_a_1128_; lean_object* v___x_1130_; uint8_t v_isShared_1131_; uint8_t v_isSharedCheck_1144_; 
v_a_1128_ = lean_ctor_get(v___x_1127_, 0);
v_isSharedCheck_1144_ = !lean_is_exclusive(v___x_1127_);
if (v_isSharedCheck_1144_ == 0)
{
v___x_1130_ = v___x_1127_;
v_isShared_1131_ = v_isSharedCheck_1144_;
goto v_resetjp_1129_;
}
else
{
lean_inc(v_a_1128_);
lean_dec(v___x_1127_);
v___x_1130_ = lean_box(0);
v_isShared_1131_ = v_isSharedCheck_1144_;
goto v_resetjp_1129_;
}
v_resetjp_1129_:
{
lean_object* v_fst_1132_; 
v_fst_1132_ = lean_ctor_get(v_a_1128_, 0);
if (lean_obj_tag(v_fst_1132_) == 0)
{
lean_object* v_snd_1133_; lean_object* v___x_1135_; 
v_snd_1133_ = lean_ctor_get(v_a_1128_, 1);
lean_inc(v_snd_1133_);
lean_dec(v_a_1128_);
if (v_isShared_1122_ == 0)
{
lean_ctor_set_tag(v___x_1121_, 1);
lean_ctor_set(v___x_1121_, 0, v_snd_1133_);
v___x_1135_ = v___x_1121_;
goto v_reusejp_1134_;
}
else
{
lean_object* v_reuseFailAlloc_1139_; 
v_reuseFailAlloc_1139_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1139_, 0, v_snd_1133_);
v___x_1135_ = v_reuseFailAlloc_1139_;
goto v_reusejp_1134_;
}
v_reusejp_1134_:
{
lean_object* v___x_1137_; 
if (v_isShared_1131_ == 0)
{
lean_ctor_set(v___x_1130_, 0, v___x_1135_);
v___x_1137_ = v___x_1130_;
goto v_reusejp_1136_;
}
else
{
lean_object* v_reuseFailAlloc_1138_; 
v_reuseFailAlloc_1138_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1138_, 0, v___x_1135_);
v___x_1137_ = v_reuseFailAlloc_1138_;
goto v_reusejp_1136_;
}
v_reusejp_1136_:
{
return v___x_1137_;
}
}
}
else
{
lean_object* v_val_1140_; lean_object* v___x_1142_; 
lean_inc_ref(v_fst_1132_);
lean_dec(v_a_1128_);
lean_del_object(v___x_1121_);
v_val_1140_ = lean_ctor_get(v_fst_1132_, 0);
lean_inc(v_val_1140_);
lean_dec_ref(v_fst_1132_);
if (v_isShared_1131_ == 0)
{
lean_ctor_set(v___x_1130_, 0, v_val_1140_);
v___x_1142_ = v___x_1130_;
goto v_reusejp_1141_;
}
else
{
lean_object* v_reuseFailAlloc_1143_; 
v_reuseFailAlloc_1143_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1143_, 0, v_val_1140_);
v___x_1142_ = v_reuseFailAlloc_1143_;
goto v_reusejp_1141_;
}
v_reusejp_1141_:
{
return v___x_1142_;
}
}
}
}
else
{
lean_object* v_a_1145_; lean_object* v___x_1147_; uint8_t v_isShared_1148_; uint8_t v_isSharedCheck_1152_; 
lean_del_object(v___x_1121_);
v_a_1145_ = lean_ctor_get(v___x_1127_, 0);
v_isSharedCheck_1152_ = !lean_is_exclusive(v___x_1127_);
if (v_isSharedCheck_1152_ == 0)
{
v___x_1147_ = v___x_1127_;
v_isShared_1148_ = v_isSharedCheck_1152_;
goto v_resetjp_1146_;
}
else
{
lean_inc(v_a_1145_);
lean_dec(v___x_1127_);
v___x_1147_ = lean_box(0);
v_isShared_1148_ = v_isSharedCheck_1152_;
goto v_resetjp_1146_;
}
v_resetjp_1146_:
{
lean_object* v___x_1150_; 
if (v_isShared_1148_ == 0)
{
v___x_1150_ = v___x_1147_;
goto v_reusejp_1149_;
}
else
{
lean_object* v_reuseFailAlloc_1151_; 
v_reuseFailAlloc_1151_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1151_, 0, v_a_1145_);
v___x_1150_ = v_reuseFailAlloc_1151_;
goto v_reusejp_1149_;
}
v_reusejp_1149_:
{
return v___x_1150_;
}
}
}
}
}
else
{
lean_object* v_vs_1154_; lean_object* v___x_1156_; uint8_t v_isShared_1157_; uint8_t v_isSharedCheck_1188_; 
v_vs_1154_ = lean_ctor_get(v_n_1107_, 0);
v_isSharedCheck_1188_ = !lean_is_exclusive(v_n_1107_);
if (v_isSharedCheck_1188_ == 0)
{
v___x_1156_ = v_n_1107_;
v_isShared_1157_ = v_isSharedCheck_1188_;
goto v_resetjp_1155_;
}
else
{
lean_inc(v_vs_1154_);
lean_dec(v_n_1107_);
v___x_1156_ = lean_box(0);
v_isShared_1157_ = v_isSharedCheck_1188_;
goto v_resetjp_1155_;
}
v_resetjp_1155_:
{
lean_object* v___x_1158_; lean_object* v___x_1159_; size_t v_sz_1160_; size_t v___x_1161_; lean_object* v___x_1162_; 
v___x_1158_ = lean_box(0);
v___x_1159_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1159_, 0, v___x_1158_);
lean_ctor_set(v___x_1159_, 1, v_b_1108_);
v_sz_1160_ = lean_array_size(v_vs_1154_);
v___x_1161_ = ((size_t)0ULL);
v___x_1162_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8(v_vs_1154_, v_sz_1160_, v___x_1161_, v___x_1159_, v___y_1109_, v___y_1110_, v___y_1111_, v___y_1112_, v___y_1113_, v___y_1114_, v___y_1115_, v___y_1116_, v___y_1117_);
lean_dec_ref(v_vs_1154_);
if (lean_obj_tag(v___x_1162_) == 0)
{
lean_object* v_a_1163_; lean_object* v___x_1165_; uint8_t v_isShared_1166_; uint8_t v_isSharedCheck_1179_; 
v_a_1163_ = lean_ctor_get(v___x_1162_, 0);
v_isSharedCheck_1179_ = !lean_is_exclusive(v___x_1162_);
if (v_isSharedCheck_1179_ == 0)
{
v___x_1165_ = v___x_1162_;
v_isShared_1166_ = v_isSharedCheck_1179_;
goto v_resetjp_1164_;
}
else
{
lean_inc(v_a_1163_);
lean_dec(v___x_1162_);
v___x_1165_ = lean_box(0);
v_isShared_1166_ = v_isSharedCheck_1179_;
goto v_resetjp_1164_;
}
v_resetjp_1164_:
{
lean_object* v_fst_1167_; 
v_fst_1167_ = lean_ctor_get(v_a_1163_, 0);
if (lean_obj_tag(v_fst_1167_) == 0)
{
lean_object* v_snd_1168_; lean_object* v___x_1170_; 
v_snd_1168_ = lean_ctor_get(v_a_1163_, 1);
lean_inc(v_snd_1168_);
lean_dec(v_a_1163_);
if (v_isShared_1157_ == 0)
{
lean_ctor_set(v___x_1156_, 0, v_snd_1168_);
v___x_1170_ = v___x_1156_;
goto v_reusejp_1169_;
}
else
{
lean_object* v_reuseFailAlloc_1174_; 
v_reuseFailAlloc_1174_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1174_, 0, v_snd_1168_);
v___x_1170_ = v_reuseFailAlloc_1174_;
goto v_reusejp_1169_;
}
v_reusejp_1169_:
{
lean_object* v___x_1172_; 
if (v_isShared_1166_ == 0)
{
lean_ctor_set(v___x_1165_, 0, v___x_1170_);
v___x_1172_ = v___x_1165_;
goto v_reusejp_1171_;
}
else
{
lean_object* v_reuseFailAlloc_1173_; 
v_reuseFailAlloc_1173_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1173_, 0, v___x_1170_);
v___x_1172_ = v_reuseFailAlloc_1173_;
goto v_reusejp_1171_;
}
v_reusejp_1171_:
{
return v___x_1172_;
}
}
}
else
{
lean_object* v_val_1175_; lean_object* v___x_1177_; 
lean_inc_ref(v_fst_1167_);
lean_dec(v_a_1163_);
lean_del_object(v___x_1156_);
v_val_1175_ = lean_ctor_get(v_fst_1167_, 0);
lean_inc(v_val_1175_);
lean_dec_ref(v_fst_1167_);
if (v_isShared_1166_ == 0)
{
lean_ctor_set(v___x_1165_, 0, v_val_1175_);
v___x_1177_ = v___x_1165_;
goto v_reusejp_1176_;
}
else
{
lean_object* v_reuseFailAlloc_1178_; 
v_reuseFailAlloc_1178_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1178_, 0, v_val_1175_);
v___x_1177_ = v_reuseFailAlloc_1178_;
goto v_reusejp_1176_;
}
v_reusejp_1176_:
{
return v___x_1177_;
}
}
}
}
else
{
lean_object* v_a_1180_; lean_object* v___x_1182_; uint8_t v_isShared_1183_; uint8_t v_isSharedCheck_1187_; 
lean_del_object(v___x_1156_);
v_a_1180_ = lean_ctor_get(v___x_1162_, 0);
v_isSharedCheck_1187_ = !lean_is_exclusive(v___x_1162_);
if (v_isSharedCheck_1187_ == 0)
{
v___x_1182_ = v___x_1162_;
v_isShared_1183_ = v_isSharedCheck_1187_;
goto v_resetjp_1181_;
}
else
{
lean_inc(v_a_1180_);
lean_dec(v___x_1162_);
v___x_1182_ = lean_box(0);
v_isShared_1183_ = v_isSharedCheck_1187_;
goto v_resetjp_1181_;
}
v_resetjp_1181_:
{
lean_object* v___x_1185_; 
if (v_isShared_1183_ == 0)
{
v___x_1185_ = v___x_1182_;
goto v_reusejp_1184_;
}
else
{
lean_object* v_reuseFailAlloc_1186_; 
v_reuseFailAlloc_1186_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1186_, 0, v_a_1180_);
v___x_1185_ = v_reuseFailAlloc_1186_;
goto v_reusejp_1184_;
}
v_reusejp_1184_:
{
return v___x_1185_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__7(lean_object* v_inh_1189_, lean_object* v_as_1190_, size_t v_sz_1191_, size_t v_i_1192_, lean_object* v_b_1193_, lean_object* v___y_1194_, lean_object* v___y_1195_, lean_object* v___y_1196_, lean_object* v___y_1197_, lean_object* v___y_1198_, lean_object* v___y_1199_, lean_object* v___y_1200_, lean_object* v___y_1201_, lean_object* v___y_1202_){
_start:
{
uint8_t v___x_1204_; 
v___x_1204_ = lean_usize_dec_lt(v_i_1192_, v_sz_1191_);
if (v___x_1204_ == 0)
{
lean_object* v___x_1205_; 
v___x_1205_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1205_, 0, v_b_1193_);
return v___x_1205_;
}
else
{
lean_object* v_snd_1206_; lean_object* v___x_1208_; uint8_t v_isShared_1209_; uint8_t v_isSharedCheck_1240_; 
v_snd_1206_ = lean_ctor_get(v_b_1193_, 1);
v_isSharedCheck_1240_ = !lean_is_exclusive(v_b_1193_);
if (v_isSharedCheck_1240_ == 0)
{
lean_object* v_unused_1241_; 
v_unused_1241_ = lean_ctor_get(v_b_1193_, 0);
lean_dec(v_unused_1241_);
v___x_1208_ = v_b_1193_;
v_isShared_1209_ = v_isSharedCheck_1240_;
goto v_resetjp_1207_;
}
else
{
lean_inc(v_snd_1206_);
lean_dec(v_b_1193_);
v___x_1208_ = lean_box(0);
v_isShared_1209_ = v_isSharedCheck_1240_;
goto v_resetjp_1207_;
}
v_resetjp_1207_:
{
lean_object* v_a_1210_; lean_object* v___x_1211_; 
v_a_1210_ = lean_array_uget_borrowed(v_as_1190_, v_i_1192_);
lean_inc(v_snd_1206_);
lean_inc(v_a_1210_);
v___x_1211_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3(v_inh_1189_, v_a_1210_, v_snd_1206_, v___y_1194_, v___y_1195_, v___y_1196_, v___y_1197_, v___y_1198_, v___y_1199_, v___y_1200_, v___y_1201_, v___y_1202_);
if (lean_obj_tag(v___x_1211_) == 0)
{
lean_object* v_a_1212_; lean_object* v___x_1214_; uint8_t v_isShared_1215_; uint8_t v_isSharedCheck_1231_; 
v_a_1212_ = lean_ctor_get(v___x_1211_, 0);
v_isSharedCheck_1231_ = !lean_is_exclusive(v___x_1211_);
if (v_isSharedCheck_1231_ == 0)
{
v___x_1214_ = v___x_1211_;
v_isShared_1215_ = v_isSharedCheck_1231_;
goto v_resetjp_1213_;
}
else
{
lean_inc(v_a_1212_);
lean_dec(v___x_1211_);
v___x_1214_ = lean_box(0);
v_isShared_1215_ = v_isSharedCheck_1231_;
goto v_resetjp_1213_;
}
v_resetjp_1213_:
{
if (lean_obj_tag(v_a_1212_) == 0)
{
lean_object* v___x_1216_; lean_object* v___x_1218_; 
v___x_1216_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1216_, 0, v_a_1212_);
if (v_isShared_1209_ == 0)
{
lean_ctor_set(v___x_1208_, 0, v___x_1216_);
v___x_1218_ = v___x_1208_;
goto v_reusejp_1217_;
}
else
{
lean_object* v_reuseFailAlloc_1222_; 
v_reuseFailAlloc_1222_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1222_, 0, v___x_1216_);
lean_ctor_set(v_reuseFailAlloc_1222_, 1, v_snd_1206_);
v___x_1218_ = v_reuseFailAlloc_1222_;
goto v_reusejp_1217_;
}
v_reusejp_1217_:
{
lean_object* v___x_1220_; 
if (v_isShared_1215_ == 0)
{
lean_ctor_set(v___x_1214_, 0, v___x_1218_);
v___x_1220_ = v___x_1214_;
goto v_reusejp_1219_;
}
else
{
lean_object* v_reuseFailAlloc_1221_; 
v_reuseFailAlloc_1221_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1221_, 0, v___x_1218_);
v___x_1220_ = v_reuseFailAlloc_1221_;
goto v_reusejp_1219_;
}
v_reusejp_1219_:
{
return v___x_1220_;
}
}
}
else
{
lean_object* v_a_1223_; lean_object* v___x_1224_; lean_object* v___x_1226_; 
lean_del_object(v___x_1214_);
lean_dec(v_snd_1206_);
v_a_1223_ = lean_ctor_get(v_a_1212_, 0);
lean_inc(v_a_1223_);
lean_dec_ref(v_a_1212_);
v___x_1224_ = lean_box(0);
if (v_isShared_1209_ == 0)
{
lean_ctor_set(v___x_1208_, 1, v_a_1223_);
lean_ctor_set(v___x_1208_, 0, v___x_1224_);
v___x_1226_ = v___x_1208_;
goto v_reusejp_1225_;
}
else
{
lean_object* v_reuseFailAlloc_1230_; 
v_reuseFailAlloc_1230_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1230_, 0, v___x_1224_);
lean_ctor_set(v_reuseFailAlloc_1230_, 1, v_a_1223_);
v___x_1226_ = v_reuseFailAlloc_1230_;
goto v_reusejp_1225_;
}
v_reusejp_1225_:
{
size_t v___x_1227_; size_t v___x_1228_; 
v___x_1227_ = ((size_t)1ULL);
v___x_1228_ = lean_usize_add(v_i_1192_, v___x_1227_);
v_i_1192_ = v___x_1228_;
v_b_1193_ = v___x_1226_;
goto _start;
}
}
}
}
else
{
lean_object* v_a_1232_; lean_object* v___x_1234_; uint8_t v_isShared_1235_; uint8_t v_isSharedCheck_1239_; 
lean_del_object(v___x_1208_);
lean_dec(v_snd_1206_);
v_a_1232_ = lean_ctor_get(v___x_1211_, 0);
v_isSharedCheck_1239_ = !lean_is_exclusive(v___x_1211_);
if (v_isSharedCheck_1239_ == 0)
{
v___x_1234_ = v___x_1211_;
v_isShared_1235_ = v_isSharedCheck_1239_;
goto v_resetjp_1233_;
}
else
{
lean_inc(v_a_1232_);
lean_dec(v___x_1211_);
v___x_1234_ = lean_box(0);
v_isShared_1235_ = v_isSharedCheck_1239_;
goto v_resetjp_1233_;
}
v_resetjp_1233_:
{
lean_object* v___x_1237_; 
if (v_isShared_1235_ == 0)
{
v___x_1237_ = v___x_1234_;
goto v_reusejp_1236_;
}
else
{
lean_object* v_reuseFailAlloc_1238_; 
v_reuseFailAlloc_1238_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1238_, 0, v_a_1232_);
v___x_1237_ = v_reuseFailAlloc_1238_;
goto v_reusejp_1236_;
}
v_reusejp_1236_:
{
return v___x_1237_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__7___boxed(lean_object* v_inh_1242_, lean_object* v_as_1243_, lean_object* v_sz_1244_, lean_object* v_i_1245_, lean_object* v_b_1246_, lean_object* v___y_1247_, lean_object* v___y_1248_, lean_object* v___y_1249_, lean_object* v___y_1250_, lean_object* v___y_1251_, lean_object* v___y_1252_, lean_object* v___y_1253_, lean_object* v___y_1254_, lean_object* v___y_1255_, lean_object* v___y_1256_){
_start:
{
size_t v_sz_boxed_1257_; size_t v_i_boxed_1258_; lean_object* v_res_1259_; 
v_sz_boxed_1257_ = lean_unbox_usize(v_sz_1244_);
lean_dec(v_sz_1244_);
v_i_boxed_1258_ = lean_unbox_usize(v_i_1245_);
lean_dec(v_i_1245_);
v_res_1259_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__7(v_inh_1242_, v_as_1243_, v_sz_boxed_1257_, v_i_boxed_1258_, v_b_1246_, v___y_1247_, v___y_1248_, v___y_1249_, v___y_1250_, v___y_1251_, v___y_1252_, v___y_1253_, v___y_1254_, v___y_1255_);
lean_dec(v___y_1255_);
lean_dec_ref(v___y_1254_);
lean_dec(v___y_1253_);
lean_dec_ref(v___y_1252_);
lean_dec(v___y_1251_);
lean_dec_ref(v___y_1250_);
lean_dec(v___y_1249_);
lean_dec_ref(v___y_1248_);
lean_dec(v___y_1247_);
lean_dec_ref(v_as_1243_);
lean_dec_ref(v_inh_1242_);
return v_res_1259_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3___boxed(lean_object* v_inh_1260_, lean_object* v_n_1261_, lean_object* v_b_1262_, lean_object* v___y_1263_, lean_object* v___y_1264_, lean_object* v___y_1265_, lean_object* v___y_1266_, lean_object* v___y_1267_, lean_object* v___y_1268_, lean_object* v___y_1269_, lean_object* v___y_1270_, lean_object* v___y_1271_, lean_object* v___y_1272_){
_start:
{
lean_object* v_res_1273_; 
v_res_1273_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3(v_inh_1260_, v_n_1261_, v_b_1262_, v___y_1263_, v___y_1264_, v___y_1265_, v___y_1266_, v___y_1267_, v___y_1268_, v___y_1269_, v___y_1270_, v___y_1271_);
lean_dec(v___y_1271_);
lean_dec_ref(v___y_1270_);
lean_dec(v___y_1269_);
lean_dec_ref(v___y_1268_);
lean_dec(v___y_1267_);
lean_dec_ref(v___y_1266_);
lean_dec(v___y_1265_);
lean_dec_ref(v___y_1264_);
lean_dec(v___y_1263_);
lean_dec_ref(v_inh_1260_);
return v_res_1273_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2(lean_object* v_t_1274_, lean_object* v_init_1275_, lean_object* v___y_1276_, lean_object* v___y_1277_, lean_object* v___y_1278_, lean_object* v___y_1279_, lean_object* v___y_1280_, lean_object* v___y_1281_, lean_object* v___y_1282_, lean_object* v___y_1283_, lean_object* v___y_1284_){
_start:
{
lean_object* v_root_1286_; lean_object* v_tail_1287_; lean_object* v___x_1288_; 
v_root_1286_ = lean_ctor_get(v_t_1274_, 0);
lean_inc_ref(v_root_1286_);
v_tail_1287_ = lean_ctor_get(v_t_1274_, 1);
lean_inc_ref(v_tail_1287_);
lean_dec_ref(v_t_1274_);
lean_inc_ref(v_init_1275_);
v___x_1288_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3(v_init_1275_, v_root_1286_, v_init_1275_, v___y_1276_, v___y_1277_, v___y_1278_, v___y_1279_, v___y_1280_, v___y_1281_, v___y_1282_, v___y_1283_, v___y_1284_);
lean_dec_ref(v_init_1275_);
if (lean_obj_tag(v___x_1288_) == 0)
{
lean_object* v_a_1289_; lean_object* v___x_1291_; uint8_t v_isShared_1292_; uint8_t v_isSharedCheck_1325_; 
v_a_1289_ = lean_ctor_get(v___x_1288_, 0);
v_isSharedCheck_1325_ = !lean_is_exclusive(v___x_1288_);
if (v_isSharedCheck_1325_ == 0)
{
v___x_1291_ = v___x_1288_;
v_isShared_1292_ = v_isSharedCheck_1325_;
goto v_resetjp_1290_;
}
else
{
lean_inc(v_a_1289_);
lean_dec(v___x_1288_);
v___x_1291_ = lean_box(0);
v_isShared_1292_ = v_isSharedCheck_1325_;
goto v_resetjp_1290_;
}
v_resetjp_1290_:
{
if (lean_obj_tag(v_a_1289_) == 0)
{
lean_object* v_a_1293_; lean_object* v___x_1295_; 
lean_dec_ref(v_tail_1287_);
v_a_1293_ = lean_ctor_get(v_a_1289_, 0);
lean_inc(v_a_1293_);
lean_dec_ref(v_a_1289_);
if (v_isShared_1292_ == 0)
{
lean_ctor_set(v___x_1291_, 0, v_a_1293_);
v___x_1295_ = v___x_1291_;
goto v_reusejp_1294_;
}
else
{
lean_object* v_reuseFailAlloc_1296_; 
v_reuseFailAlloc_1296_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1296_, 0, v_a_1293_);
v___x_1295_ = v_reuseFailAlloc_1296_;
goto v_reusejp_1294_;
}
v_reusejp_1294_:
{
return v___x_1295_;
}
}
else
{
lean_object* v_a_1297_; lean_object* v___x_1298_; lean_object* v___x_1299_; size_t v_sz_1300_; size_t v___x_1301_; lean_object* v___x_1302_; 
lean_del_object(v___x_1291_);
v_a_1297_ = lean_ctor_get(v_a_1289_, 0);
lean_inc(v_a_1297_);
lean_dec_ref(v_a_1289_);
v___x_1298_ = lean_box(0);
v___x_1299_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1299_, 0, v___x_1298_);
lean_ctor_set(v___x_1299_, 1, v_a_1297_);
v_sz_1300_ = lean_array_size(v_tail_1287_);
v___x_1301_ = ((size_t)0ULL);
v___x_1302_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4(v_tail_1287_, v_sz_1300_, v___x_1301_, v___x_1299_, v___y_1276_, v___y_1277_, v___y_1278_, v___y_1279_, v___y_1280_, v___y_1281_, v___y_1282_, v___y_1283_, v___y_1284_);
lean_dec_ref(v_tail_1287_);
if (lean_obj_tag(v___x_1302_) == 0)
{
lean_object* v_a_1303_; lean_object* v___x_1305_; uint8_t v_isShared_1306_; uint8_t v_isSharedCheck_1316_; 
v_a_1303_ = lean_ctor_get(v___x_1302_, 0);
v_isSharedCheck_1316_ = !lean_is_exclusive(v___x_1302_);
if (v_isSharedCheck_1316_ == 0)
{
v___x_1305_ = v___x_1302_;
v_isShared_1306_ = v_isSharedCheck_1316_;
goto v_resetjp_1304_;
}
else
{
lean_inc(v_a_1303_);
lean_dec(v___x_1302_);
v___x_1305_ = lean_box(0);
v_isShared_1306_ = v_isSharedCheck_1316_;
goto v_resetjp_1304_;
}
v_resetjp_1304_:
{
lean_object* v_fst_1307_; 
v_fst_1307_ = lean_ctor_get(v_a_1303_, 0);
if (lean_obj_tag(v_fst_1307_) == 0)
{
lean_object* v_snd_1308_; lean_object* v___x_1310_; 
v_snd_1308_ = lean_ctor_get(v_a_1303_, 1);
lean_inc(v_snd_1308_);
lean_dec(v_a_1303_);
if (v_isShared_1306_ == 0)
{
lean_ctor_set(v___x_1305_, 0, v_snd_1308_);
v___x_1310_ = v___x_1305_;
goto v_reusejp_1309_;
}
else
{
lean_object* v_reuseFailAlloc_1311_; 
v_reuseFailAlloc_1311_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1311_, 0, v_snd_1308_);
v___x_1310_ = v_reuseFailAlloc_1311_;
goto v_reusejp_1309_;
}
v_reusejp_1309_:
{
return v___x_1310_;
}
}
else
{
lean_object* v_val_1312_; lean_object* v___x_1314_; 
lean_inc_ref(v_fst_1307_);
lean_dec(v_a_1303_);
v_val_1312_ = lean_ctor_get(v_fst_1307_, 0);
lean_inc(v_val_1312_);
lean_dec_ref(v_fst_1307_);
if (v_isShared_1306_ == 0)
{
lean_ctor_set(v___x_1305_, 0, v_val_1312_);
v___x_1314_ = v___x_1305_;
goto v_reusejp_1313_;
}
else
{
lean_object* v_reuseFailAlloc_1315_; 
v_reuseFailAlloc_1315_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1315_, 0, v_val_1312_);
v___x_1314_ = v_reuseFailAlloc_1315_;
goto v_reusejp_1313_;
}
v_reusejp_1313_:
{
return v___x_1314_;
}
}
}
}
else
{
lean_object* v_a_1317_; lean_object* v___x_1319_; uint8_t v_isShared_1320_; uint8_t v_isSharedCheck_1324_; 
v_a_1317_ = lean_ctor_get(v___x_1302_, 0);
v_isSharedCheck_1324_ = !lean_is_exclusive(v___x_1302_);
if (v_isSharedCheck_1324_ == 0)
{
v___x_1319_ = v___x_1302_;
v_isShared_1320_ = v_isSharedCheck_1324_;
goto v_resetjp_1318_;
}
else
{
lean_inc(v_a_1317_);
lean_dec(v___x_1302_);
v___x_1319_ = lean_box(0);
v_isShared_1320_ = v_isSharedCheck_1324_;
goto v_resetjp_1318_;
}
v_resetjp_1318_:
{
lean_object* v___x_1322_; 
if (v_isShared_1320_ == 0)
{
v___x_1322_ = v___x_1319_;
goto v_reusejp_1321_;
}
else
{
lean_object* v_reuseFailAlloc_1323_; 
v_reuseFailAlloc_1323_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1323_, 0, v_a_1317_);
v___x_1322_ = v_reuseFailAlloc_1323_;
goto v_reusejp_1321_;
}
v_reusejp_1321_:
{
return v___x_1322_;
}
}
}
}
}
}
else
{
lean_object* v_a_1326_; lean_object* v___x_1328_; uint8_t v_isShared_1329_; uint8_t v_isSharedCheck_1333_; 
lean_dec_ref(v_tail_1287_);
v_a_1326_ = lean_ctor_get(v___x_1288_, 0);
v_isSharedCheck_1333_ = !lean_is_exclusive(v___x_1288_);
if (v_isSharedCheck_1333_ == 0)
{
v___x_1328_ = v___x_1288_;
v_isShared_1329_ = v_isSharedCheck_1333_;
goto v_resetjp_1327_;
}
else
{
lean_inc(v_a_1326_);
lean_dec(v___x_1288_);
v___x_1328_ = lean_box(0);
v_isShared_1329_ = v_isSharedCheck_1333_;
goto v_resetjp_1327_;
}
v_resetjp_1327_:
{
lean_object* v___x_1331_; 
if (v_isShared_1329_ == 0)
{
v___x_1331_ = v___x_1328_;
goto v_reusejp_1330_;
}
else
{
lean_object* v_reuseFailAlloc_1332_; 
v_reuseFailAlloc_1332_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1332_, 0, v_a_1326_);
v___x_1331_ = v_reuseFailAlloc_1332_;
goto v_reusejp_1330_;
}
v_reusejp_1330_:
{
return v___x_1331_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2___boxed(lean_object* v_t_1334_, lean_object* v_init_1335_, lean_object* v___y_1336_, lean_object* v___y_1337_, lean_object* v___y_1338_, lean_object* v___y_1339_, lean_object* v___y_1340_, lean_object* v___y_1341_, lean_object* v___y_1342_, lean_object* v___y_1343_, lean_object* v___y_1344_, lean_object* v___y_1345_){
_start:
{
lean_object* v_res_1346_; 
v_res_1346_ = l_Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2(v_t_1334_, v_init_1335_, v___y_1336_, v___y_1337_, v___y_1338_, v___y_1339_, v___y_1340_, v___y_1341_, v___y_1342_, v___y_1343_, v___y_1344_);
lean_dec(v___y_1344_);
lean_dec_ref(v___y_1343_);
lean_dec(v___y_1342_);
lean_dec_ref(v___y_1341_);
lean_dec(v___y_1340_);
lean_dec_ref(v___y_1339_);
lean_dec(v___y_1338_);
lean_dec_ref(v___y_1337_);
lean_dec(v___y_1336_);
return v_res_1346_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__0(void){
_start:
{
lean_object* v___x_1347_; 
v___x_1347_ = l_Lean_PersistentHashMap_empty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__0(lean_box(0));
return v___x_1347_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__1(void){
_start:
{
lean_object* v___x_1348_; 
v___x_1348_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_1348_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2(void){
_start:
{
lean_object* v___x_1349_; lean_object* v___x_1350_; 
v___x_1349_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__1, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__1_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__1);
v___x_1350_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1350_, 0, v___x_1349_);
return v___x_1350_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__3(void){
_start:
{
lean_object* v___x_1351_; lean_object* v___x_1352_; lean_object* v___x_1353_; 
v___x_1351_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2);
v___x_1352_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__0, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__0_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__0);
v___x_1353_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1353_, 0, v___x_1352_);
lean_ctor_set(v___x_1353_, 1, v___x_1351_);
return v___x_1353_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0(lean_object* v___y_1354_, lean_object* v___y_1355_, lean_object* v___y_1356_, lean_object* v___y_1357_, lean_object* v___y_1358_, lean_object* v___y_1359_, lean_object* v___y_1360_, lean_object* v___y_1361_, lean_object* v___y_1362_){
_start:
{
lean_object* v___x_1364_; 
v___x_1364_ = l_Lean_Meta_Grind_getConfig___redArg(v___y_1355_);
if (lean_obj_tag(v___x_1364_) == 0)
{
lean_object* v_a_1365_; lean_object* v___x_1367_; uint8_t v_isShared_1368_; uint8_t v_isSharedCheck_1396_; 
v_a_1365_ = lean_ctor_get(v___x_1364_, 0);
v_isSharedCheck_1396_ = !lean_is_exclusive(v___x_1364_);
if (v_isSharedCheck_1396_ == 0)
{
v___x_1367_ = v___x_1364_;
v_isShared_1368_ = v_isSharedCheck_1396_;
goto v_resetjp_1366_;
}
else
{
lean_inc(v_a_1365_);
lean_dec(v___x_1364_);
v___x_1367_ = lean_box(0);
v_isShared_1368_ = v_isSharedCheck_1396_;
goto v_resetjp_1366_;
}
v_resetjp_1366_:
{
uint8_t v_clean_1369_; 
v_clean_1369_ = lean_ctor_get_uint8(v_a_1365_, sizeof(void*)*11 + 16);
lean_dec(v_a_1365_);
if (v_clean_1369_ == 0)
{
lean_object* v___x_1370_; lean_object* v___x_1372_; 
lean_dec_ref(v___y_1359_);
v___x_1370_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__3, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__3);
if (v_isShared_1368_ == 0)
{
lean_ctor_set(v___x_1367_, 0, v___x_1370_);
v___x_1372_ = v___x_1367_;
goto v_reusejp_1371_;
}
else
{
lean_object* v_reuseFailAlloc_1373_; 
v_reuseFailAlloc_1373_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1373_, 0, v___x_1370_);
v___x_1372_ = v_reuseFailAlloc_1373_;
goto v_reusejp_1371_;
}
v_reusejp_1371_:
{
return v___x_1372_;
}
}
else
{
lean_object* v_lctx_1374_; lean_object* v_decls_1375_; lean_object* v_used_1376_; lean_object* v___x_1377_; 
lean_del_object(v___x_1367_);
v_lctx_1374_ = lean_ctor_get(v___y_1359_, 2);
v_decls_1375_ = lean_ctor_get(v_lctx_1374_, 1);
lean_inc_ref(v_decls_1375_);
v_used_1376_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__0, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__0_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__0);
v___x_1377_ = l_Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2(v_decls_1375_, v_used_1376_, v___y_1354_, v___y_1355_, v___y_1356_, v___y_1357_, v___y_1358_, v___y_1359_, v___y_1360_, v___y_1361_, v___y_1362_);
lean_dec_ref(v___y_1359_);
if (lean_obj_tag(v___x_1377_) == 0)
{
lean_object* v_a_1378_; lean_object* v___x_1380_; uint8_t v_isShared_1381_; uint8_t v_isSharedCheck_1387_; 
v_a_1378_ = lean_ctor_get(v___x_1377_, 0);
v_isSharedCheck_1387_ = !lean_is_exclusive(v___x_1377_);
if (v_isSharedCheck_1387_ == 0)
{
v___x_1380_ = v___x_1377_;
v_isShared_1381_ = v_isSharedCheck_1387_;
goto v_resetjp_1379_;
}
else
{
lean_inc(v_a_1378_);
lean_dec(v___x_1377_);
v___x_1380_ = lean_box(0);
v_isShared_1381_ = v_isSharedCheck_1387_;
goto v_resetjp_1379_;
}
v_resetjp_1379_:
{
lean_object* v___x_1382_; lean_object* v___x_1383_; lean_object* v___x_1385_; 
v___x_1382_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2);
v___x_1383_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1383_, 0, v_a_1378_);
lean_ctor_set(v___x_1383_, 1, v___x_1382_);
if (v_isShared_1381_ == 0)
{
lean_ctor_set(v___x_1380_, 0, v___x_1383_);
v___x_1385_ = v___x_1380_;
goto v_reusejp_1384_;
}
else
{
lean_object* v_reuseFailAlloc_1386_; 
v_reuseFailAlloc_1386_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1386_, 0, v___x_1383_);
v___x_1385_ = v_reuseFailAlloc_1386_;
goto v_reusejp_1384_;
}
v_reusejp_1384_:
{
return v___x_1385_;
}
}
}
else
{
lean_object* v_a_1388_; lean_object* v___x_1390_; uint8_t v_isShared_1391_; uint8_t v_isSharedCheck_1395_; 
v_a_1388_ = lean_ctor_get(v___x_1377_, 0);
v_isSharedCheck_1395_ = !lean_is_exclusive(v___x_1377_);
if (v_isSharedCheck_1395_ == 0)
{
v___x_1390_ = v___x_1377_;
v_isShared_1391_ = v_isSharedCheck_1395_;
goto v_resetjp_1389_;
}
else
{
lean_inc(v_a_1388_);
lean_dec(v___x_1377_);
v___x_1390_ = lean_box(0);
v_isShared_1391_ = v_isSharedCheck_1395_;
goto v_resetjp_1389_;
}
v_resetjp_1389_:
{
lean_object* v___x_1393_; 
if (v_isShared_1391_ == 0)
{
v___x_1393_ = v___x_1390_;
goto v_reusejp_1392_;
}
else
{
lean_object* v_reuseFailAlloc_1394_; 
v_reuseFailAlloc_1394_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1394_, 0, v_a_1388_);
v___x_1393_ = v_reuseFailAlloc_1394_;
goto v_reusejp_1392_;
}
v_reusejp_1392_:
{
return v___x_1393_;
}
}
}
}
}
}
else
{
lean_object* v_a_1397_; lean_object* v___x_1399_; uint8_t v_isShared_1400_; uint8_t v_isSharedCheck_1404_; 
lean_dec_ref(v___y_1359_);
v_a_1397_ = lean_ctor_get(v___x_1364_, 0);
v_isSharedCheck_1404_ = !lean_is_exclusive(v___x_1364_);
if (v_isSharedCheck_1404_ == 0)
{
v___x_1399_ = v___x_1364_;
v_isShared_1400_ = v_isSharedCheck_1404_;
goto v_resetjp_1398_;
}
else
{
lean_inc(v_a_1397_);
lean_dec(v___x_1364_);
v___x_1399_ = lean_box(0);
v_isShared_1400_ = v_isSharedCheck_1404_;
goto v_resetjp_1398_;
}
v_resetjp_1398_:
{
lean_object* v___x_1402_; 
if (v_isShared_1400_ == 0)
{
v___x_1402_ = v___x_1399_;
goto v_reusejp_1401_;
}
else
{
lean_object* v_reuseFailAlloc_1403_; 
v_reuseFailAlloc_1403_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1403_, 0, v_a_1397_);
v___x_1402_ = v_reuseFailAlloc_1403_;
goto v_reusejp_1401_;
}
v_reusejp_1401_:
{
return v___x_1402_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___boxed(lean_object* v___y_1405_, lean_object* v___y_1406_, lean_object* v___y_1407_, lean_object* v___y_1408_, lean_object* v___y_1409_, lean_object* v___y_1410_, lean_object* v___y_1411_, lean_object* v___y_1412_, lean_object* v___y_1413_, lean_object* v___y_1414_){
_start:
{
lean_object* v_res_1415_; 
v_res_1415_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0(v___y_1405_, v___y_1406_, v___y_1407_, v___y_1408_, v___y_1409_, v___y_1410_, v___y_1411_, v___y_1412_, v___y_1413_);
lean_dec(v___y_1413_);
lean_dec_ref(v___y_1412_);
lean_dec(v___y_1411_);
lean_dec(v___y_1409_);
lean_dec_ref(v___y_1408_);
lean_dec(v___y_1407_);
lean_dec_ref(v___y_1406_);
lean_dec(v___y_1405_);
return v_res_1415_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState(lean_object* v_mvarId_1417_, lean_object* v_a_1418_, lean_object* v_a_1419_, lean_object* v_a_1420_, lean_object* v_a_1421_, lean_object* v_a_1422_, lean_object* v_a_1423_, lean_object* v_a_1424_, lean_object* v_a_1425_, lean_object* v_a_1426_){
_start:
{
lean_object* v___f_1428_; lean_object* v___x_1429_; 
v___f_1428_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___closed__0));
v___x_1429_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg(v_mvarId_1417_, v___f_1428_, v_a_1418_, v_a_1419_, v_a_1420_, v_a_1421_, v_a_1422_, v_a_1423_, v_a_1424_, v_a_1425_, v_a_1426_);
return v___x_1429_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___boxed(lean_object* v_mvarId_1430_, lean_object* v_a_1431_, lean_object* v_a_1432_, lean_object* v_a_1433_, lean_object* v_a_1434_, lean_object* v_a_1435_, lean_object* v_a_1436_, lean_object* v_a_1437_, lean_object* v_a_1438_, lean_object* v_a_1439_, lean_object* v_a_1440_){
_start:
{
lean_object* v_res_1441_; 
v_res_1441_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState(v_mvarId_1430_, v_a_1431_, v_a_1432_, v_a_1433_, v_a_1434_, v_a_1435_, v_a_1436_, v_a_1437_, v_a_1438_, v_a_1439_);
return v_res_1441_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1(lean_object* v_00_u03b2_1442_, lean_object* v_x_1443_, lean_object* v_x_1444_, lean_object* v_x_1445_){
_start:
{
lean_object* v___x_1446_; 
v___x_1446_ = l_Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1___redArg(v_x_1443_, v_x_1444_, v_x_1445_);
return v___x_1446_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1(lean_object* v_00_u03b2_1447_, lean_object* v_x_1448_, size_t v_x_1449_, size_t v_x_1450_, lean_object* v_x_1451_, lean_object* v_x_1452_){
_start:
{
lean_object* v___x_1453_; 
v___x_1453_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg(v_x_1448_, v_x_1449_, v_x_1450_, v_x_1451_, v_x_1452_);
return v___x_1453_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___boxed(lean_object* v_00_u03b2_1454_, lean_object* v_x_1455_, lean_object* v_x_1456_, lean_object* v_x_1457_, lean_object* v_x_1458_, lean_object* v_x_1459_){
_start:
{
size_t v_x_19878__boxed_1460_; size_t v_x_19879__boxed_1461_; lean_object* v_res_1462_; 
v_x_19878__boxed_1460_ = lean_unbox_usize(v_x_1456_);
lean_dec(v_x_1456_);
v_x_19879__boxed_1461_ = lean_unbox_usize(v_x_1457_);
lean_dec(v_x_1457_);
v_res_1462_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1(v_00_u03b2_1454_, v_x_1455_, v_x_19878__boxed_1460_, v_x_19879__boxed_1461_, v_x_1458_, v_x_1459_);
return v_res_1462_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__3(lean_object* v_00_u03b2_1463_, lean_object* v_n_1464_, lean_object* v_k_1465_, lean_object* v_v_1466_){
_start:
{
lean_object* v___x_1467_; 
v___x_1467_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__3___redArg(v_n_1464_, v_k_1465_, v_v_1466_);
return v___x_1467_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__4(lean_object* v_00_u03b2_1468_, size_t v_depth_1469_, lean_object* v_keys_1470_, lean_object* v_vals_1471_, lean_object* v_heq_1472_, lean_object* v_i_1473_, lean_object* v_entries_1474_){
_start:
{
lean_object* v___x_1475_; 
v___x_1475_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__4___redArg(v_depth_1469_, v_keys_1470_, v_vals_1471_, v_i_1473_, v_entries_1474_);
return v___x_1475_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__4___boxed(lean_object* v_00_u03b2_1476_, lean_object* v_depth_1477_, lean_object* v_keys_1478_, lean_object* v_vals_1479_, lean_object* v_heq_1480_, lean_object* v_i_1481_, lean_object* v_entries_1482_){
_start:
{
size_t v_depth_boxed_1483_; lean_object* v_res_1484_; 
v_depth_boxed_1483_ = lean_unbox_usize(v_depth_1477_);
lean_dec(v_depth_1477_);
v_res_1484_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__4(v_00_u03b2_1476_, v_depth_boxed_1483_, v_keys_1478_, v_vals_1479_, v_heq_1480_, v_i_1481_, v_entries_1482_);
lean_dec_ref(v_vals_1479_);
lean_dec_ref(v_keys_1478_);
return v_res_1484_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4_spec__10(lean_object* v_as_1485_, size_t v_sz_1486_, size_t v_i_1487_, lean_object* v_b_1488_, lean_object* v___y_1489_, lean_object* v___y_1490_, lean_object* v___y_1491_, lean_object* v___y_1492_, lean_object* v___y_1493_, lean_object* v___y_1494_, lean_object* v___y_1495_, lean_object* v___y_1496_, lean_object* v___y_1497_){
_start:
{
lean_object* v___x_1499_; 
v___x_1499_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4_spec__10___redArg(v_as_1485_, v_sz_1486_, v_i_1487_, v_b_1488_);
return v___x_1499_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4_spec__10___boxed(lean_object* v_as_1500_, lean_object* v_sz_1501_, lean_object* v_i_1502_, lean_object* v_b_1503_, lean_object* v___y_1504_, lean_object* v___y_1505_, lean_object* v___y_1506_, lean_object* v___y_1507_, lean_object* v___y_1508_, lean_object* v___y_1509_, lean_object* v___y_1510_, lean_object* v___y_1511_, lean_object* v___y_1512_, lean_object* v___y_1513_){
_start:
{
size_t v_sz_boxed_1514_; size_t v_i_boxed_1515_; lean_object* v_res_1516_; 
v_sz_boxed_1514_ = lean_unbox_usize(v_sz_1501_);
lean_dec(v_sz_1501_);
v_i_boxed_1515_ = lean_unbox_usize(v_i_1502_);
lean_dec(v_i_1502_);
v_res_1516_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__4_spec__10(v_as_1500_, v_sz_boxed_1514_, v_i_boxed_1515_, v_b_1503_, v___y_1504_, v___y_1505_, v___y_1506_, v___y_1507_, v___y_1508_, v___y_1509_, v___y_1510_, v___y_1511_, v___y_1512_);
lean_dec(v___y_1512_);
lean_dec_ref(v___y_1511_);
lean_dec(v___y_1510_);
lean_dec_ref(v___y_1509_);
lean_dec(v___y_1508_);
lean_dec_ref(v___y_1507_);
lean_dec(v___y_1506_);
lean_dec_ref(v___y_1505_);
lean_dec(v___y_1504_);
lean_dec_ref(v_as_1500_);
return v_res_1516_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__3_spec__5(lean_object* v_00_u03b2_1517_, lean_object* v_x_1518_, lean_object* v_x_1519_, lean_object* v_x_1520_, lean_object* v_x_1521_){
_start:
{
lean_object* v___x_1522_; 
v___x_1522_ = l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___00Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1_spec__3_spec__5___redArg(v_x_1518_, v_x_1519_, v_x_1520_, v_x_1521_);
return v___x_1522_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8_spec__10(lean_object* v_as_1523_, size_t v_sz_1524_, size_t v_i_1525_, lean_object* v_b_1526_, lean_object* v___y_1527_, lean_object* v___y_1528_, lean_object* v___y_1529_, lean_object* v___y_1530_, lean_object* v___y_1531_, lean_object* v___y_1532_, lean_object* v___y_1533_, lean_object* v___y_1534_, lean_object* v___y_1535_){
_start:
{
lean_object* v___x_1537_; 
v___x_1537_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8_spec__10___redArg(v_as_1523_, v_sz_1524_, v_i_1525_, v_b_1526_);
return v___x_1537_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8_spec__10___boxed(lean_object* v_as_1538_, lean_object* v_sz_1539_, lean_object* v_i_1540_, lean_object* v_b_1541_, lean_object* v___y_1542_, lean_object* v___y_1543_, lean_object* v___y_1544_, lean_object* v___y_1545_, lean_object* v___y_1546_, lean_object* v___y_1547_, lean_object* v___y_1548_, lean_object* v___y_1549_, lean_object* v___y_1550_, lean_object* v___y_1551_){
_start:
{
size_t v_sz_boxed_1552_; size_t v_i_boxed_1553_; lean_object* v_res_1554_; 
v_sz_boxed_1552_ = lean_unbox_usize(v_sz_1539_);
lean_dec(v_sz_1539_);
v_i_boxed_1553_ = lean_unbox_usize(v_i_1540_);
lean_dec(v_i_1540_);
v_res_1554_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__2_spec__3_spec__8_spec__10(v_as_1538_, v_sz_boxed_1552_, v_i_boxed_1553_, v_b_1541_, v___y_1542_, v___y_1543_, v___y_1544_, v___y_1545_, v___y_1546_, v___y_1547_, v___y_1548_, v___y_1549_, v___y_1550_);
lean_dec(v___y_1550_);
lean_dec_ref(v___y_1549_);
lean_dec(v___y_1548_);
lean_dec_ref(v___y_1547_);
lean_dec(v___y_1546_);
lean_dec_ref(v___y_1545_);
lean_dec(v___y_1544_);
lean_dec_ref(v___y_1543_);
lean_dec(v___y_1542_);
lean_dec_ref(v_as_1538_);
return v_res_1554_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16(lean_object* v_as_1558_, size_t v_sz_1559_, size_t v_i_1560_, lean_object* v_b_1561_, lean_object* v___y_1562_, lean_object* v___y_1563_, lean_object* v___y_1564_, lean_object* v___y_1565_, lean_object* v___y_1566_, lean_object* v___y_1567_, lean_object* v___y_1568_, lean_object* v___y_1569_, lean_object* v___y_1570_, lean_object* v___y_1571_){
_start:
{
uint8_t v___x_1573_; 
v___x_1573_ = lean_usize_dec_lt(v_i_1560_, v_sz_1559_);
if (v___x_1573_ == 0)
{
lean_object* v___x_1574_; 
lean_dec(v___y_1571_);
lean_dec_ref(v___y_1570_);
lean_dec(v___y_1569_);
lean_dec_ref(v___y_1568_);
lean_dec(v___y_1567_);
lean_dec_ref(v___y_1566_);
lean_dec(v___y_1565_);
lean_dec_ref(v___y_1564_);
lean_dec(v___y_1563_);
lean_dec(v___y_1562_);
v___x_1574_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1574_, 0, v_b_1561_);
return v___x_1574_;
}
else
{
lean_object* v_a_1575_; lean_object* v___x_1576_; lean_object* v___x_1577_; 
lean_dec_ref(v_b_1561_);
v_a_1575_ = lean_array_uget_borrowed(v_as_1558_, v_i_1560_);
v___x_1576_ = lean_unsigned_to_nat(0u);
lean_inc(v___y_1571_);
lean_inc_ref(v___y_1570_);
lean_inc(v___y_1569_);
lean_inc_ref(v___y_1568_);
lean_inc(v___y_1567_);
lean_inc_ref(v___y_1566_);
lean_inc(v___y_1565_);
lean_inc_ref(v___y_1564_);
lean_inc(v___y_1563_);
lean_inc(v___y_1562_);
lean_inc(v_a_1575_);
v___x_1577_ = l_Lean_Meta_Grind_activateInjectiveTheorem(v_a_1575_, v___x_1576_, v___y_1562_, v___y_1563_, v___y_1564_, v___y_1565_, v___y_1566_, v___y_1567_, v___y_1568_, v___y_1569_, v___y_1570_, v___y_1571_);
if (lean_obj_tag(v___x_1577_) == 0)
{
lean_object* v___x_1578_; size_t v___x_1579_; size_t v___x_1580_; 
lean_dec_ref(v___x_1577_);
v___x_1578_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16___closed__0));
v___x_1579_ = ((size_t)1ULL);
v___x_1580_ = lean_usize_add(v_i_1560_, v___x_1579_);
v_i_1560_ = v___x_1580_;
v_b_1561_ = v___x_1578_;
goto _start;
}
else
{
lean_object* v_a_1582_; lean_object* v___x_1584_; uint8_t v_isShared_1585_; uint8_t v_isSharedCheck_1589_; 
lean_dec(v___y_1571_);
lean_dec_ref(v___y_1570_);
lean_dec(v___y_1569_);
lean_dec_ref(v___y_1568_);
lean_dec(v___y_1567_);
lean_dec_ref(v___y_1566_);
lean_dec(v___y_1565_);
lean_dec_ref(v___y_1564_);
lean_dec(v___y_1563_);
lean_dec(v___y_1562_);
v_a_1582_ = lean_ctor_get(v___x_1577_, 0);
v_isSharedCheck_1589_ = !lean_is_exclusive(v___x_1577_);
if (v_isSharedCheck_1589_ == 0)
{
v___x_1584_ = v___x_1577_;
v_isShared_1585_ = v_isSharedCheck_1589_;
goto v_resetjp_1583_;
}
else
{
lean_inc(v_a_1582_);
lean_dec(v___x_1577_);
v___x_1584_ = lean_box(0);
v_isShared_1585_ = v_isSharedCheck_1589_;
goto v_resetjp_1583_;
}
v_resetjp_1583_:
{
lean_object* v___x_1587_; 
if (v_isShared_1585_ == 0)
{
v___x_1587_ = v___x_1584_;
goto v_reusejp_1586_;
}
else
{
lean_object* v_reuseFailAlloc_1588_; 
v_reuseFailAlloc_1588_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1588_, 0, v_a_1582_);
v___x_1587_ = v_reuseFailAlloc_1588_;
goto v_reusejp_1586_;
}
v_reusejp_1586_:
{
return v___x_1587_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16___boxed(lean_object* v_as_1590_, lean_object* v_sz_1591_, lean_object* v_i_1592_, lean_object* v_b_1593_, lean_object* v___y_1594_, lean_object* v___y_1595_, lean_object* v___y_1596_, lean_object* v___y_1597_, lean_object* v___y_1598_, lean_object* v___y_1599_, lean_object* v___y_1600_, lean_object* v___y_1601_, lean_object* v___y_1602_, lean_object* v___y_1603_, lean_object* v___y_1604_){
_start:
{
size_t v_sz_boxed_1605_; size_t v_i_boxed_1606_; lean_object* v_res_1607_; 
v_sz_boxed_1605_ = lean_unbox_usize(v_sz_1591_);
lean_dec(v_sz_1591_);
v_i_boxed_1606_ = lean_unbox_usize(v_i_1592_);
lean_dec(v_i_1592_);
v_res_1607_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16(v_as_1590_, v_sz_boxed_1605_, v_i_boxed_1606_, v_b_1593_, v___y_1594_, v___y_1595_, v___y_1596_, v___y_1597_, v___y_1598_, v___y_1599_, v___y_1600_, v___y_1601_, v___y_1602_, v___y_1603_);
lean_dec_ref(v_as_1590_);
return v_res_1607_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7(lean_object* v_as_1608_, size_t v_sz_1609_, size_t v_i_1610_, lean_object* v_b_1611_, lean_object* v___y_1612_, lean_object* v___y_1613_, lean_object* v___y_1614_, lean_object* v___y_1615_, lean_object* v___y_1616_, lean_object* v___y_1617_, lean_object* v___y_1618_, lean_object* v___y_1619_, lean_object* v___y_1620_, lean_object* v___y_1621_){
_start:
{
uint8_t v___x_1623_; 
v___x_1623_ = lean_usize_dec_lt(v_i_1610_, v_sz_1609_);
if (v___x_1623_ == 0)
{
lean_object* v___x_1624_; 
lean_dec(v___y_1621_);
lean_dec_ref(v___y_1620_);
lean_dec(v___y_1619_);
lean_dec_ref(v___y_1618_);
lean_dec(v___y_1617_);
lean_dec_ref(v___y_1616_);
lean_dec(v___y_1615_);
lean_dec_ref(v___y_1614_);
lean_dec(v___y_1613_);
lean_dec(v___y_1612_);
v___x_1624_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1624_, 0, v_b_1611_);
return v___x_1624_;
}
else
{
lean_object* v_a_1625_; lean_object* v___x_1626_; lean_object* v___x_1627_; 
lean_dec_ref(v_b_1611_);
v_a_1625_ = lean_array_uget_borrowed(v_as_1608_, v_i_1610_);
v___x_1626_ = lean_unsigned_to_nat(0u);
lean_inc(v___y_1621_);
lean_inc_ref(v___y_1620_);
lean_inc(v___y_1619_);
lean_inc_ref(v___y_1618_);
lean_inc(v___y_1617_);
lean_inc_ref(v___y_1616_);
lean_inc(v___y_1615_);
lean_inc_ref(v___y_1614_);
lean_inc(v___y_1613_);
lean_inc(v___y_1612_);
lean_inc(v_a_1625_);
v___x_1627_ = l_Lean_Meta_Grind_activateInjectiveTheorem(v_a_1625_, v___x_1626_, v___y_1612_, v___y_1613_, v___y_1614_, v___y_1615_, v___y_1616_, v___y_1617_, v___y_1618_, v___y_1619_, v___y_1620_, v___y_1621_);
if (lean_obj_tag(v___x_1627_) == 0)
{
lean_object* v___x_1628_; size_t v___x_1629_; size_t v___x_1630_; lean_object* v___x_1631_; 
lean_dec_ref(v___x_1627_);
v___x_1628_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16___closed__0));
v___x_1629_ = ((size_t)1ULL);
v___x_1630_ = lean_usize_add(v_i_1610_, v___x_1629_);
v___x_1631_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16(v_as_1608_, v_sz_1609_, v___x_1630_, v___x_1628_, v___y_1612_, v___y_1613_, v___y_1614_, v___y_1615_, v___y_1616_, v___y_1617_, v___y_1618_, v___y_1619_, v___y_1620_, v___y_1621_);
return v___x_1631_;
}
else
{
lean_object* v_a_1632_; lean_object* v___x_1634_; uint8_t v_isShared_1635_; uint8_t v_isSharedCheck_1639_; 
lean_dec(v___y_1621_);
lean_dec_ref(v___y_1620_);
lean_dec(v___y_1619_);
lean_dec_ref(v___y_1618_);
lean_dec(v___y_1617_);
lean_dec_ref(v___y_1616_);
lean_dec(v___y_1615_);
lean_dec_ref(v___y_1614_);
lean_dec(v___y_1613_);
lean_dec(v___y_1612_);
v_a_1632_ = lean_ctor_get(v___x_1627_, 0);
v_isSharedCheck_1639_ = !lean_is_exclusive(v___x_1627_);
if (v_isSharedCheck_1639_ == 0)
{
v___x_1634_ = v___x_1627_;
v_isShared_1635_ = v_isSharedCheck_1639_;
goto v_resetjp_1633_;
}
else
{
lean_inc(v_a_1632_);
lean_dec(v___x_1627_);
v___x_1634_ = lean_box(0);
v_isShared_1635_ = v_isSharedCheck_1639_;
goto v_resetjp_1633_;
}
v_resetjp_1633_:
{
lean_object* v___x_1637_; 
if (v_isShared_1635_ == 0)
{
v___x_1637_ = v___x_1634_;
goto v_reusejp_1636_;
}
else
{
lean_object* v_reuseFailAlloc_1638_; 
v_reuseFailAlloc_1638_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1638_, 0, v_a_1632_);
v___x_1637_ = v_reuseFailAlloc_1638_;
goto v_reusejp_1636_;
}
v_reusejp_1636_:
{
return v___x_1637_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7___boxed(lean_object* v_as_1640_, lean_object* v_sz_1641_, lean_object* v_i_1642_, lean_object* v_b_1643_, lean_object* v___y_1644_, lean_object* v___y_1645_, lean_object* v___y_1646_, lean_object* v___y_1647_, lean_object* v___y_1648_, lean_object* v___y_1649_, lean_object* v___y_1650_, lean_object* v___y_1651_, lean_object* v___y_1652_, lean_object* v___y_1653_, lean_object* v___y_1654_){
_start:
{
size_t v_sz_boxed_1655_; size_t v_i_boxed_1656_; lean_object* v_res_1657_; 
v_sz_boxed_1655_ = lean_unbox_usize(v_sz_1641_);
lean_dec(v_sz_1641_);
v_i_boxed_1656_ = lean_unbox_usize(v_i_1642_);
lean_dec(v_i_1642_);
v_res_1657_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7(v_as_1640_, v_sz_boxed_1655_, v_i_boxed_1656_, v_b_1643_, v___y_1644_, v___y_1645_, v___y_1646_, v___y_1647_, v___y_1648_, v___y_1649_, v___y_1650_, v___y_1651_, v___y_1652_, v___y_1653_);
lean_dec_ref(v_as_1640_);
return v_res_1657_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17(lean_object* v_as_1661_, size_t v_sz_1662_, size_t v_i_1663_, lean_object* v_b_1664_, lean_object* v___y_1665_, lean_object* v___y_1666_, lean_object* v___y_1667_, lean_object* v___y_1668_, lean_object* v___y_1669_, lean_object* v___y_1670_, lean_object* v___y_1671_, lean_object* v___y_1672_, lean_object* v___y_1673_, lean_object* v___y_1674_){
_start:
{
uint8_t v___x_1676_; 
v___x_1676_ = lean_usize_dec_lt(v_i_1663_, v_sz_1662_);
if (v___x_1676_ == 0)
{
lean_object* v___x_1677_; 
lean_dec(v___y_1674_);
lean_dec_ref(v___y_1673_);
lean_dec(v___y_1672_);
lean_dec_ref(v___y_1671_);
lean_dec(v___y_1670_);
lean_dec_ref(v___y_1669_);
lean_dec(v___y_1668_);
lean_dec_ref(v___y_1667_);
lean_dec(v___y_1666_);
lean_dec(v___y_1665_);
v___x_1677_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1677_, 0, v_b_1664_);
return v___x_1677_;
}
else
{
lean_object* v_a_1678_; lean_object* v___x_1679_; lean_object* v___x_1680_; 
lean_dec_ref(v_b_1664_);
v_a_1678_ = lean_array_uget_borrowed(v_as_1661_, v_i_1663_);
v___x_1679_ = lean_unsigned_to_nat(0u);
lean_inc(v___y_1674_);
lean_inc_ref(v___y_1673_);
lean_inc(v___y_1672_);
lean_inc_ref(v___y_1671_);
lean_inc(v___y_1670_);
lean_inc_ref(v___y_1669_);
lean_inc(v___y_1668_);
lean_inc_ref(v___y_1667_);
lean_inc(v___y_1666_);
lean_inc(v___y_1665_);
lean_inc(v_a_1678_);
v___x_1680_ = l_Lean_Meta_Grind_activateInjectiveTheorem(v_a_1678_, v___x_1679_, v___y_1665_, v___y_1666_, v___y_1667_, v___y_1668_, v___y_1669_, v___y_1670_, v___y_1671_, v___y_1672_, v___y_1673_, v___y_1674_);
if (lean_obj_tag(v___x_1680_) == 0)
{
lean_object* v___x_1681_; size_t v___x_1682_; size_t v___x_1683_; 
lean_dec_ref(v___x_1680_);
v___x_1681_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17___closed__0));
v___x_1682_ = ((size_t)1ULL);
v___x_1683_ = lean_usize_add(v_i_1663_, v___x_1682_);
v_i_1663_ = v___x_1683_;
v_b_1664_ = v___x_1681_;
goto _start;
}
else
{
lean_object* v_a_1685_; lean_object* v___x_1687_; uint8_t v_isShared_1688_; uint8_t v_isSharedCheck_1692_; 
lean_dec(v___y_1674_);
lean_dec_ref(v___y_1673_);
lean_dec(v___y_1672_);
lean_dec_ref(v___y_1671_);
lean_dec(v___y_1670_);
lean_dec_ref(v___y_1669_);
lean_dec(v___y_1668_);
lean_dec_ref(v___y_1667_);
lean_dec(v___y_1666_);
lean_dec(v___y_1665_);
v_a_1685_ = lean_ctor_get(v___x_1680_, 0);
v_isSharedCheck_1692_ = !lean_is_exclusive(v___x_1680_);
if (v_isSharedCheck_1692_ == 0)
{
v___x_1687_ = v___x_1680_;
v_isShared_1688_ = v_isSharedCheck_1692_;
goto v_resetjp_1686_;
}
else
{
lean_inc(v_a_1685_);
lean_dec(v___x_1680_);
v___x_1687_ = lean_box(0);
v_isShared_1688_ = v_isSharedCheck_1692_;
goto v_resetjp_1686_;
}
v_resetjp_1686_:
{
lean_object* v___x_1690_; 
if (v_isShared_1688_ == 0)
{
v___x_1690_ = v___x_1687_;
goto v_reusejp_1689_;
}
else
{
lean_object* v_reuseFailAlloc_1691_; 
v_reuseFailAlloc_1691_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1691_, 0, v_a_1685_);
v___x_1690_ = v_reuseFailAlloc_1691_;
goto v_reusejp_1689_;
}
v_reusejp_1689_:
{
return v___x_1690_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17___boxed(lean_object* v_as_1693_, lean_object* v_sz_1694_, lean_object* v_i_1695_, lean_object* v_b_1696_, lean_object* v___y_1697_, lean_object* v___y_1698_, lean_object* v___y_1699_, lean_object* v___y_1700_, lean_object* v___y_1701_, lean_object* v___y_1702_, lean_object* v___y_1703_, lean_object* v___y_1704_, lean_object* v___y_1705_, lean_object* v___y_1706_, lean_object* v___y_1707_){
_start:
{
size_t v_sz_boxed_1708_; size_t v_i_boxed_1709_; lean_object* v_res_1710_; 
v_sz_boxed_1708_ = lean_unbox_usize(v_sz_1694_);
lean_dec(v_sz_1694_);
v_i_boxed_1709_ = lean_unbox_usize(v_i_1695_);
lean_dec(v_i_1695_);
v_res_1710_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17(v_as_1693_, v_sz_boxed_1708_, v_i_boxed_1709_, v_b_1696_, v___y_1697_, v___y_1698_, v___y_1699_, v___y_1700_, v___y_1701_, v___y_1702_, v___y_1703_, v___y_1704_, v___y_1705_, v___y_1706_);
lean_dec_ref(v_as_1693_);
return v_res_1710_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14(lean_object* v_as_1711_, size_t v_sz_1712_, size_t v_i_1713_, lean_object* v_b_1714_, lean_object* v___y_1715_, lean_object* v___y_1716_, lean_object* v___y_1717_, lean_object* v___y_1718_, lean_object* v___y_1719_, lean_object* v___y_1720_, lean_object* v___y_1721_, lean_object* v___y_1722_, lean_object* v___y_1723_, lean_object* v___y_1724_){
_start:
{
uint8_t v___x_1726_; 
v___x_1726_ = lean_usize_dec_lt(v_i_1713_, v_sz_1712_);
if (v___x_1726_ == 0)
{
lean_object* v___x_1727_; 
lean_dec(v___y_1724_);
lean_dec_ref(v___y_1723_);
lean_dec(v___y_1722_);
lean_dec_ref(v___y_1721_);
lean_dec(v___y_1720_);
lean_dec_ref(v___y_1719_);
lean_dec(v___y_1718_);
lean_dec_ref(v___y_1717_);
lean_dec(v___y_1716_);
lean_dec(v___y_1715_);
v___x_1727_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1727_, 0, v_b_1714_);
return v___x_1727_;
}
else
{
lean_object* v_a_1728_; lean_object* v___x_1729_; lean_object* v___x_1730_; 
lean_dec_ref(v_b_1714_);
v_a_1728_ = lean_array_uget_borrowed(v_as_1711_, v_i_1713_);
v___x_1729_ = lean_unsigned_to_nat(0u);
lean_inc(v___y_1724_);
lean_inc_ref(v___y_1723_);
lean_inc(v___y_1722_);
lean_inc_ref(v___y_1721_);
lean_inc(v___y_1720_);
lean_inc_ref(v___y_1719_);
lean_inc(v___y_1718_);
lean_inc_ref(v___y_1717_);
lean_inc(v___y_1716_);
lean_inc(v___y_1715_);
lean_inc(v_a_1728_);
v___x_1730_ = l_Lean_Meta_Grind_activateInjectiveTheorem(v_a_1728_, v___x_1729_, v___y_1715_, v___y_1716_, v___y_1717_, v___y_1718_, v___y_1719_, v___y_1720_, v___y_1721_, v___y_1722_, v___y_1723_, v___y_1724_);
if (lean_obj_tag(v___x_1730_) == 0)
{
lean_object* v___x_1731_; size_t v___x_1732_; size_t v___x_1733_; lean_object* v___x_1734_; 
lean_dec_ref(v___x_1730_);
v___x_1731_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17___closed__0));
v___x_1732_ = ((size_t)1ULL);
v___x_1733_ = lean_usize_add(v_i_1713_, v___x_1732_);
v___x_1734_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17(v_as_1711_, v_sz_1712_, v___x_1733_, v___x_1731_, v___y_1715_, v___y_1716_, v___y_1717_, v___y_1718_, v___y_1719_, v___y_1720_, v___y_1721_, v___y_1722_, v___y_1723_, v___y_1724_);
return v___x_1734_;
}
else
{
lean_object* v_a_1735_; lean_object* v___x_1737_; uint8_t v_isShared_1738_; uint8_t v_isSharedCheck_1742_; 
lean_dec(v___y_1724_);
lean_dec_ref(v___y_1723_);
lean_dec(v___y_1722_);
lean_dec_ref(v___y_1721_);
lean_dec(v___y_1720_);
lean_dec_ref(v___y_1719_);
lean_dec(v___y_1718_);
lean_dec_ref(v___y_1717_);
lean_dec(v___y_1716_);
lean_dec(v___y_1715_);
v_a_1735_ = lean_ctor_get(v___x_1730_, 0);
v_isSharedCheck_1742_ = !lean_is_exclusive(v___x_1730_);
if (v_isSharedCheck_1742_ == 0)
{
v___x_1737_ = v___x_1730_;
v_isShared_1738_ = v_isSharedCheck_1742_;
goto v_resetjp_1736_;
}
else
{
lean_inc(v_a_1735_);
lean_dec(v___x_1730_);
v___x_1737_ = lean_box(0);
v_isShared_1738_ = v_isSharedCheck_1742_;
goto v_resetjp_1736_;
}
v_resetjp_1736_:
{
lean_object* v___x_1740_; 
if (v_isShared_1738_ == 0)
{
v___x_1740_ = v___x_1737_;
goto v_reusejp_1739_;
}
else
{
lean_object* v_reuseFailAlloc_1741_; 
v_reuseFailAlloc_1741_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1741_, 0, v_a_1735_);
v___x_1740_ = v_reuseFailAlloc_1741_;
goto v_reusejp_1739_;
}
v_reusejp_1739_:
{
return v___x_1740_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14___boxed(lean_object* v_as_1743_, lean_object* v_sz_1744_, lean_object* v_i_1745_, lean_object* v_b_1746_, lean_object* v___y_1747_, lean_object* v___y_1748_, lean_object* v___y_1749_, lean_object* v___y_1750_, lean_object* v___y_1751_, lean_object* v___y_1752_, lean_object* v___y_1753_, lean_object* v___y_1754_, lean_object* v___y_1755_, lean_object* v___y_1756_, lean_object* v___y_1757_){
_start:
{
size_t v_sz_boxed_1758_; size_t v_i_boxed_1759_; lean_object* v_res_1760_; 
v_sz_boxed_1758_ = lean_unbox_usize(v_sz_1744_);
lean_dec(v_sz_1744_);
v_i_boxed_1759_ = lean_unbox_usize(v_i_1745_);
lean_dec(v_i_1745_);
v_res_1760_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14(v_as_1743_, v_sz_boxed_1758_, v_i_boxed_1759_, v_b_1746_, v___y_1747_, v___y_1748_, v___y_1749_, v___y_1750_, v___y_1751_, v___y_1752_, v___y_1753_, v___y_1754_, v___y_1755_, v___y_1756_);
lean_dec_ref(v_as_1743_);
return v_res_1760_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6(lean_object* v_inh_1761_, lean_object* v_n_1762_, lean_object* v_b_1763_, lean_object* v___y_1764_, lean_object* v___y_1765_, lean_object* v___y_1766_, lean_object* v___y_1767_, lean_object* v___y_1768_, lean_object* v___y_1769_, lean_object* v___y_1770_, lean_object* v___y_1771_, lean_object* v___y_1772_, lean_object* v___y_1773_){
_start:
{
if (lean_obj_tag(v_n_1762_) == 0)
{
lean_object* v_cs_1775_; lean_object* v___x_1777_; uint8_t v_isShared_1778_; uint8_t v_isSharedCheck_1809_; 
v_cs_1775_ = lean_ctor_get(v_n_1762_, 0);
v_isSharedCheck_1809_ = !lean_is_exclusive(v_n_1762_);
if (v_isSharedCheck_1809_ == 0)
{
v___x_1777_ = v_n_1762_;
v_isShared_1778_ = v_isSharedCheck_1809_;
goto v_resetjp_1776_;
}
else
{
lean_inc(v_cs_1775_);
lean_dec(v_n_1762_);
v___x_1777_ = lean_box(0);
v_isShared_1778_ = v_isSharedCheck_1809_;
goto v_resetjp_1776_;
}
v_resetjp_1776_:
{
lean_object* v___x_1779_; lean_object* v___x_1780_; size_t v_sz_1781_; size_t v___x_1782_; lean_object* v___x_1783_; 
v___x_1779_ = lean_box(0);
v___x_1780_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1780_, 0, v___x_1779_);
lean_ctor_set(v___x_1780_, 1, v_b_1763_);
v_sz_1781_ = lean_array_size(v_cs_1775_);
v___x_1782_ = ((size_t)0ULL);
v___x_1783_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__13(v_inh_1761_, v_cs_1775_, v_sz_1781_, v___x_1782_, v___x_1780_, v___y_1764_, v___y_1765_, v___y_1766_, v___y_1767_, v___y_1768_, v___y_1769_, v___y_1770_, v___y_1771_, v___y_1772_, v___y_1773_);
lean_dec_ref(v_cs_1775_);
if (lean_obj_tag(v___x_1783_) == 0)
{
lean_object* v_a_1784_; lean_object* v___x_1786_; uint8_t v_isShared_1787_; uint8_t v_isSharedCheck_1800_; 
v_a_1784_ = lean_ctor_get(v___x_1783_, 0);
v_isSharedCheck_1800_ = !lean_is_exclusive(v___x_1783_);
if (v_isSharedCheck_1800_ == 0)
{
v___x_1786_ = v___x_1783_;
v_isShared_1787_ = v_isSharedCheck_1800_;
goto v_resetjp_1785_;
}
else
{
lean_inc(v_a_1784_);
lean_dec(v___x_1783_);
v___x_1786_ = lean_box(0);
v_isShared_1787_ = v_isSharedCheck_1800_;
goto v_resetjp_1785_;
}
v_resetjp_1785_:
{
lean_object* v_fst_1788_; 
v_fst_1788_ = lean_ctor_get(v_a_1784_, 0);
if (lean_obj_tag(v_fst_1788_) == 0)
{
lean_object* v_snd_1789_; lean_object* v___x_1791_; 
v_snd_1789_ = lean_ctor_get(v_a_1784_, 1);
lean_inc(v_snd_1789_);
lean_dec(v_a_1784_);
if (v_isShared_1778_ == 0)
{
lean_ctor_set_tag(v___x_1777_, 1);
lean_ctor_set(v___x_1777_, 0, v_snd_1789_);
v___x_1791_ = v___x_1777_;
goto v_reusejp_1790_;
}
else
{
lean_object* v_reuseFailAlloc_1795_; 
v_reuseFailAlloc_1795_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1795_, 0, v_snd_1789_);
v___x_1791_ = v_reuseFailAlloc_1795_;
goto v_reusejp_1790_;
}
v_reusejp_1790_:
{
lean_object* v___x_1793_; 
if (v_isShared_1787_ == 0)
{
lean_ctor_set(v___x_1786_, 0, v___x_1791_);
v___x_1793_ = v___x_1786_;
goto v_reusejp_1792_;
}
else
{
lean_object* v_reuseFailAlloc_1794_; 
v_reuseFailAlloc_1794_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1794_, 0, v___x_1791_);
v___x_1793_ = v_reuseFailAlloc_1794_;
goto v_reusejp_1792_;
}
v_reusejp_1792_:
{
return v___x_1793_;
}
}
}
else
{
lean_object* v_val_1796_; lean_object* v___x_1798_; 
lean_inc_ref(v_fst_1788_);
lean_dec(v_a_1784_);
lean_del_object(v___x_1777_);
v_val_1796_ = lean_ctor_get(v_fst_1788_, 0);
lean_inc(v_val_1796_);
lean_dec_ref(v_fst_1788_);
if (v_isShared_1787_ == 0)
{
lean_ctor_set(v___x_1786_, 0, v_val_1796_);
v___x_1798_ = v___x_1786_;
goto v_reusejp_1797_;
}
else
{
lean_object* v_reuseFailAlloc_1799_; 
v_reuseFailAlloc_1799_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1799_, 0, v_val_1796_);
v___x_1798_ = v_reuseFailAlloc_1799_;
goto v_reusejp_1797_;
}
v_reusejp_1797_:
{
return v___x_1798_;
}
}
}
}
else
{
lean_object* v_a_1801_; lean_object* v___x_1803_; uint8_t v_isShared_1804_; uint8_t v_isSharedCheck_1808_; 
lean_del_object(v___x_1777_);
v_a_1801_ = lean_ctor_get(v___x_1783_, 0);
v_isSharedCheck_1808_ = !lean_is_exclusive(v___x_1783_);
if (v_isSharedCheck_1808_ == 0)
{
v___x_1803_ = v___x_1783_;
v_isShared_1804_ = v_isSharedCheck_1808_;
goto v_resetjp_1802_;
}
else
{
lean_inc(v_a_1801_);
lean_dec(v___x_1783_);
v___x_1803_ = lean_box(0);
v_isShared_1804_ = v_isSharedCheck_1808_;
goto v_resetjp_1802_;
}
v_resetjp_1802_:
{
lean_object* v___x_1806_; 
if (v_isShared_1804_ == 0)
{
v___x_1806_ = v___x_1803_;
goto v_reusejp_1805_;
}
else
{
lean_object* v_reuseFailAlloc_1807_; 
v_reuseFailAlloc_1807_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1807_, 0, v_a_1801_);
v___x_1806_ = v_reuseFailAlloc_1807_;
goto v_reusejp_1805_;
}
v_reusejp_1805_:
{
return v___x_1806_;
}
}
}
}
}
else
{
lean_object* v_vs_1810_; lean_object* v___x_1812_; uint8_t v_isShared_1813_; uint8_t v_isSharedCheck_1844_; 
v_vs_1810_ = lean_ctor_get(v_n_1762_, 0);
v_isSharedCheck_1844_ = !lean_is_exclusive(v_n_1762_);
if (v_isSharedCheck_1844_ == 0)
{
v___x_1812_ = v_n_1762_;
v_isShared_1813_ = v_isSharedCheck_1844_;
goto v_resetjp_1811_;
}
else
{
lean_inc(v_vs_1810_);
lean_dec(v_n_1762_);
v___x_1812_ = lean_box(0);
v_isShared_1813_ = v_isSharedCheck_1844_;
goto v_resetjp_1811_;
}
v_resetjp_1811_:
{
lean_object* v___x_1814_; lean_object* v___x_1815_; size_t v_sz_1816_; size_t v___x_1817_; lean_object* v___x_1818_; 
v___x_1814_ = lean_box(0);
v___x_1815_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1815_, 0, v___x_1814_);
lean_ctor_set(v___x_1815_, 1, v_b_1763_);
v_sz_1816_ = lean_array_size(v_vs_1810_);
v___x_1817_ = ((size_t)0ULL);
v___x_1818_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14(v_vs_1810_, v_sz_1816_, v___x_1817_, v___x_1815_, v___y_1764_, v___y_1765_, v___y_1766_, v___y_1767_, v___y_1768_, v___y_1769_, v___y_1770_, v___y_1771_, v___y_1772_, v___y_1773_);
lean_dec_ref(v_vs_1810_);
if (lean_obj_tag(v___x_1818_) == 0)
{
lean_object* v_a_1819_; lean_object* v___x_1821_; uint8_t v_isShared_1822_; uint8_t v_isSharedCheck_1835_; 
v_a_1819_ = lean_ctor_get(v___x_1818_, 0);
v_isSharedCheck_1835_ = !lean_is_exclusive(v___x_1818_);
if (v_isSharedCheck_1835_ == 0)
{
v___x_1821_ = v___x_1818_;
v_isShared_1822_ = v_isSharedCheck_1835_;
goto v_resetjp_1820_;
}
else
{
lean_inc(v_a_1819_);
lean_dec(v___x_1818_);
v___x_1821_ = lean_box(0);
v_isShared_1822_ = v_isSharedCheck_1835_;
goto v_resetjp_1820_;
}
v_resetjp_1820_:
{
lean_object* v_fst_1823_; 
v_fst_1823_ = lean_ctor_get(v_a_1819_, 0);
if (lean_obj_tag(v_fst_1823_) == 0)
{
lean_object* v_snd_1824_; lean_object* v___x_1826_; 
v_snd_1824_ = lean_ctor_get(v_a_1819_, 1);
lean_inc(v_snd_1824_);
lean_dec(v_a_1819_);
if (v_isShared_1813_ == 0)
{
lean_ctor_set(v___x_1812_, 0, v_snd_1824_);
v___x_1826_ = v___x_1812_;
goto v_reusejp_1825_;
}
else
{
lean_object* v_reuseFailAlloc_1830_; 
v_reuseFailAlloc_1830_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1830_, 0, v_snd_1824_);
v___x_1826_ = v_reuseFailAlloc_1830_;
goto v_reusejp_1825_;
}
v_reusejp_1825_:
{
lean_object* v___x_1828_; 
if (v_isShared_1822_ == 0)
{
lean_ctor_set(v___x_1821_, 0, v___x_1826_);
v___x_1828_ = v___x_1821_;
goto v_reusejp_1827_;
}
else
{
lean_object* v_reuseFailAlloc_1829_; 
v_reuseFailAlloc_1829_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1829_, 0, v___x_1826_);
v___x_1828_ = v_reuseFailAlloc_1829_;
goto v_reusejp_1827_;
}
v_reusejp_1827_:
{
return v___x_1828_;
}
}
}
else
{
lean_object* v_val_1831_; lean_object* v___x_1833_; 
lean_inc_ref(v_fst_1823_);
lean_dec(v_a_1819_);
lean_del_object(v___x_1812_);
v_val_1831_ = lean_ctor_get(v_fst_1823_, 0);
lean_inc(v_val_1831_);
lean_dec_ref(v_fst_1823_);
if (v_isShared_1822_ == 0)
{
lean_ctor_set(v___x_1821_, 0, v_val_1831_);
v___x_1833_ = v___x_1821_;
goto v_reusejp_1832_;
}
else
{
lean_object* v_reuseFailAlloc_1834_; 
v_reuseFailAlloc_1834_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1834_, 0, v_val_1831_);
v___x_1833_ = v_reuseFailAlloc_1834_;
goto v_reusejp_1832_;
}
v_reusejp_1832_:
{
return v___x_1833_;
}
}
}
}
else
{
lean_object* v_a_1836_; lean_object* v___x_1838_; uint8_t v_isShared_1839_; uint8_t v_isSharedCheck_1843_; 
lean_del_object(v___x_1812_);
v_a_1836_ = lean_ctor_get(v___x_1818_, 0);
v_isSharedCheck_1843_ = !lean_is_exclusive(v___x_1818_);
if (v_isSharedCheck_1843_ == 0)
{
v___x_1838_ = v___x_1818_;
v_isShared_1839_ = v_isSharedCheck_1843_;
goto v_resetjp_1837_;
}
else
{
lean_inc(v_a_1836_);
lean_dec(v___x_1818_);
v___x_1838_ = lean_box(0);
v_isShared_1839_ = v_isSharedCheck_1843_;
goto v_resetjp_1837_;
}
v_resetjp_1837_:
{
lean_object* v___x_1841_; 
if (v_isShared_1839_ == 0)
{
v___x_1841_ = v___x_1838_;
goto v_reusejp_1840_;
}
else
{
lean_object* v_reuseFailAlloc_1842_; 
v_reuseFailAlloc_1842_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1842_, 0, v_a_1836_);
v___x_1841_ = v_reuseFailAlloc_1842_;
goto v_reusejp_1840_;
}
v_reusejp_1840_:
{
return v___x_1841_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__13(lean_object* v_inh_1845_, lean_object* v_as_1846_, size_t v_sz_1847_, size_t v_i_1848_, lean_object* v_b_1849_, lean_object* v___y_1850_, lean_object* v___y_1851_, lean_object* v___y_1852_, lean_object* v___y_1853_, lean_object* v___y_1854_, lean_object* v___y_1855_, lean_object* v___y_1856_, lean_object* v___y_1857_, lean_object* v___y_1858_, lean_object* v___y_1859_){
_start:
{
uint8_t v___x_1861_; 
v___x_1861_ = lean_usize_dec_lt(v_i_1848_, v_sz_1847_);
if (v___x_1861_ == 0)
{
lean_object* v___x_1862_; 
lean_dec(v___y_1859_);
lean_dec_ref(v___y_1858_);
lean_dec(v___y_1857_);
lean_dec_ref(v___y_1856_);
lean_dec(v___y_1855_);
lean_dec_ref(v___y_1854_);
lean_dec(v___y_1853_);
lean_dec_ref(v___y_1852_);
lean_dec(v___y_1851_);
lean_dec(v___y_1850_);
v___x_1862_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1862_, 0, v_b_1849_);
return v___x_1862_;
}
else
{
lean_object* v_snd_1863_; lean_object* v___x_1865_; uint8_t v_isShared_1866_; uint8_t v_isSharedCheck_1897_; 
v_snd_1863_ = lean_ctor_get(v_b_1849_, 1);
v_isSharedCheck_1897_ = !lean_is_exclusive(v_b_1849_);
if (v_isSharedCheck_1897_ == 0)
{
lean_object* v_unused_1898_; 
v_unused_1898_ = lean_ctor_get(v_b_1849_, 0);
lean_dec(v_unused_1898_);
v___x_1865_ = v_b_1849_;
v_isShared_1866_ = v_isSharedCheck_1897_;
goto v_resetjp_1864_;
}
else
{
lean_inc(v_snd_1863_);
lean_dec(v_b_1849_);
v___x_1865_ = lean_box(0);
v_isShared_1866_ = v_isSharedCheck_1897_;
goto v_resetjp_1864_;
}
v_resetjp_1864_:
{
lean_object* v_a_1867_; lean_object* v___x_1868_; 
v_a_1867_ = lean_array_uget_borrowed(v_as_1846_, v_i_1848_);
lean_inc(v___y_1859_);
lean_inc_ref(v___y_1858_);
lean_inc(v___y_1857_);
lean_inc_ref(v___y_1856_);
lean_inc(v___y_1855_);
lean_inc_ref(v___y_1854_);
lean_inc(v___y_1853_);
lean_inc_ref(v___y_1852_);
lean_inc(v___y_1851_);
lean_inc(v___y_1850_);
lean_inc(v_snd_1863_);
lean_inc(v_a_1867_);
v___x_1868_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6(v_inh_1845_, v_a_1867_, v_snd_1863_, v___y_1850_, v___y_1851_, v___y_1852_, v___y_1853_, v___y_1854_, v___y_1855_, v___y_1856_, v___y_1857_, v___y_1858_, v___y_1859_);
if (lean_obj_tag(v___x_1868_) == 0)
{
lean_object* v_a_1869_; lean_object* v___x_1871_; uint8_t v_isShared_1872_; uint8_t v_isSharedCheck_1888_; 
v_a_1869_ = lean_ctor_get(v___x_1868_, 0);
v_isSharedCheck_1888_ = !lean_is_exclusive(v___x_1868_);
if (v_isSharedCheck_1888_ == 0)
{
v___x_1871_ = v___x_1868_;
v_isShared_1872_ = v_isSharedCheck_1888_;
goto v_resetjp_1870_;
}
else
{
lean_inc(v_a_1869_);
lean_dec(v___x_1868_);
v___x_1871_ = lean_box(0);
v_isShared_1872_ = v_isSharedCheck_1888_;
goto v_resetjp_1870_;
}
v_resetjp_1870_:
{
if (lean_obj_tag(v_a_1869_) == 0)
{
lean_object* v___x_1873_; lean_object* v___x_1875_; 
lean_dec(v___y_1859_);
lean_dec_ref(v___y_1858_);
lean_dec(v___y_1857_);
lean_dec_ref(v___y_1856_);
lean_dec(v___y_1855_);
lean_dec_ref(v___y_1854_);
lean_dec(v___y_1853_);
lean_dec_ref(v___y_1852_);
lean_dec(v___y_1851_);
lean_dec(v___y_1850_);
v___x_1873_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1873_, 0, v_a_1869_);
if (v_isShared_1866_ == 0)
{
lean_ctor_set(v___x_1865_, 0, v___x_1873_);
v___x_1875_ = v___x_1865_;
goto v_reusejp_1874_;
}
else
{
lean_object* v_reuseFailAlloc_1879_; 
v_reuseFailAlloc_1879_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1879_, 0, v___x_1873_);
lean_ctor_set(v_reuseFailAlloc_1879_, 1, v_snd_1863_);
v___x_1875_ = v_reuseFailAlloc_1879_;
goto v_reusejp_1874_;
}
v_reusejp_1874_:
{
lean_object* v___x_1877_; 
if (v_isShared_1872_ == 0)
{
lean_ctor_set(v___x_1871_, 0, v___x_1875_);
v___x_1877_ = v___x_1871_;
goto v_reusejp_1876_;
}
else
{
lean_object* v_reuseFailAlloc_1878_; 
v_reuseFailAlloc_1878_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1878_, 0, v___x_1875_);
v___x_1877_ = v_reuseFailAlloc_1878_;
goto v_reusejp_1876_;
}
v_reusejp_1876_:
{
return v___x_1877_;
}
}
}
else
{
lean_object* v_a_1880_; lean_object* v___x_1881_; lean_object* v___x_1883_; 
lean_del_object(v___x_1871_);
lean_dec(v_snd_1863_);
v_a_1880_ = lean_ctor_get(v_a_1869_, 0);
lean_inc(v_a_1880_);
lean_dec_ref(v_a_1869_);
v___x_1881_ = lean_box(0);
if (v_isShared_1866_ == 0)
{
lean_ctor_set(v___x_1865_, 1, v_a_1880_);
lean_ctor_set(v___x_1865_, 0, v___x_1881_);
v___x_1883_ = v___x_1865_;
goto v_reusejp_1882_;
}
else
{
lean_object* v_reuseFailAlloc_1887_; 
v_reuseFailAlloc_1887_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1887_, 0, v___x_1881_);
lean_ctor_set(v_reuseFailAlloc_1887_, 1, v_a_1880_);
v___x_1883_ = v_reuseFailAlloc_1887_;
goto v_reusejp_1882_;
}
v_reusejp_1882_:
{
size_t v___x_1884_; size_t v___x_1885_; 
v___x_1884_ = ((size_t)1ULL);
v___x_1885_ = lean_usize_add(v_i_1848_, v___x_1884_);
v_i_1848_ = v___x_1885_;
v_b_1849_ = v___x_1883_;
goto _start;
}
}
}
}
else
{
lean_object* v_a_1889_; lean_object* v___x_1891_; uint8_t v_isShared_1892_; uint8_t v_isSharedCheck_1896_; 
lean_del_object(v___x_1865_);
lean_dec(v_snd_1863_);
lean_dec(v___y_1859_);
lean_dec_ref(v___y_1858_);
lean_dec(v___y_1857_);
lean_dec_ref(v___y_1856_);
lean_dec(v___y_1855_);
lean_dec_ref(v___y_1854_);
lean_dec(v___y_1853_);
lean_dec_ref(v___y_1852_);
lean_dec(v___y_1851_);
lean_dec(v___y_1850_);
v_a_1889_ = lean_ctor_get(v___x_1868_, 0);
v_isSharedCheck_1896_ = !lean_is_exclusive(v___x_1868_);
if (v_isSharedCheck_1896_ == 0)
{
v___x_1891_ = v___x_1868_;
v_isShared_1892_ = v_isSharedCheck_1896_;
goto v_resetjp_1890_;
}
else
{
lean_inc(v_a_1889_);
lean_dec(v___x_1868_);
v___x_1891_ = lean_box(0);
v_isShared_1892_ = v_isSharedCheck_1896_;
goto v_resetjp_1890_;
}
v_resetjp_1890_:
{
lean_object* v___x_1894_; 
if (v_isShared_1892_ == 0)
{
v___x_1894_ = v___x_1891_;
goto v_reusejp_1893_;
}
else
{
lean_object* v_reuseFailAlloc_1895_; 
v_reuseFailAlloc_1895_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1895_, 0, v_a_1889_);
v___x_1894_ = v_reuseFailAlloc_1895_;
goto v_reusejp_1893_;
}
v_reusejp_1893_:
{
return v___x_1894_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__13___boxed(lean_object* v_inh_1899_, lean_object* v_as_1900_, lean_object* v_sz_1901_, lean_object* v_i_1902_, lean_object* v_b_1903_, lean_object* v___y_1904_, lean_object* v___y_1905_, lean_object* v___y_1906_, lean_object* v___y_1907_, lean_object* v___y_1908_, lean_object* v___y_1909_, lean_object* v___y_1910_, lean_object* v___y_1911_, lean_object* v___y_1912_, lean_object* v___y_1913_, lean_object* v___y_1914_){
_start:
{
size_t v_sz_boxed_1915_; size_t v_i_boxed_1916_; lean_object* v_res_1917_; 
v_sz_boxed_1915_ = lean_unbox_usize(v_sz_1901_);
lean_dec(v_sz_1901_);
v_i_boxed_1916_ = lean_unbox_usize(v_i_1902_);
lean_dec(v_i_1902_);
v_res_1917_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__13(v_inh_1899_, v_as_1900_, v_sz_boxed_1915_, v_i_boxed_1916_, v_b_1903_, v___y_1904_, v___y_1905_, v___y_1906_, v___y_1907_, v___y_1908_, v___y_1909_, v___y_1910_, v___y_1911_, v___y_1912_, v___y_1913_);
lean_dec_ref(v_as_1900_);
return v_res_1917_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6___boxed(lean_object* v_inh_1918_, lean_object* v_n_1919_, lean_object* v_b_1920_, lean_object* v___y_1921_, lean_object* v___y_1922_, lean_object* v___y_1923_, lean_object* v___y_1924_, lean_object* v___y_1925_, lean_object* v___y_1926_, lean_object* v___y_1927_, lean_object* v___y_1928_, lean_object* v___y_1929_, lean_object* v___y_1930_, lean_object* v___y_1931_){
_start:
{
lean_object* v_res_1932_; 
v_res_1932_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6(v_inh_1918_, v_n_1919_, v_b_1920_, v___y_1921_, v___y_1922_, v___y_1923_, v___y_1924_, v___y_1925_, v___y_1926_, v___y_1927_, v___y_1928_, v___y_1929_, v___y_1930_);
return v_res_1932_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2(lean_object* v_t_1933_, lean_object* v_init_1934_, lean_object* v___y_1935_, lean_object* v___y_1936_, lean_object* v___y_1937_, lean_object* v___y_1938_, lean_object* v___y_1939_, lean_object* v___y_1940_, lean_object* v___y_1941_, lean_object* v___y_1942_, lean_object* v___y_1943_, lean_object* v___y_1944_){
_start:
{
lean_object* v_root_1946_; lean_object* v_tail_1947_; lean_object* v___x_1948_; 
v_root_1946_ = lean_ctor_get(v_t_1933_, 0);
lean_inc_ref(v_root_1946_);
v_tail_1947_ = lean_ctor_get(v_t_1933_, 1);
lean_inc_ref(v_tail_1947_);
lean_dec_ref(v_t_1933_);
lean_inc(v___y_1944_);
lean_inc_ref(v___y_1943_);
lean_inc(v___y_1942_);
lean_inc_ref(v___y_1941_);
lean_inc(v___y_1940_);
lean_inc_ref(v___y_1939_);
lean_inc(v___y_1938_);
lean_inc_ref(v___y_1937_);
lean_inc(v___y_1936_);
lean_inc(v___y_1935_);
v___x_1948_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6(v_init_1934_, v_root_1946_, v_init_1934_, v___y_1935_, v___y_1936_, v___y_1937_, v___y_1938_, v___y_1939_, v___y_1940_, v___y_1941_, v___y_1942_, v___y_1943_, v___y_1944_);
if (lean_obj_tag(v___x_1948_) == 0)
{
lean_object* v_a_1949_; lean_object* v___x_1951_; uint8_t v_isShared_1952_; uint8_t v_isSharedCheck_1985_; 
v_a_1949_ = lean_ctor_get(v___x_1948_, 0);
v_isSharedCheck_1985_ = !lean_is_exclusive(v___x_1948_);
if (v_isSharedCheck_1985_ == 0)
{
v___x_1951_ = v___x_1948_;
v_isShared_1952_ = v_isSharedCheck_1985_;
goto v_resetjp_1950_;
}
else
{
lean_inc(v_a_1949_);
lean_dec(v___x_1948_);
v___x_1951_ = lean_box(0);
v_isShared_1952_ = v_isSharedCheck_1985_;
goto v_resetjp_1950_;
}
v_resetjp_1950_:
{
if (lean_obj_tag(v_a_1949_) == 0)
{
lean_object* v_a_1953_; lean_object* v___x_1955_; 
lean_dec_ref(v_tail_1947_);
lean_dec(v___y_1944_);
lean_dec_ref(v___y_1943_);
lean_dec(v___y_1942_);
lean_dec_ref(v___y_1941_);
lean_dec(v___y_1940_);
lean_dec_ref(v___y_1939_);
lean_dec(v___y_1938_);
lean_dec_ref(v___y_1937_);
lean_dec(v___y_1936_);
lean_dec(v___y_1935_);
v_a_1953_ = lean_ctor_get(v_a_1949_, 0);
lean_inc(v_a_1953_);
lean_dec_ref(v_a_1949_);
if (v_isShared_1952_ == 0)
{
lean_ctor_set(v___x_1951_, 0, v_a_1953_);
v___x_1955_ = v___x_1951_;
goto v_reusejp_1954_;
}
else
{
lean_object* v_reuseFailAlloc_1956_; 
v_reuseFailAlloc_1956_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1956_, 0, v_a_1953_);
v___x_1955_ = v_reuseFailAlloc_1956_;
goto v_reusejp_1954_;
}
v_reusejp_1954_:
{
return v___x_1955_;
}
}
else
{
lean_object* v_a_1957_; lean_object* v___x_1958_; lean_object* v___x_1959_; size_t v_sz_1960_; size_t v___x_1961_; lean_object* v___x_1962_; 
lean_del_object(v___x_1951_);
v_a_1957_ = lean_ctor_get(v_a_1949_, 0);
lean_inc(v_a_1957_);
lean_dec_ref(v_a_1949_);
v___x_1958_ = lean_box(0);
v___x_1959_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_1959_, 0, v___x_1958_);
lean_ctor_set(v___x_1959_, 1, v_a_1957_);
v_sz_1960_ = lean_array_size(v_tail_1947_);
v___x_1961_ = ((size_t)0ULL);
v___x_1962_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7(v_tail_1947_, v_sz_1960_, v___x_1961_, v___x_1959_, v___y_1935_, v___y_1936_, v___y_1937_, v___y_1938_, v___y_1939_, v___y_1940_, v___y_1941_, v___y_1942_, v___y_1943_, v___y_1944_);
lean_dec_ref(v_tail_1947_);
if (lean_obj_tag(v___x_1962_) == 0)
{
lean_object* v_a_1963_; lean_object* v___x_1965_; uint8_t v_isShared_1966_; uint8_t v_isSharedCheck_1976_; 
v_a_1963_ = lean_ctor_get(v___x_1962_, 0);
v_isSharedCheck_1976_ = !lean_is_exclusive(v___x_1962_);
if (v_isSharedCheck_1976_ == 0)
{
v___x_1965_ = v___x_1962_;
v_isShared_1966_ = v_isSharedCheck_1976_;
goto v_resetjp_1964_;
}
else
{
lean_inc(v_a_1963_);
lean_dec(v___x_1962_);
v___x_1965_ = lean_box(0);
v_isShared_1966_ = v_isSharedCheck_1976_;
goto v_resetjp_1964_;
}
v_resetjp_1964_:
{
lean_object* v_fst_1967_; 
v_fst_1967_ = lean_ctor_get(v_a_1963_, 0);
if (lean_obj_tag(v_fst_1967_) == 0)
{
lean_object* v_snd_1968_; lean_object* v___x_1970_; 
v_snd_1968_ = lean_ctor_get(v_a_1963_, 1);
lean_inc(v_snd_1968_);
lean_dec(v_a_1963_);
if (v_isShared_1966_ == 0)
{
lean_ctor_set(v___x_1965_, 0, v_snd_1968_);
v___x_1970_ = v___x_1965_;
goto v_reusejp_1969_;
}
else
{
lean_object* v_reuseFailAlloc_1971_; 
v_reuseFailAlloc_1971_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1971_, 0, v_snd_1968_);
v___x_1970_ = v_reuseFailAlloc_1971_;
goto v_reusejp_1969_;
}
v_reusejp_1969_:
{
return v___x_1970_;
}
}
else
{
lean_object* v_val_1972_; lean_object* v___x_1974_; 
lean_inc_ref(v_fst_1967_);
lean_dec(v_a_1963_);
v_val_1972_ = lean_ctor_get(v_fst_1967_, 0);
lean_inc(v_val_1972_);
lean_dec_ref(v_fst_1967_);
if (v_isShared_1966_ == 0)
{
lean_ctor_set(v___x_1965_, 0, v_val_1972_);
v___x_1974_ = v___x_1965_;
goto v_reusejp_1973_;
}
else
{
lean_object* v_reuseFailAlloc_1975_; 
v_reuseFailAlloc_1975_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1975_, 0, v_val_1972_);
v___x_1974_ = v_reuseFailAlloc_1975_;
goto v_reusejp_1973_;
}
v_reusejp_1973_:
{
return v___x_1974_;
}
}
}
}
else
{
lean_object* v_a_1977_; lean_object* v___x_1979_; uint8_t v_isShared_1980_; uint8_t v_isSharedCheck_1984_; 
v_a_1977_ = lean_ctor_get(v___x_1962_, 0);
v_isSharedCheck_1984_ = !lean_is_exclusive(v___x_1962_);
if (v_isSharedCheck_1984_ == 0)
{
v___x_1979_ = v___x_1962_;
v_isShared_1980_ = v_isSharedCheck_1984_;
goto v_resetjp_1978_;
}
else
{
lean_inc(v_a_1977_);
lean_dec(v___x_1962_);
v___x_1979_ = lean_box(0);
v_isShared_1980_ = v_isSharedCheck_1984_;
goto v_resetjp_1978_;
}
v_resetjp_1978_:
{
lean_object* v___x_1982_; 
if (v_isShared_1980_ == 0)
{
v___x_1982_ = v___x_1979_;
goto v_reusejp_1981_;
}
else
{
lean_object* v_reuseFailAlloc_1983_; 
v_reuseFailAlloc_1983_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1983_, 0, v_a_1977_);
v___x_1982_ = v_reuseFailAlloc_1983_;
goto v_reusejp_1981_;
}
v_reusejp_1981_:
{
return v___x_1982_;
}
}
}
}
}
}
else
{
lean_object* v_a_1986_; lean_object* v___x_1988_; uint8_t v_isShared_1989_; uint8_t v_isSharedCheck_1993_; 
lean_dec_ref(v_tail_1947_);
lean_dec(v___y_1944_);
lean_dec_ref(v___y_1943_);
lean_dec(v___y_1942_);
lean_dec_ref(v___y_1941_);
lean_dec(v___y_1940_);
lean_dec_ref(v___y_1939_);
lean_dec(v___y_1938_);
lean_dec_ref(v___y_1937_);
lean_dec(v___y_1936_);
lean_dec(v___y_1935_);
v_a_1986_ = lean_ctor_get(v___x_1948_, 0);
v_isSharedCheck_1993_ = !lean_is_exclusive(v___x_1948_);
if (v_isSharedCheck_1993_ == 0)
{
v___x_1988_ = v___x_1948_;
v_isShared_1989_ = v_isSharedCheck_1993_;
goto v_resetjp_1987_;
}
else
{
lean_inc(v_a_1986_);
lean_dec(v___x_1948_);
v___x_1988_ = lean_box(0);
v_isShared_1989_ = v_isSharedCheck_1993_;
goto v_resetjp_1987_;
}
v_resetjp_1987_:
{
lean_object* v___x_1991_; 
if (v_isShared_1989_ == 0)
{
v___x_1991_ = v___x_1988_;
goto v_reusejp_1990_;
}
else
{
lean_object* v_reuseFailAlloc_1992_; 
v_reuseFailAlloc_1992_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1992_, 0, v_a_1986_);
v___x_1991_ = v_reuseFailAlloc_1992_;
goto v_reusejp_1990_;
}
v_reusejp_1990_:
{
return v___x_1991_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2___boxed(lean_object* v_t_1994_, lean_object* v_init_1995_, lean_object* v___y_1996_, lean_object* v___y_1997_, lean_object* v___y_1998_, lean_object* v___y_1999_, lean_object* v___y_2000_, lean_object* v___y_2001_, lean_object* v___y_2002_, lean_object* v___y_2003_, lean_object* v___y_2004_, lean_object* v___y_2005_, lean_object* v___y_2006_){
_start:
{
lean_object* v_res_2007_; 
v_res_2007_ = l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2(v_t_1994_, v_init_1995_, v___y_1996_, v___y_1997_, v___y_1998_, v___y_1999_, v___y_2000_, v___y_2001_, v___y_2002_, v___y_2003_, v___y_2004_, v___y_2005_);
return v_res_2007_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__2_spec__5(lean_object* v_as_2008_, size_t v_sz_2009_, size_t v_i_2010_, lean_object* v_b_2011_, lean_object* v___y_2012_, lean_object* v___y_2013_, lean_object* v___y_2014_, lean_object* v___y_2015_, lean_object* v___y_2016_, lean_object* v___y_2017_, lean_object* v___y_2018_, lean_object* v___y_2019_, lean_object* v___y_2020_, lean_object* v___y_2021_){
_start:
{
uint8_t v___x_2023_; 
v___x_2023_ = lean_usize_dec_lt(v_i_2010_, v_sz_2009_);
if (v___x_2023_ == 0)
{
lean_object* v___x_2024_; 
lean_dec(v___y_2021_);
lean_dec_ref(v___y_2020_);
lean_dec(v___y_2019_);
lean_dec_ref(v___y_2018_);
v___x_2024_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2024_, 0, v_b_2011_);
return v___x_2024_;
}
else
{
lean_object* v_a_2025_; lean_object* v___x_2026_; 
lean_dec_ref(v_b_2011_);
v_a_2025_ = lean_array_uget_borrowed(v_as_2008_, v_i_2010_);
lean_inc(v___y_2021_);
lean_inc_ref(v___y_2020_);
lean_inc(v___y_2019_);
lean_inc_ref(v___y_2018_);
lean_inc(v_a_2025_);
v___x_2026_ = lean_infer_type(v_a_2025_, v___y_2018_, v___y_2019_, v___y_2020_, v___y_2021_);
if (lean_obj_tag(v___x_2026_) == 0)
{
lean_object* v_a_2027_; lean_object* v___x_2028_; lean_object* v___x_2029_; lean_object* v___x_2030_; 
v_a_2027_ = lean_ctor_get(v___x_2026_, 0);
lean_inc(v_a_2027_);
lean_dec_ref(v___x_2026_);
v___x_2028_ = lean_unsigned_to_nat(0u);
v___x_2029_ = lean_box(6);
lean_inc(v___y_2021_);
lean_inc_ref(v___y_2020_);
lean_inc(v___y_2019_);
lean_inc_ref(v___y_2018_);
lean_inc(v_a_2025_);
v___x_2030_ = l_Lean_Meta_Grind_addNewRawFact(v_a_2025_, v_a_2027_, v___x_2028_, v___x_2029_, v___y_2012_, v___y_2013_, v___y_2014_, v___y_2015_, v___y_2016_, v___y_2017_, v___y_2018_, v___y_2019_, v___y_2020_, v___y_2021_);
if (lean_obj_tag(v___x_2030_) == 0)
{
lean_object* v___x_2031_; size_t v___x_2032_; size_t v___x_2033_; 
lean_dec_ref(v___x_2030_);
v___x_2031_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17___closed__0));
v___x_2032_ = ((size_t)1ULL);
v___x_2033_ = lean_usize_add(v_i_2010_, v___x_2032_);
v_i_2010_ = v___x_2033_;
v_b_2011_ = v___x_2031_;
goto _start;
}
else
{
lean_object* v_a_2035_; lean_object* v___x_2037_; uint8_t v_isShared_2038_; uint8_t v_isSharedCheck_2042_; 
lean_dec(v___y_2021_);
lean_dec_ref(v___y_2020_);
lean_dec(v___y_2019_);
lean_dec_ref(v___y_2018_);
v_a_2035_ = lean_ctor_get(v___x_2030_, 0);
v_isSharedCheck_2042_ = !lean_is_exclusive(v___x_2030_);
if (v_isSharedCheck_2042_ == 0)
{
v___x_2037_ = v___x_2030_;
v_isShared_2038_ = v_isSharedCheck_2042_;
goto v_resetjp_2036_;
}
else
{
lean_inc(v_a_2035_);
lean_dec(v___x_2030_);
v___x_2037_ = lean_box(0);
v_isShared_2038_ = v_isSharedCheck_2042_;
goto v_resetjp_2036_;
}
v_resetjp_2036_:
{
lean_object* v___x_2040_; 
if (v_isShared_2038_ == 0)
{
v___x_2040_ = v___x_2037_;
goto v_reusejp_2039_;
}
else
{
lean_object* v_reuseFailAlloc_2041_; 
v_reuseFailAlloc_2041_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2041_, 0, v_a_2035_);
v___x_2040_ = v_reuseFailAlloc_2041_;
goto v_reusejp_2039_;
}
v_reusejp_2039_:
{
return v___x_2040_;
}
}
}
}
else
{
lean_object* v_a_2043_; lean_object* v___x_2045_; uint8_t v_isShared_2046_; uint8_t v_isSharedCheck_2050_; 
lean_dec(v___y_2021_);
lean_dec_ref(v___y_2020_);
lean_dec(v___y_2019_);
lean_dec_ref(v___y_2018_);
v_a_2043_ = lean_ctor_get(v___x_2026_, 0);
v_isSharedCheck_2050_ = !lean_is_exclusive(v___x_2026_);
if (v_isSharedCheck_2050_ == 0)
{
v___x_2045_ = v___x_2026_;
v_isShared_2046_ = v_isSharedCheck_2050_;
goto v_resetjp_2044_;
}
else
{
lean_inc(v_a_2043_);
lean_dec(v___x_2026_);
v___x_2045_ = lean_box(0);
v_isShared_2046_ = v_isSharedCheck_2050_;
goto v_resetjp_2044_;
}
v_resetjp_2044_:
{
lean_object* v___x_2048_; 
if (v_isShared_2046_ == 0)
{
v___x_2048_ = v___x_2045_;
goto v_reusejp_2047_;
}
else
{
lean_object* v_reuseFailAlloc_2049_; 
v_reuseFailAlloc_2049_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2049_, 0, v_a_2043_);
v___x_2048_ = v_reuseFailAlloc_2049_;
goto v_reusejp_2047_;
}
v_reusejp_2047_:
{
return v___x_2048_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__2_spec__5___boxed(lean_object* v_as_2051_, lean_object* v_sz_2052_, lean_object* v_i_2053_, lean_object* v_b_2054_, lean_object* v___y_2055_, lean_object* v___y_2056_, lean_object* v___y_2057_, lean_object* v___y_2058_, lean_object* v___y_2059_, lean_object* v___y_2060_, lean_object* v___y_2061_, lean_object* v___y_2062_, lean_object* v___y_2063_, lean_object* v___y_2064_, lean_object* v___y_2065_){
_start:
{
size_t v_sz_boxed_2066_; size_t v_i_boxed_2067_; lean_object* v_res_2068_; 
v_sz_boxed_2066_ = lean_unbox_usize(v_sz_2052_);
lean_dec(v_sz_2052_);
v_i_boxed_2067_ = lean_unbox_usize(v_i_2053_);
lean_dec(v_i_2053_);
v_res_2068_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__2_spec__5(v_as_2051_, v_sz_boxed_2066_, v_i_boxed_2067_, v_b_2054_, v___y_2055_, v___y_2056_, v___y_2057_, v___y_2058_, v___y_2059_, v___y_2060_, v___y_2061_, v___y_2062_, v___y_2063_, v___y_2064_);
lean_dec(v___y_2060_);
lean_dec_ref(v___y_2059_);
lean_dec(v___y_2058_);
lean_dec_ref(v___y_2057_);
lean_dec(v___y_2056_);
lean_dec(v___y_2055_);
lean_dec_ref(v_as_2051_);
return v_res_2068_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__2(lean_object* v_as_2069_, size_t v_sz_2070_, size_t v_i_2071_, lean_object* v_b_2072_, lean_object* v___y_2073_, lean_object* v___y_2074_, lean_object* v___y_2075_, lean_object* v___y_2076_, lean_object* v___y_2077_, lean_object* v___y_2078_, lean_object* v___y_2079_, lean_object* v___y_2080_, lean_object* v___y_2081_, lean_object* v___y_2082_){
_start:
{
uint8_t v___x_2084_; 
v___x_2084_ = lean_usize_dec_lt(v_i_2071_, v_sz_2070_);
if (v___x_2084_ == 0)
{
lean_object* v___x_2085_; 
lean_dec(v___y_2082_);
lean_dec_ref(v___y_2081_);
lean_dec(v___y_2080_);
lean_dec_ref(v___y_2079_);
v___x_2085_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2085_, 0, v_b_2072_);
return v___x_2085_;
}
else
{
lean_object* v_a_2086_; lean_object* v___x_2087_; 
lean_dec_ref(v_b_2072_);
v_a_2086_ = lean_array_uget_borrowed(v_as_2069_, v_i_2071_);
lean_inc(v___y_2082_);
lean_inc_ref(v___y_2081_);
lean_inc(v___y_2080_);
lean_inc_ref(v___y_2079_);
lean_inc(v_a_2086_);
v___x_2087_ = lean_infer_type(v_a_2086_, v___y_2079_, v___y_2080_, v___y_2081_, v___y_2082_);
if (lean_obj_tag(v___x_2087_) == 0)
{
lean_object* v_a_2088_; lean_object* v___x_2089_; lean_object* v___x_2090_; lean_object* v___x_2091_; 
v_a_2088_ = lean_ctor_get(v___x_2087_, 0);
lean_inc(v_a_2088_);
lean_dec_ref(v___x_2087_);
v___x_2089_ = lean_unsigned_to_nat(0u);
v___x_2090_ = lean_box(6);
lean_inc(v___y_2082_);
lean_inc_ref(v___y_2081_);
lean_inc(v___y_2080_);
lean_inc_ref(v___y_2079_);
lean_inc(v_a_2086_);
v___x_2091_ = l_Lean_Meta_Grind_addNewRawFact(v_a_2086_, v_a_2088_, v___x_2089_, v___x_2090_, v___y_2073_, v___y_2074_, v___y_2075_, v___y_2076_, v___y_2077_, v___y_2078_, v___y_2079_, v___y_2080_, v___y_2081_, v___y_2082_);
if (lean_obj_tag(v___x_2091_) == 0)
{
lean_object* v___x_2092_; size_t v___x_2093_; size_t v___x_2094_; lean_object* v___x_2095_; 
lean_dec_ref(v___x_2091_);
v___x_2092_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17___closed__0));
v___x_2093_ = ((size_t)1ULL);
v___x_2094_ = lean_usize_add(v_i_2071_, v___x_2093_);
v___x_2095_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__2_spec__5(v_as_2069_, v_sz_2070_, v___x_2094_, v___x_2092_, v___y_2073_, v___y_2074_, v___y_2075_, v___y_2076_, v___y_2077_, v___y_2078_, v___y_2079_, v___y_2080_, v___y_2081_, v___y_2082_);
return v___x_2095_;
}
else
{
lean_object* v_a_2096_; lean_object* v___x_2098_; uint8_t v_isShared_2099_; uint8_t v_isSharedCheck_2103_; 
lean_dec(v___y_2082_);
lean_dec_ref(v___y_2081_);
lean_dec(v___y_2080_);
lean_dec_ref(v___y_2079_);
v_a_2096_ = lean_ctor_get(v___x_2091_, 0);
v_isSharedCheck_2103_ = !lean_is_exclusive(v___x_2091_);
if (v_isSharedCheck_2103_ == 0)
{
v___x_2098_ = v___x_2091_;
v_isShared_2099_ = v_isSharedCheck_2103_;
goto v_resetjp_2097_;
}
else
{
lean_inc(v_a_2096_);
lean_dec(v___x_2091_);
v___x_2098_ = lean_box(0);
v_isShared_2099_ = v_isSharedCheck_2103_;
goto v_resetjp_2097_;
}
v_resetjp_2097_:
{
lean_object* v___x_2101_; 
if (v_isShared_2099_ == 0)
{
v___x_2101_ = v___x_2098_;
goto v_reusejp_2100_;
}
else
{
lean_object* v_reuseFailAlloc_2102_; 
v_reuseFailAlloc_2102_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2102_, 0, v_a_2096_);
v___x_2101_ = v_reuseFailAlloc_2102_;
goto v_reusejp_2100_;
}
v_reusejp_2100_:
{
return v___x_2101_;
}
}
}
}
else
{
lean_object* v_a_2104_; lean_object* v___x_2106_; uint8_t v_isShared_2107_; uint8_t v_isSharedCheck_2111_; 
lean_dec(v___y_2082_);
lean_dec_ref(v___y_2081_);
lean_dec(v___y_2080_);
lean_dec_ref(v___y_2079_);
v_a_2104_ = lean_ctor_get(v___x_2087_, 0);
v_isSharedCheck_2111_ = !lean_is_exclusive(v___x_2087_);
if (v_isSharedCheck_2111_ == 0)
{
v___x_2106_ = v___x_2087_;
v_isShared_2107_ = v_isSharedCheck_2111_;
goto v_resetjp_2105_;
}
else
{
lean_inc(v_a_2104_);
lean_dec(v___x_2087_);
v___x_2106_ = lean_box(0);
v_isShared_2107_ = v_isSharedCheck_2111_;
goto v_resetjp_2105_;
}
v_resetjp_2105_:
{
lean_object* v___x_2109_; 
if (v_isShared_2107_ == 0)
{
v___x_2109_ = v___x_2106_;
goto v_reusejp_2108_;
}
else
{
lean_object* v_reuseFailAlloc_2110_; 
v_reuseFailAlloc_2110_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2110_, 0, v_a_2104_);
v___x_2109_ = v_reuseFailAlloc_2110_;
goto v_reusejp_2108_;
}
v_reusejp_2108_:
{
return v___x_2109_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__2___boxed(lean_object* v_as_2112_, lean_object* v_sz_2113_, lean_object* v_i_2114_, lean_object* v_b_2115_, lean_object* v___y_2116_, lean_object* v___y_2117_, lean_object* v___y_2118_, lean_object* v___y_2119_, lean_object* v___y_2120_, lean_object* v___y_2121_, lean_object* v___y_2122_, lean_object* v___y_2123_, lean_object* v___y_2124_, lean_object* v___y_2125_, lean_object* v___y_2126_){
_start:
{
size_t v_sz_boxed_2127_; size_t v_i_boxed_2128_; lean_object* v_res_2129_; 
v_sz_boxed_2127_ = lean_unbox_usize(v_sz_2113_);
lean_dec(v_sz_2113_);
v_i_boxed_2128_ = lean_unbox_usize(v_i_2114_);
lean_dec(v_i_2114_);
v_res_2129_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__2(v_as_2112_, v_sz_boxed_2127_, v_i_boxed_2128_, v_b_2115_, v___y_2116_, v___y_2117_, v___y_2118_, v___y_2119_, v___y_2120_, v___y_2121_, v___y_2122_, v___y_2123_, v___y_2124_, v___y_2125_);
lean_dec(v___y_2121_);
lean_dec_ref(v___y_2120_);
lean_dec(v___y_2119_);
lean_dec_ref(v___y_2118_);
lean_dec(v___y_2117_);
lean_dec(v___y_2116_);
lean_dec_ref(v_as_2112_);
return v_res_2129_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0(lean_object* v_inh_2130_, lean_object* v_n_2131_, lean_object* v_b_2132_, lean_object* v___y_2133_, lean_object* v___y_2134_, lean_object* v___y_2135_, lean_object* v___y_2136_, lean_object* v___y_2137_, lean_object* v___y_2138_, lean_object* v___y_2139_, lean_object* v___y_2140_, lean_object* v___y_2141_, lean_object* v___y_2142_){
_start:
{
if (lean_obj_tag(v_n_2131_) == 0)
{
lean_object* v_cs_2144_; lean_object* v___x_2146_; uint8_t v_isShared_2147_; uint8_t v_isSharedCheck_2178_; 
v_cs_2144_ = lean_ctor_get(v_n_2131_, 0);
v_isSharedCheck_2178_ = !lean_is_exclusive(v_n_2131_);
if (v_isSharedCheck_2178_ == 0)
{
v___x_2146_ = v_n_2131_;
v_isShared_2147_ = v_isSharedCheck_2178_;
goto v_resetjp_2145_;
}
else
{
lean_inc(v_cs_2144_);
lean_dec(v_n_2131_);
v___x_2146_ = lean_box(0);
v_isShared_2147_ = v_isSharedCheck_2178_;
goto v_resetjp_2145_;
}
v_resetjp_2145_:
{
lean_object* v___x_2148_; lean_object* v___x_2149_; size_t v_sz_2150_; size_t v___x_2151_; lean_object* v___x_2152_; 
v___x_2148_ = lean_box(0);
v___x_2149_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2149_, 0, v___x_2148_);
lean_ctor_set(v___x_2149_, 1, v_b_2132_);
v_sz_2150_ = lean_array_size(v_cs_2144_);
v___x_2151_ = ((size_t)0ULL);
v___x_2152_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__1(v_inh_2130_, v_cs_2144_, v_sz_2150_, v___x_2151_, v___x_2149_, v___y_2133_, v___y_2134_, v___y_2135_, v___y_2136_, v___y_2137_, v___y_2138_, v___y_2139_, v___y_2140_, v___y_2141_, v___y_2142_);
lean_dec_ref(v_cs_2144_);
if (lean_obj_tag(v___x_2152_) == 0)
{
lean_object* v_a_2153_; lean_object* v___x_2155_; uint8_t v_isShared_2156_; uint8_t v_isSharedCheck_2169_; 
v_a_2153_ = lean_ctor_get(v___x_2152_, 0);
v_isSharedCheck_2169_ = !lean_is_exclusive(v___x_2152_);
if (v_isSharedCheck_2169_ == 0)
{
v___x_2155_ = v___x_2152_;
v_isShared_2156_ = v_isSharedCheck_2169_;
goto v_resetjp_2154_;
}
else
{
lean_inc(v_a_2153_);
lean_dec(v___x_2152_);
v___x_2155_ = lean_box(0);
v_isShared_2156_ = v_isSharedCheck_2169_;
goto v_resetjp_2154_;
}
v_resetjp_2154_:
{
lean_object* v_fst_2157_; 
v_fst_2157_ = lean_ctor_get(v_a_2153_, 0);
if (lean_obj_tag(v_fst_2157_) == 0)
{
lean_object* v_snd_2158_; lean_object* v___x_2160_; 
v_snd_2158_ = lean_ctor_get(v_a_2153_, 1);
lean_inc(v_snd_2158_);
lean_dec(v_a_2153_);
if (v_isShared_2147_ == 0)
{
lean_ctor_set_tag(v___x_2146_, 1);
lean_ctor_set(v___x_2146_, 0, v_snd_2158_);
v___x_2160_ = v___x_2146_;
goto v_reusejp_2159_;
}
else
{
lean_object* v_reuseFailAlloc_2164_; 
v_reuseFailAlloc_2164_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2164_, 0, v_snd_2158_);
v___x_2160_ = v_reuseFailAlloc_2164_;
goto v_reusejp_2159_;
}
v_reusejp_2159_:
{
lean_object* v___x_2162_; 
if (v_isShared_2156_ == 0)
{
lean_ctor_set(v___x_2155_, 0, v___x_2160_);
v___x_2162_ = v___x_2155_;
goto v_reusejp_2161_;
}
else
{
lean_object* v_reuseFailAlloc_2163_; 
v_reuseFailAlloc_2163_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2163_, 0, v___x_2160_);
v___x_2162_ = v_reuseFailAlloc_2163_;
goto v_reusejp_2161_;
}
v_reusejp_2161_:
{
return v___x_2162_;
}
}
}
else
{
lean_object* v_val_2165_; lean_object* v___x_2167_; 
lean_inc_ref(v_fst_2157_);
lean_dec(v_a_2153_);
lean_del_object(v___x_2146_);
v_val_2165_ = lean_ctor_get(v_fst_2157_, 0);
lean_inc(v_val_2165_);
lean_dec_ref(v_fst_2157_);
if (v_isShared_2156_ == 0)
{
lean_ctor_set(v___x_2155_, 0, v_val_2165_);
v___x_2167_ = v___x_2155_;
goto v_reusejp_2166_;
}
else
{
lean_object* v_reuseFailAlloc_2168_; 
v_reuseFailAlloc_2168_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2168_, 0, v_val_2165_);
v___x_2167_ = v_reuseFailAlloc_2168_;
goto v_reusejp_2166_;
}
v_reusejp_2166_:
{
return v___x_2167_;
}
}
}
}
else
{
lean_object* v_a_2170_; lean_object* v___x_2172_; uint8_t v_isShared_2173_; uint8_t v_isSharedCheck_2177_; 
lean_del_object(v___x_2146_);
v_a_2170_ = lean_ctor_get(v___x_2152_, 0);
v_isSharedCheck_2177_ = !lean_is_exclusive(v___x_2152_);
if (v_isSharedCheck_2177_ == 0)
{
v___x_2172_ = v___x_2152_;
v_isShared_2173_ = v_isSharedCheck_2177_;
goto v_resetjp_2171_;
}
else
{
lean_inc(v_a_2170_);
lean_dec(v___x_2152_);
v___x_2172_ = lean_box(0);
v_isShared_2173_ = v_isSharedCheck_2177_;
goto v_resetjp_2171_;
}
v_resetjp_2171_:
{
lean_object* v___x_2175_; 
if (v_isShared_2173_ == 0)
{
v___x_2175_ = v___x_2172_;
goto v_reusejp_2174_;
}
else
{
lean_object* v_reuseFailAlloc_2176_; 
v_reuseFailAlloc_2176_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2176_, 0, v_a_2170_);
v___x_2175_ = v_reuseFailAlloc_2176_;
goto v_reusejp_2174_;
}
v_reusejp_2174_:
{
return v___x_2175_;
}
}
}
}
}
else
{
lean_object* v_vs_2179_; lean_object* v___x_2181_; uint8_t v_isShared_2182_; uint8_t v_isSharedCheck_2213_; 
v_vs_2179_ = lean_ctor_get(v_n_2131_, 0);
v_isSharedCheck_2213_ = !lean_is_exclusive(v_n_2131_);
if (v_isSharedCheck_2213_ == 0)
{
v___x_2181_ = v_n_2131_;
v_isShared_2182_ = v_isSharedCheck_2213_;
goto v_resetjp_2180_;
}
else
{
lean_inc(v_vs_2179_);
lean_dec(v_n_2131_);
v___x_2181_ = lean_box(0);
v_isShared_2182_ = v_isSharedCheck_2213_;
goto v_resetjp_2180_;
}
v_resetjp_2180_:
{
lean_object* v___x_2183_; lean_object* v___x_2184_; size_t v_sz_2185_; size_t v___x_2186_; lean_object* v___x_2187_; 
v___x_2183_ = lean_box(0);
v___x_2184_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2184_, 0, v___x_2183_);
lean_ctor_set(v___x_2184_, 1, v_b_2132_);
v_sz_2185_ = lean_array_size(v_vs_2179_);
v___x_2186_ = ((size_t)0ULL);
v___x_2187_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__2(v_vs_2179_, v_sz_2185_, v___x_2186_, v___x_2184_, v___y_2133_, v___y_2134_, v___y_2135_, v___y_2136_, v___y_2137_, v___y_2138_, v___y_2139_, v___y_2140_, v___y_2141_, v___y_2142_);
lean_dec_ref(v_vs_2179_);
if (lean_obj_tag(v___x_2187_) == 0)
{
lean_object* v_a_2188_; lean_object* v___x_2190_; uint8_t v_isShared_2191_; uint8_t v_isSharedCheck_2204_; 
v_a_2188_ = lean_ctor_get(v___x_2187_, 0);
v_isSharedCheck_2204_ = !lean_is_exclusive(v___x_2187_);
if (v_isSharedCheck_2204_ == 0)
{
v___x_2190_ = v___x_2187_;
v_isShared_2191_ = v_isSharedCheck_2204_;
goto v_resetjp_2189_;
}
else
{
lean_inc(v_a_2188_);
lean_dec(v___x_2187_);
v___x_2190_ = lean_box(0);
v_isShared_2191_ = v_isSharedCheck_2204_;
goto v_resetjp_2189_;
}
v_resetjp_2189_:
{
lean_object* v_fst_2192_; 
v_fst_2192_ = lean_ctor_get(v_a_2188_, 0);
if (lean_obj_tag(v_fst_2192_) == 0)
{
lean_object* v_snd_2193_; lean_object* v___x_2195_; 
v_snd_2193_ = lean_ctor_get(v_a_2188_, 1);
lean_inc(v_snd_2193_);
lean_dec(v_a_2188_);
if (v_isShared_2182_ == 0)
{
lean_ctor_set(v___x_2181_, 0, v_snd_2193_);
v___x_2195_ = v___x_2181_;
goto v_reusejp_2194_;
}
else
{
lean_object* v_reuseFailAlloc_2199_; 
v_reuseFailAlloc_2199_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2199_, 0, v_snd_2193_);
v___x_2195_ = v_reuseFailAlloc_2199_;
goto v_reusejp_2194_;
}
v_reusejp_2194_:
{
lean_object* v___x_2197_; 
if (v_isShared_2191_ == 0)
{
lean_ctor_set(v___x_2190_, 0, v___x_2195_);
v___x_2197_ = v___x_2190_;
goto v_reusejp_2196_;
}
else
{
lean_object* v_reuseFailAlloc_2198_; 
v_reuseFailAlloc_2198_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2198_, 0, v___x_2195_);
v___x_2197_ = v_reuseFailAlloc_2198_;
goto v_reusejp_2196_;
}
v_reusejp_2196_:
{
return v___x_2197_;
}
}
}
else
{
lean_object* v_val_2200_; lean_object* v___x_2202_; 
lean_inc_ref(v_fst_2192_);
lean_dec(v_a_2188_);
lean_del_object(v___x_2181_);
v_val_2200_ = lean_ctor_get(v_fst_2192_, 0);
lean_inc(v_val_2200_);
lean_dec_ref(v_fst_2192_);
if (v_isShared_2191_ == 0)
{
lean_ctor_set(v___x_2190_, 0, v_val_2200_);
v___x_2202_ = v___x_2190_;
goto v_reusejp_2201_;
}
else
{
lean_object* v_reuseFailAlloc_2203_; 
v_reuseFailAlloc_2203_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2203_, 0, v_val_2200_);
v___x_2202_ = v_reuseFailAlloc_2203_;
goto v_reusejp_2201_;
}
v_reusejp_2201_:
{
return v___x_2202_;
}
}
}
}
else
{
lean_object* v_a_2205_; lean_object* v___x_2207_; uint8_t v_isShared_2208_; uint8_t v_isSharedCheck_2212_; 
lean_del_object(v___x_2181_);
v_a_2205_ = lean_ctor_get(v___x_2187_, 0);
v_isSharedCheck_2212_ = !lean_is_exclusive(v___x_2187_);
if (v_isSharedCheck_2212_ == 0)
{
v___x_2207_ = v___x_2187_;
v_isShared_2208_ = v_isSharedCheck_2212_;
goto v_resetjp_2206_;
}
else
{
lean_inc(v_a_2205_);
lean_dec(v___x_2187_);
v___x_2207_ = lean_box(0);
v_isShared_2208_ = v_isSharedCheck_2212_;
goto v_resetjp_2206_;
}
v_resetjp_2206_:
{
lean_object* v___x_2210_; 
if (v_isShared_2208_ == 0)
{
v___x_2210_ = v___x_2207_;
goto v_reusejp_2209_;
}
else
{
lean_object* v_reuseFailAlloc_2211_; 
v_reuseFailAlloc_2211_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2211_, 0, v_a_2205_);
v___x_2210_ = v_reuseFailAlloc_2211_;
goto v_reusejp_2209_;
}
v_reusejp_2209_:
{
return v___x_2210_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__1(lean_object* v_inh_2214_, lean_object* v_as_2215_, size_t v_sz_2216_, size_t v_i_2217_, lean_object* v_b_2218_, lean_object* v___y_2219_, lean_object* v___y_2220_, lean_object* v___y_2221_, lean_object* v___y_2222_, lean_object* v___y_2223_, lean_object* v___y_2224_, lean_object* v___y_2225_, lean_object* v___y_2226_, lean_object* v___y_2227_, lean_object* v___y_2228_){
_start:
{
uint8_t v___x_2230_; 
v___x_2230_ = lean_usize_dec_lt(v_i_2217_, v_sz_2216_);
if (v___x_2230_ == 0)
{
lean_object* v___x_2231_; 
lean_dec(v___y_2228_);
lean_dec_ref(v___y_2227_);
lean_dec(v___y_2226_);
lean_dec_ref(v___y_2225_);
v___x_2231_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2231_, 0, v_b_2218_);
return v___x_2231_;
}
else
{
lean_object* v_snd_2232_; lean_object* v___x_2234_; uint8_t v_isShared_2235_; uint8_t v_isSharedCheck_2266_; 
v_snd_2232_ = lean_ctor_get(v_b_2218_, 1);
v_isSharedCheck_2266_ = !lean_is_exclusive(v_b_2218_);
if (v_isSharedCheck_2266_ == 0)
{
lean_object* v_unused_2267_; 
v_unused_2267_ = lean_ctor_get(v_b_2218_, 0);
lean_dec(v_unused_2267_);
v___x_2234_ = v_b_2218_;
v_isShared_2235_ = v_isSharedCheck_2266_;
goto v_resetjp_2233_;
}
else
{
lean_inc(v_snd_2232_);
lean_dec(v_b_2218_);
v___x_2234_ = lean_box(0);
v_isShared_2235_ = v_isSharedCheck_2266_;
goto v_resetjp_2233_;
}
v_resetjp_2233_:
{
lean_object* v_a_2236_; lean_object* v___x_2237_; 
v_a_2236_ = lean_array_uget_borrowed(v_as_2215_, v_i_2217_);
lean_inc(v___y_2228_);
lean_inc_ref(v___y_2227_);
lean_inc(v___y_2226_);
lean_inc_ref(v___y_2225_);
lean_inc(v_snd_2232_);
lean_inc(v_a_2236_);
v___x_2237_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0(v_inh_2214_, v_a_2236_, v_snd_2232_, v___y_2219_, v___y_2220_, v___y_2221_, v___y_2222_, v___y_2223_, v___y_2224_, v___y_2225_, v___y_2226_, v___y_2227_, v___y_2228_);
if (lean_obj_tag(v___x_2237_) == 0)
{
lean_object* v_a_2238_; lean_object* v___x_2240_; uint8_t v_isShared_2241_; uint8_t v_isSharedCheck_2257_; 
v_a_2238_ = lean_ctor_get(v___x_2237_, 0);
v_isSharedCheck_2257_ = !lean_is_exclusive(v___x_2237_);
if (v_isSharedCheck_2257_ == 0)
{
v___x_2240_ = v___x_2237_;
v_isShared_2241_ = v_isSharedCheck_2257_;
goto v_resetjp_2239_;
}
else
{
lean_inc(v_a_2238_);
lean_dec(v___x_2237_);
v___x_2240_ = lean_box(0);
v_isShared_2241_ = v_isSharedCheck_2257_;
goto v_resetjp_2239_;
}
v_resetjp_2239_:
{
if (lean_obj_tag(v_a_2238_) == 0)
{
lean_object* v___x_2242_; lean_object* v___x_2244_; 
lean_dec(v___y_2228_);
lean_dec_ref(v___y_2227_);
lean_dec(v___y_2226_);
lean_dec_ref(v___y_2225_);
v___x_2242_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2242_, 0, v_a_2238_);
if (v_isShared_2235_ == 0)
{
lean_ctor_set(v___x_2234_, 0, v___x_2242_);
v___x_2244_ = v___x_2234_;
goto v_reusejp_2243_;
}
else
{
lean_object* v_reuseFailAlloc_2248_; 
v_reuseFailAlloc_2248_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2248_, 0, v___x_2242_);
lean_ctor_set(v_reuseFailAlloc_2248_, 1, v_snd_2232_);
v___x_2244_ = v_reuseFailAlloc_2248_;
goto v_reusejp_2243_;
}
v_reusejp_2243_:
{
lean_object* v___x_2246_; 
if (v_isShared_2241_ == 0)
{
lean_ctor_set(v___x_2240_, 0, v___x_2244_);
v___x_2246_ = v___x_2240_;
goto v_reusejp_2245_;
}
else
{
lean_object* v_reuseFailAlloc_2247_; 
v_reuseFailAlloc_2247_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2247_, 0, v___x_2244_);
v___x_2246_ = v_reuseFailAlloc_2247_;
goto v_reusejp_2245_;
}
v_reusejp_2245_:
{
return v___x_2246_;
}
}
}
else
{
lean_object* v_a_2249_; lean_object* v___x_2250_; lean_object* v___x_2252_; 
lean_del_object(v___x_2240_);
lean_dec(v_snd_2232_);
v_a_2249_ = lean_ctor_get(v_a_2238_, 0);
lean_inc(v_a_2249_);
lean_dec_ref(v_a_2238_);
v___x_2250_ = lean_box(0);
if (v_isShared_2235_ == 0)
{
lean_ctor_set(v___x_2234_, 1, v_a_2249_);
lean_ctor_set(v___x_2234_, 0, v___x_2250_);
v___x_2252_ = v___x_2234_;
goto v_reusejp_2251_;
}
else
{
lean_object* v_reuseFailAlloc_2256_; 
v_reuseFailAlloc_2256_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2256_, 0, v___x_2250_);
lean_ctor_set(v_reuseFailAlloc_2256_, 1, v_a_2249_);
v___x_2252_ = v_reuseFailAlloc_2256_;
goto v_reusejp_2251_;
}
v_reusejp_2251_:
{
size_t v___x_2253_; size_t v___x_2254_; 
v___x_2253_ = ((size_t)1ULL);
v___x_2254_ = lean_usize_add(v_i_2217_, v___x_2253_);
v_i_2217_ = v___x_2254_;
v_b_2218_ = v___x_2252_;
goto _start;
}
}
}
}
else
{
lean_object* v_a_2258_; lean_object* v___x_2260_; uint8_t v_isShared_2261_; uint8_t v_isSharedCheck_2265_; 
lean_del_object(v___x_2234_);
lean_dec(v_snd_2232_);
lean_dec(v___y_2228_);
lean_dec_ref(v___y_2227_);
lean_dec(v___y_2226_);
lean_dec_ref(v___y_2225_);
v_a_2258_ = lean_ctor_get(v___x_2237_, 0);
v_isSharedCheck_2265_ = !lean_is_exclusive(v___x_2237_);
if (v_isSharedCheck_2265_ == 0)
{
v___x_2260_ = v___x_2237_;
v_isShared_2261_ = v_isSharedCheck_2265_;
goto v_resetjp_2259_;
}
else
{
lean_inc(v_a_2258_);
lean_dec(v___x_2237_);
v___x_2260_ = lean_box(0);
v_isShared_2261_ = v_isSharedCheck_2265_;
goto v_resetjp_2259_;
}
v_resetjp_2259_:
{
lean_object* v___x_2263_; 
if (v_isShared_2261_ == 0)
{
v___x_2263_ = v___x_2260_;
goto v_reusejp_2262_;
}
else
{
lean_object* v_reuseFailAlloc_2264_; 
v_reuseFailAlloc_2264_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2264_, 0, v_a_2258_);
v___x_2263_ = v_reuseFailAlloc_2264_;
goto v_reusejp_2262_;
}
v_reusejp_2262_:
{
return v___x_2263_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__1___boxed(lean_object* v_inh_2268_, lean_object* v_as_2269_, lean_object* v_sz_2270_, lean_object* v_i_2271_, lean_object* v_b_2272_, lean_object* v___y_2273_, lean_object* v___y_2274_, lean_object* v___y_2275_, lean_object* v___y_2276_, lean_object* v___y_2277_, lean_object* v___y_2278_, lean_object* v___y_2279_, lean_object* v___y_2280_, lean_object* v___y_2281_, lean_object* v___y_2282_, lean_object* v___y_2283_){
_start:
{
size_t v_sz_boxed_2284_; size_t v_i_boxed_2285_; lean_object* v_res_2286_; 
v_sz_boxed_2284_ = lean_unbox_usize(v_sz_2270_);
lean_dec(v_sz_2270_);
v_i_boxed_2285_ = lean_unbox_usize(v_i_2271_);
lean_dec(v_i_2271_);
v_res_2286_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0_spec__1(v_inh_2268_, v_as_2269_, v_sz_boxed_2284_, v_i_boxed_2285_, v_b_2272_, v___y_2273_, v___y_2274_, v___y_2275_, v___y_2276_, v___y_2277_, v___y_2278_, v___y_2279_, v___y_2280_, v___y_2281_, v___y_2282_);
lean_dec(v___y_2278_);
lean_dec_ref(v___y_2277_);
lean_dec(v___y_2276_);
lean_dec_ref(v___y_2275_);
lean_dec(v___y_2274_);
lean_dec(v___y_2273_);
lean_dec_ref(v_as_2269_);
return v_res_2286_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0___boxed(lean_object* v_inh_2287_, lean_object* v_n_2288_, lean_object* v_b_2289_, lean_object* v___y_2290_, lean_object* v___y_2291_, lean_object* v___y_2292_, lean_object* v___y_2293_, lean_object* v___y_2294_, lean_object* v___y_2295_, lean_object* v___y_2296_, lean_object* v___y_2297_, lean_object* v___y_2298_, lean_object* v___y_2299_, lean_object* v___y_2300_){
_start:
{
lean_object* v_res_2301_; 
v_res_2301_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0(v_inh_2287_, v_n_2288_, v_b_2289_, v___y_2290_, v___y_2291_, v___y_2292_, v___y_2293_, v___y_2294_, v___y_2295_, v___y_2296_, v___y_2297_, v___y_2298_, v___y_2299_);
lean_dec(v___y_2295_);
lean_dec_ref(v___y_2294_);
lean_dec(v___y_2293_);
lean_dec_ref(v___y_2292_);
lean_dec(v___y_2291_);
lean_dec(v___y_2290_);
return v_res_2301_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1_spec__4(lean_object* v_as_2302_, size_t v_sz_2303_, size_t v_i_2304_, lean_object* v_b_2305_, lean_object* v___y_2306_, lean_object* v___y_2307_, lean_object* v___y_2308_, lean_object* v___y_2309_, lean_object* v___y_2310_, lean_object* v___y_2311_, lean_object* v___y_2312_, lean_object* v___y_2313_, lean_object* v___y_2314_, lean_object* v___y_2315_){
_start:
{
uint8_t v___x_2317_; 
v___x_2317_ = lean_usize_dec_lt(v_i_2304_, v_sz_2303_);
if (v___x_2317_ == 0)
{
lean_object* v___x_2318_; 
lean_dec(v___y_2315_);
lean_dec_ref(v___y_2314_);
lean_dec(v___y_2313_);
lean_dec_ref(v___y_2312_);
v___x_2318_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2318_, 0, v_b_2305_);
return v___x_2318_;
}
else
{
lean_object* v_a_2319_; lean_object* v___x_2320_; 
lean_dec_ref(v_b_2305_);
v_a_2319_ = lean_array_uget_borrowed(v_as_2302_, v_i_2304_);
lean_inc(v___y_2315_);
lean_inc_ref(v___y_2314_);
lean_inc(v___y_2313_);
lean_inc_ref(v___y_2312_);
lean_inc(v_a_2319_);
v___x_2320_ = lean_infer_type(v_a_2319_, v___y_2312_, v___y_2313_, v___y_2314_, v___y_2315_);
if (lean_obj_tag(v___x_2320_) == 0)
{
lean_object* v_a_2321_; lean_object* v___x_2322_; lean_object* v___x_2323_; lean_object* v___x_2324_; 
v_a_2321_ = lean_ctor_get(v___x_2320_, 0);
lean_inc(v_a_2321_);
lean_dec_ref(v___x_2320_);
v___x_2322_ = lean_unsigned_to_nat(0u);
v___x_2323_ = lean_box(6);
lean_inc(v___y_2315_);
lean_inc_ref(v___y_2314_);
lean_inc(v___y_2313_);
lean_inc_ref(v___y_2312_);
lean_inc(v_a_2319_);
v___x_2324_ = l_Lean_Meta_Grind_addNewRawFact(v_a_2319_, v_a_2321_, v___x_2322_, v___x_2323_, v___y_2306_, v___y_2307_, v___y_2308_, v___y_2309_, v___y_2310_, v___y_2311_, v___y_2312_, v___y_2313_, v___y_2314_, v___y_2315_);
if (lean_obj_tag(v___x_2324_) == 0)
{
lean_object* v___x_2325_; size_t v___x_2326_; size_t v___x_2327_; 
lean_dec_ref(v___x_2324_);
v___x_2325_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16___closed__0));
v___x_2326_ = ((size_t)1ULL);
v___x_2327_ = lean_usize_add(v_i_2304_, v___x_2326_);
v_i_2304_ = v___x_2327_;
v_b_2305_ = v___x_2325_;
goto _start;
}
else
{
lean_object* v_a_2329_; lean_object* v___x_2331_; uint8_t v_isShared_2332_; uint8_t v_isSharedCheck_2336_; 
lean_dec(v___y_2315_);
lean_dec_ref(v___y_2314_);
lean_dec(v___y_2313_);
lean_dec_ref(v___y_2312_);
v_a_2329_ = lean_ctor_get(v___x_2324_, 0);
v_isSharedCheck_2336_ = !lean_is_exclusive(v___x_2324_);
if (v_isSharedCheck_2336_ == 0)
{
v___x_2331_ = v___x_2324_;
v_isShared_2332_ = v_isSharedCheck_2336_;
goto v_resetjp_2330_;
}
else
{
lean_inc(v_a_2329_);
lean_dec(v___x_2324_);
v___x_2331_ = lean_box(0);
v_isShared_2332_ = v_isSharedCheck_2336_;
goto v_resetjp_2330_;
}
v_resetjp_2330_:
{
lean_object* v___x_2334_; 
if (v_isShared_2332_ == 0)
{
v___x_2334_ = v___x_2331_;
goto v_reusejp_2333_;
}
else
{
lean_object* v_reuseFailAlloc_2335_; 
v_reuseFailAlloc_2335_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2335_, 0, v_a_2329_);
v___x_2334_ = v_reuseFailAlloc_2335_;
goto v_reusejp_2333_;
}
v_reusejp_2333_:
{
return v___x_2334_;
}
}
}
}
else
{
lean_object* v_a_2337_; lean_object* v___x_2339_; uint8_t v_isShared_2340_; uint8_t v_isSharedCheck_2344_; 
lean_dec(v___y_2315_);
lean_dec_ref(v___y_2314_);
lean_dec(v___y_2313_);
lean_dec_ref(v___y_2312_);
v_a_2337_ = lean_ctor_get(v___x_2320_, 0);
v_isSharedCheck_2344_ = !lean_is_exclusive(v___x_2320_);
if (v_isSharedCheck_2344_ == 0)
{
v___x_2339_ = v___x_2320_;
v_isShared_2340_ = v_isSharedCheck_2344_;
goto v_resetjp_2338_;
}
else
{
lean_inc(v_a_2337_);
lean_dec(v___x_2320_);
v___x_2339_ = lean_box(0);
v_isShared_2340_ = v_isSharedCheck_2344_;
goto v_resetjp_2338_;
}
v_resetjp_2338_:
{
lean_object* v___x_2342_; 
if (v_isShared_2340_ == 0)
{
v___x_2342_ = v___x_2339_;
goto v_reusejp_2341_;
}
else
{
lean_object* v_reuseFailAlloc_2343_; 
v_reuseFailAlloc_2343_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2343_, 0, v_a_2337_);
v___x_2342_ = v_reuseFailAlloc_2343_;
goto v_reusejp_2341_;
}
v_reusejp_2341_:
{
return v___x_2342_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1_spec__4___boxed(lean_object* v_as_2345_, lean_object* v_sz_2346_, lean_object* v_i_2347_, lean_object* v_b_2348_, lean_object* v___y_2349_, lean_object* v___y_2350_, lean_object* v___y_2351_, lean_object* v___y_2352_, lean_object* v___y_2353_, lean_object* v___y_2354_, lean_object* v___y_2355_, lean_object* v___y_2356_, lean_object* v___y_2357_, lean_object* v___y_2358_, lean_object* v___y_2359_){
_start:
{
size_t v_sz_boxed_2360_; size_t v_i_boxed_2361_; lean_object* v_res_2362_; 
v_sz_boxed_2360_ = lean_unbox_usize(v_sz_2346_);
lean_dec(v_sz_2346_);
v_i_boxed_2361_ = lean_unbox_usize(v_i_2347_);
lean_dec(v_i_2347_);
v_res_2362_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1_spec__4(v_as_2345_, v_sz_boxed_2360_, v_i_boxed_2361_, v_b_2348_, v___y_2349_, v___y_2350_, v___y_2351_, v___y_2352_, v___y_2353_, v___y_2354_, v___y_2355_, v___y_2356_, v___y_2357_, v___y_2358_);
lean_dec(v___y_2354_);
lean_dec_ref(v___y_2353_);
lean_dec(v___y_2352_);
lean_dec_ref(v___y_2351_);
lean_dec(v___y_2350_);
lean_dec(v___y_2349_);
lean_dec_ref(v_as_2345_);
return v_res_2362_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1(lean_object* v_as_2363_, size_t v_sz_2364_, size_t v_i_2365_, lean_object* v_b_2366_, lean_object* v___y_2367_, lean_object* v___y_2368_, lean_object* v___y_2369_, lean_object* v___y_2370_, lean_object* v___y_2371_, lean_object* v___y_2372_, lean_object* v___y_2373_, lean_object* v___y_2374_, lean_object* v___y_2375_, lean_object* v___y_2376_){
_start:
{
uint8_t v___x_2378_; 
v___x_2378_ = lean_usize_dec_lt(v_i_2365_, v_sz_2364_);
if (v___x_2378_ == 0)
{
lean_object* v___x_2379_; 
lean_dec(v___y_2376_);
lean_dec_ref(v___y_2375_);
lean_dec(v___y_2374_);
lean_dec_ref(v___y_2373_);
v___x_2379_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2379_, 0, v_b_2366_);
return v___x_2379_;
}
else
{
lean_object* v_a_2380_; lean_object* v___x_2381_; 
lean_dec_ref(v_b_2366_);
v_a_2380_ = lean_array_uget_borrowed(v_as_2363_, v_i_2365_);
lean_inc(v___y_2376_);
lean_inc_ref(v___y_2375_);
lean_inc(v___y_2374_);
lean_inc_ref(v___y_2373_);
lean_inc(v_a_2380_);
v___x_2381_ = lean_infer_type(v_a_2380_, v___y_2373_, v___y_2374_, v___y_2375_, v___y_2376_);
if (lean_obj_tag(v___x_2381_) == 0)
{
lean_object* v_a_2382_; lean_object* v___x_2383_; lean_object* v___x_2384_; lean_object* v___x_2385_; 
v_a_2382_ = lean_ctor_get(v___x_2381_, 0);
lean_inc(v_a_2382_);
lean_dec_ref(v___x_2381_);
v___x_2383_ = lean_unsigned_to_nat(0u);
v___x_2384_ = lean_box(6);
lean_inc(v___y_2376_);
lean_inc_ref(v___y_2375_);
lean_inc(v___y_2374_);
lean_inc_ref(v___y_2373_);
lean_inc(v_a_2380_);
v___x_2385_ = l_Lean_Meta_Grind_addNewRawFact(v_a_2380_, v_a_2382_, v___x_2383_, v___x_2384_, v___y_2367_, v___y_2368_, v___y_2369_, v___y_2370_, v___y_2371_, v___y_2372_, v___y_2373_, v___y_2374_, v___y_2375_, v___y_2376_);
if (lean_obj_tag(v___x_2385_) == 0)
{
lean_object* v___x_2386_; size_t v___x_2387_; size_t v___x_2388_; lean_object* v___x_2389_; 
lean_dec_ref(v___x_2385_);
v___x_2386_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16___closed__0));
v___x_2387_ = ((size_t)1ULL);
v___x_2388_ = lean_usize_add(v_i_2365_, v___x_2387_);
v___x_2389_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1_spec__4(v_as_2363_, v_sz_2364_, v___x_2388_, v___x_2386_, v___y_2367_, v___y_2368_, v___y_2369_, v___y_2370_, v___y_2371_, v___y_2372_, v___y_2373_, v___y_2374_, v___y_2375_, v___y_2376_);
return v___x_2389_;
}
else
{
lean_object* v_a_2390_; lean_object* v___x_2392_; uint8_t v_isShared_2393_; uint8_t v_isSharedCheck_2397_; 
lean_dec(v___y_2376_);
lean_dec_ref(v___y_2375_);
lean_dec(v___y_2374_);
lean_dec_ref(v___y_2373_);
v_a_2390_ = lean_ctor_get(v___x_2385_, 0);
v_isSharedCheck_2397_ = !lean_is_exclusive(v___x_2385_);
if (v_isSharedCheck_2397_ == 0)
{
v___x_2392_ = v___x_2385_;
v_isShared_2393_ = v_isSharedCheck_2397_;
goto v_resetjp_2391_;
}
else
{
lean_inc(v_a_2390_);
lean_dec(v___x_2385_);
v___x_2392_ = lean_box(0);
v_isShared_2393_ = v_isSharedCheck_2397_;
goto v_resetjp_2391_;
}
v_resetjp_2391_:
{
lean_object* v___x_2395_; 
if (v_isShared_2393_ == 0)
{
v___x_2395_ = v___x_2392_;
goto v_reusejp_2394_;
}
else
{
lean_object* v_reuseFailAlloc_2396_; 
v_reuseFailAlloc_2396_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2396_, 0, v_a_2390_);
v___x_2395_ = v_reuseFailAlloc_2396_;
goto v_reusejp_2394_;
}
v_reusejp_2394_:
{
return v___x_2395_;
}
}
}
}
else
{
lean_object* v_a_2398_; lean_object* v___x_2400_; uint8_t v_isShared_2401_; uint8_t v_isSharedCheck_2405_; 
lean_dec(v___y_2376_);
lean_dec_ref(v___y_2375_);
lean_dec(v___y_2374_);
lean_dec_ref(v___y_2373_);
v_a_2398_ = lean_ctor_get(v___x_2381_, 0);
v_isSharedCheck_2405_ = !lean_is_exclusive(v___x_2381_);
if (v_isSharedCheck_2405_ == 0)
{
v___x_2400_ = v___x_2381_;
v_isShared_2401_ = v_isSharedCheck_2405_;
goto v_resetjp_2399_;
}
else
{
lean_inc(v_a_2398_);
lean_dec(v___x_2381_);
v___x_2400_ = lean_box(0);
v_isShared_2401_ = v_isSharedCheck_2405_;
goto v_resetjp_2399_;
}
v_resetjp_2399_:
{
lean_object* v___x_2403_; 
if (v_isShared_2401_ == 0)
{
v___x_2403_ = v___x_2400_;
goto v_reusejp_2402_;
}
else
{
lean_object* v_reuseFailAlloc_2404_; 
v_reuseFailAlloc_2404_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2404_, 0, v_a_2398_);
v___x_2403_ = v_reuseFailAlloc_2404_;
goto v_reusejp_2402_;
}
v_reusejp_2402_:
{
return v___x_2403_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1___boxed(lean_object* v_as_2406_, lean_object* v_sz_2407_, lean_object* v_i_2408_, lean_object* v_b_2409_, lean_object* v___y_2410_, lean_object* v___y_2411_, lean_object* v___y_2412_, lean_object* v___y_2413_, lean_object* v___y_2414_, lean_object* v___y_2415_, lean_object* v___y_2416_, lean_object* v___y_2417_, lean_object* v___y_2418_, lean_object* v___y_2419_, lean_object* v___y_2420_){
_start:
{
size_t v_sz_boxed_2421_; size_t v_i_boxed_2422_; lean_object* v_res_2423_; 
v_sz_boxed_2421_ = lean_unbox_usize(v_sz_2407_);
lean_dec(v_sz_2407_);
v_i_boxed_2422_ = lean_unbox_usize(v_i_2408_);
lean_dec(v_i_2408_);
v_res_2423_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1(v_as_2406_, v_sz_boxed_2421_, v_i_boxed_2422_, v_b_2409_, v___y_2410_, v___y_2411_, v___y_2412_, v___y_2413_, v___y_2414_, v___y_2415_, v___y_2416_, v___y_2417_, v___y_2418_, v___y_2419_);
lean_dec(v___y_2415_);
lean_dec_ref(v___y_2414_);
lean_dec(v___y_2413_);
lean_dec_ref(v___y_2412_);
lean_dec(v___y_2411_);
lean_dec(v___y_2410_);
lean_dec_ref(v_as_2406_);
return v_res_2423_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0(lean_object* v_t_2424_, lean_object* v_init_2425_, lean_object* v___y_2426_, lean_object* v___y_2427_, lean_object* v___y_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_, lean_object* v___y_2434_, lean_object* v___y_2435_){
_start:
{
lean_object* v_root_2437_; lean_object* v_tail_2438_; lean_object* v___x_2439_; 
v_root_2437_ = lean_ctor_get(v_t_2424_, 0);
lean_inc_ref(v_root_2437_);
v_tail_2438_ = lean_ctor_get(v_t_2424_, 1);
lean_inc_ref(v_tail_2438_);
lean_dec_ref(v_t_2424_);
lean_inc(v___y_2435_);
lean_inc_ref(v___y_2434_);
lean_inc(v___y_2433_);
lean_inc_ref(v___y_2432_);
v___x_2439_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__0(v_init_2425_, v_root_2437_, v_init_2425_, v___y_2426_, v___y_2427_, v___y_2428_, v___y_2429_, v___y_2430_, v___y_2431_, v___y_2432_, v___y_2433_, v___y_2434_, v___y_2435_);
if (lean_obj_tag(v___x_2439_) == 0)
{
lean_object* v_a_2440_; lean_object* v___x_2442_; uint8_t v_isShared_2443_; uint8_t v_isSharedCheck_2476_; 
v_a_2440_ = lean_ctor_get(v___x_2439_, 0);
v_isSharedCheck_2476_ = !lean_is_exclusive(v___x_2439_);
if (v_isSharedCheck_2476_ == 0)
{
v___x_2442_ = v___x_2439_;
v_isShared_2443_ = v_isSharedCheck_2476_;
goto v_resetjp_2441_;
}
else
{
lean_inc(v_a_2440_);
lean_dec(v___x_2439_);
v___x_2442_ = lean_box(0);
v_isShared_2443_ = v_isSharedCheck_2476_;
goto v_resetjp_2441_;
}
v_resetjp_2441_:
{
if (lean_obj_tag(v_a_2440_) == 0)
{
lean_object* v_a_2444_; lean_object* v___x_2446_; 
lean_dec_ref(v_tail_2438_);
lean_dec(v___y_2435_);
lean_dec_ref(v___y_2434_);
lean_dec(v___y_2433_);
lean_dec_ref(v___y_2432_);
v_a_2444_ = lean_ctor_get(v_a_2440_, 0);
lean_inc(v_a_2444_);
lean_dec_ref(v_a_2440_);
if (v_isShared_2443_ == 0)
{
lean_ctor_set(v___x_2442_, 0, v_a_2444_);
v___x_2446_ = v___x_2442_;
goto v_reusejp_2445_;
}
else
{
lean_object* v_reuseFailAlloc_2447_; 
v_reuseFailAlloc_2447_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2447_, 0, v_a_2444_);
v___x_2446_ = v_reuseFailAlloc_2447_;
goto v_reusejp_2445_;
}
v_reusejp_2445_:
{
return v___x_2446_;
}
}
else
{
lean_object* v_a_2448_; lean_object* v___x_2449_; lean_object* v___x_2450_; size_t v_sz_2451_; size_t v___x_2452_; lean_object* v___x_2453_; 
lean_del_object(v___x_2442_);
v_a_2448_ = lean_ctor_get(v_a_2440_, 0);
lean_inc(v_a_2448_);
lean_dec_ref(v_a_2440_);
v___x_2449_ = lean_box(0);
v___x_2450_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2450_, 0, v___x_2449_);
lean_ctor_set(v___x_2450_, 1, v_a_2448_);
v_sz_2451_ = lean_array_size(v_tail_2438_);
v___x_2452_ = ((size_t)0ULL);
v___x_2453_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0_spec__1(v_tail_2438_, v_sz_2451_, v___x_2452_, v___x_2450_, v___y_2426_, v___y_2427_, v___y_2428_, v___y_2429_, v___y_2430_, v___y_2431_, v___y_2432_, v___y_2433_, v___y_2434_, v___y_2435_);
lean_dec_ref(v_tail_2438_);
if (lean_obj_tag(v___x_2453_) == 0)
{
lean_object* v_a_2454_; lean_object* v___x_2456_; uint8_t v_isShared_2457_; uint8_t v_isSharedCheck_2467_; 
v_a_2454_ = lean_ctor_get(v___x_2453_, 0);
v_isSharedCheck_2467_ = !lean_is_exclusive(v___x_2453_);
if (v_isSharedCheck_2467_ == 0)
{
v___x_2456_ = v___x_2453_;
v_isShared_2457_ = v_isSharedCheck_2467_;
goto v_resetjp_2455_;
}
else
{
lean_inc(v_a_2454_);
lean_dec(v___x_2453_);
v___x_2456_ = lean_box(0);
v_isShared_2457_ = v_isSharedCheck_2467_;
goto v_resetjp_2455_;
}
v_resetjp_2455_:
{
lean_object* v_fst_2458_; 
v_fst_2458_ = lean_ctor_get(v_a_2454_, 0);
if (lean_obj_tag(v_fst_2458_) == 0)
{
lean_object* v_snd_2459_; lean_object* v___x_2461_; 
v_snd_2459_ = lean_ctor_get(v_a_2454_, 1);
lean_inc(v_snd_2459_);
lean_dec(v_a_2454_);
if (v_isShared_2457_ == 0)
{
lean_ctor_set(v___x_2456_, 0, v_snd_2459_);
v___x_2461_ = v___x_2456_;
goto v_reusejp_2460_;
}
else
{
lean_object* v_reuseFailAlloc_2462_; 
v_reuseFailAlloc_2462_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2462_, 0, v_snd_2459_);
v___x_2461_ = v_reuseFailAlloc_2462_;
goto v_reusejp_2460_;
}
v_reusejp_2460_:
{
return v___x_2461_;
}
}
else
{
lean_object* v_val_2463_; lean_object* v___x_2465_; 
lean_inc_ref(v_fst_2458_);
lean_dec(v_a_2454_);
v_val_2463_ = lean_ctor_get(v_fst_2458_, 0);
lean_inc(v_val_2463_);
lean_dec_ref(v_fst_2458_);
if (v_isShared_2457_ == 0)
{
lean_ctor_set(v___x_2456_, 0, v_val_2463_);
v___x_2465_ = v___x_2456_;
goto v_reusejp_2464_;
}
else
{
lean_object* v_reuseFailAlloc_2466_; 
v_reuseFailAlloc_2466_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2466_, 0, v_val_2463_);
v___x_2465_ = v_reuseFailAlloc_2466_;
goto v_reusejp_2464_;
}
v_reusejp_2464_:
{
return v___x_2465_;
}
}
}
}
else
{
lean_object* v_a_2468_; lean_object* v___x_2470_; uint8_t v_isShared_2471_; uint8_t v_isSharedCheck_2475_; 
v_a_2468_ = lean_ctor_get(v___x_2453_, 0);
v_isSharedCheck_2475_ = !lean_is_exclusive(v___x_2453_);
if (v_isSharedCheck_2475_ == 0)
{
v___x_2470_ = v___x_2453_;
v_isShared_2471_ = v_isSharedCheck_2475_;
goto v_resetjp_2469_;
}
else
{
lean_inc(v_a_2468_);
lean_dec(v___x_2453_);
v___x_2470_ = lean_box(0);
v_isShared_2471_ = v_isSharedCheck_2475_;
goto v_resetjp_2469_;
}
v_resetjp_2469_:
{
lean_object* v___x_2473_; 
if (v_isShared_2471_ == 0)
{
v___x_2473_ = v___x_2470_;
goto v_reusejp_2472_;
}
else
{
lean_object* v_reuseFailAlloc_2474_; 
v_reuseFailAlloc_2474_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2474_, 0, v_a_2468_);
v___x_2473_ = v_reuseFailAlloc_2474_;
goto v_reusejp_2472_;
}
v_reusejp_2472_:
{
return v___x_2473_;
}
}
}
}
}
}
else
{
lean_object* v_a_2477_; lean_object* v___x_2479_; uint8_t v_isShared_2480_; uint8_t v_isSharedCheck_2484_; 
lean_dec_ref(v_tail_2438_);
lean_dec(v___y_2435_);
lean_dec_ref(v___y_2434_);
lean_dec(v___y_2433_);
lean_dec_ref(v___y_2432_);
v_a_2477_ = lean_ctor_get(v___x_2439_, 0);
v_isSharedCheck_2484_ = !lean_is_exclusive(v___x_2439_);
if (v_isSharedCheck_2484_ == 0)
{
v___x_2479_ = v___x_2439_;
v_isShared_2480_ = v_isSharedCheck_2484_;
goto v_resetjp_2478_;
}
else
{
lean_inc(v_a_2477_);
lean_dec(v___x_2439_);
v___x_2479_ = lean_box(0);
v_isShared_2480_ = v_isSharedCheck_2484_;
goto v_resetjp_2478_;
}
v_resetjp_2478_:
{
lean_object* v___x_2482_; 
if (v_isShared_2480_ == 0)
{
v___x_2482_ = v___x_2479_;
goto v_reusejp_2481_;
}
else
{
lean_object* v_reuseFailAlloc_2483_; 
v_reuseFailAlloc_2483_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2483_, 0, v_a_2477_);
v___x_2482_ = v_reuseFailAlloc_2483_;
goto v_reusejp_2481_;
}
v_reusejp_2481_:
{
return v___x_2482_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0___boxed(lean_object* v_t_2485_, lean_object* v_init_2486_, lean_object* v___y_2487_, lean_object* v___y_2488_, lean_object* v___y_2489_, lean_object* v___y_2490_, lean_object* v___y_2491_, lean_object* v___y_2492_, lean_object* v___y_2493_, lean_object* v___y_2494_, lean_object* v___y_2495_, lean_object* v___y_2496_, lean_object* v___y_2497_){
_start:
{
lean_object* v_res_2498_; 
v_res_2498_ = l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0(v_t_2485_, v_init_2486_, v___y_2487_, v___y_2488_, v___y_2489_, v___y_2490_, v___y_2491_, v___y_2492_, v___y_2493_, v___y_2494_, v___y_2495_, v___y_2496_);
lean_dec(v___y_2492_);
lean_dec_ref(v___y_2491_);
lean_dec(v___y_2490_);
lean_dec_ref(v___y_2489_);
lean_dec(v___y_2488_);
lean_dec(v___y_2487_);
return v_res_2498_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__4_spec__10(lean_object* v_as_2499_, size_t v_sz_2500_, size_t v_i_2501_, lean_object* v_b_2502_, lean_object* v___y_2503_, lean_object* v___y_2504_, lean_object* v___y_2505_, lean_object* v___y_2506_, lean_object* v___y_2507_, lean_object* v___y_2508_, lean_object* v___y_2509_, lean_object* v___y_2510_, lean_object* v___y_2511_, lean_object* v___y_2512_){
_start:
{
uint8_t v___x_2514_; 
v___x_2514_ = lean_usize_dec_lt(v_i_2501_, v_sz_2500_);
if (v___x_2514_ == 0)
{
lean_object* v___x_2515_; 
lean_dec(v___y_2512_);
lean_dec_ref(v___y_2511_);
lean_dec(v___y_2510_);
lean_dec_ref(v___y_2509_);
lean_dec(v___y_2508_);
lean_dec_ref(v___y_2507_);
lean_dec(v___y_2506_);
lean_dec_ref(v___y_2505_);
lean_dec(v___y_2504_);
lean_dec(v___y_2503_);
v___x_2515_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2515_, 0, v_b_2502_);
return v___x_2515_;
}
else
{
lean_object* v_a_2516_; lean_object* v___x_2517_; lean_object* v___x_2518_; 
lean_dec_ref(v_b_2502_);
v_a_2516_ = lean_array_uget_borrowed(v_as_2499_, v_i_2501_);
v___x_2517_ = lean_unsigned_to_nat(0u);
lean_inc(v___y_2512_);
lean_inc_ref(v___y_2511_);
lean_inc(v___y_2510_);
lean_inc_ref(v___y_2509_);
lean_inc(v___y_2508_);
lean_inc_ref(v___y_2507_);
lean_inc(v___y_2506_);
lean_inc_ref(v___y_2505_);
lean_inc(v___y_2504_);
lean_inc(v___y_2503_);
lean_inc(v_a_2516_);
v___x_2518_ = l_Lean_Meta_Grind_activateTheorem(v_a_2516_, v___x_2517_, v___y_2503_, v___y_2504_, v___y_2505_, v___y_2506_, v___y_2507_, v___y_2508_, v___y_2509_, v___y_2510_, v___y_2511_, v___y_2512_);
if (lean_obj_tag(v___x_2518_) == 0)
{
lean_object* v___x_2519_; size_t v___x_2520_; size_t v___x_2521_; 
lean_dec_ref(v___x_2518_);
v___x_2519_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16___closed__0));
v___x_2520_ = ((size_t)1ULL);
v___x_2521_ = lean_usize_add(v_i_2501_, v___x_2520_);
v_i_2501_ = v___x_2521_;
v_b_2502_ = v___x_2519_;
goto _start;
}
else
{
lean_object* v_a_2523_; lean_object* v___x_2525_; uint8_t v_isShared_2526_; uint8_t v_isSharedCheck_2530_; 
lean_dec(v___y_2512_);
lean_dec_ref(v___y_2511_);
lean_dec(v___y_2510_);
lean_dec_ref(v___y_2509_);
lean_dec(v___y_2508_);
lean_dec_ref(v___y_2507_);
lean_dec(v___y_2506_);
lean_dec_ref(v___y_2505_);
lean_dec(v___y_2504_);
lean_dec(v___y_2503_);
v_a_2523_ = lean_ctor_get(v___x_2518_, 0);
v_isSharedCheck_2530_ = !lean_is_exclusive(v___x_2518_);
if (v_isSharedCheck_2530_ == 0)
{
v___x_2525_ = v___x_2518_;
v_isShared_2526_ = v_isSharedCheck_2530_;
goto v_resetjp_2524_;
}
else
{
lean_inc(v_a_2523_);
lean_dec(v___x_2518_);
v___x_2525_ = lean_box(0);
v_isShared_2526_ = v_isSharedCheck_2530_;
goto v_resetjp_2524_;
}
v_resetjp_2524_:
{
lean_object* v___x_2528_; 
if (v_isShared_2526_ == 0)
{
v___x_2528_ = v___x_2525_;
goto v_reusejp_2527_;
}
else
{
lean_object* v_reuseFailAlloc_2529_; 
v_reuseFailAlloc_2529_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2529_, 0, v_a_2523_);
v___x_2528_ = v_reuseFailAlloc_2529_;
goto v_reusejp_2527_;
}
v_reusejp_2527_:
{
return v___x_2528_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__4_spec__10___boxed(lean_object* v_as_2531_, lean_object* v_sz_2532_, lean_object* v_i_2533_, lean_object* v_b_2534_, lean_object* v___y_2535_, lean_object* v___y_2536_, lean_object* v___y_2537_, lean_object* v___y_2538_, lean_object* v___y_2539_, lean_object* v___y_2540_, lean_object* v___y_2541_, lean_object* v___y_2542_, lean_object* v___y_2543_, lean_object* v___y_2544_, lean_object* v___y_2545_){
_start:
{
size_t v_sz_boxed_2546_; size_t v_i_boxed_2547_; lean_object* v_res_2548_; 
v_sz_boxed_2546_ = lean_unbox_usize(v_sz_2532_);
lean_dec(v_sz_2532_);
v_i_boxed_2547_ = lean_unbox_usize(v_i_2533_);
lean_dec(v_i_2533_);
v_res_2548_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__4_spec__10(v_as_2531_, v_sz_boxed_2546_, v_i_boxed_2547_, v_b_2534_, v___y_2535_, v___y_2536_, v___y_2537_, v___y_2538_, v___y_2539_, v___y_2540_, v___y_2541_, v___y_2542_, v___y_2543_, v___y_2544_);
lean_dec_ref(v_as_2531_);
return v_res_2548_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__4(lean_object* v_as_2549_, size_t v_sz_2550_, size_t v_i_2551_, lean_object* v_b_2552_, lean_object* v___y_2553_, lean_object* v___y_2554_, lean_object* v___y_2555_, lean_object* v___y_2556_, lean_object* v___y_2557_, lean_object* v___y_2558_, lean_object* v___y_2559_, lean_object* v___y_2560_, lean_object* v___y_2561_, lean_object* v___y_2562_){
_start:
{
uint8_t v___x_2564_; 
v___x_2564_ = lean_usize_dec_lt(v_i_2551_, v_sz_2550_);
if (v___x_2564_ == 0)
{
lean_object* v___x_2565_; 
lean_dec(v___y_2562_);
lean_dec_ref(v___y_2561_);
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec(v___y_2554_);
lean_dec(v___y_2553_);
v___x_2565_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2565_, 0, v_b_2552_);
return v___x_2565_;
}
else
{
lean_object* v_a_2566_; lean_object* v___x_2567_; lean_object* v___x_2568_; 
lean_dec_ref(v_b_2552_);
v_a_2566_ = lean_array_uget_borrowed(v_as_2549_, v_i_2551_);
v___x_2567_ = lean_unsigned_to_nat(0u);
lean_inc(v___y_2562_);
lean_inc_ref(v___y_2561_);
lean_inc(v___y_2560_);
lean_inc_ref(v___y_2559_);
lean_inc(v___y_2558_);
lean_inc_ref(v___y_2557_);
lean_inc(v___y_2556_);
lean_inc_ref(v___y_2555_);
lean_inc(v___y_2554_);
lean_inc(v___y_2553_);
lean_inc(v_a_2566_);
v___x_2568_ = l_Lean_Meta_Grind_activateTheorem(v_a_2566_, v___x_2567_, v___y_2553_, v___y_2554_, v___y_2555_, v___y_2556_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_, v___y_2561_, v___y_2562_);
if (lean_obj_tag(v___x_2568_) == 0)
{
lean_object* v___x_2569_; size_t v___x_2570_; size_t v___x_2571_; lean_object* v___x_2572_; 
lean_dec_ref(v___x_2568_);
v___x_2569_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__7_spec__16___closed__0));
v___x_2570_ = ((size_t)1ULL);
v___x_2571_ = lean_usize_add(v_i_2551_, v___x_2570_);
v___x_2572_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__4_spec__10(v_as_2549_, v_sz_2550_, v___x_2571_, v___x_2569_, v___y_2553_, v___y_2554_, v___y_2555_, v___y_2556_, v___y_2557_, v___y_2558_, v___y_2559_, v___y_2560_, v___y_2561_, v___y_2562_);
return v___x_2572_;
}
else
{
lean_object* v_a_2573_; lean_object* v___x_2575_; uint8_t v_isShared_2576_; uint8_t v_isSharedCheck_2580_; 
lean_dec(v___y_2562_);
lean_dec_ref(v___y_2561_);
lean_dec(v___y_2560_);
lean_dec_ref(v___y_2559_);
lean_dec(v___y_2558_);
lean_dec_ref(v___y_2557_);
lean_dec(v___y_2556_);
lean_dec_ref(v___y_2555_);
lean_dec(v___y_2554_);
lean_dec(v___y_2553_);
v_a_2573_ = lean_ctor_get(v___x_2568_, 0);
v_isSharedCheck_2580_ = !lean_is_exclusive(v___x_2568_);
if (v_isSharedCheck_2580_ == 0)
{
v___x_2575_ = v___x_2568_;
v_isShared_2576_ = v_isSharedCheck_2580_;
goto v_resetjp_2574_;
}
else
{
lean_inc(v_a_2573_);
lean_dec(v___x_2568_);
v___x_2575_ = lean_box(0);
v_isShared_2576_ = v_isSharedCheck_2580_;
goto v_resetjp_2574_;
}
v_resetjp_2574_:
{
lean_object* v___x_2578_; 
if (v_isShared_2576_ == 0)
{
v___x_2578_ = v___x_2575_;
goto v_reusejp_2577_;
}
else
{
lean_object* v_reuseFailAlloc_2579_; 
v_reuseFailAlloc_2579_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2579_, 0, v_a_2573_);
v___x_2578_ = v_reuseFailAlloc_2579_;
goto v_reusejp_2577_;
}
v_reusejp_2577_:
{
return v___x_2578_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__4___boxed(lean_object* v_as_2581_, lean_object* v_sz_2582_, lean_object* v_i_2583_, lean_object* v_b_2584_, lean_object* v___y_2585_, lean_object* v___y_2586_, lean_object* v___y_2587_, lean_object* v___y_2588_, lean_object* v___y_2589_, lean_object* v___y_2590_, lean_object* v___y_2591_, lean_object* v___y_2592_, lean_object* v___y_2593_, lean_object* v___y_2594_, lean_object* v___y_2595_){
_start:
{
size_t v_sz_boxed_2596_; size_t v_i_boxed_2597_; lean_object* v_res_2598_; 
v_sz_boxed_2596_ = lean_unbox_usize(v_sz_2582_);
lean_dec(v_sz_2582_);
v_i_boxed_2597_ = lean_unbox_usize(v_i_2583_);
lean_dec(v_i_2583_);
v_res_2598_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__4(v_as_2581_, v_sz_boxed_2596_, v_i_boxed_2597_, v_b_2584_, v___y_2585_, v___y_2586_, v___y_2587_, v___y_2588_, v___y_2589_, v___y_2590_, v___y_2591_, v___y_2592_, v___y_2593_, v___y_2594_);
lean_dec_ref(v_as_2581_);
return v_res_2598_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__8_spec__11(lean_object* v_as_2599_, size_t v_sz_2600_, size_t v_i_2601_, lean_object* v_b_2602_, lean_object* v___y_2603_, lean_object* v___y_2604_, lean_object* v___y_2605_, lean_object* v___y_2606_, lean_object* v___y_2607_, lean_object* v___y_2608_, lean_object* v___y_2609_, lean_object* v___y_2610_, lean_object* v___y_2611_, lean_object* v___y_2612_){
_start:
{
uint8_t v___x_2614_; 
v___x_2614_ = lean_usize_dec_lt(v_i_2601_, v_sz_2600_);
if (v___x_2614_ == 0)
{
lean_object* v___x_2615_; 
lean_dec(v___y_2612_);
lean_dec_ref(v___y_2611_);
lean_dec(v___y_2610_);
lean_dec_ref(v___y_2609_);
lean_dec(v___y_2608_);
lean_dec_ref(v___y_2607_);
lean_dec(v___y_2606_);
lean_dec_ref(v___y_2605_);
lean_dec(v___y_2604_);
lean_dec(v___y_2603_);
v___x_2615_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2615_, 0, v_b_2602_);
return v___x_2615_;
}
else
{
lean_object* v_a_2616_; lean_object* v___x_2617_; lean_object* v___x_2618_; 
lean_dec_ref(v_b_2602_);
v_a_2616_ = lean_array_uget_borrowed(v_as_2599_, v_i_2601_);
v___x_2617_ = lean_unsigned_to_nat(0u);
lean_inc(v___y_2612_);
lean_inc_ref(v___y_2611_);
lean_inc(v___y_2610_);
lean_inc_ref(v___y_2609_);
lean_inc(v___y_2608_);
lean_inc_ref(v___y_2607_);
lean_inc(v___y_2606_);
lean_inc_ref(v___y_2605_);
lean_inc(v___y_2604_);
lean_inc(v___y_2603_);
lean_inc(v_a_2616_);
v___x_2618_ = l_Lean_Meta_Grind_activateTheorem(v_a_2616_, v___x_2617_, v___y_2603_, v___y_2604_, v___y_2605_, v___y_2606_, v___y_2607_, v___y_2608_, v___y_2609_, v___y_2610_, v___y_2611_, v___y_2612_);
if (lean_obj_tag(v___x_2618_) == 0)
{
lean_object* v___x_2619_; size_t v___x_2620_; size_t v___x_2621_; 
lean_dec_ref(v___x_2618_);
v___x_2619_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17___closed__0));
v___x_2620_ = ((size_t)1ULL);
v___x_2621_ = lean_usize_add(v_i_2601_, v___x_2620_);
v_i_2601_ = v___x_2621_;
v_b_2602_ = v___x_2619_;
goto _start;
}
else
{
lean_object* v_a_2623_; lean_object* v___x_2625_; uint8_t v_isShared_2626_; uint8_t v_isSharedCheck_2630_; 
lean_dec(v___y_2612_);
lean_dec_ref(v___y_2611_);
lean_dec(v___y_2610_);
lean_dec_ref(v___y_2609_);
lean_dec(v___y_2608_);
lean_dec_ref(v___y_2607_);
lean_dec(v___y_2606_);
lean_dec_ref(v___y_2605_);
lean_dec(v___y_2604_);
lean_dec(v___y_2603_);
v_a_2623_ = lean_ctor_get(v___x_2618_, 0);
v_isSharedCheck_2630_ = !lean_is_exclusive(v___x_2618_);
if (v_isSharedCheck_2630_ == 0)
{
v___x_2625_ = v___x_2618_;
v_isShared_2626_ = v_isSharedCheck_2630_;
goto v_resetjp_2624_;
}
else
{
lean_inc(v_a_2623_);
lean_dec(v___x_2618_);
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_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__8_spec__11___boxed(lean_object* v_as_2631_, lean_object* v_sz_2632_, lean_object* v_i_2633_, lean_object* v_b_2634_, lean_object* v___y_2635_, lean_object* v___y_2636_, lean_object* v___y_2637_, lean_object* v___y_2638_, lean_object* v___y_2639_, lean_object* v___y_2640_, lean_object* v___y_2641_, lean_object* v___y_2642_, lean_object* v___y_2643_, lean_object* v___y_2644_, lean_object* v___y_2645_){
_start:
{
size_t v_sz_boxed_2646_; size_t v_i_boxed_2647_; lean_object* v_res_2648_; 
v_sz_boxed_2646_ = lean_unbox_usize(v_sz_2632_);
lean_dec(v_sz_2632_);
v_i_boxed_2647_ = lean_unbox_usize(v_i_2633_);
lean_dec(v_i_2633_);
v_res_2648_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__8_spec__11(v_as_2631_, v_sz_boxed_2646_, v_i_boxed_2647_, v_b_2634_, v___y_2635_, v___y_2636_, v___y_2637_, v___y_2638_, v___y_2639_, v___y_2640_, v___y_2641_, v___y_2642_, v___y_2643_, v___y_2644_);
lean_dec_ref(v_as_2631_);
return v_res_2648_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__8(lean_object* v_as_2649_, size_t v_sz_2650_, size_t v_i_2651_, lean_object* v_b_2652_, lean_object* v___y_2653_, lean_object* v___y_2654_, lean_object* v___y_2655_, lean_object* v___y_2656_, lean_object* v___y_2657_, lean_object* v___y_2658_, lean_object* v___y_2659_, lean_object* v___y_2660_, lean_object* v___y_2661_, lean_object* v___y_2662_){
_start:
{
uint8_t v___x_2664_; 
v___x_2664_ = lean_usize_dec_lt(v_i_2651_, v_sz_2650_);
if (v___x_2664_ == 0)
{
lean_object* v___x_2665_; 
lean_dec(v___y_2662_);
lean_dec_ref(v___y_2661_);
lean_dec(v___y_2660_);
lean_dec_ref(v___y_2659_);
lean_dec(v___y_2658_);
lean_dec_ref(v___y_2657_);
lean_dec(v___y_2656_);
lean_dec_ref(v___y_2655_);
lean_dec(v___y_2654_);
lean_dec(v___y_2653_);
v___x_2665_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2665_, 0, v_b_2652_);
return v___x_2665_;
}
else
{
lean_object* v_a_2666_; lean_object* v___x_2667_; lean_object* v___x_2668_; 
lean_dec_ref(v_b_2652_);
v_a_2666_ = lean_array_uget_borrowed(v_as_2649_, v_i_2651_);
v___x_2667_ = lean_unsigned_to_nat(0u);
lean_inc(v___y_2662_);
lean_inc_ref(v___y_2661_);
lean_inc(v___y_2660_);
lean_inc_ref(v___y_2659_);
lean_inc(v___y_2658_);
lean_inc_ref(v___y_2657_);
lean_inc(v___y_2656_);
lean_inc_ref(v___y_2655_);
lean_inc(v___y_2654_);
lean_inc(v___y_2653_);
lean_inc(v_a_2666_);
v___x_2668_ = l_Lean_Meta_Grind_activateTheorem(v_a_2666_, v___x_2667_, v___y_2653_, v___y_2654_, v___y_2655_, v___y_2656_, v___y_2657_, v___y_2658_, v___y_2659_, v___y_2660_, v___y_2661_, v___y_2662_);
if (lean_obj_tag(v___x_2668_) == 0)
{
lean_object* v___x_2669_; size_t v___x_2670_; size_t v___x_2671_; lean_object* v___x_2672_; 
lean_dec_ref(v___x_2668_);
v___x_2669_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2_spec__6_spec__14_spec__17___closed__0));
v___x_2670_ = ((size_t)1ULL);
v___x_2671_ = lean_usize_add(v_i_2651_, v___x_2670_);
v___x_2672_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__8_spec__11(v_as_2649_, v_sz_2650_, v___x_2671_, v___x_2669_, v___y_2653_, v___y_2654_, v___y_2655_, v___y_2656_, v___y_2657_, v___y_2658_, v___y_2659_, v___y_2660_, v___y_2661_, v___y_2662_);
return v___x_2672_;
}
else
{
lean_object* v_a_2673_; lean_object* v___x_2675_; uint8_t v_isShared_2676_; uint8_t v_isSharedCheck_2680_; 
lean_dec(v___y_2662_);
lean_dec_ref(v___y_2661_);
lean_dec(v___y_2660_);
lean_dec_ref(v___y_2659_);
lean_dec(v___y_2658_);
lean_dec_ref(v___y_2657_);
lean_dec(v___y_2656_);
lean_dec_ref(v___y_2655_);
lean_dec(v___y_2654_);
lean_dec(v___y_2653_);
v_a_2673_ = lean_ctor_get(v___x_2668_, 0);
v_isSharedCheck_2680_ = !lean_is_exclusive(v___x_2668_);
if (v_isSharedCheck_2680_ == 0)
{
v___x_2675_ = v___x_2668_;
v_isShared_2676_ = v_isSharedCheck_2680_;
goto v_resetjp_2674_;
}
else
{
lean_inc(v_a_2673_);
lean_dec(v___x_2668_);
v___x_2675_ = lean_box(0);
v_isShared_2676_ = v_isSharedCheck_2680_;
goto v_resetjp_2674_;
}
v_resetjp_2674_:
{
lean_object* v___x_2678_; 
if (v_isShared_2676_ == 0)
{
v___x_2678_ = v___x_2675_;
goto v_reusejp_2677_;
}
else
{
lean_object* v_reuseFailAlloc_2679_; 
v_reuseFailAlloc_2679_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2679_, 0, v_a_2673_);
v___x_2678_ = v_reuseFailAlloc_2679_;
goto v_reusejp_2677_;
}
v_reusejp_2677_:
{
return v___x_2678_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__8___boxed(lean_object* v_as_2681_, lean_object* v_sz_2682_, lean_object* v_i_2683_, lean_object* v_b_2684_, lean_object* v___y_2685_, lean_object* v___y_2686_, lean_object* v___y_2687_, lean_object* v___y_2688_, lean_object* v___y_2689_, lean_object* v___y_2690_, lean_object* v___y_2691_, lean_object* v___y_2692_, lean_object* v___y_2693_, lean_object* v___y_2694_, lean_object* v___y_2695_){
_start:
{
size_t v_sz_boxed_2696_; size_t v_i_boxed_2697_; lean_object* v_res_2698_; 
v_sz_boxed_2696_ = lean_unbox_usize(v_sz_2682_);
lean_dec(v_sz_2682_);
v_i_boxed_2697_ = lean_unbox_usize(v_i_2683_);
lean_dec(v_i_2683_);
v_res_2698_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__8(v_as_2681_, v_sz_boxed_2696_, v_i_boxed_2697_, v_b_2684_, v___y_2685_, v___y_2686_, v___y_2687_, v___y_2688_, v___y_2689_, v___y_2690_, v___y_2691_, v___y_2692_, v___y_2693_, v___y_2694_);
lean_dec_ref(v_as_2681_);
return v_res_2698_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3(lean_object* v_inh_2699_, lean_object* v_n_2700_, lean_object* v_b_2701_, lean_object* v___y_2702_, lean_object* v___y_2703_, lean_object* v___y_2704_, lean_object* v___y_2705_, lean_object* v___y_2706_, lean_object* v___y_2707_, lean_object* v___y_2708_, lean_object* v___y_2709_, lean_object* v___y_2710_, lean_object* v___y_2711_){
_start:
{
if (lean_obj_tag(v_n_2700_) == 0)
{
lean_object* v_cs_2713_; lean_object* v___x_2715_; uint8_t v_isShared_2716_; uint8_t v_isSharedCheck_2747_; 
v_cs_2713_ = lean_ctor_get(v_n_2700_, 0);
v_isSharedCheck_2747_ = !lean_is_exclusive(v_n_2700_);
if (v_isSharedCheck_2747_ == 0)
{
v___x_2715_ = v_n_2700_;
v_isShared_2716_ = v_isSharedCheck_2747_;
goto v_resetjp_2714_;
}
else
{
lean_inc(v_cs_2713_);
lean_dec(v_n_2700_);
v___x_2715_ = lean_box(0);
v_isShared_2716_ = v_isSharedCheck_2747_;
goto v_resetjp_2714_;
}
v_resetjp_2714_:
{
lean_object* v___x_2717_; lean_object* v___x_2718_; size_t v_sz_2719_; size_t v___x_2720_; lean_object* v___x_2721_; 
v___x_2717_ = lean_box(0);
v___x_2718_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2718_, 0, v___x_2717_);
lean_ctor_set(v___x_2718_, 1, v_b_2701_);
v_sz_2719_ = lean_array_size(v_cs_2713_);
v___x_2720_ = ((size_t)0ULL);
v___x_2721_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__7(v_inh_2699_, v_cs_2713_, v_sz_2719_, v___x_2720_, v___x_2718_, v___y_2702_, v___y_2703_, v___y_2704_, v___y_2705_, v___y_2706_, v___y_2707_, v___y_2708_, v___y_2709_, v___y_2710_, v___y_2711_);
lean_dec_ref(v_cs_2713_);
if (lean_obj_tag(v___x_2721_) == 0)
{
lean_object* v_a_2722_; lean_object* v___x_2724_; uint8_t v_isShared_2725_; uint8_t v_isSharedCheck_2738_; 
v_a_2722_ = lean_ctor_get(v___x_2721_, 0);
v_isSharedCheck_2738_ = !lean_is_exclusive(v___x_2721_);
if (v_isSharedCheck_2738_ == 0)
{
v___x_2724_ = v___x_2721_;
v_isShared_2725_ = v_isSharedCheck_2738_;
goto v_resetjp_2723_;
}
else
{
lean_inc(v_a_2722_);
lean_dec(v___x_2721_);
v___x_2724_ = lean_box(0);
v_isShared_2725_ = v_isSharedCheck_2738_;
goto v_resetjp_2723_;
}
v_resetjp_2723_:
{
lean_object* v_fst_2726_; 
v_fst_2726_ = lean_ctor_get(v_a_2722_, 0);
if (lean_obj_tag(v_fst_2726_) == 0)
{
lean_object* v_snd_2727_; lean_object* v___x_2729_; 
v_snd_2727_ = lean_ctor_get(v_a_2722_, 1);
lean_inc(v_snd_2727_);
lean_dec(v_a_2722_);
if (v_isShared_2716_ == 0)
{
lean_ctor_set_tag(v___x_2715_, 1);
lean_ctor_set(v___x_2715_, 0, v_snd_2727_);
v___x_2729_ = v___x_2715_;
goto v_reusejp_2728_;
}
else
{
lean_object* v_reuseFailAlloc_2733_; 
v_reuseFailAlloc_2733_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2733_, 0, v_snd_2727_);
v___x_2729_ = v_reuseFailAlloc_2733_;
goto v_reusejp_2728_;
}
v_reusejp_2728_:
{
lean_object* v___x_2731_; 
if (v_isShared_2725_ == 0)
{
lean_ctor_set(v___x_2724_, 0, v___x_2729_);
v___x_2731_ = v___x_2724_;
goto v_reusejp_2730_;
}
else
{
lean_object* v_reuseFailAlloc_2732_; 
v_reuseFailAlloc_2732_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2732_, 0, v___x_2729_);
v___x_2731_ = v_reuseFailAlloc_2732_;
goto v_reusejp_2730_;
}
v_reusejp_2730_:
{
return v___x_2731_;
}
}
}
else
{
lean_object* v_val_2734_; lean_object* v___x_2736_; 
lean_inc_ref(v_fst_2726_);
lean_dec(v_a_2722_);
lean_del_object(v___x_2715_);
v_val_2734_ = lean_ctor_get(v_fst_2726_, 0);
lean_inc(v_val_2734_);
lean_dec_ref(v_fst_2726_);
if (v_isShared_2725_ == 0)
{
lean_ctor_set(v___x_2724_, 0, v_val_2734_);
v___x_2736_ = v___x_2724_;
goto v_reusejp_2735_;
}
else
{
lean_object* v_reuseFailAlloc_2737_; 
v_reuseFailAlloc_2737_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2737_, 0, v_val_2734_);
v___x_2736_ = v_reuseFailAlloc_2737_;
goto v_reusejp_2735_;
}
v_reusejp_2735_:
{
return v___x_2736_;
}
}
}
}
else
{
lean_object* v_a_2739_; lean_object* v___x_2741_; uint8_t v_isShared_2742_; uint8_t v_isSharedCheck_2746_; 
lean_del_object(v___x_2715_);
v_a_2739_ = lean_ctor_get(v___x_2721_, 0);
v_isSharedCheck_2746_ = !lean_is_exclusive(v___x_2721_);
if (v_isSharedCheck_2746_ == 0)
{
v___x_2741_ = v___x_2721_;
v_isShared_2742_ = v_isSharedCheck_2746_;
goto v_resetjp_2740_;
}
else
{
lean_inc(v_a_2739_);
lean_dec(v___x_2721_);
v___x_2741_ = lean_box(0);
v_isShared_2742_ = v_isSharedCheck_2746_;
goto v_resetjp_2740_;
}
v_resetjp_2740_:
{
lean_object* v___x_2744_; 
if (v_isShared_2742_ == 0)
{
v___x_2744_ = v___x_2741_;
goto v_reusejp_2743_;
}
else
{
lean_object* v_reuseFailAlloc_2745_; 
v_reuseFailAlloc_2745_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2745_, 0, v_a_2739_);
v___x_2744_ = v_reuseFailAlloc_2745_;
goto v_reusejp_2743_;
}
v_reusejp_2743_:
{
return v___x_2744_;
}
}
}
}
}
else
{
lean_object* v_vs_2748_; lean_object* v___x_2750_; uint8_t v_isShared_2751_; uint8_t v_isSharedCheck_2782_; 
v_vs_2748_ = lean_ctor_get(v_n_2700_, 0);
v_isSharedCheck_2782_ = !lean_is_exclusive(v_n_2700_);
if (v_isSharedCheck_2782_ == 0)
{
v___x_2750_ = v_n_2700_;
v_isShared_2751_ = v_isSharedCheck_2782_;
goto v_resetjp_2749_;
}
else
{
lean_inc(v_vs_2748_);
lean_dec(v_n_2700_);
v___x_2750_ = lean_box(0);
v_isShared_2751_ = v_isSharedCheck_2782_;
goto v_resetjp_2749_;
}
v_resetjp_2749_:
{
lean_object* v___x_2752_; lean_object* v___x_2753_; size_t v_sz_2754_; size_t v___x_2755_; lean_object* v___x_2756_; 
v___x_2752_ = lean_box(0);
v___x_2753_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2753_, 0, v___x_2752_);
lean_ctor_set(v___x_2753_, 1, v_b_2701_);
v_sz_2754_ = lean_array_size(v_vs_2748_);
v___x_2755_ = ((size_t)0ULL);
v___x_2756_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__8(v_vs_2748_, v_sz_2754_, v___x_2755_, v___x_2753_, v___y_2702_, v___y_2703_, v___y_2704_, v___y_2705_, v___y_2706_, v___y_2707_, v___y_2708_, v___y_2709_, v___y_2710_, v___y_2711_);
lean_dec_ref(v_vs_2748_);
if (lean_obj_tag(v___x_2756_) == 0)
{
lean_object* v_a_2757_; lean_object* v___x_2759_; uint8_t v_isShared_2760_; uint8_t v_isSharedCheck_2773_; 
v_a_2757_ = lean_ctor_get(v___x_2756_, 0);
v_isSharedCheck_2773_ = !lean_is_exclusive(v___x_2756_);
if (v_isSharedCheck_2773_ == 0)
{
v___x_2759_ = v___x_2756_;
v_isShared_2760_ = v_isSharedCheck_2773_;
goto v_resetjp_2758_;
}
else
{
lean_inc(v_a_2757_);
lean_dec(v___x_2756_);
v___x_2759_ = lean_box(0);
v_isShared_2760_ = v_isSharedCheck_2773_;
goto v_resetjp_2758_;
}
v_resetjp_2758_:
{
lean_object* v_fst_2761_; 
v_fst_2761_ = lean_ctor_get(v_a_2757_, 0);
if (lean_obj_tag(v_fst_2761_) == 0)
{
lean_object* v_snd_2762_; lean_object* v___x_2764_; 
v_snd_2762_ = lean_ctor_get(v_a_2757_, 1);
lean_inc(v_snd_2762_);
lean_dec(v_a_2757_);
if (v_isShared_2751_ == 0)
{
lean_ctor_set(v___x_2750_, 0, v_snd_2762_);
v___x_2764_ = v___x_2750_;
goto v_reusejp_2763_;
}
else
{
lean_object* v_reuseFailAlloc_2768_; 
v_reuseFailAlloc_2768_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2768_, 0, v_snd_2762_);
v___x_2764_ = v_reuseFailAlloc_2768_;
goto v_reusejp_2763_;
}
v_reusejp_2763_:
{
lean_object* v___x_2766_; 
if (v_isShared_2760_ == 0)
{
lean_ctor_set(v___x_2759_, 0, v___x_2764_);
v___x_2766_ = v___x_2759_;
goto v_reusejp_2765_;
}
else
{
lean_object* v_reuseFailAlloc_2767_; 
v_reuseFailAlloc_2767_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2767_, 0, v___x_2764_);
v___x_2766_ = v_reuseFailAlloc_2767_;
goto v_reusejp_2765_;
}
v_reusejp_2765_:
{
return v___x_2766_;
}
}
}
else
{
lean_object* v_val_2769_; lean_object* v___x_2771_; 
lean_inc_ref(v_fst_2761_);
lean_dec(v_a_2757_);
lean_del_object(v___x_2750_);
v_val_2769_ = lean_ctor_get(v_fst_2761_, 0);
lean_inc(v_val_2769_);
lean_dec_ref(v_fst_2761_);
if (v_isShared_2760_ == 0)
{
lean_ctor_set(v___x_2759_, 0, v_val_2769_);
v___x_2771_ = v___x_2759_;
goto v_reusejp_2770_;
}
else
{
lean_object* v_reuseFailAlloc_2772_; 
v_reuseFailAlloc_2772_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2772_, 0, v_val_2769_);
v___x_2771_ = v_reuseFailAlloc_2772_;
goto v_reusejp_2770_;
}
v_reusejp_2770_:
{
return v___x_2771_;
}
}
}
}
else
{
lean_object* v_a_2774_; lean_object* v___x_2776_; uint8_t v_isShared_2777_; uint8_t v_isSharedCheck_2781_; 
lean_del_object(v___x_2750_);
v_a_2774_ = lean_ctor_get(v___x_2756_, 0);
v_isSharedCheck_2781_ = !lean_is_exclusive(v___x_2756_);
if (v_isSharedCheck_2781_ == 0)
{
v___x_2776_ = v___x_2756_;
v_isShared_2777_ = v_isSharedCheck_2781_;
goto v_resetjp_2775_;
}
else
{
lean_inc(v_a_2774_);
lean_dec(v___x_2756_);
v___x_2776_ = lean_box(0);
v_isShared_2777_ = v_isSharedCheck_2781_;
goto v_resetjp_2775_;
}
v_resetjp_2775_:
{
lean_object* v___x_2779_; 
if (v_isShared_2777_ == 0)
{
v___x_2779_ = v___x_2776_;
goto v_reusejp_2778_;
}
else
{
lean_object* v_reuseFailAlloc_2780_; 
v_reuseFailAlloc_2780_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2780_, 0, v_a_2774_);
v___x_2779_ = v_reuseFailAlloc_2780_;
goto v_reusejp_2778_;
}
v_reusejp_2778_:
{
return v___x_2779_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__7(lean_object* v_inh_2783_, lean_object* v_as_2784_, size_t v_sz_2785_, size_t v_i_2786_, lean_object* v_b_2787_, lean_object* v___y_2788_, lean_object* v___y_2789_, lean_object* v___y_2790_, lean_object* v___y_2791_, lean_object* v___y_2792_, lean_object* v___y_2793_, lean_object* v___y_2794_, lean_object* v___y_2795_, lean_object* v___y_2796_, lean_object* v___y_2797_){
_start:
{
uint8_t v___x_2799_; 
v___x_2799_ = lean_usize_dec_lt(v_i_2786_, v_sz_2785_);
if (v___x_2799_ == 0)
{
lean_object* v___x_2800_; 
lean_dec(v___y_2797_);
lean_dec_ref(v___y_2796_);
lean_dec(v___y_2795_);
lean_dec_ref(v___y_2794_);
lean_dec(v___y_2793_);
lean_dec_ref(v___y_2792_);
lean_dec(v___y_2791_);
lean_dec_ref(v___y_2790_);
lean_dec(v___y_2789_);
lean_dec(v___y_2788_);
v___x_2800_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_2800_, 0, v_b_2787_);
return v___x_2800_;
}
else
{
lean_object* v_snd_2801_; lean_object* v___x_2803_; uint8_t v_isShared_2804_; uint8_t v_isSharedCheck_2835_; 
v_snd_2801_ = lean_ctor_get(v_b_2787_, 1);
v_isSharedCheck_2835_ = !lean_is_exclusive(v_b_2787_);
if (v_isSharedCheck_2835_ == 0)
{
lean_object* v_unused_2836_; 
v_unused_2836_ = lean_ctor_get(v_b_2787_, 0);
lean_dec(v_unused_2836_);
v___x_2803_ = v_b_2787_;
v_isShared_2804_ = v_isSharedCheck_2835_;
goto v_resetjp_2802_;
}
else
{
lean_inc(v_snd_2801_);
lean_dec(v_b_2787_);
v___x_2803_ = lean_box(0);
v_isShared_2804_ = v_isSharedCheck_2835_;
goto v_resetjp_2802_;
}
v_resetjp_2802_:
{
lean_object* v_a_2805_; lean_object* v___x_2806_; 
v_a_2805_ = lean_array_uget_borrowed(v_as_2784_, v_i_2786_);
lean_inc(v___y_2797_);
lean_inc_ref(v___y_2796_);
lean_inc(v___y_2795_);
lean_inc_ref(v___y_2794_);
lean_inc(v___y_2793_);
lean_inc_ref(v___y_2792_);
lean_inc(v___y_2791_);
lean_inc_ref(v___y_2790_);
lean_inc(v___y_2789_);
lean_inc(v___y_2788_);
lean_inc(v_snd_2801_);
lean_inc(v_a_2805_);
v___x_2806_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3(v_inh_2783_, v_a_2805_, v_snd_2801_, v___y_2788_, v___y_2789_, v___y_2790_, v___y_2791_, v___y_2792_, v___y_2793_, v___y_2794_, v___y_2795_, v___y_2796_, v___y_2797_);
if (lean_obj_tag(v___x_2806_) == 0)
{
lean_object* v_a_2807_; lean_object* v___x_2809_; uint8_t v_isShared_2810_; uint8_t v_isSharedCheck_2826_; 
v_a_2807_ = lean_ctor_get(v___x_2806_, 0);
v_isSharedCheck_2826_ = !lean_is_exclusive(v___x_2806_);
if (v_isSharedCheck_2826_ == 0)
{
v___x_2809_ = v___x_2806_;
v_isShared_2810_ = v_isSharedCheck_2826_;
goto v_resetjp_2808_;
}
else
{
lean_inc(v_a_2807_);
lean_dec(v___x_2806_);
v___x_2809_ = lean_box(0);
v_isShared_2810_ = v_isSharedCheck_2826_;
goto v_resetjp_2808_;
}
v_resetjp_2808_:
{
if (lean_obj_tag(v_a_2807_) == 0)
{
lean_object* v___x_2811_; lean_object* v___x_2813_; 
lean_dec(v___y_2797_);
lean_dec_ref(v___y_2796_);
lean_dec(v___y_2795_);
lean_dec_ref(v___y_2794_);
lean_dec(v___y_2793_);
lean_dec_ref(v___y_2792_);
lean_dec(v___y_2791_);
lean_dec_ref(v___y_2790_);
lean_dec(v___y_2789_);
lean_dec(v___y_2788_);
v___x_2811_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2811_, 0, v_a_2807_);
if (v_isShared_2804_ == 0)
{
lean_ctor_set(v___x_2803_, 0, v___x_2811_);
v___x_2813_ = v___x_2803_;
goto v_reusejp_2812_;
}
else
{
lean_object* v_reuseFailAlloc_2817_; 
v_reuseFailAlloc_2817_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2817_, 0, v___x_2811_);
lean_ctor_set(v_reuseFailAlloc_2817_, 1, v_snd_2801_);
v___x_2813_ = v_reuseFailAlloc_2817_;
goto v_reusejp_2812_;
}
v_reusejp_2812_:
{
lean_object* v___x_2815_; 
if (v_isShared_2810_ == 0)
{
lean_ctor_set(v___x_2809_, 0, v___x_2813_);
v___x_2815_ = v___x_2809_;
goto v_reusejp_2814_;
}
else
{
lean_object* v_reuseFailAlloc_2816_; 
v_reuseFailAlloc_2816_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2816_, 0, v___x_2813_);
v___x_2815_ = v_reuseFailAlloc_2816_;
goto v_reusejp_2814_;
}
v_reusejp_2814_:
{
return v___x_2815_;
}
}
}
else
{
lean_object* v_a_2818_; lean_object* v___x_2819_; lean_object* v___x_2821_; 
lean_del_object(v___x_2809_);
lean_dec(v_snd_2801_);
v_a_2818_ = lean_ctor_get(v_a_2807_, 0);
lean_inc(v_a_2818_);
lean_dec_ref(v_a_2807_);
v___x_2819_ = lean_box(0);
if (v_isShared_2804_ == 0)
{
lean_ctor_set(v___x_2803_, 1, v_a_2818_);
lean_ctor_set(v___x_2803_, 0, v___x_2819_);
v___x_2821_ = v___x_2803_;
goto v_reusejp_2820_;
}
else
{
lean_object* v_reuseFailAlloc_2825_; 
v_reuseFailAlloc_2825_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2825_, 0, v___x_2819_);
lean_ctor_set(v_reuseFailAlloc_2825_, 1, v_a_2818_);
v___x_2821_ = v_reuseFailAlloc_2825_;
goto v_reusejp_2820_;
}
v_reusejp_2820_:
{
size_t v___x_2822_; size_t v___x_2823_; 
v___x_2822_ = ((size_t)1ULL);
v___x_2823_ = lean_usize_add(v_i_2786_, v___x_2822_);
v_i_2786_ = v___x_2823_;
v_b_2787_ = v___x_2821_;
goto _start;
}
}
}
}
else
{
lean_object* v_a_2827_; lean_object* v___x_2829_; uint8_t v_isShared_2830_; uint8_t v_isSharedCheck_2834_; 
lean_del_object(v___x_2803_);
lean_dec(v_snd_2801_);
lean_dec(v___y_2797_);
lean_dec_ref(v___y_2796_);
lean_dec(v___y_2795_);
lean_dec_ref(v___y_2794_);
lean_dec(v___y_2793_);
lean_dec_ref(v___y_2792_);
lean_dec(v___y_2791_);
lean_dec_ref(v___y_2790_);
lean_dec(v___y_2789_);
lean_dec(v___y_2788_);
v_a_2827_ = lean_ctor_get(v___x_2806_, 0);
v_isSharedCheck_2834_ = !lean_is_exclusive(v___x_2806_);
if (v_isSharedCheck_2834_ == 0)
{
v___x_2829_ = v___x_2806_;
v_isShared_2830_ = v_isSharedCheck_2834_;
goto v_resetjp_2828_;
}
else
{
lean_inc(v_a_2827_);
lean_dec(v___x_2806_);
v___x_2829_ = lean_box(0);
v_isShared_2830_ = v_isSharedCheck_2834_;
goto v_resetjp_2828_;
}
v_resetjp_2828_:
{
lean_object* v___x_2832_; 
if (v_isShared_2830_ == 0)
{
v___x_2832_ = v___x_2829_;
goto v_reusejp_2831_;
}
else
{
lean_object* v_reuseFailAlloc_2833_; 
v_reuseFailAlloc_2833_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2833_, 0, v_a_2827_);
v___x_2832_ = v_reuseFailAlloc_2833_;
goto v_reusejp_2831_;
}
v_reusejp_2831_:
{
return v___x_2832_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__7___boxed(lean_object* v_inh_2837_, lean_object* v_as_2838_, lean_object* v_sz_2839_, lean_object* v_i_2840_, lean_object* v_b_2841_, lean_object* v___y_2842_, lean_object* v___y_2843_, lean_object* v___y_2844_, lean_object* v___y_2845_, lean_object* v___y_2846_, lean_object* v___y_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:
{
size_t v_sz_boxed_2853_; size_t v_i_boxed_2854_; lean_object* v_res_2855_; 
v_sz_boxed_2853_ = lean_unbox_usize(v_sz_2839_);
lean_dec(v_sz_2839_);
v_i_boxed_2854_ = lean_unbox_usize(v_i_2840_);
lean_dec(v_i_2840_);
v_res_2855_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3_spec__7(v_inh_2837_, v_as_2838_, v_sz_boxed_2853_, v_i_boxed_2854_, v_b_2841_, v___y_2842_, v___y_2843_, v___y_2844_, v___y_2845_, v___y_2846_, v___y_2847_, v___y_2848_, v___y_2849_, v___y_2850_, v___y_2851_);
lean_dec_ref(v_as_2838_);
return v_res_2855_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3___boxed(lean_object* v_inh_2856_, lean_object* v_n_2857_, lean_object* v_b_2858_, lean_object* v___y_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_, lean_object* v___y_2865_, lean_object* v___y_2866_, lean_object* v___y_2867_, lean_object* v___y_2868_, lean_object* v___y_2869_){
_start:
{
lean_object* v_res_2870_; 
v_res_2870_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3(v_inh_2856_, v_n_2857_, v_b_2858_, v___y_2859_, v___y_2860_, v___y_2861_, v___y_2862_, v___y_2863_, v___y_2864_, v___y_2865_, v___y_2866_, v___y_2867_, v___y_2868_);
return v_res_2870_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1(lean_object* v_t_2871_, lean_object* v_init_2872_, lean_object* v___y_2873_, lean_object* v___y_2874_, lean_object* v___y_2875_, lean_object* v___y_2876_, lean_object* v___y_2877_, lean_object* v___y_2878_, lean_object* v___y_2879_, lean_object* v___y_2880_, lean_object* v___y_2881_, lean_object* v___y_2882_){
_start:
{
lean_object* v_root_2884_; lean_object* v_tail_2885_; lean_object* v___x_2886_; 
v_root_2884_ = lean_ctor_get(v_t_2871_, 0);
lean_inc_ref(v_root_2884_);
v_tail_2885_ = lean_ctor_get(v_t_2871_, 1);
lean_inc_ref(v_tail_2885_);
lean_dec_ref(v_t_2871_);
lean_inc(v___y_2882_);
lean_inc_ref(v___y_2881_);
lean_inc(v___y_2880_);
lean_inc_ref(v___y_2879_);
lean_inc(v___y_2878_);
lean_inc_ref(v___y_2877_);
lean_inc(v___y_2876_);
lean_inc_ref(v___y_2875_);
lean_inc(v___y_2874_);
lean_inc(v___y_2873_);
v___x_2886_ = l_Lean_PersistentArray_forInAux___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__3(v_init_2872_, v_root_2884_, v_init_2872_, v___y_2873_, v___y_2874_, v___y_2875_, v___y_2876_, v___y_2877_, v___y_2878_, v___y_2879_, v___y_2880_, v___y_2881_, v___y_2882_);
if (lean_obj_tag(v___x_2886_) == 0)
{
lean_object* v_a_2887_; lean_object* v___x_2889_; uint8_t v_isShared_2890_; uint8_t v_isSharedCheck_2923_; 
v_a_2887_ = lean_ctor_get(v___x_2886_, 0);
v_isSharedCheck_2923_ = !lean_is_exclusive(v___x_2886_);
if (v_isSharedCheck_2923_ == 0)
{
v___x_2889_ = v___x_2886_;
v_isShared_2890_ = v_isSharedCheck_2923_;
goto v_resetjp_2888_;
}
else
{
lean_inc(v_a_2887_);
lean_dec(v___x_2886_);
v___x_2889_ = lean_box(0);
v_isShared_2890_ = v_isSharedCheck_2923_;
goto v_resetjp_2888_;
}
v_resetjp_2888_:
{
if (lean_obj_tag(v_a_2887_) == 0)
{
lean_object* v_a_2891_; lean_object* v___x_2893_; 
lean_dec_ref(v_tail_2885_);
lean_dec(v___y_2882_);
lean_dec_ref(v___y_2881_);
lean_dec(v___y_2880_);
lean_dec_ref(v___y_2879_);
lean_dec(v___y_2878_);
lean_dec_ref(v___y_2877_);
lean_dec(v___y_2876_);
lean_dec_ref(v___y_2875_);
lean_dec(v___y_2874_);
lean_dec(v___y_2873_);
v_a_2891_ = lean_ctor_get(v_a_2887_, 0);
lean_inc(v_a_2891_);
lean_dec_ref(v_a_2887_);
if (v_isShared_2890_ == 0)
{
lean_ctor_set(v___x_2889_, 0, v_a_2891_);
v___x_2893_ = v___x_2889_;
goto v_reusejp_2892_;
}
else
{
lean_object* v_reuseFailAlloc_2894_; 
v_reuseFailAlloc_2894_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2894_, 0, v_a_2891_);
v___x_2893_ = v_reuseFailAlloc_2894_;
goto v_reusejp_2892_;
}
v_reusejp_2892_:
{
return v___x_2893_;
}
}
else
{
lean_object* v_a_2895_; lean_object* v___x_2896_; lean_object* v___x_2897_; size_t v_sz_2898_; size_t v___x_2899_; lean_object* v___x_2900_; 
lean_del_object(v___x_2889_);
v_a_2895_ = lean_ctor_get(v_a_2887_, 0);
lean_inc(v_a_2895_);
lean_dec_ref(v_a_2887_);
v___x_2896_ = lean_box(0);
v___x_2897_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2897_, 0, v___x_2896_);
lean_ctor_set(v___x_2897_, 1, v_a_2895_);
v_sz_2898_ = lean_array_size(v_tail_2885_);
v___x_2899_ = ((size_t)0ULL);
v___x_2900_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1_spec__4(v_tail_2885_, v_sz_2898_, v___x_2899_, v___x_2897_, v___y_2873_, v___y_2874_, v___y_2875_, v___y_2876_, v___y_2877_, v___y_2878_, v___y_2879_, v___y_2880_, v___y_2881_, v___y_2882_);
lean_dec_ref(v_tail_2885_);
if (lean_obj_tag(v___x_2900_) == 0)
{
lean_object* v_a_2901_; lean_object* v___x_2903_; uint8_t v_isShared_2904_; uint8_t v_isSharedCheck_2914_; 
v_a_2901_ = lean_ctor_get(v___x_2900_, 0);
v_isSharedCheck_2914_ = !lean_is_exclusive(v___x_2900_);
if (v_isSharedCheck_2914_ == 0)
{
v___x_2903_ = v___x_2900_;
v_isShared_2904_ = v_isSharedCheck_2914_;
goto v_resetjp_2902_;
}
else
{
lean_inc(v_a_2901_);
lean_dec(v___x_2900_);
v___x_2903_ = lean_box(0);
v_isShared_2904_ = v_isSharedCheck_2914_;
goto v_resetjp_2902_;
}
v_resetjp_2902_:
{
lean_object* v_fst_2905_; 
v_fst_2905_ = lean_ctor_get(v_a_2901_, 0);
if (lean_obj_tag(v_fst_2905_) == 0)
{
lean_object* v_snd_2906_; lean_object* v___x_2908_; 
v_snd_2906_ = lean_ctor_get(v_a_2901_, 1);
lean_inc(v_snd_2906_);
lean_dec(v_a_2901_);
if (v_isShared_2904_ == 0)
{
lean_ctor_set(v___x_2903_, 0, v_snd_2906_);
v___x_2908_ = v___x_2903_;
goto v_reusejp_2907_;
}
else
{
lean_object* v_reuseFailAlloc_2909_; 
v_reuseFailAlloc_2909_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2909_, 0, v_snd_2906_);
v___x_2908_ = v_reuseFailAlloc_2909_;
goto v_reusejp_2907_;
}
v_reusejp_2907_:
{
return v___x_2908_;
}
}
else
{
lean_object* v_val_2910_; lean_object* v___x_2912_; 
lean_inc_ref(v_fst_2905_);
lean_dec(v_a_2901_);
v_val_2910_ = lean_ctor_get(v_fst_2905_, 0);
lean_inc(v_val_2910_);
lean_dec_ref(v_fst_2905_);
if (v_isShared_2904_ == 0)
{
lean_ctor_set(v___x_2903_, 0, v_val_2910_);
v___x_2912_ = v___x_2903_;
goto v_reusejp_2911_;
}
else
{
lean_object* v_reuseFailAlloc_2913_; 
v_reuseFailAlloc_2913_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2913_, 0, v_val_2910_);
v___x_2912_ = v_reuseFailAlloc_2913_;
goto v_reusejp_2911_;
}
v_reusejp_2911_:
{
return v___x_2912_;
}
}
}
}
else
{
lean_object* v_a_2915_; lean_object* v___x_2917_; uint8_t v_isShared_2918_; uint8_t v_isSharedCheck_2922_; 
v_a_2915_ = lean_ctor_get(v___x_2900_, 0);
v_isSharedCheck_2922_ = !lean_is_exclusive(v___x_2900_);
if (v_isSharedCheck_2922_ == 0)
{
v___x_2917_ = v___x_2900_;
v_isShared_2918_ = v_isSharedCheck_2922_;
goto v_resetjp_2916_;
}
else
{
lean_inc(v_a_2915_);
lean_dec(v___x_2900_);
v___x_2917_ = lean_box(0);
v_isShared_2918_ = v_isSharedCheck_2922_;
goto v_resetjp_2916_;
}
v_resetjp_2916_:
{
lean_object* v___x_2920_; 
if (v_isShared_2918_ == 0)
{
v___x_2920_ = v___x_2917_;
goto v_reusejp_2919_;
}
else
{
lean_object* v_reuseFailAlloc_2921_; 
v_reuseFailAlloc_2921_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2921_, 0, v_a_2915_);
v___x_2920_ = v_reuseFailAlloc_2921_;
goto v_reusejp_2919_;
}
v_reusejp_2919_:
{
return v___x_2920_;
}
}
}
}
}
}
else
{
lean_object* v_a_2924_; lean_object* v___x_2926_; uint8_t v_isShared_2927_; uint8_t v_isSharedCheck_2931_; 
lean_dec_ref(v_tail_2885_);
lean_dec(v___y_2882_);
lean_dec_ref(v___y_2881_);
lean_dec(v___y_2880_);
lean_dec_ref(v___y_2879_);
lean_dec(v___y_2878_);
lean_dec_ref(v___y_2877_);
lean_dec(v___y_2876_);
lean_dec_ref(v___y_2875_);
lean_dec(v___y_2874_);
lean_dec(v___y_2873_);
v_a_2924_ = lean_ctor_get(v___x_2886_, 0);
v_isSharedCheck_2931_ = !lean_is_exclusive(v___x_2886_);
if (v_isSharedCheck_2931_ == 0)
{
v___x_2926_ = v___x_2886_;
v_isShared_2927_ = v_isSharedCheck_2931_;
goto v_resetjp_2925_;
}
else
{
lean_inc(v_a_2924_);
lean_dec(v___x_2886_);
v___x_2926_ = lean_box(0);
v_isShared_2927_ = v_isSharedCheck_2931_;
goto v_resetjp_2925_;
}
v_resetjp_2925_:
{
lean_object* v___x_2929_; 
if (v_isShared_2927_ == 0)
{
v___x_2929_ = v___x_2926_;
goto v_reusejp_2928_;
}
else
{
lean_object* v_reuseFailAlloc_2930_; 
v_reuseFailAlloc_2930_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2930_, 0, v_a_2924_);
v___x_2929_ = v_reuseFailAlloc_2930_;
goto v_reusejp_2928_;
}
v_reusejp_2928_:
{
return v___x_2929_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1___boxed(lean_object* v_t_2932_, lean_object* v_init_2933_, lean_object* v___y_2934_, lean_object* v___y_2935_, lean_object* v___y_2936_, lean_object* v___y_2937_, lean_object* v___y_2938_, lean_object* v___y_2939_, lean_object* v___y_2940_, lean_object* v___y_2941_, lean_object* v___y_2942_, lean_object* v___y_2943_, lean_object* v___y_2944_){
_start:
{
lean_object* v_res_2945_; 
v_res_2945_ = l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1(v_t_2932_, v_init_2933_, v___y_2934_, v___y_2935_, v___y_2936_, v___y_2937_, v___y_2938_, v___y_2939_, v___y_2940_, v___y_2941_, v___y_2942_, v___y_2943_);
return v_res_2945_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_assertExtra(lean_object* v_params_2946_, lean_object* v_a_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_, lean_object* v_a_2953_, lean_object* v_a_2954_, lean_object* v_a_2955_, lean_object* v_a_2956_){
_start:
{
lean_object* v_extra_2958_; lean_object* v_extraInj_2959_; lean_object* v_extraFacts_2960_; lean_object* v___x_2961_; lean_object* v___x_2962_; 
v_extra_2958_ = lean_ctor_get(v_params_2946_, 2);
lean_inc_ref(v_extra_2958_);
v_extraInj_2959_ = lean_ctor_get(v_params_2946_, 3);
lean_inc_ref(v_extraInj_2959_);
v_extraFacts_2960_ = lean_ctor_get(v_params_2946_, 4);
lean_inc_ref(v_extraFacts_2960_);
lean_dec_ref(v_params_2946_);
v___x_2961_ = lean_box(0);
lean_inc(v_a_2956_);
lean_inc_ref(v_a_2955_);
lean_inc(v_a_2954_);
lean_inc_ref(v_a_2953_);
v___x_2962_ = l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__0(v_extraFacts_2960_, v___x_2961_, v_a_2947_, v_a_2948_, v_a_2949_, v_a_2950_, v_a_2951_, v_a_2952_, v_a_2953_, v_a_2954_, v_a_2955_, v_a_2956_);
if (lean_obj_tag(v___x_2962_) == 0)
{
lean_object* v___x_2963_; 
lean_dec_ref(v___x_2962_);
lean_inc(v_a_2956_);
lean_inc_ref(v_a_2955_);
lean_inc(v_a_2954_);
lean_inc_ref(v_a_2953_);
lean_inc(v_a_2952_);
lean_inc_ref(v_a_2951_);
lean_inc(v_a_2950_);
lean_inc_ref(v_a_2949_);
lean_inc(v_a_2948_);
lean_inc(v_a_2947_);
v___x_2963_ = l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__1(v_extra_2958_, v___x_2961_, v_a_2947_, v_a_2948_, v_a_2949_, v_a_2950_, v_a_2951_, v_a_2952_, v_a_2953_, v_a_2954_, v_a_2955_, v_a_2956_);
if (lean_obj_tag(v___x_2963_) == 0)
{
lean_object* v___x_2964_; 
lean_dec_ref(v___x_2963_);
v___x_2964_ = l_Lean_PersistentArray_forIn___at___00Lean_Meta_Grind_assertExtra_spec__2(v_extraInj_2959_, v___x_2961_, v_a_2947_, v_a_2948_, v_a_2949_, v_a_2950_, v_a_2951_, v_a_2952_, v_a_2953_, v_a_2954_, v_a_2955_, v_a_2956_);
if (lean_obj_tag(v___x_2964_) == 0)
{
lean_object* v___x_2966_; uint8_t v_isShared_2967_; uint8_t v_isSharedCheck_2971_; 
v_isSharedCheck_2971_ = !lean_is_exclusive(v___x_2964_);
if (v_isSharedCheck_2971_ == 0)
{
lean_object* v_unused_2972_; 
v_unused_2972_ = lean_ctor_get(v___x_2964_, 0);
lean_dec(v_unused_2972_);
v___x_2966_ = v___x_2964_;
v_isShared_2967_ = v_isSharedCheck_2971_;
goto v_resetjp_2965_;
}
else
{
lean_dec(v___x_2964_);
v___x_2966_ = lean_box(0);
v_isShared_2967_ = v_isSharedCheck_2971_;
goto v_resetjp_2965_;
}
v_resetjp_2965_:
{
lean_object* v___x_2969_; 
if (v_isShared_2967_ == 0)
{
lean_ctor_set(v___x_2966_, 0, v___x_2961_);
v___x_2969_ = v___x_2966_;
goto v_reusejp_2968_;
}
else
{
lean_object* v_reuseFailAlloc_2970_; 
v_reuseFailAlloc_2970_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2970_, 0, v___x_2961_);
v___x_2969_ = v_reuseFailAlloc_2970_;
goto v_reusejp_2968_;
}
v_reusejp_2968_:
{
return v___x_2969_;
}
}
}
else
{
return v___x_2964_;
}
}
else
{
lean_dec_ref(v_extraInj_2959_);
lean_dec(v_a_2956_);
lean_dec_ref(v_a_2955_);
lean_dec(v_a_2954_);
lean_dec_ref(v_a_2953_);
lean_dec(v_a_2952_);
lean_dec_ref(v_a_2951_);
lean_dec(v_a_2950_);
lean_dec_ref(v_a_2949_);
lean_dec(v_a_2948_);
lean_dec(v_a_2947_);
return v___x_2963_;
}
}
else
{
lean_dec_ref(v_extraInj_2959_);
lean_dec_ref(v_extra_2958_);
lean_dec(v_a_2956_);
lean_dec_ref(v_a_2955_);
lean_dec(v_a_2954_);
lean_dec_ref(v_a_2953_);
lean_dec(v_a_2952_);
lean_dec_ref(v_a_2951_);
lean_dec(v_a_2950_);
lean_dec_ref(v_a_2949_);
lean_dec(v_a_2948_);
lean_dec(v_a_2947_);
return v___x_2962_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_assertExtra___boxed(lean_object* v_params_2973_, lean_object* v_a_2974_, lean_object* v_a_2975_, lean_object* v_a_2976_, lean_object* v_a_2977_, lean_object* v_a_2978_, lean_object* v_a_2979_, lean_object* v_a_2980_, lean_object* v_a_2981_, lean_object* v_a_2982_, lean_object* v_a_2983_, lean_object* v_a_2984_){
_start:
{
lean_object* v_res_2985_; 
v_res_2985_ = l_Lean_Meta_Grind_assertExtra(v_params_2973_, v_a_2974_, v_a_2975_, v_a_2976_, v_a_2977_, v_a_2978_, v_a_2979_, v_a_2980_, v_a_2981_, v_a_2982_, v_a_2983_);
return v_res_2985_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___redArg(lean_object* v_e_2986_, uint8_t v_interpreted_2987_, uint8_t v_ctor_2988_, lean_object* v_a_2989_){
_start:
{
lean_object* v___y_2992_; 
if (lean_obj_tag(v_e_2986_) == 4)
{
lean_object* v_declName_2996_; lean_object* v___x_2997_; lean_object* v___x_2998_; 
v_declName_2996_ = lean_ctor_get(v_e_2986_, 0);
lean_inc(v_declName_2996_);
v___x_2997_ = lean_alloc_ctor(2, 1, 0);
lean_ctor_set(v___x_2997_, 0, v_declName_2996_);
v___x_2998_ = l_Lean_Meta_Grind_updateIndicesFound___redArg(v___x_2997_, v_a_2989_);
if (lean_obj_tag(v___x_2998_) == 0)
{
lean_dec_ref(v___x_2998_);
v___y_2992_ = v_a_2989_;
goto v___jp_2991_;
}
else
{
lean_dec_ref(v_e_2986_);
return v___x_2998_;
}
}
else
{
v___y_2992_ = v_a_2989_;
goto v___jp_2991_;
}
v___jp_2991_:
{
lean_object* v___x_2993_; uint8_t v___x_2994_; lean_object* v___x_2995_; 
v___x_2993_ = lean_unsigned_to_nat(0u);
v___x_2994_ = 0;
v___x_2995_ = l_Lean_Meta_Grind_mkENodeCore___redArg(v_e_2986_, v_interpreted_2987_, v_ctor_2988_, v___x_2993_, v___x_2994_, v___y_2992_);
return v___x_2995_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___redArg___boxed(lean_object* v_e_2999_, lean_object* v_interpreted_3000_, lean_object* v_ctor_3001_, lean_object* v_a_3002_, lean_object* v_a_3003_){
_start:
{
uint8_t v_interpreted_boxed_3004_; uint8_t v_ctor_boxed_3005_; lean_object* v_res_3006_; 
v_interpreted_boxed_3004_ = lean_unbox(v_interpreted_3000_);
v_ctor_boxed_3005_ = lean_unbox(v_ctor_3001_);
v_res_3006_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___redArg(v_e_2999_, v_interpreted_boxed_3004_, v_ctor_boxed_3005_, v_a_3002_);
lean_dec(v_a_3002_);
return v_res_3006_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore(lean_object* v_e_3007_, uint8_t v_interpreted_3008_, uint8_t v_ctor_3009_, lean_object* v_a_3010_, lean_object* v_a_3011_, lean_object* v_a_3012_, lean_object* v_a_3013_, lean_object* v_a_3014_, lean_object* v_a_3015_, lean_object* v_a_3016_, lean_object* v_a_3017_, lean_object* v_a_3018_, lean_object* v_a_3019_){
_start:
{
lean_object* v___x_3021_; 
v___x_3021_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___redArg(v_e_3007_, v_interpreted_3008_, v_ctor_3009_, v_a_3010_);
return v___x_3021_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___boxed(lean_object* v_e_3022_, lean_object* v_interpreted_3023_, lean_object* v_ctor_3024_, lean_object* v_a_3025_, lean_object* v_a_3026_, lean_object* v_a_3027_, lean_object* v_a_3028_, lean_object* v_a_3029_, lean_object* v_a_3030_, lean_object* v_a_3031_, lean_object* v_a_3032_, lean_object* v_a_3033_, lean_object* v_a_3034_, lean_object* v_a_3035_){
_start:
{
uint8_t v_interpreted_boxed_3036_; uint8_t v_ctor_boxed_3037_; lean_object* v_res_3038_; 
v_interpreted_boxed_3036_ = lean_unbox(v_interpreted_3023_);
v_ctor_boxed_3037_ = lean_unbox(v_ctor_3024_);
v_res_3038_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore(v_e_3022_, v_interpreted_boxed_3036_, v_ctor_boxed_3037_, v_a_3025_, v_a_3026_, v_a_3027_, v_a_3028_, v_a_3029_, v_a_3030_, v_a_3031_, v_a_3032_, v_a_3033_, v_a_3034_);
lean_dec(v_a_3034_);
lean_dec_ref(v_a_3033_);
lean_dec(v_a_3032_);
lean_dec_ref(v_a_3031_);
lean_dec(v_a_3030_);
lean_dec_ref(v_a_3029_);
lean_dec(v_a_3028_);
lean_dec_ref(v_a_3027_);
lean_dec(v_a_3026_);
lean_dec(v_a_3025_);
return v_res_3038_;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__0(void){
_start:
{
lean_object* v___x_3039_; 
v___x_3039_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_3039_;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__1(void){
_start:
{
lean_object* v___x_3040_; lean_object* v___x_3041_; 
v___x_3040_ = lean_obj_once(&l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__0, &l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__0_once, _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__0);
v___x_3041_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3041_, 0, v___x_3040_);
return v___x_3041_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2(lean_object* v_00_u03b2_3042_){
_start:
{
lean_object* v___x_3043_; 
v___x_3043_ = lean_obj_once(&l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__1, &l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__1_once, _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__1);
return v___x_3043_;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3___closed__0(void){
_start:
{
lean_object* v___x_3044_; 
v___x_3044_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_3044_;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3___closed__1(void){
_start:
{
lean_object* v___x_3045_; lean_object* v___x_3046_; 
v___x_3045_ = lean_obj_once(&l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3___closed__0, &l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3___closed__0_once, _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3___closed__0);
v___x_3046_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3046_, 0, v___x_3045_);
return v___x_3046_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3(lean_object* v_00_u03b2_3047_){
_start:
{
lean_object* v___x_3048_; 
v___x_3048_ = lean_obj_once(&l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3___closed__1, &l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3___closed__1_once, _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3___closed__1);
return v___x_3048_;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4___closed__0(void){
_start:
{
lean_object* v___x_3049_; 
v___x_3049_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_3049_;
}
}
static lean_object* _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4___closed__1(void){
_start:
{
lean_object* v___x_3050_; lean_object* v___x_3051_; 
v___x_3050_ = lean_obj_once(&l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4___closed__0, &l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4___closed__0_once, _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4___closed__0);
v___x_3051_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3051_, 0, v___x_3050_);
return v___x_3051_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4(lean_object* v_00_u03b2_3052_){
_start:
{
lean_object* v___x_3053_; 
v___x_3053_ = lean_obj_once(&l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4___closed__1, &l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4___closed__1_once, _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4___closed__1);
return v___x_3053_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__5(lean_object* v_00_u03b2_3054_){
_start:
{
lean_object* v___x_3055_; 
v___x_3055_ = lean_obj_once(&l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__1, &l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__1_once, _init_l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2___closed__1);
return v___x_3055_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkGoalCore___lam__0(lean_object* v___x_3056_, lean_object* v_a_3057_, uint8_t v___x_3058_, uint8_t v___x_3059_, lean_object* v_a_3060_, lean_object* v_a_3061_, lean_object* v_a_3062_, lean_object* v_a_3063_, lean_object* v_a_3064_, lean_object* v___y_3065_, lean_object* v___y_3066_, lean_object* v___y_3067_, lean_object* v___y_3068_, lean_object* v___y_3069_, lean_object* v___y_3070_, lean_object* v___y_3071_, lean_object* v___y_3072_, lean_object* v___y_3073_){
_start:
{
lean_object* v___x_3075_; lean_object* v___y_3077_; lean_object* v___x_3096_; 
v___x_3075_ = lean_st_mk_ref(v___x_3056_);
v___x_3096_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___redArg(v_a_3057_, v___x_3058_, v___x_3059_, v___x_3075_);
if (lean_obj_tag(v___x_3096_) == 0)
{
lean_object* v___x_3097_; 
lean_dec_ref(v___x_3096_);
v___x_3097_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___redArg(v_a_3060_, v___x_3058_, v___x_3059_, v___x_3075_);
if (lean_obj_tag(v___x_3097_) == 0)
{
lean_object* v___x_3098_; 
lean_dec_ref(v___x_3097_);
v___x_3098_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___redArg(v_a_3061_, v___x_3059_, v___x_3058_, v___x_3075_);
if (lean_obj_tag(v___x_3098_) == 0)
{
lean_object* v___x_3099_; 
lean_dec_ref(v___x_3098_);
v___x_3099_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___redArg(v_a_3062_, v___x_3059_, v___x_3058_, v___x_3075_);
if (lean_obj_tag(v___x_3099_) == 0)
{
lean_object* v___x_3100_; 
lean_dec_ref(v___x_3099_);
v___x_3100_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___redArg(v_a_3063_, v___x_3058_, v___x_3059_, v___x_3075_);
if (lean_obj_tag(v___x_3100_) == 0)
{
lean_object* v___x_3101_; 
lean_dec_ref(v___x_3100_);
v___x_3101_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initENodeCore___redArg(v_a_3064_, v___x_3059_, v___x_3058_, v___x_3075_);
v___y_3077_ = v___x_3101_;
goto v___jp_3076_;
}
else
{
lean_dec_ref(v_a_3064_);
v___y_3077_ = v___x_3100_;
goto v___jp_3076_;
}
}
else
{
lean_dec_ref(v_a_3064_);
lean_dec_ref(v_a_3063_);
v___y_3077_ = v___x_3099_;
goto v___jp_3076_;
}
}
else
{
lean_dec_ref(v_a_3064_);
lean_dec_ref(v_a_3063_);
lean_dec_ref(v_a_3062_);
v___y_3077_ = v___x_3098_;
goto v___jp_3076_;
}
}
else
{
lean_dec_ref(v_a_3064_);
lean_dec_ref(v_a_3063_);
lean_dec_ref(v_a_3062_);
lean_dec_ref(v_a_3061_);
v___y_3077_ = v___x_3097_;
goto v___jp_3076_;
}
}
else
{
lean_dec_ref(v_a_3064_);
lean_dec_ref(v_a_3063_);
lean_dec_ref(v_a_3062_);
lean_dec_ref(v_a_3061_);
lean_dec_ref(v_a_3060_);
v___y_3077_ = v___x_3096_;
goto v___jp_3076_;
}
v___jp_3076_:
{
if (lean_obj_tag(v___y_3077_) == 0)
{
lean_object* v___x_3079_; uint8_t v_isShared_3080_; uint8_t v_isSharedCheck_3086_; 
v_isSharedCheck_3086_ = !lean_is_exclusive(v___y_3077_);
if (v_isSharedCheck_3086_ == 0)
{
lean_object* v_unused_3087_; 
v_unused_3087_ = lean_ctor_get(v___y_3077_, 0);
lean_dec(v_unused_3087_);
v___x_3079_ = v___y_3077_;
v_isShared_3080_ = v_isSharedCheck_3086_;
goto v_resetjp_3078_;
}
else
{
lean_dec(v___y_3077_);
v___x_3079_ = lean_box(0);
v_isShared_3080_ = v_isSharedCheck_3086_;
goto v_resetjp_3078_;
}
v_resetjp_3078_:
{
lean_object* v___x_3081_; lean_object* v___x_3082_; lean_object* v___x_3084_; 
v___x_3081_ = lean_st_ref_get(v___x_3075_);
v___x_3082_ = lean_st_ref_get(v___x_3075_);
lean_dec(v___x_3075_);
lean_dec(v___x_3082_);
if (v_isShared_3080_ == 0)
{
lean_ctor_set(v___x_3079_, 0, v___x_3081_);
v___x_3084_ = v___x_3079_;
goto v_reusejp_3083_;
}
else
{
lean_object* v_reuseFailAlloc_3085_; 
v_reuseFailAlloc_3085_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3085_, 0, v___x_3081_);
v___x_3084_ = v_reuseFailAlloc_3085_;
goto v_reusejp_3083_;
}
v_reusejp_3083_:
{
return v___x_3084_;
}
}
}
else
{
lean_object* v_a_3088_; lean_object* v___x_3090_; uint8_t v_isShared_3091_; uint8_t v_isSharedCheck_3095_; 
lean_dec(v___x_3075_);
v_a_3088_ = lean_ctor_get(v___y_3077_, 0);
v_isSharedCheck_3095_ = !lean_is_exclusive(v___y_3077_);
if (v_isSharedCheck_3095_ == 0)
{
v___x_3090_ = v___y_3077_;
v_isShared_3091_ = v_isSharedCheck_3095_;
goto v_resetjp_3089_;
}
else
{
lean_inc(v_a_3088_);
lean_dec(v___y_3077_);
v___x_3090_ = lean_box(0);
v_isShared_3091_ = v_isSharedCheck_3095_;
goto v_resetjp_3089_;
}
v_resetjp_3089_:
{
lean_object* v___x_3093_; 
if (v_isShared_3091_ == 0)
{
v___x_3093_ = v___x_3090_;
goto v_reusejp_3092_;
}
else
{
lean_object* v_reuseFailAlloc_3094_; 
v_reuseFailAlloc_3094_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3094_, 0, v_a_3088_);
v___x_3093_ = v_reuseFailAlloc_3094_;
goto v_reusejp_3092_;
}
v_reusejp_3092_:
{
return v___x_3093_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkGoalCore___lam__0___boxed(lean_object** _args){
lean_object* v___x_3102_ = _args[0];
lean_object* v_a_3103_ = _args[1];
lean_object* v___x_3104_ = _args[2];
lean_object* v___x_3105_ = _args[3];
lean_object* v_a_3106_ = _args[4];
lean_object* v_a_3107_ = _args[5];
lean_object* v_a_3108_ = _args[6];
lean_object* v_a_3109_ = _args[7];
lean_object* v_a_3110_ = _args[8];
lean_object* v___y_3111_ = _args[9];
lean_object* v___y_3112_ = _args[10];
lean_object* v___y_3113_ = _args[11];
lean_object* v___y_3114_ = _args[12];
lean_object* v___y_3115_ = _args[13];
lean_object* v___y_3116_ = _args[14];
lean_object* v___y_3117_ = _args[15];
lean_object* v___y_3118_ = _args[16];
lean_object* v___y_3119_ = _args[17];
lean_object* v___y_3120_ = _args[18];
_start:
{
uint8_t v___x_58788__boxed_3121_; uint8_t v___x_58789__boxed_3122_; lean_object* v_res_3123_; 
v___x_58788__boxed_3121_ = lean_unbox(v___x_3104_);
v___x_58789__boxed_3122_ = lean_unbox(v___x_3105_);
v_res_3123_ = l_Lean_Meta_Grind_mkGoalCore___lam__0(v___x_3102_, v_a_3103_, v___x_58788__boxed_3121_, v___x_58789__boxed_3122_, v_a_3106_, v_a_3107_, v_a_3108_, v_a_3109_, v_a_3110_, v___y_3111_, v___y_3112_, v___y_3113_, v___y_3114_, v___y_3115_, v___y_3116_, v___y_3117_, v___y_3118_, v___y_3119_);
lean_dec(v___y_3119_);
lean_dec_ref(v___y_3118_);
lean_dec(v___y_3117_);
lean_dec_ref(v___y_3116_);
lean_dec(v___y_3115_);
lean_dec_ref(v___y_3114_);
lean_dec(v___y_3113_);
lean_dec_ref(v___y_3112_);
lean_dec(v___y_3111_);
return v_res_3123_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkGoalCore_spec__1(size_t v_sz_3124_, size_t v_i_3125_, lean_object* v_bs_3126_){
_start:
{
uint8_t v___x_3127_; 
v___x_3127_ = lean_usize_dec_lt(v_i_3125_, v_sz_3124_);
if (v___x_3127_ == 0)
{
return v_bs_3126_;
}
else
{
lean_object* v_v_3128_; lean_object* v_inj_3129_; lean_object* v___x_3130_; lean_object* v_bs_x27_3131_; size_t v___x_3132_; size_t v___x_3133_; lean_object* v___x_3134_; 
v_v_3128_ = lean_array_uget_borrowed(v_bs_3126_, v_i_3125_);
v_inj_3129_ = lean_ctor_get(v_v_3128_, 4);
lean_inc_ref(v_inj_3129_);
v___x_3130_ = lean_unsigned_to_nat(0u);
v_bs_x27_3131_ = lean_array_uset(v_bs_3126_, v_i_3125_, v___x_3130_);
v___x_3132_ = ((size_t)1ULL);
v___x_3133_ = lean_usize_add(v_i_3125_, v___x_3132_);
v___x_3134_ = lean_array_uset(v_bs_x27_3131_, v_i_3125_, v_inj_3129_);
v_i_3125_ = v___x_3133_;
v_bs_3126_ = v___x_3134_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkGoalCore_spec__1___boxed(lean_object* v_sz_3136_, lean_object* v_i_3137_, lean_object* v_bs_3138_){
_start:
{
size_t v_sz_boxed_3139_; size_t v_i_boxed_3140_; lean_object* v_res_3141_; 
v_sz_boxed_3139_ = lean_unbox_usize(v_sz_3136_);
lean_dec(v_sz_3136_);
v_i_boxed_3140_ = lean_unbox_usize(v_i_3137_);
lean_dec(v_i_3137_);
v_res_3141_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkGoalCore_spec__1(v_sz_boxed_3139_, v_i_boxed_3140_, v_bs_3138_);
return v_res_3141_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkGoalCore_spec__0(size_t v_sz_3142_, size_t v_i_3143_, lean_object* v_bs_3144_){
_start:
{
uint8_t v___x_3145_; 
v___x_3145_ = lean_usize_dec_lt(v_i_3143_, v_sz_3142_);
if (v___x_3145_ == 0)
{
return v_bs_3144_;
}
else
{
lean_object* v_v_3146_; lean_object* v_ematch_3147_; lean_object* v___x_3148_; lean_object* v_bs_x27_3149_; size_t v___x_3150_; size_t v___x_3151_; lean_object* v___x_3152_; 
v_v_3146_ = lean_array_uget_borrowed(v_bs_3144_, v_i_3143_);
v_ematch_3147_ = lean_ctor_get(v_v_3146_, 3);
lean_inc_ref(v_ematch_3147_);
v___x_3148_ = lean_unsigned_to_nat(0u);
v_bs_x27_3149_ = lean_array_uset(v_bs_3144_, v_i_3143_, v___x_3148_);
v___x_3150_ = ((size_t)1ULL);
v___x_3151_ = lean_usize_add(v_i_3143_, v___x_3150_);
v___x_3152_ = lean_array_uset(v_bs_x27_3149_, v_i_3143_, v_ematch_3147_);
v_i_3143_ = v___x_3151_;
v_bs_3144_ = v___x_3152_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkGoalCore_spec__0___boxed(lean_object* v_sz_3154_, lean_object* v_i_3155_, lean_object* v_bs_3156_){
_start:
{
size_t v_sz_boxed_3157_; size_t v_i_boxed_3158_; lean_object* v_res_3159_; 
v_sz_boxed_3157_ = lean_unbox_usize(v_sz_3154_);
lean_dec(v_sz_3154_);
v_i_boxed_3158_ = lean_unbox_usize(v_i_3155_);
lean_dec(v_i_3155_);
v_res_3159_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkGoalCore_spec__0(v_sz_boxed_3157_, v_i_boxed_3158_, v_bs_3156_);
return v_res_3159_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__0(void){
_start:
{
lean_object* v___x_3160_; 
v___x_3160_ = l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_box(0), lean_box(0));
return v___x_3160_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__1(void){
_start:
{
lean_object* v___x_3161_; lean_object* v___x_3162_; 
v___x_3161_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__0, &l_Lean_Meta_Grind_mkGoalCore___closed__0_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__0);
v___x_3162_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3162_, 0, v___x_3161_);
return v___x_3162_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__2(void){
_start:
{
lean_object* v___x_3163_; lean_object* v___x_3164_; 
v___x_3163_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__1, &l_Lean_Meta_Grind_mkGoalCore___closed__1_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__1);
v___x_3164_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_3164_, 0, v___x_3163_);
lean_ctor_set(v___x_3164_, 1, v___x_3163_);
lean_ctor_set(v___x_3164_, 2, v___x_3163_);
lean_ctor_set(v___x_3164_, 3, v___x_3163_);
return v___x_3164_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__3(void){
_start:
{
lean_object* v___x_3165_; lean_object* v___x_3166_; lean_object* v___x_3167_; 
v___x_3165_ = lean_unsigned_to_nat(32u);
v___x_3166_ = lean_mk_empty_array_with_capacity(v___x_3165_);
v___x_3167_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3167_, 0, v___x_3166_);
return v___x_3167_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__4(void){
_start:
{
size_t v___x_3168_; lean_object* v___x_3169_; lean_object* v___x_3170_; lean_object* v___x_3171_; lean_object* v___x_3172_; lean_object* v___x_3173_; 
v___x_3168_ = ((size_t)5ULL);
v___x_3169_ = lean_unsigned_to_nat(0u);
v___x_3170_ = lean_unsigned_to_nat(32u);
v___x_3171_ = lean_mk_empty_array_with_capacity(v___x_3170_);
v___x_3172_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__3, &l_Lean_Meta_Grind_mkGoalCore___closed__3_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__3);
v___x_3173_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(v___x_3173_, 0, v___x_3172_);
lean_ctor_set(v___x_3173_, 1, v___x_3171_);
lean_ctor_set(v___x_3173_, 2, v___x_3169_);
lean_ctor_set(v___x_3173_, 3, v___x_3169_);
lean_ctor_set_usize(v___x_3173_, 4, v___x_3168_);
return v___x_3173_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__5(void){
_start:
{
lean_object* v___x_3174_; 
v___x_3174_ = l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__2(lean_box(0));
return v___x_3174_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__6(void){
_start:
{
lean_object* v___x_3175_; 
v___x_3175_ = l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__3(lean_box(0));
return v___x_3175_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__8(void){
_start:
{
lean_object* v___x_3178_; 
v___x_3178_ = l_Std_Queue_empty(lean_box(0));
return v___x_3178_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__9(void){
_start:
{
lean_object* v___x_3179_; 
v___x_3179_ = l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__4(lean_box(0));
return v___x_3179_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__10(void){
_start:
{
lean_object* v___x_3180_; lean_object* v___x_3181_; lean_object* v___x_3182_; 
v___x_3180_ = lean_box(0);
v___x_3181_ = lean_unsigned_to_nat(16u);
v___x_3182_ = lean_mk_array(v___x_3181_, v___x_3180_);
return v___x_3182_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__11(void){
_start:
{
lean_object* v___x_3183_; lean_object* v___x_3184_; lean_object* v___x_3185_; 
v___x_3183_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__10, &l_Lean_Meta_Grind_mkGoalCore___closed__10_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__10);
v___x_3184_ = lean_unsigned_to_nat(0u);
v___x_3185_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3185_, 0, v___x_3184_);
lean_ctor_set(v___x_3185_, 1, v___x_3183_);
return v___x_3185_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__12(void){
_start:
{
lean_object* v___x_3186_; 
v___x_3186_ = l_Lean_PersistentHashMap_empty___at___00Lean_Meta_Grind_mkGoalCore_spec__5(lean_box(0));
return v___x_3186_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_mkGoalCore___closed__13(void){
_start:
{
lean_object* v___x_3187_; lean_object* v___x_3188_; lean_object* v___x_3189_; lean_object* v___x_3190_; lean_object* v___x_3191_; lean_object* v___x_3192_; 
v___x_3187_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__1, &l_Lean_Meta_Grind_mkGoalCore___closed__1_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__1);
v___x_3188_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__12, &l_Lean_Meta_Grind_mkGoalCore___closed__12_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__12);
v___x_3189_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__11, &l_Lean_Meta_Grind_mkGoalCore___closed__11_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__11);
v___x_3190_ = lean_box(0);
v___x_3191_ = lean_unsigned_to_nat(0u);
v___x_3192_ = lean_alloc_ctor(0, 8, 0);
lean_ctor_set(v___x_3192_, 0, v___x_3191_);
lean_ctor_set(v___x_3192_, 1, v___x_3190_);
lean_ctor_set(v___x_3192_, 2, v___x_3189_);
lean_ctor_set(v___x_3192_, 3, v___x_3188_);
lean_ctor_set(v___x_3192_, 4, v___x_3190_);
lean_ctor_set(v___x_3192_, 5, v___x_3190_);
lean_ctor_set(v___x_3192_, 6, v___x_3189_);
lean_ctor_set(v___x_3192_, 7, v___x_3187_);
return v___x_3192_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkGoalCore(lean_object* v_mvarId_3193_, lean_object* v_a_3194_, lean_object* v_a_3195_, lean_object* v_a_3196_, lean_object* v_a_3197_, lean_object* v_a_3198_, lean_object* v_a_3199_, lean_object* v_a_3200_, lean_object* v_a_3201_, lean_object* v_a_3202_){
_start:
{
lean_object* v_mvarId_3205_; lean_object* v___y_3206_; lean_object* v___y_3207_; lean_object* v___y_3208_; lean_object* v___y_3209_; lean_object* v___y_3210_; lean_object* v___y_3211_; lean_object* v___y_3212_; lean_object* v___y_3213_; lean_object* v___y_3214_; lean_object* v___x_3336_; 
v___x_3336_ = l_Lean_Meta_Grind_getConfig___redArg(v_a_3195_);
if (lean_obj_tag(v___x_3336_) == 0)
{
lean_object* v_a_3337_; uint8_t v_clean_3338_; 
v_a_3337_ = lean_ctor_get(v___x_3336_, 0);
lean_inc(v_a_3337_);
lean_dec_ref(v___x_3336_);
v_clean_3338_ = lean_ctor_get_uint8(v_a_3337_, sizeof(void*)*11 + 16);
lean_dec(v_a_3337_);
if (v_clean_3338_ == 0)
{
v_mvarId_3205_ = v_mvarId_3193_;
v___y_3206_ = v_a_3194_;
v___y_3207_ = v_a_3195_;
v___y_3208_ = v_a_3196_;
v___y_3209_ = v_a_3197_;
v___y_3210_ = v_a_3198_;
v___y_3211_ = v_a_3199_;
v___y_3212_ = v_a_3200_;
v___y_3213_ = v_a_3201_;
v___y_3214_ = v_a_3202_;
goto v___jp_3204_;
}
else
{
lean_object* v___x_3339_; 
lean_inc(v_a_3202_);
lean_inc_ref(v_a_3201_);
lean_inc(v_a_3200_);
lean_inc_ref(v_a_3199_);
v___x_3339_ = l_Lean_MVarId_exposeNames(v_mvarId_3193_, v_a_3199_, v_a_3200_, v_a_3201_, v_a_3202_);
if (lean_obj_tag(v___x_3339_) == 0)
{
lean_object* v_a_3340_; 
v_a_3340_ = lean_ctor_get(v___x_3339_, 0);
lean_inc(v_a_3340_);
lean_dec_ref(v___x_3339_);
v_mvarId_3205_ = v_a_3340_;
v___y_3206_ = v_a_3194_;
v___y_3207_ = v_a_3195_;
v___y_3208_ = v_a_3196_;
v___y_3209_ = v_a_3197_;
v___y_3210_ = v_a_3198_;
v___y_3211_ = v_a_3199_;
v___y_3212_ = v_a_3200_;
v___y_3213_ = v_a_3201_;
v___y_3214_ = v_a_3202_;
goto v___jp_3204_;
}
else
{
lean_object* v_a_3341_; lean_object* v___x_3343_; uint8_t v_isShared_3344_; uint8_t v_isSharedCheck_3348_; 
lean_dec(v_a_3202_);
lean_dec_ref(v_a_3201_);
lean_dec(v_a_3200_);
lean_dec_ref(v_a_3199_);
lean_dec(v_a_3198_);
lean_dec_ref(v_a_3197_);
lean_dec(v_a_3196_);
lean_dec_ref(v_a_3195_);
lean_dec(v_a_3194_);
v_a_3341_ = lean_ctor_get(v___x_3339_, 0);
v_isSharedCheck_3348_ = !lean_is_exclusive(v___x_3339_);
if (v_isSharedCheck_3348_ == 0)
{
v___x_3343_ = v___x_3339_;
v_isShared_3344_ = v_isSharedCheck_3348_;
goto v_resetjp_3342_;
}
else
{
lean_inc(v_a_3341_);
lean_dec(v___x_3339_);
v___x_3343_ = lean_box(0);
v_isShared_3344_ = v_isSharedCheck_3348_;
goto v_resetjp_3342_;
}
v_resetjp_3342_:
{
lean_object* v___x_3346_; 
if (v_isShared_3344_ == 0)
{
v___x_3346_ = v___x_3343_;
goto v_reusejp_3345_;
}
else
{
lean_object* v_reuseFailAlloc_3347_; 
v_reuseFailAlloc_3347_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3347_, 0, v_a_3341_);
v___x_3346_ = v_reuseFailAlloc_3347_;
goto v_reusejp_3345_;
}
v_reusejp_3345_:
{
return v___x_3346_;
}
}
}
}
}
else
{
lean_object* v_a_3349_; lean_object* v___x_3351_; uint8_t v_isShared_3352_; uint8_t v_isSharedCheck_3356_; 
lean_dec(v_a_3202_);
lean_dec_ref(v_a_3201_);
lean_dec(v_a_3200_);
lean_dec_ref(v_a_3199_);
lean_dec(v_a_3198_);
lean_dec_ref(v_a_3197_);
lean_dec(v_a_3196_);
lean_dec_ref(v_a_3195_);
lean_dec(v_a_3194_);
lean_dec(v_mvarId_3193_);
v_a_3349_ = lean_ctor_get(v___x_3336_, 0);
v_isSharedCheck_3356_ = !lean_is_exclusive(v___x_3336_);
if (v_isSharedCheck_3356_ == 0)
{
v___x_3351_ = v___x_3336_;
v_isShared_3352_ = v_isSharedCheck_3356_;
goto v_resetjp_3350_;
}
else
{
lean_inc(v_a_3349_);
lean_dec(v___x_3336_);
v___x_3351_ = lean_box(0);
v_isShared_3352_ = v_isSharedCheck_3356_;
goto v_resetjp_3350_;
}
v_resetjp_3350_:
{
lean_object* v___x_3354_; 
if (v_isShared_3352_ == 0)
{
v___x_3354_ = v___x_3351_;
goto v_reusejp_3353_;
}
else
{
lean_object* v_reuseFailAlloc_3355_; 
v_reuseFailAlloc_3355_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3355_, 0, v_a_3349_);
v___x_3354_ = v_reuseFailAlloc_3355_;
goto v_reusejp_3353_;
}
v_reusejp_3353_:
{
return v___x_3354_;
}
}
}
v___jp_3204_:
{
lean_object* v___x_3215_; 
v___x_3215_ = l_Lean_Meta_Sym_getTrueExpr___redArg(v___y_3209_);
if (lean_obj_tag(v___x_3215_) == 0)
{
lean_object* v_a_3216_; lean_object* v___x_3217_; 
v_a_3216_ = lean_ctor_get(v___x_3215_, 0);
lean_inc(v_a_3216_);
lean_dec_ref(v___x_3215_);
v___x_3217_ = l_Lean_Meta_Sym_getFalseExpr___redArg(v___y_3209_);
if (lean_obj_tag(v___x_3217_) == 0)
{
lean_object* v_a_3218_; lean_object* v___x_3219_; 
v_a_3218_ = lean_ctor_get(v___x_3217_, 0);
lean_inc(v_a_3218_);
lean_dec_ref(v___x_3217_);
v___x_3219_ = l_Lean_Meta_Sym_getBoolTrueExpr___redArg(v___y_3209_);
if (lean_obj_tag(v___x_3219_) == 0)
{
lean_object* v_a_3220_; lean_object* v___x_3221_; 
v_a_3220_ = lean_ctor_get(v___x_3219_, 0);
lean_inc(v_a_3220_);
lean_dec_ref(v___x_3219_);
v___x_3221_ = l_Lean_Meta_Sym_getBoolFalseExpr___redArg(v___y_3209_);
if (lean_obj_tag(v___x_3221_) == 0)
{
lean_object* v_a_3222_; lean_object* v___x_3223_; 
v_a_3222_ = lean_ctor_get(v___x_3221_, 0);
lean_inc(v_a_3222_);
lean_dec_ref(v___x_3221_);
v___x_3223_ = l_Lean_Meta_Sym_getNatZeroExpr___redArg(v___y_3209_);
if (lean_obj_tag(v___x_3223_) == 0)
{
lean_object* v_a_3224_; lean_object* v___x_3225_; 
v_a_3224_ = lean_ctor_get(v___x_3223_, 0);
lean_inc(v_a_3224_);
lean_dec_ref(v___x_3223_);
v___x_3225_ = l_Lean_Meta_Sym_getOrderingEqExpr___redArg(v___y_3209_);
if (lean_obj_tag(v___x_3225_) == 0)
{
lean_object* v_a_3226_; lean_object* v___x_3227_; 
v_a_3226_ = lean_ctor_get(v___x_3225_, 0);
lean_inc(v_a_3226_);
lean_dec_ref(v___x_3225_);
v___x_3227_ = l_Lean_Meta_Grind_getExtensions___redArg(v___y_3207_);
if (lean_obj_tag(v___x_3227_) == 0)
{
lean_object* v_a_3228_; lean_object* v___x_3229_; 
v_a_3228_ = lean_ctor_get(v___x_3227_, 0);
lean_inc(v_a_3228_);
lean_dec_ref(v___x_3227_);
lean_inc(v___y_3214_);
lean_inc_ref(v___y_3213_);
lean_inc(v___y_3212_);
lean_inc_ref(v___y_3211_);
lean_inc(v___y_3210_);
lean_inc_ref(v___y_3209_);
lean_inc(v___y_3208_);
lean_inc_ref(v___y_3207_);
lean_inc(v___y_3206_);
lean_inc(v_mvarId_3205_);
v___x_3229_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState(v_mvarId_3205_, v___y_3206_, v___y_3207_, v___y_3208_, v___y_3209_, v___y_3210_, v___y_3211_, v___y_3212_, v___y_3213_, v___y_3214_);
if (lean_obj_tag(v___x_3229_) == 0)
{
lean_object* v_a_3230_; lean_object* v___x_3231_; 
v_a_3230_ = lean_ctor_get(v___x_3229_, 0);
lean_inc(v_a_3230_);
lean_dec_ref(v___x_3229_);
v___x_3231_ = l_Lean_Meta_Grind_Solvers_mkInitialStates();
if (lean_obj_tag(v___x_3231_) == 0)
{
lean_object* v_a_3232_; size_t v_sz_3233_; size_t v___x_3234_; lean_object* v___x_3235_; lean_object* v___x_3236_; lean_object* v___x_3237_; lean_object* v___x_3238_; lean_object* v___x_3239_; lean_object* v___x_3240_; lean_object* v___x_3241_; lean_object* v___x_3242_; lean_object* v___x_3243_; lean_object* v___x_3244_; uint8_t v___x_3245_; lean_object* v___x_3246_; lean_object* v___x_3247_; lean_object* v___x_3248_; lean_object* v___x_3249_; lean_object* v___x_3250_; lean_object* v___x_3251_; lean_object* v___x_3252_; lean_object* v___x_3253_; uint8_t v___x_3254_; lean_object* v___x_3255_; lean_object* v___x_3256_; lean_object* v___f_3257_; lean_object* v___x_3258_; 
v_a_3232_ = lean_ctor_get(v___x_3231_, 0);
lean_inc(v_a_3232_);
lean_dec_ref(v___x_3231_);
v_sz_3233_ = lean_array_size(v_a_3228_);
v___x_3234_ = ((size_t)0ULL);
lean_inc(v_a_3228_);
v___x_3235_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkGoalCore_spec__0(v_sz_3233_, v___x_3234_, v_a_3228_);
v___x_3236_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkGoalCore_spec__1(v_sz_3233_, v___x_3234_, v_a_3228_);
v___x_3237_ = lean_unsigned_to_nat(0u);
v___x_3238_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__1, &l_Lean_Meta_Grind_mkGoalCore___closed__1_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__1);
v___x_3239_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__2, &l_Lean_Meta_Grind_mkGoalCore___closed__2_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__2);
v___x_3240_ = l_Lean_Meta_Grind_instInhabitedENodeMap___private__1;
v___x_3241_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__4, &l_Lean_Meta_Grind_mkGoalCore___closed__4_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__4);
v___x_3242_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__5, &l_Lean_Meta_Grind_mkGoalCore___closed__5_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__5);
v___x_3243_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__6, &l_Lean_Meta_Grind_mkGoalCore___closed__6_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__6);
v___x_3244_ = ((lean_object*)(l_Lean_Meta_Grind_mkGoalCore___closed__7));
v___x_3245_ = 0;
v___x_3246_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__8, &l_Lean_Meta_Grind_mkGoalCore___closed__8_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__8);
v___x_3247_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__9, &l_Lean_Meta_Grind_mkGoalCore___closed__9_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__9);
v___x_3248_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__0, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__0_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__0);
v___x_3249_ = lean_alloc_ctor(0, 11, 0);
lean_ctor_set(v___x_3249_, 0, v___x_3235_);
lean_ctor_set(v___x_3249_, 1, v___x_3237_);
lean_ctor_set(v___x_3249_, 2, v___x_3241_);
lean_ctor_set(v___x_3249_, 3, v___x_3241_);
lean_ctor_set(v___x_3249_, 4, v___x_3237_);
lean_ctor_set(v___x_3249_, 5, v___x_3237_);
lean_ctor_set(v___x_3249_, 6, v___x_3237_);
lean_ctor_set(v___x_3249_, 7, v___x_3247_);
lean_ctor_set(v___x_3249_, 8, v___x_3237_);
lean_ctor_set(v___x_3249_, 9, v___x_3248_);
lean_ctor_set(v___x_3249_, 10, v___x_3238_);
v___x_3250_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3250_, 0, v___x_3236_);
lean_ctor_set(v___x_3250_, 1, v___x_3238_);
v___x_3251_ = lean_obj_once(&l_Lean_Meta_Grind_mkGoalCore___closed__13, &l_Lean_Meta_Grind_mkGoalCore___closed__13_once, _init_l_Lean_Meta_Grind_mkGoalCore___closed__13);
v___x_3252_ = lean_alloc_ctor(0, 18, 1);
lean_ctor_set(v___x_3252_, 0, v___x_3237_);
lean_ctor_set(v___x_3252_, 1, v___x_3239_);
lean_ctor_set(v___x_3252_, 2, v___x_3240_);
lean_ctor_set(v___x_3252_, 3, v___x_3241_);
lean_ctor_set(v___x_3252_, 4, v___x_3238_);
lean_ctor_set(v___x_3252_, 5, v___x_3242_);
lean_ctor_set(v___x_3252_, 6, v___x_3238_);
lean_ctor_set(v___x_3252_, 7, v___x_3243_);
lean_ctor_set(v___x_3252_, 8, v___x_3244_);
lean_ctor_set(v___x_3252_, 9, v___x_3237_);
lean_ctor_set(v___x_3252_, 10, v___x_3246_);
lean_ctor_set(v___x_3252_, 11, v___x_3241_);
lean_ctor_set(v___x_3252_, 12, v___x_3238_);
lean_ctor_set(v___x_3252_, 13, v___x_3249_);
lean_ctor_set(v___x_3252_, 14, v___x_3250_);
lean_ctor_set(v___x_3252_, 15, v___x_3251_);
lean_ctor_set(v___x_3252_, 16, v_a_3230_);
lean_ctor_set(v___x_3252_, 17, v_a_3232_);
lean_ctor_set_uint8(v___x_3252_, sizeof(void*)*18, v___x_3245_);
lean_inc(v_mvarId_3205_);
v___x_3253_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3253_, 0, v___x_3252_);
lean_ctor_set(v___x_3253_, 1, v_mvarId_3205_);
v___x_3254_ = 1;
v___x_3255_ = lean_box(v___x_3254_);
v___x_3256_ = lean_box(v___x_3245_);
v___f_3257_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_mkGoalCore___lam__0___boxed), 19, 9);
lean_closure_set(v___f_3257_, 0, v___x_3253_);
lean_closure_set(v___f_3257_, 1, v_a_3218_);
lean_closure_set(v___f_3257_, 2, v___x_3255_);
lean_closure_set(v___f_3257_, 3, v___x_3256_);
lean_closure_set(v___f_3257_, 4, v_a_3216_);
lean_closure_set(v___f_3257_, 5, v_a_3220_);
lean_closure_set(v___f_3257_, 6, v_a_3222_);
lean_closure_set(v___f_3257_, 7, v_a_3224_);
lean_closure_set(v___f_3257_, 8, v_a_3226_);
v___x_3258_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg(v_mvarId_3205_, v___f_3257_, v___y_3206_, v___y_3207_, v___y_3208_, v___y_3209_, v___y_3210_, v___y_3211_, v___y_3212_, v___y_3213_, v___y_3214_);
return v___x_3258_;
}
else
{
lean_object* v_a_3259_; lean_object* v___x_3261_; uint8_t v_isShared_3262_; uint8_t v_isSharedCheck_3271_; 
lean_dec(v_a_3230_);
lean_dec(v_a_3228_);
lean_dec(v_a_3226_);
lean_dec(v_a_3224_);
lean_dec(v_a_3222_);
lean_dec(v_a_3220_);
lean_dec(v_a_3218_);
lean_dec(v_a_3216_);
lean_dec(v___y_3214_);
lean_dec(v___y_3212_);
lean_dec_ref(v___y_3211_);
lean_dec(v___y_3210_);
lean_dec_ref(v___y_3209_);
lean_dec(v___y_3208_);
lean_dec_ref(v___y_3207_);
lean_dec(v___y_3206_);
lean_dec(v_mvarId_3205_);
v_a_3259_ = lean_ctor_get(v___x_3231_, 0);
v_isSharedCheck_3271_ = !lean_is_exclusive(v___x_3231_);
if (v_isSharedCheck_3271_ == 0)
{
v___x_3261_ = v___x_3231_;
v_isShared_3262_ = v_isSharedCheck_3271_;
goto v_resetjp_3260_;
}
else
{
lean_inc(v_a_3259_);
lean_dec(v___x_3231_);
v___x_3261_ = lean_box(0);
v_isShared_3262_ = v_isSharedCheck_3271_;
goto v_resetjp_3260_;
}
v_resetjp_3260_:
{
lean_object* v_ref_3263_; lean_object* v___x_3264_; lean_object* v___x_3265_; lean_object* v___x_3266_; lean_object* v___x_3267_; lean_object* v___x_3269_; 
v_ref_3263_ = lean_ctor_get(v___y_3213_, 5);
lean_inc(v_ref_3263_);
lean_dec_ref(v___y_3213_);
v___x_3264_ = lean_io_error_to_string(v_a_3259_);
v___x_3265_ = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(v___x_3265_, 0, v___x_3264_);
v___x_3266_ = l_Lean_MessageData_ofFormat(v___x_3265_);
v___x_3267_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3267_, 0, v_ref_3263_);
lean_ctor_set(v___x_3267_, 1, v___x_3266_);
if (v_isShared_3262_ == 0)
{
lean_ctor_set(v___x_3261_, 0, v___x_3267_);
v___x_3269_ = v___x_3261_;
goto v_reusejp_3268_;
}
else
{
lean_object* v_reuseFailAlloc_3270_; 
v_reuseFailAlloc_3270_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3270_, 0, v___x_3267_);
v___x_3269_ = v_reuseFailAlloc_3270_;
goto v_reusejp_3268_;
}
v_reusejp_3268_:
{
return v___x_3269_;
}
}
}
}
else
{
lean_object* v_a_3272_; lean_object* v___x_3274_; uint8_t v_isShared_3275_; uint8_t v_isSharedCheck_3279_; 
lean_dec(v_a_3228_);
lean_dec(v_a_3226_);
lean_dec(v_a_3224_);
lean_dec(v_a_3222_);
lean_dec(v_a_3220_);
lean_dec(v_a_3218_);
lean_dec(v_a_3216_);
lean_dec(v___y_3214_);
lean_dec_ref(v___y_3213_);
lean_dec(v___y_3212_);
lean_dec_ref(v___y_3211_);
lean_dec(v___y_3210_);
lean_dec_ref(v___y_3209_);
lean_dec(v___y_3208_);
lean_dec_ref(v___y_3207_);
lean_dec(v___y_3206_);
lean_dec(v_mvarId_3205_);
v_a_3272_ = lean_ctor_get(v___x_3229_, 0);
v_isSharedCheck_3279_ = !lean_is_exclusive(v___x_3229_);
if (v_isSharedCheck_3279_ == 0)
{
v___x_3274_ = v___x_3229_;
v_isShared_3275_ = v_isSharedCheck_3279_;
goto v_resetjp_3273_;
}
else
{
lean_inc(v_a_3272_);
lean_dec(v___x_3229_);
v___x_3274_ = lean_box(0);
v_isShared_3275_ = v_isSharedCheck_3279_;
goto v_resetjp_3273_;
}
v_resetjp_3273_:
{
lean_object* v___x_3277_; 
if (v_isShared_3275_ == 0)
{
v___x_3277_ = v___x_3274_;
goto v_reusejp_3276_;
}
else
{
lean_object* v_reuseFailAlloc_3278_; 
v_reuseFailAlloc_3278_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3278_, 0, v_a_3272_);
v___x_3277_ = v_reuseFailAlloc_3278_;
goto v_reusejp_3276_;
}
v_reusejp_3276_:
{
return v___x_3277_;
}
}
}
}
else
{
lean_object* v_a_3280_; lean_object* v___x_3282_; uint8_t v_isShared_3283_; uint8_t v_isSharedCheck_3287_; 
lean_dec(v_a_3226_);
lean_dec(v_a_3224_);
lean_dec(v_a_3222_);
lean_dec(v_a_3220_);
lean_dec(v_a_3218_);
lean_dec(v_a_3216_);
lean_dec(v___y_3214_);
lean_dec_ref(v___y_3213_);
lean_dec(v___y_3212_);
lean_dec_ref(v___y_3211_);
lean_dec(v___y_3210_);
lean_dec_ref(v___y_3209_);
lean_dec(v___y_3208_);
lean_dec_ref(v___y_3207_);
lean_dec(v___y_3206_);
lean_dec(v_mvarId_3205_);
v_a_3280_ = lean_ctor_get(v___x_3227_, 0);
v_isSharedCheck_3287_ = !lean_is_exclusive(v___x_3227_);
if (v_isSharedCheck_3287_ == 0)
{
v___x_3282_ = v___x_3227_;
v_isShared_3283_ = v_isSharedCheck_3287_;
goto v_resetjp_3281_;
}
else
{
lean_inc(v_a_3280_);
lean_dec(v___x_3227_);
v___x_3282_ = lean_box(0);
v_isShared_3283_ = v_isSharedCheck_3287_;
goto v_resetjp_3281_;
}
v_resetjp_3281_:
{
lean_object* v___x_3285_; 
if (v_isShared_3283_ == 0)
{
v___x_3285_ = v___x_3282_;
goto v_reusejp_3284_;
}
else
{
lean_object* v_reuseFailAlloc_3286_; 
v_reuseFailAlloc_3286_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3286_, 0, v_a_3280_);
v___x_3285_ = v_reuseFailAlloc_3286_;
goto v_reusejp_3284_;
}
v_reusejp_3284_:
{
return v___x_3285_;
}
}
}
}
else
{
lean_object* v_a_3288_; lean_object* v___x_3290_; uint8_t v_isShared_3291_; uint8_t v_isSharedCheck_3295_; 
lean_dec(v_a_3224_);
lean_dec(v_a_3222_);
lean_dec(v_a_3220_);
lean_dec(v_a_3218_);
lean_dec(v_a_3216_);
lean_dec(v___y_3214_);
lean_dec_ref(v___y_3213_);
lean_dec(v___y_3212_);
lean_dec_ref(v___y_3211_);
lean_dec(v___y_3210_);
lean_dec_ref(v___y_3209_);
lean_dec(v___y_3208_);
lean_dec_ref(v___y_3207_);
lean_dec(v___y_3206_);
lean_dec(v_mvarId_3205_);
v_a_3288_ = lean_ctor_get(v___x_3225_, 0);
v_isSharedCheck_3295_ = !lean_is_exclusive(v___x_3225_);
if (v_isSharedCheck_3295_ == 0)
{
v___x_3290_ = v___x_3225_;
v_isShared_3291_ = v_isSharedCheck_3295_;
goto v_resetjp_3289_;
}
else
{
lean_inc(v_a_3288_);
lean_dec(v___x_3225_);
v___x_3290_ = lean_box(0);
v_isShared_3291_ = v_isSharedCheck_3295_;
goto v_resetjp_3289_;
}
v_resetjp_3289_:
{
lean_object* v___x_3293_; 
if (v_isShared_3291_ == 0)
{
v___x_3293_ = v___x_3290_;
goto v_reusejp_3292_;
}
else
{
lean_object* v_reuseFailAlloc_3294_; 
v_reuseFailAlloc_3294_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3294_, 0, v_a_3288_);
v___x_3293_ = v_reuseFailAlloc_3294_;
goto v_reusejp_3292_;
}
v_reusejp_3292_:
{
return v___x_3293_;
}
}
}
}
else
{
lean_object* v_a_3296_; lean_object* v___x_3298_; uint8_t v_isShared_3299_; uint8_t v_isSharedCheck_3303_; 
lean_dec(v_a_3222_);
lean_dec(v_a_3220_);
lean_dec(v_a_3218_);
lean_dec(v_a_3216_);
lean_dec(v___y_3214_);
lean_dec_ref(v___y_3213_);
lean_dec(v___y_3212_);
lean_dec_ref(v___y_3211_);
lean_dec(v___y_3210_);
lean_dec_ref(v___y_3209_);
lean_dec(v___y_3208_);
lean_dec_ref(v___y_3207_);
lean_dec(v___y_3206_);
lean_dec(v_mvarId_3205_);
v_a_3296_ = lean_ctor_get(v___x_3223_, 0);
v_isSharedCheck_3303_ = !lean_is_exclusive(v___x_3223_);
if (v_isSharedCheck_3303_ == 0)
{
v___x_3298_ = v___x_3223_;
v_isShared_3299_ = v_isSharedCheck_3303_;
goto v_resetjp_3297_;
}
else
{
lean_inc(v_a_3296_);
lean_dec(v___x_3223_);
v___x_3298_ = lean_box(0);
v_isShared_3299_ = v_isSharedCheck_3303_;
goto v_resetjp_3297_;
}
v_resetjp_3297_:
{
lean_object* v___x_3301_; 
if (v_isShared_3299_ == 0)
{
v___x_3301_ = v___x_3298_;
goto v_reusejp_3300_;
}
else
{
lean_object* v_reuseFailAlloc_3302_; 
v_reuseFailAlloc_3302_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3302_, 0, v_a_3296_);
v___x_3301_ = v_reuseFailAlloc_3302_;
goto v_reusejp_3300_;
}
v_reusejp_3300_:
{
return v___x_3301_;
}
}
}
}
else
{
lean_object* v_a_3304_; lean_object* v___x_3306_; uint8_t v_isShared_3307_; uint8_t v_isSharedCheck_3311_; 
lean_dec(v_a_3220_);
lean_dec(v_a_3218_);
lean_dec(v_a_3216_);
lean_dec(v___y_3214_);
lean_dec_ref(v___y_3213_);
lean_dec(v___y_3212_);
lean_dec_ref(v___y_3211_);
lean_dec(v___y_3210_);
lean_dec_ref(v___y_3209_);
lean_dec(v___y_3208_);
lean_dec_ref(v___y_3207_);
lean_dec(v___y_3206_);
lean_dec(v_mvarId_3205_);
v_a_3304_ = lean_ctor_get(v___x_3221_, 0);
v_isSharedCheck_3311_ = !lean_is_exclusive(v___x_3221_);
if (v_isSharedCheck_3311_ == 0)
{
v___x_3306_ = v___x_3221_;
v_isShared_3307_ = v_isSharedCheck_3311_;
goto v_resetjp_3305_;
}
else
{
lean_inc(v_a_3304_);
lean_dec(v___x_3221_);
v___x_3306_ = lean_box(0);
v_isShared_3307_ = v_isSharedCheck_3311_;
goto v_resetjp_3305_;
}
v_resetjp_3305_:
{
lean_object* v___x_3309_; 
if (v_isShared_3307_ == 0)
{
v___x_3309_ = v___x_3306_;
goto v_reusejp_3308_;
}
else
{
lean_object* v_reuseFailAlloc_3310_; 
v_reuseFailAlloc_3310_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3310_, 0, v_a_3304_);
v___x_3309_ = v_reuseFailAlloc_3310_;
goto v_reusejp_3308_;
}
v_reusejp_3308_:
{
return v___x_3309_;
}
}
}
}
else
{
lean_object* v_a_3312_; lean_object* v___x_3314_; uint8_t v_isShared_3315_; uint8_t v_isSharedCheck_3319_; 
lean_dec(v_a_3218_);
lean_dec(v_a_3216_);
lean_dec(v___y_3214_);
lean_dec_ref(v___y_3213_);
lean_dec(v___y_3212_);
lean_dec_ref(v___y_3211_);
lean_dec(v___y_3210_);
lean_dec_ref(v___y_3209_);
lean_dec(v___y_3208_);
lean_dec_ref(v___y_3207_);
lean_dec(v___y_3206_);
lean_dec(v_mvarId_3205_);
v_a_3312_ = lean_ctor_get(v___x_3219_, 0);
v_isSharedCheck_3319_ = !lean_is_exclusive(v___x_3219_);
if (v_isSharedCheck_3319_ == 0)
{
v___x_3314_ = v___x_3219_;
v_isShared_3315_ = v_isSharedCheck_3319_;
goto v_resetjp_3313_;
}
else
{
lean_inc(v_a_3312_);
lean_dec(v___x_3219_);
v___x_3314_ = lean_box(0);
v_isShared_3315_ = v_isSharedCheck_3319_;
goto v_resetjp_3313_;
}
v_resetjp_3313_:
{
lean_object* v___x_3317_; 
if (v_isShared_3315_ == 0)
{
v___x_3317_ = v___x_3314_;
goto v_reusejp_3316_;
}
else
{
lean_object* v_reuseFailAlloc_3318_; 
v_reuseFailAlloc_3318_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3318_, 0, v_a_3312_);
v___x_3317_ = v_reuseFailAlloc_3318_;
goto v_reusejp_3316_;
}
v_reusejp_3316_:
{
return v___x_3317_;
}
}
}
}
else
{
lean_object* v_a_3320_; lean_object* v___x_3322_; uint8_t v_isShared_3323_; uint8_t v_isSharedCheck_3327_; 
lean_dec(v_a_3216_);
lean_dec(v___y_3214_);
lean_dec_ref(v___y_3213_);
lean_dec(v___y_3212_);
lean_dec_ref(v___y_3211_);
lean_dec(v___y_3210_);
lean_dec_ref(v___y_3209_);
lean_dec(v___y_3208_);
lean_dec_ref(v___y_3207_);
lean_dec(v___y_3206_);
lean_dec(v_mvarId_3205_);
v_a_3320_ = lean_ctor_get(v___x_3217_, 0);
v_isSharedCheck_3327_ = !lean_is_exclusive(v___x_3217_);
if (v_isSharedCheck_3327_ == 0)
{
v___x_3322_ = v___x_3217_;
v_isShared_3323_ = v_isSharedCheck_3327_;
goto v_resetjp_3321_;
}
else
{
lean_inc(v_a_3320_);
lean_dec(v___x_3217_);
v___x_3322_ = lean_box(0);
v_isShared_3323_ = v_isSharedCheck_3327_;
goto v_resetjp_3321_;
}
v_resetjp_3321_:
{
lean_object* v___x_3325_; 
if (v_isShared_3323_ == 0)
{
v___x_3325_ = v___x_3322_;
goto v_reusejp_3324_;
}
else
{
lean_object* v_reuseFailAlloc_3326_; 
v_reuseFailAlloc_3326_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3326_, 0, v_a_3320_);
v___x_3325_ = v_reuseFailAlloc_3326_;
goto v_reusejp_3324_;
}
v_reusejp_3324_:
{
return v___x_3325_;
}
}
}
}
else
{
lean_object* v_a_3328_; lean_object* v___x_3330_; uint8_t v_isShared_3331_; uint8_t v_isSharedCheck_3335_; 
lean_dec(v___y_3214_);
lean_dec_ref(v___y_3213_);
lean_dec(v___y_3212_);
lean_dec_ref(v___y_3211_);
lean_dec(v___y_3210_);
lean_dec_ref(v___y_3209_);
lean_dec(v___y_3208_);
lean_dec_ref(v___y_3207_);
lean_dec(v___y_3206_);
lean_dec(v_mvarId_3205_);
v_a_3328_ = lean_ctor_get(v___x_3215_, 0);
v_isSharedCheck_3335_ = !lean_is_exclusive(v___x_3215_);
if (v_isSharedCheck_3335_ == 0)
{
v___x_3330_ = v___x_3215_;
v_isShared_3331_ = v_isSharedCheck_3335_;
goto v_resetjp_3329_;
}
else
{
lean_inc(v_a_3328_);
lean_dec(v___x_3215_);
v___x_3330_ = lean_box(0);
v_isShared_3331_ = v_isSharedCheck_3335_;
goto v_resetjp_3329_;
}
v_resetjp_3329_:
{
lean_object* v___x_3333_; 
if (v_isShared_3331_ == 0)
{
v___x_3333_ = v___x_3330_;
goto v_reusejp_3332_;
}
else
{
lean_object* v_reuseFailAlloc_3334_; 
v_reuseFailAlloc_3334_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3334_, 0, v_a_3328_);
v___x_3333_ = v_reuseFailAlloc_3334_;
goto v_reusejp_3332_;
}
v_reusejp_3332_:
{
return v___x_3333_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkGoalCore___boxed(lean_object* v_mvarId_3357_, lean_object* v_a_3358_, lean_object* v_a_3359_, lean_object* v_a_3360_, lean_object* v_a_3361_, lean_object* v_a_3362_, lean_object* v_a_3363_, lean_object* v_a_3364_, lean_object* v_a_3365_, lean_object* v_a_3366_, lean_object* v_a_3367_){
_start:
{
lean_object* v_res_3368_; 
v_res_3368_ = l_Lean_Meta_Grind_mkGoalCore(v_mvarId_3357_, v_a_3358_, v_a_3359_, v_a_3360_, v_a_3361_, v_a_3362_, v_a_3363_, v_a_3364_, v_a_3365_, v_a_3366_);
return v_res_3368_;
}
}
LEAN_EXPORT lean_object* l_List_mapTR_loop___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__1(lean_object* v_a_3369_, lean_object* v_a_3370_){
_start:
{
if (lean_obj_tag(v_a_3369_) == 0)
{
lean_object* v___x_3371_; 
v___x_3371_ = l_List_reverse___redArg(v_a_3370_);
return v___x_3371_;
}
else
{
lean_object* v_head_3372_; lean_object* v_tail_3373_; lean_object* v___x_3375_; uint8_t v_isShared_3376_; uint8_t v_isSharedCheck_3382_; 
v_head_3372_ = lean_ctor_get(v_a_3369_, 0);
v_tail_3373_ = lean_ctor_get(v_a_3369_, 1);
v_isSharedCheck_3382_ = !lean_is_exclusive(v_a_3369_);
if (v_isSharedCheck_3382_ == 0)
{
v___x_3375_ = v_a_3369_;
v_isShared_3376_ = v_isSharedCheck_3382_;
goto v_resetjp_3374_;
}
else
{
lean_inc(v_tail_3373_);
lean_inc(v_head_3372_);
lean_dec(v_a_3369_);
v___x_3375_ = lean_box(0);
v_isShared_3376_ = v_isSharedCheck_3382_;
goto v_resetjp_3374_;
}
v_resetjp_3374_:
{
lean_object* v___x_3377_; lean_object* v___x_3379_; 
v___x_3377_ = l_Lean_mkLevelParam(v_head_3372_);
if (v_isShared_3376_ == 0)
{
lean_ctor_set(v___x_3375_, 1, v_a_3370_);
lean_ctor_set(v___x_3375_, 0, v___x_3377_);
v___x_3379_ = v___x_3375_;
goto v_reusejp_3378_;
}
else
{
lean_object* v_reuseFailAlloc_3381_; 
v_reuseFailAlloc_3381_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3381_, 0, v___x_3377_);
lean_ctor_set(v_reuseFailAlloc_3381_, 1, v_a_3370_);
v___x_3379_ = v_reuseFailAlloc_3381_;
goto v_reusejp_3378_;
}
v_reusejp_3378_:
{
v_a_3369_ = v_tail_3373_;
v_a_3370_ = v___x_3379_;
goto _start;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10_spec__11(lean_object* v_msgData_3383_, lean_object* v___y_3384_, lean_object* v___y_3385_, lean_object* v___y_3386_, lean_object* v___y_3387_){
_start:
{
lean_object* v___x_3389_; lean_object* v_env_3390_; lean_object* v___x_3391_; lean_object* v_mctx_3392_; lean_object* v_lctx_3393_; lean_object* v_options_3394_; lean_object* v___x_3395_; lean_object* v___x_3396_; lean_object* v___x_3397_; 
v___x_3389_ = lean_st_ref_get(v___y_3387_);
v_env_3390_ = lean_ctor_get(v___x_3389_, 0);
lean_inc_ref(v_env_3390_);
lean_dec(v___x_3389_);
v___x_3391_ = lean_st_ref_get(v___y_3385_);
v_mctx_3392_ = lean_ctor_get(v___x_3391_, 0);
lean_inc_ref(v_mctx_3392_);
lean_dec(v___x_3391_);
v_lctx_3393_ = lean_ctor_get(v___y_3384_, 2);
v_options_3394_ = lean_ctor_get(v___y_3386_, 2);
lean_inc_ref(v_options_3394_);
lean_inc_ref(v_lctx_3393_);
v___x_3395_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_3395_, 0, v_env_3390_);
lean_ctor_set(v___x_3395_, 1, v_mctx_3392_);
lean_ctor_set(v___x_3395_, 2, v_lctx_3393_);
lean_ctor_set(v___x_3395_, 3, v_options_3394_);
v___x_3396_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v___x_3396_, 0, v___x_3395_);
lean_ctor_set(v___x_3396_, 1, v_msgData_3383_);
v___x_3397_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3397_, 0, v___x_3396_);
return v___x_3397_;
}
}
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10_spec__11___boxed(lean_object* v_msgData_3398_, lean_object* v___y_3399_, lean_object* v___y_3400_, lean_object* v___y_3401_, lean_object* v___y_3402_, lean_object* v___y_3403_){
_start:
{
lean_object* v_res_3404_; 
v_res_3404_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10_spec__11(v_msgData_3398_, v___y_3399_, v___y_3400_, v___y_3401_, v___y_3402_);
lean_dec(v___y_3402_);
lean_dec_ref(v___y_3401_);
lean_dec(v___y_3400_);
lean_dec_ref(v___y_3399_);
return v_res_3404_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10___redArg(lean_object* v_msg_3405_, lean_object* v___y_3406_, lean_object* v___y_3407_, lean_object* v___y_3408_, lean_object* v___y_3409_){
_start:
{
lean_object* v_ref_3411_; lean_object* v___x_3412_; lean_object* v_a_3413_; lean_object* v___x_3415_; uint8_t v_isShared_3416_; uint8_t v_isSharedCheck_3421_; 
v_ref_3411_ = lean_ctor_get(v___y_3408_, 5);
v___x_3412_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10_spec__11(v_msg_3405_, v___y_3406_, v___y_3407_, v___y_3408_, v___y_3409_);
v_a_3413_ = lean_ctor_get(v___x_3412_, 0);
v_isSharedCheck_3421_ = !lean_is_exclusive(v___x_3412_);
if (v_isSharedCheck_3421_ == 0)
{
v___x_3415_ = v___x_3412_;
v_isShared_3416_ = v_isSharedCheck_3421_;
goto v_resetjp_3414_;
}
else
{
lean_inc(v_a_3413_);
lean_dec(v___x_3412_);
v___x_3415_ = lean_box(0);
v_isShared_3416_ = v_isSharedCheck_3421_;
goto v_resetjp_3414_;
}
v_resetjp_3414_:
{
lean_object* v___x_3417_; lean_object* v___x_3419_; 
lean_inc(v_ref_3411_);
v___x_3417_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3417_, 0, v_ref_3411_);
lean_ctor_set(v___x_3417_, 1, v_a_3413_);
if (v_isShared_3416_ == 0)
{
lean_ctor_set_tag(v___x_3415_, 1);
lean_ctor_set(v___x_3415_, 0, v___x_3417_);
v___x_3419_ = v___x_3415_;
goto v_reusejp_3418_;
}
else
{
lean_object* v_reuseFailAlloc_3420_; 
v_reuseFailAlloc_3420_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3420_, 0, v___x_3417_);
v___x_3419_ = v_reuseFailAlloc_3420_;
goto v_reusejp_3418_;
}
v_reusejp_3418_:
{
return v___x_3419_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10___redArg___boxed(lean_object* v_msg_3422_, lean_object* v___y_3423_, lean_object* v___y_3424_, lean_object* v___y_3425_, lean_object* v___y_3426_, lean_object* v___y_3427_){
_start:
{
lean_object* v_res_3428_; 
v_res_3428_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10___redArg(v_msg_3422_, v___y_3423_, v___y_3424_, v___y_3425_, v___y_3426_);
lean_dec(v___y_3426_);
lean_dec_ref(v___y_3425_);
lean_dec(v___y_3424_);
lean_dec_ref(v___y_3423_);
return v_res_3428_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8___redArg(lean_object* v_ref_3429_, lean_object* v_msg_3430_, lean_object* v___y_3431_, lean_object* v___y_3432_, lean_object* v___y_3433_, lean_object* v___y_3434_){
_start:
{
lean_object* v_fileName_3436_; lean_object* v_fileMap_3437_; lean_object* v_options_3438_; lean_object* v_currRecDepth_3439_; lean_object* v_maxRecDepth_3440_; lean_object* v_ref_3441_; lean_object* v_currNamespace_3442_; lean_object* v_openDecls_3443_; lean_object* v_initHeartbeats_3444_; lean_object* v_maxHeartbeats_3445_; lean_object* v_quotContext_3446_; lean_object* v_currMacroScope_3447_; uint8_t v_diag_3448_; lean_object* v_cancelTk_x3f_3449_; uint8_t v_suppressElabErrors_3450_; lean_object* v_inheritedTraceOptions_3451_; lean_object* v___x_3453_; uint8_t v_isShared_3454_; uint8_t v_isSharedCheck_3460_; 
v_fileName_3436_ = lean_ctor_get(v___y_3433_, 0);
v_fileMap_3437_ = lean_ctor_get(v___y_3433_, 1);
v_options_3438_ = lean_ctor_get(v___y_3433_, 2);
v_currRecDepth_3439_ = lean_ctor_get(v___y_3433_, 3);
v_maxRecDepth_3440_ = lean_ctor_get(v___y_3433_, 4);
v_ref_3441_ = lean_ctor_get(v___y_3433_, 5);
v_currNamespace_3442_ = lean_ctor_get(v___y_3433_, 6);
v_openDecls_3443_ = lean_ctor_get(v___y_3433_, 7);
v_initHeartbeats_3444_ = lean_ctor_get(v___y_3433_, 8);
v_maxHeartbeats_3445_ = lean_ctor_get(v___y_3433_, 9);
v_quotContext_3446_ = lean_ctor_get(v___y_3433_, 10);
v_currMacroScope_3447_ = lean_ctor_get(v___y_3433_, 11);
v_diag_3448_ = lean_ctor_get_uint8(v___y_3433_, sizeof(void*)*14);
v_cancelTk_x3f_3449_ = lean_ctor_get(v___y_3433_, 12);
v_suppressElabErrors_3450_ = lean_ctor_get_uint8(v___y_3433_, sizeof(void*)*14 + 1);
v_inheritedTraceOptions_3451_ = lean_ctor_get(v___y_3433_, 13);
v_isSharedCheck_3460_ = !lean_is_exclusive(v___y_3433_);
if (v_isSharedCheck_3460_ == 0)
{
v___x_3453_ = v___y_3433_;
v_isShared_3454_ = v_isSharedCheck_3460_;
goto v_resetjp_3452_;
}
else
{
lean_inc(v_inheritedTraceOptions_3451_);
lean_inc(v_cancelTk_x3f_3449_);
lean_inc(v_currMacroScope_3447_);
lean_inc(v_quotContext_3446_);
lean_inc(v_maxHeartbeats_3445_);
lean_inc(v_initHeartbeats_3444_);
lean_inc(v_openDecls_3443_);
lean_inc(v_currNamespace_3442_);
lean_inc(v_ref_3441_);
lean_inc(v_maxRecDepth_3440_);
lean_inc(v_currRecDepth_3439_);
lean_inc(v_options_3438_);
lean_inc(v_fileMap_3437_);
lean_inc(v_fileName_3436_);
lean_dec(v___y_3433_);
v___x_3453_ = lean_box(0);
v_isShared_3454_ = v_isSharedCheck_3460_;
goto v_resetjp_3452_;
}
v_resetjp_3452_:
{
lean_object* v_ref_3455_; lean_object* v___x_3457_; 
v_ref_3455_ = l_Lean_replaceRef(v_ref_3429_, v_ref_3441_);
lean_dec(v_ref_3441_);
if (v_isShared_3454_ == 0)
{
lean_ctor_set(v___x_3453_, 5, v_ref_3455_);
v___x_3457_ = v___x_3453_;
goto v_reusejp_3456_;
}
else
{
lean_object* v_reuseFailAlloc_3459_; 
v_reuseFailAlloc_3459_ = lean_alloc_ctor(0, 14, 2);
lean_ctor_set(v_reuseFailAlloc_3459_, 0, v_fileName_3436_);
lean_ctor_set(v_reuseFailAlloc_3459_, 1, v_fileMap_3437_);
lean_ctor_set(v_reuseFailAlloc_3459_, 2, v_options_3438_);
lean_ctor_set(v_reuseFailAlloc_3459_, 3, v_currRecDepth_3439_);
lean_ctor_set(v_reuseFailAlloc_3459_, 4, v_maxRecDepth_3440_);
lean_ctor_set(v_reuseFailAlloc_3459_, 5, v_ref_3455_);
lean_ctor_set(v_reuseFailAlloc_3459_, 6, v_currNamespace_3442_);
lean_ctor_set(v_reuseFailAlloc_3459_, 7, v_openDecls_3443_);
lean_ctor_set(v_reuseFailAlloc_3459_, 8, v_initHeartbeats_3444_);
lean_ctor_set(v_reuseFailAlloc_3459_, 9, v_maxHeartbeats_3445_);
lean_ctor_set(v_reuseFailAlloc_3459_, 10, v_quotContext_3446_);
lean_ctor_set(v_reuseFailAlloc_3459_, 11, v_currMacroScope_3447_);
lean_ctor_set(v_reuseFailAlloc_3459_, 12, v_cancelTk_x3f_3449_);
lean_ctor_set(v_reuseFailAlloc_3459_, 13, v_inheritedTraceOptions_3451_);
lean_ctor_set_uint8(v_reuseFailAlloc_3459_, sizeof(void*)*14, v_diag_3448_);
lean_ctor_set_uint8(v_reuseFailAlloc_3459_, sizeof(void*)*14 + 1, v_suppressElabErrors_3450_);
v___x_3457_ = v_reuseFailAlloc_3459_;
goto v_reusejp_3456_;
}
v_reusejp_3456_:
{
lean_object* v___x_3458_; 
v___x_3458_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10___redArg(v_msg_3430_, v___y_3431_, v___y_3432_, v___x_3457_, v___y_3434_);
lean_dec_ref(v___x_3457_);
return v___x_3458_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8___redArg___boxed(lean_object* v_ref_3461_, lean_object* v_msg_3462_, lean_object* v___y_3463_, lean_object* v___y_3464_, lean_object* v___y_3465_, lean_object* v___y_3466_, lean_object* v___y_3467_){
_start:
{
lean_object* v_res_3468_; 
v_res_3468_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8___redArg(v_ref_3461_, v_msg_3462_, v___y_3463_, v___y_3464_, v___y_3465_, v___y_3466_);
lean_dec(v___y_3466_);
lean_dec(v___y_3464_);
lean_dec_ref(v___y_3463_);
lean_dec(v_ref_3461_);
return v_res_3468_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__0(void){
_start:
{
lean_object* v___x_3469_; lean_object* v___x_3470_; lean_object* v___x_3471_; 
v___x_3469_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2);
v___x_3470_ = lean_unsigned_to_nat(0u);
v___x_3471_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v___x_3471_, 0, v___x_3470_);
lean_ctor_set(v___x_3471_, 1, v___x_3470_);
lean_ctor_set(v___x_3471_, 2, v___x_3470_);
lean_ctor_set(v___x_3471_, 3, v___x_3469_);
lean_ctor_set(v___x_3471_, 4, v___x_3469_);
lean_ctor_set(v___x_3471_, 5, v___x_3469_);
lean_ctor_set(v___x_3471_, 6, v___x_3469_);
lean_ctor_set(v___x_3471_, 7, v___x_3469_);
lean_ctor_set(v___x_3471_, 8, v___x_3469_);
return v___x_3471_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__1(void){
_start:
{
lean_object* v___x_3472_; lean_object* v___x_3473_; lean_object* v___x_3474_; 
v___x_3472_ = lean_unsigned_to_nat(32u);
v___x_3473_ = lean_mk_empty_array_with_capacity(v___x_3472_);
v___x_3474_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3474_, 0, v___x_3473_);
return v___x_3474_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__2(void){
_start:
{
size_t v___x_3475_; lean_object* v___x_3476_; lean_object* v___x_3477_; lean_object* v___x_3478_; lean_object* v___x_3479_; lean_object* v___x_3480_; 
v___x_3475_ = ((size_t)5ULL);
v___x_3476_ = lean_unsigned_to_nat(0u);
v___x_3477_ = lean_unsigned_to_nat(32u);
v___x_3478_ = lean_mk_empty_array_with_capacity(v___x_3477_);
v___x_3479_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__1, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__1_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__1);
v___x_3480_ = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
lean_ctor_set(v___x_3480_, 0, v___x_3479_);
lean_ctor_set(v___x_3480_, 1, v___x_3478_);
lean_ctor_set(v___x_3480_, 2, v___x_3476_);
lean_ctor_set(v___x_3480_, 3, v___x_3476_);
lean_ctor_set_usize(v___x_3480_, 4, v___x_3475_);
return v___x_3480_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__3(void){
_start:
{
lean_object* v___x_3481_; lean_object* v___x_3482_; lean_object* v___x_3483_; lean_object* v___x_3484_; 
v___x_3481_ = lean_box(1);
v___x_3482_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__2, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__2_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__2);
v___x_3483_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState___lam__0___closed__2);
v___x_3484_ = lean_alloc_ctor(0, 3, 0);
lean_ctor_set(v___x_3484_, 0, v___x_3483_);
lean_ctor_set(v___x_3484_, 1, v___x_3482_);
lean_ctor_set(v___x_3484_, 2, v___x_3481_);
return v___x_3484_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__5(void){
_start:
{
lean_object* v___x_3486_; lean_object* v___x_3487_; 
v___x_3486_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__4));
v___x_3487_ = l_Lean_stringToMessageData(v___x_3486_);
return v___x_3487_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__7(void){
_start:
{
lean_object* v___x_3489_; lean_object* v___x_3490_; 
v___x_3489_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__6));
v___x_3490_ = l_Lean_stringToMessageData(v___x_3489_);
return v___x_3490_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__9(void){
_start:
{
lean_object* v___x_3492_; lean_object* v___x_3493_; 
v___x_3492_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__8));
v___x_3493_ = l_Lean_stringToMessageData(v___x_3492_);
return v___x_3493_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__11(void){
_start:
{
lean_object* v___x_3495_; lean_object* v___x_3496_; 
v___x_3495_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__10));
v___x_3496_ = l_Lean_stringToMessageData(v___x_3495_);
return v___x_3496_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__13(void){
_start:
{
lean_object* v___x_3498_; lean_object* v___x_3499_; 
v___x_3498_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__12));
v___x_3499_ = l_Lean_stringToMessageData(v___x_3498_);
return v___x_3499_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__15(void){
_start:
{
lean_object* v___x_3501_; lean_object* v___x_3502_; 
v___x_3501_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__14));
v___x_3502_ = l_Lean_stringToMessageData(v___x_3501_);
return v___x_3502_;
}
}
static lean_object* _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__17(void){
_start:
{
lean_object* v___x_3504_; lean_object* v___x_3505_; 
v___x_3504_ = ((lean_object*)(l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__16));
v___x_3505_ = l_Lean_stringToMessageData(v___x_3504_);
return v___x_3505_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg(lean_object* v_msg_3506_, lean_object* v_declHint_3507_, lean_object* v___y_3508_){
_start:
{
lean_object* v___x_3510_; lean_object* v_env_3511_; uint8_t v___x_3512_; 
v___x_3510_ = lean_st_ref_get(v___y_3508_);
v_env_3511_ = lean_ctor_get(v___x_3510_, 0);
lean_inc_ref(v_env_3511_);
lean_dec(v___x_3510_);
v___x_3512_ = l_Lean_Name_isAnonymous(v_declHint_3507_);
if (v___x_3512_ == 0)
{
uint8_t v_isExporting_3513_; 
v_isExporting_3513_ = lean_ctor_get_uint8(v_env_3511_, sizeof(void*)*8);
if (v_isExporting_3513_ == 0)
{
lean_object* v___x_3514_; 
lean_dec_ref(v_env_3511_);
lean_dec(v_declHint_3507_);
v___x_3514_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3514_, 0, v_msg_3506_);
return v___x_3514_;
}
else
{
lean_object* v___x_3515_; uint8_t v___x_3516_; 
lean_inc_ref(v_env_3511_);
v___x_3515_ = l_Lean_Environment_setExporting(v_env_3511_, v___x_3512_);
lean_inc(v_declHint_3507_);
lean_inc_ref(v___x_3515_);
v___x_3516_ = l_Lean_Environment_contains(v___x_3515_, v_declHint_3507_, v_isExporting_3513_);
if (v___x_3516_ == 0)
{
lean_object* v___x_3517_; 
lean_dec_ref(v___x_3515_);
lean_dec_ref(v_env_3511_);
lean_dec(v_declHint_3507_);
v___x_3517_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3517_, 0, v_msg_3506_);
return v___x_3517_;
}
else
{
lean_object* v___x_3518_; lean_object* v___x_3519_; lean_object* v___x_3520_; lean_object* v___x_3521_; lean_object* v___x_3522_; lean_object* v_c_3523_; lean_object* v___x_3524_; 
v___x_3518_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__0, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__0_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__0);
v___x_3519_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__3, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__3_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__3);
v___x_3520_ = l_Lean_Options_empty;
v___x_3521_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_3521_, 0, v___x_3515_);
lean_ctor_set(v___x_3521_, 1, v___x_3518_);
lean_ctor_set(v___x_3521_, 2, v___x_3519_);
lean_ctor_set(v___x_3521_, 3, v___x_3520_);
lean_inc(v_declHint_3507_);
v___x_3522_ = l_Lean_MessageData_ofConstName(v_declHint_3507_, v___x_3512_);
v_c_3523_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v_c_3523_, 0, v___x_3521_);
lean_ctor_set(v_c_3523_, 1, v___x_3522_);
v___x_3524_ = l_Lean_Environment_getModuleIdxFor_x3f(v_env_3511_, v_declHint_3507_);
if (lean_obj_tag(v___x_3524_) == 0)
{
lean_object* v___x_3525_; lean_object* v___x_3526_; lean_object* v___x_3527_; lean_object* v___x_3528_; lean_object* v___x_3529_; lean_object* v___x_3530_; lean_object* v___x_3531_; 
lean_dec_ref(v_env_3511_);
lean_dec(v_declHint_3507_);
v___x_3525_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__5, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__5_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__5);
v___x_3526_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3526_, 0, v___x_3525_);
lean_ctor_set(v___x_3526_, 1, v_c_3523_);
v___x_3527_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__7, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__7_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__7);
v___x_3528_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3528_, 0, v___x_3526_);
lean_ctor_set(v___x_3528_, 1, v___x_3527_);
v___x_3529_ = l_Lean_MessageData_note(v___x_3528_);
v___x_3530_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3530_, 0, v_msg_3506_);
lean_ctor_set(v___x_3530_, 1, v___x_3529_);
v___x_3531_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3531_, 0, v___x_3530_);
return v___x_3531_;
}
else
{
lean_object* v_val_3532_; lean_object* v___x_3534_; uint8_t v_isShared_3535_; uint8_t v_isSharedCheck_3567_; 
v_val_3532_ = lean_ctor_get(v___x_3524_, 0);
v_isSharedCheck_3567_ = !lean_is_exclusive(v___x_3524_);
if (v_isSharedCheck_3567_ == 0)
{
v___x_3534_ = v___x_3524_;
v_isShared_3535_ = v_isSharedCheck_3567_;
goto v_resetjp_3533_;
}
else
{
lean_inc(v_val_3532_);
lean_dec(v___x_3524_);
v___x_3534_ = lean_box(0);
v_isShared_3535_ = v_isSharedCheck_3567_;
goto v_resetjp_3533_;
}
v_resetjp_3533_:
{
lean_object* v___x_3536_; lean_object* v___x_3537_; lean_object* v___x_3538_; lean_object* v_mod_3539_; uint8_t v___x_3540_; 
v___x_3536_ = lean_box(0);
v___x_3537_ = l_Lean_Environment_header(v_env_3511_);
lean_dec_ref(v_env_3511_);
v___x_3538_ = l_Lean_EnvironmentHeader_moduleNames(v___x_3537_);
v_mod_3539_ = lean_array_get(v___x_3536_, v___x_3538_, v_val_3532_);
lean_dec(v_val_3532_);
lean_dec_ref(v___x_3538_);
v___x_3540_ = l_Lean_isPrivateName(v_declHint_3507_);
lean_dec(v_declHint_3507_);
if (v___x_3540_ == 0)
{
lean_object* v___x_3541_; lean_object* v___x_3542_; lean_object* v___x_3543_; lean_object* v___x_3544_; lean_object* v___x_3545_; lean_object* v___x_3546_; lean_object* v___x_3547_; lean_object* v___x_3548_; lean_object* v___x_3549_; lean_object* v___x_3550_; lean_object* v___x_3552_; 
v___x_3541_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__9, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__9_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__9);
v___x_3542_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3542_, 0, v___x_3541_);
lean_ctor_set(v___x_3542_, 1, v_c_3523_);
v___x_3543_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__11, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__11_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__11);
v___x_3544_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3544_, 0, v___x_3542_);
lean_ctor_set(v___x_3544_, 1, v___x_3543_);
v___x_3545_ = l_Lean_MessageData_ofName(v_mod_3539_);
v___x_3546_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3546_, 0, v___x_3544_);
lean_ctor_set(v___x_3546_, 1, v___x_3545_);
v___x_3547_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__13, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__13_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__13);
v___x_3548_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3548_, 0, v___x_3546_);
lean_ctor_set(v___x_3548_, 1, v___x_3547_);
v___x_3549_ = l_Lean_MessageData_note(v___x_3548_);
v___x_3550_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3550_, 0, v_msg_3506_);
lean_ctor_set(v___x_3550_, 1, v___x_3549_);
if (v_isShared_3535_ == 0)
{
lean_ctor_set_tag(v___x_3534_, 0);
lean_ctor_set(v___x_3534_, 0, v___x_3550_);
v___x_3552_ = v___x_3534_;
goto v_reusejp_3551_;
}
else
{
lean_object* v_reuseFailAlloc_3553_; 
v_reuseFailAlloc_3553_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3553_, 0, v___x_3550_);
v___x_3552_ = v_reuseFailAlloc_3553_;
goto v_reusejp_3551_;
}
v_reusejp_3551_:
{
return v___x_3552_;
}
}
else
{
lean_object* v___x_3554_; lean_object* v___x_3555_; lean_object* v___x_3556_; lean_object* v___x_3557_; lean_object* v___x_3558_; lean_object* v___x_3559_; lean_object* v___x_3560_; lean_object* v___x_3561_; lean_object* v___x_3562_; lean_object* v___x_3563_; lean_object* v___x_3565_; 
v___x_3554_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__5, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__5_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__5);
v___x_3555_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3555_, 0, v___x_3554_);
lean_ctor_set(v___x_3555_, 1, v_c_3523_);
v___x_3556_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__15, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__15_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__15);
v___x_3557_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3557_, 0, v___x_3555_);
lean_ctor_set(v___x_3557_, 1, v___x_3556_);
v___x_3558_ = l_Lean_MessageData_ofName(v_mod_3539_);
v___x_3559_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3559_, 0, v___x_3557_);
lean_ctor_set(v___x_3559_, 1, v___x_3558_);
v___x_3560_ = lean_obj_once(&l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__17, &l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__17_once, _init_l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___closed__17);
v___x_3561_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3561_, 0, v___x_3559_);
lean_ctor_set(v___x_3561_, 1, v___x_3560_);
v___x_3562_ = l_Lean_MessageData_note(v___x_3561_);
v___x_3563_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3563_, 0, v_msg_3506_);
lean_ctor_set(v___x_3563_, 1, v___x_3562_);
if (v_isShared_3535_ == 0)
{
lean_ctor_set_tag(v___x_3534_, 0);
lean_ctor_set(v___x_3534_, 0, v___x_3563_);
v___x_3565_ = v___x_3534_;
goto v_reusejp_3564_;
}
else
{
lean_object* v_reuseFailAlloc_3566_; 
v_reuseFailAlloc_3566_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3566_, 0, v___x_3563_);
v___x_3565_ = v_reuseFailAlloc_3566_;
goto v_reusejp_3564_;
}
v_reusejp_3564_:
{
return v___x_3565_;
}
}
}
}
}
}
}
else
{
lean_object* v___x_3568_; 
lean_dec_ref(v_env_3511_);
lean_dec(v_declHint_3507_);
v___x_3568_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3568_, 0, v_msg_3506_);
return v___x_3568_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg___boxed(lean_object* v_msg_3569_, lean_object* v_declHint_3570_, lean_object* v___y_3571_, lean_object* v___y_3572_){
_start:
{
lean_object* v_res_3573_; 
v_res_3573_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg(v_msg_3569_, v_declHint_3570_, v___y_3571_);
lean_dec(v___y_3571_);
return v_res_3573_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7(lean_object* v_msg_3574_, lean_object* v_declHint_3575_, lean_object* v___y_3576_, lean_object* v___y_3577_, lean_object* v___y_3578_, lean_object* v___y_3579_){
_start:
{
lean_object* v___x_3581_; lean_object* v_a_3582_; lean_object* v___x_3584_; uint8_t v_isShared_3585_; uint8_t v_isSharedCheck_3591_; 
v___x_3581_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg(v_msg_3574_, v_declHint_3575_, v___y_3579_);
v_a_3582_ = lean_ctor_get(v___x_3581_, 0);
v_isSharedCheck_3591_ = !lean_is_exclusive(v___x_3581_);
if (v_isSharedCheck_3591_ == 0)
{
v___x_3584_ = v___x_3581_;
v_isShared_3585_ = v_isSharedCheck_3591_;
goto v_resetjp_3583_;
}
else
{
lean_inc(v_a_3582_);
lean_dec(v___x_3581_);
v___x_3584_ = lean_box(0);
v_isShared_3585_ = v_isSharedCheck_3591_;
goto v_resetjp_3583_;
}
v_resetjp_3583_:
{
lean_object* v___x_3586_; lean_object* v___x_3587_; lean_object* v___x_3589_; 
v___x_3586_ = l_Lean_unknownIdentifierMessageTag;
v___x_3587_ = lean_alloc_ctor(8, 2, 0);
lean_ctor_set(v___x_3587_, 0, v___x_3586_);
lean_ctor_set(v___x_3587_, 1, v_a_3582_);
if (v_isShared_3585_ == 0)
{
lean_ctor_set(v___x_3584_, 0, v___x_3587_);
v___x_3589_ = v___x_3584_;
goto v_reusejp_3588_;
}
else
{
lean_object* v_reuseFailAlloc_3590_; 
v_reuseFailAlloc_3590_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3590_, 0, v___x_3587_);
v___x_3589_ = v_reuseFailAlloc_3590_;
goto v_reusejp_3588_;
}
v_reusejp_3588_:
{
return v___x_3589_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7___boxed(lean_object* v_msg_3592_, lean_object* v_declHint_3593_, lean_object* v___y_3594_, lean_object* v___y_3595_, lean_object* v___y_3596_, lean_object* v___y_3597_, lean_object* v___y_3598_){
_start:
{
lean_object* v_res_3599_; 
v_res_3599_ = l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7(v_msg_3592_, v_declHint_3593_, v___y_3594_, v___y_3595_, v___y_3596_, v___y_3597_);
lean_dec(v___y_3597_);
lean_dec_ref(v___y_3596_);
lean_dec(v___y_3595_);
lean_dec_ref(v___y_3594_);
return v_res_3599_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6___redArg(lean_object* v_ref_3600_, lean_object* v_msg_3601_, lean_object* v_declHint_3602_, lean_object* v___y_3603_, lean_object* v___y_3604_, lean_object* v___y_3605_, lean_object* v___y_3606_){
_start:
{
lean_object* v___x_3608_; lean_object* v_a_3609_; lean_object* v___x_3610_; 
v___x_3608_ = l_Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7(v_msg_3601_, v_declHint_3602_, v___y_3603_, v___y_3604_, v___y_3605_, v___y_3606_);
v_a_3609_ = lean_ctor_get(v___x_3608_, 0);
lean_inc(v_a_3609_);
lean_dec_ref(v___x_3608_);
v___x_3610_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8___redArg(v_ref_3600_, v_a_3609_, v___y_3603_, v___y_3604_, v___y_3605_, v___y_3606_);
return v___x_3610_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6___redArg___boxed(lean_object* v_ref_3611_, lean_object* v_msg_3612_, lean_object* v_declHint_3613_, lean_object* v___y_3614_, lean_object* v___y_3615_, lean_object* v___y_3616_, lean_object* v___y_3617_, lean_object* v___y_3618_){
_start:
{
lean_object* v_res_3619_; 
v_res_3619_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6___redArg(v_ref_3611_, v_msg_3612_, v_declHint_3613_, v___y_3614_, v___y_3615_, v___y_3616_, v___y_3617_);
lean_dec(v___y_3617_);
lean_dec(v___y_3615_);
lean_dec_ref(v___y_3614_);
lean_dec(v_ref_3611_);
return v_res_3619_;
}
}
static lean_object* _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__1(void){
_start:
{
lean_object* v___x_3621_; lean_object* v___x_3622_; 
v___x_3621_ = ((lean_object*)(l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__0));
v___x_3622_ = l_Lean_stringToMessageData(v___x_3621_);
return v___x_3622_;
}
}
static lean_object* _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__3(void){
_start:
{
lean_object* v___x_3624_; lean_object* v___x_3625_; 
v___x_3624_ = ((lean_object*)(l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__2));
v___x_3625_ = l_Lean_stringToMessageData(v___x_3624_);
return v___x_3625_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg(lean_object* v_ref_3626_, lean_object* v_constName_3627_, lean_object* v___y_3628_, lean_object* v___y_3629_, lean_object* v___y_3630_, lean_object* v___y_3631_){
_start:
{
lean_object* v___x_3633_; uint8_t v___x_3634_; lean_object* v___x_3635_; lean_object* v___x_3636_; lean_object* v___x_3637_; lean_object* v___x_3638_; lean_object* v___x_3639_; 
v___x_3633_ = lean_obj_once(&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__1, &l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__1_once, _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__1);
v___x_3634_ = 0;
lean_inc(v_constName_3627_);
v___x_3635_ = l_Lean_MessageData_ofConstName(v_constName_3627_, v___x_3634_);
v___x_3636_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3636_, 0, v___x_3633_);
lean_ctor_set(v___x_3636_, 1, v___x_3635_);
v___x_3637_ = lean_obj_once(&l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__3, &l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__3_once, _init_l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___closed__3);
v___x_3638_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3638_, 0, v___x_3636_);
lean_ctor_set(v___x_3638_, 1, v___x_3637_);
v___x_3639_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6___redArg(v_ref_3626_, v___x_3638_, v_constName_3627_, v___y_3628_, v___y_3629_, v___y_3630_, v___y_3631_);
return v___x_3639_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg___boxed(lean_object* v_ref_3640_, lean_object* v_constName_3641_, lean_object* v___y_3642_, lean_object* v___y_3643_, lean_object* v___y_3644_, lean_object* v___y_3645_, lean_object* v___y_3646_){
_start:
{
lean_object* v_res_3647_; 
v_res_3647_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg(v_ref_3640_, v_constName_3641_, v___y_3642_, v___y_3643_, v___y_3644_, v___y_3645_);
lean_dec(v___y_3645_);
lean_dec(v___y_3643_);
lean_dec_ref(v___y_3642_);
lean_dec(v_ref_3640_);
return v_res_3647_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1___redArg(lean_object* v_constName_3648_, lean_object* v___y_3649_, lean_object* v___y_3650_, lean_object* v___y_3651_, lean_object* v___y_3652_){
_start:
{
lean_object* v_ref_3654_; lean_object* v___x_3655_; 
v_ref_3654_ = lean_ctor_get(v___y_3651_, 5);
lean_inc(v_ref_3654_);
v___x_3655_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg(v_ref_3654_, v_constName_3648_, v___y_3649_, v___y_3650_, v___y_3651_, v___y_3652_);
lean_dec(v_ref_3654_);
return v___x_3655_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1___redArg___boxed(lean_object* v_constName_3656_, lean_object* v___y_3657_, lean_object* v___y_3658_, lean_object* v___y_3659_, lean_object* v___y_3660_, lean_object* v___y_3661_){
_start:
{
lean_object* v_res_3662_; 
v_res_3662_ = l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1___redArg(v_constName_3656_, v___y_3657_, v___y_3658_, v___y_3659_, v___y_3660_);
lean_dec(v___y_3660_);
lean_dec(v___y_3658_);
lean_dec_ref(v___y_3657_);
return v_res_3662_;
}
}
LEAN_EXPORT lean_object* l_Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0(lean_object* v_constName_3663_, lean_object* v___y_3664_, lean_object* v___y_3665_, lean_object* v___y_3666_, lean_object* v___y_3667_){
_start:
{
lean_object* v___x_3669_; lean_object* v_env_3670_; uint8_t v___x_3671_; lean_object* v___x_3672_; 
v___x_3669_ = lean_st_ref_get(v___y_3667_);
v_env_3670_ = lean_ctor_get(v___x_3669_, 0);
lean_inc_ref(v_env_3670_);
lean_dec(v___x_3669_);
v___x_3671_ = 0;
lean_inc(v_constName_3663_);
v___x_3672_ = l_Lean_Environment_findConstVal_x3f(v_env_3670_, v_constName_3663_, v___x_3671_);
if (lean_obj_tag(v___x_3672_) == 0)
{
lean_object* v___x_3673_; 
v___x_3673_ = l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1___redArg(v_constName_3663_, v___y_3664_, v___y_3665_, v___y_3666_, v___y_3667_);
return v___x_3673_;
}
else
{
lean_object* v_val_3674_; lean_object* v___x_3676_; uint8_t v_isShared_3677_; uint8_t v_isSharedCheck_3681_; 
lean_dec_ref(v___y_3666_);
lean_dec(v_constName_3663_);
v_val_3674_ = lean_ctor_get(v___x_3672_, 0);
v_isSharedCheck_3681_ = !lean_is_exclusive(v___x_3672_);
if (v_isSharedCheck_3681_ == 0)
{
v___x_3676_ = v___x_3672_;
v_isShared_3677_ = v_isSharedCheck_3681_;
goto v_resetjp_3675_;
}
else
{
lean_inc(v_val_3674_);
lean_dec(v___x_3672_);
v___x_3676_ = lean_box(0);
v_isShared_3677_ = v_isSharedCheck_3681_;
goto v_resetjp_3675_;
}
v_resetjp_3675_:
{
lean_object* v___x_3679_; 
if (v_isShared_3677_ == 0)
{
lean_ctor_set_tag(v___x_3676_, 0);
v___x_3679_ = v___x_3676_;
goto v_reusejp_3678_;
}
else
{
lean_object* v_reuseFailAlloc_3680_; 
v_reuseFailAlloc_3680_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3680_, 0, v_val_3674_);
v___x_3679_ = v_reuseFailAlloc_3680_;
goto v_reusejp_3678_;
}
v_reusejp_3678_:
{
return v___x_3679_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0___boxed(lean_object* v_constName_3682_, lean_object* v___y_3683_, lean_object* v___y_3684_, lean_object* v___y_3685_, lean_object* v___y_3686_, lean_object* v___y_3687_){
_start:
{
lean_object* v_res_3688_; 
v_res_3688_ = l_Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0(v_constName_3682_, v___y_3683_, v___y_3684_, v___y_3685_, v___y_3686_);
lean_dec(v___y_3686_);
lean_dec(v___y_3684_);
lean_dec_ref(v___y_3683_);
return v_res_3688_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0(lean_object* v_constName_3689_, lean_object* v___y_3690_, lean_object* v___y_3691_, lean_object* v___y_3692_, lean_object* v___y_3693_){
_start:
{
lean_object* v___x_3695_; 
lean_inc(v_constName_3689_);
v___x_3695_ = l_Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0(v_constName_3689_, v___y_3690_, v___y_3691_, v___y_3692_, v___y_3693_);
if (lean_obj_tag(v___x_3695_) == 0)
{
lean_object* v_a_3696_; lean_object* v___x_3698_; uint8_t v_isShared_3699_; uint8_t v_isSharedCheck_3707_; 
v_a_3696_ = lean_ctor_get(v___x_3695_, 0);
v_isSharedCheck_3707_ = !lean_is_exclusive(v___x_3695_);
if (v_isSharedCheck_3707_ == 0)
{
v___x_3698_ = v___x_3695_;
v_isShared_3699_ = v_isSharedCheck_3707_;
goto v_resetjp_3697_;
}
else
{
lean_inc(v_a_3696_);
lean_dec(v___x_3695_);
v___x_3698_ = lean_box(0);
v_isShared_3699_ = v_isSharedCheck_3707_;
goto v_resetjp_3697_;
}
v_resetjp_3697_:
{
lean_object* v_levelParams_3700_; lean_object* v___x_3701_; lean_object* v___x_3702_; lean_object* v___x_3703_; lean_object* v___x_3705_; 
v_levelParams_3700_ = lean_ctor_get(v_a_3696_, 1);
lean_inc(v_levelParams_3700_);
lean_dec(v_a_3696_);
v___x_3701_ = lean_box(0);
v___x_3702_ = l_List_mapTR_loop___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__1(v_levelParams_3700_, v___x_3701_);
v___x_3703_ = l_Lean_mkConst(v_constName_3689_, v___x_3702_);
if (v_isShared_3699_ == 0)
{
lean_ctor_set(v___x_3698_, 0, v___x_3703_);
v___x_3705_ = v___x_3698_;
goto v_reusejp_3704_;
}
else
{
lean_object* v_reuseFailAlloc_3706_; 
v_reuseFailAlloc_3706_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3706_, 0, v___x_3703_);
v___x_3705_ = v_reuseFailAlloc_3706_;
goto v_reusejp_3704_;
}
v_reusejp_3704_:
{
return v___x_3705_;
}
}
}
else
{
lean_object* v_a_3708_; lean_object* v___x_3710_; uint8_t v_isShared_3711_; uint8_t v_isSharedCheck_3715_; 
lean_dec(v_constName_3689_);
v_a_3708_ = lean_ctor_get(v___x_3695_, 0);
v_isSharedCheck_3715_ = !lean_is_exclusive(v___x_3695_);
if (v_isSharedCheck_3715_ == 0)
{
v___x_3710_ = v___x_3695_;
v_isShared_3711_ = v_isSharedCheck_3715_;
goto v_resetjp_3709_;
}
else
{
lean_inc(v_a_3708_);
lean_dec(v___x_3695_);
v___x_3710_ = lean_box(0);
v_isShared_3711_ = v_isSharedCheck_3715_;
goto v_resetjp_3709_;
}
v_resetjp_3709_:
{
lean_object* v___x_3713_; 
if (v_isShared_3711_ == 0)
{
v___x_3713_ = v___x_3710_;
goto v_reusejp_3712_;
}
else
{
lean_object* v_reuseFailAlloc_3714_; 
v_reuseFailAlloc_3714_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3714_, 0, v_a_3708_);
v___x_3713_ = v_reuseFailAlloc_3714_;
goto v_reusejp_3712_;
}
v_reusejp_3712_:
{
return v___x_3713_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0___boxed(lean_object* v_constName_3716_, lean_object* v___y_3717_, lean_object* v___y_3718_, lean_object* v___y_3719_, lean_object* v___y_3720_, lean_object* v___y_3721_){
_start:
{
lean_object* v_res_3722_; 
v_res_3722_ = l_Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0(v_constName_3716_, v___y_3717_, v___y_3718_, v___y_3719_, v___y_3720_);
lean_dec(v___y_3720_);
lean_dec(v___y_3718_);
lean_dec_ref(v___y_3717_);
return v_res_3722_;
}
}
static double _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0(void){
_start:
{
lean_object* v___x_3723_; double v___x_3724_; 
v___x_3723_ = lean_unsigned_to_nat(0u);
v___x_3724_ = lean_float_of_nat(v___x_3723_);
return v___x_3724_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__3(void){
_start:
{
lean_object* v___x_3727_; lean_object* v___x_3728_; 
v___x_3727_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__2));
v___x_3728_ = l_Lean_stringToMessageData(v___x_3727_);
return v___x_3728_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1(lean_object* v_cls_3731_, size_t v_sz_3732_, size_t v_i_3733_, lean_object* v_bs_3734_, lean_object* v___y_3735_, lean_object* v___y_3736_, lean_object* v___y_3737_, lean_object* v___y_3738_){
_start:
{
uint8_t v___x_3740_; 
v___x_3740_ = lean_usize_dec_lt(v_i_3733_, v_sz_3732_);
if (v___x_3740_ == 0)
{
lean_object* v___x_3741_; 
lean_dec_ref(v___y_3737_);
lean_dec(v_cls_3731_);
v___x_3741_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_3741_, 0, v_bs_3734_);
return v___x_3741_;
}
else
{
lean_object* v_v_3742_; lean_object* v_fst_3743_; lean_object* v_snd_3744_; lean_object* v___x_3746_; uint8_t v_isShared_3747_; uint8_t v_isSharedCheck_3779_; 
v_v_3742_ = lean_array_uget(v_bs_3734_, v_i_3733_);
v_fst_3743_ = lean_ctor_get(v_v_3742_, 0);
v_snd_3744_ = lean_ctor_get(v_v_3742_, 1);
v_isSharedCheck_3779_ = !lean_is_exclusive(v_v_3742_);
if (v_isSharedCheck_3779_ == 0)
{
v___x_3746_ = v_v_3742_;
v_isShared_3747_ = v_isSharedCheck_3779_;
goto v_resetjp_3745_;
}
else
{
lean_inc(v_snd_3744_);
lean_inc(v_fst_3743_);
lean_dec(v_v_3742_);
v___x_3746_ = lean_box(0);
v_isShared_3747_ = v_isSharedCheck_3779_;
goto v_resetjp_3745_;
}
v_resetjp_3745_:
{
lean_object* v___x_3748_; 
lean_inc_ref(v___y_3737_);
v___x_3748_ = l_Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0(v_fst_3743_, v___y_3735_, v___y_3736_, v___y_3737_, v___y_3738_);
if (lean_obj_tag(v___x_3748_) == 0)
{
lean_object* v_a_3749_; lean_object* v___x_3750_; lean_object* v_bs_x27_3751_; lean_object* v___x_3752_; double v___x_3753_; lean_object* v___x_3754_; lean_object* v___x_3755_; lean_object* v___x_3756_; lean_object* v___x_3757_; lean_object* v___x_3759_; 
v_a_3749_ = lean_ctor_get(v___x_3748_, 0);
lean_inc(v_a_3749_);
lean_dec_ref(v___x_3748_);
v___x_3750_ = lean_unsigned_to_nat(0u);
v_bs_x27_3751_ = lean_array_uset(v_bs_3734_, v_i_3733_, v___x_3750_);
v___x_3752_ = lean_box(0);
v___x_3753_ = lean_float_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0);
v___x_3754_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__1));
lean_inc(v_cls_3731_);
v___x_3755_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_3755_, 0, v_cls_3731_);
lean_ctor_set(v___x_3755_, 1, v___x_3752_);
lean_ctor_set(v___x_3755_, 2, v___x_3754_);
lean_ctor_set_float(v___x_3755_, sizeof(void*)*3, v___x_3753_);
lean_ctor_set_float(v___x_3755_, sizeof(void*)*3 + 8, v___x_3753_);
lean_ctor_set_uint8(v___x_3755_, sizeof(void*)*3 + 16, v___x_3740_);
v___x_3756_ = l_Lean_MessageData_ofConst(v_a_3749_);
v___x_3757_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__3, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__3_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__3);
if (v_isShared_3747_ == 0)
{
lean_ctor_set_tag(v___x_3746_, 7);
lean_ctor_set(v___x_3746_, 1, v___x_3757_);
lean_ctor_set(v___x_3746_, 0, v___x_3756_);
v___x_3759_ = v___x_3746_;
goto v_reusejp_3758_;
}
else
{
lean_object* v_reuseFailAlloc_3770_; 
v_reuseFailAlloc_3770_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3770_, 0, v___x_3756_);
lean_ctor_set(v_reuseFailAlloc_3770_, 1, v___x_3757_);
v___x_3759_ = v_reuseFailAlloc_3770_;
goto v_reusejp_3758_;
}
v_reusejp_3758_:
{
lean_object* v___x_3760_; lean_object* v___x_3761_; lean_object* v___x_3762_; lean_object* v___x_3763_; lean_object* v___x_3764_; lean_object* v___x_3765_; size_t v___x_3766_; size_t v___x_3767_; lean_object* v___x_3768_; 
v___x_3760_ = l_Nat_reprFast(v_snd_3744_);
v___x_3761_ = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(v___x_3761_, 0, v___x_3760_);
v___x_3762_ = l_Lean_MessageData_ofFormat(v___x_3761_);
v___x_3763_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_3763_, 0, v___x_3759_);
lean_ctor_set(v___x_3763_, 1, v___x_3762_);
v___x_3764_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__4));
v___x_3765_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_3765_, 0, v___x_3755_);
lean_ctor_set(v___x_3765_, 1, v___x_3763_);
lean_ctor_set(v___x_3765_, 2, v___x_3764_);
v___x_3766_ = ((size_t)1ULL);
v___x_3767_ = lean_usize_add(v_i_3733_, v___x_3766_);
v___x_3768_ = lean_array_uset(v_bs_x27_3751_, v_i_3733_, v___x_3765_);
v_i_3733_ = v___x_3767_;
v_bs_3734_ = v___x_3768_;
goto _start;
}
}
else
{
lean_object* v_a_3771_; lean_object* v___x_3773_; uint8_t v_isShared_3774_; uint8_t v_isSharedCheck_3778_; 
lean_del_object(v___x_3746_);
lean_dec(v_snd_3744_);
lean_dec_ref(v___y_3737_);
lean_dec_ref(v_bs_3734_);
lean_dec(v_cls_3731_);
v_a_3771_ = lean_ctor_get(v___x_3748_, 0);
v_isSharedCheck_3778_ = !lean_is_exclusive(v___x_3748_);
if (v_isSharedCheck_3778_ == 0)
{
v___x_3773_ = v___x_3748_;
v_isShared_3774_ = v_isSharedCheck_3778_;
goto v_resetjp_3772_;
}
else
{
lean_inc(v_a_3771_);
lean_dec(v___x_3748_);
v___x_3773_ = lean_box(0);
v_isShared_3774_ = v_isSharedCheck_3778_;
goto v_resetjp_3772_;
}
v_resetjp_3772_:
{
lean_object* v___x_3776_; 
if (v_isShared_3774_ == 0)
{
v___x_3776_ = v___x_3773_;
goto v_reusejp_3775_;
}
else
{
lean_object* v_reuseFailAlloc_3777_; 
v_reuseFailAlloc_3777_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3777_, 0, v_a_3771_);
v___x_3776_ = v_reuseFailAlloc_3777_;
goto v_reusejp_3775_;
}
v_reusejp_3775_:
{
return v___x_3776_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___boxed(lean_object* v_cls_3780_, lean_object* v_sz_3781_, lean_object* v_i_3782_, lean_object* v_bs_3783_, lean_object* v___y_3784_, lean_object* v___y_3785_, lean_object* v___y_3786_, lean_object* v___y_3787_, lean_object* v___y_3788_){
_start:
{
size_t v_sz_boxed_3789_; size_t v_i_boxed_3790_; lean_object* v_res_3791_; 
v_sz_boxed_3789_ = lean_unbox_usize(v_sz_3781_);
lean_dec(v_sz_3781_);
v_i_boxed_3790_ = lean_unbox_usize(v_i_3782_);
lean_dec(v_i_3782_);
v_res_3791_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1(v_cls_3780_, v_sz_boxed_3789_, v_i_boxed_3790_, v_bs_3783_, v___y_3784_, v___y_3785_, v___y_3786_, v___y_3787_);
lean_dec(v___y_3787_);
lean_dec(v___y_3785_);
lean_dec_ref(v___y_3784_);
return v_res_3791_;
}
}
LEAN_EXPORT uint8_t l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___lam__0(lean_object* v_x_3792_, lean_object* v_x_3793_){
_start:
{
lean_object* v_fst_3794_; lean_object* v_snd_3795_; lean_object* v_fst_3796_; lean_object* v_snd_3797_; uint8_t v___x_3798_; 
v_fst_3794_ = lean_ctor_get(v_x_3792_, 0);
v_snd_3795_ = lean_ctor_get(v_x_3792_, 1);
v_fst_3796_ = lean_ctor_get(v_x_3793_, 0);
v_snd_3797_ = lean_ctor_get(v_x_3793_, 1);
v___x_3798_ = lean_nat_dec_eq(v_snd_3795_, v_snd_3797_);
if (v___x_3798_ == 0)
{
uint8_t v___x_3799_; 
v___x_3799_ = lean_nat_dec_lt(v_snd_3797_, v_snd_3795_);
return v___x_3799_;
}
else
{
uint8_t v___x_3800_; 
v___x_3800_ = l_Lean_Name_lt(v_fst_3794_, v_fst_3796_);
return v___x_3800_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___lam__0___boxed(lean_object* v_x_3801_, lean_object* v_x_3802_){
_start:
{
uint8_t v_res_3803_; lean_object* v_r_3804_; 
v_res_3803_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___lam__0(v_x_3801_, v_x_3802_);
lean_dec_ref(v_x_3802_);
lean_dec_ref(v_x_3801_);
v_r_3804_ = lean_box(v_res_3803_);
return v_r_3804_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg(lean_object* v_as_3806_, lean_object* v_lo_3807_, lean_object* v_hi_3808_){
_start:
{
uint8_t v___x_3809_; 
v___x_3809_ = lean_nat_dec_lt(v_lo_3807_, v_hi_3808_);
if (v___x_3809_ == 0)
{
lean_dec(v_lo_3807_);
return v_as_3806_;
}
else
{
lean_object* v___f_3810_; lean_object* v___x_3811_; lean_object* v_fst_3812_; lean_object* v_snd_3813_; uint8_t v___x_3814_; 
v___f_3810_ = ((lean_object*)(l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___closed__0));
lean_inc(v_lo_3807_);
v___x_3811_ = l_Array_qpartition___redArg(v_as_3806_, v___f_3810_, v_lo_3807_, v_hi_3808_);
v_fst_3812_ = lean_ctor_get(v___x_3811_, 0);
lean_inc(v_fst_3812_);
v_snd_3813_ = lean_ctor_get(v___x_3811_, 1);
lean_inc(v_snd_3813_);
lean_dec_ref(v___x_3811_);
v___x_3814_ = lean_nat_dec_le(v_hi_3808_, v_fst_3812_);
if (v___x_3814_ == 0)
{
lean_object* v___x_3815_; lean_object* v___x_3816_; lean_object* v___x_3817_; 
v___x_3815_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg(v_snd_3813_, v_lo_3807_, v_fst_3812_);
v___x_3816_ = lean_unsigned_to_nat(1u);
v___x_3817_ = lean_nat_add(v_fst_3812_, v___x_3816_);
lean_dec(v_fst_3812_);
v_as_3806_ = v___x_3815_;
v_lo_3807_ = v___x_3817_;
goto _start;
}
else
{
lean_dec(v_fst_3812_);
lean_dec(v_lo_3807_);
return v_snd_3813_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg___boxed(lean_object* v_as_3819_, lean_object* v_lo_3820_, lean_object* v_hi_3821_){
_start:
{
lean_object* v_res_3822_; 
v_res_3822_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg(v_as_3819_, v_lo_3820_, v_hi_3821_);
lean_dec(v_hi_3821_);
return v_res_3822_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData(lean_object* v_header_3823_, lean_object* v_cls_3824_, lean_object* v_data_3825_, lean_object* v_a_3826_, lean_object* v_a_3827_, lean_object* v_a_3828_, lean_object* v_a_3829_){
_start:
{
lean_object* v___x_3831_; lean_object* v___y_3833_; lean_object* v___y_3862_; lean_object* v___y_3863_; lean_object* v___x_3865_; uint8_t v___x_3866_; 
v___x_3831_ = lean_unsigned_to_nat(0u);
v___x_3865_ = lean_array_get_size(v_data_3825_);
v___x_3866_ = lean_nat_dec_eq(v___x_3865_, v___x_3831_);
if (v___x_3866_ == 0)
{
lean_object* v___x_3867_; lean_object* v___x_3868_; lean_object* v___y_3870_; uint8_t v___x_3872_; 
v___x_3867_ = lean_unsigned_to_nat(1u);
v___x_3868_ = lean_nat_sub(v___x_3865_, v___x_3867_);
v___x_3872_ = lean_nat_dec_le(v___x_3831_, v___x_3868_);
if (v___x_3872_ == 0)
{
lean_inc(v___x_3868_);
v___y_3870_ = v___x_3868_;
goto v___jp_3869_;
}
else
{
v___y_3870_ = v___x_3831_;
goto v___jp_3869_;
}
v___jp_3869_:
{
uint8_t v___x_3871_; 
v___x_3871_ = lean_nat_dec_le(v___y_3870_, v___x_3868_);
if (v___x_3871_ == 0)
{
lean_dec(v___x_3868_);
lean_inc(v___y_3870_);
v___y_3862_ = v___y_3870_;
v___y_3863_ = v___y_3870_;
goto v___jp_3861_;
}
else
{
v___y_3862_ = v___y_3870_;
v___y_3863_ = v___x_3868_;
goto v___jp_3861_;
}
}
}
else
{
v___y_3833_ = v_data_3825_;
goto v___jp_3832_;
}
v___jp_3832_:
{
size_t v_sz_3834_; size_t v___x_3835_; lean_object* v___x_3836_; 
v_sz_3834_ = lean_array_size(v___y_3833_);
v___x_3835_ = ((size_t)0ULL);
lean_inc(v_cls_3824_);
v___x_3836_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1(v_cls_3824_, v_sz_3834_, v___x_3835_, v___y_3833_, v_a_3826_, v_a_3827_, v_a_3828_, v_a_3829_);
if (lean_obj_tag(v___x_3836_) == 0)
{
lean_object* v_a_3837_; lean_object* v___x_3839_; uint8_t v_isShared_3840_; uint8_t v_isSharedCheck_3852_; 
v_a_3837_ = lean_ctor_get(v___x_3836_, 0);
v_isSharedCheck_3852_ = !lean_is_exclusive(v___x_3836_);
if (v_isSharedCheck_3852_ == 0)
{
v___x_3839_ = v___x_3836_;
v_isShared_3840_ = v_isSharedCheck_3852_;
goto v_resetjp_3838_;
}
else
{
lean_inc(v_a_3837_);
lean_dec(v___x_3836_);
v___x_3839_ = lean_box(0);
v_isShared_3840_ = v_isSharedCheck_3852_;
goto v_resetjp_3838_;
}
v_resetjp_3838_:
{
lean_object* v___x_3841_; double v___x_3842_; uint8_t v___x_3843_; lean_object* v___x_3844_; lean_object* v___x_3845_; lean_object* v___x_3846_; lean_object* v___x_3847_; lean_object* v___x_3848_; lean_object* v___x_3850_; 
v___x_3841_ = lean_box(0);
v___x_3842_ = lean_float_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0);
v___x_3843_ = 1;
v___x_3844_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__1));
v___x_3845_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_3845_, 0, v_cls_3824_);
lean_ctor_set(v___x_3845_, 1, v___x_3841_);
lean_ctor_set(v___x_3845_, 2, v___x_3844_);
lean_ctor_set_float(v___x_3845_, sizeof(void*)*3, v___x_3842_);
lean_ctor_set_float(v___x_3845_, sizeof(void*)*3 + 8, v___x_3842_);
lean_ctor_set_uint8(v___x_3845_, sizeof(void*)*3 + 16, v___x_3843_);
v___x_3846_ = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(v___x_3846_, 0, v_header_3823_);
v___x_3847_ = l_Lean_MessageData_ofFormat(v___x_3846_);
v___x_3848_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_3848_, 0, v___x_3845_);
lean_ctor_set(v___x_3848_, 1, v___x_3847_);
lean_ctor_set(v___x_3848_, 2, v_a_3837_);
if (v_isShared_3840_ == 0)
{
lean_ctor_set(v___x_3839_, 0, v___x_3848_);
v___x_3850_ = v___x_3839_;
goto v_reusejp_3849_;
}
else
{
lean_object* v_reuseFailAlloc_3851_; 
v_reuseFailAlloc_3851_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3851_, 0, v___x_3848_);
v___x_3850_ = v_reuseFailAlloc_3851_;
goto v_reusejp_3849_;
}
v_reusejp_3849_:
{
return v___x_3850_;
}
}
}
else
{
lean_object* v_a_3853_; lean_object* v___x_3855_; uint8_t v_isShared_3856_; uint8_t v_isSharedCheck_3860_; 
lean_dec(v_cls_3824_);
lean_dec_ref(v_header_3823_);
v_a_3853_ = lean_ctor_get(v___x_3836_, 0);
v_isSharedCheck_3860_ = !lean_is_exclusive(v___x_3836_);
if (v_isSharedCheck_3860_ == 0)
{
v___x_3855_ = v___x_3836_;
v_isShared_3856_ = v_isSharedCheck_3860_;
goto v_resetjp_3854_;
}
else
{
lean_inc(v_a_3853_);
lean_dec(v___x_3836_);
v___x_3855_ = lean_box(0);
v_isShared_3856_ = v_isSharedCheck_3860_;
goto v_resetjp_3854_;
}
v_resetjp_3854_:
{
lean_object* v___x_3858_; 
if (v_isShared_3856_ == 0)
{
v___x_3858_ = v___x_3855_;
goto v_reusejp_3857_;
}
else
{
lean_object* v_reuseFailAlloc_3859_; 
v_reuseFailAlloc_3859_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3859_, 0, v_a_3853_);
v___x_3858_ = v_reuseFailAlloc_3859_;
goto v_reusejp_3857_;
}
v_reusejp_3857_:
{
return v___x_3858_;
}
}
}
}
v___jp_3861_:
{
lean_object* v___x_3864_; 
v___x_3864_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg(v_data_3825_, v___y_3862_, v___y_3863_);
lean_dec(v___y_3863_);
v___y_3833_ = v___x_3864_;
goto v___jp_3832_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData___boxed(lean_object* v_header_3873_, lean_object* v_cls_3874_, lean_object* v_data_3875_, lean_object* v_a_3876_, lean_object* v_a_3877_, lean_object* v_a_3878_, lean_object* v_a_3879_, lean_object* v_a_3880_){
_start:
{
lean_object* v_res_3881_; 
v_res_3881_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData(v_header_3873_, v_cls_3874_, v_data_3875_, v_a_3876_, v_a_3877_, v_a_3878_, v_a_3879_);
lean_dec(v_a_3879_);
lean_dec(v_a_3877_);
lean_dec_ref(v_a_3876_);
return v_res_3881_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2(lean_object* v_n_3882_, lean_object* v_as_3883_, lean_object* v_lo_3884_, lean_object* v_hi_3885_, lean_object* v_w_3886_, lean_object* v_hlo_3887_, lean_object* v_hhi_3888_){
_start:
{
lean_object* v___x_3889_; 
v___x_3889_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___redArg(v_as_3883_, v_lo_3884_, v_hi_3885_);
return v___x_3889_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2___boxed(lean_object* v_n_3890_, lean_object* v_as_3891_, lean_object* v_lo_3892_, lean_object* v_hi_3893_, lean_object* v_w_3894_, lean_object* v_hlo_3895_, lean_object* v_hhi_3896_){
_start:
{
lean_object* v_res_3897_; 
v_res_3897_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__2(v_n_3890_, v_as_3891_, v_lo_3892_, v_hi_3893_, v_w_3894_, v_hlo_3895_, v_hhi_3896_);
lean_dec(v_hi_3893_);
lean_dec(v_n_3890_);
return v_res_3897_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1(lean_object* v_00_u03b1_3898_, lean_object* v_constName_3899_, lean_object* v___y_3900_, lean_object* v___y_3901_, lean_object* v___y_3902_, lean_object* v___y_3903_){
_start:
{
lean_object* v___x_3905_; 
v___x_3905_ = l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1___redArg(v_constName_3899_, v___y_3900_, v___y_3901_, v___y_3902_, v___y_3903_);
return v___x_3905_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1___boxed(lean_object* v_00_u03b1_3906_, lean_object* v_constName_3907_, lean_object* v___y_3908_, lean_object* v___y_3909_, lean_object* v___y_3910_, lean_object* v___y_3911_, lean_object* v___y_3912_){
_start:
{
lean_object* v_res_3913_; 
v_res_3913_ = l_Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1(v_00_u03b1_3906_, v_constName_3907_, v___y_3908_, v___y_3909_, v___y_3910_, v___y_3911_);
lean_dec(v___y_3911_);
lean_dec(v___y_3909_);
lean_dec_ref(v___y_3908_);
return v_res_3913_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4(lean_object* v_00_u03b1_3914_, lean_object* v_ref_3915_, lean_object* v_constName_3916_, lean_object* v___y_3917_, lean_object* v___y_3918_, lean_object* v___y_3919_, lean_object* v___y_3920_){
_start:
{
lean_object* v___x_3922_; 
v___x_3922_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___redArg(v_ref_3915_, v_constName_3916_, v___y_3917_, v___y_3918_, v___y_3919_, v___y_3920_);
return v___x_3922_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4___boxed(lean_object* v_00_u03b1_3923_, lean_object* v_ref_3924_, lean_object* v_constName_3925_, lean_object* v___y_3926_, lean_object* v___y_3927_, lean_object* v___y_3928_, lean_object* v___y_3929_, lean_object* v___y_3930_){
_start:
{
lean_object* v_res_3931_; 
v_res_3931_ = l_Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4(v_00_u03b1_3923_, v_ref_3924_, v_constName_3925_, v___y_3926_, v___y_3927_, v___y_3928_, v___y_3929_);
lean_dec(v___y_3929_);
lean_dec(v___y_3927_);
lean_dec_ref(v___y_3926_);
lean_dec(v_ref_3924_);
return v_res_3931_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6(lean_object* v_00_u03b1_3932_, lean_object* v_ref_3933_, lean_object* v_msg_3934_, lean_object* v_declHint_3935_, lean_object* v___y_3936_, lean_object* v___y_3937_, lean_object* v___y_3938_, lean_object* v___y_3939_){
_start:
{
lean_object* v___x_3941_; 
v___x_3941_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6___redArg(v_ref_3933_, v_msg_3934_, v_declHint_3935_, v___y_3936_, v___y_3937_, v___y_3938_, v___y_3939_);
return v___x_3941_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6___boxed(lean_object* v_00_u03b1_3942_, lean_object* v_ref_3943_, lean_object* v_msg_3944_, lean_object* v_declHint_3945_, lean_object* v___y_3946_, lean_object* v___y_3947_, lean_object* v___y_3948_, lean_object* v___y_3949_, lean_object* v___y_3950_){
_start:
{
lean_object* v_res_3951_; 
v_res_3951_ = l_Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6(v_00_u03b1_3942_, v_ref_3943_, v_msg_3944_, v_declHint_3945_, v___y_3946_, v___y_3947_, v___y_3948_, v___y_3949_);
lean_dec(v___y_3949_);
lean_dec(v___y_3947_);
lean_dec_ref(v___y_3946_);
lean_dec(v_ref_3943_);
return v_res_3951_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8(lean_object* v_msg_3952_, lean_object* v_declHint_3953_, lean_object* v___y_3954_, lean_object* v___y_3955_, lean_object* v___y_3956_, lean_object* v___y_3957_){
_start:
{
lean_object* v___x_3959_; 
v___x_3959_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___redArg(v_msg_3952_, v_declHint_3953_, v___y_3957_);
return v___x_3959_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8___boxed(lean_object* v_msg_3960_, lean_object* v_declHint_3961_, lean_object* v___y_3962_, lean_object* v___y_3963_, lean_object* v___y_3964_, lean_object* v___y_3965_, lean_object* v___y_3966_){
_start:
{
lean_object* v_res_3967_; 
v_res_3967_ = l_Lean_mkUnknownIdentifierMessageCore___at___00Lean_mkUnknownIdentifierMessage___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__7_spec__8(v_msg_3960_, v_declHint_3961_, v___y_3962_, v___y_3963_, v___y_3964_, v___y_3965_);
lean_dec(v___y_3965_);
lean_dec_ref(v___y_3964_);
lean_dec(v___y_3963_);
lean_dec_ref(v___y_3962_);
return v_res_3967_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8(lean_object* v_00_u03b1_3968_, lean_object* v_ref_3969_, lean_object* v_msg_3970_, lean_object* v___y_3971_, lean_object* v___y_3972_, lean_object* v___y_3973_, lean_object* v___y_3974_){
_start:
{
lean_object* v___x_3976_; 
v___x_3976_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8___redArg(v_ref_3969_, v_msg_3970_, v___y_3971_, v___y_3972_, v___y_3973_, v___y_3974_);
return v___x_3976_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8___boxed(lean_object* v_00_u03b1_3977_, lean_object* v_ref_3978_, lean_object* v_msg_3979_, lean_object* v___y_3980_, lean_object* v___y_3981_, lean_object* v___y_3982_, lean_object* v___y_3983_, lean_object* v___y_3984_){
_start:
{
lean_object* v_res_3985_; 
v_res_3985_ = l_Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8(v_00_u03b1_3977_, v_ref_3978_, v_msg_3979_, v___y_3980_, v___y_3981_, v___y_3982_, v___y_3983_);
lean_dec(v___y_3983_);
lean_dec(v___y_3981_);
lean_dec_ref(v___y_3980_);
lean_dec(v_ref_3978_);
return v_res_3985_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10(lean_object* v_00_u03b1_3986_, lean_object* v_msg_3987_, lean_object* v___y_3988_, lean_object* v___y_3989_, lean_object* v___y_3990_, lean_object* v___y_3991_){
_start:
{
lean_object* v___x_3993_; 
v___x_3993_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10___redArg(v_msg_3987_, v___y_3988_, v___y_3989_, v___y_3990_, v___y_3991_);
return v___x_3993_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10___boxed(lean_object* v_00_u03b1_3994_, lean_object* v_msg_3995_, lean_object* v___y_3996_, lean_object* v___y_3997_, lean_object* v___y_3998_, lean_object* v___y_3999_, lean_object* v___y_4000_){
_start:
{
lean_object* v_res_4001_; 
v_res_4001_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10(v_00_u03b1_3994_, v_msg_3995_, v___y_3996_, v___y_3997_, v___y_3998_, v___y_3999_);
lean_dec(v___y_3999_);
lean_dec_ref(v___y_3998_);
lean_dec(v___y_3997_);
lean_dec_ref(v___y_3996_);
return v_res_4001_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__3(void){
_start:
{
lean_object* v___x_4006_; lean_object* v___x_4007_; 
v___x_4006_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__2));
v___x_4007_ = l_Lean_stringToMessageData(v___x_4006_);
return v___x_4007_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__5(void){
_start:
{
lean_object* v___x_4009_; lean_object* v___x_4010_; 
v___x_4009_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__4));
v___x_4010_ = l_Lean_stringToMessageData(v___x_4009_);
return v___x_4010_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__7(void){
_start:
{
lean_object* v___x_4012_; lean_object* v___x_4013_; 
v___x_4012_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__6));
v___x_4013_ = l_Lean_stringToMessageData(v___x_4012_);
return v___x_4013_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg(lean_object* v___x_4014_, lean_object* v___x_4015_, lean_object* v___x_4016_, size_t v_sz_4017_, size_t v_i_4018_, lean_object* v_bs_4019_){
_start:
{
uint8_t v___x_4021_; 
v___x_4021_ = lean_usize_dec_lt(v_i_4018_, v_sz_4017_);
if (v___x_4021_ == 0)
{
lean_object* v___x_4022_; 
lean_dec_ref(v___x_4016_);
lean_dec_ref(v___x_4015_);
lean_dec_ref(v___x_4014_);
v___x_4022_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4022_, 0, v_bs_4019_);
return v___x_4022_;
}
else
{
lean_object* v_v_4023_; lean_object* v_lctx_4024_; lean_object* v_c_4025_; lean_object* v_gen_4026_; lean_object* v_numCases_4027_; lean_object* v_splitSource_4028_; lean_object* v___x_4029_; lean_object* v___x_4030_; lean_object* v_bs_x27_4031_; lean_object* v___x_4032_; lean_object* v___x_4033_; lean_object* v___x_4034_; double v___x_4035_; lean_object* v___x_4036_; lean_object* v___x_4037_; lean_object* v___x_4038_; lean_object* v___x_4039_; lean_object* v___x_4040_; lean_object* v___x_4041_; lean_object* v___x_4042_; lean_object* v___x_4043_; lean_object* v___x_4044_; lean_object* v___x_4045_; lean_object* v___x_4046_; lean_object* v___x_4047_; lean_object* v___x_4048_; lean_object* v___x_4049_; lean_object* v___x_4050_; lean_object* v___x_4051_; lean_object* v___x_4052_; lean_object* v___x_4053_; lean_object* v___x_4054_; lean_object* v___x_4055_; lean_object* v___x_4056_; lean_object* v___x_4057_; lean_object* v___x_4058_; lean_object* v___x_4059_; lean_object* v___x_4060_; lean_object* v___x_4061_; size_t v___x_4062_; size_t v___x_4063_; lean_object* v___x_4064_; 
v_v_4023_ = lean_array_uget_borrowed(v_bs_4019_, v_i_4018_);
v_lctx_4024_ = lean_ctor_get(v_v_4023_, 0);
lean_inc_ref(v_lctx_4024_);
v_c_4025_ = lean_ctor_get(v_v_4023_, 1);
lean_inc_ref(v_c_4025_);
v_gen_4026_ = lean_ctor_get(v_v_4023_, 2);
lean_inc(v_gen_4026_);
v_numCases_4027_ = lean_ctor_get(v_v_4023_, 3);
lean_inc(v_numCases_4027_);
v_splitSource_4028_ = lean_ctor_get(v_v_4023_, 4);
lean_inc(v_splitSource_4028_);
v___x_4029_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__1));
v___x_4030_ = lean_unsigned_to_nat(0u);
v_bs_x27_4031_ = lean_array_uset(v_bs_4019_, v_i_4018_, v___x_4030_);
v___x_4032_ = l_Lean_MessageData_ofExpr(v_c_4025_);
lean_inc_ref(v___x_4016_);
lean_inc_ref(v___x_4015_);
lean_inc_ref(v___x_4014_);
v___x_4033_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_4033_, 0, v___x_4014_);
lean_ctor_set(v___x_4033_, 1, v___x_4015_);
lean_ctor_set(v___x_4033_, 2, v_lctx_4024_);
lean_ctor_set(v___x_4033_, 3, v___x_4016_);
v___x_4034_ = lean_box(0);
v___x_4035_ = lean_float_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0);
v___x_4036_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__1));
v___x_4037_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_4037_, 0, v___x_4029_);
lean_ctor_set(v___x_4037_, 1, v___x_4034_);
lean_ctor_set(v___x_4037_, 2, v___x_4036_);
lean_ctor_set_float(v___x_4037_, sizeof(void*)*3, v___x_4035_);
lean_ctor_set_float(v___x_4037_, sizeof(void*)*3 + 8, v___x_4035_);
lean_ctor_set_uint8(v___x_4037_, sizeof(void*)*3 + 16, v___x_4021_);
v___x_4038_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__3, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__3_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__3);
v___x_4039_ = l_Lean_Meta_Grind_SplitSource_toMessageData(v_splitSource_4028_);
v___x_4040_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4040_, 0, v___x_4038_);
lean_ctor_set(v___x_4040_, 1, v___x_4039_);
v___x_4041_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__4));
lean_inc_ref(v___x_4037_);
v___x_4042_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_4042_, 0, v___x_4037_);
lean_ctor_set(v___x_4042_, 1, v___x_4040_);
lean_ctor_set(v___x_4042_, 2, v___x_4041_);
v___x_4043_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__5, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__5_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__5);
v___x_4044_ = l_Nat_reprFast(v_gen_4026_);
v___x_4045_ = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(v___x_4045_, 0, v___x_4044_);
v___x_4046_ = l_Lean_MessageData_ofFormat(v___x_4045_);
v___x_4047_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4047_, 0, v___x_4043_);
lean_ctor_set(v___x_4047_, 1, v___x_4046_);
lean_inc_ref(v___x_4037_);
v___x_4048_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_4048_, 0, v___x_4037_);
lean_ctor_set(v___x_4048_, 1, v___x_4047_);
lean_ctor_set(v___x_4048_, 2, v___x_4041_);
v___x_4049_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__7, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__7_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__7);
v___x_4050_ = l_Nat_reprFast(v_numCases_4027_);
v___x_4051_ = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(v___x_4051_, 0, v___x_4050_);
v___x_4052_ = l_Lean_MessageData_ofFormat(v___x_4051_);
v___x_4053_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_4053_, 0, v___x_4049_);
lean_ctor_set(v___x_4053_, 1, v___x_4052_);
lean_inc_ref(v___x_4037_);
v___x_4054_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_4054_, 0, v___x_4037_);
lean_ctor_set(v___x_4054_, 1, v___x_4053_);
lean_ctor_set(v___x_4054_, 2, v___x_4041_);
v___x_4055_ = lean_unsigned_to_nat(3u);
v___x_4056_ = lean_mk_empty_array_with_capacity(v___x_4055_);
v___x_4057_ = lean_array_push(v___x_4056_, v___x_4042_);
v___x_4058_ = lean_array_push(v___x_4057_, v___x_4048_);
v___x_4059_ = lean_array_push(v___x_4058_, v___x_4054_);
v___x_4060_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_4060_, 0, v___x_4037_);
lean_ctor_set(v___x_4060_, 1, v___x_4032_);
lean_ctor_set(v___x_4060_, 2, v___x_4059_);
v___x_4061_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v___x_4061_, 0, v___x_4033_);
lean_ctor_set(v___x_4061_, 1, v___x_4060_);
v___x_4062_ = ((size_t)1ULL);
v___x_4063_ = lean_usize_add(v_i_4018_, v___x_4062_);
v___x_4064_ = lean_array_uset(v_bs_x27_4031_, v_i_4018_, v___x_4061_);
v_i_4018_ = v___x_4063_;
v_bs_4019_ = v___x_4064_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___boxed(lean_object* v___x_4066_, lean_object* v___x_4067_, lean_object* v___x_4068_, lean_object* v_sz_4069_, lean_object* v_i_4070_, lean_object* v_bs_4071_, lean_object* v___y_4072_){
_start:
{
size_t v_sz_boxed_4073_; size_t v_i_boxed_4074_; lean_object* v_res_4075_; 
v_sz_boxed_4073_ = lean_unbox_usize(v_sz_4069_);
lean_dec(v_sz_4069_);
v_i_boxed_4074_ = lean_unbox_usize(v_i_4070_);
lean_dec(v_i_4070_);
v_res_4075_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg(v___x_4066_, v___x_4067_, v___x_4068_, v_sz_boxed_4073_, v_i_boxed_4074_, v_bs_4071_);
return v_res_4075_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__0(void){
_start:
{
lean_object* v___x_4076_; uint8_t v___x_4077_; double v___x_4078_; lean_object* v___x_4079_; lean_object* v___x_4080_; lean_object* v___x_4081_; 
v___x_4076_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__1));
v___x_4077_ = 1;
v___x_4078_ = lean_float_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0);
v___x_4079_ = lean_box(0);
v___x_4080_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg___closed__1));
v___x_4081_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_4081_, 0, v___x_4080_);
lean_ctor_set(v___x_4081_, 1, v___x_4079_);
lean_ctor_set(v___x_4081_, 2, v___x_4076_);
lean_ctor_set_float(v___x_4081_, sizeof(void*)*3, v___x_4078_);
lean_ctor_set_float(v___x_4081_, sizeof(void*)*3 + 8, v___x_4078_);
lean_ctor_set_uint8(v___x_4081_, sizeof(void*)*3 + 16, v___x_4077_);
return v___x_4081_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__3(void){
_start:
{
lean_object* v___x_4085_; lean_object* v___x_4086_; 
v___x_4085_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__2));
v___x_4086_ = l_Lean_MessageData_ofFormat(v___x_4085_);
return v___x_4086_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData(lean_object* v_ss_4087_, lean_object* v_a_4088_, lean_object* v_a_4089_, lean_object* v_a_4090_, lean_object* v_a_4091_){
_start:
{
lean_object* v___x_4093_; lean_object* v___x_4094_; lean_object* v_env_4095_; lean_object* v_mctx_4096_; lean_object* v_options_4097_; size_t v_sz_4098_; size_t v___x_4099_; lean_object* v___x_4100_; 
v___x_4093_ = lean_st_ref_get(v_a_4091_);
v___x_4094_ = lean_st_ref_get(v_a_4089_);
v_env_4095_ = lean_ctor_get(v___x_4093_, 0);
lean_inc_ref(v_env_4095_);
lean_dec(v___x_4093_);
v_mctx_4096_ = lean_ctor_get(v___x_4094_, 0);
lean_inc_ref(v_mctx_4096_);
lean_dec(v___x_4094_);
v_options_4097_ = lean_ctor_get(v_a_4090_, 2);
lean_inc_ref(v_options_4097_);
lean_dec_ref(v_a_4090_);
v_sz_4098_ = lean_array_size(v_ss_4087_);
v___x_4099_ = ((size_t)0ULL);
v___x_4100_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg(v_env_4095_, v_mctx_4096_, v_options_4097_, v_sz_4098_, v___x_4099_, v_ss_4087_);
if (lean_obj_tag(v___x_4100_) == 0)
{
lean_object* v_a_4101_; lean_object* v___x_4103_; uint8_t v_isShared_4104_; uint8_t v_isSharedCheck_4111_; 
v_a_4101_ = lean_ctor_get(v___x_4100_, 0);
v_isSharedCheck_4111_ = !lean_is_exclusive(v___x_4100_);
if (v_isSharedCheck_4111_ == 0)
{
v___x_4103_ = v___x_4100_;
v_isShared_4104_ = v_isSharedCheck_4111_;
goto v_resetjp_4102_;
}
else
{
lean_inc(v_a_4101_);
lean_dec(v___x_4100_);
v___x_4103_ = lean_box(0);
v_isShared_4104_ = v_isSharedCheck_4111_;
goto v_resetjp_4102_;
}
v_resetjp_4102_:
{
lean_object* v___x_4105_; lean_object* v___x_4106_; lean_object* v___x_4107_; lean_object* v___x_4109_; 
v___x_4105_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__0, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__0_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__0);
v___x_4106_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__3, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___closed__3);
v___x_4107_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_4107_, 0, v___x_4105_);
lean_ctor_set(v___x_4107_, 1, v___x_4106_);
lean_ctor_set(v___x_4107_, 2, v_a_4101_);
if (v_isShared_4104_ == 0)
{
lean_ctor_set(v___x_4103_, 0, v___x_4107_);
v___x_4109_ = v___x_4103_;
goto v_reusejp_4108_;
}
else
{
lean_object* v_reuseFailAlloc_4110_; 
v_reuseFailAlloc_4110_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4110_, 0, v___x_4107_);
v___x_4109_ = v_reuseFailAlloc_4110_;
goto v_reusejp_4108_;
}
v_reusejp_4108_:
{
return v___x_4109_;
}
}
}
else
{
lean_object* v_a_4112_; lean_object* v___x_4114_; uint8_t v_isShared_4115_; uint8_t v_isSharedCheck_4119_; 
v_a_4112_ = lean_ctor_get(v___x_4100_, 0);
v_isSharedCheck_4119_ = !lean_is_exclusive(v___x_4100_);
if (v_isSharedCheck_4119_ == 0)
{
v___x_4114_ = v___x_4100_;
v_isShared_4115_ = v_isSharedCheck_4119_;
goto v_resetjp_4113_;
}
else
{
lean_inc(v_a_4112_);
lean_dec(v___x_4100_);
v___x_4114_ = lean_box(0);
v_isShared_4115_ = v_isSharedCheck_4119_;
goto v_resetjp_4113_;
}
v_resetjp_4113_:
{
lean_object* v___x_4117_; 
if (v_isShared_4115_ == 0)
{
v___x_4117_ = v___x_4114_;
goto v_reusejp_4116_;
}
else
{
lean_object* v_reuseFailAlloc_4118_; 
v_reuseFailAlloc_4118_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4118_, 0, v_a_4112_);
v___x_4117_ = v_reuseFailAlloc_4118_;
goto v_reusejp_4116_;
}
v_reusejp_4116_:
{
return v___x_4117_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData___boxed(lean_object* v_ss_4120_, lean_object* v_a_4121_, lean_object* v_a_4122_, lean_object* v_a_4123_, lean_object* v_a_4124_, lean_object* v_a_4125_){
_start:
{
lean_object* v_res_4126_; 
v_res_4126_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData(v_ss_4120_, v_a_4121_, v_a_4122_, v_a_4123_, v_a_4124_);
lean_dec(v_a_4124_);
lean_dec(v_a_4122_);
lean_dec_ref(v_a_4121_);
return v_res_4126_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0(lean_object* v___x_4127_, lean_object* v___x_4128_, lean_object* v___x_4129_, size_t v_sz_4130_, size_t v_i_4131_, lean_object* v_bs_4132_, lean_object* v___y_4133_, lean_object* v___y_4134_, lean_object* v___y_4135_, lean_object* v___y_4136_){
_start:
{
lean_object* v___x_4138_; 
v___x_4138_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___redArg(v___x_4127_, v___x_4128_, v___x_4129_, v_sz_4130_, v_i_4131_, v_bs_4132_);
return v___x_4138_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0___boxed(lean_object* v___x_4139_, lean_object* v___x_4140_, lean_object* v___x_4141_, lean_object* v_sz_4142_, lean_object* v_i_4143_, lean_object* v_bs_4144_, lean_object* v___y_4145_, lean_object* v___y_4146_, lean_object* v___y_4147_, lean_object* v___y_4148_, lean_object* v___y_4149_){
_start:
{
size_t v_sz_boxed_4150_; size_t v_i_boxed_4151_; lean_object* v_res_4152_; 
v_sz_boxed_4150_ = lean_unbox_usize(v_sz_4142_);
lean_dec(v_sz_4142_);
v_i_boxed_4151_ = lean_unbox_usize(v_i_4143_);
lean_dec(v_i_4143_);
v_res_4152_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData_spec__0(v___x_4139_, v___x_4140_, v___x_4141_, v_sz_boxed_4150_, v_i_boxed_4151_, v_bs_4144_, v___y_4145_, v___y_4146_, v___y_4147_, v___y_4148_);
lean_dec(v___y_4148_);
lean_dec_ref(v___y_4147_);
lean_dec(v___y_4146_);
lean_dec_ref(v___y_4145_);
return v_res_4152_;
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_isEmpty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__1___redArg(lean_object* v_x_4153_){
_start:
{
uint8_t v___x_4154_; 
v___x_4154_ = l_Lean_PersistentHashMap_Node_isEmpty___redArg(v_x_4153_);
return v___x_4154_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_isEmpty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__1___redArg___boxed(lean_object* v_x_4155_){
_start:
{
uint8_t v_res_4156_; lean_object* v_r_4157_; 
v_res_4156_ = l_Lean_PersistentHashMap_isEmpty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__1___redArg(v_x_4155_);
lean_dec_ref(v_x_4155_);
v_r_4157_ = lean_box(v_res_4156_);
return v_r_4157_;
}
}
LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_isEmpty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__1(lean_object* v_00_u03b2_4158_, lean_object* v_x_4159_){
_start:
{
uint8_t v___x_4160_; 
v___x_4160_ = l_Lean_PersistentHashMap_Node_isEmpty___redArg(v_x_4159_);
return v___x_4160_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_isEmpty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__1___boxed(lean_object* v_00_u03b2_4161_, lean_object* v_x_4162_){
_start:
{
uint8_t v_res_4163_; lean_object* v_r_4164_; 
v_res_4163_ = l_Lean_PersistentHashMap_isEmpty___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__1(v_00_u03b2_4161_, v_x_4162_);
lean_dec_ref(v_x_4162_);
v_r_4164_ = lean_box(v_res_4163_);
return v_r_4164_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3_spec__5(lean_object* v_as_4165_, size_t v_i_4166_, size_t v_stop_4167_, lean_object* v_b_4168_){
_start:
{
lean_object* v___y_4170_; uint8_t v___x_4174_; 
v___x_4174_ = lean_usize_dec_eq(v_i_4166_, v_stop_4167_);
if (v___x_4174_ == 0)
{
lean_object* v___x_4175_; lean_object* v_fst_4176_; 
v___x_4175_ = lean_array_uget(v_as_4165_, v_i_4166_);
v_fst_4176_ = lean_ctor_get(v___x_4175_, 0);
lean_inc(v_fst_4176_);
if (lean_obj_tag(v_fst_4176_) == 0)
{
lean_object* v_snd_4177_; lean_object* v___x_4179_; uint8_t v_isShared_4180_; uint8_t v_isSharedCheck_4186_; 
v_snd_4177_ = lean_ctor_get(v___x_4175_, 1);
v_isSharedCheck_4186_ = !lean_is_exclusive(v___x_4175_);
if (v_isSharedCheck_4186_ == 0)
{
lean_object* v_unused_4187_; 
v_unused_4187_ = lean_ctor_get(v___x_4175_, 0);
lean_dec(v_unused_4187_);
v___x_4179_ = v___x_4175_;
v_isShared_4180_ = v_isSharedCheck_4186_;
goto v_resetjp_4178_;
}
else
{
lean_inc(v_snd_4177_);
lean_dec(v___x_4175_);
v___x_4179_ = lean_box(0);
v_isShared_4180_ = v_isSharedCheck_4186_;
goto v_resetjp_4178_;
}
v_resetjp_4178_:
{
lean_object* v_declName_4181_; lean_object* v___x_4183_; 
v_declName_4181_ = lean_ctor_get(v_fst_4176_, 0);
lean_inc(v_declName_4181_);
lean_dec_ref(v_fst_4176_);
if (v_isShared_4180_ == 0)
{
lean_ctor_set(v___x_4179_, 0, v_declName_4181_);
v___x_4183_ = v___x_4179_;
goto v_reusejp_4182_;
}
else
{
lean_object* v_reuseFailAlloc_4185_; 
v_reuseFailAlloc_4185_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4185_, 0, v_declName_4181_);
lean_ctor_set(v_reuseFailAlloc_4185_, 1, v_snd_4177_);
v___x_4183_ = v_reuseFailAlloc_4185_;
goto v_reusejp_4182_;
}
v_reusejp_4182_:
{
lean_object* v___x_4184_; 
v___x_4184_ = lean_array_push(v_b_4168_, v___x_4183_);
v___y_4170_ = v___x_4184_;
goto v___jp_4169_;
}
}
}
else
{
lean_dec(v_fst_4176_);
lean_dec(v___x_4175_);
v___y_4170_ = v_b_4168_;
goto v___jp_4169_;
}
}
else
{
return v_b_4168_;
}
v___jp_4169_:
{
size_t v___x_4171_; size_t v___x_4172_; 
v___x_4171_ = ((size_t)1ULL);
v___x_4172_ = lean_usize_add(v_i_4166_, v___x_4171_);
v_i_4166_ = v___x_4172_;
v_b_4168_ = v___y_4170_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3_spec__5___boxed(lean_object* v_as_4188_, lean_object* v_i_4189_, lean_object* v_stop_4190_, lean_object* v_b_4191_){
_start:
{
size_t v_i_boxed_4192_; size_t v_stop_boxed_4193_; lean_object* v_res_4194_; 
v_i_boxed_4192_ = lean_unbox_usize(v_i_4189_);
lean_dec(v_i_4189_);
v_stop_boxed_4193_ = lean_unbox_usize(v_stop_4190_);
lean_dec(v_stop_4190_);
v_res_4194_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3_spec__5(v_as_4188_, v_i_boxed_4192_, v_stop_boxed_4193_, v_b_4191_);
lean_dec_ref(v_as_4188_);
return v_res_4194_;
}
}
LEAN_EXPORT lean_object* l_Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3(lean_object* v_as_4197_, lean_object* v_start_4198_, lean_object* v_stop_4199_){
_start:
{
lean_object* v___x_4200_; uint8_t v___x_4201_; 
v___x_4200_ = ((lean_object*)(l_Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3___closed__0));
v___x_4201_ = lean_nat_dec_lt(v_start_4198_, v_stop_4199_);
if (v___x_4201_ == 0)
{
return v___x_4200_;
}
else
{
lean_object* v___x_4202_; uint8_t v___x_4203_; 
v___x_4202_ = lean_array_get_size(v_as_4197_);
v___x_4203_ = lean_nat_dec_le(v_stop_4199_, v___x_4202_);
if (v___x_4203_ == 0)
{
uint8_t v___x_4204_; 
v___x_4204_ = lean_nat_dec_lt(v_start_4198_, v___x_4202_);
if (v___x_4204_ == 0)
{
return v___x_4200_;
}
else
{
size_t v___x_4205_; size_t v___x_4206_; lean_object* v___x_4207_; 
v___x_4205_ = lean_usize_of_nat(v_start_4198_);
v___x_4206_ = lean_usize_of_nat(v___x_4202_);
v___x_4207_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3_spec__5(v_as_4197_, v___x_4205_, v___x_4206_, v___x_4200_);
return v___x_4207_;
}
}
else
{
size_t v___x_4208_; size_t v___x_4209_; lean_object* v___x_4210_; 
v___x_4208_ = lean_usize_of_nat(v_start_4198_);
v___x_4209_ = lean_usize_of_nat(v_stop_4199_);
v___x_4210_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3_spec__5(v_as_4197_, v___x_4208_, v___x_4209_, v___x_4200_);
return v___x_4210_;
}
}
}
}
LEAN_EXPORT lean_object* l_Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3___boxed(lean_object* v_as_4211_, lean_object* v_start_4212_, lean_object* v_stop_4213_){
_start:
{
lean_object* v_res_4214_; 
v_res_4214_ = l_Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3(v_as_4211_, v_start_4212_, v_stop_4213_);
lean_dec(v_stop_4213_);
lean_dec(v_start_4212_);
lean_dec_ref(v_as_4211_);
return v_res_4214_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__4(lean_object* v_as_4215_, size_t v_i_4216_, size_t v_stop_4217_, lean_object* v_b_4218_){
_start:
{
lean_object* v___y_4220_; uint8_t v___x_4224_; 
v___x_4224_ = lean_usize_dec_eq(v_i_4216_, v_stop_4217_);
if (v___x_4224_ == 0)
{
lean_object* v___x_4225_; lean_object* v_numCases_4226_; lean_object* v___x_4227_; uint8_t v___x_4228_; 
v___x_4225_ = lean_array_uget_borrowed(v_as_4215_, v_i_4216_);
v_numCases_4226_ = lean_ctor_get(v___x_4225_, 3);
v___x_4227_ = lean_unsigned_to_nat(1u);
v___x_4228_ = lean_nat_dec_lt(v___x_4227_, v_numCases_4226_);
if (v___x_4228_ == 0)
{
v___y_4220_ = v_b_4218_;
goto v___jp_4219_;
}
else
{
lean_object* v___x_4229_; 
lean_inc(v___x_4225_);
v___x_4229_ = lean_array_push(v_b_4218_, v___x_4225_);
v___y_4220_ = v___x_4229_;
goto v___jp_4219_;
}
}
else
{
return v_b_4218_;
}
v___jp_4219_:
{
size_t v___x_4221_; size_t v___x_4222_; 
v___x_4221_ = ((size_t)1ULL);
v___x_4222_ = lean_usize_add(v_i_4216_, v___x_4221_);
v_i_4216_ = v___x_4222_;
v_b_4218_ = v___y_4220_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__4___boxed(lean_object* v_as_4230_, lean_object* v_i_4231_, lean_object* v_stop_4232_, lean_object* v_b_4233_){
_start:
{
size_t v_i_boxed_4234_; size_t v_stop_boxed_4235_; lean_object* v_res_4236_; 
v_i_boxed_4234_ = lean_unbox_usize(v_i_4231_);
lean_dec(v_i_4231_);
v_stop_boxed_4235_ = lean_unbox_usize(v_stop_4232_);
lean_dec(v_stop_4232_);
v_res_4236_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__4(v_as_4230_, v_i_boxed_4234_, v_stop_boxed_4235_, v_b_4233_);
lean_dec_ref(v_as_4230_);
return v_res_4236_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___redArg___lam__0(lean_object* v_f_4237_, lean_object* v_x1_4238_, lean_object* v_x2_4239_, lean_object* v_x3_4240_){
_start:
{
lean_object* v___x_4241_; 
v___x_4241_ = lean_apply_3(v_f_4237_, v_x1_4238_, v_x2_4239_, v_x3_4240_);
return v___x_4241_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11___redArg(lean_object* v_f_4242_, lean_object* v_keys_4243_, lean_object* v_vals_4244_, lean_object* v_i_4245_, lean_object* v_acc_4246_){
_start:
{
lean_object* v___x_4247_; uint8_t v___x_4248_; 
v___x_4247_ = lean_array_get_size(v_keys_4243_);
v___x_4248_ = lean_nat_dec_lt(v_i_4245_, v___x_4247_);
if (v___x_4248_ == 0)
{
lean_dec(v_i_4245_);
lean_dec(v_f_4242_);
return v_acc_4246_;
}
else
{
lean_object* v_k_4249_; lean_object* v_v_4250_; lean_object* v___x_4251_; lean_object* v___x_4252_; lean_object* v___x_4253_; 
v_k_4249_ = lean_array_fget_borrowed(v_keys_4243_, v_i_4245_);
v_v_4250_ = lean_array_fget_borrowed(v_vals_4244_, v_i_4245_);
lean_inc(v_f_4242_);
lean_inc(v_v_4250_);
lean_inc(v_k_4249_);
v___x_4251_ = lean_apply_3(v_f_4242_, v_acc_4246_, v_k_4249_, v_v_4250_);
v___x_4252_ = lean_unsigned_to_nat(1u);
v___x_4253_ = lean_nat_add(v_i_4245_, v___x_4252_);
lean_dec(v_i_4245_);
v_i_4245_ = v___x_4253_;
v_acc_4246_ = v___x_4251_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11___redArg___boxed(lean_object* v_f_4255_, lean_object* v_keys_4256_, lean_object* v_vals_4257_, lean_object* v_i_4258_, lean_object* v_acc_4259_){
_start:
{
lean_object* v_res_4260_; 
v_res_4260_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11___redArg(v_f_4255_, v_keys_4256_, v_vals_4257_, v_i_4258_, v_acc_4259_);
lean_dec_ref(v_vals_4257_);
lean_dec_ref(v_keys_4256_);
return v_res_4260_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg(lean_object* v_f_4261_, lean_object* v_x_4262_, lean_object* v_x_4263_){
_start:
{
if (lean_obj_tag(v_x_4262_) == 0)
{
lean_object* v_es_4264_; lean_object* v___x_4265_; lean_object* v___x_4266_; uint8_t v___x_4267_; 
v_es_4264_ = lean_ctor_get(v_x_4262_, 0);
v___x_4265_ = lean_unsigned_to_nat(0u);
v___x_4266_ = lean_array_get_size(v_es_4264_);
v___x_4267_ = lean_nat_dec_lt(v___x_4265_, v___x_4266_);
if (v___x_4267_ == 0)
{
lean_dec(v_f_4261_);
return v_x_4263_;
}
else
{
uint8_t v___x_4268_; 
v___x_4268_ = lean_nat_dec_le(v___x_4266_, v___x_4266_);
if (v___x_4268_ == 0)
{
if (v___x_4267_ == 0)
{
lean_dec(v_f_4261_);
return v_x_4263_;
}
else
{
size_t v___x_4269_; size_t v___x_4270_; lean_object* v___x_4271_; 
v___x_4269_ = ((size_t)0ULL);
v___x_4270_ = lean_usize_of_nat(v___x_4266_);
v___x_4271_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10___redArg(v_f_4261_, v_es_4264_, v___x_4269_, v___x_4270_, v_x_4263_);
return v___x_4271_;
}
}
else
{
size_t v___x_4272_; size_t v___x_4273_; lean_object* v___x_4274_; 
v___x_4272_ = ((size_t)0ULL);
v___x_4273_ = lean_usize_of_nat(v___x_4266_);
v___x_4274_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10___redArg(v_f_4261_, v_es_4264_, v___x_4272_, v___x_4273_, v_x_4263_);
return v___x_4274_;
}
}
}
else
{
lean_object* v_ks_4275_; lean_object* v_vs_4276_; lean_object* v___x_4277_; lean_object* v___x_4278_; 
v_ks_4275_ = lean_ctor_get(v_x_4262_, 0);
v_vs_4276_ = lean_ctor_get(v_x_4262_, 1);
v___x_4277_ = lean_unsigned_to_nat(0u);
v___x_4278_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11___redArg(v_f_4261_, v_ks_4275_, v_vs_4276_, v___x_4277_, v_x_4263_);
return v___x_4278_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10___redArg(lean_object* v_f_4279_, lean_object* v_as_4280_, size_t v_i_4281_, size_t v_stop_4282_, lean_object* v_b_4283_){
_start:
{
lean_object* v___y_4285_; uint8_t v___x_4289_; 
v___x_4289_ = lean_usize_dec_eq(v_i_4281_, v_stop_4282_);
if (v___x_4289_ == 0)
{
lean_object* v___x_4290_; 
v___x_4290_ = lean_array_uget_borrowed(v_as_4280_, v_i_4281_);
switch(lean_obj_tag(v___x_4290_))
{
case 0:
{
lean_object* v_key_4291_; lean_object* v_val_4292_; lean_object* v___x_4293_; 
v_key_4291_ = lean_ctor_get(v___x_4290_, 0);
v_val_4292_ = lean_ctor_get(v___x_4290_, 1);
lean_inc(v_f_4279_);
lean_inc(v_val_4292_);
lean_inc(v_key_4291_);
v___x_4293_ = lean_apply_3(v_f_4279_, v_b_4283_, v_key_4291_, v_val_4292_);
v___y_4285_ = v___x_4293_;
goto v___jp_4284_;
}
case 1:
{
lean_object* v_node_4294_; lean_object* v___x_4295_; 
v_node_4294_ = lean_ctor_get(v___x_4290_, 0);
lean_inc(v_f_4279_);
v___x_4295_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg(v_f_4279_, v_node_4294_, v_b_4283_);
v___y_4285_ = v___x_4295_;
goto v___jp_4284_;
}
default: 
{
v___y_4285_ = v_b_4283_;
goto v___jp_4284_;
}
}
}
else
{
lean_dec(v_f_4279_);
return v_b_4283_;
}
v___jp_4284_:
{
size_t v___x_4286_; size_t v___x_4287_; 
v___x_4286_ = ((size_t)1ULL);
v___x_4287_ = lean_usize_add(v_i_4281_, v___x_4286_);
v_i_4281_ = v___x_4287_;
v_b_4283_ = v___y_4285_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10___redArg___boxed(lean_object* v_f_4296_, lean_object* v_as_4297_, lean_object* v_i_4298_, lean_object* v_stop_4299_, lean_object* v_b_4300_){
_start:
{
size_t v_i_boxed_4301_; size_t v_stop_boxed_4302_; lean_object* v_res_4303_; 
v_i_boxed_4301_ = lean_unbox_usize(v_i_4298_);
lean_dec(v_i_4298_);
v_stop_boxed_4302_ = lean_unbox_usize(v_stop_4299_);
lean_dec(v_stop_4299_);
v_res_4303_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10___redArg(v_f_4296_, v_as_4297_, v_i_boxed_4301_, v_stop_boxed_4302_, v_b_4300_);
lean_dec_ref(v_as_4297_);
return v_res_4303_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg___boxed(lean_object* v_f_4304_, lean_object* v_x_4305_, lean_object* v_x_4306_){
_start:
{
lean_object* v_res_4307_; 
v_res_4307_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg(v_f_4304_, v_x_4305_, v_x_4306_);
lean_dec_ref(v_x_4305_);
return v_res_4307_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___redArg(lean_object* v_map_4308_, lean_object* v_f_4309_, lean_object* v_init_4310_){
_start:
{
lean_object* v___f_4311_; lean_object* v___x_4312_; 
v___f_4311_ = lean_alloc_closure((void*)(l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___redArg___lam__0), 4, 1);
lean_closure_set(v___f_4311_, 0, v_f_4309_);
v___x_4312_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg(v___f_4311_, v_map_4308_, v_init_4310_);
return v___x_4312_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___redArg___boxed(lean_object* v_map_4313_, lean_object* v_f_4314_, lean_object* v_init_4315_){
_start:
{
lean_object* v_res_4316_; 
v_res_4316_ = l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___redArg(v_map_4313_, v_f_4314_, v_init_4315_);
lean_dec_ref(v_map_4313_);
return v_res_4316_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg___lam__0(lean_object* v_ps_4317_, lean_object* v_k_4318_, lean_object* v_v_4319_){
_start:
{
lean_object* v___x_4320_; lean_object* v___x_4321_; 
v___x_4320_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4320_, 0, v_k_4318_);
lean_ctor_set(v___x_4320_, 1, v_v_4319_);
v___x_4321_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_4321_, 0, v___x_4320_);
lean_ctor_set(v___x_4321_, 1, v_ps_4317_);
return v___x_4321_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg(lean_object* v_m_4323_){
_start:
{
lean_object* v___f_4324_; lean_object* v___x_4325_; lean_object* v___x_4326_; 
v___f_4324_ = ((lean_object*)(l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg___closed__0));
v___x_4325_ = lean_box(0);
v___x_4326_ = l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___redArg(v_m_4323_, v___f_4324_, v___x_4325_);
return v___x_4326_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg___boxed(lean_object* v_m_4327_){
_start:
{
lean_object* v_res_4328_; 
v_res_4328_ = l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg(v_m_4327_);
lean_dec_ref(v_m_4327_);
return v_res_4328_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg___lam__0(lean_object* v_ps_4329_, lean_object* v_k_4330_, lean_object* v_v_4331_){
_start:
{
lean_object* v___x_4332_; lean_object* v___x_4333_; 
v___x_4332_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4332_, 0, v_k_4330_);
lean_ctor_set(v___x_4332_, 1, v_v_4331_);
v___x_4333_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_4333_, 0, v___x_4332_);
lean_ctor_set(v___x_4333_, 1, v_ps_4329_);
return v___x_4333_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3___redArg___lam__0(lean_object* v_f_4334_, lean_object* v_x1_4335_, lean_object* v_x2_4336_, lean_object* v_x3_4337_){
_start:
{
lean_object* v___x_4338_; 
v___x_4338_ = lean_apply_3(v_f_4334_, v_x1_4335_, v_x2_4336_, v_x3_4337_);
return v___x_4338_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3___redArg(lean_object* v_map_4339_, lean_object* v_f_4340_, lean_object* v_init_4341_){
_start:
{
lean_object* v___f_4342_; lean_object* v___x_4343_; 
v___f_4342_ = lean_alloc_closure((void*)(l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3___redArg___lam__0), 4, 1);
lean_closure_set(v___f_4342_, 0, v_f_4340_);
v___x_4343_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg(v___f_4342_, v_map_4339_, v_init_4341_);
return v___x_4343_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3___redArg___boxed(lean_object* v_map_4344_, lean_object* v_f_4345_, lean_object* v_init_4346_){
_start:
{
lean_object* v_res_4347_; 
v_res_4347_ = l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3___redArg(v_map_4344_, v_f_4345_, v_init_4346_);
lean_dec_ref(v_map_4344_);
return v_res_4347_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg(lean_object* v_m_4349_){
_start:
{
lean_object* v___f_4350_; lean_object* v___x_4351_; lean_object* v___x_4352_; 
v___f_4350_ = ((lean_object*)(l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg___closed__0));
v___x_4351_ = lean_box(0);
v___x_4352_ = l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3___redArg(v_m_4349_, v___f_4350_, v___x_4351_);
return v___x_4352_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg___boxed(lean_object* v_m_4353_){
_start:
{
lean_object* v_res_4354_; 
v_res_4354_ = l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg(v_m_4353_);
lean_dec_ref(v_m_4353_);
return v_res_4354_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__5(lean_object* v_as_4355_, size_t v_i_4356_, size_t v_stop_4357_, lean_object* v_b_4358_){
_start:
{
lean_object* v___y_4360_; uint8_t v___x_4364_; 
v___x_4364_ = lean_usize_dec_eq(v_i_4356_, v_stop_4357_);
if (v___x_4364_ == 0)
{
lean_object* v___x_4365_; lean_object* v_fst_4366_; uint8_t v___x_4367_; 
v___x_4365_ = lean_array_uget_borrowed(v_as_4355_, v_i_4356_);
v_fst_4366_ = lean_ctor_get(v___x_4365_, 0);
v___x_4367_ = l_Lean_Meta_Grind_isBuiltinEagerCases(v_fst_4366_);
if (v___x_4367_ == 0)
{
lean_object* v___x_4368_; 
lean_inc(v___x_4365_);
v___x_4368_ = lean_array_push(v_b_4358_, v___x_4365_);
v___y_4360_ = v___x_4368_;
goto v___jp_4359_;
}
else
{
v___y_4360_ = v_b_4358_;
goto v___jp_4359_;
}
}
else
{
return v_b_4358_;
}
v___jp_4359_:
{
size_t v___x_4361_; size_t v___x_4362_; 
v___x_4361_ = ((size_t)1ULL);
v___x_4362_ = lean_usize_add(v_i_4356_, v___x_4361_);
v_i_4356_ = v___x_4362_;
v_b_4358_ = v___y_4360_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__5___boxed(lean_object* v_as_4369_, lean_object* v_i_4370_, lean_object* v_stop_4371_, lean_object* v_b_4372_){
_start:
{
size_t v_i_boxed_4373_; size_t v_stop_boxed_4374_; lean_object* v_res_4375_; 
v_i_boxed_4373_ = lean_unbox_usize(v_i_4370_);
lean_dec(v_i_4370_);
v_stop_boxed_4374_ = lean_unbox_usize(v_stop_4371_);
lean_dec(v_stop_4371_);
v_res_4375_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__5(v_as_4369_, v_i_boxed_4373_, v_stop_boxed_4374_, v_b_4372_);
lean_dec_ref(v_as_4369_);
return v_res_4375_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__2(void){
_start:
{
lean_object* v___x_4379_; uint8_t v___x_4380_; double v___x_4381_; lean_object* v___x_4382_; lean_object* v___x_4383_; lean_object* v___x_4384_; 
v___x_4379_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__1));
v___x_4380_ = 1;
v___x_4381_ = lean_float_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0);
v___x_4382_ = lean_box(0);
v___x_4383_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__1));
v___x_4384_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_4384_, 0, v___x_4383_);
lean_ctor_set(v___x_4384_, 1, v___x_4382_);
lean_ctor_set(v___x_4384_, 2, v___x_4379_);
lean_ctor_set_float(v___x_4384_, sizeof(void*)*3, v___x_4381_);
lean_ctor_set_float(v___x_4384_, sizeof(void*)*3 + 8, v___x_4381_);
lean_ctor_set_uint8(v___x_4384_, sizeof(void*)*3 + 16, v___x_4380_);
return v___x_4384_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__5(void){
_start:
{
lean_object* v___x_4388_; lean_object* v___x_4389_; 
v___x_4388_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__4));
v___x_4389_ = l_Lean_MessageData_ofFormat(v___x_4388_);
return v___x_4389_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__8(void){
_start:
{
lean_object* v___x_4393_; lean_object* v___x_4394_; 
v___x_4393_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__7));
v___x_4394_ = l_Lean_MessageData_ofFormat(v___x_4393_);
return v___x_4394_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag(lean_object* v_cs_4409_, lean_object* v_simp_4410_, lean_object* v_ss_4411_, lean_object* v_a_4412_, lean_object* v_a_4413_, lean_object* v_a_4414_, lean_object* v_a_4415_){
_start:
{
lean_object* v_thm_4417_; lean_object* v_case_4418_; lean_object* v_apps_4419_; lean_object* v___x_4421_; uint8_t v_isShared_4422_; uint8_t v_isSharedCheck_4577_; 
v_thm_4417_ = lean_ctor_get(v_cs_4409_, 0);
v_case_4418_ = lean_ctor_get(v_cs_4409_, 1);
v_apps_4419_ = lean_ctor_get(v_cs_4409_, 2);
v_isSharedCheck_4577_ = !lean_is_exclusive(v_cs_4409_);
if (v_isSharedCheck_4577_ == 0)
{
v___x_4421_ = v_cs_4409_;
v_isShared_4422_ = v_isSharedCheck_4577_;
goto v_resetjp_4420_;
}
else
{
lean_inc(v_apps_4419_);
lean_inc(v_case_4418_);
lean_inc(v_thm_4417_);
lean_dec(v_cs_4409_);
v___x_4421_ = lean_box(0);
v_isShared_4422_ = v_isSharedCheck_4577_;
goto v_resetjp_4420_;
}
v_resetjp_4420_:
{
lean_object* v___x_4423_; lean_object* v___x_4424_; lean_object* v___x_4425_; lean_object* v_msgs_4427_; lean_object* v_msgs_4440_; lean_object* v___y_4441_; lean_object* v___y_4442_; lean_object* v___y_4443_; lean_object* v___y_4444_; lean_object* v_msgs_4463_; lean_object* v___y_4464_; lean_object* v___y_4465_; lean_object* v___y_4466_; lean_object* v___y_4467_; lean_object* v___y_4485_; lean_object* v_msgs_4486_; lean_object* v___y_4487_; lean_object* v___y_4488_; lean_object* v___y_4489_; lean_object* v___y_4490_; lean_object* v___y_4507_; lean_object* v___y_4508_; lean_object* v___y_4509_; lean_object* v___y_4510_; lean_object* v___y_4511_; lean_object* v___y_4512_; lean_object* v___y_4513_; lean_object* v___y_4528_; lean_object* v_msgs_4529_; lean_object* v___y_4530_; lean_object* v___y_4531_; lean_object* v___y_4532_; lean_object* v___y_4533_; lean_object* v___x_4545_; lean_object* v_thms_4546_; lean_object* v___y_4548_; lean_object* v___x_4565_; lean_object* v___x_4566_; lean_object* v___x_4567_; lean_object* v___x_4568_; uint8_t v___x_4569_; 
v___x_4423_ = l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg(v_thm_4417_);
lean_dec_ref(v_thm_4417_);
v___x_4424_ = lean_array_mk(v___x_4423_);
v___x_4425_ = lean_unsigned_to_nat(0u);
v___x_4545_ = lean_array_get_size(v___x_4424_);
v_thms_4546_ = l_Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3(v___x_4424_, v___x_4425_, v___x_4545_);
lean_dec_ref(v___x_4424_);
v___x_4565_ = l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg(v_case_4418_);
lean_dec_ref(v_case_4418_);
v___x_4566_ = lean_array_mk(v___x_4565_);
v___x_4567_ = lean_array_get_size(v___x_4566_);
v___x_4568_ = ((lean_object*)(l_Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3___closed__0));
v___x_4569_ = lean_nat_dec_lt(v___x_4425_, v___x_4567_);
if (v___x_4569_ == 0)
{
lean_dec_ref(v___x_4566_);
v___y_4548_ = v___x_4568_;
goto v___jp_4547_;
}
else
{
uint8_t v___x_4570_; 
v___x_4570_ = lean_nat_dec_le(v___x_4567_, v___x_4567_);
if (v___x_4570_ == 0)
{
if (v___x_4569_ == 0)
{
lean_dec_ref(v___x_4566_);
v___y_4548_ = v___x_4568_;
goto v___jp_4547_;
}
else
{
size_t v___x_4571_; size_t v___x_4572_; lean_object* v___x_4573_; 
v___x_4571_ = ((size_t)0ULL);
v___x_4572_ = lean_usize_of_nat(v___x_4567_);
v___x_4573_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__5(v___x_4566_, v___x_4571_, v___x_4572_, v___x_4568_);
lean_dec_ref(v___x_4566_);
v___y_4548_ = v___x_4573_;
goto v___jp_4547_;
}
}
else
{
size_t v___x_4574_; size_t v___x_4575_; lean_object* v___x_4576_; 
v___x_4574_ = ((size_t)0ULL);
v___x_4575_ = lean_usize_of_nat(v___x_4567_);
v___x_4576_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__5(v___x_4566_, v___x_4574_, v___x_4575_, v___x_4568_);
lean_dec_ref(v___x_4566_);
v___y_4548_ = v___x_4576_;
goto v___jp_4547_;
}
}
v___jp_4426_:
{
lean_object* v___x_4428_; uint8_t v___x_4429_; 
v___x_4428_ = lean_array_get_size(v_msgs_4427_);
v___x_4429_ = lean_nat_dec_eq(v___x_4428_, v___x_4425_);
if (v___x_4429_ == 0)
{
lean_object* v___x_4430_; lean_object* v___x_4431_; lean_object* v___x_4433_; 
v___x_4430_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__2, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__2_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__2);
v___x_4431_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__5, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__5_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__5);
if (v_isShared_4422_ == 0)
{
lean_ctor_set_tag(v___x_4421_, 9);
lean_ctor_set(v___x_4421_, 2, v_msgs_4427_);
lean_ctor_set(v___x_4421_, 1, v___x_4431_);
lean_ctor_set(v___x_4421_, 0, v___x_4430_);
v___x_4433_ = v___x_4421_;
goto v_reusejp_4432_;
}
else
{
lean_object* v_reuseFailAlloc_4436_; 
v_reuseFailAlloc_4436_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v_reuseFailAlloc_4436_, 0, v___x_4430_);
lean_ctor_set(v_reuseFailAlloc_4436_, 1, v___x_4431_);
lean_ctor_set(v_reuseFailAlloc_4436_, 2, v_msgs_4427_);
v___x_4433_ = v_reuseFailAlloc_4436_;
goto v_reusejp_4432_;
}
v_reusejp_4432_:
{
lean_object* v___x_4434_; lean_object* v___x_4435_; 
v___x_4434_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_4434_, 0, v___x_4433_);
v___x_4435_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4435_, 0, v___x_4434_);
return v___x_4435_;
}
}
else
{
lean_object* v___x_4437_; lean_object* v___x_4438_; 
lean_dec_ref(v_msgs_4427_);
lean_del_object(v___x_4421_);
v___x_4437_ = lean_box(0);
v___x_4438_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4438_, 0, v___x_4437_);
return v___x_4438_;
}
}
v___jp_4439_:
{
lean_object* v_diag_4445_; lean_object* v___x_4446_; 
v_diag_4445_ = lean_ctor_get(v_simp_4410_, 1);
lean_inc_ref(v_diag_4445_);
lean_dec_ref(v_simp_4410_);
v___x_4446_ = l_Lean_Meta_Simp_mkDiagMessages(v_diag_4445_, v___y_4441_, v___y_4442_, v___y_4443_, v___y_4444_);
if (lean_obj_tag(v___x_4446_) == 0)
{
lean_object* v_a_4447_; lean_object* v___x_4448_; uint8_t v___x_4449_; 
v_a_4447_ = lean_ctor_get(v___x_4446_, 0);
lean_inc(v_a_4447_);
lean_dec_ref(v___x_4446_);
v___x_4448_ = lean_array_get_size(v_a_4447_);
v___x_4449_ = lean_nat_dec_eq(v___x_4448_, v___x_4425_);
if (v___x_4449_ == 0)
{
lean_object* v___x_4450_; lean_object* v___x_4451_; lean_object* v___x_4452_; lean_object* v___x_4453_; 
v___x_4450_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__2, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__2_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__2);
v___x_4451_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__8, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__8_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__8);
v___x_4452_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_4452_, 0, v___x_4450_);
lean_ctor_set(v___x_4452_, 1, v___x_4451_);
lean_ctor_set(v___x_4452_, 2, v_a_4447_);
v___x_4453_ = lean_array_push(v_msgs_4440_, v___x_4452_);
v_msgs_4427_ = v___x_4453_;
goto v___jp_4426_;
}
else
{
lean_dec(v_a_4447_);
v_msgs_4427_ = v_msgs_4440_;
goto v___jp_4426_;
}
}
else
{
lean_object* v_a_4454_; lean_object* v___x_4456_; uint8_t v_isShared_4457_; uint8_t v_isSharedCheck_4461_; 
lean_dec_ref(v_msgs_4440_);
lean_del_object(v___x_4421_);
v_a_4454_ = lean_ctor_get(v___x_4446_, 0);
v_isSharedCheck_4461_ = !lean_is_exclusive(v___x_4446_);
if (v_isSharedCheck_4461_ == 0)
{
v___x_4456_ = v___x_4446_;
v_isShared_4457_ = v_isSharedCheck_4461_;
goto v_resetjp_4455_;
}
else
{
lean_inc(v_a_4454_);
lean_dec(v___x_4446_);
v___x_4456_ = lean_box(0);
v_isShared_4457_ = v_isSharedCheck_4461_;
goto v_resetjp_4455_;
}
v_resetjp_4455_:
{
lean_object* v___x_4459_; 
if (v_isShared_4457_ == 0)
{
v___x_4459_ = v___x_4456_;
goto v_reusejp_4458_;
}
else
{
lean_object* v_reuseFailAlloc_4460_; 
v_reuseFailAlloc_4460_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4460_, 0, v_a_4454_);
v___x_4459_ = v_reuseFailAlloc_4460_;
goto v_reusejp_4458_;
}
v_reusejp_4458_:
{
return v___x_4459_;
}
}
}
}
v___jp_4462_:
{
uint8_t v___x_4468_; 
v___x_4468_ = l_Lean_PersistentHashMap_Node_isEmpty___redArg(v_apps_4419_);
if (v___x_4468_ == 0)
{
lean_object* v___x_4469_; lean_object* v___x_4470_; lean_object* v___x_4471_; lean_object* v___x_4472_; lean_object* v___x_4473_; 
v___x_4469_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__9));
v___x_4470_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__11));
v___x_4471_ = l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg(v_apps_4419_);
lean_dec_ref(v_apps_4419_);
v___x_4472_ = lean_array_mk(v___x_4471_);
lean_inc_ref(v___y_4466_);
v___x_4473_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData(v___x_4469_, v___x_4470_, v___x_4472_, v___y_4464_, v___y_4465_, v___y_4466_, v___y_4467_);
if (lean_obj_tag(v___x_4473_) == 0)
{
lean_object* v_a_4474_; lean_object* v___x_4475_; 
v_a_4474_ = lean_ctor_get(v___x_4473_, 0);
lean_inc(v_a_4474_);
lean_dec_ref(v___x_4473_);
v___x_4475_ = lean_array_push(v_msgs_4463_, v_a_4474_);
v_msgs_4440_ = v___x_4475_;
v___y_4441_ = v___y_4464_;
v___y_4442_ = v___y_4465_;
v___y_4443_ = v___y_4466_;
v___y_4444_ = v___y_4467_;
goto v___jp_4439_;
}
else
{
lean_object* v_a_4476_; lean_object* v___x_4478_; uint8_t v_isShared_4479_; uint8_t v_isSharedCheck_4483_; 
lean_dec_ref(v___y_4466_);
lean_dec_ref(v_msgs_4463_);
lean_del_object(v___x_4421_);
lean_dec_ref(v_simp_4410_);
v_a_4476_ = lean_ctor_get(v___x_4473_, 0);
v_isSharedCheck_4483_ = !lean_is_exclusive(v___x_4473_);
if (v_isSharedCheck_4483_ == 0)
{
v___x_4478_ = v___x_4473_;
v_isShared_4479_ = v_isSharedCheck_4483_;
goto v_resetjp_4477_;
}
else
{
lean_inc(v_a_4476_);
lean_dec(v___x_4473_);
v___x_4478_ = lean_box(0);
v_isShared_4479_ = v_isSharedCheck_4483_;
goto v_resetjp_4477_;
}
v_resetjp_4477_:
{
lean_object* v___x_4481_; 
if (v_isShared_4479_ == 0)
{
v___x_4481_ = v___x_4478_;
goto v_reusejp_4480_;
}
else
{
lean_object* v_reuseFailAlloc_4482_; 
v_reuseFailAlloc_4482_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4482_, 0, v_a_4476_);
v___x_4481_ = v_reuseFailAlloc_4482_;
goto v_reusejp_4480_;
}
v_reusejp_4480_:
{
return v___x_4481_;
}
}
}
}
else
{
lean_dec_ref(v_apps_4419_);
v_msgs_4440_ = v_msgs_4463_;
v___y_4441_ = v___y_4464_;
v___y_4442_ = v___y_4465_;
v___y_4443_ = v___y_4466_;
v___y_4444_ = v___y_4467_;
goto v___jp_4439_;
}
}
v___jp_4484_:
{
lean_object* v___x_4491_; uint8_t v___x_4492_; 
v___x_4491_ = lean_array_get_size(v___y_4485_);
v___x_4492_ = lean_nat_dec_eq(v___x_4491_, v___x_4425_);
if (v___x_4492_ == 0)
{
lean_object* v___x_4493_; lean_object* v___x_4494_; lean_object* v___x_4495_; 
v___x_4493_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__12));
v___x_4494_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__14));
lean_inc_ref(v___y_4489_);
v___x_4495_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData(v___x_4493_, v___x_4494_, v___y_4485_, v___y_4487_, v___y_4488_, v___y_4489_, v___y_4490_);
if (lean_obj_tag(v___x_4495_) == 0)
{
lean_object* v_a_4496_; lean_object* v___x_4497_; 
v_a_4496_ = lean_ctor_get(v___x_4495_, 0);
lean_inc(v_a_4496_);
lean_dec_ref(v___x_4495_);
v___x_4497_ = lean_array_push(v_msgs_4486_, v_a_4496_);
v_msgs_4463_ = v___x_4497_;
v___y_4464_ = v___y_4487_;
v___y_4465_ = v___y_4488_;
v___y_4466_ = v___y_4489_;
v___y_4467_ = v___y_4490_;
goto v___jp_4462_;
}
else
{
lean_object* v_a_4498_; lean_object* v___x_4500_; uint8_t v_isShared_4501_; uint8_t v_isSharedCheck_4505_; 
lean_dec_ref(v___y_4489_);
lean_dec_ref(v_msgs_4486_);
lean_del_object(v___x_4421_);
lean_dec_ref(v_apps_4419_);
lean_dec_ref(v_simp_4410_);
v_a_4498_ = lean_ctor_get(v___x_4495_, 0);
v_isSharedCheck_4505_ = !lean_is_exclusive(v___x_4495_);
if (v_isSharedCheck_4505_ == 0)
{
v___x_4500_ = v___x_4495_;
v_isShared_4501_ = v_isSharedCheck_4505_;
goto v_resetjp_4499_;
}
else
{
lean_inc(v_a_4498_);
lean_dec(v___x_4495_);
v___x_4500_ = lean_box(0);
v_isShared_4501_ = v_isSharedCheck_4505_;
goto v_resetjp_4499_;
}
v_resetjp_4499_:
{
lean_object* v___x_4503_; 
if (v_isShared_4501_ == 0)
{
v___x_4503_ = v___x_4500_;
goto v_reusejp_4502_;
}
else
{
lean_object* v_reuseFailAlloc_4504_; 
v_reuseFailAlloc_4504_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4504_, 0, v_a_4498_);
v___x_4503_ = v_reuseFailAlloc_4504_;
goto v_reusejp_4502_;
}
v_reusejp_4502_:
{
return v___x_4503_;
}
}
}
}
else
{
lean_dec_ref(v___y_4485_);
v_msgs_4463_ = v_msgs_4486_;
v___y_4464_ = v___y_4487_;
v___y_4465_ = v___y_4488_;
v___y_4466_ = v___y_4489_;
v___y_4467_ = v___y_4490_;
goto v___jp_4462_;
}
}
v___jp_4506_:
{
lean_object* v___x_4514_; uint8_t v___x_4515_; 
v___x_4514_ = lean_array_get_size(v___y_4513_);
v___x_4515_ = lean_nat_dec_eq(v___x_4514_, v___x_4425_);
if (v___x_4515_ == 0)
{
lean_object* v___x_4516_; 
lean_inc_ref(v___y_4507_);
v___x_4516_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_splitDiagInfoToMessageData(v___y_4513_, v___y_4512_, v___y_4509_, v___y_4507_, v___y_4511_);
if (lean_obj_tag(v___x_4516_) == 0)
{
lean_object* v_a_4517_; lean_object* v___x_4518_; 
v_a_4517_ = lean_ctor_get(v___x_4516_, 0);
lean_inc(v_a_4517_);
lean_dec_ref(v___x_4516_);
v___x_4518_ = lean_array_push(v___y_4508_, v_a_4517_);
v___y_4485_ = v___y_4510_;
v_msgs_4486_ = v___x_4518_;
v___y_4487_ = v___y_4512_;
v___y_4488_ = v___y_4509_;
v___y_4489_ = v___y_4507_;
v___y_4490_ = v___y_4511_;
goto v___jp_4484_;
}
else
{
lean_object* v_a_4519_; lean_object* v___x_4521_; uint8_t v_isShared_4522_; uint8_t v_isSharedCheck_4526_; 
lean_dec_ref(v___y_4510_);
lean_dec_ref(v___y_4508_);
lean_dec_ref(v___y_4507_);
lean_del_object(v___x_4421_);
lean_dec_ref(v_apps_4419_);
lean_dec_ref(v_simp_4410_);
v_a_4519_ = lean_ctor_get(v___x_4516_, 0);
v_isSharedCheck_4526_ = !lean_is_exclusive(v___x_4516_);
if (v_isSharedCheck_4526_ == 0)
{
v___x_4521_ = v___x_4516_;
v_isShared_4522_ = v_isSharedCheck_4526_;
goto v_resetjp_4520_;
}
else
{
lean_inc(v_a_4519_);
lean_dec(v___x_4516_);
v___x_4521_ = lean_box(0);
v_isShared_4522_ = v_isSharedCheck_4526_;
goto v_resetjp_4520_;
}
v_resetjp_4520_:
{
lean_object* v___x_4524_; 
if (v_isShared_4522_ == 0)
{
v___x_4524_ = v___x_4521_;
goto v_reusejp_4523_;
}
else
{
lean_object* v_reuseFailAlloc_4525_; 
v_reuseFailAlloc_4525_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4525_, 0, v_a_4519_);
v___x_4524_ = v_reuseFailAlloc_4525_;
goto v_reusejp_4523_;
}
v_reusejp_4523_:
{
return v___x_4524_;
}
}
}
}
else
{
lean_dec_ref(v___y_4513_);
v___y_4485_ = v___y_4510_;
v_msgs_4486_ = v___y_4508_;
v___y_4487_ = v___y_4512_;
v___y_4488_ = v___y_4509_;
v___y_4489_ = v___y_4507_;
v___y_4490_ = v___y_4511_;
goto v___jp_4484_;
}
}
v___jp_4527_:
{
lean_object* v___x_4534_; lean_object* v___x_4535_; lean_object* v___x_4536_; uint8_t v___x_4537_; 
v___x_4534_ = l_Lean_PersistentArray_toArray___redArg(v_ss_4411_);
v___x_4535_ = lean_array_get_size(v___x_4534_);
v___x_4536_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__15));
v___x_4537_ = lean_nat_dec_lt(v___x_4425_, v___x_4535_);
if (v___x_4537_ == 0)
{
lean_dec_ref(v___x_4534_);
v___y_4507_ = v___y_4532_;
v___y_4508_ = v_msgs_4529_;
v___y_4509_ = v___y_4531_;
v___y_4510_ = v___y_4528_;
v___y_4511_ = v___y_4533_;
v___y_4512_ = v___y_4530_;
v___y_4513_ = v___x_4536_;
goto v___jp_4506_;
}
else
{
uint8_t v___x_4538_; 
v___x_4538_ = lean_nat_dec_le(v___x_4535_, v___x_4535_);
if (v___x_4538_ == 0)
{
if (v___x_4537_ == 0)
{
lean_dec_ref(v___x_4534_);
v___y_4507_ = v___y_4532_;
v___y_4508_ = v_msgs_4529_;
v___y_4509_ = v___y_4531_;
v___y_4510_ = v___y_4528_;
v___y_4511_ = v___y_4533_;
v___y_4512_ = v___y_4530_;
v___y_4513_ = v___x_4536_;
goto v___jp_4506_;
}
else
{
size_t v___x_4539_; size_t v___x_4540_; lean_object* v___x_4541_; 
v___x_4539_ = ((size_t)0ULL);
v___x_4540_ = lean_usize_of_nat(v___x_4535_);
v___x_4541_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__4(v___x_4534_, v___x_4539_, v___x_4540_, v___x_4536_);
lean_dec_ref(v___x_4534_);
v___y_4507_ = v___y_4532_;
v___y_4508_ = v_msgs_4529_;
v___y_4509_ = v___y_4531_;
v___y_4510_ = v___y_4528_;
v___y_4511_ = v___y_4533_;
v___y_4512_ = v___y_4530_;
v___y_4513_ = v___x_4541_;
goto v___jp_4506_;
}
}
else
{
size_t v___x_4542_; size_t v___x_4543_; lean_object* v___x_4544_; 
v___x_4542_ = ((size_t)0ULL);
v___x_4543_ = lean_usize_of_nat(v___x_4535_);
v___x_4544_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__4(v___x_4534_, v___x_4542_, v___x_4543_, v___x_4536_);
lean_dec_ref(v___x_4534_);
v___y_4507_ = v___y_4532_;
v___y_4508_ = v_msgs_4529_;
v___y_4509_ = v___y_4531_;
v___y_4510_ = v___y_4528_;
v___y_4511_ = v___y_4533_;
v___y_4512_ = v___y_4530_;
v___y_4513_ = v___x_4544_;
goto v___jp_4506_;
}
}
}
v___jp_4547_:
{
lean_object* v_msgs_4549_; lean_object* v___x_4550_; uint8_t v___x_4551_; 
v_msgs_4549_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__4));
v___x_4550_ = lean_array_get_size(v_thms_4546_);
v___x_4551_ = lean_nat_dec_eq(v___x_4550_, v___x_4425_);
if (v___x_4551_ == 0)
{
lean_object* v___x_4552_; lean_object* v___x_4553_; lean_object* v___x_4554_; 
v___x_4552_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__16));
v___x_4553_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__18));
lean_inc_ref(v_a_4414_);
v___x_4554_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData(v___x_4552_, v___x_4553_, v_thms_4546_, v_a_4412_, v_a_4413_, v_a_4414_, v_a_4415_);
if (lean_obj_tag(v___x_4554_) == 0)
{
lean_object* v_a_4555_; lean_object* v___x_4556_; 
v_a_4555_ = lean_ctor_get(v___x_4554_, 0);
lean_inc(v_a_4555_);
lean_dec_ref(v___x_4554_);
v___x_4556_ = lean_array_push(v_msgs_4549_, v_a_4555_);
v___y_4528_ = v___y_4548_;
v_msgs_4529_ = v___x_4556_;
v___y_4530_ = v_a_4412_;
v___y_4531_ = v_a_4413_;
v___y_4532_ = v_a_4414_;
v___y_4533_ = v_a_4415_;
goto v___jp_4527_;
}
else
{
lean_object* v_a_4557_; lean_object* v___x_4559_; uint8_t v_isShared_4560_; uint8_t v_isSharedCheck_4564_; 
lean_dec_ref(v___y_4548_);
lean_del_object(v___x_4421_);
lean_dec_ref(v_apps_4419_);
lean_dec_ref(v_a_4414_);
lean_dec_ref(v_simp_4410_);
v_a_4557_ = lean_ctor_get(v___x_4554_, 0);
v_isSharedCheck_4564_ = !lean_is_exclusive(v___x_4554_);
if (v_isSharedCheck_4564_ == 0)
{
v___x_4559_ = v___x_4554_;
v_isShared_4560_ = v_isSharedCheck_4564_;
goto v_resetjp_4558_;
}
else
{
lean_inc(v_a_4557_);
lean_dec(v___x_4554_);
v___x_4559_ = lean_box(0);
v_isShared_4560_ = v_isSharedCheck_4564_;
goto v_resetjp_4558_;
}
v_resetjp_4558_:
{
lean_object* v___x_4562_; 
if (v_isShared_4560_ == 0)
{
v___x_4562_ = v___x_4559_;
goto v_reusejp_4561_;
}
else
{
lean_object* v_reuseFailAlloc_4563_; 
v_reuseFailAlloc_4563_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4563_, 0, v_a_4557_);
v___x_4562_ = v_reuseFailAlloc_4563_;
goto v_reusejp_4561_;
}
v_reusejp_4561_:
{
return v___x_4562_;
}
}
}
}
else
{
lean_dec_ref(v_thms_4546_);
v___y_4528_ = v___y_4548_;
v_msgs_4529_ = v_msgs_4549_;
v___y_4530_ = v_a_4412_;
v___y_4531_ = v_a_4413_;
v___y_4532_ = v_a_4414_;
v___y_4533_ = v_a_4415_;
goto v___jp_4527_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___boxed(lean_object* v_cs_4578_, lean_object* v_simp_4579_, lean_object* v_ss_4580_, lean_object* v_a_4581_, lean_object* v_a_4582_, lean_object* v_a_4583_, lean_object* v_a_4584_, lean_object* v_a_4585_){
_start:
{
lean_object* v_res_4586_; 
v_res_4586_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag(v_cs_4578_, v_simp_4579_, v_ss_4580_, v_a_4581_, v_a_4582_, v_a_4583_, v_a_4584_);
lean_dec(v_a_4584_);
lean_dec(v_a_4582_);
lean_dec_ref(v_a_4581_);
lean_dec_ref(v_ss_4580_);
return v_res_4586_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0(lean_object* v_00_u03b2_4587_, lean_object* v_m_4588_){
_start:
{
lean_object* v___x_4589_; 
v___x_4589_ = l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___redArg(v_m_4588_);
return v___x_4589_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0___boxed(lean_object* v_00_u03b2_4590_, lean_object* v_m_4591_){
_start:
{
lean_object* v_res_4592_; 
v_res_4592_ = l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0(v_00_u03b2_4590_, v_m_4591_);
lean_dec_ref(v_m_4591_);
return v_res_4592_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2(lean_object* v_00_u03b2_4593_, lean_object* v_m_4594_){
_start:
{
lean_object* v___x_4595_; 
v___x_4595_ = l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___redArg(v_m_4594_);
return v___x_4595_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2___boxed(lean_object* v_00_u03b2_4596_, lean_object* v_m_4597_){
_start:
{
lean_object* v_res_4598_; 
v_res_4598_ = l_Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2(v_00_u03b2_4596_, v_m_4597_);
lean_dec_ref(v_m_4597_);
return v_res_4598_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0(lean_object* v_00_u03c3_4599_, lean_object* v_00_u03b2_4600_, lean_object* v_map_4601_, lean_object* v_f_4602_, lean_object* v_init_4603_){
_start:
{
lean_object* v___x_4604_; 
v___x_4604_ = l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___redArg(v_map_4601_, v_f_4602_, v_init_4603_);
return v___x_4604_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0___boxed(lean_object* v_00_u03c3_4605_, lean_object* v_00_u03b2_4606_, lean_object* v_map_4607_, lean_object* v_f_4608_, lean_object* v_init_4609_){
_start:
{
lean_object* v_res_4610_; 
v_res_4610_ = l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0(v_00_u03c3_4605_, v_00_u03b2_4606_, v_map_4607_, v_f_4608_, v_init_4609_);
lean_dec_ref(v_map_4607_);
return v_res_4610_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3(lean_object* v_00_u03c3_4611_, lean_object* v_00_u03b2_4612_, lean_object* v_map_4613_, lean_object* v_f_4614_, lean_object* v_init_4615_){
_start:
{
lean_object* v___x_4616_; 
v___x_4616_ = l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3___redArg(v_map_4613_, v_f_4614_, v_init_4615_);
return v___x_4616_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3___boxed(lean_object* v_00_u03c3_4617_, lean_object* v_00_u03b2_4618_, lean_object* v_map_4619_, lean_object* v_f_4620_, lean_object* v_init_4621_){
_start:
{
lean_object* v_res_4622_; 
v_res_4622_ = l_Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3(v_00_u03c3_4617_, v_00_u03b2_4618_, v_map_4619_, v_f_4620_, v_init_4621_);
lean_dec_ref(v_map_4619_);
return v_res_4622_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2___redArg(lean_object* v_map_4623_, lean_object* v_f_4624_, lean_object* v_init_4625_){
_start:
{
lean_object* v___x_4626_; 
v___x_4626_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg(v_f_4624_, v_map_4623_, v_init_4625_);
return v___x_4626_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2___redArg___boxed(lean_object* v_map_4627_, lean_object* v_f_4628_, lean_object* v_init_4629_){
_start:
{
lean_object* v_res_4630_; 
v_res_4630_ = l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2___redArg(v_map_4627_, v_f_4628_, v_init_4629_);
lean_dec_ref(v_map_4627_);
return v_res_4630_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2(lean_object* v_00_u03c3_4631_, lean_object* v_00_u03b2_4632_, lean_object* v_map_4633_, lean_object* v_f_4634_, lean_object* v_init_4635_){
_start:
{
lean_object* v___x_4636_; 
v___x_4636_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg(v_f_4634_, v_map_4633_, v_init_4635_);
return v___x_4636_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2___boxed(lean_object* v_00_u03c3_4637_, lean_object* v_00_u03b2_4638_, lean_object* v_map_4639_, lean_object* v_f_4640_, lean_object* v_init_4641_){
_start:
{
lean_object* v_res_4642_; 
v_res_4642_ = l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2(v_00_u03c3_4637_, v_00_u03b2_4638_, v_map_4639_, v_f_4640_, v_init_4641_);
lean_dec_ref(v_map_4639_);
return v_res_4642_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3_spec__5___redArg(lean_object* v_map_4643_, lean_object* v_f_4644_, lean_object* v_init_4645_){
_start:
{
lean_object* v___x_4646_; 
v___x_4646_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg(v_f_4644_, v_map_4643_, v_init_4645_);
return v___x_4646_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3_spec__5___redArg___boxed(lean_object* v_map_4647_, lean_object* v_f_4648_, lean_object* v_init_4649_){
_start:
{
lean_object* v_res_4650_; 
v_res_4650_ = l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3_spec__5___redArg(v_map_4647_, v_f_4648_, v_init_4649_);
lean_dec_ref(v_map_4647_);
return v_res_4650_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3_spec__5(lean_object* v_00_u03c3_4651_, lean_object* v_00_u03b2_4652_, lean_object* v_map_4653_, lean_object* v_f_4654_, lean_object* v_init_4655_){
_start:
{
lean_object* v___x_4656_; 
v___x_4656_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg(v_f_4654_, v_map_4653_, v_init_4655_);
return v___x_4656_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3_spec__5___boxed(lean_object* v_00_u03c3_4657_, lean_object* v_00_u03b2_4658_, lean_object* v_map_4659_, lean_object* v_f_4660_, lean_object* v_init_4661_){
_start:
{
lean_object* v_res_4662_; 
v_res_4662_ = l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__2_spec__3_spec__5(v_00_u03c3_4657_, v_00_u03b2_4658_, v_map_4659_, v_f_4660_, v_init_4661_);
lean_dec_ref(v_map_4659_);
return v_res_4662_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7(lean_object* v_00_u03c3_4663_, lean_object* v_00_u03b1_4664_, lean_object* v_00_u03b2_4665_, lean_object* v_f_4666_, lean_object* v_x_4667_, lean_object* v_x_4668_){
_start:
{
lean_object* v___x_4669_; 
v___x_4669_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___redArg(v_f_4666_, v_x_4667_, v_x_4668_);
return v___x_4669_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7___boxed(lean_object* v_00_u03c3_4670_, lean_object* v_00_u03b1_4671_, lean_object* v_00_u03b2_4672_, lean_object* v_f_4673_, lean_object* v_x_4674_, lean_object* v_x_4675_){
_start:
{
lean_object* v_res_4676_; 
v_res_4676_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7(v_00_u03c3_4670_, v_00_u03b1_4671_, v_00_u03b2_4672_, v_f_4673_, v_x_4674_, v_x_4675_);
lean_dec_ref(v_x_4674_);
return v_res_4676_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10(lean_object* v_00_u03b1_4677_, lean_object* v_00_u03b2_4678_, lean_object* v_00_u03c3_4679_, lean_object* v_f_4680_, lean_object* v_as_4681_, size_t v_i_4682_, size_t v_stop_4683_, lean_object* v_b_4684_){
_start:
{
lean_object* v___x_4685_; 
v___x_4685_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10___redArg(v_f_4680_, v_as_4681_, v_i_4682_, v_stop_4683_, v_b_4684_);
return v___x_4685_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10___boxed(lean_object* v_00_u03b1_4686_, lean_object* v_00_u03b2_4687_, lean_object* v_00_u03c3_4688_, lean_object* v_f_4689_, lean_object* v_as_4690_, lean_object* v_i_4691_, lean_object* v_stop_4692_, lean_object* v_b_4693_){
_start:
{
size_t v_i_boxed_4694_; size_t v_stop_boxed_4695_; lean_object* v_res_4696_; 
v_i_boxed_4694_ = lean_unbox_usize(v_i_4691_);
lean_dec(v_i_4691_);
v_stop_boxed_4695_ = lean_unbox_usize(v_stop_4692_);
lean_dec(v_stop_4692_);
v_res_4696_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__10(v_00_u03b1_4686_, v_00_u03b2_4687_, v_00_u03c3_4688_, v_f_4689_, v_as_4690_, v_i_boxed_4694_, v_stop_boxed_4695_, v_b_4693_);
lean_dec_ref(v_as_4690_);
return v_res_4696_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11(lean_object* v_00_u03c3_4697_, lean_object* v_00_u03b1_4698_, lean_object* v_00_u03b2_4699_, lean_object* v_f_4700_, lean_object* v_keys_4701_, lean_object* v_vals_4702_, lean_object* v_heq_4703_, lean_object* v_i_4704_, lean_object* v_acc_4705_){
_start:
{
lean_object* v___x_4706_; 
v___x_4706_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11___redArg(v_f_4700_, v_keys_4701_, v_vals_4702_, v_i_4704_, v_acc_4705_);
return v___x_4706_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11___boxed(lean_object* v_00_u03c3_4707_, lean_object* v_00_u03b1_4708_, lean_object* v_00_u03b2_4709_, lean_object* v_f_4710_, lean_object* v_keys_4711_, lean_object* v_vals_4712_, lean_object* v_heq_4713_, lean_object* v_i_4714_, lean_object* v_acc_4715_){
_start:
{
lean_object* v_res_4716_; 
v_res_4716_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_foldl___at___00Lean_PersistentHashMap_toList___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__0_spec__0_spec__2_spec__7_spec__11(v_00_u03c3_4707_, v_00_u03b1_4708_, v_00_u03b2_4709_, v_f_4710_, v_keys_4711_, v_vals_4712_, v_heq_4713_, v_i_4714_, v_acc_4715_);
lean_dec_ref(v_vals_4712_);
lean_dec_ref(v_keys_4711_);
return v_res_4716_;
}
}
LEAN_EXPORT uint8_t l_Lean_Meta_Grind_Result_hasFailed(lean_object* v_r_4717_){
_start:
{
lean_object* v_failure_x3f_4718_; 
v_failure_x3f_4718_ = lean_ctor_get(v_r_4717_, 0);
if (lean_obj_tag(v_failure_x3f_4718_) == 0)
{
uint8_t v___x_4719_; 
v___x_4719_ = 0;
return v___x_4719_;
}
else
{
uint8_t v___x_4720_; 
v___x_4720_ = 1;
return v___x_4720_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Result_hasFailed___boxed(lean_object* v_r_4721_){
_start:
{
uint8_t v_res_4722_; lean_object* v_r_4723_; 
v_res_4722_ = l_Lean_Meta_Grind_Result_hasFailed(v_r_4721_);
lean_dec_ref(v_r_4721_);
v_r_4723_ = lean_box(v_res_4722_);
return v_r_4723_;
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00Lean_Meta_Grind_Result_toMessageData_spec__0(lean_object* v_result_4724_, lean_object* v_x_4725_, lean_object* v_x_4726_, lean_object* v___y_4727_, lean_object* v___y_4728_, lean_object* v___y_4729_, lean_object* v___y_4730_){
_start:
{
if (lean_obj_tag(v_x_4725_) == 0)
{
lean_object* v___x_4732_; lean_object* v___x_4733_; 
lean_dec(v___y_4730_);
lean_dec_ref(v___y_4729_);
lean_dec(v___y_4728_);
lean_dec_ref(v___y_4727_);
lean_dec_ref(v_result_4724_);
v___x_4732_ = l_List_reverse___redArg(v_x_4726_);
v___x_4733_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4733_, 0, v___x_4732_);
return v___x_4733_;
}
else
{
lean_object* v_head_4734_; lean_object* v_tail_4735_; lean_object* v___x_4737_; uint8_t v_isShared_4738_; uint8_t v_isSharedCheck_4754_; 
v_head_4734_ = lean_ctor_get(v_x_4725_, 0);
v_tail_4735_ = lean_ctor_get(v_x_4725_, 1);
v_isSharedCheck_4754_ = !lean_is_exclusive(v_x_4725_);
if (v_isSharedCheck_4754_ == 0)
{
v___x_4737_ = v_x_4725_;
v_isShared_4738_ = v_isSharedCheck_4754_;
goto v_resetjp_4736_;
}
else
{
lean_inc(v_tail_4735_);
lean_inc(v_head_4734_);
lean_dec(v_x_4725_);
v___x_4737_ = lean_box(0);
v_isShared_4738_ = v_isSharedCheck_4754_;
goto v_resetjp_4736_;
}
v_resetjp_4736_:
{
lean_object* v_config_4739_; lean_object* v___x_4740_; 
v_config_4739_ = lean_ctor_get(v_result_4724_, 2);
lean_inc(v___y_4730_);
lean_inc_ref(v___y_4729_);
lean_inc(v___y_4728_);
lean_inc_ref(v___y_4727_);
lean_inc_ref(v_config_4739_);
v___x_4740_ = l_Lean_Meta_Grind_goalToMessageData(v_head_4734_, v_config_4739_, v___y_4727_, v___y_4728_, v___y_4729_, v___y_4730_);
if (lean_obj_tag(v___x_4740_) == 0)
{
lean_object* v_a_4741_; lean_object* v___x_4743_; 
v_a_4741_ = lean_ctor_get(v___x_4740_, 0);
lean_inc(v_a_4741_);
lean_dec_ref(v___x_4740_);
if (v_isShared_4738_ == 0)
{
lean_ctor_set(v___x_4737_, 1, v_x_4726_);
lean_ctor_set(v___x_4737_, 0, v_a_4741_);
v___x_4743_ = v___x_4737_;
goto v_reusejp_4742_;
}
else
{
lean_object* v_reuseFailAlloc_4745_; 
v_reuseFailAlloc_4745_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4745_, 0, v_a_4741_);
lean_ctor_set(v_reuseFailAlloc_4745_, 1, v_x_4726_);
v___x_4743_ = v_reuseFailAlloc_4745_;
goto v_reusejp_4742_;
}
v_reusejp_4742_:
{
v_x_4725_ = v_tail_4735_;
v_x_4726_ = v___x_4743_;
goto _start;
}
}
else
{
lean_object* v_a_4746_; lean_object* v___x_4748_; uint8_t v_isShared_4749_; uint8_t v_isSharedCheck_4753_; 
lean_del_object(v___x_4737_);
lean_dec(v_tail_4735_);
lean_dec(v___y_4730_);
lean_dec_ref(v___y_4729_);
lean_dec(v___y_4728_);
lean_dec_ref(v___y_4727_);
lean_dec(v_x_4726_);
lean_dec_ref(v_result_4724_);
v_a_4746_ = lean_ctor_get(v___x_4740_, 0);
v_isSharedCheck_4753_ = !lean_is_exclusive(v___x_4740_);
if (v_isSharedCheck_4753_ == 0)
{
v___x_4748_ = v___x_4740_;
v_isShared_4749_ = v_isSharedCheck_4753_;
goto v_resetjp_4747_;
}
else
{
lean_inc(v_a_4746_);
lean_dec(v___x_4740_);
v___x_4748_ = lean_box(0);
v_isShared_4749_ = v_isSharedCheck_4753_;
goto v_resetjp_4747_;
}
v_resetjp_4747_:
{
lean_object* v___x_4751_; 
if (v_isShared_4749_ == 0)
{
v___x_4751_ = v___x_4748_;
goto v_reusejp_4750_;
}
else
{
lean_object* v_reuseFailAlloc_4752_; 
v_reuseFailAlloc_4752_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4752_, 0, v_a_4746_);
v___x_4751_ = v_reuseFailAlloc_4752_;
goto v_reusejp_4750_;
}
v_reusejp_4750_:
{
return v___x_4751_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_List_mapM_loop___at___00Lean_Meta_Grind_Result_toMessageData_spec__0___boxed(lean_object* v_result_4755_, lean_object* v_x_4756_, lean_object* v_x_4757_, lean_object* v___y_4758_, lean_object* v___y_4759_, lean_object* v___y_4760_, lean_object* v___y_4761_, lean_object* v___y_4762_){
_start:
{
lean_object* v_res_4763_; 
v_res_4763_ = l_List_mapM_loop___at___00Lean_Meta_Grind_Result_toMessageData_spec__0(v_result_4755_, v_x_4756_, v_x_4757_, v___y_4758_, v___y_4759_, v___y_4760_, v___y_4761_);
return v_res_4763_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Result_toMessageData___closed__1(void){
_start:
{
lean_object* v___x_4765_; lean_object* v___x_4766_; 
v___x_4765_ = ((lean_object*)(l_Lean_Meta_Grind_Result_toMessageData___closed__0));
v___x_4766_ = l_Lean_stringToMessageData(v___x_4765_);
return v___x_4766_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Result_toMessageData___closed__4(void){
_start:
{
lean_object* v___x_4770_; lean_object* v___x_4771_; 
v___x_4770_ = ((lean_object*)(l_Lean_Meta_Grind_Result_toMessageData___closed__3));
v___x_4771_ = l_Lean_MessageData_ofFormat(v___x_4770_);
return v___x_4771_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Result_toMessageData(lean_object* v_result_4772_, lean_object* v_a_4773_, lean_object* v_a_4774_, lean_object* v_a_4775_, lean_object* v_a_4776_){
_start:
{
lean_object* v_msgs_4779_; lean_object* v_failure_x3f_4783_; lean_object* v_issues_4784_; lean_object* v_config_4785_; lean_object* v_counters_4786_; lean_object* v_simp_4787_; lean_object* v_splitDiags_4788_; lean_object* v_msgs_4790_; lean_object* v___y_4791_; lean_object* v___y_4792_; lean_object* v___y_4793_; lean_object* v___y_4794_; lean_object* v___y_4810_; 
v_failure_x3f_4783_ = lean_ctor_get(v_result_4772_, 0);
v_issues_4784_ = lean_ctor_get(v_result_4772_, 1);
lean_inc(v_issues_4784_);
v_config_4785_ = lean_ctor_get(v_result_4772_, 2);
lean_inc_ref(v_config_4785_);
v_counters_4786_ = lean_ctor_get(v_result_4772_, 3);
lean_inc_ref(v_counters_4786_);
v_simp_4787_ = lean_ctor_get(v_result_4772_, 4);
lean_inc_ref(v_simp_4787_);
v_splitDiags_4788_ = lean_ctor_get(v_result_4772_, 5);
lean_inc_ref(v_splitDiags_4788_);
if (lean_obj_tag(v_failure_x3f_4783_) == 0)
{
lean_object* v___x_4836_; 
v___x_4836_ = lean_box(0);
v___y_4810_ = v___x_4836_;
goto v___jp_4809_;
}
else
{
lean_object* v_val_4837_; lean_object* v___x_4838_; lean_object* v___x_4839_; 
v_val_4837_ = lean_ctor_get(v_failure_x3f_4783_, 0);
v___x_4838_ = lean_box(0);
lean_inc(v_val_4837_);
v___x_4839_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_4839_, 0, v_val_4837_);
lean_ctor_set(v___x_4839_, 1, v___x_4838_);
v___y_4810_ = v___x_4839_;
goto v___jp_4809_;
}
v___jp_4778_:
{
lean_object* v___x_4780_; lean_object* v___x_4781_; lean_object* v___x_4782_; 
v___x_4780_ = lean_obj_once(&l_Lean_Meta_Grind_Result_toMessageData___closed__1, &l_Lean_Meta_Grind_Result_toMessageData___closed__1_once, _init_l_Lean_Meta_Grind_Result_toMessageData___closed__1);
v___x_4781_ = l_Lean_MessageData_joinSep(v_msgs_4779_, v___x_4780_);
v___x_4782_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_4782_, 0, v___x_4781_);
return v___x_4782_;
}
v___jp_4789_:
{
lean_object* v___x_4795_; 
v___x_4795_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag(v_counters_4786_, v_simp_4787_, v_splitDiags_4788_, v___y_4791_, v___y_4792_, v___y_4793_, v___y_4794_);
lean_dec(v___y_4794_);
lean_dec(v___y_4792_);
lean_dec_ref(v___y_4791_);
lean_dec_ref(v_splitDiags_4788_);
if (lean_obj_tag(v___x_4795_) == 0)
{
lean_object* v_a_4796_; 
v_a_4796_ = lean_ctor_get(v___x_4795_, 0);
lean_inc(v_a_4796_);
lean_dec_ref(v___x_4795_);
if (lean_obj_tag(v_a_4796_) == 1)
{
lean_object* v_val_4797_; lean_object* v___x_4798_; lean_object* v___x_4799_; lean_object* v___x_4800_; 
v_val_4797_ = lean_ctor_get(v_a_4796_, 0);
lean_inc(v_val_4797_);
lean_dec_ref(v_a_4796_);
v___x_4798_ = lean_box(0);
v___x_4799_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_4799_, 0, v_val_4797_);
lean_ctor_set(v___x_4799_, 1, v___x_4798_);
v___x_4800_ = l_List_appendTR___redArg(v_msgs_4790_, v___x_4799_);
v_msgs_4779_ = v___x_4800_;
goto v___jp_4778_;
}
else
{
lean_dec(v_a_4796_);
v_msgs_4779_ = v_msgs_4790_;
goto v___jp_4778_;
}
}
else
{
lean_object* v_a_4801_; lean_object* v___x_4803_; uint8_t v_isShared_4804_; uint8_t v_isSharedCheck_4808_; 
lean_dec(v_msgs_4790_);
v_a_4801_ = lean_ctor_get(v___x_4795_, 0);
v_isSharedCheck_4808_ = !lean_is_exclusive(v___x_4795_);
if (v_isSharedCheck_4808_ == 0)
{
v___x_4803_ = v___x_4795_;
v_isShared_4804_ = v_isSharedCheck_4808_;
goto v_resetjp_4802_;
}
else
{
lean_inc(v_a_4801_);
lean_dec(v___x_4795_);
v___x_4803_ = lean_box(0);
v_isShared_4804_ = v_isSharedCheck_4808_;
goto v_resetjp_4802_;
}
v_resetjp_4802_:
{
lean_object* v___x_4806_; 
if (v_isShared_4804_ == 0)
{
v___x_4806_ = v___x_4803_;
goto v_reusejp_4805_;
}
else
{
lean_object* v_reuseFailAlloc_4807_; 
v_reuseFailAlloc_4807_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4807_, 0, v_a_4801_);
v___x_4806_ = v_reuseFailAlloc_4807_;
goto v_reusejp_4805_;
}
v_reusejp_4805_:
{
return v___x_4806_;
}
}
}
}
v___jp_4809_:
{
lean_object* v___x_4811_; lean_object* v___x_4812_; 
v___x_4811_ = lean_box(0);
lean_inc(v_a_4776_);
lean_inc_ref(v_a_4775_);
lean_inc(v_a_4774_);
lean_inc_ref(v_a_4773_);
v___x_4812_ = l_List_mapM_loop___at___00Lean_Meta_Grind_Result_toMessageData_spec__0(v_result_4772_, v___y_4810_, v___x_4811_, v_a_4773_, v_a_4774_, v_a_4775_, v_a_4776_);
if (lean_obj_tag(v___x_4812_) == 0)
{
uint8_t v_verbose_4813_; 
v_verbose_4813_ = lean_ctor_get_uint8(v_config_4785_, sizeof(void*)*11 + 15);
lean_dec_ref(v_config_4785_);
if (v_verbose_4813_ == 0)
{
lean_object* v_a_4814_; 
lean_dec_ref(v_splitDiags_4788_);
lean_dec_ref(v_simp_4787_);
lean_dec_ref(v_counters_4786_);
lean_dec(v_issues_4784_);
lean_dec(v_a_4776_);
lean_dec_ref(v_a_4775_);
lean_dec(v_a_4774_);
lean_dec_ref(v_a_4773_);
v_a_4814_ = lean_ctor_get(v___x_4812_, 0);
lean_inc(v_a_4814_);
lean_dec_ref(v___x_4812_);
v_msgs_4779_ = v_a_4814_;
goto v___jp_4778_;
}
else
{
lean_object* v_a_4815_; uint8_t v___x_4816_; 
v_a_4815_ = lean_ctor_get(v___x_4812_, 0);
lean_inc(v_a_4815_);
lean_dec_ref(v___x_4812_);
v___x_4816_ = l_List_isEmpty___redArg(v_issues_4784_);
if (v___x_4816_ == 0)
{
lean_object* v___x_4817_; lean_object* v___x_4818_; double v___x_4819_; lean_object* v___x_4820_; lean_object* v___x_4821_; lean_object* v___x_4822_; lean_object* v___x_4823_; lean_object* v___x_4824_; lean_object* v___x_4825_; lean_object* v___x_4826_; lean_object* v___x_4827_; 
v___x_4817_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__1));
v___x_4818_ = lean_box(0);
v___x_4819_ = lean_float_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0);
v___x_4820_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__1));
v___x_4821_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_4821_, 0, v___x_4817_);
lean_ctor_set(v___x_4821_, 1, v___x_4818_);
lean_ctor_set(v___x_4821_, 2, v___x_4820_);
lean_ctor_set_float(v___x_4821_, sizeof(void*)*3, v___x_4819_);
lean_ctor_set_float(v___x_4821_, sizeof(void*)*3 + 8, v___x_4819_);
lean_ctor_set_uint8(v___x_4821_, sizeof(void*)*3 + 16, v_verbose_4813_);
v___x_4822_ = lean_obj_once(&l_Lean_Meta_Grind_Result_toMessageData___closed__4, &l_Lean_Meta_Grind_Result_toMessageData___closed__4_once, _init_l_Lean_Meta_Grind_Result_toMessageData___closed__4);
v___x_4823_ = l_List_reverse___redArg(v_issues_4784_);
v___x_4824_ = lean_array_mk(v___x_4823_);
v___x_4825_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_4825_, 0, v___x_4821_);
lean_ctor_set(v___x_4825_, 1, v___x_4822_);
lean_ctor_set(v___x_4825_, 2, v___x_4824_);
v___x_4826_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_4826_, 0, v___x_4825_);
lean_ctor_set(v___x_4826_, 1, v___x_4811_);
v___x_4827_ = l_List_appendTR___redArg(v_a_4815_, v___x_4826_);
v_msgs_4790_ = v___x_4827_;
v___y_4791_ = v_a_4773_;
v___y_4792_ = v_a_4774_;
v___y_4793_ = v_a_4775_;
v___y_4794_ = v_a_4776_;
goto v___jp_4789_;
}
else
{
lean_dec(v_issues_4784_);
v_msgs_4790_ = v_a_4815_;
v___y_4791_ = v_a_4773_;
v___y_4792_ = v_a_4774_;
v___y_4793_ = v_a_4775_;
v___y_4794_ = v_a_4776_;
goto v___jp_4789_;
}
}
}
else
{
lean_object* v_a_4828_; lean_object* v___x_4830_; uint8_t v_isShared_4831_; uint8_t v_isSharedCheck_4835_; 
lean_dec_ref(v_splitDiags_4788_);
lean_dec_ref(v_simp_4787_);
lean_dec_ref(v_counters_4786_);
lean_dec_ref(v_config_4785_);
lean_dec(v_issues_4784_);
lean_dec(v_a_4776_);
lean_dec_ref(v_a_4775_);
lean_dec(v_a_4774_);
lean_dec_ref(v_a_4773_);
v_a_4828_ = lean_ctor_get(v___x_4812_, 0);
v_isSharedCheck_4835_ = !lean_is_exclusive(v___x_4812_);
if (v_isSharedCheck_4835_ == 0)
{
v___x_4830_ = v___x_4812_;
v_isShared_4831_ = v_isSharedCheck_4835_;
goto v_resetjp_4829_;
}
else
{
lean_inc(v_a_4828_);
lean_dec(v___x_4812_);
v___x_4830_ = lean_box(0);
v_isShared_4831_ = v_isSharedCheck_4835_;
goto v_resetjp_4829_;
}
v_resetjp_4829_:
{
lean_object* v___x_4833_; 
if (v_isShared_4831_ == 0)
{
v___x_4833_ = v___x_4830_;
goto v_reusejp_4832_;
}
else
{
lean_object* v_reuseFailAlloc_4834_; 
v_reuseFailAlloc_4834_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4834_, 0, v_a_4828_);
v___x_4833_ = v_reuseFailAlloc_4834_;
goto v_reusejp_4832_;
}
v_reusejp_4832_:
{
return v___x_4833_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Result_toMessageData___boxed(lean_object* v_result_4840_, lean_object* v_a_4841_, lean_object* v_a_4842_, lean_object* v_a_4843_, lean_object* v_a_4844_, lean_object* v_a_4845_){
_start:
{
lean_object* v_res_4846_; 
v_res_4846_ = l_Lean_Meta_Grind_Result_toMessageData(v_result_4840_, v_a_4841_, v_a_4842_, v_a_4843_, v_a_4844_);
return v_res_4846_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0___redArg(lean_object* v_a_4847_, lean_object* v_x_4848_){
_start:
{
if (lean_obj_tag(v_x_4848_) == 0)
{
uint8_t v___x_4849_; 
v___x_4849_ = 0;
return v___x_4849_;
}
else
{
lean_object* v_key_4850_; lean_object* v_tail_4851_; uint8_t v___x_4852_; 
v_key_4850_ = lean_ctor_get(v_x_4848_, 0);
v_tail_4851_ = lean_ctor_get(v_x_4848_, 2);
v___x_4852_ = l___private_Lean_Meta_Sym_ExprPtr_0__Lean_Meta_Sym_isSameExpr_unsafe__1(v_key_4850_, v_a_4847_);
if (v___x_4852_ == 0)
{
v_x_4848_ = v_tail_4851_;
goto _start;
}
else
{
return v___x_4852_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0___redArg___boxed(lean_object* v_a_4854_, lean_object* v_x_4855_){
_start:
{
uint8_t v_res_4856_; lean_object* v_r_4857_; 
v_res_4856_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0___redArg(v_a_4854_, v_x_4855_);
lean_dec(v_x_4855_);
lean_dec_ref(v_a_4854_);
v_r_4857_ = lean_box(v_res_4856_);
return v_r_4857_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2_spec__3_spec__5___redArg(lean_object* v_x_4858_, lean_object* v_x_4859_){
_start:
{
if (lean_obj_tag(v_x_4859_) == 0)
{
return v_x_4858_;
}
else
{
lean_object* v_key_4860_; lean_object* v_value_4861_; lean_object* v_tail_4862_; lean_object* v___x_4864_; uint8_t v_isShared_4865_; uint8_t v_isSharedCheck_4885_; 
v_key_4860_ = lean_ctor_get(v_x_4859_, 0);
v_value_4861_ = lean_ctor_get(v_x_4859_, 1);
v_tail_4862_ = lean_ctor_get(v_x_4859_, 2);
v_isSharedCheck_4885_ = !lean_is_exclusive(v_x_4859_);
if (v_isSharedCheck_4885_ == 0)
{
v___x_4864_ = v_x_4859_;
v_isShared_4865_ = v_isSharedCheck_4885_;
goto v_resetjp_4863_;
}
else
{
lean_inc(v_tail_4862_);
lean_inc(v_value_4861_);
lean_inc(v_key_4860_);
lean_dec(v_x_4859_);
v___x_4864_ = lean_box(0);
v_isShared_4865_ = v_isSharedCheck_4885_;
goto v_resetjp_4863_;
}
v_resetjp_4863_:
{
lean_object* v___x_4866_; uint64_t v___x_4867_; uint64_t v___x_4868_; uint64_t v___x_4869_; uint64_t v_fold_4870_; uint64_t v___x_4871_; uint64_t v___x_4872_; uint64_t v___x_4873_; size_t v___x_4874_; size_t v___x_4875_; size_t v___x_4876_; size_t v___x_4877_; size_t v___x_4878_; lean_object* v___x_4879_; lean_object* v___x_4881_; 
v___x_4866_ = lean_array_get_size(v_x_4858_);
v___x_4867_ = l_Lean_Meta_Sym_hashPtrExpr_unsafe__1(v_key_4860_);
v___x_4868_ = 32ULL;
v___x_4869_ = lean_uint64_shift_right(v___x_4867_, v___x_4868_);
v_fold_4870_ = lean_uint64_xor(v___x_4867_, v___x_4869_);
v___x_4871_ = 16ULL;
v___x_4872_ = lean_uint64_shift_right(v_fold_4870_, v___x_4871_);
v___x_4873_ = lean_uint64_xor(v_fold_4870_, v___x_4872_);
v___x_4874_ = lean_uint64_to_usize(v___x_4873_);
v___x_4875_ = lean_usize_of_nat(v___x_4866_);
v___x_4876_ = ((size_t)1ULL);
v___x_4877_ = lean_usize_sub(v___x_4875_, v___x_4876_);
v___x_4878_ = lean_usize_land(v___x_4874_, v___x_4877_);
v___x_4879_ = lean_array_uget_borrowed(v_x_4858_, v___x_4878_);
lean_inc(v___x_4879_);
if (v_isShared_4865_ == 0)
{
lean_ctor_set(v___x_4864_, 2, v___x_4879_);
v___x_4881_ = v___x_4864_;
goto v_reusejp_4880_;
}
else
{
lean_object* v_reuseFailAlloc_4884_; 
v_reuseFailAlloc_4884_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_4884_, 0, v_key_4860_);
lean_ctor_set(v_reuseFailAlloc_4884_, 1, v_value_4861_);
lean_ctor_set(v_reuseFailAlloc_4884_, 2, v___x_4879_);
v___x_4881_ = v_reuseFailAlloc_4884_;
goto v_reusejp_4880_;
}
v_reusejp_4880_:
{
lean_object* v___x_4882_; 
v___x_4882_ = lean_array_uset(v_x_4858_, v___x_4878_, v___x_4881_);
v_x_4858_ = v___x_4882_;
v_x_4859_ = v_tail_4862_;
goto _start;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2_spec__3___redArg(lean_object* v_i_4886_, lean_object* v_source_4887_, lean_object* v_target_4888_){
_start:
{
lean_object* v___x_4889_; uint8_t v___x_4890_; 
v___x_4889_ = lean_array_get_size(v_source_4887_);
v___x_4890_ = lean_nat_dec_lt(v_i_4886_, v___x_4889_);
if (v___x_4890_ == 0)
{
lean_dec_ref(v_source_4887_);
lean_dec(v_i_4886_);
return v_target_4888_;
}
else
{
lean_object* v_es_4891_; lean_object* v___x_4892_; lean_object* v_source_4893_; lean_object* v_target_4894_; lean_object* v___x_4895_; lean_object* v___x_4896_; 
v_es_4891_ = lean_array_fget(v_source_4887_, v_i_4886_);
v___x_4892_ = lean_box(0);
v_source_4893_ = lean_array_fset(v_source_4887_, v_i_4886_, v___x_4892_);
v_target_4894_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2_spec__3_spec__5___redArg(v_target_4888_, v_es_4891_);
v___x_4895_ = lean_unsigned_to_nat(1u);
v___x_4896_ = lean_nat_add(v_i_4886_, v___x_4895_);
lean_dec(v_i_4886_);
v_i_4886_ = v___x_4896_;
v_source_4887_ = v_source_4893_;
v_target_4888_ = v_target_4894_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2___redArg(lean_object* v_data_4898_){
_start:
{
lean_object* v___x_4899_; lean_object* v___x_4900_; lean_object* v_nbuckets_4901_; lean_object* v___x_4902_; lean_object* v___x_4903_; lean_object* v___x_4904_; lean_object* v___x_4905_; 
v___x_4899_ = lean_array_get_size(v_data_4898_);
v___x_4900_ = lean_unsigned_to_nat(2u);
v_nbuckets_4901_ = lean_nat_mul(v___x_4899_, v___x_4900_);
v___x_4902_ = lean_unsigned_to_nat(0u);
v___x_4903_ = lean_box(0);
v___x_4904_ = lean_mk_array(v_nbuckets_4901_, v___x_4903_);
v___x_4905_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2_spec__3___redArg(v___x_4902_, v_data_4898_, v___x_4904_);
return v___x_4905_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1___redArg(lean_object* v_m_4906_, lean_object* v_a_4907_, lean_object* v_b_4908_){
_start:
{
lean_object* v_size_4909_; lean_object* v_buckets_4910_; lean_object* v___x_4911_; uint64_t v___x_4912_; uint64_t v___x_4913_; uint64_t v___x_4914_; uint64_t v_fold_4915_; uint64_t v___x_4916_; uint64_t v___x_4917_; uint64_t v___x_4918_; size_t v___x_4919_; size_t v___x_4920_; size_t v___x_4921_; size_t v___x_4922_; size_t v___x_4923_; lean_object* v_bkt_4924_; uint8_t v___x_4925_; 
v_size_4909_ = lean_ctor_get(v_m_4906_, 0);
v_buckets_4910_ = lean_ctor_get(v_m_4906_, 1);
v___x_4911_ = lean_array_get_size(v_buckets_4910_);
v___x_4912_ = l_Lean_Meta_Sym_hashPtrExpr_unsafe__1(v_a_4907_);
v___x_4913_ = 32ULL;
v___x_4914_ = lean_uint64_shift_right(v___x_4912_, v___x_4913_);
v_fold_4915_ = lean_uint64_xor(v___x_4912_, v___x_4914_);
v___x_4916_ = 16ULL;
v___x_4917_ = lean_uint64_shift_right(v_fold_4915_, v___x_4916_);
v___x_4918_ = lean_uint64_xor(v_fold_4915_, v___x_4917_);
v___x_4919_ = lean_uint64_to_usize(v___x_4918_);
v___x_4920_ = lean_usize_of_nat(v___x_4911_);
v___x_4921_ = ((size_t)1ULL);
v___x_4922_ = lean_usize_sub(v___x_4920_, v___x_4921_);
v___x_4923_ = lean_usize_land(v___x_4919_, v___x_4922_);
v_bkt_4924_ = lean_array_uget_borrowed(v_buckets_4910_, v___x_4923_);
v___x_4925_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0___redArg(v_a_4907_, v_bkt_4924_);
if (v___x_4925_ == 0)
{
lean_object* v___x_4927_; uint8_t v_isShared_4928_; uint8_t v_isSharedCheck_4946_; 
lean_inc_ref(v_buckets_4910_);
lean_inc(v_size_4909_);
v_isSharedCheck_4946_ = !lean_is_exclusive(v_m_4906_);
if (v_isSharedCheck_4946_ == 0)
{
lean_object* v_unused_4947_; lean_object* v_unused_4948_; 
v_unused_4947_ = lean_ctor_get(v_m_4906_, 1);
lean_dec(v_unused_4947_);
v_unused_4948_ = lean_ctor_get(v_m_4906_, 0);
lean_dec(v_unused_4948_);
v___x_4927_ = v_m_4906_;
v_isShared_4928_ = v_isSharedCheck_4946_;
goto v_resetjp_4926_;
}
else
{
lean_dec(v_m_4906_);
v___x_4927_ = lean_box(0);
v_isShared_4928_ = v_isSharedCheck_4946_;
goto v_resetjp_4926_;
}
v_resetjp_4926_:
{
lean_object* v___x_4929_; lean_object* v_size_x27_4930_; lean_object* v___x_4931_; lean_object* v_buckets_x27_4932_; 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_; uint8_t v___x_4938_; 
v___x_4929_ = lean_unsigned_to_nat(1u);
v_size_x27_4930_ = lean_nat_add(v_size_4909_, v___x_4929_);
lean_dec(v_size_4909_);
lean_inc(v_bkt_4924_);
v___x_4931_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_4931_, 0, v_a_4907_);
lean_ctor_set(v___x_4931_, 1, v_b_4908_);
lean_ctor_set(v___x_4931_, 2, v_bkt_4924_);
v_buckets_x27_4932_ = lean_array_uset(v_buckets_4910_, v___x_4923_, v___x_4931_);
v___x_4933_ = lean_unsigned_to_nat(4u);
v___x_4934_ = lean_nat_mul(v_size_x27_4930_, v___x_4933_);
v___x_4935_ = lean_unsigned_to_nat(3u);
v___x_4936_ = lean_nat_div(v___x_4934_, v___x_4935_);
lean_dec(v___x_4934_);
v___x_4937_ = lean_array_get_size(v_buckets_x27_4932_);
v___x_4938_ = lean_nat_dec_le(v___x_4936_, v___x_4937_);
lean_dec(v___x_4936_);
if (v___x_4938_ == 0)
{
lean_object* v_val_4939_; lean_object* v___x_4941_; 
v_val_4939_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2___redArg(v_buckets_x27_4932_);
if (v_isShared_4928_ == 0)
{
lean_ctor_set(v___x_4927_, 1, v_val_4939_);
lean_ctor_set(v___x_4927_, 0, v_size_x27_4930_);
v___x_4941_ = v___x_4927_;
goto v_reusejp_4940_;
}
else
{
lean_object* v_reuseFailAlloc_4942_; 
v_reuseFailAlloc_4942_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4942_, 0, v_size_x27_4930_);
lean_ctor_set(v_reuseFailAlloc_4942_, 1, v_val_4939_);
v___x_4941_ = v_reuseFailAlloc_4942_;
goto v_reusejp_4940_;
}
v_reusejp_4940_:
{
return v___x_4941_;
}
}
else
{
lean_object* v___x_4944_; 
if (v_isShared_4928_ == 0)
{
lean_ctor_set(v___x_4927_, 1, v_buckets_x27_4932_);
lean_ctor_set(v___x_4927_, 0, v_size_x27_4930_);
v___x_4944_ = v___x_4927_;
goto v_reusejp_4943_;
}
else
{
lean_object* v_reuseFailAlloc_4945_; 
v_reuseFailAlloc_4945_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4945_, 0, v_size_x27_4930_);
lean_ctor_set(v_reuseFailAlloc_4945_, 1, v_buckets_x27_4932_);
v___x_4944_ = v_reuseFailAlloc_4945_;
goto v_reusejp_4943_;
}
v_reusejp_4943_:
{
return v___x_4944_;
}
}
}
}
else
{
lean_dec(v_b_4908_);
lean_dec_ref(v_a_4907_);
return v_m_4906_;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5_spec__7_spec__9___redArg(lean_object* v_x_4949_, lean_object* v_x_4950_){
_start:
{
if (lean_obj_tag(v_x_4950_) == 0)
{
return v_x_4949_;
}
else
{
lean_object* v_key_4951_; lean_object* v_value_4952_; lean_object* v_tail_4953_; lean_object* v___x_4955_; uint8_t v_isShared_4956_; uint8_t v_isSharedCheck_4980_; 
v_key_4951_ = lean_ctor_get(v_x_4950_, 0);
v_value_4952_ = lean_ctor_get(v_x_4950_, 1);
v_tail_4953_ = lean_ctor_get(v_x_4950_, 2);
v_isSharedCheck_4980_ = !lean_is_exclusive(v_x_4950_);
if (v_isSharedCheck_4980_ == 0)
{
v___x_4955_ = v_x_4950_;
v_isShared_4956_ = v_isSharedCheck_4980_;
goto v_resetjp_4954_;
}
else
{
lean_inc(v_tail_4953_);
lean_inc(v_value_4952_);
lean_inc(v_key_4951_);
lean_dec(v_x_4950_);
v___x_4955_ = lean_box(0);
v_isShared_4956_ = v_isSharedCheck_4980_;
goto v_resetjp_4954_;
}
v_resetjp_4954_:
{
lean_object* v___x_4957_; uint64_t v___y_4959_; lean_object* v___x_4977_; 
v___x_4957_ = lean_array_get_size(v_x_4949_);
v___x_4977_ = l_Lean_Meta_Grind_Origin_key(v_key_4951_);
if (lean_obj_tag(v___x_4977_) == 0)
{
uint64_t v___x_4978_; 
v___x_4978_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0);
v___y_4959_ = v___x_4978_;
goto v___jp_4958_;
}
else
{
uint64_t v_hash_4979_; 
v_hash_4979_ = lean_ctor_get_uint64(v___x_4977_, sizeof(void*)*2);
lean_dec(v___x_4977_);
v___y_4959_ = v_hash_4979_;
goto v___jp_4958_;
}
v___jp_4958_:
{
uint64_t v___x_4960_; uint64_t v___x_4961_; uint64_t v_fold_4962_; uint64_t v___x_4963_; uint64_t v___x_4964_; uint64_t v___x_4965_; size_t v___x_4966_; size_t v___x_4967_; size_t v___x_4968_; size_t v___x_4969_; size_t v___x_4970_; lean_object* v___x_4971_; lean_object* v___x_4973_; 
v___x_4960_ = 32ULL;
v___x_4961_ = lean_uint64_shift_right(v___y_4959_, v___x_4960_);
v_fold_4962_ = lean_uint64_xor(v___y_4959_, v___x_4961_);
v___x_4963_ = 16ULL;
v___x_4964_ = lean_uint64_shift_right(v_fold_4962_, v___x_4963_);
v___x_4965_ = lean_uint64_xor(v_fold_4962_, v___x_4964_);
v___x_4966_ = lean_uint64_to_usize(v___x_4965_);
v___x_4967_ = lean_usize_of_nat(v___x_4957_);
v___x_4968_ = ((size_t)1ULL);
v___x_4969_ = lean_usize_sub(v___x_4967_, v___x_4968_);
v___x_4970_ = lean_usize_land(v___x_4966_, v___x_4969_);
v___x_4971_ = lean_array_uget_borrowed(v_x_4949_, v___x_4970_);
lean_inc(v___x_4971_);
if (v_isShared_4956_ == 0)
{
lean_ctor_set(v___x_4955_, 2, v___x_4971_);
v___x_4973_ = v___x_4955_;
goto v_reusejp_4972_;
}
else
{
lean_object* v_reuseFailAlloc_4976_; 
v_reuseFailAlloc_4976_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_4976_, 0, v_key_4951_);
lean_ctor_set(v_reuseFailAlloc_4976_, 1, v_value_4952_);
lean_ctor_set(v_reuseFailAlloc_4976_, 2, v___x_4971_);
v___x_4973_ = v_reuseFailAlloc_4976_;
goto v_reusejp_4972_;
}
v_reusejp_4972_:
{
lean_object* v___x_4974_; 
v___x_4974_ = lean_array_uset(v_x_4949_, v___x_4970_, v___x_4973_);
v_x_4949_ = v___x_4974_;
v_x_4950_ = v_tail_4953_;
goto _start;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5_spec__7___redArg(lean_object* v_i_4981_, lean_object* v_source_4982_, lean_object* v_target_4983_){
_start:
{
lean_object* v___x_4984_; uint8_t v___x_4985_; 
v___x_4984_ = lean_array_get_size(v_source_4982_);
v___x_4985_ = lean_nat_dec_lt(v_i_4981_, v___x_4984_);
if (v___x_4985_ == 0)
{
lean_dec_ref(v_source_4982_);
lean_dec(v_i_4981_);
return v_target_4983_;
}
else
{
lean_object* v_es_4986_; lean_object* v___x_4987_; lean_object* v_source_4988_; lean_object* v_target_4989_; lean_object* v___x_4990_; lean_object* v___x_4991_; 
v_es_4986_ = lean_array_fget(v_source_4982_, v_i_4981_);
v___x_4987_ = lean_box(0);
v_source_4988_ = lean_array_fset(v_source_4982_, v_i_4981_, v___x_4987_);
v_target_4989_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5_spec__7_spec__9___redArg(v_target_4983_, v_es_4986_);
v___x_4990_ = lean_unsigned_to_nat(1u);
v___x_4991_ = lean_nat_add(v_i_4981_, v___x_4990_);
lean_dec(v_i_4981_);
v_i_4981_ = v___x_4991_;
v_source_4982_ = v_source_4988_;
v_target_4983_ = v_target_4989_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5___redArg(lean_object* v_data_4993_){
_start:
{
lean_object* v___x_4994_; lean_object* v___x_4995_; lean_object* v_nbuckets_4996_; lean_object* v___x_4997_; lean_object* v___x_4998_; lean_object* v___x_4999_; lean_object* v___x_5000_; 
v___x_4994_ = lean_array_get_size(v_data_4993_);
v___x_4995_ = lean_unsigned_to_nat(2u);
v_nbuckets_4996_ = lean_nat_mul(v___x_4994_, v___x_4995_);
v___x_4997_ = lean_unsigned_to_nat(0u);
v___x_4998_ = lean_box(0);
v___x_4999_ = lean_mk_array(v_nbuckets_4996_, v___x_4998_);
v___x_5000_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5_spec__7___redArg(v___x_4997_, v_data_4993_, v___x_4999_);
return v___x_5000_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4___redArg(lean_object* v_a_5001_, lean_object* v_x_5002_){
_start:
{
if (lean_obj_tag(v_x_5002_) == 0)
{
uint8_t v___x_5003_; 
v___x_5003_ = 0;
return v___x_5003_;
}
else
{
lean_object* v_key_5004_; lean_object* v_tail_5005_; lean_object* v___x_5006_; lean_object* v___x_5007_; uint8_t v___x_5008_; 
v_key_5004_ = lean_ctor_get(v_x_5002_, 0);
v_tail_5005_ = lean_ctor_get(v_x_5002_, 2);
v___x_5006_ = l_Lean_Meta_Grind_Origin_key(v_key_5004_);
v___x_5007_ = l_Lean_Meta_Grind_Origin_key(v_a_5001_);
v___x_5008_ = lean_name_eq(v___x_5006_, v___x_5007_);
lean_dec(v___x_5007_);
lean_dec(v___x_5006_);
if (v___x_5008_ == 0)
{
v_x_5002_ = v_tail_5005_;
goto _start;
}
else
{
return v___x_5008_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4___redArg___boxed(lean_object* v_a_5010_, lean_object* v_x_5011_){
_start:
{
uint8_t v_res_5012_; lean_object* v_r_5013_; 
v_res_5012_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4___redArg(v_a_5010_, v_x_5011_);
lean_dec(v_x_5011_);
lean_dec_ref(v_a_5010_);
v_r_5013_ = lean_box(v_res_5012_);
return v_r_5013_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2___redArg(lean_object* v_m_5014_, lean_object* v_a_5015_, lean_object* v_b_5016_){
_start:
{
lean_object* v_size_5017_; lean_object* v_buckets_5018_; lean_object* v___x_5019_; uint64_t v___y_5021_; lean_object* v___x_5058_; 
v_size_5017_ = lean_ctor_get(v_m_5014_, 0);
v_buckets_5018_ = lean_ctor_get(v_m_5014_, 1);
v___x_5019_ = lean_array_get_size(v_buckets_5018_);
v___x_5058_ = l_Lean_Meta_Grind_Origin_key(v_a_5015_);
if (lean_obj_tag(v___x_5058_) == 0)
{
uint64_t v___x_5059_; 
v___x_5059_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0);
v___y_5021_ = v___x_5059_;
goto v___jp_5020_;
}
else
{
uint64_t v_hash_5060_; 
v_hash_5060_ = lean_ctor_get_uint64(v___x_5058_, sizeof(void*)*2);
lean_dec(v___x_5058_);
v___y_5021_ = v_hash_5060_;
goto v___jp_5020_;
}
v___jp_5020_:
{
uint64_t v___x_5022_; uint64_t v___x_5023_; uint64_t v_fold_5024_; uint64_t v___x_5025_; uint64_t v___x_5026_; uint64_t v___x_5027_; size_t v___x_5028_; size_t v___x_5029_; size_t v___x_5030_; size_t v___x_5031_; size_t v___x_5032_; lean_object* v_bkt_5033_; uint8_t v___x_5034_; 
v___x_5022_ = 32ULL;
v___x_5023_ = lean_uint64_shift_right(v___y_5021_, v___x_5022_);
v_fold_5024_ = lean_uint64_xor(v___y_5021_, v___x_5023_);
v___x_5025_ = 16ULL;
v___x_5026_ = lean_uint64_shift_right(v_fold_5024_, v___x_5025_);
v___x_5027_ = lean_uint64_xor(v_fold_5024_, v___x_5026_);
v___x_5028_ = lean_uint64_to_usize(v___x_5027_);
v___x_5029_ = lean_usize_of_nat(v___x_5019_);
v___x_5030_ = ((size_t)1ULL);
v___x_5031_ = lean_usize_sub(v___x_5029_, v___x_5030_);
v___x_5032_ = lean_usize_land(v___x_5028_, v___x_5031_);
v_bkt_5033_ = lean_array_uget_borrowed(v_buckets_5018_, v___x_5032_);
v___x_5034_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4___redArg(v_a_5015_, v_bkt_5033_);
if (v___x_5034_ == 0)
{
lean_object* v___x_5036_; uint8_t v_isShared_5037_; uint8_t v_isSharedCheck_5055_; 
lean_inc_ref(v_buckets_5018_);
lean_inc(v_size_5017_);
v_isSharedCheck_5055_ = !lean_is_exclusive(v_m_5014_);
if (v_isSharedCheck_5055_ == 0)
{
lean_object* v_unused_5056_; lean_object* v_unused_5057_; 
v_unused_5056_ = lean_ctor_get(v_m_5014_, 1);
lean_dec(v_unused_5056_);
v_unused_5057_ = lean_ctor_get(v_m_5014_, 0);
lean_dec(v_unused_5057_);
v___x_5036_ = v_m_5014_;
v_isShared_5037_ = v_isSharedCheck_5055_;
goto v_resetjp_5035_;
}
else
{
lean_dec(v_m_5014_);
v___x_5036_ = lean_box(0);
v_isShared_5037_ = v_isSharedCheck_5055_;
goto v_resetjp_5035_;
}
v_resetjp_5035_:
{
lean_object* v___x_5038_; lean_object* v_size_x27_5039_; lean_object* v___x_5040_; lean_object* v_buckets_x27_5041_; lean_object* v___x_5042_; lean_object* v___x_5043_; lean_object* v___x_5044_; lean_object* v___x_5045_; lean_object* v___x_5046_; uint8_t v___x_5047_; 
v___x_5038_ = lean_unsigned_to_nat(1u);
v_size_x27_5039_ = lean_nat_add(v_size_5017_, v___x_5038_);
lean_dec(v_size_5017_);
lean_inc(v_bkt_5033_);
v___x_5040_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_5040_, 0, v_a_5015_);
lean_ctor_set(v___x_5040_, 1, v_b_5016_);
lean_ctor_set(v___x_5040_, 2, v_bkt_5033_);
v_buckets_x27_5041_ = lean_array_uset(v_buckets_5018_, v___x_5032_, v___x_5040_);
v___x_5042_ = lean_unsigned_to_nat(4u);
v___x_5043_ = lean_nat_mul(v_size_x27_5039_, v___x_5042_);
v___x_5044_ = lean_unsigned_to_nat(3u);
v___x_5045_ = lean_nat_div(v___x_5043_, v___x_5044_);
lean_dec(v___x_5043_);
v___x_5046_ = lean_array_get_size(v_buckets_x27_5041_);
v___x_5047_ = lean_nat_dec_le(v___x_5045_, v___x_5046_);
lean_dec(v___x_5045_);
if (v___x_5047_ == 0)
{
lean_object* v_val_5048_; lean_object* v___x_5050_; 
v_val_5048_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5___redArg(v_buckets_x27_5041_);
if (v_isShared_5037_ == 0)
{
lean_ctor_set(v___x_5036_, 1, v_val_5048_);
lean_ctor_set(v___x_5036_, 0, v_size_x27_5039_);
v___x_5050_ = v___x_5036_;
goto v_reusejp_5049_;
}
else
{
lean_object* v_reuseFailAlloc_5051_; 
v_reuseFailAlloc_5051_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5051_, 0, v_size_x27_5039_);
lean_ctor_set(v_reuseFailAlloc_5051_, 1, v_val_5048_);
v___x_5050_ = v_reuseFailAlloc_5051_;
goto v_reusejp_5049_;
}
v_reusejp_5049_:
{
return v___x_5050_;
}
}
else
{
lean_object* v___x_5053_; 
if (v_isShared_5037_ == 0)
{
lean_ctor_set(v___x_5036_, 1, v_buckets_x27_5041_);
lean_ctor_set(v___x_5036_, 0, v_size_x27_5039_);
v___x_5053_ = v___x_5036_;
goto v_reusejp_5052_;
}
else
{
lean_object* v_reuseFailAlloc_5054_; 
v_reuseFailAlloc_5054_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5054_, 0, v_size_x27_5039_);
lean_ctor_set(v_reuseFailAlloc_5054_, 1, v_buckets_x27_5041_);
v___x_5053_ = v_reuseFailAlloc_5054_;
goto v_reusejp_5052_;
}
v_reusejp_5052_:
{
return v___x_5053_;
}
}
}
}
else
{
lean_dec(v_b_5016_);
lean_dec_ref(v_a_5015_);
return v_m_5014_;
}
}
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0___redArg(lean_object* v_m_5061_, lean_object* v_a_5062_){
_start:
{
lean_object* v_buckets_5063_; lean_object* v___x_5064_; uint64_t v___x_5065_; uint64_t v___x_5066_; uint64_t v___x_5067_; uint64_t v_fold_5068_; uint64_t v___x_5069_; uint64_t v___x_5070_; uint64_t v___x_5071_; size_t v___x_5072_; size_t v___x_5073_; size_t v___x_5074_; size_t v___x_5075_; size_t v___x_5076_; lean_object* v___x_5077_; uint8_t v___x_5078_; 
v_buckets_5063_ = lean_ctor_get(v_m_5061_, 1);
v___x_5064_ = lean_array_get_size(v_buckets_5063_);
v___x_5065_ = l_Lean_Meta_Sym_hashPtrExpr_unsafe__1(v_a_5062_);
v___x_5066_ = 32ULL;
v___x_5067_ = lean_uint64_shift_right(v___x_5065_, v___x_5066_);
v_fold_5068_ = lean_uint64_xor(v___x_5065_, v___x_5067_);
v___x_5069_ = 16ULL;
v___x_5070_ = lean_uint64_shift_right(v_fold_5068_, v___x_5069_);
v___x_5071_ = lean_uint64_xor(v_fold_5068_, v___x_5070_);
v___x_5072_ = lean_uint64_to_usize(v___x_5071_);
v___x_5073_ = lean_usize_of_nat(v___x_5064_);
v___x_5074_ = ((size_t)1ULL);
v___x_5075_ = lean_usize_sub(v___x_5073_, v___x_5074_);
v___x_5076_ = lean_usize_land(v___x_5072_, v___x_5075_);
v___x_5077_ = lean_array_uget_borrowed(v_buckets_5063_, v___x_5076_);
v___x_5078_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0___redArg(v_a_5062_, v___x_5077_);
return v___x_5078_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0___redArg___boxed(lean_object* v_m_5079_, lean_object* v_a_5080_){
_start:
{
uint8_t v_res_5081_; lean_object* v_r_5082_; 
v_res_5081_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0___redArg(v_m_5079_, v_a_5080_);
lean_dec_ref(v_a_5080_);
lean_dec_ref(v_m_5079_);
v_r_5082_ = lean_box(v_res_5081_);
return v_r_5082_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go(lean_object* v_map_5083_, lean_object* v_e_5084_, lean_object* v_a_5085_){
_start:
{
lean_object* v_d_5087_; lean_object* v_b_5088_; lean_object* v___y_5089_; lean_object* v___y_5094_; uint8_t v___x_5118_; 
v___x_5118_ = l_Lean_Meta_Grind_isMarkedSubsingletonApp(v_e_5084_);
if (v___x_5118_ == 0)
{
lean_object* v_fst_5119_; lean_object* v_snd_5120_; uint8_t v___x_5121_; 
v_fst_5119_ = lean_ctor_get(v_a_5085_, 0);
v_snd_5120_ = lean_ctor_get(v_a_5085_, 1);
v___x_5121_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0___redArg(v_fst_5119_, v_e_5084_);
if (v___x_5121_ == 0)
{
lean_object* v___x_5123_; uint8_t v_isShared_5124_; uint8_t v_isSharedCheck_5137_; 
lean_inc(v_snd_5120_);
lean_inc(v_fst_5119_);
v_isSharedCheck_5137_ = !lean_is_exclusive(v_a_5085_);
if (v_isSharedCheck_5137_ == 0)
{
lean_object* v_unused_5138_; lean_object* v_unused_5139_; 
v_unused_5138_ = lean_ctor_get(v_a_5085_, 1);
lean_dec(v_unused_5138_);
v_unused_5139_ = lean_ctor_get(v_a_5085_, 0);
lean_dec(v_unused_5139_);
v___x_5123_ = v_a_5085_;
v_isShared_5124_ = v_isSharedCheck_5137_;
goto v_resetjp_5122_;
}
else
{
lean_dec(v_a_5085_);
v___x_5123_ = lean_box(0);
v_isShared_5124_ = v_isSharedCheck_5137_;
goto v_resetjp_5122_;
}
v_resetjp_5122_:
{
lean_object* v___x_5125_; lean_object* v___x_5126_; lean_object* v___x_5128_; 
v___x_5125_ = lean_box(0);
lean_inc_ref(v_e_5084_);
v___x_5126_ = l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1___redArg(v_fst_5119_, v_e_5084_, v___x_5125_);
lean_inc(v_snd_5120_);
lean_inc_ref(v___x_5126_);
if (v_isShared_5124_ == 0)
{
lean_ctor_set(v___x_5123_, 0, v___x_5126_);
v___x_5128_ = v___x_5123_;
goto v_reusejp_5127_;
}
else
{
lean_object* v_reuseFailAlloc_5136_; 
v_reuseFailAlloc_5136_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5136_, 0, v___x_5126_);
lean_ctor_set(v_reuseFailAlloc_5136_, 1, v_snd_5120_);
v___x_5128_ = v_reuseFailAlloc_5136_;
goto v_reusejp_5127_;
}
v_reusejp_5127_:
{
lean_object* v___x_5129_; 
v___x_5129_ = l_Lean_Meta_Grind_EMatch_isTheoremInstanceProof_x3f(v_e_5084_);
if (lean_obj_tag(v___x_5129_) == 1)
{
lean_object* v_val_5130_; lean_object* v___x_5131_; 
v_val_5130_ = lean_ctor_get(v___x_5129_, 0);
lean_inc(v_val_5130_);
lean_dec_ref(v___x_5129_);
v___x_5131_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg(v_map_5083_, v_val_5130_);
lean_dec(v_val_5130_);
if (lean_obj_tag(v___x_5131_) == 1)
{
lean_object* v_val_5132_; lean_object* v_origin_5133_; lean_object* v___x_5134_; lean_object* v___x_5135_; 
lean_dec_ref(v___x_5128_);
v_val_5132_ = lean_ctor_get(v___x_5131_, 0);
lean_inc(v_val_5132_);
lean_dec_ref(v___x_5131_);
v_origin_5133_ = lean_ctor_get(v_val_5132_, 5);
lean_inc_ref(v_origin_5133_);
lean_dec(v_val_5132_);
v___x_5134_ = l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2___redArg(v_snd_5120_, v_origin_5133_, v___x_5125_);
v___x_5135_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_5135_, 0, v___x_5126_);
lean_ctor_set(v___x_5135_, 1, v___x_5134_);
v___y_5094_ = v___x_5135_;
goto v___jp_5093_;
}
else
{
lean_dec(v___x_5131_);
lean_dec_ref(v___x_5126_);
lean_dec(v_snd_5120_);
v___y_5094_ = v___x_5128_;
goto v___jp_5093_;
}
}
else
{
lean_dec(v___x_5129_);
lean_dec_ref(v___x_5126_);
lean_dec(v_snd_5120_);
v___y_5094_ = v___x_5128_;
goto v___jp_5093_;
}
}
}
}
else
{
lean_object* v___x_5140_; lean_object* v___x_5141_; 
lean_dec_ref(v_e_5084_);
v___x_5140_ = lean_box(0);
v___x_5141_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_5141_, 0, v___x_5140_);
lean_ctor_set(v___x_5141_, 1, v_a_5085_);
return v___x_5141_;
}
}
else
{
lean_object* v___x_5142_; lean_object* v___x_5143_; 
lean_dec_ref(v_e_5084_);
v___x_5142_ = lean_box(0);
v___x_5143_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_5143_, 0, v___x_5142_);
lean_ctor_set(v___x_5143_, 1, v_a_5085_);
return v___x_5143_;
}
v___jp_5086_:
{
lean_object* v___x_5090_; lean_object* v_snd_5091_; 
v___x_5090_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go(v_map_5083_, v_d_5087_, v___y_5089_);
v_snd_5091_ = lean_ctor_get(v___x_5090_, 1);
lean_inc(v_snd_5091_);
lean_dec_ref(v___x_5090_);
v_e_5084_ = v_b_5088_;
v_a_5085_ = v_snd_5091_;
goto _start;
}
v___jp_5093_:
{
switch(lean_obj_tag(v_e_5084_))
{
case 6:
{
lean_object* v_binderType_5095_; lean_object* v_body_5096_; 
v_binderType_5095_ = lean_ctor_get(v_e_5084_, 1);
lean_inc_ref(v_binderType_5095_);
v_body_5096_ = lean_ctor_get(v_e_5084_, 2);
lean_inc_ref(v_body_5096_);
lean_dec_ref(v_e_5084_);
v_d_5087_ = v_binderType_5095_;
v_b_5088_ = v_body_5096_;
v___y_5089_ = v___y_5094_;
goto v___jp_5086_;
}
case 7:
{
lean_object* v_binderType_5097_; lean_object* v_body_5098_; 
v_binderType_5097_ = lean_ctor_get(v_e_5084_, 1);
lean_inc_ref(v_binderType_5097_);
v_body_5098_ = lean_ctor_get(v_e_5084_, 2);
lean_inc_ref(v_body_5098_);
lean_dec_ref(v_e_5084_);
v_d_5087_ = v_binderType_5097_;
v_b_5088_ = v_body_5098_;
v___y_5089_ = v___y_5094_;
goto v___jp_5086_;
}
case 11:
{
lean_object* v_struct_5099_; 
v_struct_5099_ = lean_ctor_get(v_e_5084_, 2);
lean_inc_ref(v_struct_5099_);
lean_dec_ref(v_e_5084_);
v_e_5084_ = v_struct_5099_;
v_a_5085_ = v___y_5094_;
goto _start;
}
case 10:
{
lean_object* v_expr_5101_; 
v_expr_5101_ = lean_ctor_get(v_e_5084_, 1);
lean_inc_ref(v_expr_5101_);
lean_dec_ref(v_e_5084_);
v_e_5084_ = v_expr_5101_;
v_a_5085_ = v___y_5094_;
goto _start;
}
case 8:
{
lean_object* v_type_5103_; lean_object* v_value_5104_; lean_object* v_body_5105_; lean_object* v___x_5106_; lean_object* v_snd_5107_; lean_object* v___x_5108_; lean_object* v_snd_5109_; 
v_type_5103_ = lean_ctor_get(v_e_5084_, 1);
lean_inc_ref(v_type_5103_);
v_value_5104_ = lean_ctor_get(v_e_5084_, 2);
lean_inc_ref(v_value_5104_);
v_body_5105_ = lean_ctor_get(v_e_5084_, 3);
lean_inc_ref(v_body_5105_);
lean_dec_ref(v_e_5084_);
v___x_5106_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go(v_map_5083_, v_type_5103_, v___y_5094_);
v_snd_5107_ = lean_ctor_get(v___x_5106_, 1);
lean_inc(v_snd_5107_);
lean_dec_ref(v___x_5106_);
v___x_5108_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go(v_map_5083_, v_value_5104_, v_snd_5107_);
v_snd_5109_ = lean_ctor_get(v___x_5108_, 1);
lean_inc(v_snd_5109_);
lean_dec_ref(v___x_5108_);
v_e_5084_ = v_body_5105_;
v_a_5085_ = v_snd_5109_;
goto _start;
}
case 5:
{
lean_object* v_fn_5111_; lean_object* v_arg_5112_; lean_object* v___x_5113_; lean_object* v_snd_5114_; 
v_fn_5111_ = lean_ctor_get(v_e_5084_, 0);
lean_inc_ref(v_fn_5111_);
v_arg_5112_ = lean_ctor_get(v_e_5084_, 1);
lean_inc_ref(v_arg_5112_);
lean_dec_ref(v_e_5084_);
v___x_5113_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go(v_map_5083_, v_fn_5111_, v___y_5094_);
v_snd_5114_ = lean_ctor_get(v___x_5113_, 1);
lean_inc(v_snd_5114_);
lean_dec_ref(v___x_5113_);
v_e_5084_ = v_arg_5112_;
v_a_5085_ = v_snd_5114_;
goto _start;
}
default: 
{
lean_object* v___x_5116_; lean_object* v___x_5117_; 
lean_dec_ref(v_e_5084_);
v___x_5116_ = lean_box(0);
v___x_5117_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_5117_, 0, v___x_5116_);
lean_ctor_set(v___x_5117_, 1, v___y_5094_);
return v___x_5117_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go___boxed(lean_object* v_map_5144_, lean_object* v_e_5145_, lean_object* v_a_5146_){
_start:
{
lean_object* v_res_5147_; 
v_res_5147_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go(v_map_5144_, v_e_5145_, v_a_5146_);
lean_dec_ref(v_map_5144_);
return v_res_5147_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0(lean_object* v_00_u03b2_5148_, lean_object* v_m_5149_, lean_object* v_a_5150_){
_start:
{
uint8_t v___x_5151_; 
v___x_5151_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0___redArg(v_m_5149_, v_a_5150_);
return v___x_5151_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0___boxed(lean_object* v_00_u03b2_5152_, lean_object* v_m_5153_, lean_object* v_a_5154_){
_start:
{
uint8_t v_res_5155_; lean_object* v_r_5156_; 
v_res_5155_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0(v_00_u03b2_5152_, v_m_5153_, v_a_5154_);
lean_dec_ref(v_a_5154_);
lean_dec_ref(v_m_5153_);
v_r_5156_ = lean_box(v_res_5155_);
return v_r_5156_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1(lean_object* v_00_u03b2_5157_, lean_object* v_m_5158_, lean_object* v_a_5159_, lean_object* v_b_5160_){
_start:
{
lean_object* v___x_5161_; 
v___x_5161_ = l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1___redArg(v_m_5158_, v_a_5159_, v_b_5160_);
return v___x_5161_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2(lean_object* v_00_u03b2_5162_, lean_object* v_m_5163_, lean_object* v_a_5164_, lean_object* v_b_5165_){
_start:
{
lean_object* v___x_5166_; 
v___x_5166_ = l_Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2___redArg(v_m_5163_, v_a_5164_, v_b_5165_);
return v___x_5166_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0(lean_object* v_00_u03b2_5167_, lean_object* v_a_5168_, lean_object* v_x_5169_){
_start:
{
uint8_t v___x_5170_; 
v___x_5170_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0___redArg(v_a_5168_, v_x_5169_);
return v___x_5170_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0___boxed(lean_object* v_00_u03b2_5171_, lean_object* v_a_5172_, lean_object* v_x_5173_){
_start:
{
uint8_t v_res_5174_; lean_object* v_r_5175_; 
v_res_5174_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_contains___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__0_spec__0(v_00_u03b2_5171_, v_a_5172_, v_x_5173_);
lean_dec(v_x_5173_);
lean_dec_ref(v_a_5172_);
v_r_5175_ = lean_box(v_res_5174_);
return v_r_5175_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2(lean_object* v_00_u03b2_5176_, lean_object* v_data_5177_){
_start:
{
lean_object* v___x_5178_; 
v___x_5178_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2___redArg(v_data_5177_);
return v___x_5178_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4(lean_object* v_00_u03b2_5179_, lean_object* v_a_5180_, lean_object* v_x_5181_){
_start:
{
uint8_t v___x_5182_; 
v___x_5182_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4___redArg(v_a_5180_, v_x_5181_);
return v___x_5182_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4___boxed(lean_object* v_00_u03b2_5183_, lean_object* v_a_5184_, lean_object* v_x_5185_){
_start:
{
uint8_t v_res_5186_; lean_object* v_r_5187_; 
v_res_5186_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4(v_00_u03b2_5183_, v_a_5184_, v_x_5185_);
lean_dec(v_x_5185_);
lean_dec_ref(v_a_5184_);
v_r_5187_ = lean_box(v_res_5186_);
return v_r_5187_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5(lean_object* v_00_u03b2_5188_, lean_object* v_data_5189_){
_start:
{
lean_object* v___x_5190_; 
v___x_5190_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5___redArg(v_data_5189_);
return v___x_5190_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2_spec__3(lean_object* v_00_u03b2_5191_, lean_object* v_i_5192_, lean_object* v_source_5193_, lean_object* v_target_5194_){
_start:
{
lean_object* v___x_5195_; 
v___x_5195_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2_spec__3___redArg(v_i_5192_, v_source_5193_, v_target_5194_);
return v___x_5195_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5_spec__7(lean_object* v_00_u03b2_5196_, lean_object* v_i_5197_, lean_object* v_source_5198_, lean_object* v_target_5199_){
_start:
{
lean_object* v___x_5200_; 
v___x_5200_ = l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5_spec__7___redArg(v_i_5197_, v_source_5198_, v_target_5199_);
return v___x_5200_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2_spec__3_spec__5(lean_object* v_00_u03b2_5201_, lean_object* v_x_5202_, lean_object* v_x_5203_){
_start:
{
lean_object* v___x_5204_; 
v___x_5204_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__1_spec__2_spec__3_spec__5___redArg(v_x_5202_, v_x_5203_);
return v___x_5204_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5_spec__7_spec__9(lean_object* v_00_u03b2_5205_, lean_object* v_x_5206_, lean_object* v_x_5207_){
_start:
{
lean_object* v___x_5208_; 
v___x_5208_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___00Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__5_spec__7_spec__9___redArg(v_x_5206_, v_x_5207_);
return v___x_5208_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins___closed__0(void){
_start:
{
lean_object* v___x_5209_; lean_object* v___x_5210_; 
v___x_5209_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__3, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__3_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__3);
v___x_5210_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_5210_, 0, v___x_5209_);
lean_ctor_set(v___x_5210_, 1, v___x_5209_);
return v___x_5210_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins(lean_object* v_e_5211_, lean_object* v_map_5212_){
_start:
{
lean_object* v___x_5213_; lean_object* v___x_5214_; lean_object* v_snd_5215_; lean_object* v_snd_5216_; 
v___x_5213_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins___closed__0, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins___closed__0_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins___closed__0);
v___x_5214_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go(v_map_5212_, v_e_5211_, v___x_5213_);
v_snd_5215_ = lean_ctor_get(v___x_5214_, 1);
lean_inc(v_snd_5215_);
lean_dec_ref(v___x_5214_);
v_snd_5216_ = lean_ctor_get(v_snd_5215_, 1);
lean_inc(v_snd_5216_);
lean_dec(v_snd_5215_);
return v_snd_5216_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins___boxed(lean_object* v_e_5217_, lean_object* v_map_5218_){
_start:
{
lean_object* v_res_5219_; 
v_res_5219_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins(v_e_5217_, v_map_5218_);
lean_dec_ref(v_map_5218_);
return v_res_5219_;
}
}
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00Lean_Meta_Grind_checkUnusedActivations_spec__0(lean_object* v_opts_5220_, lean_object* v_opt_5221_){
_start:
{
lean_object* v_name_5222_; lean_object* v_defValue_5223_; lean_object* v_map_5224_; lean_object* v___x_5225_; 
v_name_5222_ = lean_ctor_get(v_opt_5221_, 0);
v_defValue_5223_ = lean_ctor_get(v_opt_5221_, 1);
v_map_5224_ = lean_ctor_get(v_opts_5220_, 0);
v___x_5225_ = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___00Lean_NameMap_find_x3f_spec__0___redArg(v_map_5224_, v_name_5222_);
if (lean_obj_tag(v___x_5225_) == 0)
{
lean_inc(v_defValue_5223_);
return v_defValue_5223_;
}
else
{
lean_object* v_val_5226_; 
v_val_5226_ = lean_ctor_get(v___x_5225_, 0);
lean_inc(v_val_5226_);
lean_dec_ref(v___x_5225_);
if (lean_obj_tag(v_val_5226_) == 3)
{
lean_object* v_v_5227_; 
v_v_5227_ = lean_ctor_get(v_val_5226_, 0);
lean_inc(v_v_5227_);
lean_dec_ref(v_val_5226_);
return v_v_5227_;
}
else
{
lean_dec(v_val_5226_);
lean_inc(v_defValue_5223_);
return v_defValue_5223_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Option_get___at___00Lean_Meta_Grind_checkUnusedActivations_spec__0___boxed(lean_object* v_opts_5228_, lean_object* v_opt_5229_){
_start:
{
lean_object* v_res_5230_; 
v_res_5230_ = l_Lean_Option_get___at___00Lean_Meta_Grind_checkUnusedActivations_spec__0(v_opts_5228_, v_opt_5229_);
lean_dec_ref(v_opt_5229_);
lean_dec_ref(v_opts_5228_);
return v_res_5230_;
}
}
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00Lean_Meta_Grind_checkUnusedActivations_spec__1___redArg(lean_object* v_e_5231_, lean_object* v___y_5232_){
_start:
{
uint8_t v___x_5234_; 
v___x_5234_ = l_Lean_Expr_hasMVar(v_e_5231_);
if (v___x_5234_ == 0)
{
lean_object* v___x_5235_; 
v___x_5235_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5235_, 0, v_e_5231_);
return v___x_5235_;
}
else
{
lean_object* v___x_5236_; lean_object* v_mctx_5237_; lean_object* v___x_5238_; lean_object* v_fst_5239_; lean_object* v_snd_5240_; lean_object* v___x_5241_; lean_object* v_cache_5242_; lean_object* v_zetaDeltaFVarIds_5243_; lean_object* v_postponed_5244_; lean_object* v_diag_5245_; lean_object* v___x_5247_; uint8_t v_isShared_5248_; uint8_t v_isSharedCheck_5254_; 
v___x_5236_ = lean_st_ref_get(v___y_5232_);
v_mctx_5237_ = lean_ctor_get(v___x_5236_, 0);
lean_inc_ref(v_mctx_5237_);
lean_dec(v___x_5236_);
v___x_5238_ = l_Lean_instantiateMVarsCore(v_mctx_5237_, v_e_5231_);
v_fst_5239_ = lean_ctor_get(v___x_5238_, 0);
lean_inc(v_fst_5239_);
v_snd_5240_ = lean_ctor_get(v___x_5238_, 1);
lean_inc(v_snd_5240_);
lean_dec_ref(v___x_5238_);
v___x_5241_ = lean_st_ref_take(v___y_5232_);
v_cache_5242_ = lean_ctor_get(v___x_5241_, 1);
v_zetaDeltaFVarIds_5243_ = lean_ctor_get(v___x_5241_, 2);
v_postponed_5244_ = lean_ctor_get(v___x_5241_, 3);
v_diag_5245_ = lean_ctor_get(v___x_5241_, 4);
v_isSharedCheck_5254_ = !lean_is_exclusive(v___x_5241_);
if (v_isSharedCheck_5254_ == 0)
{
lean_object* v_unused_5255_; 
v_unused_5255_ = lean_ctor_get(v___x_5241_, 0);
lean_dec(v_unused_5255_);
v___x_5247_ = v___x_5241_;
v_isShared_5248_ = v_isSharedCheck_5254_;
goto v_resetjp_5246_;
}
else
{
lean_inc(v_diag_5245_);
lean_inc(v_postponed_5244_);
lean_inc(v_zetaDeltaFVarIds_5243_);
lean_inc(v_cache_5242_);
lean_dec(v___x_5241_);
v___x_5247_ = lean_box(0);
v_isShared_5248_ = v_isSharedCheck_5254_;
goto v_resetjp_5246_;
}
v_resetjp_5246_:
{
lean_object* v___x_5250_; 
if (v_isShared_5248_ == 0)
{
lean_ctor_set(v___x_5247_, 0, v_snd_5240_);
v___x_5250_ = v___x_5247_;
goto v_reusejp_5249_;
}
else
{
lean_object* v_reuseFailAlloc_5253_; 
v_reuseFailAlloc_5253_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_5253_, 0, v_snd_5240_);
lean_ctor_set(v_reuseFailAlloc_5253_, 1, v_cache_5242_);
lean_ctor_set(v_reuseFailAlloc_5253_, 2, v_zetaDeltaFVarIds_5243_);
lean_ctor_set(v_reuseFailAlloc_5253_, 3, v_postponed_5244_);
lean_ctor_set(v_reuseFailAlloc_5253_, 4, v_diag_5245_);
v___x_5250_ = v_reuseFailAlloc_5253_;
goto v_reusejp_5249_;
}
v_reusejp_5249_:
{
lean_object* v___x_5251_; lean_object* v___x_5252_; 
v___x_5251_ = lean_st_ref_set(v___y_5232_, v___x_5250_);
v___x_5252_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5252_, 0, v_fst_5239_);
return v___x_5252_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00Lean_Meta_Grind_checkUnusedActivations_spec__1___redArg___boxed(lean_object* v_e_5256_, lean_object* v___y_5257_, lean_object* v___y_5258_){
_start:
{
lean_object* v_res_5259_; 
v_res_5259_ = l_Lean_instantiateMVars___at___00Lean_Meta_Grind_checkUnusedActivations_spec__1___redArg(v_e_5256_, v___y_5257_);
lean_dec(v___y_5257_);
return v_res_5259_;
}
}
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00Lean_Meta_Grind_checkUnusedActivations_spec__1(lean_object* v_e_5260_, lean_object* v___y_5261_, lean_object* v___y_5262_, lean_object* v___y_5263_, lean_object* v___y_5264_, lean_object* v___y_5265_, lean_object* v___y_5266_, lean_object* v___y_5267_, lean_object* v___y_5268_, lean_object* v___y_5269_){
_start:
{
lean_object* v___x_5271_; 
v___x_5271_ = l_Lean_instantiateMVars___at___00Lean_Meta_Grind_checkUnusedActivations_spec__1___redArg(v_e_5260_, v___y_5267_);
return v___x_5271_;
}
}
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00Lean_Meta_Grind_checkUnusedActivations_spec__1___boxed(lean_object* v_e_5272_, lean_object* v___y_5273_, lean_object* v___y_5274_, lean_object* v___y_5275_, lean_object* v___y_5276_, lean_object* v___y_5277_, lean_object* v___y_5278_, lean_object* v___y_5279_, lean_object* v___y_5280_, lean_object* v___y_5281_, lean_object* v___y_5282_){
_start:
{
lean_object* v_res_5283_; 
v_res_5283_ = l_Lean_instantiateMVars___at___00Lean_Meta_Grind_checkUnusedActivations_spec__1(v_e_5272_, v___y_5273_, v___y_5274_, v___y_5275_, v___y_5276_, v___y_5277_, v___y_5278_, v___y_5279_, v___y_5280_, v___y_5281_);
lean_dec(v___y_5281_);
lean_dec_ref(v___y_5280_);
lean_dec(v___y_5279_);
lean_dec_ref(v___y_5278_);
lean_dec(v___y_5277_);
lean_dec_ref(v___y_5276_);
lean_dec(v___y_5275_);
lean_dec_ref(v___y_5274_);
lean_dec(v___y_5273_);
return v_res_5283_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00Lean_Meta_Grind_checkUnusedActivations_spec__2___redArg(lean_object* v_m_5284_, lean_object* v_a_5285_){
_start:
{
lean_object* v_buckets_5286_; lean_object* v___x_5287_; uint64_t v___y_5289_; lean_object* v___x_5303_; 
v_buckets_5286_ = lean_ctor_get(v_m_5284_, 1);
v___x_5287_ = lean_array_get_size(v_buckets_5286_);
v___x_5303_ = l_Lean_Meta_Grind_Origin_key(v_a_5285_);
if (lean_obj_tag(v___x_5303_) == 0)
{
uint64_t v___x_5304_; 
v___x_5304_ = lean_uint64_once(&l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0, &l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0_once, _init_l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_mkMethods_spec__0___redArg___closed__0);
v___y_5289_ = v___x_5304_;
goto v___jp_5288_;
}
else
{
uint64_t v_hash_5305_; 
v_hash_5305_ = lean_ctor_get_uint64(v___x_5303_, sizeof(void*)*2);
lean_dec(v___x_5303_);
v___y_5289_ = v_hash_5305_;
goto v___jp_5288_;
}
v___jp_5288_:
{
uint64_t v___x_5290_; uint64_t v___x_5291_; uint64_t v_fold_5292_; uint64_t v___x_5293_; uint64_t v___x_5294_; uint64_t v___x_5295_; size_t v___x_5296_; size_t v___x_5297_; size_t v___x_5298_; size_t v___x_5299_; size_t v___x_5300_; lean_object* v___x_5301_; uint8_t v___x_5302_; 
v___x_5290_ = 32ULL;
v___x_5291_ = lean_uint64_shift_right(v___y_5289_, v___x_5290_);
v_fold_5292_ = lean_uint64_xor(v___y_5289_, v___x_5291_);
v___x_5293_ = 16ULL;
v___x_5294_ = lean_uint64_shift_right(v_fold_5292_, v___x_5293_);
v___x_5295_ = lean_uint64_xor(v_fold_5292_, v___x_5294_);
v___x_5296_ = lean_uint64_to_usize(v___x_5295_);
v___x_5297_ = lean_usize_of_nat(v___x_5287_);
v___x_5298_ = ((size_t)1ULL);
v___x_5299_ = lean_usize_sub(v___x_5297_, v___x_5298_);
v___x_5300_ = lean_usize_land(v___x_5296_, v___x_5299_);
v___x_5301_ = lean_array_uget_borrowed(v_buckets_5286_, v___x_5300_);
v___x_5302_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insertIfNew___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins_go_spec__2_spec__4___redArg(v_a_5285_, v___x_5301_);
return v___x_5302_;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00Lean_Meta_Grind_checkUnusedActivations_spec__2___redArg___boxed(lean_object* v_m_5306_, lean_object* v_a_5307_){
_start:
{
uint8_t v_res_5308_; lean_object* v_r_5309_; 
v_res_5308_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00Lean_Meta_Grind_checkUnusedActivations_spec__2___redArg(v_m_5306_, v_a_5307_);
lean_dec_ref(v_a_5307_);
lean_dec_ref(v_m_5306_);
v_r_5309_ = lean_box(v_res_5308_);
return v_r_5309_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_checkUnusedActivations___lam__0(lean_object* v___x_5310_, lean_object* v___x_5311_, lean_object* v_x_5312_, lean_object* v_____s_5313_, lean_object* v___y_5314_, lean_object* v___y_5315_, lean_object* v___y_5316_, lean_object* v___y_5317_, lean_object* v___y_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_fst_5324_; lean_object* v_snd_5325_; lean_object* v___x_5327_; uint8_t v_isShared_5328_; uint8_t v_isSharedCheck_5353_; 
v_fst_5324_ = lean_ctor_get(v_x_5312_, 0);
v_snd_5325_ = lean_ctor_get(v_x_5312_, 1);
v_isSharedCheck_5353_ = !lean_is_exclusive(v_x_5312_);
if (v_isSharedCheck_5353_ == 0)
{
v___x_5327_ = v_x_5312_;
v_isShared_5328_ = v_isSharedCheck_5353_;
goto v_resetjp_5326_;
}
else
{
lean_inc(v_snd_5325_);
lean_inc(v_fst_5324_);
lean_dec(v_x_5312_);
v___x_5327_ = lean_box(0);
v_isShared_5328_ = v_isSharedCheck_5353_;
goto v_resetjp_5326_;
}
v_resetjp_5326_:
{
uint8_t v___x_5329_; 
v___x_5329_ = lean_nat_dec_lt(v_snd_5325_, v___x_5310_);
if (v___x_5329_ == 0)
{
if (lean_obj_tag(v_fst_5324_) == 0)
{
lean_object* v_declName_5330_; uint8_t v___x_5331_; lean_object* v___x_5333_; uint8_t v_isShared_5334_; uint8_t v_isSharedCheck_5347_; 
v_declName_5330_ = lean_ctor_get(v_fst_5324_, 0);
lean_inc(v_declName_5330_);
v___x_5331_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00Lean_Meta_Grind_checkUnusedActivations_spec__2___redArg(v___x_5311_, v_fst_5324_);
v_isSharedCheck_5347_ = !lean_is_exclusive(v_fst_5324_);
if (v_isSharedCheck_5347_ == 0)
{
lean_object* v_unused_5348_; 
v_unused_5348_ = lean_ctor_get(v_fst_5324_, 0);
lean_dec(v_unused_5348_);
v___x_5333_ = v_fst_5324_;
v_isShared_5334_ = v_isSharedCheck_5347_;
goto v_resetjp_5332_;
}
else
{
lean_dec(v_fst_5324_);
v___x_5333_ = lean_box(0);
v_isShared_5334_ = v_isSharedCheck_5347_;
goto v_resetjp_5332_;
}
v_resetjp_5332_:
{
if (v___x_5331_ == 0)
{
lean_object* v___x_5336_; 
if (v_isShared_5328_ == 0)
{
lean_ctor_set(v___x_5327_, 0, v_declName_5330_);
v___x_5336_ = v___x_5327_;
goto v_reusejp_5335_;
}
else
{
lean_object* v_reuseFailAlloc_5342_; 
v_reuseFailAlloc_5342_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5342_, 0, v_declName_5330_);
lean_ctor_set(v_reuseFailAlloc_5342_, 1, v_snd_5325_);
v___x_5336_ = v_reuseFailAlloc_5342_;
goto v_reusejp_5335_;
}
v_reusejp_5335_:
{
lean_object* v___x_5337_; lean_object* v___x_5339_; 
v___x_5337_ = lean_array_push(v_____s_5313_, v___x_5336_);
if (v_isShared_5334_ == 0)
{
lean_ctor_set_tag(v___x_5333_, 1);
lean_ctor_set(v___x_5333_, 0, v___x_5337_);
v___x_5339_ = v___x_5333_;
goto v_reusejp_5338_;
}
else
{
lean_object* v_reuseFailAlloc_5341_; 
v_reuseFailAlloc_5341_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5341_, 0, v___x_5337_);
v___x_5339_ = v_reuseFailAlloc_5341_;
goto v_reusejp_5338_;
}
v_reusejp_5338_:
{
lean_object* v___x_5340_; 
v___x_5340_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5340_, 0, v___x_5339_);
return v___x_5340_;
}
}
}
else
{
lean_object* v___x_5344_; 
lean_dec(v_declName_5330_);
lean_del_object(v___x_5327_);
lean_dec(v_snd_5325_);
if (v_isShared_5334_ == 0)
{
lean_ctor_set_tag(v___x_5333_, 1);
lean_ctor_set(v___x_5333_, 0, v_____s_5313_);
v___x_5344_ = v___x_5333_;
goto v_reusejp_5343_;
}
else
{
lean_object* v_reuseFailAlloc_5346_; 
v_reuseFailAlloc_5346_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5346_, 0, v_____s_5313_);
v___x_5344_ = v_reuseFailAlloc_5346_;
goto v_reusejp_5343_;
}
v_reusejp_5343_:
{
lean_object* v___x_5345_; 
v___x_5345_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5345_, 0, v___x_5344_);
return v___x_5345_;
}
}
}
}
else
{
lean_object* v___x_5349_; lean_object* v___x_5350_; 
lean_del_object(v___x_5327_);
lean_dec(v_snd_5325_);
lean_dec(v_fst_5324_);
v___x_5349_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5349_, 0, v_____s_5313_);
v___x_5350_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5350_, 0, v___x_5349_);
return v___x_5350_;
}
}
else
{
lean_object* v___x_5351_; lean_object* v___x_5352_; 
lean_del_object(v___x_5327_);
lean_dec(v_snd_5325_);
lean_dec(v_fst_5324_);
v___x_5351_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5351_, 0, v_____s_5313_);
v___x_5352_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5352_, 0, v___x_5351_);
return v___x_5352_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_checkUnusedActivations___lam__0___boxed(lean_object* v___x_5354_, lean_object* v___x_5355_, lean_object* v_x_5356_, lean_object* v_____s_5357_, lean_object* v___y_5358_, lean_object* v___y_5359_, lean_object* v___y_5360_, lean_object* v___y_5361_, lean_object* v___y_5362_, lean_object* v___y_5363_, lean_object* v___y_5364_, lean_object* v___y_5365_, lean_object* v___y_5366_, lean_object* v___y_5367_){
_start:
{
lean_object* v_res_5368_; 
v_res_5368_ = l_Lean_Meta_Grind_checkUnusedActivations___lam__0(v___x_5354_, v___x_5355_, v_x_5356_, v_____s_5357_, v___y_5358_, v___y_5359_, v___y_5360_, v___y_5361_, v___y_5362_, v___y_5363_, v___y_5364_, v___y_5365_, v___y_5366_);
lean_dec(v___y_5366_);
lean_dec_ref(v___y_5365_);
lean_dec(v___y_5364_);
lean_dec_ref(v___y_5363_);
lean_dec(v___y_5362_);
lean_dec_ref(v___y_5361_);
lean_dec(v___y_5360_);
lean_dec_ref(v___y_5359_);
lean_dec(v___y_5358_);
lean_dec_ref(v___x_5355_);
lean_dec(v___x_5354_);
return v_res_5368_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_checkUnusedActivations_spec__4___redArg(size_t v_sz_5369_, size_t v_i_5370_, lean_object* v_bs_5371_){
_start:
{
uint8_t v___x_5373_; 
v___x_5373_ = lean_usize_dec_lt(v_i_5370_, v_sz_5369_);
if (v___x_5373_ == 0)
{
lean_object* v___x_5374_; 
v___x_5374_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5374_, 0, v_bs_5371_);
return v___x_5374_;
}
else
{
lean_object* v_v_5375_; lean_object* v_fst_5376_; lean_object* v_snd_5377_; lean_object* v___x_5379_; uint8_t v_isShared_5380_; uint8_t v_isSharedCheck_5403_; 
v_v_5375_ = lean_array_uget(v_bs_5371_, v_i_5370_);
v_fst_5376_ = lean_ctor_get(v_v_5375_, 0);
v_snd_5377_ = lean_ctor_get(v_v_5375_, 1);
v_isSharedCheck_5403_ = !lean_is_exclusive(v_v_5375_);
if (v_isSharedCheck_5403_ == 0)
{
v___x_5379_ = v_v_5375_;
v_isShared_5380_ = v_isSharedCheck_5403_;
goto v_resetjp_5378_;
}
else
{
lean_inc(v_snd_5377_);
lean_inc(v_fst_5376_);
lean_dec(v_v_5375_);
v___x_5379_ = lean_box(0);
v_isShared_5380_ = v_isSharedCheck_5403_;
goto v_resetjp_5378_;
}
v_resetjp_5378_:
{
lean_object* v___x_5381_; lean_object* v_bs_x27_5382_; lean_object* v___x_5383_; lean_object* v___x_5384_; double v___x_5385_; lean_object* v___x_5386_; lean_object* v___x_5387_; lean_object* v___x_5388_; lean_object* v___x_5389_; lean_object* v___x_5391_; 
v___x_5381_ = lean_unsigned_to_nat(0u);
v_bs_x27_5382_ = lean_array_uset(v_bs_5371_, v_i_5370_, v___x_5381_);
v___x_5383_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__18));
v___x_5384_ = lean_box(0);
v___x_5385_ = lean_float_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0);
v___x_5386_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__1));
v___x_5387_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_5387_, 0, v___x_5383_);
lean_ctor_set(v___x_5387_, 1, v___x_5384_);
lean_ctor_set(v___x_5387_, 2, v___x_5386_);
lean_ctor_set_float(v___x_5387_, sizeof(void*)*3, v___x_5385_);
lean_ctor_set_float(v___x_5387_, sizeof(void*)*3 + 8, v___x_5385_);
lean_ctor_set_uint8(v___x_5387_, sizeof(void*)*3 + 16, v___x_5373_);
v___x_5388_ = l_Lean_MessageData_ofName(v_fst_5376_);
v___x_5389_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__3, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__3_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__3);
if (v_isShared_5380_ == 0)
{
lean_ctor_set_tag(v___x_5379_, 7);
lean_ctor_set(v___x_5379_, 1, v___x_5389_);
lean_ctor_set(v___x_5379_, 0, v___x_5388_);
v___x_5391_ = v___x_5379_;
goto v_reusejp_5390_;
}
else
{
lean_object* v_reuseFailAlloc_5402_; 
v_reuseFailAlloc_5402_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5402_, 0, v___x_5388_);
lean_ctor_set(v_reuseFailAlloc_5402_, 1, v___x_5389_);
v___x_5391_ = v_reuseFailAlloc_5402_;
goto v_reusejp_5390_;
}
v_reusejp_5390_:
{
lean_object* v___x_5392_; lean_object* v___x_5393_; lean_object* v___x_5394_; lean_object* v___x_5395_; lean_object* v___x_5396_; lean_object* v___x_5397_; size_t v___x_5398_; size_t v___x_5399_; lean_object* v___x_5400_; 
v___x_5392_ = l_Nat_reprFast(v_snd_5377_);
v___x_5393_ = lean_alloc_ctor(3, 1, 0);
lean_ctor_set(v___x_5393_, 0, v___x_5392_);
v___x_5394_ = l_Lean_MessageData_ofFormat(v___x_5393_);
v___x_5395_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_5395_, 0, v___x_5391_);
lean_ctor_set(v___x_5395_, 1, v___x_5394_);
v___x_5396_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__4));
v___x_5397_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_5397_, 0, v___x_5387_);
lean_ctor_set(v___x_5397_, 1, v___x_5395_);
lean_ctor_set(v___x_5397_, 2, v___x_5396_);
v___x_5398_ = ((size_t)1ULL);
v___x_5399_ = lean_usize_add(v_i_5370_, v___x_5398_);
v___x_5400_ = lean_array_uset(v_bs_x27_5382_, v_i_5370_, v___x_5397_);
v_i_5370_ = v___x_5399_;
v_bs_5371_ = v___x_5400_;
goto _start;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_checkUnusedActivations_spec__4___redArg___boxed(lean_object* v_sz_5404_, lean_object* v_i_5405_, lean_object* v_bs_5406_, lean_object* v___y_5407_){
_start:
{
size_t v_sz_boxed_5408_; size_t v_i_boxed_5409_; lean_object* v_res_5410_; 
v_sz_boxed_5408_ = lean_unbox_usize(v_sz_5404_);
lean_dec(v_sz_5404_);
v_i_boxed_5409_ = lean_unbox_usize(v_i_5405_);
lean_dec(v_i_5405_);
v_res_5410_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_checkUnusedActivations_spec__4___redArg(v_sz_boxed_5408_, v_i_boxed_5409_, v_bs_5406_);
return v_res_5410_;
}
}
LEAN_EXPORT uint8_t l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg___lam__0(lean_object* v_x_5411_, lean_object* v_x_5412_){
_start:
{
lean_object* v_snd_5413_; lean_object* v_snd_5414_; uint8_t v___x_5415_; 
v_snd_5413_ = lean_ctor_get(v_x_5411_, 1);
v_snd_5414_ = lean_ctor_get(v_x_5412_, 1);
v___x_5415_ = lean_nat_dec_lt(v_snd_5414_, v_snd_5413_);
return v___x_5415_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg___lam__0___boxed(lean_object* v_x_5416_, lean_object* v_x_5417_){
_start:
{
uint8_t v_res_5418_; lean_object* v_r_5419_; 
v_res_5418_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg___lam__0(v_x_5416_, v_x_5417_);
lean_dec_ref(v_x_5417_);
lean_dec_ref(v_x_5416_);
v_r_5419_ = lean_box(v_res_5418_);
return v_r_5419_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg(lean_object* v_as_5421_, lean_object* v_lo_5422_, lean_object* v_hi_5423_){
_start:
{
uint8_t v___x_5424_; 
v___x_5424_ = lean_nat_dec_lt(v_lo_5422_, v_hi_5423_);
if (v___x_5424_ == 0)
{
lean_dec(v_lo_5422_);
return v_as_5421_;
}
else
{
lean_object* v___f_5425_; lean_object* v___x_5426_; lean_object* v_fst_5427_; lean_object* v_snd_5428_; uint8_t v___x_5429_; 
v___f_5425_ = ((lean_object*)(l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg___closed__0));
lean_inc(v_lo_5422_);
v___x_5426_ = l_Array_qpartition___redArg(v_as_5421_, v___f_5425_, v_lo_5422_, v_hi_5423_);
v_fst_5427_ = lean_ctor_get(v___x_5426_, 0);
lean_inc(v_fst_5427_);
v_snd_5428_ = lean_ctor_get(v___x_5426_, 1);
lean_inc(v_snd_5428_);
lean_dec_ref(v___x_5426_);
v___x_5429_ = lean_nat_dec_le(v_hi_5423_, v_fst_5427_);
if (v___x_5429_ == 0)
{
lean_object* v___x_5430_; lean_object* v___x_5431_; lean_object* v___x_5432_; 
v___x_5430_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg(v_snd_5428_, v_lo_5422_, v_fst_5427_);
v___x_5431_ = lean_unsigned_to_nat(1u);
v___x_5432_ = lean_nat_add(v_fst_5427_, v___x_5431_);
lean_dec(v_fst_5427_);
v_as_5421_ = v___x_5430_;
v_lo_5422_ = v___x_5432_;
goto _start;
}
else
{
lean_dec(v_fst_5427_);
lean_dec(v_lo_5422_);
return v_snd_5428_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg___boxed(lean_object* v_as_5434_, lean_object* v_lo_5435_, lean_object* v_hi_5436_){
_start:
{
lean_object* v_res_5437_; 
v_res_5437_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg(v_as_5434_, v_lo_5435_, v_hi_5436_);
lean_dec(v_hi_5436_);
return v_res_5437_;
}
}
LEAN_EXPORT uint8_t l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0(uint8_t v___y_5446_, uint8_t v_suppressElabErrors_5447_, lean_object* v_x_5448_){
_start:
{
if (lean_obj_tag(v_x_5448_) == 1)
{
lean_object* v_pre_5449_; 
v_pre_5449_ = lean_ctor_get(v_x_5448_, 0);
switch(lean_obj_tag(v_pre_5449_))
{
case 1:
{
lean_object* v_pre_5450_; 
v_pre_5450_ = lean_ctor_get(v_pre_5449_, 0);
switch(lean_obj_tag(v_pre_5450_))
{
case 0:
{
lean_object* v_str_5451_; lean_object* v_str_5452_; lean_object* v___x_5453_; uint8_t v___x_5454_; 
v_str_5451_ = lean_ctor_get(v_x_5448_, 1);
v_str_5452_ = lean_ctor_get(v_pre_5449_, 1);
v___x_5453_ = ((lean_object*)(l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__0));
v___x_5454_ = lean_string_dec_eq(v_str_5452_, v___x_5453_);
if (v___x_5454_ == 0)
{
lean_object* v___x_5455_; uint8_t v___x_5456_; 
v___x_5455_ = ((lean_object*)(l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__1));
v___x_5456_ = lean_string_dec_eq(v_str_5452_, v___x_5455_);
if (v___x_5456_ == 0)
{
return v___y_5446_;
}
else
{
lean_object* v___x_5457_; uint8_t v___x_5458_; 
v___x_5457_ = ((lean_object*)(l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__2));
v___x_5458_ = lean_string_dec_eq(v_str_5451_, v___x_5457_);
if (v___x_5458_ == 0)
{
return v___y_5446_;
}
else
{
return v_suppressElabErrors_5447_;
}
}
}
else
{
lean_object* v___x_5459_; uint8_t v___x_5460_; 
v___x_5459_ = ((lean_object*)(l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__3));
v___x_5460_ = lean_string_dec_eq(v_str_5451_, v___x_5459_);
if (v___x_5460_ == 0)
{
return v___y_5446_;
}
else
{
return v_suppressElabErrors_5447_;
}
}
}
case 1:
{
lean_object* v_pre_5461_; 
v_pre_5461_ = lean_ctor_get(v_pre_5450_, 0);
if (lean_obj_tag(v_pre_5461_) == 0)
{
lean_object* v_str_5462_; lean_object* v_str_5463_; lean_object* v_str_5464_; lean_object* v___x_5465_; uint8_t v___x_5466_; 
v_str_5462_ = lean_ctor_get(v_x_5448_, 1);
v_str_5463_ = lean_ctor_get(v_pre_5449_, 1);
v_str_5464_ = lean_ctor_get(v_pre_5450_, 1);
v___x_5465_ = ((lean_object*)(l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__4));
v___x_5466_ = lean_string_dec_eq(v_str_5464_, v___x_5465_);
if (v___x_5466_ == 0)
{
return v___y_5446_;
}
else
{
lean_object* v___x_5467_; uint8_t v___x_5468_; 
v___x_5467_ = ((lean_object*)(l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__5));
v___x_5468_ = lean_string_dec_eq(v_str_5463_, v___x_5467_);
if (v___x_5468_ == 0)
{
return v___y_5446_;
}
else
{
lean_object* v___x_5469_; uint8_t v___x_5470_; 
v___x_5469_ = ((lean_object*)(l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__6));
v___x_5470_ = lean_string_dec_eq(v_str_5462_, v___x_5469_);
if (v___x_5470_ == 0)
{
return v___y_5446_;
}
else
{
return v_suppressElabErrors_5447_;
}
}
}
}
else
{
return v___y_5446_;
}
}
default: 
{
return v___y_5446_;
}
}
}
case 0:
{
lean_object* v_str_5471_; lean_object* v___x_5472_; uint8_t v___x_5473_; 
v_str_5471_ = lean_ctor_get(v_x_5448_, 1);
v___x_5472_ = ((lean_object*)(l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___closed__7));
v___x_5473_ = lean_string_dec_eq(v_str_5471_, v___x_5472_);
if (v___x_5473_ == 0)
{
return v___y_5446_;
}
else
{
return v_suppressElabErrors_5447_;
}
}
default: 
{
return v___y_5446_;
}
}
}
else
{
return v___y_5446_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___boxed(lean_object* v___y_5474_, lean_object* v_suppressElabErrors_5475_, lean_object* v_x_5476_){
_start:
{
uint8_t v___y_42892__boxed_5477_; uint8_t v_suppressElabErrors_boxed_5478_; uint8_t v_res_5479_; lean_object* v_r_5480_; 
v___y_42892__boxed_5477_ = lean_unbox(v___y_5474_);
v_suppressElabErrors_boxed_5478_ = lean_unbox(v_suppressElabErrors_5475_);
v_res_5479_ = l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0(v___y_42892__boxed_5477_, v_suppressElabErrors_boxed_5478_, v_x_5476_);
lean_dec(v_x_5476_);
v_r_5480_ = lean_box(v_res_5479_);
return v_r_5480_;
}
}
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg(lean_object* v_ref_5481_, lean_object* v_msgData_5482_, uint8_t v_severity_5483_, uint8_t v_isSilent_5484_, lean_object* v___y_5485_, lean_object* v___y_5486_, lean_object* v___y_5487_, lean_object* v___y_5488_){
_start:
{
lean_object* v___y_5491_; uint8_t v___y_5492_; uint8_t v___y_5493_; lean_object* v___y_5494_; lean_object* v___y_5495_; lean_object* v___y_5496_; lean_object* v___y_5497_; lean_object* v___y_5498_; lean_object* v___y_5499_; lean_object* v___y_5527_; uint8_t v___y_5528_; uint8_t v___y_5529_; uint8_t v___y_5530_; lean_object* v___y_5531_; lean_object* v___y_5532_; lean_object* v___y_5533_; lean_object* v___y_5534_; lean_object* v___y_5552_; lean_object* v___y_5553_; uint8_t v___y_5554_; uint8_t v___y_5555_; uint8_t v___y_5556_; lean_object* v___y_5557_; lean_object* v___y_5558_; lean_object* v___y_5559_; lean_object* v___y_5563_; lean_object* v___y_5564_; uint8_t v___y_5565_; uint8_t v___y_5566_; lean_object* v___y_5567_; lean_object* v___y_5568_; uint8_t v___y_5569_; uint8_t v___x_5574_; lean_object* v___y_5576_; uint8_t v___y_5577_; lean_object* v___y_5578_; lean_object* v___y_5579_; lean_object* v___y_5580_; uint8_t v___y_5581_; uint8_t v___y_5582_; uint8_t v___y_5584_; uint8_t v___x_5599_; 
v___x_5574_ = 2;
v___x_5599_ = l_Lean_instBEqMessageSeverity_beq(v_severity_5483_, v___x_5574_);
if (v___x_5599_ == 0)
{
v___y_5584_ = v___x_5599_;
goto v___jp_5583_;
}
else
{
uint8_t v___x_5600_; 
lean_inc_ref(v_msgData_5482_);
v___x_5600_ = l_Lean_MessageData_hasSyntheticSorry(v_msgData_5482_);
v___y_5584_ = v___x_5600_;
goto v___jp_5583_;
}
v___jp_5490_:
{
lean_object* v___x_5500_; lean_object* v_currNamespace_5501_; lean_object* v_openDecls_5502_; lean_object* v_env_5503_; lean_object* v_nextMacroScope_5504_; lean_object* v_ngen_5505_; lean_object* v_auxDeclNGen_5506_; lean_object* v_traceState_5507_; lean_object* v_cache_5508_; lean_object* v_messages_5509_; lean_object* v_infoState_5510_; lean_object* v_snapshotTasks_5511_; lean_object* v___x_5513_; uint8_t v_isShared_5514_; uint8_t v_isSharedCheck_5525_; 
v___x_5500_ = lean_st_ref_take(v___y_5499_);
v_currNamespace_5501_ = lean_ctor_get(v___y_5498_, 6);
lean_inc(v_currNamespace_5501_);
v_openDecls_5502_ = lean_ctor_get(v___y_5498_, 7);
lean_inc(v_openDecls_5502_);
lean_dec_ref(v___y_5498_);
v_env_5503_ = lean_ctor_get(v___x_5500_, 0);
v_nextMacroScope_5504_ = lean_ctor_get(v___x_5500_, 1);
v_ngen_5505_ = lean_ctor_get(v___x_5500_, 2);
v_auxDeclNGen_5506_ = lean_ctor_get(v___x_5500_, 3);
v_traceState_5507_ = lean_ctor_get(v___x_5500_, 4);
v_cache_5508_ = lean_ctor_get(v___x_5500_, 5);
v_messages_5509_ = lean_ctor_get(v___x_5500_, 6);
v_infoState_5510_ = lean_ctor_get(v___x_5500_, 7);
v_snapshotTasks_5511_ = lean_ctor_get(v___x_5500_, 8);
v_isSharedCheck_5525_ = !lean_is_exclusive(v___x_5500_);
if (v_isSharedCheck_5525_ == 0)
{
v___x_5513_ = v___x_5500_;
v_isShared_5514_ = v_isSharedCheck_5525_;
goto v_resetjp_5512_;
}
else
{
lean_inc(v_snapshotTasks_5511_);
lean_inc(v_infoState_5510_);
lean_inc(v_messages_5509_);
lean_inc(v_cache_5508_);
lean_inc(v_traceState_5507_);
lean_inc(v_auxDeclNGen_5506_);
lean_inc(v_ngen_5505_);
lean_inc(v_nextMacroScope_5504_);
lean_inc(v_env_5503_);
lean_dec(v___x_5500_);
v___x_5513_ = lean_box(0);
v_isShared_5514_ = v_isSharedCheck_5525_;
goto v_resetjp_5512_;
}
v_resetjp_5512_:
{
lean_object* v___x_5515_; lean_object* v___x_5516_; lean_object* v___x_5517_; lean_object* v___x_5518_; lean_object* v___x_5520_; 
v___x_5515_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_5515_, 0, v_currNamespace_5501_);
lean_ctor_set(v___x_5515_, 1, v_openDecls_5502_);
v___x_5516_ = lean_alloc_ctor(4, 2, 0);
lean_ctor_set(v___x_5516_, 0, v___x_5515_);
lean_ctor_set(v___x_5516_, 1, v___y_5491_);
v___x_5517_ = lean_alloc_ctor(0, 5, 3);
lean_ctor_set(v___x_5517_, 0, v___y_5495_);
lean_ctor_set(v___x_5517_, 1, v___y_5494_);
lean_ctor_set(v___x_5517_, 2, v___y_5496_);
lean_ctor_set(v___x_5517_, 3, v___y_5497_);
lean_ctor_set(v___x_5517_, 4, v___x_5516_);
lean_ctor_set_uint8(v___x_5517_, sizeof(void*)*5, v___y_5493_);
lean_ctor_set_uint8(v___x_5517_, sizeof(void*)*5 + 1, v___y_5492_);
lean_ctor_set_uint8(v___x_5517_, sizeof(void*)*5 + 2, v_isSilent_5484_);
v___x_5518_ = l_Lean_MessageLog_add(v___x_5517_, v_messages_5509_);
if (v_isShared_5514_ == 0)
{
lean_ctor_set(v___x_5513_, 6, v___x_5518_);
v___x_5520_ = v___x_5513_;
goto v_reusejp_5519_;
}
else
{
lean_object* v_reuseFailAlloc_5524_; 
v_reuseFailAlloc_5524_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_5524_, 0, v_env_5503_);
lean_ctor_set(v_reuseFailAlloc_5524_, 1, v_nextMacroScope_5504_);
lean_ctor_set(v_reuseFailAlloc_5524_, 2, v_ngen_5505_);
lean_ctor_set(v_reuseFailAlloc_5524_, 3, v_auxDeclNGen_5506_);
lean_ctor_set(v_reuseFailAlloc_5524_, 4, v_traceState_5507_);
lean_ctor_set(v_reuseFailAlloc_5524_, 5, v_cache_5508_);
lean_ctor_set(v_reuseFailAlloc_5524_, 6, v___x_5518_);
lean_ctor_set(v_reuseFailAlloc_5524_, 7, v_infoState_5510_);
lean_ctor_set(v_reuseFailAlloc_5524_, 8, v_snapshotTasks_5511_);
v___x_5520_ = v_reuseFailAlloc_5524_;
goto v_reusejp_5519_;
}
v_reusejp_5519_:
{
lean_object* v___x_5521_; lean_object* v___x_5522_; lean_object* v___x_5523_; 
v___x_5521_ = lean_st_ref_set(v___y_5499_, v___x_5520_);
v___x_5522_ = lean_box(0);
v___x_5523_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5523_, 0, v___x_5522_);
return v___x_5523_;
}
}
}
v___jp_5526_:
{
lean_object* v___x_5535_; lean_object* v___x_5536_; lean_object* v_a_5537_; lean_object* v___x_5539_; uint8_t v_isShared_5540_; uint8_t v_isSharedCheck_5550_; 
v___x_5535_ = l___private_Lean_Log_0__Lean_MessageData_appendDescriptionWidgetIfNamed(v_msgData_5482_);
v___x_5536_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10_spec__11(v___x_5535_, v___y_5485_, v___y_5486_, v___y_5487_, v___y_5488_);
v_a_5537_ = lean_ctor_get(v___x_5536_, 0);
v_isSharedCheck_5550_ = !lean_is_exclusive(v___x_5536_);
if (v_isSharedCheck_5550_ == 0)
{
v___x_5539_ = v___x_5536_;
v_isShared_5540_ = v_isSharedCheck_5550_;
goto v_resetjp_5538_;
}
else
{
lean_inc(v_a_5537_);
lean_dec(v___x_5536_);
v___x_5539_ = lean_box(0);
v_isShared_5540_ = v_isSharedCheck_5550_;
goto v_resetjp_5538_;
}
v_resetjp_5538_:
{
lean_object* v___x_5541_; lean_object* v___x_5542_; lean_object* v___x_5543_; lean_object* v___x_5544_; 
lean_inc_ref(v___y_5533_);
v___x_5541_ = l_Lean_FileMap_toPosition(v___y_5533_, v___y_5531_);
lean_dec(v___y_5531_);
v___x_5542_ = l_Lean_FileMap_toPosition(v___y_5533_, v___y_5534_);
lean_dec(v___y_5534_);
v___x_5543_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5543_, 0, v___x_5542_);
v___x_5544_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__1));
if (v___y_5529_ == 0)
{
lean_del_object(v___x_5539_);
lean_dec_ref(v___y_5527_);
v___y_5491_ = v_a_5537_;
v___y_5492_ = v___y_5528_;
v___y_5493_ = v___y_5530_;
v___y_5494_ = v___x_5541_;
v___y_5495_ = v___y_5532_;
v___y_5496_ = v___x_5543_;
v___y_5497_ = v___x_5544_;
v___y_5498_ = v___y_5487_;
v___y_5499_ = v___y_5488_;
goto v___jp_5490_;
}
else
{
uint8_t v___x_5545_; 
lean_inc(v_a_5537_);
v___x_5545_ = l_Lean_MessageData_hasTag(v___y_5527_, v_a_5537_);
if (v___x_5545_ == 0)
{
lean_object* v___x_5546_; lean_object* v___x_5548_; 
lean_dec_ref(v___x_5543_);
lean_dec_ref(v___x_5541_);
lean_dec(v_a_5537_);
lean_dec_ref(v___y_5532_);
lean_dec_ref(v___y_5487_);
v___x_5546_ = lean_box(0);
if (v_isShared_5540_ == 0)
{
lean_ctor_set(v___x_5539_, 0, v___x_5546_);
v___x_5548_ = v___x_5539_;
goto v_reusejp_5547_;
}
else
{
lean_object* v_reuseFailAlloc_5549_; 
v_reuseFailAlloc_5549_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5549_, 0, v___x_5546_);
v___x_5548_ = v_reuseFailAlloc_5549_;
goto v_reusejp_5547_;
}
v_reusejp_5547_:
{
return v___x_5548_;
}
}
else
{
lean_del_object(v___x_5539_);
v___y_5491_ = v_a_5537_;
v___y_5492_ = v___y_5528_;
v___y_5493_ = v___y_5530_;
v___y_5494_ = v___x_5541_;
v___y_5495_ = v___y_5532_;
v___y_5496_ = v___x_5543_;
v___y_5497_ = v___x_5544_;
v___y_5498_ = v___y_5487_;
v___y_5499_ = v___y_5488_;
goto v___jp_5490_;
}
}
}
}
v___jp_5551_:
{
lean_object* v___x_5560_; 
v___x_5560_ = l_Lean_Syntax_getTailPos_x3f(v___y_5553_, v___y_5555_);
lean_dec(v___y_5553_);
if (lean_obj_tag(v___x_5560_) == 0)
{
lean_inc(v___y_5559_);
v___y_5527_ = v___y_5552_;
v___y_5528_ = v___y_5554_;
v___y_5529_ = v___y_5556_;
v___y_5530_ = v___y_5555_;
v___y_5531_ = v___y_5559_;
v___y_5532_ = v___y_5557_;
v___y_5533_ = v___y_5558_;
v___y_5534_ = v___y_5559_;
goto v___jp_5526_;
}
else
{
lean_object* v_val_5561_; 
v_val_5561_ = lean_ctor_get(v___x_5560_, 0);
lean_inc(v_val_5561_);
lean_dec_ref(v___x_5560_);
v___y_5527_ = v___y_5552_;
v___y_5528_ = v___y_5554_;
v___y_5529_ = v___y_5556_;
v___y_5530_ = v___y_5555_;
v___y_5531_ = v___y_5559_;
v___y_5532_ = v___y_5557_;
v___y_5533_ = v___y_5558_;
v___y_5534_ = v_val_5561_;
goto v___jp_5526_;
}
}
v___jp_5562_:
{
lean_object* v_ref_5570_; lean_object* v___x_5571_; 
v_ref_5570_ = l_Lean_replaceRef(v_ref_5481_, v___y_5564_);
lean_dec(v___y_5564_);
v___x_5571_ = l_Lean_Syntax_getPos_x3f(v_ref_5570_, v___y_5566_);
if (lean_obj_tag(v___x_5571_) == 0)
{
lean_object* v___x_5572_; 
v___x_5572_ = lean_unsigned_to_nat(0u);
v___y_5552_ = v___y_5563_;
v___y_5553_ = v_ref_5570_;
v___y_5554_ = v___y_5569_;
v___y_5555_ = v___y_5566_;
v___y_5556_ = v___y_5565_;
v___y_5557_ = v___y_5567_;
v___y_5558_ = v___y_5568_;
v___y_5559_ = v___x_5572_;
goto v___jp_5551_;
}
else
{
lean_object* v_val_5573_; 
v_val_5573_ = lean_ctor_get(v___x_5571_, 0);
lean_inc(v_val_5573_);
lean_dec_ref(v___x_5571_);
v___y_5552_ = v___y_5563_;
v___y_5553_ = v_ref_5570_;
v___y_5554_ = v___y_5569_;
v___y_5555_ = v___y_5566_;
v___y_5556_ = v___y_5565_;
v___y_5557_ = v___y_5567_;
v___y_5558_ = v___y_5568_;
v___y_5559_ = v_val_5573_;
goto v___jp_5551_;
}
}
v___jp_5575_:
{
if (v___y_5582_ == 0)
{
v___y_5563_ = v___y_5579_;
v___y_5564_ = v___y_5576_;
v___y_5565_ = v___y_5577_;
v___y_5566_ = v___y_5581_;
v___y_5567_ = v___y_5578_;
v___y_5568_ = v___y_5580_;
v___y_5569_ = v_severity_5483_;
goto v___jp_5562_;
}
else
{
v___y_5563_ = v___y_5579_;
v___y_5564_ = v___y_5576_;
v___y_5565_ = v___y_5577_;
v___y_5566_ = v___y_5581_;
v___y_5567_ = v___y_5578_;
v___y_5568_ = v___y_5580_;
v___y_5569_ = v___x_5574_;
goto v___jp_5562_;
}
}
v___jp_5583_:
{
if (v___y_5584_ == 0)
{
lean_object* v_fileName_5585_; lean_object* v_fileMap_5586_; lean_object* v_options_5587_; lean_object* v_ref_5588_; uint8_t v_suppressElabErrors_5589_; lean_object* v___x_5590_; lean_object* v___x_5591_; lean_object* v___f_5592_; uint8_t v___x_5593_; uint8_t v___x_5594_; 
v_fileName_5585_ = lean_ctor_get(v___y_5487_, 0);
v_fileMap_5586_ = lean_ctor_get(v___y_5487_, 1);
v_options_5587_ = lean_ctor_get(v___y_5487_, 2);
v_ref_5588_ = lean_ctor_get(v___y_5487_, 5);
v_suppressElabErrors_5589_ = lean_ctor_get_uint8(v___y_5487_, sizeof(void*)*14 + 1);
v___x_5590_ = lean_box(v___y_5584_);
v___x_5591_ = lean_box(v_suppressElabErrors_5589_);
v___f_5592_ = lean_alloc_closure((void*)(l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___lam__0___boxed), 3, 2);
lean_closure_set(v___f_5592_, 0, v___x_5590_);
lean_closure_set(v___f_5592_, 1, v___x_5591_);
v___x_5593_ = 1;
v___x_5594_ = l_Lean_instBEqMessageSeverity_beq(v_severity_5483_, v___x_5593_);
if (v___x_5594_ == 0)
{
lean_inc_ref(v_fileMap_5586_);
lean_inc_ref(v_fileName_5585_);
lean_inc(v_ref_5588_);
v___y_5576_ = v_ref_5588_;
v___y_5577_ = v_suppressElabErrors_5589_;
v___y_5578_ = v_fileName_5585_;
v___y_5579_ = v___f_5592_;
v___y_5580_ = v_fileMap_5586_;
v___y_5581_ = v___y_5584_;
v___y_5582_ = v___x_5594_;
goto v___jp_5575_;
}
else
{
lean_object* v___x_5595_; uint8_t v___x_5596_; 
v___x_5595_ = l_Lean_warningAsError;
v___x_5596_ = l_Lean_Option_get___at___00Lean_Meta_Grind_GrindM_run_spec__0(v_options_5587_, v___x_5595_);
lean_inc_ref(v_fileMap_5586_);
lean_inc_ref(v_fileName_5585_);
lean_inc(v_ref_5588_);
v___y_5576_ = v_ref_5588_;
v___y_5577_ = v_suppressElabErrors_5589_;
v___y_5578_ = v_fileName_5585_;
v___y_5579_ = v___f_5592_;
v___y_5580_ = v_fileMap_5586_;
v___y_5581_ = v___y_5584_;
v___y_5582_ = v___x_5596_;
goto v___jp_5575_;
}
}
else
{
lean_object* v___x_5597_; lean_object* v___x_5598_; 
lean_dec_ref(v___y_5487_);
lean_dec_ref(v_msgData_5482_);
v___x_5597_ = lean_box(0);
v___x_5598_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5598_, 0, v___x_5597_);
return v___x_5598_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg___boxed(lean_object* v_ref_5601_, lean_object* v_msgData_5602_, lean_object* v_severity_5603_, lean_object* v_isSilent_5604_, lean_object* v___y_5605_, lean_object* v___y_5606_, lean_object* v___y_5607_, lean_object* v___y_5608_, lean_object* v___y_5609_){
_start:
{
uint8_t v_severity_boxed_5610_; uint8_t v_isSilent_boxed_5611_; lean_object* v_res_5612_; 
v_severity_boxed_5610_ = lean_unbox(v_severity_5603_);
v_isSilent_boxed_5611_ = lean_unbox(v_isSilent_5604_);
v_res_5612_ = l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg(v_ref_5601_, v_msgData_5602_, v_severity_boxed_5610_, v_isSilent_boxed_5611_, v___y_5605_, v___y_5606_, v___y_5607_, v___y_5608_);
lean_dec(v___y_5608_);
lean_dec(v___y_5606_);
lean_dec_ref(v___y_5605_);
lean_dec(v_ref_5601_);
return v_res_5612_;
}
}
LEAN_EXPORT lean_object* l_Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6(lean_object* v_msgData_5613_, uint8_t v_severity_5614_, uint8_t v_isSilent_5615_, lean_object* v___y_5616_, lean_object* v___y_5617_, lean_object* v___y_5618_, lean_object* v___y_5619_, lean_object* v___y_5620_, lean_object* v___y_5621_, lean_object* v___y_5622_, lean_object* v___y_5623_, lean_object* v___y_5624_){
_start:
{
lean_object* v_ref_5626_; lean_object* v___x_5627_; 
v_ref_5626_ = lean_ctor_get(v___y_5623_, 5);
lean_inc(v_ref_5626_);
v___x_5627_ = l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg(v_ref_5626_, v_msgData_5613_, v_severity_5614_, v_isSilent_5615_, v___y_5621_, v___y_5622_, v___y_5623_, v___y_5624_);
lean_dec(v_ref_5626_);
return v___x_5627_;
}
}
LEAN_EXPORT lean_object* l_Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6___boxed(lean_object* v_msgData_5628_, lean_object* v_severity_5629_, lean_object* v_isSilent_5630_, lean_object* v___y_5631_, lean_object* v___y_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_, lean_object* v___y_5638_, lean_object* v___y_5639_, lean_object* v___y_5640_){
_start:
{
uint8_t v_severity_boxed_5641_; uint8_t v_isSilent_boxed_5642_; lean_object* v_res_5643_; 
v_severity_boxed_5641_ = lean_unbox(v_severity_5629_);
v_isSilent_boxed_5642_ = lean_unbox(v_isSilent_5630_);
v_res_5643_ = l_Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6(v_msgData_5628_, v_severity_boxed_5641_, v_isSilent_boxed_5642_, v___y_5631_, v___y_5632_, v___y_5633_, v___y_5634_, v___y_5635_, v___y_5636_, v___y_5637_, v___y_5638_, v___y_5639_);
lean_dec(v___y_5639_);
lean_dec(v___y_5637_);
lean_dec_ref(v___y_5636_);
lean_dec(v___y_5635_);
lean_dec_ref(v___y_5634_);
lean_dec(v___y_5633_);
lean_dec_ref(v___y_5632_);
lean_dec(v___y_5631_);
return v_res_5643_;
}
}
LEAN_EXPORT lean_object* l_Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5(lean_object* v_msgData_5644_, lean_object* v___y_5645_, lean_object* v___y_5646_, lean_object* v___y_5647_, lean_object* v___y_5648_, lean_object* v___y_5649_, lean_object* v___y_5650_, lean_object* v___y_5651_, lean_object* v___y_5652_, lean_object* v___y_5653_){
_start:
{
uint8_t v___x_5655_; uint8_t v___x_5656_; lean_object* v___x_5657_; 
v___x_5655_ = 1;
v___x_5656_ = 0;
v___x_5657_ = l_Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6(v_msgData_5644_, v___x_5655_, v___x_5656_, v___y_5645_, v___y_5646_, v___y_5647_, v___y_5648_, v___y_5649_, v___y_5650_, v___y_5651_, v___y_5652_, v___y_5653_);
return v___x_5657_;
}
}
LEAN_EXPORT lean_object* l_Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5___boxed(lean_object* v_msgData_5658_, lean_object* v___y_5659_, lean_object* v___y_5660_, lean_object* v___y_5661_, lean_object* v___y_5662_, lean_object* v___y_5663_, lean_object* v___y_5664_, lean_object* v___y_5665_, lean_object* v___y_5666_, lean_object* v___y_5667_, lean_object* v___y_5668_){
_start:
{
lean_object* v_res_5669_; 
v_res_5669_ = l_Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5(v_msgData_5658_, v___y_5659_, v___y_5660_, v___y_5661_, v___y_5662_, v___y_5663_, v___y_5664_, v___y_5665_, v___y_5666_, v___y_5667_);
lean_dec(v___y_5667_);
lean_dec(v___y_5665_);
lean_dec_ref(v___y_5664_);
lean_dec(v___y_5663_);
lean_dec_ref(v___y_5662_);
lean_dec(v___y_5661_);
lean_dec_ref(v___y_5660_);
lean_dec(v___y_5659_);
return v_res_5669_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__9___redArg(lean_object* v_f_5670_, lean_object* v_keys_5671_, lean_object* v_vals_5672_, lean_object* v_i_5673_, lean_object* v_acc_5674_, lean_object* v___y_5675_, lean_object* v___y_5676_, lean_object* v___y_5677_, lean_object* v___y_5678_, lean_object* v___y_5679_, lean_object* v___y_5680_, lean_object* v___y_5681_, lean_object* v___y_5682_, lean_object* v___y_5683_){
_start:
{
lean_object* v___x_5685_; uint8_t v___x_5686_; 
v___x_5685_ = lean_array_get_size(v_keys_5671_);
v___x_5686_ = lean_nat_dec_lt(v_i_5673_, v___x_5685_);
if (v___x_5686_ == 0)
{
lean_object* v___x_5687_; lean_object* v___x_5688_; 
lean_dec(v___y_5683_);
lean_dec_ref(v___y_5682_);
lean_dec(v___y_5681_);
lean_dec_ref(v___y_5680_);
lean_dec(v___y_5679_);
lean_dec_ref(v___y_5678_);
lean_dec(v___y_5677_);
lean_dec_ref(v___y_5676_);
lean_dec(v___y_5675_);
lean_dec(v_i_5673_);
lean_dec_ref(v_f_5670_);
v___x_5687_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5687_, 0, v_acc_5674_);
v___x_5688_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5688_, 0, v___x_5687_);
return v___x_5688_;
}
else
{
lean_object* v_k_5689_; lean_object* v_v_5690_; lean_object* v___x_5691_; 
v_k_5689_ = lean_array_fget_borrowed(v_keys_5671_, v_i_5673_);
v_v_5690_ = lean_array_fget_borrowed(v_vals_5672_, v_i_5673_);
lean_inc_ref(v_f_5670_);
lean_inc(v___y_5683_);
lean_inc_ref(v___y_5682_);
lean_inc(v___y_5681_);
lean_inc_ref(v___y_5680_);
lean_inc(v___y_5679_);
lean_inc_ref(v___y_5678_);
lean_inc(v___y_5677_);
lean_inc_ref(v___y_5676_);
lean_inc(v___y_5675_);
lean_inc(v_v_5690_);
lean_inc(v_k_5689_);
v___x_5691_ = lean_apply_13(v_f_5670_, v_acc_5674_, v_k_5689_, v_v_5690_, v___y_5675_, v___y_5676_, v___y_5677_, v___y_5678_, v___y_5679_, v___y_5680_, v___y_5681_, v___y_5682_, v___y_5683_, lean_box(0));
if (lean_obj_tag(v___x_5691_) == 0)
{
lean_object* v_a_5692_; 
v_a_5692_ = lean_ctor_get(v___x_5691_, 0);
lean_inc(v_a_5692_);
if (lean_obj_tag(v_a_5692_) == 0)
{
lean_dec_ref(v_a_5692_);
lean_dec(v___y_5683_);
lean_dec_ref(v___y_5682_);
lean_dec(v___y_5681_);
lean_dec_ref(v___y_5680_);
lean_dec(v___y_5679_);
lean_dec_ref(v___y_5678_);
lean_dec(v___y_5677_);
lean_dec_ref(v___y_5676_);
lean_dec(v___y_5675_);
lean_dec(v_i_5673_);
lean_dec_ref(v_f_5670_);
return v___x_5691_;
}
else
{
lean_object* v_a_5693_; lean_object* v___x_5694_; lean_object* v___x_5695_; 
lean_dec_ref(v___x_5691_);
v_a_5693_ = lean_ctor_get(v_a_5692_, 0);
lean_inc(v_a_5693_);
lean_dec_ref(v_a_5692_);
v___x_5694_ = lean_unsigned_to_nat(1u);
v___x_5695_ = lean_nat_add(v_i_5673_, v___x_5694_);
lean_dec(v_i_5673_);
v_i_5673_ = v___x_5695_;
v_acc_5674_ = v_a_5693_;
goto _start;
}
}
else
{
lean_dec(v___y_5683_);
lean_dec_ref(v___y_5682_);
lean_dec(v___y_5681_);
lean_dec_ref(v___y_5680_);
lean_dec(v___y_5679_);
lean_dec_ref(v___y_5678_);
lean_dec(v___y_5677_);
lean_dec_ref(v___y_5676_);
lean_dec(v___y_5675_);
lean_dec(v_i_5673_);
lean_dec_ref(v_f_5670_);
return v___x_5691_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__9___redArg___boxed(lean_object* v_f_5697_, lean_object* v_keys_5698_, lean_object* v_vals_5699_, lean_object* v_i_5700_, lean_object* v_acc_5701_, lean_object* v___y_5702_, lean_object* v___y_5703_, lean_object* v___y_5704_, lean_object* v___y_5705_, lean_object* v___y_5706_, lean_object* v___y_5707_, lean_object* v___y_5708_, lean_object* v___y_5709_, lean_object* v___y_5710_, lean_object* v___y_5711_){
_start:
{
lean_object* v_res_5712_; 
v_res_5712_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__9___redArg(v_f_5697_, v_keys_5698_, v_vals_5699_, v_i_5700_, v_acc_5701_, v___y_5702_, v___y_5703_, v___y_5704_, v___y_5705_, v___y_5706_, v___y_5707_, v___y_5708_, v___y_5709_, v___y_5710_);
lean_dec_ref(v_vals_5699_);
lean_dec_ref(v_keys_5698_);
return v_res_5712_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4___redArg(lean_object* v_f_5713_, lean_object* v_x_5714_, lean_object* v_x_5715_, lean_object* v___y_5716_, lean_object* v___y_5717_, lean_object* v___y_5718_, lean_object* v___y_5719_, lean_object* v___y_5720_, lean_object* v___y_5721_, lean_object* v___y_5722_, lean_object* v___y_5723_, lean_object* v___y_5724_){
_start:
{
if (lean_obj_tag(v_x_5714_) == 0)
{
lean_object* v_es_5726_; lean_object* v___x_5728_; uint8_t v_isShared_5729_; uint8_t v_isSharedCheck_5748_; 
v_es_5726_ = lean_ctor_get(v_x_5714_, 0);
v_isSharedCheck_5748_ = !lean_is_exclusive(v_x_5714_);
if (v_isSharedCheck_5748_ == 0)
{
v___x_5728_ = v_x_5714_;
v_isShared_5729_ = v_isSharedCheck_5748_;
goto v_resetjp_5727_;
}
else
{
lean_inc(v_es_5726_);
lean_dec(v_x_5714_);
v___x_5728_ = lean_box(0);
v_isShared_5729_ = v_isSharedCheck_5748_;
goto v_resetjp_5727_;
}
v_resetjp_5727_:
{
lean_object* v___x_5730_; lean_object* v___x_5731_; uint8_t v___x_5732_; 
v___x_5730_ = lean_unsigned_to_nat(0u);
v___x_5731_ = lean_array_get_size(v_es_5726_);
v___x_5732_ = lean_nat_dec_lt(v___x_5730_, v___x_5731_);
if (v___x_5732_ == 0)
{
lean_object* v___x_5734_; 
lean_dec_ref(v_es_5726_);
lean_dec(v___y_5724_);
lean_dec_ref(v___y_5723_);
lean_dec(v___y_5722_);
lean_dec_ref(v___y_5721_);
lean_dec(v___y_5720_);
lean_dec_ref(v___y_5719_);
lean_dec(v___y_5718_);
lean_dec_ref(v___y_5717_);
lean_dec(v___y_5716_);
lean_dec_ref(v_f_5713_);
if (v_isShared_5729_ == 0)
{
lean_ctor_set_tag(v___x_5728_, 1);
lean_ctor_set(v___x_5728_, 0, v_x_5715_);
v___x_5734_ = v___x_5728_;
goto v_reusejp_5733_;
}
else
{
lean_object* v_reuseFailAlloc_5736_; 
v_reuseFailAlloc_5736_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5736_, 0, v_x_5715_);
v___x_5734_ = v_reuseFailAlloc_5736_;
goto v_reusejp_5733_;
}
v_reusejp_5733_:
{
lean_object* v___x_5735_; 
v___x_5735_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5735_, 0, v___x_5734_);
return v___x_5735_;
}
}
else
{
uint8_t v___x_5737_; 
v___x_5737_ = lean_nat_dec_le(v___x_5731_, v___x_5731_);
if (v___x_5737_ == 0)
{
if (v___x_5732_ == 0)
{
lean_object* v___x_5739_; 
lean_dec_ref(v_es_5726_);
lean_dec(v___y_5724_);
lean_dec_ref(v___y_5723_);
lean_dec(v___y_5722_);
lean_dec_ref(v___y_5721_);
lean_dec(v___y_5720_);
lean_dec_ref(v___y_5719_);
lean_dec(v___y_5718_);
lean_dec_ref(v___y_5717_);
lean_dec(v___y_5716_);
lean_dec_ref(v_f_5713_);
if (v_isShared_5729_ == 0)
{
lean_ctor_set_tag(v___x_5728_, 1);
lean_ctor_set(v___x_5728_, 0, v_x_5715_);
v___x_5739_ = v___x_5728_;
goto v_reusejp_5738_;
}
else
{
lean_object* v_reuseFailAlloc_5741_; 
v_reuseFailAlloc_5741_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5741_, 0, v_x_5715_);
v___x_5739_ = v_reuseFailAlloc_5741_;
goto v_reusejp_5738_;
}
v_reusejp_5738_:
{
lean_object* v___x_5740_; 
v___x_5740_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5740_, 0, v___x_5739_);
return v___x_5740_;
}
}
else
{
size_t v___x_5742_; size_t v___x_5743_; lean_object* v___x_5744_; 
lean_del_object(v___x_5728_);
v___x_5742_ = ((size_t)0ULL);
v___x_5743_ = lean_usize_of_nat(v___x_5731_);
v___x_5744_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8___redArg(v_f_5713_, v_es_5726_, v___x_5742_, v___x_5743_, v_x_5715_, v___y_5716_, v___y_5717_, v___y_5718_, v___y_5719_, v___y_5720_, v___y_5721_, v___y_5722_, v___y_5723_, v___y_5724_);
lean_dec_ref(v_es_5726_);
return v___x_5744_;
}
}
else
{
size_t v___x_5745_; size_t v___x_5746_; lean_object* v___x_5747_; 
lean_del_object(v___x_5728_);
v___x_5745_ = ((size_t)0ULL);
v___x_5746_ = lean_usize_of_nat(v___x_5731_);
v___x_5747_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8___redArg(v_f_5713_, v_es_5726_, v___x_5745_, v___x_5746_, v_x_5715_, v___y_5716_, v___y_5717_, v___y_5718_, v___y_5719_, v___y_5720_, v___y_5721_, v___y_5722_, v___y_5723_, v___y_5724_);
lean_dec_ref(v_es_5726_);
return v___x_5747_;
}
}
}
}
else
{
lean_object* v_ks_5749_; lean_object* v_vs_5750_; lean_object* v___x_5751_; lean_object* v___x_5752_; 
v_ks_5749_ = lean_ctor_get(v_x_5714_, 0);
lean_inc_ref(v_ks_5749_);
v_vs_5750_ = lean_ctor_get(v_x_5714_, 1);
lean_inc_ref(v_vs_5750_);
lean_dec_ref(v_x_5714_);
v___x_5751_ = lean_unsigned_to_nat(0u);
v___x_5752_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__9___redArg(v_f_5713_, v_ks_5749_, v_vs_5750_, v___x_5751_, v_x_5715_, v___y_5716_, v___y_5717_, v___y_5718_, v___y_5719_, v___y_5720_, v___y_5721_, v___y_5722_, v___y_5723_, v___y_5724_);
lean_dec_ref(v_vs_5750_);
lean_dec_ref(v_ks_5749_);
return v___x_5752_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8___redArg(lean_object* v_f_5753_, lean_object* v_as_5754_, size_t v_i_5755_, size_t v_stop_5756_, lean_object* v_b_5757_, lean_object* v___y_5758_, lean_object* v___y_5759_, lean_object* v___y_5760_, lean_object* v___y_5761_, lean_object* v___y_5762_, lean_object* v___y_5763_, lean_object* v___y_5764_, lean_object* v___y_5765_, lean_object* v___y_5766_){
_start:
{
lean_object* v_a_5769_; lean_object* v___y_5774_; uint8_t v___x_5777_; 
v___x_5777_ = lean_usize_dec_eq(v_i_5755_, v_stop_5756_);
if (v___x_5777_ == 0)
{
lean_object* v___x_5778_; 
v___x_5778_ = lean_array_uget_borrowed(v_as_5754_, v_i_5755_);
switch(lean_obj_tag(v___x_5778_))
{
case 0:
{
lean_object* v_key_5779_; lean_object* v_val_5780_; lean_object* v___x_5781_; 
v_key_5779_ = lean_ctor_get(v___x_5778_, 0);
v_val_5780_ = lean_ctor_get(v___x_5778_, 1);
lean_inc_ref(v_f_5753_);
lean_inc(v___y_5766_);
lean_inc_ref(v___y_5765_);
lean_inc(v___y_5764_);
lean_inc_ref(v___y_5763_);
lean_inc(v___y_5762_);
lean_inc_ref(v___y_5761_);
lean_inc(v___y_5760_);
lean_inc_ref(v___y_5759_);
lean_inc(v___y_5758_);
lean_inc(v_val_5780_);
lean_inc(v_key_5779_);
v___x_5781_ = lean_apply_13(v_f_5753_, v_b_5757_, v_key_5779_, v_val_5780_, v___y_5758_, v___y_5759_, v___y_5760_, v___y_5761_, v___y_5762_, v___y_5763_, v___y_5764_, v___y_5765_, v___y_5766_, lean_box(0));
v___y_5774_ = v___x_5781_;
goto v___jp_5773_;
}
case 1:
{
lean_object* v_node_5782_; lean_object* v___x_5783_; 
v_node_5782_ = lean_ctor_get(v___x_5778_, 0);
lean_inc(v___y_5766_);
lean_inc_ref(v___y_5765_);
lean_inc(v___y_5764_);
lean_inc_ref(v___y_5763_);
lean_inc(v___y_5762_);
lean_inc_ref(v___y_5761_);
lean_inc(v___y_5760_);
lean_inc_ref(v___y_5759_);
lean_inc(v___y_5758_);
lean_inc(v_node_5782_);
lean_inc_ref(v_f_5753_);
v___x_5783_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4___redArg(v_f_5753_, v_node_5782_, v_b_5757_, v___y_5758_, v___y_5759_, v___y_5760_, v___y_5761_, v___y_5762_, v___y_5763_, v___y_5764_, v___y_5765_, v___y_5766_);
v___y_5774_ = v___x_5783_;
goto v___jp_5773_;
}
default: 
{
v_a_5769_ = v_b_5757_;
goto v___jp_5768_;
}
}
}
else
{
lean_object* v___x_5784_; lean_object* v___x_5785_; 
lean_dec(v___y_5766_);
lean_dec_ref(v___y_5765_);
lean_dec(v___y_5764_);
lean_dec_ref(v___y_5763_);
lean_dec(v___y_5762_);
lean_dec_ref(v___y_5761_);
lean_dec(v___y_5760_);
lean_dec_ref(v___y_5759_);
lean_dec(v___y_5758_);
lean_dec_ref(v_f_5753_);
v___x_5784_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_5784_, 0, v_b_5757_);
v___x_5785_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_5785_, 0, v___x_5784_);
return v___x_5785_;
}
v___jp_5768_:
{
size_t v___x_5770_; size_t v___x_5771_; 
v___x_5770_ = ((size_t)1ULL);
v___x_5771_ = lean_usize_add(v_i_5755_, v___x_5770_);
v_i_5755_ = v___x_5771_;
v_b_5757_ = v_a_5769_;
goto _start;
}
v___jp_5773_:
{
if (lean_obj_tag(v___y_5774_) == 0)
{
lean_object* v_a_5775_; 
v_a_5775_ = lean_ctor_get(v___y_5774_, 0);
if (lean_obj_tag(v_a_5775_) == 0)
{
lean_dec(v___y_5766_);
lean_dec_ref(v___y_5765_);
lean_dec(v___y_5764_);
lean_dec_ref(v___y_5763_);
lean_dec(v___y_5762_);
lean_dec_ref(v___y_5761_);
lean_dec(v___y_5760_);
lean_dec_ref(v___y_5759_);
lean_dec(v___y_5758_);
lean_dec_ref(v_f_5753_);
return v___y_5774_;
}
else
{
lean_object* v_a_5776_; 
lean_inc_ref(v_a_5775_);
lean_dec_ref(v___y_5774_);
v_a_5776_ = lean_ctor_get(v_a_5775_, 0);
lean_inc(v_a_5776_);
lean_dec_ref(v_a_5775_);
v_a_5769_ = v_a_5776_;
goto v___jp_5768_;
}
}
else
{
lean_dec(v___y_5766_);
lean_dec_ref(v___y_5765_);
lean_dec(v___y_5764_);
lean_dec_ref(v___y_5763_);
lean_dec(v___y_5762_);
lean_dec_ref(v___y_5761_);
lean_dec(v___y_5760_);
lean_dec_ref(v___y_5759_);
lean_dec(v___y_5758_);
lean_dec_ref(v_f_5753_);
return v___y_5774_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8___redArg___boxed(lean_object* v_f_5786_, lean_object* v_as_5787_, lean_object* v_i_5788_, lean_object* v_stop_5789_, lean_object* v_b_5790_, lean_object* v___y_5791_, lean_object* v___y_5792_, lean_object* v___y_5793_, lean_object* v___y_5794_, lean_object* v___y_5795_, lean_object* v___y_5796_, lean_object* v___y_5797_, lean_object* v___y_5798_, lean_object* v___y_5799_, lean_object* v___y_5800_){
_start:
{
size_t v_i_boxed_5801_; size_t v_stop_boxed_5802_; lean_object* v_res_5803_; 
v_i_boxed_5801_ = lean_unbox_usize(v_i_5788_);
lean_dec(v_i_5788_);
v_stop_boxed_5802_ = lean_unbox_usize(v_stop_5789_);
lean_dec(v_stop_5789_);
v_res_5803_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8___redArg(v_f_5786_, v_as_5787_, v_i_boxed_5801_, v_stop_boxed_5802_, v_b_5790_, v___y_5791_, v___y_5792_, v___y_5793_, v___y_5794_, v___y_5795_, v___y_5796_, v___y_5797_, v___y_5798_, v___y_5799_);
lean_dec_ref(v_as_5787_);
return v_res_5803_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4___redArg___boxed(lean_object* v_f_5804_, lean_object* v_x_5805_, lean_object* v_x_5806_, lean_object* v___y_5807_, lean_object* v___y_5808_, lean_object* v___y_5809_, lean_object* v___y_5810_, lean_object* v___y_5811_, lean_object* v___y_5812_, lean_object* v___y_5813_, lean_object* v___y_5814_, lean_object* v___y_5815_, lean_object* v___y_5816_){
_start:
{
lean_object* v_res_5817_; 
v_res_5817_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4___redArg(v_f_5804_, v_x_5805_, v_x_5806_, v___y_5807_, v___y_5808_, v___y_5809_, v___y_5810_, v___y_5811_, v___y_5812_, v___y_5813_, v___y_5814_, v___y_5815_);
return v_res_5817_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___redArg___lam__0(lean_object* v_f_5818_, lean_object* v_s_5819_, lean_object* v_a_5820_, lean_object* v_b_5821_, lean_object* v___y_5822_, lean_object* v___y_5823_, lean_object* v___y_5824_, lean_object* v___y_5825_, lean_object* v___y_5826_, lean_object* v___y_5827_, lean_object* v___y_5828_, lean_object* v___y_5829_, lean_object* v___y_5830_){
_start:
{
lean_object* v___x_5832_; lean_object* v___x_5833_; 
v___x_5832_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_5832_, 0, v_a_5820_);
lean_ctor_set(v___x_5832_, 1, v_b_5821_);
v___x_5833_ = lean_apply_12(v_f_5818_, v___x_5832_, v_s_5819_, v___y_5822_, v___y_5823_, v___y_5824_, v___y_5825_, v___y_5826_, v___y_5827_, v___y_5828_, v___y_5829_, v___y_5830_, lean_box(0));
if (lean_obj_tag(v___x_5833_) == 0)
{
lean_object* v_a_5834_; lean_object* v___x_5836_; uint8_t v_isShared_5837_; uint8_t v_isSharedCheck_5860_; 
v_a_5834_ = lean_ctor_get(v___x_5833_, 0);
v_isSharedCheck_5860_ = !lean_is_exclusive(v___x_5833_);
if (v_isSharedCheck_5860_ == 0)
{
v___x_5836_ = v___x_5833_;
v_isShared_5837_ = v_isSharedCheck_5860_;
goto v_resetjp_5835_;
}
else
{
lean_inc(v_a_5834_);
lean_dec(v___x_5833_);
v___x_5836_ = lean_box(0);
v_isShared_5837_ = v_isSharedCheck_5860_;
goto v_resetjp_5835_;
}
v_resetjp_5835_:
{
if (lean_obj_tag(v_a_5834_) == 0)
{
lean_object* v_a_5838_; lean_object* v___x_5840_; uint8_t v_isShared_5841_; uint8_t v_isSharedCheck_5848_; 
v_a_5838_ = lean_ctor_get(v_a_5834_, 0);
v_isSharedCheck_5848_ = !lean_is_exclusive(v_a_5834_);
if (v_isSharedCheck_5848_ == 0)
{
v___x_5840_ = v_a_5834_;
v_isShared_5841_ = v_isSharedCheck_5848_;
goto v_resetjp_5839_;
}
else
{
lean_inc(v_a_5838_);
lean_dec(v_a_5834_);
v___x_5840_ = lean_box(0);
v_isShared_5841_ = v_isSharedCheck_5848_;
goto v_resetjp_5839_;
}
v_resetjp_5839_:
{
lean_object* v___x_5843_; 
if (v_isShared_5841_ == 0)
{
v___x_5843_ = v___x_5840_;
goto v_reusejp_5842_;
}
else
{
lean_object* v_reuseFailAlloc_5847_; 
v_reuseFailAlloc_5847_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5847_, 0, v_a_5838_);
v___x_5843_ = v_reuseFailAlloc_5847_;
goto v_reusejp_5842_;
}
v_reusejp_5842_:
{
lean_object* v___x_5845_; 
if (v_isShared_5837_ == 0)
{
lean_ctor_set(v___x_5836_, 0, v___x_5843_);
v___x_5845_ = v___x_5836_;
goto v_reusejp_5844_;
}
else
{
lean_object* v_reuseFailAlloc_5846_; 
v_reuseFailAlloc_5846_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5846_, 0, v___x_5843_);
v___x_5845_ = v_reuseFailAlloc_5846_;
goto v_reusejp_5844_;
}
v_reusejp_5844_:
{
return v___x_5845_;
}
}
}
}
else
{
lean_object* v_a_5849_; lean_object* v___x_5851_; uint8_t v_isShared_5852_; uint8_t v_isSharedCheck_5859_; 
v_a_5849_ = lean_ctor_get(v_a_5834_, 0);
v_isSharedCheck_5859_ = !lean_is_exclusive(v_a_5834_);
if (v_isSharedCheck_5859_ == 0)
{
v___x_5851_ = v_a_5834_;
v_isShared_5852_ = v_isSharedCheck_5859_;
goto v_resetjp_5850_;
}
else
{
lean_inc(v_a_5849_);
lean_dec(v_a_5834_);
v___x_5851_ = lean_box(0);
v_isShared_5852_ = v_isSharedCheck_5859_;
goto v_resetjp_5850_;
}
v_resetjp_5850_:
{
lean_object* v___x_5854_; 
if (v_isShared_5852_ == 0)
{
v___x_5854_ = v___x_5851_;
goto v_reusejp_5853_;
}
else
{
lean_object* v_reuseFailAlloc_5858_; 
v_reuseFailAlloc_5858_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5858_, 0, v_a_5849_);
v___x_5854_ = v_reuseFailAlloc_5858_;
goto v_reusejp_5853_;
}
v_reusejp_5853_:
{
lean_object* v___x_5856_; 
if (v_isShared_5837_ == 0)
{
lean_ctor_set(v___x_5836_, 0, v___x_5854_);
v___x_5856_ = v___x_5836_;
goto v_reusejp_5855_;
}
else
{
lean_object* v_reuseFailAlloc_5857_; 
v_reuseFailAlloc_5857_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5857_, 0, v___x_5854_);
v___x_5856_ = v_reuseFailAlloc_5857_;
goto v_reusejp_5855_;
}
v_reusejp_5855_:
{
return v___x_5856_;
}
}
}
}
}
}
else
{
lean_object* v_a_5861_; lean_object* v___x_5863_; uint8_t v_isShared_5864_; uint8_t v_isSharedCheck_5868_; 
v_a_5861_ = lean_ctor_get(v___x_5833_, 0);
v_isSharedCheck_5868_ = !lean_is_exclusive(v___x_5833_);
if (v_isSharedCheck_5868_ == 0)
{
v___x_5863_ = v___x_5833_;
v_isShared_5864_ = v_isSharedCheck_5868_;
goto v_resetjp_5862_;
}
else
{
lean_inc(v_a_5861_);
lean_dec(v___x_5833_);
v___x_5863_ = lean_box(0);
v_isShared_5864_ = v_isSharedCheck_5868_;
goto v_resetjp_5862_;
}
v_resetjp_5862_:
{
lean_object* v___x_5866_; 
if (v_isShared_5864_ == 0)
{
v___x_5866_ = v___x_5863_;
goto v_reusejp_5865_;
}
else
{
lean_object* v_reuseFailAlloc_5867_; 
v_reuseFailAlloc_5867_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5867_, 0, v_a_5861_);
v___x_5866_ = v_reuseFailAlloc_5867_;
goto v_reusejp_5865_;
}
v_reusejp_5865_:
{
return v___x_5866_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___redArg___lam__0___boxed(lean_object* v_f_5869_, lean_object* v_s_5870_, lean_object* v_a_5871_, lean_object* v_b_5872_, lean_object* v___y_5873_, lean_object* v___y_5874_, lean_object* v___y_5875_, lean_object* v___y_5876_, lean_object* v___y_5877_, lean_object* v___y_5878_, lean_object* v___y_5879_, lean_object* v___y_5880_, lean_object* v___y_5881_, lean_object* v___y_5882_){
_start:
{
lean_object* v_res_5883_; 
v_res_5883_ = l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___redArg___lam__0(v_f_5869_, v_s_5870_, v_a_5871_, v_b_5872_, v___y_5873_, v___y_5874_, v___y_5875_, v___y_5876_, v___y_5877_, v___y_5878_, v___y_5879_, v___y_5880_, v___y_5881_);
return v_res_5883_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___redArg(lean_object* v_map_5884_, lean_object* v_init_5885_, lean_object* v_f_5886_, lean_object* v___y_5887_, lean_object* v___y_5888_, lean_object* v___y_5889_, lean_object* v___y_5890_, lean_object* v___y_5891_, lean_object* v___y_5892_, lean_object* v___y_5893_, lean_object* v___y_5894_, lean_object* v___y_5895_){
_start:
{
lean_object* v___f_5897_; lean_object* v___x_5898_; 
v___f_5897_ = lean_alloc_closure((void*)(l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___redArg___lam__0___boxed), 14, 1);
lean_closure_set(v___f_5897_, 0, v_f_5886_);
v___x_5898_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4___redArg(v___f_5897_, v_map_5884_, v_init_5885_, v___y_5887_, v___y_5888_, v___y_5889_, v___y_5890_, v___y_5891_, v___y_5892_, v___y_5893_, v___y_5894_, v___y_5895_);
if (lean_obj_tag(v___x_5898_) == 0)
{
lean_object* v_a_5899_; lean_object* v___x_5901_; uint8_t v_isShared_5902_; uint8_t v_isSharedCheck_5907_; 
v_a_5899_ = lean_ctor_get(v___x_5898_, 0);
v_isSharedCheck_5907_ = !lean_is_exclusive(v___x_5898_);
if (v_isSharedCheck_5907_ == 0)
{
v___x_5901_ = v___x_5898_;
v_isShared_5902_ = v_isSharedCheck_5907_;
goto v_resetjp_5900_;
}
else
{
lean_inc(v_a_5899_);
lean_dec(v___x_5898_);
v___x_5901_ = lean_box(0);
v_isShared_5902_ = v_isSharedCheck_5907_;
goto v_resetjp_5900_;
}
v_resetjp_5900_:
{
lean_object* v_a_5903_; lean_object* v___x_5905_; 
v_a_5903_ = lean_ctor_get(v_a_5899_, 0);
lean_inc(v_a_5903_);
lean_dec(v_a_5899_);
if (v_isShared_5902_ == 0)
{
lean_ctor_set(v___x_5901_, 0, v_a_5903_);
v___x_5905_ = v___x_5901_;
goto v_reusejp_5904_;
}
else
{
lean_object* v_reuseFailAlloc_5906_; 
v_reuseFailAlloc_5906_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5906_, 0, v_a_5903_);
v___x_5905_ = v_reuseFailAlloc_5906_;
goto v_reusejp_5904_;
}
v_reusejp_5904_:
{
return v___x_5905_;
}
}
}
else
{
lean_object* v_a_5908_; lean_object* v___x_5910_; uint8_t v_isShared_5911_; uint8_t v_isSharedCheck_5915_; 
v_a_5908_ = lean_ctor_get(v___x_5898_, 0);
v_isSharedCheck_5915_ = !lean_is_exclusive(v___x_5898_);
if (v_isSharedCheck_5915_ == 0)
{
v___x_5910_ = v___x_5898_;
v_isShared_5911_ = v_isSharedCheck_5915_;
goto v_resetjp_5909_;
}
else
{
lean_inc(v_a_5908_);
lean_dec(v___x_5898_);
v___x_5910_ = lean_box(0);
v_isShared_5911_ = v_isSharedCheck_5915_;
goto v_resetjp_5909_;
}
v_resetjp_5909_:
{
lean_object* v___x_5913_; 
if (v_isShared_5911_ == 0)
{
v___x_5913_ = v___x_5910_;
goto v_reusejp_5912_;
}
else
{
lean_object* v_reuseFailAlloc_5914_; 
v_reuseFailAlloc_5914_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5914_, 0, v_a_5908_);
v___x_5913_ = v_reuseFailAlloc_5914_;
goto v_reusejp_5912_;
}
v_reusejp_5912_:
{
return v___x_5913_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___redArg___boxed(lean_object* v_map_5916_, lean_object* v_init_5917_, lean_object* v_f_5918_, lean_object* v___y_5919_, lean_object* v___y_5920_, lean_object* v___y_5921_, lean_object* v___y_5922_, lean_object* v___y_5923_, lean_object* v___y_5924_, lean_object* v___y_5925_, lean_object* v___y_5926_, lean_object* v___y_5927_, lean_object* v___y_5928_){
_start:
{
lean_object* v_res_5929_; 
v_res_5929_ = l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___redArg(v_map_5916_, v_init_5917_, v_f_5918_, v___y_5919_, v___y_5920_, v___y_5921_, v___y_5922_, v___y_5923_, v___y_5924_, v___y_5925_, v___y_5926_, v___y_5927_);
return v_res_5929_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_checkUnusedActivations___closed__2(void){
_start:
{
lean_object* v___x_5933_; lean_object* v___x_5934_; 
v___x_5933_ = ((lean_object*)(l_Lean_Meta_Grind_checkUnusedActivations___closed__1));
v___x_5934_ = l_Lean_MessageData_ofFormat(v___x_5933_);
return v___x_5934_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_checkUnusedActivations(lean_object* v_mvarId_5935_, lean_object* v_counters_5936_, lean_object* v_a_5937_, lean_object* v_a_5938_, lean_object* v_a_5939_, lean_object* v_a_5940_, lean_object* v_a_5941_, lean_object* v_a_5942_, lean_object* v_a_5943_, lean_object* v_a_5944_, lean_object* v_a_5945_){
_start:
{
lean_object* v_options_5947_; lean_object* v___x_5948_; lean_object* v___x_5949_; lean_object* v___x_5950_; uint8_t v___x_5951_; 
v_options_5947_ = lean_ctor_get(v_a_5944_, 2);
v___x_5948_ = l_Lean_Meta_Grind_grind_unusedLemmaThreshold;
v___x_5949_ = l_Lean_Option_get___at___00Lean_Meta_Grind_checkUnusedActivations_spec__0(v_options_5947_, v___x_5948_);
v___x_5950_ = lean_unsigned_to_nat(0u);
v___x_5951_ = lean_nat_dec_eq(v___x_5949_, v___x_5950_);
if (v___x_5951_ == 0)
{
lean_object* v___x_5952_; lean_object* v___x_5953_; lean_object* v_a_5954_; lean_object* v___x_5955_; lean_object* v_instanceMap_5956_; lean_object* v_thm_5957_; lean_object* v___x_5959_; uint8_t v_isShared_5960_; uint8_t v_isSharedCheck_6014_; 
v___x_5952_ = l_Lean_mkMVar(v_mvarId_5935_);
v___x_5953_ = l_Lean_instantiateMVars___at___00Lean_Meta_Grind_checkUnusedActivations_spec__1___redArg(v___x_5952_, v_a_5943_);
v_a_5954_ = lean_ctor_get(v___x_5953_, 0);
lean_inc(v_a_5954_);
lean_dec_ref(v___x_5953_);
v___x_5955_ = lean_st_ref_get(v_a_5939_);
v_instanceMap_5956_ = lean_ctor_get(v___x_5955_, 9);
lean_inc_ref(v_instanceMap_5956_);
lean_dec(v___x_5955_);
v_thm_5957_ = lean_ctor_get(v_counters_5936_, 0);
v_isSharedCheck_6014_ = !lean_is_exclusive(v_counters_5936_);
if (v_isSharedCheck_6014_ == 0)
{
lean_object* v_unused_6015_; lean_object* v_unused_6016_; 
v_unused_6015_ = lean_ctor_get(v_counters_5936_, 2);
lean_dec(v_unused_6015_);
v_unused_6016_ = lean_ctor_get(v_counters_5936_, 1);
lean_dec(v_unused_6016_);
v___x_5959_ = v_counters_5936_;
v_isShared_5960_ = v_isSharedCheck_6014_;
goto v_resetjp_5958_;
}
else
{
lean_inc(v_thm_5957_);
lean_dec(v_counters_5936_);
v___x_5959_ = lean_box(0);
v_isShared_5960_ = v_isSharedCheck_6014_;
goto v_resetjp_5958_;
}
v_resetjp_5958_:
{
lean_object* v___x_5961_; lean_object* v___f_5962_; lean_object* v___x_5963_; lean_object* v___x_5964_; 
v___x_5961_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_collectUsedOrigins(v_a_5954_, v_instanceMap_5956_);
lean_dec_ref(v_instanceMap_5956_);
v___f_5962_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_checkUnusedActivations___lam__0___boxed), 14, 2);
lean_closure_set(v___f_5962_, 0, v___x_5949_);
lean_closure_set(v___f_5962_, 1, v___x_5961_);
v___x_5963_ = ((lean_object*)(l_Array_filterMapM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag_spec__3___closed__0));
lean_inc(v_a_5945_);
lean_inc_ref(v_a_5944_);
lean_inc(v_a_5943_);
lean_inc_ref(v_a_5942_);
lean_inc(v_a_5941_);
lean_inc_ref(v_a_5940_);
lean_inc(v_a_5939_);
lean_inc_ref(v_a_5938_);
lean_inc(v_a_5937_);
v___x_5964_ = l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___redArg(v_thm_5957_, v___x_5963_, v___f_5962_, v_a_5937_, v_a_5938_, v_a_5939_, v_a_5940_, v_a_5941_, v_a_5942_, v_a_5943_, v_a_5944_, v_a_5945_);
if (lean_obj_tag(v___x_5964_) == 0)
{
lean_object* v_a_5965_; lean_object* v___x_5967_; uint8_t v_isShared_5968_; uint8_t v_isSharedCheck_6005_; 
v_a_5965_ = lean_ctor_get(v___x_5964_, 0);
v_isSharedCheck_6005_ = !lean_is_exclusive(v___x_5964_);
if (v_isSharedCheck_6005_ == 0)
{
v___x_5967_ = v___x_5964_;
v_isShared_5968_ = v_isSharedCheck_6005_;
goto v_resetjp_5966_;
}
else
{
lean_inc(v_a_5965_);
lean_dec(v___x_5964_);
v___x_5967_ = lean_box(0);
v_isShared_5968_ = v_isSharedCheck_6005_;
goto v_resetjp_5966_;
}
v_resetjp_5966_:
{
lean_object* v___x_5969_; uint8_t v___x_5970_; 
v___x_5969_ = lean_array_get_size(v_a_5965_);
v___x_5970_ = lean_nat_dec_eq(v___x_5969_, v___x_5950_);
if (v___x_5970_ == 0)
{
lean_object* v___y_5972_; lean_object* v___y_5992_; lean_object* v___y_5993_; 
lean_del_object(v___x_5967_);
if (v___x_5970_ == 0)
{
lean_object* v___x_5995_; lean_object* v___x_5996_; lean_object* v___y_5998_; uint8_t v___x_6000_; 
v___x_5995_ = lean_unsigned_to_nat(1u);
v___x_5996_ = lean_nat_sub(v___x_5969_, v___x_5995_);
v___x_6000_ = lean_nat_dec_le(v___x_5950_, v___x_5996_);
if (v___x_6000_ == 0)
{
lean_inc(v___x_5996_);
v___y_5998_ = v___x_5996_;
goto v___jp_5997_;
}
else
{
v___y_5998_ = v___x_5950_;
goto v___jp_5997_;
}
v___jp_5997_:
{
uint8_t v___x_5999_; 
v___x_5999_ = lean_nat_dec_le(v___y_5998_, v___x_5996_);
if (v___x_5999_ == 0)
{
lean_dec(v___x_5996_);
lean_inc(v___y_5998_);
v___y_5992_ = v___y_5998_;
v___y_5993_ = v___y_5998_;
goto v___jp_5991_;
}
else
{
v___y_5992_ = v___y_5998_;
v___y_5993_ = v___x_5996_;
goto v___jp_5991_;
}
}
}
else
{
v___y_5972_ = v_a_5965_;
goto v___jp_5971_;
}
v___jp_5971_:
{
size_t v_sz_5973_; size_t v___x_5974_; lean_object* v___x_5975_; 
v_sz_5973_ = lean_array_size(v___y_5972_);
v___x_5974_ = ((size_t)0ULL);
v___x_5975_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_checkUnusedActivations_spec__4___redArg(v_sz_5973_, v___x_5974_, v___y_5972_);
if (lean_obj_tag(v___x_5975_) == 0)
{
lean_object* v_a_5976_; lean_object* v___x_5977_; lean_object* v___x_5978_; lean_object* v___x_5980_; 
v_a_5976_ = lean_ctor_get(v___x_5975_, 0);
lean_inc(v_a_5976_);
lean_dec_ref(v___x_5975_);
v___x_5977_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__2, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__2_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__2);
v___x_5978_ = lean_obj_once(&l_Lean_Meta_Grind_checkUnusedActivations___closed__2, &l_Lean_Meta_Grind_checkUnusedActivations___closed__2_once, _init_l_Lean_Meta_Grind_checkUnusedActivations___closed__2);
if (v_isShared_5960_ == 0)
{
lean_ctor_set_tag(v___x_5959_, 9);
lean_ctor_set(v___x_5959_, 2, v_a_5976_);
lean_ctor_set(v___x_5959_, 1, v___x_5978_);
lean_ctor_set(v___x_5959_, 0, v___x_5977_);
v___x_5980_ = v___x_5959_;
goto v_reusejp_5979_;
}
else
{
lean_object* v_reuseFailAlloc_5982_; 
v_reuseFailAlloc_5982_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v_reuseFailAlloc_5982_, 0, v___x_5977_);
lean_ctor_set(v_reuseFailAlloc_5982_, 1, v___x_5978_);
lean_ctor_set(v_reuseFailAlloc_5982_, 2, v_a_5976_);
v___x_5980_ = v_reuseFailAlloc_5982_;
goto v_reusejp_5979_;
}
v_reusejp_5979_:
{
lean_object* v___x_5981_; 
v___x_5981_ = l_Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5(v___x_5980_, v_a_5937_, v_a_5938_, v_a_5939_, v_a_5940_, v_a_5941_, v_a_5942_, v_a_5943_, v_a_5944_, v_a_5945_);
lean_dec(v_a_5945_);
lean_dec(v_a_5943_);
lean_dec_ref(v_a_5942_);
lean_dec(v_a_5941_);
lean_dec_ref(v_a_5940_);
lean_dec(v_a_5939_);
lean_dec_ref(v_a_5938_);
lean_dec(v_a_5937_);
return v___x_5981_;
}
}
else
{
lean_object* v_a_5983_; lean_object* v___x_5985_; uint8_t v_isShared_5986_; uint8_t v_isSharedCheck_5990_; 
lean_del_object(v___x_5959_);
lean_dec(v_a_5945_);
lean_dec_ref(v_a_5944_);
lean_dec(v_a_5943_);
lean_dec_ref(v_a_5942_);
lean_dec(v_a_5941_);
lean_dec_ref(v_a_5940_);
lean_dec(v_a_5939_);
lean_dec_ref(v_a_5938_);
lean_dec(v_a_5937_);
v_a_5983_ = lean_ctor_get(v___x_5975_, 0);
v_isSharedCheck_5990_ = !lean_is_exclusive(v___x_5975_);
if (v_isSharedCheck_5990_ == 0)
{
v___x_5985_ = v___x_5975_;
v_isShared_5986_ = v_isSharedCheck_5990_;
goto v_resetjp_5984_;
}
else
{
lean_inc(v_a_5983_);
lean_dec(v___x_5975_);
v___x_5985_ = lean_box(0);
v_isShared_5986_ = v_isSharedCheck_5990_;
goto v_resetjp_5984_;
}
v_resetjp_5984_:
{
lean_object* v___x_5988_; 
if (v_isShared_5986_ == 0)
{
v___x_5988_ = v___x_5985_;
goto v_reusejp_5987_;
}
else
{
lean_object* v_reuseFailAlloc_5989_; 
v_reuseFailAlloc_5989_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5989_, 0, v_a_5983_);
v___x_5988_ = v_reuseFailAlloc_5989_;
goto v_reusejp_5987_;
}
v_reusejp_5987_:
{
return v___x_5988_;
}
}
}
}
v___jp_5991_:
{
lean_object* v___x_5994_; 
v___x_5994_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg(v_a_5965_, v___y_5992_, v___y_5993_);
lean_dec(v___y_5993_);
v___y_5972_ = v___x_5994_;
goto v___jp_5971_;
}
}
else
{
lean_object* v___x_6001_; lean_object* v___x_6003_; 
lean_dec(v_a_5965_);
lean_del_object(v___x_5959_);
lean_dec(v_a_5945_);
lean_dec_ref(v_a_5944_);
lean_dec(v_a_5943_);
lean_dec_ref(v_a_5942_);
lean_dec(v_a_5941_);
lean_dec_ref(v_a_5940_);
lean_dec(v_a_5939_);
lean_dec_ref(v_a_5938_);
lean_dec(v_a_5937_);
v___x_6001_ = lean_box(0);
if (v_isShared_5968_ == 0)
{
lean_ctor_set(v___x_5967_, 0, v___x_6001_);
v___x_6003_ = v___x_5967_;
goto v_reusejp_6002_;
}
else
{
lean_object* v_reuseFailAlloc_6004_; 
v_reuseFailAlloc_6004_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6004_, 0, v___x_6001_);
v___x_6003_ = v_reuseFailAlloc_6004_;
goto v_reusejp_6002_;
}
v_reusejp_6002_:
{
return v___x_6003_;
}
}
}
}
else
{
lean_object* v_a_6006_; lean_object* v___x_6008_; uint8_t v_isShared_6009_; uint8_t v_isSharedCheck_6013_; 
lean_del_object(v___x_5959_);
lean_dec(v_a_5945_);
lean_dec_ref(v_a_5944_);
lean_dec(v_a_5943_);
lean_dec_ref(v_a_5942_);
lean_dec(v_a_5941_);
lean_dec_ref(v_a_5940_);
lean_dec(v_a_5939_);
lean_dec_ref(v_a_5938_);
lean_dec(v_a_5937_);
v_a_6006_ = lean_ctor_get(v___x_5964_, 0);
v_isSharedCheck_6013_ = !lean_is_exclusive(v___x_5964_);
if (v_isSharedCheck_6013_ == 0)
{
v___x_6008_ = v___x_5964_;
v_isShared_6009_ = v_isSharedCheck_6013_;
goto v_resetjp_6007_;
}
else
{
lean_inc(v_a_6006_);
lean_dec(v___x_5964_);
v___x_6008_ = lean_box(0);
v_isShared_6009_ = v_isSharedCheck_6013_;
goto v_resetjp_6007_;
}
v_resetjp_6007_:
{
lean_object* v___x_6011_; 
if (v_isShared_6009_ == 0)
{
v___x_6011_ = v___x_6008_;
goto v_reusejp_6010_;
}
else
{
lean_object* v_reuseFailAlloc_6012_; 
v_reuseFailAlloc_6012_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6012_, 0, v_a_6006_);
v___x_6011_ = v_reuseFailAlloc_6012_;
goto v_reusejp_6010_;
}
v_reusejp_6010_:
{
return v___x_6011_;
}
}
}
}
}
else
{
lean_object* v___x_6017_; lean_object* v___x_6018_; 
lean_dec(v___x_5949_);
lean_dec(v_a_5945_);
lean_dec_ref(v_a_5944_);
lean_dec(v_a_5943_);
lean_dec_ref(v_a_5942_);
lean_dec(v_a_5941_);
lean_dec_ref(v_a_5940_);
lean_dec(v_a_5939_);
lean_dec_ref(v_a_5938_);
lean_dec(v_a_5937_);
lean_dec_ref(v_counters_5936_);
lean_dec(v_mvarId_5935_);
v___x_6017_ = lean_box(0);
v___x_6018_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6018_, 0, v___x_6017_);
return v___x_6018_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_checkUnusedActivations___boxed(lean_object* v_mvarId_6019_, lean_object* v_counters_6020_, lean_object* v_a_6021_, lean_object* v_a_6022_, lean_object* v_a_6023_, lean_object* v_a_6024_, lean_object* v_a_6025_, lean_object* v_a_6026_, lean_object* v_a_6027_, lean_object* v_a_6028_, lean_object* v_a_6029_, lean_object* v_a_6030_){
_start:
{
lean_object* v_res_6031_; 
v_res_6031_ = l_Lean_Meta_Grind_checkUnusedActivations(v_mvarId_6019_, v_counters_6020_, v_a_6021_, v_a_6022_, v_a_6023_, v_a_6024_, v_a_6025_, v_a_6026_, v_a_6027_, v_a_6028_, v_a_6029_);
return v_res_6031_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_Raw_u2080_contains___at___00Lean_Meta_Grind_checkUnusedActivations_spec__2(lean_object* v_00_u03b2_6032_, lean_object* v_m_6033_, lean_object* v_a_6034_){
_start:
{
uint8_t v___x_6035_; 
v___x_6035_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00Lean_Meta_Grind_checkUnusedActivations_spec__2___redArg(v_m_6033_, v_a_6034_);
return v___x_6035_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_contains___at___00Lean_Meta_Grind_checkUnusedActivations_spec__2___boxed(lean_object* v_00_u03b2_6036_, lean_object* v_m_6037_, lean_object* v_a_6038_){
_start:
{
uint8_t v_res_6039_; lean_object* v_r_6040_; 
v_res_6039_ = l_Std_DHashMap_Internal_Raw_u2080_contains___at___00Lean_Meta_Grind_checkUnusedActivations_spec__2(v_00_u03b2_6036_, v_m_6037_, v_a_6038_);
lean_dec_ref(v_a_6038_);
lean_dec_ref(v_m_6037_);
v_r_6040_ = lean_box(v_res_6039_);
return v_r_6040_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3(lean_object* v_00_u03c3_6041_, lean_object* v_00_u03b2_6042_, lean_object* v_map_6043_, lean_object* v_init_6044_, lean_object* v_f_6045_, lean_object* v___y_6046_, lean_object* v___y_6047_, lean_object* v___y_6048_, lean_object* v___y_6049_, lean_object* v___y_6050_, lean_object* v___y_6051_, lean_object* v___y_6052_, lean_object* v___y_6053_, lean_object* v___y_6054_){
_start:
{
lean_object* v___x_6056_; 
v___x_6056_ = l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___redArg(v_map_6043_, v_init_6044_, v_f_6045_, v___y_6046_, v___y_6047_, v___y_6048_, v___y_6049_, v___y_6050_, v___y_6051_, v___y_6052_, v___y_6053_, v___y_6054_);
return v___x_6056_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3___boxed(lean_object* v_00_u03c3_6057_, lean_object* v_00_u03b2_6058_, lean_object* v_map_6059_, lean_object* v_init_6060_, lean_object* v_f_6061_, lean_object* v___y_6062_, lean_object* v___y_6063_, lean_object* v___y_6064_, lean_object* v___y_6065_, lean_object* v___y_6066_, lean_object* v___y_6067_, lean_object* v___y_6068_, lean_object* v___y_6069_, lean_object* v___y_6070_, lean_object* v___y_6071_){
_start:
{
lean_object* v_res_6072_; 
v_res_6072_ = l_Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3(v_00_u03c3_6057_, v_00_u03b2_6058_, v_map_6059_, v_init_6060_, v_f_6061_, v___y_6062_, v___y_6063_, v___y_6064_, v___y_6065_, v___y_6066_, v___y_6067_, v___y_6068_, v___y_6069_, v___y_6070_);
return v_res_6072_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_checkUnusedActivations_spec__4(size_t v_sz_6073_, size_t v_i_6074_, lean_object* v_bs_6075_, lean_object* v___y_6076_, lean_object* v___y_6077_, lean_object* v___y_6078_, lean_object* v___y_6079_, lean_object* v___y_6080_, lean_object* v___y_6081_, lean_object* v___y_6082_, lean_object* v___y_6083_, lean_object* v___y_6084_){
_start:
{
lean_object* v___x_6086_; 
v___x_6086_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_checkUnusedActivations_spec__4___redArg(v_sz_6073_, v_i_6074_, v_bs_6075_);
return v___x_6086_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_checkUnusedActivations_spec__4___boxed(lean_object* v_sz_6087_, lean_object* v_i_6088_, lean_object* v_bs_6089_, lean_object* v___y_6090_, lean_object* v___y_6091_, lean_object* v___y_6092_, lean_object* v___y_6093_, lean_object* v___y_6094_, lean_object* v___y_6095_, lean_object* v___y_6096_, lean_object* v___y_6097_, lean_object* v___y_6098_, lean_object* v___y_6099_){
_start:
{
size_t v_sz_boxed_6100_; size_t v_i_boxed_6101_; lean_object* v_res_6102_; 
v_sz_boxed_6100_ = lean_unbox_usize(v_sz_6087_);
lean_dec(v_sz_6087_);
v_i_boxed_6101_ = lean_unbox_usize(v_i_6088_);
lean_dec(v_i_6088_);
v_res_6102_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_checkUnusedActivations_spec__4(v_sz_boxed_6100_, v_i_boxed_6101_, v_bs_6089_, v___y_6090_, v___y_6091_, v___y_6092_, v___y_6093_, v___y_6094_, v___y_6095_, v___y_6096_, v___y_6097_, v___y_6098_);
lean_dec(v___y_6098_);
lean_dec_ref(v___y_6097_);
lean_dec(v___y_6096_);
lean_dec_ref(v___y_6095_);
lean_dec(v___y_6094_);
lean_dec_ref(v___y_6093_);
lean_dec(v___y_6092_);
lean_dec_ref(v___y_6091_);
lean_dec(v___y_6090_);
return v_res_6102_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6(lean_object* v_n_6103_, lean_object* v_as_6104_, lean_object* v_lo_6105_, lean_object* v_hi_6106_, lean_object* v_w_6107_, lean_object* v_hlo_6108_, lean_object* v_hhi_6109_){
_start:
{
lean_object* v___x_6110_; 
v___x_6110_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___redArg(v_as_6104_, v_lo_6105_, v_hi_6106_);
return v___x_6110_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6___boxed(lean_object* v_n_6111_, lean_object* v_as_6112_, lean_object* v_lo_6113_, lean_object* v_hi_6114_, lean_object* v_w_6115_, lean_object* v_hlo_6116_, lean_object* v_hhi_6117_){
_start:
{
lean_object* v_res_6118_; 
v_res_6118_ = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at___00Lean_Meta_Grind_checkUnusedActivations_spec__6(v_n_6111_, v_as_6112_, v_lo_6113_, v_hi_6114_, v_w_6115_, v_hlo_6116_, v_hhi_6117_);
lean_dec(v_hi_6114_);
lean_dec(v_n_6111_);
return v_res_6118_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3___redArg(lean_object* v_map_6119_, lean_object* v_f_6120_, lean_object* v_init_6121_, lean_object* v___y_6122_, lean_object* v___y_6123_, lean_object* v___y_6124_, lean_object* v___y_6125_, lean_object* v___y_6126_, lean_object* v___y_6127_, lean_object* v___y_6128_, lean_object* v___y_6129_, lean_object* v___y_6130_){
_start:
{
lean_object* v___x_6132_; 
v___x_6132_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4___redArg(v_f_6120_, v_map_6119_, v_init_6121_, v___y_6122_, v___y_6123_, v___y_6124_, v___y_6125_, v___y_6126_, v___y_6127_, v___y_6128_, v___y_6129_, v___y_6130_);
return v___x_6132_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3___redArg___boxed(lean_object* v_map_6133_, lean_object* v_f_6134_, lean_object* v_init_6135_, lean_object* v___y_6136_, lean_object* v___y_6137_, lean_object* v___y_6138_, lean_object* v___y_6139_, lean_object* v___y_6140_, lean_object* v___y_6141_, lean_object* v___y_6142_, lean_object* v___y_6143_, lean_object* v___y_6144_, lean_object* v___y_6145_){
_start:
{
lean_object* v_res_6146_; 
v_res_6146_ = l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3___redArg(v_map_6133_, v_f_6134_, v_init_6135_, v___y_6136_, v___y_6137_, v___y_6138_, v___y_6139_, v___y_6140_, v___y_6141_, v___y_6142_, v___y_6143_, v___y_6144_);
return v_res_6146_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3(lean_object* v_00_u03c3_6147_, lean_object* v_00_u03c3_6148_, lean_object* v_00_u03b2_6149_, lean_object* v_map_6150_, lean_object* v_f_6151_, lean_object* v_init_6152_, lean_object* v___y_6153_, lean_object* v___y_6154_, lean_object* v___y_6155_, lean_object* v___y_6156_, lean_object* v___y_6157_, lean_object* v___y_6158_, lean_object* v___y_6159_, lean_object* v___y_6160_, lean_object* v___y_6161_){
_start:
{
lean_object* v___x_6163_; 
v___x_6163_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4___redArg(v_f_6151_, v_map_6150_, v_init_6152_, v___y_6153_, v___y_6154_, v___y_6155_, v___y_6156_, v___y_6157_, v___y_6158_, v___y_6159_, v___y_6160_, v___y_6161_);
return v___x_6163_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3___boxed(lean_object* v_00_u03c3_6164_, lean_object* v_00_u03c3_6165_, lean_object* v_00_u03b2_6166_, lean_object* v_map_6167_, lean_object* v_f_6168_, lean_object* v_init_6169_, lean_object* v___y_6170_, lean_object* v___y_6171_, lean_object* v___y_6172_, lean_object* v___y_6173_, lean_object* v___y_6174_, lean_object* v___y_6175_, lean_object* v___y_6176_, lean_object* v___y_6177_, lean_object* v___y_6178_, lean_object* v___y_6179_){
_start:
{
lean_object* v_res_6180_; 
v_res_6180_ = l_Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3(v_00_u03c3_6164_, v_00_u03c3_6165_, v_00_u03b2_6166_, v_map_6167_, v_f_6168_, v_init_6169_, v___y_6170_, v___y_6171_, v___y_6172_, v___y_6173_, v___y_6174_, v___y_6175_, v___y_6176_, v___y_6177_, v___y_6178_);
return v_res_6180_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4(lean_object* v_00_u03c3_6181_, lean_object* v_00_u03c3_6182_, lean_object* v_00_u03b1_6183_, lean_object* v_00_u03b2_6184_, lean_object* v_f_6185_, lean_object* v_x_6186_, lean_object* v_x_6187_, lean_object* v___y_6188_, lean_object* v___y_6189_, lean_object* v___y_6190_, lean_object* v___y_6191_, lean_object* v___y_6192_, lean_object* v___y_6193_, lean_object* v___y_6194_, lean_object* v___y_6195_, lean_object* v___y_6196_){
_start:
{
lean_object* v___x_6198_; 
v___x_6198_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4___redArg(v_f_6185_, v_x_6186_, v_x_6187_, v___y_6188_, v___y_6189_, v___y_6190_, v___y_6191_, v___y_6192_, v___y_6193_, v___y_6194_, v___y_6195_, v___y_6196_);
return v___x_6198_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4___boxed(lean_object** _args){
lean_object* v_00_u03c3_6199_ = _args[0];
lean_object* v_00_u03c3_6200_ = _args[1];
lean_object* v_00_u03b1_6201_ = _args[2];
lean_object* v_00_u03b2_6202_ = _args[3];
lean_object* v_f_6203_ = _args[4];
lean_object* v_x_6204_ = _args[5];
lean_object* v_x_6205_ = _args[6];
lean_object* v___y_6206_ = _args[7];
lean_object* v___y_6207_ = _args[8];
lean_object* v___y_6208_ = _args[9];
lean_object* v___y_6209_ = _args[10];
lean_object* v___y_6210_ = _args[11];
lean_object* v___y_6211_ = _args[12];
lean_object* v___y_6212_ = _args[13];
lean_object* v___y_6213_ = _args[14];
lean_object* v___y_6214_ = _args[15];
lean_object* v___y_6215_ = _args[16];
_start:
{
lean_object* v_res_6216_; 
v_res_6216_ = l_Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4(v_00_u03c3_6199_, v_00_u03c3_6200_, v_00_u03b1_6201_, v_00_u03b2_6202_, v_f_6203_, v_x_6204_, v_x_6205_, v___y_6206_, v___y_6207_, v___y_6208_, v___y_6209_, v___y_6210_, v___y_6211_, v___y_6212_, v___y_6213_, v___y_6214_);
return v_res_6216_;
}
}
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8(lean_object* v_ref_6217_, lean_object* v_msgData_6218_, uint8_t v_severity_6219_, uint8_t v_isSilent_6220_, lean_object* v___y_6221_, lean_object* v___y_6222_, lean_object* v___y_6223_, lean_object* v___y_6224_, lean_object* v___y_6225_, lean_object* v___y_6226_, lean_object* v___y_6227_, lean_object* v___y_6228_, lean_object* v___y_6229_){
_start:
{
lean_object* v___x_6231_; 
v___x_6231_ = l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___redArg(v_ref_6217_, v_msgData_6218_, v_severity_6219_, v_isSilent_6220_, v___y_6226_, v___y_6227_, v___y_6228_, v___y_6229_);
return v___x_6231_;
}
}
LEAN_EXPORT lean_object* l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8___boxed(lean_object* v_ref_6232_, lean_object* v_msgData_6233_, lean_object* v_severity_6234_, lean_object* v_isSilent_6235_, lean_object* v___y_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_, lean_object* v___y_6242_, lean_object* v___y_6243_, lean_object* v___y_6244_, lean_object* v___y_6245_){
_start:
{
uint8_t v_severity_boxed_6246_; uint8_t v_isSilent_boxed_6247_; lean_object* v_res_6248_; 
v_severity_boxed_6246_ = lean_unbox(v_severity_6234_);
v_isSilent_boxed_6247_ = lean_unbox(v_isSilent_6235_);
v_res_6248_ = l_Lean_logAt___at___00Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6_spec__8(v_ref_6232_, v_msgData_6233_, v_severity_boxed_6246_, v_isSilent_boxed_6247_, v___y_6236_, v___y_6237_, v___y_6238_, v___y_6239_, v___y_6240_, v___y_6241_, v___y_6242_, v___y_6243_, v___y_6244_);
lean_dec(v___y_6244_);
lean_dec(v___y_6242_);
lean_dec_ref(v___y_6241_);
lean_dec(v___y_6240_);
lean_dec_ref(v___y_6239_);
lean_dec(v___y_6238_);
lean_dec_ref(v___y_6237_);
lean_dec(v___y_6236_);
lean_dec(v_ref_6232_);
return v_res_6248_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8(lean_object* v_00_u03b1_6249_, lean_object* v_00_u03b2_6250_, lean_object* v_00_u03c3_6251_, lean_object* v_00_u03c3_6252_, lean_object* v_f_6253_, lean_object* v_as_6254_, size_t v_i_6255_, size_t v_stop_6256_, lean_object* v_b_6257_, lean_object* v___y_6258_, lean_object* v___y_6259_, lean_object* v___y_6260_, lean_object* v___y_6261_, lean_object* v___y_6262_, lean_object* v___y_6263_, lean_object* v___y_6264_, lean_object* v___y_6265_, lean_object* v___y_6266_){
_start:
{
lean_object* v___x_6268_; 
v___x_6268_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8___redArg(v_f_6253_, v_as_6254_, v_i_6255_, v_stop_6256_, v_b_6257_, v___y_6258_, v___y_6259_, v___y_6260_, v___y_6261_, v___y_6262_, v___y_6263_, v___y_6264_, v___y_6265_, v___y_6266_);
return v___x_6268_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8___boxed(lean_object** _args){
lean_object* v_00_u03b1_6269_ = _args[0];
lean_object* v_00_u03b2_6270_ = _args[1];
lean_object* v_00_u03c3_6271_ = _args[2];
lean_object* v_00_u03c3_6272_ = _args[3];
lean_object* v_f_6273_ = _args[4];
lean_object* v_as_6274_ = _args[5];
lean_object* v_i_6275_ = _args[6];
lean_object* v_stop_6276_ = _args[7];
lean_object* v_b_6277_ = _args[8];
lean_object* v___y_6278_ = _args[9];
lean_object* v___y_6279_ = _args[10];
lean_object* v___y_6280_ = _args[11];
lean_object* v___y_6281_ = _args[12];
lean_object* v___y_6282_ = _args[13];
lean_object* v___y_6283_ = _args[14];
lean_object* v___y_6284_ = _args[15];
lean_object* v___y_6285_ = _args[16];
lean_object* v___y_6286_ = _args[17];
lean_object* v___y_6287_ = _args[18];
_start:
{
size_t v_i_boxed_6288_; size_t v_stop_boxed_6289_; lean_object* v_res_6290_; 
v_i_boxed_6288_ = lean_unbox_usize(v_i_6275_);
lean_dec(v_i_6275_);
v_stop_boxed_6289_ = lean_unbox_usize(v_stop_6276_);
lean_dec(v_stop_6276_);
v_res_6290_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__8(v_00_u03b1_6269_, v_00_u03b2_6270_, v_00_u03c3_6271_, v_00_u03c3_6272_, v_f_6273_, v_as_6274_, v_i_boxed_6288_, v_stop_boxed_6289_, v_b_6277_, v___y_6278_, v___y_6279_, v___y_6280_, v___y_6281_, v___y_6282_, v___y_6283_, v___y_6284_, v___y_6285_, v___y_6286_);
lean_dec_ref(v_as_6274_);
return v_res_6290_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__9(lean_object* v_00_u03c3_6291_, lean_object* v_00_u03c3_6292_, lean_object* v_00_u03b1_6293_, lean_object* v_00_u03b2_6294_, lean_object* v_f_6295_, lean_object* v_keys_6296_, lean_object* v_vals_6297_, lean_object* v_heq_6298_, lean_object* v_i_6299_, lean_object* v_acc_6300_, lean_object* v___y_6301_, lean_object* v___y_6302_, lean_object* v___y_6303_, lean_object* v___y_6304_, lean_object* v___y_6305_, lean_object* v___y_6306_, lean_object* v___y_6307_, lean_object* v___y_6308_, lean_object* v___y_6309_){
_start:
{
lean_object* v___x_6311_; 
v___x_6311_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__9___redArg(v_f_6295_, v_keys_6296_, v_vals_6297_, v_i_6299_, v_acc_6300_, v___y_6301_, v___y_6302_, v___y_6303_, v___y_6304_, v___y_6305_, v___y_6306_, v___y_6307_, v___y_6308_, v___y_6309_);
return v___x_6311_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__9___boxed(lean_object** _args){
lean_object* v_00_u03c3_6312_ = _args[0];
lean_object* v_00_u03c3_6313_ = _args[1];
lean_object* v_00_u03b1_6314_ = _args[2];
lean_object* v_00_u03b2_6315_ = _args[3];
lean_object* v_f_6316_ = _args[4];
lean_object* v_keys_6317_ = _args[5];
lean_object* v_vals_6318_ = _args[6];
lean_object* v_heq_6319_ = _args[7];
lean_object* v_i_6320_ = _args[8];
lean_object* v_acc_6321_ = _args[9];
lean_object* v___y_6322_ = _args[10];
lean_object* v___y_6323_ = _args[11];
lean_object* v___y_6324_ = _args[12];
lean_object* v___y_6325_ = _args[13];
lean_object* v___y_6326_ = _args[14];
lean_object* v___y_6327_ = _args[15];
lean_object* v___y_6328_ = _args[16];
lean_object* v___y_6329_ = _args[17];
lean_object* v___y_6330_ = _args[18];
lean_object* v___y_6331_ = _args[19];
_start:
{
lean_object* v_res_6332_; 
v_res_6332_ = l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___00Lean_PersistentHashMap_foldlMAux___at___00Lean_PersistentHashMap_foldlM___at___00Lean_PersistentHashMap_forIn___at___00Lean_Meta_Grind_checkUnusedActivations_spec__3_spec__3_spec__4_spec__9(v_00_u03c3_6312_, v_00_u03c3_6313_, v_00_u03b1_6314_, v_00_u03b2_6315_, v_f_6316_, v_keys_6317_, v_vals_6318_, v_heq_6319_, v_i_6320_, v_acc_6321_, v___y_6322_, v___y_6323_, v___y_6324_, v___y_6325_, v___y_6326_, v___y_6327_, v___y_6328_, v___y_6329_, v___y_6330_);
lean_dec_ref(v_vals_6318_);
lean_dec_ref(v_keys_6317_);
return v_res_6332_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__2(void){
_start:
{
lean_object* v___x_6337_; lean_object* v___x_6338_; 
v___x_6337_ = lean_unsigned_to_nat(0u);
v___x_6338_ = l_Lean_Level_ofNat(v___x_6337_);
return v___x_6338_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__3(void){
_start:
{
lean_object* v___x_6339_; lean_object* v___x_6340_; lean_object* v___x_6341_; 
v___x_6339_ = lean_box(0);
v___x_6340_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__2, &l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__2);
v___x_6341_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_6341_, 0, v___x_6340_);
lean_ctor_set(v___x_6341_, 1, v___x_6339_);
return v___x_6341_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__4(void){
_start:
{
lean_object* v___x_6342_; lean_object* v___x_6343_; lean_object* v___x_6344_; 
v___x_6342_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__3, &l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__3_once, _init_l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__3);
v___x_6343_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__1));
v___x_6344_ = l_Lean_mkConst(v___x_6343_, v___x_6342_);
return v___x_6344_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5(lean_object* v_num_x3f_6347_, lean_object* v_goal_6348_, lean_object* v_as_6349_, size_t v_i_6350_, size_t v_stop_6351_, lean_object* v_b_6352_, lean_object* v___y_6353_, lean_object* v___y_6354_, lean_object* v___y_6355_, lean_object* v___y_6356_, lean_object* v___y_6357_, lean_object* v___y_6358_, lean_object* v___y_6359_, lean_object* v___y_6360_, lean_object* v___y_6361_, lean_object* v___y_6362_){
_start:
{
lean_object* v_a_6365_; uint8_t v___x_6369_; 
v___x_6369_ = lean_usize_dec_eq(v_i_6350_, v_stop_6351_);
if (v___x_6369_ == 0)
{
lean_object* v___x_6370_; 
v___x_6370_ = lean_array_uget_borrowed(v_as_6349_, v_i_6350_);
if (lean_obj_tag(v___x_6370_) == 0)
{
lean_object* v___x_6371_; 
v___x_6371_ = lean_box(0);
v_a_6365_ = v___x_6371_;
goto v___jp_6364_;
}
else
{
lean_object* v_val_6372_; lean_object* v___y_6374_; lean_object* v___y_6375_; lean_object* v___y_6376_; lean_object* v___y_6377_; lean_object* v___y_6378_; lean_object* v___y_6379_; lean_object* v___y_6380_; lean_object* v___y_6381_; lean_object* v___y_6382_; lean_object* v___y_6383_; lean_object* v___x_6448_; 
v_val_6372_ = lean_ctor_get(v___x_6370_, 0);
v___x_6448_ = l_Lean_Meta_Grind_isInconsistent___redArg(v___y_6353_);
if (lean_obj_tag(v___x_6448_) == 0)
{
lean_object* v_a_6449_; lean_object* v___x_6451_; uint8_t v_isShared_6452_; uint8_t v_isSharedCheck_6519_; 
v_a_6449_ = lean_ctor_get(v___x_6448_, 0);
v_isSharedCheck_6519_ = !lean_is_exclusive(v___x_6448_);
if (v_isSharedCheck_6519_ == 0)
{
v___x_6451_ = v___x_6448_;
v_isShared_6452_ = v_isSharedCheck_6519_;
goto v_resetjp_6450_;
}
else
{
lean_inc(v_a_6449_);
lean_dec(v___x_6448_);
v___x_6451_ = lean_box(0);
v_isShared_6452_ = v_isSharedCheck_6519_;
goto v_resetjp_6450_;
}
v_resetjp_6450_:
{
uint8_t v___x_6453_; 
v___x_6453_ = lean_unbox(v_a_6449_);
lean_dec(v_a_6449_);
if (v___x_6453_ == 0)
{
if (lean_obj_tag(v_num_x3f_6347_) == 1)
{
lean_object* v_toGoalState_6454_; lean_object* v_val_6455_; lean_object* v_nextDeclIdx_6456_; lean_object* v___x_6457_; lean_object* v___x_6458_; uint8_t v___x_6459_; 
v_toGoalState_6454_ = lean_ctor_get(v_goal_6348_, 0);
v_val_6455_ = lean_ctor_get(v_num_x3f_6347_, 0);
v_nextDeclIdx_6456_ = lean_ctor_get(v_toGoalState_6454_, 0);
v___x_6457_ = lean_nat_add(v_nextDeclIdx_6456_, v_val_6455_);
v___x_6458_ = l_Lean_LocalDecl_index(v_val_6372_);
v___x_6459_ = lean_nat_dec_le(v___x_6457_, v___x_6458_);
lean_dec(v___x_6457_);
if (v___x_6459_ == 0)
{
lean_dec(v___x_6458_);
lean_del_object(v___x_6451_);
lean_inc(v___y_6362_);
lean_inc_ref(v___y_6361_);
lean_inc(v___y_6360_);
lean_inc_ref(v___y_6359_);
lean_inc(v___y_6358_);
lean_inc_ref(v___y_6357_);
lean_inc(v___y_6356_);
lean_inc_ref(v___y_6355_);
lean_inc(v___y_6354_);
lean_inc(v___y_6353_);
v___y_6374_ = v___y_6353_;
v___y_6375_ = v___y_6354_;
v___y_6376_ = v___y_6355_;
v___y_6377_ = v___y_6356_;
v___y_6378_ = v___y_6357_;
v___y_6379_ = v___y_6358_;
v___y_6380_ = v___y_6359_;
v___y_6381_ = v___y_6360_;
v___y_6382_ = v___y_6361_;
v___y_6383_ = v___y_6362_;
goto v___jp_6373_;
}
else
{
lean_object* v___x_6460_; lean_object* v_toGoalState_6461_; lean_object* v_mvarId_6462_; lean_object* v___x_6464_; uint8_t v_isShared_6465_; uint8_t v_isSharedCheck_6500_; 
lean_dec(v___y_6362_);
lean_dec_ref(v___y_6361_);
lean_dec(v___y_6360_);
lean_dec_ref(v___y_6359_);
lean_dec(v___y_6358_);
lean_dec_ref(v___y_6357_);
lean_dec(v___y_6356_);
lean_dec_ref(v___y_6355_);
lean_dec(v___y_6354_);
v___x_6460_ = lean_st_ref_take(v___y_6353_);
v_toGoalState_6461_ = lean_ctor_get(v___x_6460_, 0);
v_mvarId_6462_ = lean_ctor_get(v___x_6460_, 1);
v_isSharedCheck_6500_ = !lean_is_exclusive(v___x_6460_);
if (v_isSharedCheck_6500_ == 0)
{
v___x_6464_ = v___x_6460_;
v_isShared_6465_ = v_isSharedCheck_6500_;
goto v_resetjp_6463_;
}
else
{
lean_inc(v_mvarId_6462_);
lean_inc(v_toGoalState_6461_);
lean_dec(v___x_6460_);
v___x_6464_ = lean_box(0);
v_isShared_6465_ = v_isSharedCheck_6500_;
goto v_resetjp_6463_;
}
v_resetjp_6463_:
{
lean_object* v_canon_6466_; lean_object* v_enodeMap_6467_; lean_object* v_exprs_6468_; lean_object* v_parents_6469_; lean_object* v_congrTable_6470_; lean_object* v_appMap_6471_; lean_object* v_indicesFound_6472_; lean_object* v_newFacts_6473_; uint8_t v_inconsistent_6474_; lean_object* v_nextIdx_6475_; lean_object* v_newRawFacts_6476_; lean_object* v_facts_6477_; lean_object* v_extThms_6478_; lean_object* v_ematch_6479_; lean_object* v_inj_6480_; lean_object* v_split_6481_; lean_object* v_clean_6482_; lean_object* v_sstates_6483_; lean_object* v___x_6485_; uint8_t v_isShared_6486_; uint8_t v_isSharedCheck_6498_; 
v_canon_6466_ = lean_ctor_get(v_toGoalState_6461_, 1);
v_enodeMap_6467_ = lean_ctor_get(v_toGoalState_6461_, 2);
v_exprs_6468_ = lean_ctor_get(v_toGoalState_6461_, 3);
v_parents_6469_ = lean_ctor_get(v_toGoalState_6461_, 4);
v_congrTable_6470_ = lean_ctor_get(v_toGoalState_6461_, 5);
v_appMap_6471_ = lean_ctor_get(v_toGoalState_6461_, 6);
v_indicesFound_6472_ = lean_ctor_get(v_toGoalState_6461_, 7);
v_newFacts_6473_ = lean_ctor_get(v_toGoalState_6461_, 8);
v_inconsistent_6474_ = lean_ctor_get_uint8(v_toGoalState_6461_, sizeof(void*)*18);
v_nextIdx_6475_ = lean_ctor_get(v_toGoalState_6461_, 9);
v_newRawFacts_6476_ = lean_ctor_get(v_toGoalState_6461_, 10);
v_facts_6477_ = lean_ctor_get(v_toGoalState_6461_, 11);
v_extThms_6478_ = lean_ctor_get(v_toGoalState_6461_, 12);
v_ematch_6479_ = lean_ctor_get(v_toGoalState_6461_, 13);
v_inj_6480_ = lean_ctor_get(v_toGoalState_6461_, 14);
v_split_6481_ = lean_ctor_get(v_toGoalState_6461_, 15);
v_clean_6482_ = lean_ctor_get(v_toGoalState_6461_, 16);
v_sstates_6483_ = lean_ctor_get(v_toGoalState_6461_, 17);
v_isSharedCheck_6498_ = !lean_is_exclusive(v_toGoalState_6461_);
if (v_isSharedCheck_6498_ == 0)
{
lean_object* v_unused_6499_; 
v_unused_6499_ = lean_ctor_get(v_toGoalState_6461_, 0);
lean_dec(v_unused_6499_);
v___x_6485_ = v_toGoalState_6461_;
v_isShared_6486_ = v_isSharedCheck_6498_;
goto v_resetjp_6484_;
}
else
{
lean_inc(v_sstates_6483_);
lean_inc(v_clean_6482_);
lean_inc(v_split_6481_);
lean_inc(v_inj_6480_);
lean_inc(v_ematch_6479_);
lean_inc(v_extThms_6478_);
lean_inc(v_facts_6477_);
lean_inc(v_newRawFacts_6476_);
lean_inc(v_nextIdx_6475_);
lean_inc(v_newFacts_6473_);
lean_inc(v_indicesFound_6472_);
lean_inc(v_appMap_6471_);
lean_inc(v_congrTable_6470_);
lean_inc(v_parents_6469_);
lean_inc(v_exprs_6468_);
lean_inc(v_enodeMap_6467_);
lean_inc(v_canon_6466_);
lean_dec(v_toGoalState_6461_);
v___x_6485_ = lean_box(0);
v_isShared_6486_ = v_isSharedCheck_6498_;
goto v_resetjp_6484_;
}
v_resetjp_6484_:
{
lean_object* v___x_6488_; 
if (v_isShared_6486_ == 0)
{
lean_ctor_set(v___x_6485_, 0, v___x_6458_);
v___x_6488_ = v___x_6485_;
goto v_reusejp_6487_;
}
else
{
lean_object* v_reuseFailAlloc_6497_; 
v_reuseFailAlloc_6497_ = lean_alloc_ctor(0, 18, 1);
lean_ctor_set(v_reuseFailAlloc_6497_, 0, v___x_6458_);
lean_ctor_set(v_reuseFailAlloc_6497_, 1, v_canon_6466_);
lean_ctor_set(v_reuseFailAlloc_6497_, 2, v_enodeMap_6467_);
lean_ctor_set(v_reuseFailAlloc_6497_, 3, v_exprs_6468_);
lean_ctor_set(v_reuseFailAlloc_6497_, 4, v_parents_6469_);
lean_ctor_set(v_reuseFailAlloc_6497_, 5, v_congrTable_6470_);
lean_ctor_set(v_reuseFailAlloc_6497_, 6, v_appMap_6471_);
lean_ctor_set(v_reuseFailAlloc_6497_, 7, v_indicesFound_6472_);
lean_ctor_set(v_reuseFailAlloc_6497_, 8, v_newFacts_6473_);
lean_ctor_set(v_reuseFailAlloc_6497_, 9, v_nextIdx_6475_);
lean_ctor_set(v_reuseFailAlloc_6497_, 10, v_newRawFacts_6476_);
lean_ctor_set(v_reuseFailAlloc_6497_, 11, v_facts_6477_);
lean_ctor_set(v_reuseFailAlloc_6497_, 12, v_extThms_6478_);
lean_ctor_set(v_reuseFailAlloc_6497_, 13, v_ematch_6479_);
lean_ctor_set(v_reuseFailAlloc_6497_, 14, v_inj_6480_);
lean_ctor_set(v_reuseFailAlloc_6497_, 15, v_split_6481_);
lean_ctor_set(v_reuseFailAlloc_6497_, 16, v_clean_6482_);
lean_ctor_set(v_reuseFailAlloc_6497_, 17, v_sstates_6483_);
lean_ctor_set_uint8(v_reuseFailAlloc_6497_, sizeof(void*)*18, v_inconsistent_6474_);
v___x_6488_ = v_reuseFailAlloc_6497_;
goto v_reusejp_6487_;
}
v_reusejp_6487_:
{
lean_object* v___x_6490_; 
if (v_isShared_6465_ == 0)
{
lean_ctor_set(v___x_6464_, 0, v___x_6488_);
v___x_6490_ = v___x_6464_;
goto v_reusejp_6489_;
}
else
{
lean_object* v_reuseFailAlloc_6496_; 
v_reuseFailAlloc_6496_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6496_, 0, v___x_6488_);
lean_ctor_set(v_reuseFailAlloc_6496_, 1, v_mvarId_6462_);
v___x_6490_ = v_reuseFailAlloc_6496_;
goto v_reusejp_6489_;
}
v_reusejp_6489_:
{
lean_object* v___x_6491_; lean_object* v___x_6492_; lean_object* v___x_6494_; 
v___x_6491_ = lean_st_ref_set(v___y_6353_, v___x_6490_);
lean_dec(v___y_6353_);
v___x_6492_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__5));
if (v_isShared_6452_ == 0)
{
lean_ctor_set(v___x_6451_, 0, v___x_6492_);
v___x_6494_ = v___x_6451_;
goto v_reusejp_6493_;
}
else
{
lean_object* v_reuseFailAlloc_6495_; 
v_reuseFailAlloc_6495_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6495_, 0, v___x_6492_);
v___x_6494_ = v_reuseFailAlloc_6495_;
goto v_reusejp_6493_;
}
v_reusejp_6493_:
{
return v___x_6494_;
}
}
}
}
}
}
}
else
{
lean_del_object(v___x_6451_);
lean_inc(v___y_6362_);
lean_inc_ref(v___y_6361_);
lean_inc(v___y_6360_);
lean_inc_ref(v___y_6359_);
lean_inc(v___y_6358_);
lean_inc_ref(v___y_6357_);
lean_inc(v___y_6356_);
lean_inc_ref(v___y_6355_);
lean_inc(v___y_6354_);
lean_inc(v___y_6353_);
v___y_6374_ = v___y_6353_;
v___y_6375_ = v___y_6354_;
v___y_6376_ = v___y_6355_;
v___y_6377_ = v___y_6356_;
v___y_6378_ = v___y_6357_;
v___y_6379_ = v___y_6358_;
v___y_6380_ = v___y_6359_;
v___y_6381_ = v___y_6360_;
v___y_6382_ = v___y_6361_;
v___y_6383_ = v___y_6362_;
goto v___jp_6373_;
}
}
else
{
lean_object* v___x_6501_; 
lean_del_object(v___x_6451_);
lean_dec(v___y_6358_);
lean_dec_ref(v___y_6357_);
lean_dec(v___y_6356_);
lean_dec_ref(v___y_6355_);
lean_dec(v___y_6354_);
v___x_6501_ = l_Lean_Meta_Grind_setNextDeclToEnd___redArg(v___y_6353_, v___y_6359_, v___y_6360_, v___y_6361_, v___y_6362_);
lean_dec(v___y_6362_);
lean_dec_ref(v___y_6361_);
lean_dec(v___y_6360_);
lean_dec_ref(v___y_6359_);
lean_dec(v___y_6353_);
if (lean_obj_tag(v___x_6501_) == 0)
{
lean_object* v___x_6503_; uint8_t v_isShared_6504_; uint8_t v_isSharedCheck_6509_; 
v_isSharedCheck_6509_ = !lean_is_exclusive(v___x_6501_);
if (v_isSharedCheck_6509_ == 0)
{
lean_object* v_unused_6510_; 
v_unused_6510_ = lean_ctor_get(v___x_6501_, 0);
lean_dec(v_unused_6510_);
v___x_6503_ = v___x_6501_;
v_isShared_6504_ = v_isSharedCheck_6509_;
goto v_resetjp_6502_;
}
else
{
lean_dec(v___x_6501_);
v___x_6503_ = lean_box(0);
v_isShared_6504_ = v_isSharedCheck_6509_;
goto v_resetjp_6502_;
}
v_resetjp_6502_:
{
lean_object* v___x_6505_; lean_object* v___x_6507_; 
v___x_6505_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__5));
if (v_isShared_6504_ == 0)
{
lean_ctor_set(v___x_6503_, 0, v___x_6505_);
v___x_6507_ = v___x_6503_;
goto v_reusejp_6506_;
}
else
{
lean_object* v_reuseFailAlloc_6508_; 
v_reuseFailAlloc_6508_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6508_, 0, v___x_6505_);
v___x_6507_ = v_reuseFailAlloc_6508_;
goto v_reusejp_6506_;
}
v_reusejp_6506_:
{
return v___x_6507_;
}
}
}
else
{
lean_object* v_a_6511_; lean_object* v___x_6513_; uint8_t v_isShared_6514_; uint8_t v_isSharedCheck_6518_; 
v_a_6511_ = lean_ctor_get(v___x_6501_, 0);
v_isSharedCheck_6518_ = !lean_is_exclusive(v___x_6501_);
if (v_isSharedCheck_6518_ == 0)
{
v___x_6513_ = v___x_6501_;
v_isShared_6514_ = v_isSharedCheck_6518_;
goto v_resetjp_6512_;
}
else
{
lean_inc(v_a_6511_);
lean_dec(v___x_6501_);
v___x_6513_ = lean_box(0);
v_isShared_6514_ = v_isSharedCheck_6518_;
goto v_resetjp_6512_;
}
v_resetjp_6512_:
{
lean_object* v___x_6516_; 
if (v_isShared_6514_ == 0)
{
v___x_6516_ = v___x_6513_;
goto v_reusejp_6515_;
}
else
{
lean_object* v_reuseFailAlloc_6517_; 
v_reuseFailAlloc_6517_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6517_, 0, v_a_6511_);
v___x_6516_ = v_reuseFailAlloc_6517_;
goto v_reusejp_6515_;
}
v_reusejp_6515_:
{
return v___x_6516_;
}
}
}
}
}
}
else
{
lean_object* v_a_6520_; lean_object* v___x_6522_; uint8_t v_isShared_6523_; uint8_t v_isSharedCheck_6527_; 
lean_dec(v___y_6362_);
lean_dec_ref(v___y_6361_);
lean_dec(v___y_6360_);
lean_dec_ref(v___y_6359_);
lean_dec(v___y_6358_);
lean_dec_ref(v___y_6357_);
lean_dec(v___y_6356_);
lean_dec_ref(v___y_6355_);
lean_dec(v___y_6354_);
lean_dec(v___y_6353_);
v_a_6520_ = lean_ctor_get(v___x_6448_, 0);
v_isSharedCheck_6527_ = !lean_is_exclusive(v___x_6448_);
if (v_isSharedCheck_6527_ == 0)
{
v___x_6522_ = v___x_6448_;
v_isShared_6523_ = v_isSharedCheck_6527_;
goto v_resetjp_6521_;
}
else
{
lean_inc(v_a_6520_);
lean_dec(v___x_6448_);
v___x_6522_ = lean_box(0);
v_isShared_6523_ = v_isSharedCheck_6527_;
goto v_resetjp_6521_;
}
v_resetjp_6521_:
{
lean_object* v___x_6525_; 
if (v_isShared_6523_ == 0)
{
v___x_6525_ = v___x_6522_;
goto v_reusejp_6524_;
}
else
{
lean_object* v_reuseFailAlloc_6526_; 
v_reuseFailAlloc_6526_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6526_, 0, v_a_6520_);
v___x_6525_ = v_reuseFailAlloc_6526_;
goto v_reusejp_6524_;
}
v_reusejp_6524_:
{
return v___x_6525_;
}
}
}
v___jp_6373_:
{
uint8_t v___x_6384_; 
v___x_6384_ = l_Lean_LocalDecl_isImplementationDetail(v_val_6372_);
if (v___x_6384_ == 0)
{
lean_object* v_type_6385_; lean_object* v___x_6386_; 
v_type_6385_ = l_Lean_LocalDecl_type(v_val_6372_);
lean_inc(v___y_6383_);
lean_inc_ref(v___y_6382_);
lean_inc(v___y_6381_);
lean_inc_ref(v___y_6380_);
lean_inc_ref(v_type_6385_);
v___x_6386_ = l_Lean_Meta_isProp(v_type_6385_, v___y_6380_, v___y_6381_, v___y_6382_, v___y_6383_);
if (lean_obj_tag(v___x_6386_) == 0)
{
lean_object* v_a_6387_; uint8_t v___x_6388_; 
v_a_6387_ = lean_ctor_get(v___x_6386_, 0);
lean_inc(v_a_6387_);
lean_dec_ref(v___x_6386_);
v___x_6388_ = lean_unbox(v_a_6387_);
lean_dec(v_a_6387_);
if (v___x_6388_ == 0)
{
lean_object* v___x_6389_; 
lean_dec_ref(v_type_6385_);
lean_inc(v_val_6372_);
v___x_6389_ = l_Lean_Meta_Grind_internalizeLocalDecl(v_val_6372_, v___y_6374_, v___y_6375_, v___y_6376_, v___y_6377_, v___y_6378_, v___y_6379_, v___y_6380_, v___y_6381_, v___y_6382_, v___y_6383_);
if (lean_obj_tag(v___x_6389_) == 0)
{
lean_object* v_a_6390_; 
v_a_6390_ = lean_ctor_get(v___x_6389_, 0);
lean_inc(v_a_6390_);
lean_dec_ref(v___x_6389_);
v_a_6365_ = v_a_6390_;
goto v___jp_6364_;
}
else
{
lean_object* v_a_6391_; lean_object* v___x_6393_; uint8_t v_isShared_6394_; uint8_t v_isSharedCheck_6398_; 
lean_dec(v___y_6362_);
lean_dec_ref(v___y_6361_);
lean_dec(v___y_6360_);
lean_dec_ref(v___y_6359_);
lean_dec(v___y_6358_);
lean_dec_ref(v___y_6357_);
lean_dec(v___y_6356_);
lean_dec_ref(v___y_6355_);
lean_dec(v___y_6354_);
lean_dec(v___y_6353_);
v_a_6391_ = lean_ctor_get(v___x_6389_, 0);
v_isSharedCheck_6398_ = !lean_is_exclusive(v___x_6389_);
if (v_isSharedCheck_6398_ == 0)
{
v___x_6393_ = v___x_6389_;
v_isShared_6394_ = v_isSharedCheck_6398_;
goto v_resetjp_6392_;
}
else
{
lean_inc(v_a_6391_);
lean_dec(v___x_6389_);
v___x_6393_ = lean_box(0);
v_isShared_6394_ = v_isSharedCheck_6398_;
goto v_resetjp_6392_;
}
v_resetjp_6392_:
{
lean_object* v___x_6396_; 
if (v_isShared_6394_ == 0)
{
v___x_6396_ = v___x_6393_;
goto v_reusejp_6395_;
}
else
{
lean_object* v_reuseFailAlloc_6397_; 
v_reuseFailAlloc_6397_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6397_, 0, v_a_6391_);
v___x_6396_ = v_reuseFailAlloc_6397_;
goto v_reusejp_6395_;
}
v_reusejp_6395_:
{
return v___x_6396_;
}
}
}
}
else
{
lean_object* v___x_6399_; 
lean_inc(v___y_6383_);
lean_inc_ref(v___y_6382_);
lean_inc(v___y_6381_);
lean_inc_ref(v___y_6380_);
lean_inc(v___y_6379_);
lean_inc_ref(v___y_6378_);
lean_inc(v___y_6377_);
lean_inc_ref(v___y_6376_);
lean_inc(v___y_6375_);
lean_inc(v___y_6374_);
lean_inc_ref(v_type_6385_);
v___x_6399_ = l_Lean_Meta_Grind_preprocessHypothesis(v_type_6385_, v___y_6374_, v___y_6375_, v___y_6376_, v___y_6377_, v___y_6378_, v___y_6379_, v___y_6380_, v___y_6381_, v___y_6382_, v___y_6383_);
if (lean_obj_tag(v___x_6399_) == 0)
{
lean_object* v_a_6400_; lean_object* v_proof_x3f_6401_; 
v_a_6400_ = lean_ctor_get(v___x_6399_, 0);
lean_inc(v_a_6400_);
lean_dec_ref(v___x_6399_);
v_proof_x3f_6401_ = lean_ctor_get(v_a_6400_, 1);
if (lean_obj_tag(v_proof_x3f_6401_) == 0)
{
lean_object* v_expr_6402_; lean_object* v___x_6403_; lean_object* v___x_6404_; lean_object* v___x_6405_; 
lean_dec_ref(v_type_6385_);
v_expr_6402_ = lean_ctor_get(v_a_6400_, 0);
lean_inc_ref(v_expr_6402_);
lean_dec(v_a_6400_);
lean_inc(v_val_6372_);
v___x_6403_ = l_Lean_LocalDecl_toExpr(v_val_6372_);
v___x_6404_ = lean_unsigned_to_nat(0u);
v___x_6405_ = l_Lean_Meta_Grind_add(v_expr_6402_, v___x_6403_, v___x_6404_, v___y_6374_, v___y_6375_, v___y_6376_, v___y_6377_, v___y_6378_, v___y_6379_, v___y_6380_, v___y_6381_, v___y_6382_, v___y_6383_);
if (lean_obj_tag(v___x_6405_) == 0)
{
lean_object* v_a_6406_; 
v_a_6406_ = lean_ctor_get(v___x_6405_, 0);
lean_inc(v_a_6406_);
lean_dec_ref(v___x_6405_);
v_a_6365_ = v_a_6406_;
goto v___jp_6364_;
}
else
{
lean_object* v_a_6407_; lean_object* v___x_6409_; uint8_t v_isShared_6410_; uint8_t v_isSharedCheck_6414_; 
lean_dec(v___y_6362_);
lean_dec_ref(v___y_6361_);
lean_dec(v___y_6360_);
lean_dec_ref(v___y_6359_);
lean_dec(v___y_6358_);
lean_dec_ref(v___y_6357_);
lean_dec(v___y_6356_);
lean_dec_ref(v___y_6355_);
lean_dec(v___y_6354_);
lean_dec(v___y_6353_);
v_a_6407_ = lean_ctor_get(v___x_6405_, 0);
v_isSharedCheck_6414_ = !lean_is_exclusive(v___x_6405_);
if (v_isSharedCheck_6414_ == 0)
{
v___x_6409_ = v___x_6405_;
v_isShared_6410_ = v_isSharedCheck_6414_;
goto v_resetjp_6408_;
}
else
{
lean_inc(v_a_6407_);
lean_dec(v___x_6405_);
v___x_6409_ = lean_box(0);
v_isShared_6410_ = v_isSharedCheck_6414_;
goto v_resetjp_6408_;
}
v_resetjp_6408_:
{
lean_object* v___x_6412_; 
if (v_isShared_6410_ == 0)
{
v___x_6412_ = v___x_6409_;
goto v_reusejp_6411_;
}
else
{
lean_object* v_reuseFailAlloc_6413_; 
v_reuseFailAlloc_6413_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6413_, 0, v_a_6407_);
v___x_6412_ = v_reuseFailAlloc_6413_;
goto v_reusejp_6411_;
}
v_reusejp_6411_:
{
return v___x_6412_;
}
}
}
}
else
{
lean_object* v_expr_6415_; lean_object* v_val_6416_; lean_object* v___x_6417_; lean_object* v___x_6418_; lean_object* v___x_6419_; lean_object* v___x_6420_; lean_object* v___x_6421_; 
lean_inc_ref(v_proof_x3f_6401_);
v_expr_6415_ = lean_ctor_get(v_a_6400_, 0);
lean_inc_ref(v_expr_6415_);
lean_dec(v_a_6400_);
v_val_6416_ = lean_ctor_get(v_proof_x3f_6401_, 0);
lean_inc(v_val_6416_);
lean_dec_ref(v_proof_x3f_6401_);
v___x_6417_ = lean_unsigned_to_nat(0u);
v___x_6418_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__4, &l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__4_once, _init_l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__4);
lean_inc(v_val_6372_);
v___x_6419_ = l_Lean_LocalDecl_toExpr(v_val_6372_);
lean_inc_ref(v_expr_6415_);
v___x_6420_ = l_Lean_mkApp4(v___x_6418_, v_type_6385_, v_expr_6415_, v_val_6416_, v___x_6419_);
v___x_6421_ = l_Lean_Meta_Grind_add(v_expr_6415_, v___x_6420_, v___x_6417_, v___y_6374_, v___y_6375_, v___y_6376_, v___y_6377_, v___y_6378_, v___y_6379_, v___y_6380_, v___y_6381_, v___y_6382_, v___y_6383_);
if (lean_obj_tag(v___x_6421_) == 0)
{
lean_object* v_a_6422_; 
v_a_6422_ = lean_ctor_get(v___x_6421_, 0);
lean_inc(v_a_6422_);
lean_dec_ref(v___x_6421_);
v_a_6365_ = v_a_6422_;
goto v___jp_6364_;
}
else
{
lean_object* v_a_6423_; lean_object* v___x_6425_; uint8_t v_isShared_6426_; uint8_t v_isSharedCheck_6430_; 
lean_dec(v___y_6362_);
lean_dec_ref(v___y_6361_);
lean_dec(v___y_6360_);
lean_dec_ref(v___y_6359_);
lean_dec(v___y_6358_);
lean_dec_ref(v___y_6357_);
lean_dec(v___y_6356_);
lean_dec_ref(v___y_6355_);
lean_dec(v___y_6354_);
lean_dec(v___y_6353_);
v_a_6423_ = lean_ctor_get(v___x_6421_, 0);
v_isSharedCheck_6430_ = !lean_is_exclusive(v___x_6421_);
if (v_isSharedCheck_6430_ == 0)
{
v___x_6425_ = v___x_6421_;
v_isShared_6426_ = v_isSharedCheck_6430_;
goto v_resetjp_6424_;
}
else
{
lean_inc(v_a_6423_);
lean_dec(v___x_6421_);
v___x_6425_ = lean_box(0);
v_isShared_6426_ = v_isSharedCheck_6430_;
goto v_resetjp_6424_;
}
v_resetjp_6424_:
{
lean_object* v___x_6428_; 
if (v_isShared_6426_ == 0)
{
v___x_6428_ = v___x_6425_;
goto v_reusejp_6427_;
}
else
{
lean_object* v_reuseFailAlloc_6429_; 
v_reuseFailAlloc_6429_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6429_, 0, v_a_6423_);
v___x_6428_ = v_reuseFailAlloc_6429_;
goto v_reusejp_6427_;
}
v_reusejp_6427_:
{
return v___x_6428_;
}
}
}
}
}
else
{
lean_object* v_a_6431_; lean_object* v___x_6433_; uint8_t v_isShared_6434_; uint8_t v_isSharedCheck_6438_; 
lean_dec_ref(v_type_6385_);
lean_dec(v___y_6383_);
lean_dec_ref(v___y_6382_);
lean_dec(v___y_6381_);
lean_dec_ref(v___y_6380_);
lean_dec(v___y_6379_);
lean_dec_ref(v___y_6378_);
lean_dec(v___y_6377_);
lean_dec_ref(v___y_6376_);
lean_dec(v___y_6375_);
lean_dec(v___y_6374_);
lean_dec(v___y_6362_);
lean_dec_ref(v___y_6361_);
lean_dec(v___y_6360_);
lean_dec_ref(v___y_6359_);
lean_dec(v___y_6358_);
lean_dec_ref(v___y_6357_);
lean_dec(v___y_6356_);
lean_dec_ref(v___y_6355_);
lean_dec(v___y_6354_);
lean_dec(v___y_6353_);
v_a_6431_ = lean_ctor_get(v___x_6399_, 0);
v_isSharedCheck_6438_ = !lean_is_exclusive(v___x_6399_);
if (v_isSharedCheck_6438_ == 0)
{
v___x_6433_ = v___x_6399_;
v_isShared_6434_ = v_isSharedCheck_6438_;
goto v_resetjp_6432_;
}
else
{
lean_inc(v_a_6431_);
lean_dec(v___x_6399_);
v___x_6433_ = lean_box(0);
v_isShared_6434_ = v_isSharedCheck_6438_;
goto v_resetjp_6432_;
}
v_resetjp_6432_:
{
lean_object* v___x_6436_; 
if (v_isShared_6434_ == 0)
{
v___x_6436_ = v___x_6433_;
goto v_reusejp_6435_;
}
else
{
lean_object* v_reuseFailAlloc_6437_; 
v_reuseFailAlloc_6437_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6437_, 0, v_a_6431_);
v___x_6436_ = v_reuseFailAlloc_6437_;
goto v_reusejp_6435_;
}
v_reusejp_6435_:
{
return v___x_6436_;
}
}
}
}
}
else
{
lean_object* v_a_6439_; lean_object* v___x_6441_; uint8_t v_isShared_6442_; uint8_t v_isSharedCheck_6446_; 
lean_dec_ref(v_type_6385_);
lean_dec(v___y_6383_);
lean_dec_ref(v___y_6382_);
lean_dec(v___y_6381_);
lean_dec_ref(v___y_6380_);
lean_dec(v___y_6379_);
lean_dec_ref(v___y_6378_);
lean_dec(v___y_6377_);
lean_dec_ref(v___y_6376_);
lean_dec(v___y_6375_);
lean_dec(v___y_6374_);
lean_dec(v___y_6362_);
lean_dec_ref(v___y_6361_);
lean_dec(v___y_6360_);
lean_dec_ref(v___y_6359_);
lean_dec(v___y_6358_);
lean_dec_ref(v___y_6357_);
lean_dec(v___y_6356_);
lean_dec_ref(v___y_6355_);
lean_dec(v___y_6354_);
lean_dec(v___y_6353_);
v_a_6439_ = lean_ctor_get(v___x_6386_, 0);
v_isSharedCheck_6446_ = !lean_is_exclusive(v___x_6386_);
if (v_isSharedCheck_6446_ == 0)
{
v___x_6441_ = v___x_6386_;
v_isShared_6442_ = v_isSharedCheck_6446_;
goto v_resetjp_6440_;
}
else
{
lean_inc(v_a_6439_);
lean_dec(v___x_6386_);
v___x_6441_ = lean_box(0);
v_isShared_6442_ = v_isSharedCheck_6446_;
goto v_resetjp_6440_;
}
v_resetjp_6440_:
{
lean_object* v___x_6444_; 
if (v_isShared_6442_ == 0)
{
v___x_6444_ = v___x_6441_;
goto v_reusejp_6443_;
}
else
{
lean_object* v_reuseFailAlloc_6445_; 
v_reuseFailAlloc_6445_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6445_, 0, v_a_6439_);
v___x_6444_ = v_reuseFailAlloc_6445_;
goto v_reusejp_6443_;
}
v_reusejp_6443_:
{
return v___x_6444_;
}
}
}
}
else
{
lean_object* v___x_6447_; 
lean_dec(v___y_6383_);
lean_dec_ref(v___y_6382_);
lean_dec(v___y_6381_);
lean_dec_ref(v___y_6380_);
lean_dec(v___y_6379_);
lean_dec_ref(v___y_6378_);
lean_dec(v___y_6377_);
lean_dec_ref(v___y_6376_);
lean_dec(v___y_6375_);
lean_dec(v___y_6374_);
v___x_6447_ = lean_box(0);
v_a_6365_ = v___x_6447_;
goto v___jp_6364_;
}
}
}
}
else
{
lean_object* v___x_6528_; lean_object* v___x_6529_; 
lean_dec(v___y_6362_);
lean_dec_ref(v___y_6361_);
lean_dec(v___y_6360_);
lean_dec_ref(v___y_6359_);
lean_dec(v___y_6358_);
lean_dec_ref(v___y_6357_);
lean_dec(v___y_6356_);
lean_dec_ref(v___y_6355_);
lean_dec(v___y_6354_);
lean_dec(v___y_6353_);
v___x_6528_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6528_, 0, v_b_6352_);
v___x_6529_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6529_, 0, v___x_6528_);
return v___x_6529_;
}
v___jp_6364_:
{
size_t v___x_6366_; size_t v___x_6367_; 
v___x_6366_ = ((size_t)1ULL);
v___x_6367_ = lean_usize_add(v_i_6350_, v___x_6366_);
v_i_6350_ = v___x_6367_;
v_b_6352_ = v_a_6365_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___boxed(lean_object** _args){
lean_object* v_num_x3f_6530_ = _args[0];
lean_object* v_goal_6531_ = _args[1];
lean_object* v_as_6532_ = _args[2];
lean_object* v_i_6533_ = _args[3];
lean_object* v_stop_6534_ = _args[4];
lean_object* v_b_6535_ = _args[5];
lean_object* v___y_6536_ = _args[6];
lean_object* v___y_6537_ = _args[7];
lean_object* v___y_6538_ = _args[8];
lean_object* v___y_6539_ = _args[9];
lean_object* v___y_6540_ = _args[10];
lean_object* v___y_6541_ = _args[11];
lean_object* v___y_6542_ = _args[12];
lean_object* v___y_6543_ = _args[13];
lean_object* v___y_6544_ = _args[14];
lean_object* v___y_6545_ = _args[15];
lean_object* v___y_6546_ = _args[16];
_start:
{
size_t v_i_boxed_6547_; size_t v_stop_boxed_6548_; lean_object* v_res_6549_; 
v_i_boxed_6547_ = lean_unbox_usize(v_i_6533_);
lean_dec(v_i_6533_);
v_stop_boxed_6548_ = lean_unbox_usize(v_stop_6534_);
lean_dec(v_stop_6534_);
v_res_6549_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5(v_num_x3f_6530_, v_goal_6531_, v_as_6532_, v_i_boxed_6547_, v_stop_boxed_6548_, v_b_6535_, v___y_6536_, v___y_6537_, v___y_6538_, v___y_6539_, v___y_6540_, v___y_6541_, v___y_6542_, v___y_6543_, v___y_6544_, v___y_6545_);
lean_dec_ref(v_as_6532_);
lean_dec_ref(v_goal_6531_);
lean_dec(v_num_x3f_6530_);
return v_res_6549_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(lean_object* v_num_x3f_6550_, lean_object* v_goal_6551_, lean_object* v_as_6552_, size_t v_i_6553_, size_t v_stop_6554_, lean_object* v_b_6555_, lean_object* v___y_6556_, lean_object* v___y_6557_, lean_object* v___y_6558_, lean_object* v___y_6559_, lean_object* v___y_6560_, lean_object* v___y_6561_, lean_object* v___y_6562_, lean_object* v___y_6563_, lean_object* v___y_6564_, lean_object* v___y_6565_){
_start:
{
lean_object* v_a_6568_; uint8_t v___x_6572_; 
v___x_6572_ = lean_usize_dec_eq(v_i_6553_, v_stop_6554_);
if (v___x_6572_ == 0)
{
lean_object* v___x_6573_; 
v___x_6573_ = lean_array_uget_borrowed(v_as_6552_, v_i_6553_);
if (lean_obj_tag(v___x_6573_) == 0)
{
lean_object* v___x_6574_; 
v___x_6574_ = lean_box(0);
v_a_6568_ = v___x_6574_;
goto v___jp_6567_;
}
else
{
lean_object* v_val_6575_; lean_object* v___y_6577_; lean_object* v___y_6578_; lean_object* v___y_6579_; lean_object* v___y_6580_; lean_object* v___y_6581_; lean_object* v___y_6582_; lean_object* v___y_6583_; lean_object* v___y_6584_; lean_object* v___y_6585_; lean_object* v___y_6586_; lean_object* v___x_6651_; 
v_val_6575_ = lean_ctor_get(v___x_6573_, 0);
v___x_6651_ = l_Lean_Meta_Grind_isInconsistent___redArg(v___y_6556_);
if (lean_obj_tag(v___x_6651_) == 0)
{
lean_object* v_a_6652_; lean_object* v___x_6654_; uint8_t v_isShared_6655_; uint8_t v_isSharedCheck_6722_; 
v_a_6652_ = lean_ctor_get(v___x_6651_, 0);
v_isSharedCheck_6722_ = !lean_is_exclusive(v___x_6651_);
if (v_isSharedCheck_6722_ == 0)
{
v___x_6654_ = v___x_6651_;
v_isShared_6655_ = v_isSharedCheck_6722_;
goto v_resetjp_6653_;
}
else
{
lean_inc(v_a_6652_);
lean_dec(v___x_6651_);
v___x_6654_ = lean_box(0);
v_isShared_6655_ = v_isSharedCheck_6722_;
goto v_resetjp_6653_;
}
v_resetjp_6653_:
{
uint8_t v___x_6656_; 
v___x_6656_ = lean_unbox(v_a_6652_);
lean_dec(v_a_6652_);
if (v___x_6656_ == 0)
{
if (lean_obj_tag(v_num_x3f_6550_) == 1)
{
lean_object* v_toGoalState_6657_; lean_object* v_val_6658_; lean_object* v_nextDeclIdx_6659_; lean_object* v___x_6660_; lean_object* v___x_6661_; uint8_t v___x_6662_; 
v_toGoalState_6657_ = lean_ctor_get(v_goal_6551_, 0);
v_val_6658_ = lean_ctor_get(v_num_x3f_6550_, 0);
v_nextDeclIdx_6659_ = lean_ctor_get(v_toGoalState_6657_, 0);
v___x_6660_ = lean_nat_add(v_nextDeclIdx_6659_, v_val_6658_);
v___x_6661_ = l_Lean_LocalDecl_index(v_val_6575_);
v___x_6662_ = lean_nat_dec_le(v___x_6660_, v___x_6661_);
lean_dec(v___x_6660_);
if (v___x_6662_ == 0)
{
lean_dec(v___x_6661_);
lean_del_object(v___x_6654_);
lean_inc(v___y_6565_);
lean_inc_ref(v___y_6564_);
lean_inc(v___y_6563_);
lean_inc_ref(v___y_6562_);
lean_inc(v___y_6561_);
lean_inc_ref(v___y_6560_);
lean_inc(v___y_6559_);
lean_inc_ref(v___y_6558_);
lean_inc(v___y_6557_);
lean_inc(v___y_6556_);
v___y_6577_ = v___y_6556_;
v___y_6578_ = v___y_6557_;
v___y_6579_ = v___y_6558_;
v___y_6580_ = v___y_6559_;
v___y_6581_ = v___y_6560_;
v___y_6582_ = v___y_6561_;
v___y_6583_ = v___y_6562_;
v___y_6584_ = v___y_6563_;
v___y_6585_ = v___y_6564_;
v___y_6586_ = v___y_6565_;
goto v___jp_6576_;
}
else
{
lean_object* v___x_6663_; lean_object* v_toGoalState_6664_; lean_object* v_mvarId_6665_; lean_object* v___x_6667_; uint8_t v_isShared_6668_; uint8_t v_isSharedCheck_6703_; 
lean_dec(v___y_6565_);
lean_dec_ref(v___y_6564_);
lean_dec(v___y_6563_);
lean_dec_ref(v___y_6562_);
lean_dec(v___y_6561_);
lean_dec_ref(v___y_6560_);
lean_dec(v___y_6559_);
lean_dec_ref(v___y_6558_);
lean_dec(v___y_6557_);
v___x_6663_ = lean_st_ref_take(v___y_6556_);
v_toGoalState_6664_ = lean_ctor_get(v___x_6663_, 0);
v_mvarId_6665_ = lean_ctor_get(v___x_6663_, 1);
v_isSharedCheck_6703_ = !lean_is_exclusive(v___x_6663_);
if (v_isSharedCheck_6703_ == 0)
{
v___x_6667_ = v___x_6663_;
v_isShared_6668_ = v_isSharedCheck_6703_;
goto v_resetjp_6666_;
}
else
{
lean_inc(v_mvarId_6665_);
lean_inc(v_toGoalState_6664_);
lean_dec(v___x_6663_);
v___x_6667_ = lean_box(0);
v_isShared_6668_ = v_isSharedCheck_6703_;
goto v_resetjp_6666_;
}
v_resetjp_6666_:
{
lean_object* v_canon_6669_; lean_object* v_enodeMap_6670_; lean_object* v_exprs_6671_; lean_object* v_parents_6672_; lean_object* v_congrTable_6673_; lean_object* v_appMap_6674_; lean_object* v_indicesFound_6675_; lean_object* v_newFacts_6676_; uint8_t v_inconsistent_6677_; lean_object* v_nextIdx_6678_; lean_object* v_newRawFacts_6679_; lean_object* v_facts_6680_; lean_object* v_extThms_6681_; lean_object* v_ematch_6682_; lean_object* v_inj_6683_; lean_object* v_split_6684_; lean_object* v_clean_6685_; lean_object* v_sstates_6686_; lean_object* v___x_6688_; uint8_t v_isShared_6689_; uint8_t v_isSharedCheck_6701_; 
v_canon_6669_ = lean_ctor_get(v_toGoalState_6664_, 1);
v_enodeMap_6670_ = lean_ctor_get(v_toGoalState_6664_, 2);
v_exprs_6671_ = lean_ctor_get(v_toGoalState_6664_, 3);
v_parents_6672_ = lean_ctor_get(v_toGoalState_6664_, 4);
v_congrTable_6673_ = lean_ctor_get(v_toGoalState_6664_, 5);
v_appMap_6674_ = lean_ctor_get(v_toGoalState_6664_, 6);
v_indicesFound_6675_ = lean_ctor_get(v_toGoalState_6664_, 7);
v_newFacts_6676_ = lean_ctor_get(v_toGoalState_6664_, 8);
v_inconsistent_6677_ = lean_ctor_get_uint8(v_toGoalState_6664_, sizeof(void*)*18);
v_nextIdx_6678_ = lean_ctor_get(v_toGoalState_6664_, 9);
v_newRawFacts_6679_ = lean_ctor_get(v_toGoalState_6664_, 10);
v_facts_6680_ = lean_ctor_get(v_toGoalState_6664_, 11);
v_extThms_6681_ = lean_ctor_get(v_toGoalState_6664_, 12);
v_ematch_6682_ = lean_ctor_get(v_toGoalState_6664_, 13);
v_inj_6683_ = lean_ctor_get(v_toGoalState_6664_, 14);
v_split_6684_ = lean_ctor_get(v_toGoalState_6664_, 15);
v_clean_6685_ = lean_ctor_get(v_toGoalState_6664_, 16);
v_sstates_6686_ = lean_ctor_get(v_toGoalState_6664_, 17);
v_isSharedCheck_6701_ = !lean_is_exclusive(v_toGoalState_6664_);
if (v_isSharedCheck_6701_ == 0)
{
lean_object* v_unused_6702_; 
v_unused_6702_ = lean_ctor_get(v_toGoalState_6664_, 0);
lean_dec(v_unused_6702_);
v___x_6688_ = v_toGoalState_6664_;
v_isShared_6689_ = v_isSharedCheck_6701_;
goto v_resetjp_6687_;
}
else
{
lean_inc(v_sstates_6686_);
lean_inc(v_clean_6685_);
lean_inc(v_split_6684_);
lean_inc(v_inj_6683_);
lean_inc(v_ematch_6682_);
lean_inc(v_extThms_6681_);
lean_inc(v_facts_6680_);
lean_inc(v_newRawFacts_6679_);
lean_inc(v_nextIdx_6678_);
lean_inc(v_newFacts_6676_);
lean_inc(v_indicesFound_6675_);
lean_inc(v_appMap_6674_);
lean_inc(v_congrTable_6673_);
lean_inc(v_parents_6672_);
lean_inc(v_exprs_6671_);
lean_inc(v_enodeMap_6670_);
lean_inc(v_canon_6669_);
lean_dec(v_toGoalState_6664_);
v___x_6688_ = lean_box(0);
v_isShared_6689_ = v_isSharedCheck_6701_;
goto v_resetjp_6687_;
}
v_resetjp_6687_:
{
lean_object* v___x_6691_; 
if (v_isShared_6689_ == 0)
{
lean_ctor_set(v___x_6688_, 0, v___x_6661_);
v___x_6691_ = v___x_6688_;
goto v_reusejp_6690_;
}
else
{
lean_object* v_reuseFailAlloc_6700_; 
v_reuseFailAlloc_6700_ = lean_alloc_ctor(0, 18, 1);
lean_ctor_set(v_reuseFailAlloc_6700_, 0, v___x_6661_);
lean_ctor_set(v_reuseFailAlloc_6700_, 1, v_canon_6669_);
lean_ctor_set(v_reuseFailAlloc_6700_, 2, v_enodeMap_6670_);
lean_ctor_set(v_reuseFailAlloc_6700_, 3, v_exprs_6671_);
lean_ctor_set(v_reuseFailAlloc_6700_, 4, v_parents_6672_);
lean_ctor_set(v_reuseFailAlloc_6700_, 5, v_congrTable_6673_);
lean_ctor_set(v_reuseFailAlloc_6700_, 6, v_appMap_6674_);
lean_ctor_set(v_reuseFailAlloc_6700_, 7, v_indicesFound_6675_);
lean_ctor_set(v_reuseFailAlloc_6700_, 8, v_newFacts_6676_);
lean_ctor_set(v_reuseFailAlloc_6700_, 9, v_nextIdx_6678_);
lean_ctor_set(v_reuseFailAlloc_6700_, 10, v_newRawFacts_6679_);
lean_ctor_set(v_reuseFailAlloc_6700_, 11, v_facts_6680_);
lean_ctor_set(v_reuseFailAlloc_6700_, 12, v_extThms_6681_);
lean_ctor_set(v_reuseFailAlloc_6700_, 13, v_ematch_6682_);
lean_ctor_set(v_reuseFailAlloc_6700_, 14, v_inj_6683_);
lean_ctor_set(v_reuseFailAlloc_6700_, 15, v_split_6684_);
lean_ctor_set(v_reuseFailAlloc_6700_, 16, v_clean_6685_);
lean_ctor_set(v_reuseFailAlloc_6700_, 17, v_sstates_6686_);
lean_ctor_set_uint8(v_reuseFailAlloc_6700_, sizeof(void*)*18, v_inconsistent_6677_);
v___x_6691_ = v_reuseFailAlloc_6700_;
goto v_reusejp_6690_;
}
v_reusejp_6690_:
{
lean_object* v___x_6693_; 
if (v_isShared_6668_ == 0)
{
lean_ctor_set(v___x_6667_, 0, v___x_6691_);
v___x_6693_ = v___x_6667_;
goto v_reusejp_6692_;
}
else
{
lean_object* v_reuseFailAlloc_6699_; 
v_reuseFailAlloc_6699_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6699_, 0, v___x_6691_);
lean_ctor_set(v_reuseFailAlloc_6699_, 1, v_mvarId_6665_);
v___x_6693_ = v_reuseFailAlloc_6699_;
goto v_reusejp_6692_;
}
v_reusejp_6692_:
{
lean_object* v___x_6694_; lean_object* v___x_6695_; lean_object* v___x_6697_; 
v___x_6694_ = lean_st_ref_set(v___y_6556_, v___x_6693_);
lean_dec(v___y_6556_);
v___x_6695_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__5));
if (v_isShared_6655_ == 0)
{
lean_ctor_set(v___x_6654_, 0, v___x_6695_);
v___x_6697_ = v___x_6654_;
goto v_reusejp_6696_;
}
else
{
lean_object* v_reuseFailAlloc_6698_; 
v_reuseFailAlloc_6698_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6698_, 0, v___x_6695_);
v___x_6697_ = v_reuseFailAlloc_6698_;
goto v_reusejp_6696_;
}
v_reusejp_6696_:
{
return v___x_6697_;
}
}
}
}
}
}
}
else
{
lean_del_object(v___x_6654_);
lean_inc(v___y_6565_);
lean_inc_ref(v___y_6564_);
lean_inc(v___y_6563_);
lean_inc_ref(v___y_6562_);
lean_inc(v___y_6561_);
lean_inc_ref(v___y_6560_);
lean_inc(v___y_6559_);
lean_inc_ref(v___y_6558_);
lean_inc(v___y_6557_);
lean_inc(v___y_6556_);
v___y_6577_ = v___y_6556_;
v___y_6578_ = v___y_6557_;
v___y_6579_ = v___y_6558_;
v___y_6580_ = v___y_6559_;
v___y_6581_ = v___y_6560_;
v___y_6582_ = v___y_6561_;
v___y_6583_ = v___y_6562_;
v___y_6584_ = v___y_6563_;
v___y_6585_ = v___y_6564_;
v___y_6586_ = v___y_6565_;
goto v___jp_6576_;
}
}
else
{
lean_object* v___x_6704_; 
lean_del_object(v___x_6654_);
lean_dec(v___y_6561_);
lean_dec_ref(v___y_6560_);
lean_dec(v___y_6559_);
lean_dec_ref(v___y_6558_);
lean_dec(v___y_6557_);
v___x_6704_ = l_Lean_Meta_Grind_setNextDeclToEnd___redArg(v___y_6556_, v___y_6562_, v___y_6563_, v___y_6564_, v___y_6565_);
lean_dec(v___y_6565_);
lean_dec_ref(v___y_6564_);
lean_dec(v___y_6563_);
lean_dec_ref(v___y_6562_);
lean_dec(v___y_6556_);
if (lean_obj_tag(v___x_6704_) == 0)
{
lean_object* v___x_6706_; uint8_t v_isShared_6707_; uint8_t v_isSharedCheck_6712_; 
v_isSharedCheck_6712_ = !lean_is_exclusive(v___x_6704_);
if (v_isSharedCheck_6712_ == 0)
{
lean_object* v_unused_6713_; 
v_unused_6713_ = lean_ctor_get(v___x_6704_, 0);
lean_dec(v_unused_6713_);
v___x_6706_ = v___x_6704_;
v_isShared_6707_ = v_isSharedCheck_6712_;
goto v_resetjp_6705_;
}
else
{
lean_dec(v___x_6704_);
v___x_6706_ = lean_box(0);
v_isShared_6707_ = v_isSharedCheck_6712_;
goto v_resetjp_6705_;
}
v_resetjp_6705_:
{
lean_object* v___x_6708_; lean_object* v___x_6710_; 
v___x_6708_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__5));
if (v_isShared_6707_ == 0)
{
lean_ctor_set(v___x_6706_, 0, v___x_6708_);
v___x_6710_ = v___x_6706_;
goto v_reusejp_6709_;
}
else
{
lean_object* v_reuseFailAlloc_6711_; 
v_reuseFailAlloc_6711_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6711_, 0, v___x_6708_);
v___x_6710_ = v_reuseFailAlloc_6711_;
goto v_reusejp_6709_;
}
v_reusejp_6709_:
{
return v___x_6710_;
}
}
}
else
{
lean_object* v_a_6714_; lean_object* v___x_6716_; uint8_t v_isShared_6717_; uint8_t v_isSharedCheck_6721_; 
v_a_6714_ = lean_ctor_get(v___x_6704_, 0);
v_isSharedCheck_6721_ = !lean_is_exclusive(v___x_6704_);
if (v_isSharedCheck_6721_ == 0)
{
v___x_6716_ = v___x_6704_;
v_isShared_6717_ = v_isSharedCheck_6721_;
goto v_resetjp_6715_;
}
else
{
lean_inc(v_a_6714_);
lean_dec(v___x_6704_);
v___x_6716_ = lean_box(0);
v_isShared_6717_ = v_isSharedCheck_6721_;
goto v_resetjp_6715_;
}
v_resetjp_6715_:
{
lean_object* v___x_6719_; 
if (v_isShared_6717_ == 0)
{
v___x_6719_ = v___x_6716_;
goto v_reusejp_6718_;
}
else
{
lean_object* v_reuseFailAlloc_6720_; 
v_reuseFailAlloc_6720_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6720_, 0, v_a_6714_);
v___x_6719_ = v_reuseFailAlloc_6720_;
goto v_reusejp_6718_;
}
v_reusejp_6718_:
{
return v___x_6719_;
}
}
}
}
}
}
else
{
lean_object* v_a_6723_; lean_object* v___x_6725_; uint8_t v_isShared_6726_; uint8_t v_isSharedCheck_6730_; 
lean_dec(v___y_6565_);
lean_dec_ref(v___y_6564_);
lean_dec(v___y_6563_);
lean_dec_ref(v___y_6562_);
lean_dec(v___y_6561_);
lean_dec_ref(v___y_6560_);
lean_dec(v___y_6559_);
lean_dec_ref(v___y_6558_);
lean_dec(v___y_6557_);
lean_dec(v___y_6556_);
v_a_6723_ = lean_ctor_get(v___x_6651_, 0);
v_isSharedCheck_6730_ = !lean_is_exclusive(v___x_6651_);
if (v_isSharedCheck_6730_ == 0)
{
v___x_6725_ = v___x_6651_;
v_isShared_6726_ = v_isSharedCheck_6730_;
goto v_resetjp_6724_;
}
else
{
lean_inc(v_a_6723_);
lean_dec(v___x_6651_);
v___x_6725_ = lean_box(0);
v_isShared_6726_ = v_isSharedCheck_6730_;
goto v_resetjp_6724_;
}
v_resetjp_6724_:
{
lean_object* v___x_6728_; 
if (v_isShared_6726_ == 0)
{
v___x_6728_ = v___x_6725_;
goto v_reusejp_6727_;
}
else
{
lean_object* v_reuseFailAlloc_6729_; 
v_reuseFailAlloc_6729_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6729_, 0, v_a_6723_);
v___x_6728_ = v_reuseFailAlloc_6729_;
goto v_reusejp_6727_;
}
v_reusejp_6727_:
{
return v___x_6728_;
}
}
}
v___jp_6576_:
{
uint8_t v___x_6587_; 
v___x_6587_ = l_Lean_LocalDecl_isImplementationDetail(v_val_6575_);
if (v___x_6587_ == 0)
{
lean_object* v_type_6588_; lean_object* v___x_6589_; 
v_type_6588_ = l_Lean_LocalDecl_type(v_val_6575_);
lean_inc(v___y_6586_);
lean_inc_ref(v___y_6585_);
lean_inc(v___y_6584_);
lean_inc_ref(v___y_6583_);
lean_inc_ref(v_type_6588_);
v___x_6589_ = l_Lean_Meta_isProp(v_type_6588_, v___y_6583_, v___y_6584_, v___y_6585_, v___y_6586_);
if (lean_obj_tag(v___x_6589_) == 0)
{
lean_object* v_a_6590_; uint8_t v___x_6591_; 
v_a_6590_ = lean_ctor_get(v___x_6589_, 0);
lean_inc(v_a_6590_);
lean_dec_ref(v___x_6589_);
v___x_6591_ = lean_unbox(v_a_6590_);
lean_dec(v_a_6590_);
if (v___x_6591_ == 0)
{
lean_object* v___x_6592_; 
lean_dec_ref(v_type_6588_);
lean_inc(v_val_6575_);
v___x_6592_ = l_Lean_Meta_Grind_internalizeLocalDecl(v_val_6575_, v___y_6577_, v___y_6578_, v___y_6579_, v___y_6580_, v___y_6581_, v___y_6582_, v___y_6583_, v___y_6584_, v___y_6585_, v___y_6586_);
if (lean_obj_tag(v___x_6592_) == 0)
{
lean_object* v_a_6593_; 
v_a_6593_ = lean_ctor_get(v___x_6592_, 0);
lean_inc(v_a_6593_);
lean_dec_ref(v___x_6592_);
v_a_6568_ = v_a_6593_;
goto v___jp_6567_;
}
else
{
lean_object* v_a_6594_; lean_object* v___x_6596_; uint8_t v_isShared_6597_; uint8_t v_isSharedCheck_6601_; 
lean_dec(v___y_6565_);
lean_dec_ref(v___y_6564_);
lean_dec(v___y_6563_);
lean_dec_ref(v___y_6562_);
lean_dec(v___y_6561_);
lean_dec_ref(v___y_6560_);
lean_dec(v___y_6559_);
lean_dec_ref(v___y_6558_);
lean_dec(v___y_6557_);
lean_dec(v___y_6556_);
v_a_6594_ = lean_ctor_get(v___x_6592_, 0);
v_isSharedCheck_6601_ = !lean_is_exclusive(v___x_6592_);
if (v_isSharedCheck_6601_ == 0)
{
v___x_6596_ = v___x_6592_;
v_isShared_6597_ = v_isSharedCheck_6601_;
goto v_resetjp_6595_;
}
else
{
lean_inc(v_a_6594_);
lean_dec(v___x_6592_);
v___x_6596_ = lean_box(0);
v_isShared_6597_ = v_isSharedCheck_6601_;
goto v_resetjp_6595_;
}
v_resetjp_6595_:
{
lean_object* v___x_6599_; 
if (v_isShared_6597_ == 0)
{
v___x_6599_ = v___x_6596_;
goto v_reusejp_6598_;
}
else
{
lean_object* v_reuseFailAlloc_6600_; 
v_reuseFailAlloc_6600_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6600_, 0, v_a_6594_);
v___x_6599_ = v_reuseFailAlloc_6600_;
goto v_reusejp_6598_;
}
v_reusejp_6598_:
{
return v___x_6599_;
}
}
}
}
else
{
lean_object* v___x_6602_; 
lean_inc(v___y_6586_);
lean_inc_ref(v___y_6585_);
lean_inc(v___y_6584_);
lean_inc_ref(v___y_6583_);
lean_inc(v___y_6582_);
lean_inc_ref(v___y_6581_);
lean_inc(v___y_6580_);
lean_inc_ref(v___y_6579_);
lean_inc(v___y_6578_);
lean_inc(v___y_6577_);
lean_inc_ref(v_type_6588_);
v___x_6602_ = l_Lean_Meta_Grind_preprocessHypothesis(v_type_6588_, v___y_6577_, v___y_6578_, v___y_6579_, v___y_6580_, v___y_6581_, v___y_6582_, v___y_6583_, v___y_6584_, v___y_6585_, v___y_6586_);
if (lean_obj_tag(v___x_6602_) == 0)
{
lean_object* v_a_6603_; lean_object* v_proof_x3f_6604_; 
v_a_6603_ = lean_ctor_get(v___x_6602_, 0);
lean_inc(v_a_6603_);
lean_dec_ref(v___x_6602_);
v_proof_x3f_6604_ = lean_ctor_get(v_a_6603_, 1);
if (lean_obj_tag(v_proof_x3f_6604_) == 0)
{
lean_object* v_expr_6605_; lean_object* v___x_6606_; lean_object* v___x_6607_; lean_object* v___x_6608_; 
lean_dec_ref(v_type_6588_);
v_expr_6605_ = lean_ctor_get(v_a_6603_, 0);
lean_inc_ref(v_expr_6605_);
lean_dec(v_a_6603_);
lean_inc(v_val_6575_);
v___x_6606_ = l_Lean_LocalDecl_toExpr(v_val_6575_);
v___x_6607_ = lean_unsigned_to_nat(0u);
v___x_6608_ = l_Lean_Meta_Grind_add(v_expr_6605_, v___x_6606_, v___x_6607_, v___y_6577_, v___y_6578_, v___y_6579_, v___y_6580_, v___y_6581_, v___y_6582_, v___y_6583_, v___y_6584_, v___y_6585_, v___y_6586_);
if (lean_obj_tag(v___x_6608_) == 0)
{
lean_object* v_a_6609_; 
v_a_6609_ = lean_ctor_get(v___x_6608_, 0);
lean_inc(v_a_6609_);
lean_dec_ref(v___x_6608_);
v_a_6568_ = v_a_6609_;
goto v___jp_6567_;
}
else
{
lean_object* v_a_6610_; lean_object* v___x_6612_; uint8_t v_isShared_6613_; uint8_t v_isSharedCheck_6617_; 
lean_dec(v___y_6565_);
lean_dec_ref(v___y_6564_);
lean_dec(v___y_6563_);
lean_dec_ref(v___y_6562_);
lean_dec(v___y_6561_);
lean_dec_ref(v___y_6560_);
lean_dec(v___y_6559_);
lean_dec_ref(v___y_6558_);
lean_dec(v___y_6557_);
lean_dec(v___y_6556_);
v_a_6610_ = lean_ctor_get(v___x_6608_, 0);
v_isSharedCheck_6617_ = !lean_is_exclusive(v___x_6608_);
if (v_isSharedCheck_6617_ == 0)
{
v___x_6612_ = v___x_6608_;
v_isShared_6613_ = v_isSharedCheck_6617_;
goto v_resetjp_6611_;
}
else
{
lean_inc(v_a_6610_);
lean_dec(v___x_6608_);
v___x_6612_ = lean_box(0);
v_isShared_6613_ = v_isSharedCheck_6617_;
goto v_resetjp_6611_;
}
v_resetjp_6611_:
{
lean_object* v___x_6615_; 
if (v_isShared_6613_ == 0)
{
v___x_6615_ = v___x_6612_;
goto v_reusejp_6614_;
}
else
{
lean_object* v_reuseFailAlloc_6616_; 
v_reuseFailAlloc_6616_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6616_, 0, v_a_6610_);
v___x_6615_ = v_reuseFailAlloc_6616_;
goto v_reusejp_6614_;
}
v_reusejp_6614_:
{
return v___x_6615_;
}
}
}
}
else
{
lean_object* v_expr_6618_; lean_object* v_val_6619_; lean_object* v___x_6620_; lean_object* v___x_6621_; lean_object* v___x_6622_; lean_object* v___x_6623_; lean_object* v___x_6624_; 
lean_inc_ref(v_proof_x3f_6604_);
v_expr_6618_ = lean_ctor_get(v_a_6603_, 0);
lean_inc_ref(v_expr_6618_);
lean_dec(v_a_6603_);
v_val_6619_ = lean_ctor_get(v_proof_x3f_6604_, 0);
lean_inc(v_val_6619_);
lean_dec_ref(v_proof_x3f_6604_);
v___x_6620_ = lean_unsigned_to_nat(0u);
v___x_6621_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__4, &l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__4_once, _init_l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5___closed__4);
lean_inc(v_val_6575_);
v___x_6622_ = l_Lean_LocalDecl_toExpr(v_val_6575_);
lean_inc_ref(v_expr_6618_);
v___x_6623_ = l_Lean_mkApp4(v___x_6621_, v_type_6588_, v_expr_6618_, v_val_6619_, v___x_6622_);
v___x_6624_ = l_Lean_Meta_Grind_add(v_expr_6618_, v___x_6623_, v___x_6620_, v___y_6577_, v___y_6578_, v___y_6579_, v___y_6580_, v___y_6581_, v___y_6582_, v___y_6583_, v___y_6584_, v___y_6585_, v___y_6586_);
if (lean_obj_tag(v___x_6624_) == 0)
{
lean_object* v_a_6625_; 
v_a_6625_ = lean_ctor_get(v___x_6624_, 0);
lean_inc(v_a_6625_);
lean_dec_ref(v___x_6624_);
v_a_6568_ = v_a_6625_;
goto v___jp_6567_;
}
else
{
lean_object* v_a_6626_; lean_object* v___x_6628_; uint8_t v_isShared_6629_; uint8_t v_isSharedCheck_6633_; 
lean_dec(v___y_6565_);
lean_dec_ref(v___y_6564_);
lean_dec(v___y_6563_);
lean_dec_ref(v___y_6562_);
lean_dec(v___y_6561_);
lean_dec_ref(v___y_6560_);
lean_dec(v___y_6559_);
lean_dec_ref(v___y_6558_);
lean_dec(v___y_6557_);
lean_dec(v___y_6556_);
v_a_6626_ = lean_ctor_get(v___x_6624_, 0);
v_isSharedCheck_6633_ = !lean_is_exclusive(v___x_6624_);
if (v_isSharedCheck_6633_ == 0)
{
v___x_6628_ = v___x_6624_;
v_isShared_6629_ = v_isSharedCheck_6633_;
goto v_resetjp_6627_;
}
else
{
lean_inc(v_a_6626_);
lean_dec(v___x_6624_);
v___x_6628_ = lean_box(0);
v_isShared_6629_ = v_isSharedCheck_6633_;
goto v_resetjp_6627_;
}
v_resetjp_6627_:
{
lean_object* v___x_6631_; 
if (v_isShared_6629_ == 0)
{
v___x_6631_ = v___x_6628_;
goto v_reusejp_6630_;
}
else
{
lean_object* v_reuseFailAlloc_6632_; 
v_reuseFailAlloc_6632_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6632_, 0, v_a_6626_);
v___x_6631_ = v_reuseFailAlloc_6632_;
goto v_reusejp_6630_;
}
v_reusejp_6630_:
{
return v___x_6631_;
}
}
}
}
}
else
{
lean_object* v_a_6634_; lean_object* v___x_6636_; uint8_t v_isShared_6637_; uint8_t v_isSharedCheck_6641_; 
lean_dec_ref(v_type_6588_);
lean_dec(v___y_6586_);
lean_dec_ref(v___y_6585_);
lean_dec(v___y_6584_);
lean_dec_ref(v___y_6583_);
lean_dec(v___y_6582_);
lean_dec_ref(v___y_6581_);
lean_dec(v___y_6580_);
lean_dec_ref(v___y_6579_);
lean_dec(v___y_6578_);
lean_dec(v___y_6577_);
lean_dec(v___y_6565_);
lean_dec_ref(v___y_6564_);
lean_dec(v___y_6563_);
lean_dec_ref(v___y_6562_);
lean_dec(v___y_6561_);
lean_dec_ref(v___y_6560_);
lean_dec(v___y_6559_);
lean_dec_ref(v___y_6558_);
lean_dec(v___y_6557_);
lean_dec(v___y_6556_);
v_a_6634_ = lean_ctor_get(v___x_6602_, 0);
v_isSharedCheck_6641_ = !lean_is_exclusive(v___x_6602_);
if (v_isSharedCheck_6641_ == 0)
{
v___x_6636_ = v___x_6602_;
v_isShared_6637_ = v_isSharedCheck_6641_;
goto v_resetjp_6635_;
}
else
{
lean_inc(v_a_6634_);
lean_dec(v___x_6602_);
v___x_6636_ = lean_box(0);
v_isShared_6637_ = v_isSharedCheck_6641_;
goto v_resetjp_6635_;
}
v_resetjp_6635_:
{
lean_object* v___x_6639_; 
if (v_isShared_6637_ == 0)
{
v___x_6639_ = v___x_6636_;
goto v_reusejp_6638_;
}
else
{
lean_object* v_reuseFailAlloc_6640_; 
v_reuseFailAlloc_6640_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6640_, 0, v_a_6634_);
v___x_6639_ = v_reuseFailAlloc_6640_;
goto v_reusejp_6638_;
}
v_reusejp_6638_:
{
return v___x_6639_;
}
}
}
}
}
else
{
lean_object* v_a_6642_; lean_object* v___x_6644_; uint8_t v_isShared_6645_; uint8_t v_isSharedCheck_6649_; 
lean_dec_ref(v_type_6588_);
lean_dec(v___y_6586_);
lean_dec_ref(v___y_6585_);
lean_dec(v___y_6584_);
lean_dec_ref(v___y_6583_);
lean_dec(v___y_6582_);
lean_dec_ref(v___y_6581_);
lean_dec(v___y_6580_);
lean_dec_ref(v___y_6579_);
lean_dec(v___y_6578_);
lean_dec(v___y_6577_);
lean_dec(v___y_6565_);
lean_dec_ref(v___y_6564_);
lean_dec(v___y_6563_);
lean_dec_ref(v___y_6562_);
lean_dec(v___y_6561_);
lean_dec_ref(v___y_6560_);
lean_dec(v___y_6559_);
lean_dec_ref(v___y_6558_);
lean_dec(v___y_6557_);
lean_dec(v___y_6556_);
v_a_6642_ = lean_ctor_get(v___x_6589_, 0);
v_isSharedCheck_6649_ = !lean_is_exclusive(v___x_6589_);
if (v_isSharedCheck_6649_ == 0)
{
v___x_6644_ = v___x_6589_;
v_isShared_6645_ = v_isSharedCheck_6649_;
goto v_resetjp_6643_;
}
else
{
lean_inc(v_a_6642_);
lean_dec(v___x_6589_);
v___x_6644_ = lean_box(0);
v_isShared_6645_ = v_isSharedCheck_6649_;
goto v_resetjp_6643_;
}
v_resetjp_6643_:
{
lean_object* v___x_6647_; 
if (v_isShared_6645_ == 0)
{
v___x_6647_ = v___x_6644_;
goto v_reusejp_6646_;
}
else
{
lean_object* v_reuseFailAlloc_6648_; 
v_reuseFailAlloc_6648_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6648_, 0, v_a_6642_);
v___x_6647_ = v_reuseFailAlloc_6648_;
goto v_reusejp_6646_;
}
v_reusejp_6646_:
{
return v___x_6647_;
}
}
}
}
else
{
lean_object* v___x_6650_; 
lean_dec(v___y_6586_);
lean_dec_ref(v___y_6585_);
lean_dec(v___y_6584_);
lean_dec_ref(v___y_6583_);
lean_dec(v___y_6582_);
lean_dec_ref(v___y_6581_);
lean_dec(v___y_6580_);
lean_dec_ref(v___y_6579_);
lean_dec(v___y_6578_);
lean_dec(v___y_6577_);
v___x_6650_ = lean_box(0);
v_a_6568_ = v___x_6650_;
goto v___jp_6567_;
}
}
}
}
else
{
lean_object* v___x_6731_; lean_object* v___x_6732_; 
lean_dec(v___y_6565_);
lean_dec_ref(v___y_6564_);
lean_dec(v___y_6563_);
lean_dec_ref(v___y_6562_);
lean_dec(v___y_6561_);
lean_dec_ref(v___y_6560_);
lean_dec(v___y_6559_);
lean_dec_ref(v___y_6558_);
lean_dec(v___y_6557_);
lean_dec(v___y_6556_);
v___x_6731_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6731_, 0, v_b_6555_);
v___x_6732_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6732_, 0, v___x_6731_);
return v___x_6732_;
}
v___jp_6567_:
{
size_t v___x_6569_; size_t v___x_6570_; lean_object* v___x_6571_; 
v___x_6569_ = ((size_t)1ULL);
v___x_6570_ = lean_usize_add(v_i_6553_, v___x_6569_);
v___x_6571_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2_spec__5(v_num_x3f_6550_, v_goal_6551_, v_as_6552_, v___x_6570_, v_stop_6554_, v_a_6568_, v___y_6556_, v___y_6557_, v___y_6558_, v___y_6559_, v___y_6560_, v___y_6561_, v___y_6562_, v___y_6563_, v___y_6564_, v___y_6565_);
return v___x_6571_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2___boxed(lean_object** _args){
lean_object* v_num_x3f_6733_ = _args[0];
lean_object* v_goal_6734_ = _args[1];
lean_object* v_as_6735_ = _args[2];
lean_object* v_i_6736_ = _args[3];
lean_object* v_stop_6737_ = _args[4];
lean_object* v_b_6738_ = _args[5];
lean_object* v___y_6739_ = _args[6];
lean_object* v___y_6740_ = _args[7];
lean_object* v___y_6741_ = _args[8];
lean_object* v___y_6742_ = _args[9];
lean_object* v___y_6743_ = _args[10];
lean_object* v___y_6744_ = _args[11];
lean_object* v___y_6745_ = _args[12];
lean_object* v___y_6746_ = _args[13];
lean_object* v___y_6747_ = _args[14];
lean_object* v___y_6748_ = _args[15];
lean_object* v___y_6749_ = _args[16];
_start:
{
size_t v_i_boxed_6750_; size_t v_stop_boxed_6751_; lean_object* v_res_6752_; 
v_i_boxed_6750_ = lean_unbox_usize(v_i_6736_);
lean_dec(v_i_6736_);
v_stop_boxed_6751_ = lean_unbox_usize(v_stop_6737_);
lean_dec(v_stop_6737_);
v_res_6752_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(v_num_x3f_6733_, v_goal_6734_, v_as_6735_, v_i_boxed_6750_, v_stop_boxed_6751_, v_b_6738_, v___y_6739_, v___y_6740_, v___y_6741_, v___y_6742_, v___y_6743_, v___y_6744_, v___y_6745_, v___y_6746_, v___y_6747_, v___y_6748_);
lean_dec_ref(v_as_6735_);
lean_dec_ref(v_goal_6734_);
lean_dec(v_num_x3f_6733_);
return v_res_6752_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2(lean_object* v_num_x3f_6755_, lean_object* v_goal_6756_, lean_object* v_x_6757_, lean_object* v___y_6758_, lean_object* v___y_6759_, lean_object* v___y_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_, lean_object* v___y_6766_, lean_object* v___y_6767_){
_start:
{
if (lean_obj_tag(v_x_6757_) == 0)
{
lean_object* v_cs_6769_; lean_object* v___x_6771_; uint8_t v_isShared_6772_; uint8_t v_isSharedCheck_6792_; 
v_cs_6769_ = lean_ctor_get(v_x_6757_, 0);
v_isSharedCheck_6792_ = !lean_is_exclusive(v_x_6757_);
if (v_isSharedCheck_6792_ == 0)
{
v___x_6771_ = v_x_6757_;
v_isShared_6772_ = v_isSharedCheck_6792_;
goto v_resetjp_6770_;
}
else
{
lean_inc(v_cs_6769_);
lean_dec(v_x_6757_);
v___x_6771_ = lean_box(0);
v_isShared_6772_ = v_isSharedCheck_6792_;
goto v_resetjp_6770_;
}
v_resetjp_6770_:
{
lean_object* v___x_6773_; lean_object* v___x_6774_; lean_object* v___x_6775_; uint8_t v___x_6776_; 
v___x_6773_ = lean_unsigned_to_nat(0u);
v___x_6774_ = lean_array_get_size(v_cs_6769_);
v___x_6775_ = lean_box(0);
v___x_6776_ = lean_nat_dec_lt(v___x_6773_, v___x_6774_);
if (v___x_6776_ == 0)
{
lean_object* v___x_6777_; lean_object* v___x_6779_; 
lean_dec_ref(v_cs_6769_);
lean_dec(v___y_6767_);
lean_dec_ref(v___y_6766_);
lean_dec(v___y_6765_);
lean_dec_ref(v___y_6764_);
lean_dec(v___y_6763_);
lean_dec_ref(v___y_6762_);
lean_dec(v___y_6761_);
lean_dec_ref(v___y_6760_);
lean_dec(v___y_6759_);
lean_dec(v___y_6758_);
v___x_6777_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
if (v_isShared_6772_ == 0)
{
lean_ctor_set(v___x_6771_, 0, v___x_6777_);
v___x_6779_ = v___x_6771_;
goto v_reusejp_6778_;
}
else
{
lean_object* v_reuseFailAlloc_6780_; 
v_reuseFailAlloc_6780_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6780_, 0, v___x_6777_);
v___x_6779_ = v_reuseFailAlloc_6780_;
goto v_reusejp_6778_;
}
v_reusejp_6778_:
{
return v___x_6779_;
}
}
else
{
uint8_t v___x_6781_; 
v___x_6781_ = lean_nat_dec_le(v___x_6774_, v___x_6774_);
if (v___x_6781_ == 0)
{
if (v___x_6776_ == 0)
{
lean_object* v___x_6782_; lean_object* v___x_6784_; 
lean_dec_ref(v_cs_6769_);
lean_dec(v___y_6767_);
lean_dec_ref(v___y_6766_);
lean_dec(v___y_6765_);
lean_dec_ref(v___y_6764_);
lean_dec(v___y_6763_);
lean_dec_ref(v___y_6762_);
lean_dec(v___y_6761_);
lean_dec_ref(v___y_6760_);
lean_dec(v___y_6759_);
lean_dec(v___y_6758_);
v___x_6782_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
if (v_isShared_6772_ == 0)
{
lean_ctor_set(v___x_6771_, 0, v___x_6782_);
v___x_6784_ = v___x_6771_;
goto v_reusejp_6783_;
}
else
{
lean_object* v_reuseFailAlloc_6785_; 
v_reuseFailAlloc_6785_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6785_, 0, v___x_6782_);
v___x_6784_ = v_reuseFailAlloc_6785_;
goto v_reusejp_6783_;
}
v_reusejp_6783_:
{
return v___x_6784_;
}
}
else
{
size_t v___x_6786_; size_t v___x_6787_; lean_object* v___x_6788_; 
lean_del_object(v___x_6771_);
v___x_6786_ = ((size_t)0ULL);
v___x_6787_ = lean_usize_of_nat(v___x_6774_);
v___x_6788_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__3(v_num_x3f_6755_, v_goal_6756_, v_cs_6769_, v___x_6786_, v___x_6787_, v___x_6775_, v___y_6758_, v___y_6759_, v___y_6760_, v___y_6761_, v___y_6762_, v___y_6763_, v___y_6764_, v___y_6765_, v___y_6766_, v___y_6767_);
lean_dec_ref(v_cs_6769_);
return v___x_6788_;
}
}
else
{
size_t v___x_6789_; size_t v___x_6790_; lean_object* v___x_6791_; 
lean_del_object(v___x_6771_);
v___x_6789_ = ((size_t)0ULL);
v___x_6790_ = lean_usize_of_nat(v___x_6774_);
v___x_6791_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__3(v_num_x3f_6755_, v_goal_6756_, v_cs_6769_, v___x_6789_, v___x_6790_, v___x_6775_, v___y_6758_, v___y_6759_, v___y_6760_, v___y_6761_, v___y_6762_, v___y_6763_, v___y_6764_, v___y_6765_, v___y_6766_, v___y_6767_);
lean_dec_ref(v_cs_6769_);
return v___x_6791_;
}
}
}
}
else
{
lean_object* v_vs_6793_; lean_object* v___x_6795_; uint8_t v_isShared_6796_; uint8_t v_isSharedCheck_6816_; 
v_vs_6793_ = lean_ctor_get(v_x_6757_, 0);
v_isSharedCheck_6816_ = !lean_is_exclusive(v_x_6757_);
if (v_isSharedCheck_6816_ == 0)
{
v___x_6795_ = v_x_6757_;
v_isShared_6796_ = v_isSharedCheck_6816_;
goto v_resetjp_6794_;
}
else
{
lean_inc(v_vs_6793_);
lean_dec(v_x_6757_);
v___x_6795_ = lean_box(0);
v_isShared_6796_ = v_isSharedCheck_6816_;
goto v_resetjp_6794_;
}
v_resetjp_6794_:
{
lean_object* v___x_6797_; lean_object* v___x_6798_; lean_object* v___x_6799_; uint8_t v___x_6800_; 
v___x_6797_ = lean_unsigned_to_nat(0u);
v___x_6798_ = lean_array_get_size(v_vs_6793_);
v___x_6799_ = lean_box(0);
v___x_6800_ = lean_nat_dec_lt(v___x_6797_, v___x_6798_);
if (v___x_6800_ == 0)
{
lean_object* v___x_6801_; lean_object* v___x_6803_; 
lean_dec_ref(v_vs_6793_);
lean_dec(v___y_6767_);
lean_dec_ref(v___y_6766_);
lean_dec(v___y_6765_);
lean_dec_ref(v___y_6764_);
lean_dec(v___y_6763_);
lean_dec_ref(v___y_6762_);
lean_dec(v___y_6761_);
lean_dec_ref(v___y_6760_);
lean_dec(v___y_6759_);
lean_dec(v___y_6758_);
v___x_6801_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
if (v_isShared_6796_ == 0)
{
lean_ctor_set_tag(v___x_6795_, 0);
lean_ctor_set(v___x_6795_, 0, v___x_6801_);
v___x_6803_ = v___x_6795_;
goto v_reusejp_6802_;
}
else
{
lean_object* v_reuseFailAlloc_6804_; 
v_reuseFailAlloc_6804_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6804_, 0, v___x_6801_);
v___x_6803_ = v_reuseFailAlloc_6804_;
goto v_reusejp_6802_;
}
v_reusejp_6802_:
{
return v___x_6803_;
}
}
else
{
uint8_t v___x_6805_; 
v___x_6805_ = lean_nat_dec_le(v___x_6798_, v___x_6798_);
if (v___x_6805_ == 0)
{
if (v___x_6800_ == 0)
{
lean_object* v___x_6806_; lean_object* v___x_6808_; 
lean_dec_ref(v_vs_6793_);
lean_dec(v___y_6767_);
lean_dec_ref(v___y_6766_);
lean_dec(v___y_6765_);
lean_dec_ref(v___y_6764_);
lean_dec(v___y_6763_);
lean_dec_ref(v___y_6762_);
lean_dec(v___y_6761_);
lean_dec_ref(v___y_6760_);
lean_dec(v___y_6759_);
lean_dec(v___y_6758_);
v___x_6806_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
if (v_isShared_6796_ == 0)
{
lean_ctor_set_tag(v___x_6795_, 0);
lean_ctor_set(v___x_6795_, 0, v___x_6806_);
v___x_6808_ = v___x_6795_;
goto v_reusejp_6807_;
}
else
{
lean_object* v_reuseFailAlloc_6809_; 
v_reuseFailAlloc_6809_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6809_, 0, v___x_6806_);
v___x_6808_ = v_reuseFailAlloc_6809_;
goto v_reusejp_6807_;
}
v_reusejp_6807_:
{
return v___x_6808_;
}
}
else
{
size_t v___x_6810_; size_t v___x_6811_; lean_object* v___x_6812_; 
lean_del_object(v___x_6795_);
v___x_6810_ = ((size_t)0ULL);
v___x_6811_ = lean_usize_of_nat(v___x_6798_);
v___x_6812_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(v_num_x3f_6755_, v_goal_6756_, v_vs_6793_, v___x_6810_, v___x_6811_, v___x_6799_, v___y_6758_, v___y_6759_, v___y_6760_, v___y_6761_, v___y_6762_, v___y_6763_, v___y_6764_, v___y_6765_, v___y_6766_, v___y_6767_);
lean_dec_ref(v_vs_6793_);
return v___x_6812_;
}
}
else
{
size_t v___x_6813_; size_t v___x_6814_; lean_object* v___x_6815_; 
lean_del_object(v___x_6795_);
v___x_6813_ = ((size_t)0ULL);
v___x_6814_ = lean_usize_of_nat(v___x_6798_);
v___x_6815_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(v_num_x3f_6755_, v_goal_6756_, v_vs_6793_, v___x_6813_, v___x_6814_, v___x_6799_, v___y_6758_, v___y_6759_, v___y_6760_, v___y_6761_, v___y_6762_, v___y_6763_, v___y_6764_, v___y_6765_, v___y_6766_, v___y_6767_);
lean_dec_ref(v_vs_6793_);
return v___x_6815_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__3(lean_object* v_num_x3f_6817_, lean_object* v_goal_6818_, lean_object* v_as_6819_, size_t v_i_6820_, size_t v_stop_6821_, lean_object* v_b_6822_, lean_object* v___y_6823_, lean_object* v___y_6824_, lean_object* v___y_6825_, lean_object* v___y_6826_, lean_object* v___y_6827_, lean_object* v___y_6828_, lean_object* v___y_6829_, lean_object* v___y_6830_, lean_object* v___y_6831_, lean_object* v___y_6832_){
_start:
{
uint8_t v___x_6834_; 
v___x_6834_ = lean_usize_dec_eq(v_i_6820_, v_stop_6821_);
if (v___x_6834_ == 0)
{
lean_object* v___x_6835_; lean_object* v___x_6836_; 
v___x_6835_ = lean_array_uget_borrowed(v_as_6819_, v_i_6820_);
lean_inc(v___y_6832_);
lean_inc_ref(v___y_6831_);
lean_inc(v___y_6830_);
lean_inc_ref(v___y_6829_);
lean_inc(v___y_6828_);
lean_inc_ref(v___y_6827_);
lean_inc(v___y_6826_);
lean_inc_ref(v___y_6825_);
lean_inc(v___y_6824_);
lean_inc(v___y_6823_);
lean_inc(v___x_6835_);
v___x_6836_ = l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2(v_num_x3f_6817_, v_goal_6818_, v___x_6835_, v___y_6823_, v___y_6824_, v___y_6825_, v___y_6826_, v___y_6827_, v___y_6828_, v___y_6829_, v___y_6830_, v___y_6831_, v___y_6832_);
if (lean_obj_tag(v___x_6836_) == 0)
{
lean_object* v_a_6837_; 
v_a_6837_ = lean_ctor_get(v___x_6836_, 0);
lean_inc(v_a_6837_);
if (lean_obj_tag(v_a_6837_) == 0)
{
lean_dec_ref(v_a_6837_);
lean_dec(v___y_6832_);
lean_dec_ref(v___y_6831_);
lean_dec(v___y_6830_);
lean_dec_ref(v___y_6829_);
lean_dec(v___y_6828_);
lean_dec_ref(v___y_6827_);
lean_dec(v___y_6826_);
lean_dec_ref(v___y_6825_);
lean_dec(v___y_6824_);
lean_dec(v___y_6823_);
return v___x_6836_;
}
else
{
lean_object* v_a_6838_; size_t v___x_6839_; size_t v___x_6840_; 
lean_dec_ref(v___x_6836_);
v_a_6838_ = lean_ctor_get(v_a_6837_, 0);
lean_inc(v_a_6838_);
lean_dec_ref(v_a_6837_);
v___x_6839_ = ((size_t)1ULL);
v___x_6840_ = lean_usize_add(v_i_6820_, v___x_6839_);
v_i_6820_ = v___x_6840_;
v_b_6822_ = v_a_6838_;
goto _start;
}
}
else
{
lean_dec(v___y_6832_);
lean_dec_ref(v___y_6831_);
lean_dec(v___y_6830_);
lean_dec_ref(v___y_6829_);
lean_dec(v___y_6828_);
lean_dec_ref(v___y_6827_);
lean_dec(v___y_6826_);
lean_dec_ref(v___y_6825_);
lean_dec(v___y_6824_);
lean_dec(v___y_6823_);
return v___x_6836_;
}
}
else
{
lean_object* v___x_6842_; lean_object* v___x_6843_; 
lean_dec(v___y_6832_);
lean_dec_ref(v___y_6831_);
lean_dec(v___y_6830_);
lean_dec_ref(v___y_6829_);
lean_dec(v___y_6828_);
lean_dec_ref(v___y_6827_);
lean_dec(v___y_6826_);
lean_dec_ref(v___y_6825_);
lean_dec(v___y_6824_);
lean_dec(v___y_6823_);
v___x_6842_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6842_, 0, v_b_6822_);
v___x_6843_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6843_, 0, v___x_6842_);
return v___x_6843_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__3___boxed(lean_object** _args){
lean_object* v_num_x3f_6844_ = _args[0];
lean_object* v_goal_6845_ = _args[1];
lean_object* v_as_6846_ = _args[2];
lean_object* v_i_6847_ = _args[3];
lean_object* v_stop_6848_ = _args[4];
lean_object* v_b_6849_ = _args[5];
lean_object* v___y_6850_ = _args[6];
lean_object* v___y_6851_ = _args[7];
lean_object* v___y_6852_ = _args[8];
lean_object* v___y_6853_ = _args[9];
lean_object* v___y_6854_ = _args[10];
lean_object* v___y_6855_ = _args[11];
lean_object* v___y_6856_ = _args[12];
lean_object* v___y_6857_ = _args[13];
lean_object* v___y_6858_ = _args[14];
lean_object* v___y_6859_ = _args[15];
lean_object* v___y_6860_ = _args[16];
_start:
{
size_t v_i_boxed_6861_; size_t v_stop_boxed_6862_; lean_object* v_res_6863_; 
v_i_boxed_6861_ = lean_unbox_usize(v_i_6847_);
lean_dec(v_i_6847_);
v_stop_boxed_6862_ = lean_unbox_usize(v_stop_6848_);
lean_dec(v_stop_6848_);
v_res_6863_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__3(v_num_x3f_6844_, v_goal_6845_, v_as_6846_, v_i_boxed_6861_, v_stop_boxed_6862_, v_b_6849_, v___y_6850_, v___y_6851_, v___y_6852_, v___y_6853_, v___y_6854_, v___y_6855_, v___y_6856_, v___y_6857_, v___y_6858_, v___y_6859_);
lean_dec_ref(v_as_6846_);
lean_dec_ref(v_goal_6845_);
lean_dec(v_num_x3f_6844_);
return v_res_6863_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___boxed(lean_object* v_num_x3f_6864_, lean_object* v_goal_6865_, lean_object* v_x_6866_, lean_object* v___y_6867_, lean_object* v___y_6868_, lean_object* v___y_6869_, lean_object* v___y_6870_, lean_object* v___y_6871_, lean_object* v___y_6872_, lean_object* v___y_6873_, lean_object* v___y_6874_, lean_object* v___y_6875_, lean_object* v___y_6876_, lean_object* v___y_6877_){
_start:
{
lean_object* v_res_6878_; 
v_res_6878_ = l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2(v_num_x3f_6864_, v_goal_6865_, v_x_6866_, v___y_6867_, v___y_6868_, v___y_6869_, v___y_6870_, v___y_6871_, v___y_6872_, v___y_6873_, v___y_6874_, v___y_6875_, v___y_6876_);
lean_dec_ref(v_goal_6865_);
lean_dec(v_num_x3f_6864_);
return v_res_6878_;
}
}
static lean_object* _init_l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1___closed__0(void){
_start:
{
lean_object* v___x_6879_; 
v___x_6879_ = l_Lean_instInhabitedPersistentArrayNode_default(lean_box(0));
return v___x_6879_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1(lean_object* v_num_x3f_6880_, lean_object* v_goal_6881_, lean_object* v_x_6882_, size_t v_x_6883_, size_t v_x_6884_, lean_object* v___y_6885_, lean_object* v___y_6886_, lean_object* v___y_6887_, lean_object* v___y_6888_, lean_object* v___y_6889_, lean_object* v___y_6890_, lean_object* v___y_6891_, lean_object* v___y_6892_, lean_object* v___y_6893_, lean_object* v___y_6894_){
_start:
{
if (lean_obj_tag(v_x_6882_) == 0)
{
lean_object* v_cs_6896_; lean_object* v___x_6897_; size_t v___x_6898_; lean_object* v_j_6899_; lean_object* v___x_6900_; size_t v___x_6901_; size_t v___x_6902_; size_t v___x_6903_; size_t v___x_6904_; size_t v___x_6905_; size_t v___x_6906_; lean_object* v___x_6907_; 
v_cs_6896_ = lean_ctor_get(v_x_6882_, 0);
lean_inc_ref(v_cs_6896_);
lean_dec_ref(v_x_6882_);
v___x_6897_ = lean_obj_once(&l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1___closed__0, &l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1___closed__0_once, _init_l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1___closed__0);
v___x_6898_ = lean_usize_shift_right(v_x_6883_, v_x_6884_);
v_j_6899_ = lean_usize_to_nat(v___x_6898_);
v___x_6900_ = lean_array_get_borrowed(v___x_6897_, v_cs_6896_, v_j_6899_);
v___x_6901_ = ((size_t)1ULL);
v___x_6902_ = lean_usize_shift_left(v___x_6901_, v_x_6884_);
v___x_6903_ = lean_usize_sub(v___x_6902_, v___x_6901_);
v___x_6904_ = lean_usize_land(v_x_6883_, v___x_6903_);
v___x_6905_ = ((size_t)5ULL);
v___x_6906_ = lean_usize_sub(v_x_6884_, v___x_6905_);
lean_inc(v___y_6894_);
lean_inc_ref(v___y_6893_);
lean_inc(v___y_6892_);
lean_inc_ref(v___y_6891_);
lean_inc(v___y_6890_);
lean_inc_ref(v___y_6889_);
lean_inc(v___y_6888_);
lean_inc_ref(v___y_6887_);
lean_inc(v___y_6886_);
lean_inc(v___y_6885_);
lean_inc(v___x_6900_);
v___x_6907_ = l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1(v_num_x3f_6880_, v_goal_6881_, v___x_6900_, v___x_6904_, v___x_6906_, v___y_6885_, v___y_6886_, v___y_6887_, v___y_6888_, v___y_6889_, v___y_6890_, v___y_6891_, v___y_6892_, v___y_6893_, v___y_6894_);
if (lean_obj_tag(v___x_6907_) == 0)
{
lean_object* v_a_6908_; 
v_a_6908_ = lean_ctor_get(v___x_6907_, 0);
lean_inc(v_a_6908_);
if (lean_obj_tag(v_a_6908_) == 0)
{
lean_dec_ref(v_a_6908_);
lean_dec(v_j_6899_);
lean_dec_ref(v_cs_6896_);
lean_dec(v___y_6894_);
lean_dec_ref(v___y_6893_);
lean_dec(v___y_6892_);
lean_dec_ref(v___y_6891_);
lean_dec(v___y_6890_);
lean_dec_ref(v___y_6889_);
lean_dec(v___y_6888_);
lean_dec_ref(v___y_6887_);
lean_dec(v___y_6886_);
lean_dec(v___y_6885_);
return v___x_6907_;
}
else
{
lean_object* v___x_6910_; uint8_t v_isShared_6911_; uint8_t v_isSharedCheck_6932_; 
lean_dec_ref(v_a_6908_);
v_isSharedCheck_6932_ = !lean_is_exclusive(v___x_6907_);
if (v_isSharedCheck_6932_ == 0)
{
lean_object* v_unused_6933_; 
v_unused_6933_ = lean_ctor_get(v___x_6907_, 0);
lean_dec(v_unused_6933_);
v___x_6910_ = v___x_6907_;
v_isShared_6911_ = v_isSharedCheck_6932_;
goto v_resetjp_6909_;
}
else
{
lean_dec(v___x_6907_);
v___x_6910_ = lean_box(0);
v_isShared_6911_ = v_isSharedCheck_6932_;
goto v_resetjp_6909_;
}
v_resetjp_6909_:
{
lean_object* v___x_6912_; lean_object* v___x_6913_; lean_object* v___x_6914_; lean_object* v___x_6915_; uint8_t v___x_6916_; 
v___x_6912_ = lean_unsigned_to_nat(1u);
v___x_6913_ = lean_nat_add(v_j_6899_, v___x_6912_);
lean_dec(v_j_6899_);
v___x_6914_ = lean_array_get_size(v_cs_6896_);
v___x_6915_ = lean_box(0);
v___x_6916_ = lean_nat_dec_lt(v___x_6913_, v___x_6914_);
if (v___x_6916_ == 0)
{
lean_object* v___x_6917_; lean_object* v___x_6919_; 
lean_dec(v___x_6913_);
lean_dec_ref(v_cs_6896_);
lean_dec(v___y_6894_);
lean_dec_ref(v___y_6893_);
lean_dec(v___y_6892_);
lean_dec_ref(v___y_6891_);
lean_dec(v___y_6890_);
lean_dec_ref(v___y_6889_);
lean_dec(v___y_6888_);
lean_dec_ref(v___y_6887_);
lean_dec(v___y_6886_);
lean_dec(v___y_6885_);
v___x_6917_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
if (v_isShared_6911_ == 0)
{
lean_ctor_set(v___x_6910_, 0, v___x_6917_);
v___x_6919_ = v___x_6910_;
goto v_reusejp_6918_;
}
else
{
lean_object* v_reuseFailAlloc_6920_; 
v_reuseFailAlloc_6920_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6920_, 0, v___x_6917_);
v___x_6919_ = v_reuseFailAlloc_6920_;
goto v_reusejp_6918_;
}
v_reusejp_6918_:
{
return v___x_6919_;
}
}
else
{
uint8_t v___x_6921_; 
v___x_6921_ = lean_nat_dec_le(v___x_6914_, v___x_6914_);
if (v___x_6921_ == 0)
{
if (v___x_6916_ == 0)
{
lean_object* v___x_6922_; lean_object* v___x_6924_; 
lean_dec(v___x_6913_);
lean_dec_ref(v_cs_6896_);
lean_dec(v___y_6894_);
lean_dec_ref(v___y_6893_);
lean_dec(v___y_6892_);
lean_dec_ref(v___y_6891_);
lean_dec(v___y_6890_);
lean_dec_ref(v___y_6889_);
lean_dec(v___y_6888_);
lean_dec_ref(v___y_6887_);
lean_dec(v___y_6886_);
lean_dec(v___y_6885_);
v___x_6922_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
if (v_isShared_6911_ == 0)
{
lean_ctor_set(v___x_6910_, 0, v___x_6922_);
v___x_6924_ = v___x_6910_;
goto v_reusejp_6923_;
}
else
{
lean_object* v_reuseFailAlloc_6925_; 
v_reuseFailAlloc_6925_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6925_, 0, v___x_6922_);
v___x_6924_ = v_reuseFailAlloc_6925_;
goto v_reusejp_6923_;
}
v_reusejp_6923_:
{
return v___x_6924_;
}
}
else
{
size_t v___x_6926_; size_t v___x_6927_; lean_object* v___x_6928_; 
lean_del_object(v___x_6910_);
v___x_6926_ = lean_usize_of_nat(v___x_6913_);
lean_dec(v___x_6913_);
v___x_6927_ = lean_usize_of_nat(v___x_6914_);
v___x_6928_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__3(v_num_x3f_6880_, v_goal_6881_, v_cs_6896_, v___x_6926_, v___x_6927_, v___x_6915_, v___y_6885_, v___y_6886_, v___y_6887_, v___y_6888_, v___y_6889_, v___y_6890_, v___y_6891_, v___y_6892_, v___y_6893_, v___y_6894_);
lean_dec_ref(v_cs_6896_);
return v___x_6928_;
}
}
else
{
size_t v___x_6929_; size_t v___x_6930_; lean_object* v___x_6931_; 
lean_del_object(v___x_6910_);
v___x_6929_ = lean_usize_of_nat(v___x_6913_);
lean_dec(v___x_6913_);
v___x_6930_ = lean_usize_of_nat(v___x_6914_);
v___x_6931_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__3(v_num_x3f_6880_, v_goal_6881_, v_cs_6896_, v___x_6929_, v___x_6930_, v___x_6915_, v___y_6885_, v___y_6886_, v___y_6887_, v___y_6888_, v___y_6889_, v___y_6890_, v___y_6891_, v___y_6892_, v___y_6893_, v___y_6894_);
lean_dec_ref(v_cs_6896_);
return v___x_6931_;
}
}
}
}
}
else
{
lean_dec(v_j_6899_);
lean_dec_ref(v_cs_6896_);
lean_dec(v___y_6894_);
lean_dec_ref(v___y_6893_);
lean_dec(v___y_6892_);
lean_dec_ref(v___y_6891_);
lean_dec(v___y_6890_);
lean_dec_ref(v___y_6889_);
lean_dec(v___y_6888_);
lean_dec_ref(v___y_6887_);
lean_dec(v___y_6886_);
lean_dec(v___y_6885_);
return v___x_6907_;
}
}
else
{
lean_object* v_vs_6934_; lean_object* v___x_6936_; uint8_t v_isShared_6937_; uint8_t v_isSharedCheck_6957_; 
v_vs_6934_ = lean_ctor_get(v_x_6882_, 0);
v_isSharedCheck_6957_ = !lean_is_exclusive(v_x_6882_);
if (v_isSharedCheck_6957_ == 0)
{
v___x_6936_ = v_x_6882_;
v_isShared_6937_ = v_isSharedCheck_6957_;
goto v_resetjp_6935_;
}
else
{
lean_inc(v_vs_6934_);
lean_dec(v_x_6882_);
v___x_6936_ = lean_box(0);
v_isShared_6937_ = v_isSharedCheck_6957_;
goto v_resetjp_6935_;
}
v_resetjp_6935_:
{
lean_object* v___x_6938_; lean_object* v___x_6939_; lean_object* v___x_6940_; uint8_t v___x_6941_; 
v___x_6938_ = lean_usize_to_nat(v_x_6883_);
v___x_6939_ = lean_array_get_size(v_vs_6934_);
v___x_6940_ = lean_box(0);
v___x_6941_ = lean_nat_dec_lt(v___x_6938_, v___x_6939_);
if (v___x_6941_ == 0)
{
lean_object* v___x_6942_; lean_object* v___x_6944_; 
lean_dec(v___x_6938_);
lean_dec_ref(v_vs_6934_);
lean_dec(v___y_6894_);
lean_dec_ref(v___y_6893_);
lean_dec(v___y_6892_);
lean_dec_ref(v___y_6891_);
lean_dec(v___y_6890_);
lean_dec_ref(v___y_6889_);
lean_dec(v___y_6888_);
lean_dec_ref(v___y_6887_);
lean_dec(v___y_6886_);
lean_dec(v___y_6885_);
v___x_6942_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
if (v_isShared_6937_ == 0)
{
lean_ctor_set_tag(v___x_6936_, 0);
lean_ctor_set(v___x_6936_, 0, v___x_6942_);
v___x_6944_ = v___x_6936_;
goto v_reusejp_6943_;
}
else
{
lean_object* v_reuseFailAlloc_6945_; 
v_reuseFailAlloc_6945_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6945_, 0, v___x_6942_);
v___x_6944_ = v_reuseFailAlloc_6945_;
goto v_reusejp_6943_;
}
v_reusejp_6943_:
{
return v___x_6944_;
}
}
else
{
uint8_t v___x_6946_; 
v___x_6946_ = lean_nat_dec_le(v___x_6939_, v___x_6939_);
if (v___x_6946_ == 0)
{
if (v___x_6941_ == 0)
{
lean_object* v___x_6947_; lean_object* v___x_6949_; 
lean_dec(v___x_6938_);
lean_dec_ref(v_vs_6934_);
lean_dec(v___y_6894_);
lean_dec_ref(v___y_6893_);
lean_dec(v___y_6892_);
lean_dec_ref(v___y_6891_);
lean_dec(v___y_6890_);
lean_dec_ref(v___y_6889_);
lean_dec(v___y_6888_);
lean_dec_ref(v___y_6887_);
lean_dec(v___y_6886_);
lean_dec(v___y_6885_);
v___x_6947_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
if (v_isShared_6937_ == 0)
{
lean_ctor_set_tag(v___x_6936_, 0);
lean_ctor_set(v___x_6936_, 0, v___x_6947_);
v___x_6949_ = v___x_6936_;
goto v_reusejp_6948_;
}
else
{
lean_object* v_reuseFailAlloc_6950_; 
v_reuseFailAlloc_6950_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6950_, 0, v___x_6947_);
v___x_6949_ = v_reuseFailAlloc_6950_;
goto v_reusejp_6948_;
}
v_reusejp_6948_:
{
return v___x_6949_;
}
}
else
{
size_t v___x_6951_; size_t v___x_6952_; lean_object* v___x_6953_; 
lean_del_object(v___x_6936_);
v___x_6951_ = lean_usize_of_nat(v___x_6938_);
lean_dec(v___x_6938_);
v___x_6952_ = lean_usize_of_nat(v___x_6939_);
v___x_6953_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(v_num_x3f_6880_, v_goal_6881_, v_vs_6934_, v___x_6951_, v___x_6952_, v___x_6940_, v___y_6885_, v___y_6886_, v___y_6887_, v___y_6888_, v___y_6889_, v___y_6890_, v___y_6891_, v___y_6892_, v___y_6893_, v___y_6894_);
lean_dec_ref(v_vs_6934_);
return v___x_6953_;
}
}
else
{
size_t v___x_6954_; size_t v___x_6955_; lean_object* v___x_6956_; 
lean_del_object(v___x_6936_);
v___x_6954_ = lean_usize_of_nat(v___x_6938_);
lean_dec(v___x_6938_);
v___x_6955_ = lean_usize_of_nat(v___x_6939_);
v___x_6956_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(v_num_x3f_6880_, v_goal_6881_, v_vs_6934_, v___x_6954_, v___x_6955_, v___x_6940_, v___y_6885_, v___y_6886_, v___y_6887_, v___y_6888_, v___y_6889_, v___y_6890_, v___y_6891_, v___y_6892_, v___y_6893_, v___y_6894_);
lean_dec_ref(v_vs_6934_);
return v___x_6956_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1___boxed(lean_object* v_num_x3f_6958_, lean_object* v_goal_6959_, lean_object* v_x_6960_, lean_object* v_x_6961_, lean_object* v_x_6962_, lean_object* v___y_6963_, lean_object* v___y_6964_, lean_object* v___y_6965_, lean_object* v___y_6966_, lean_object* v___y_6967_, lean_object* v___y_6968_, lean_object* v___y_6969_, lean_object* v___y_6970_, lean_object* v___y_6971_, lean_object* v___y_6972_, lean_object* v___y_6973_){
_start:
{
size_t v_x_51655__boxed_6974_; size_t v_x_51656__boxed_6975_; lean_object* v_res_6976_; 
v_x_51655__boxed_6974_ = lean_unbox_usize(v_x_6961_);
lean_dec(v_x_6961_);
v_x_51656__boxed_6975_ = lean_unbox_usize(v_x_6962_);
lean_dec(v_x_6962_);
v_res_6976_ = l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1(v_num_x3f_6958_, v_goal_6959_, v_x_6960_, v_x_51655__boxed_6974_, v_x_51656__boxed_6975_, v___y_6963_, v___y_6964_, v___y_6965_, v___y_6966_, v___y_6967_, v___y_6968_, v___y_6969_, v___y_6970_, v___y_6971_, v___y_6972_);
lean_dec_ref(v_goal_6959_);
lean_dec(v_num_x3f_6958_);
return v_res_6976_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forMFrom0___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__3(lean_object* v_num_x3f_6977_, lean_object* v_goal_6978_, lean_object* v_t_6979_, lean_object* v___y_6980_, lean_object* v___y_6981_, lean_object* v___y_6982_, lean_object* v___y_6983_, lean_object* v___y_6984_, lean_object* v___y_6985_, lean_object* v___y_6986_, lean_object* v___y_6987_, lean_object* v___y_6988_, lean_object* v___y_6989_){
_start:
{
lean_object* v_root_6991_; lean_object* v_tail_6992_; lean_object* v___x_6993_; 
v_root_6991_ = lean_ctor_get(v_t_6979_, 0);
lean_inc_ref(v_root_6991_);
v_tail_6992_ = lean_ctor_get(v_t_6979_, 1);
lean_inc_ref(v_tail_6992_);
lean_dec_ref(v_t_6979_);
lean_inc(v___y_6989_);
lean_inc_ref(v___y_6988_);
lean_inc(v___y_6987_);
lean_inc_ref(v___y_6986_);
lean_inc(v___y_6985_);
lean_inc_ref(v___y_6984_);
lean_inc(v___y_6983_);
lean_inc_ref(v___y_6982_);
lean_inc(v___y_6981_);
lean_inc(v___y_6980_);
v___x_6993_ = l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2(v_num_x3f_6977_, v_goal_6978_, v_root_6991_, v___y_6980_, v___y_6981_, v___y_6982_, v___y_6983_, v___y_6984_, v___y_6985_, v___y_6986_, v___y_6987_, v___y_6988_, v___y_6989_);
if (lean_obj_tag(v___x_6993_) == 0)
{
lean_object* v_a_6994_; 
v_a_6994_ = lean_ctor_get(v___x_6993_, 0);
lean_inc(v_a_6994_);
if (lean_obj_tag(v_a_6994_) == 0)
{
lean_dec_ref(v_a_6994_);
lean_dec_ref(v_tail_6992_);
lean_dec(v___y_6989_);
lean_dec_ref(v___y_6988_);
lean_dec(v___y_6987_);
lean_dec_ref(v___y_6986_);
lean_dec(v___y_6985_);
lean_dec_ref(v___y_6984_);
lean_dec(v___y_6983_);
lean_dec_ref(v___y_6982_);
lean_dec(v___y_6981_);
lean_dec(v___y_6980_);
return v___x_6993_;
}
else
{
lean_object* v___x_6996_; uint8_t v_isShared_6997_; uint8_t v_isSharedCheck_7017_; 
lean_dec_ref(v_a_6994_);
v_isSharedCheck_7017_ = !lean_is_exclusive(v___x_6993_);
if (v_isSharedCheck_7017_ == 0)
{
lean_object* v_unused_7018_; 
v_unused_7018_ = lean_ctor_get(v___x_6993_, 0);
lean_dec(v_unused_7018_);
v___x_6996_ = v___x_6993_;
v_isShared_6997_ = v_isSharedCheck_7017_;
goto v_resetjp_6995_;
}
else
{
lean_dec(v___x_6993_);
v___x_6996_ = lean_box(0);
v_isShared_6997_ = v_isSharedCheck_7017_;
goto v_resetjp_6995_;
}
v_resetjp_6995_:
{
lean_object* v___x_6998_; lean_object* v___x_6999_; lean_object* v___x_7000_; uint8_t v___x_7001_; 
v___x_6998_ = lean_unsigned_to_nat(0u);
v___x_6999_ = lean_array_get_size(v_tail_6992_);
v___x_7000_ = lean_box(0);
v___x_7001_ = lean_nat_dec_lt(v___x_6998_, v___x_6999_);
if (v___x_7001_ == 0)
{
lean_object* v___x_7002_; lean_object* v___x_7004_; 
lean_dec_ref(v_tail_6992_);
lean_dec(v___y_6989_);
lean_dec_ref(v___y_6988_);
lean_dec(v___y_6987_);
lean_dec_ref(v___y_6986_);
lean_dec(v___y_6985_);
lean_dec_ref(v___y_6984_);
lean_dec(v___y_6983_);
lean_dec_ref(v___y_6982_);
lean_dec(v___y_6981_);
lean_dec(v___y_6980_);
v___x_7002_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
if (v_isShared_6997_ == 0)
{
lean_ctor_set(v___x_6996_, 0, v___x_7002_);
v___x_7004_ = v___x_6996_;
goto v_reusejp_7003_;
}
else
{
lean_object* v_reuseFailAlloc_7005_; 
v_reuseFailAlloc_7005_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7005_, 0, v___x_7002_);
v___x_7004_ = v_reuseFailAlloc_7005_;
goto v_reusejp_7003_;
}
v_reusejp_7003_:
{
return v___x_7004_;
}
}
else
{
uint8_t v___x_7006_; 
v___x_7006_ = lean_nat_dec_le(v___x_6999_, v___x_6999_);
if (v___x_7006_ == 0)
{
if (v___x_7001_ == 0)
{
lean_object* v___x_7007_; lean_object* v___x_7009_; 
lean_dec_ref(v_tail_6992_);
lean_dec(v___y_6989_);
lean_dec_ref(v___y_6988_);
lean_dec(v___y_6987_);
lean_dec_ref(v___y_6986_);
lean_dec(v___y_6985_);
lean_dec_ref(v___y_6984_);
lean_dec(v___y_6983_);
lean_dec_ref(v___y_6982_);
lean_dec(v___y_6981_);
lean_dec(v___y_6980_);
v___x_7007_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
if (v_isShared_6997_ == 0)
{
lean_ctor_set(v___x_6996_, 0, v___x_7007_);
v___x_7009_ = v___x_6996_;
goto v_reusejp_7008_;
}
else
{
lean_object* v_reuseFailAlloc_7010_; 
v_reuseFailAlloc_7010_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7010_, 0, v___x_7007_);
v___x_7009_ = v_reuseFailAlloc_7010_;
goto v_reusejp_7008_;
}
v_reusejp_7008_:
{
return v___x_7009_;
}
}
else
{
size_t v___x_7011_; size_t v___x_7012_; lean_object* v___x_7013_; 
lean_del_object(v___x_6996_);
v___x_7011_ = ((size_t)0ULL);
v___x_7012_ = lean_usize_of_nat(v___x_6999_);
v___x_7013_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(v_num_x3f_6977_, v_goal_6978_, v_tail_6992_, v___x_7011_, v___x_7012_, v___x_7000_, v___y_6980_, v___y_6981_, v___y_6982_, v___y_6983_, v___y_6984_, v___y_6985_, v___y_6986_, v___y_6987_, v___y_6988_, v___y_6989_);
lean_dec_ref(v_tail_6992_);
return v___x_7013_;
}
}
else
{
size_t v___x_7014_; size_t v___x_7015_; lean_object* v___x_7016_; 
lean_del_object(v___x_6996_);
v___x_7014_ = ((size_t)0ULL);
v___x_7015_ = lean_usize_of_nat(v___x_6999_);
v___x_7016_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(v_num_x3f_6977_, v_goal_6978_, v_tail_6992_, v___x_7014_, v___x_7015_, v___x_7000_, v___y_6980_, v___y_6981_, v___y_6982_, v___y_6983_, v___y_6984_, v___y_6985_, v___y_6986_, v___y_6987_, v___y_6988_, v___y_6989_);
lean_dec_ref(v_tail_6992_);
return v___x_7016_;
}
}
}
}
}
else
{
lean_dec_ref(v_tail_6992_);
lean_dec(v___y_6989_);
lean_dec_ref(v___y_6988_);
lean_dec(v___y_6987_);
lean_dec_ref(v___y_6986_);
lean_dec(v___y_6985_);
lean_dec_ref(v___y_6984_);
lean_dec(v___y_6983_);
lean_dec_ref(v___y_6982_);
lean_dec(v___y_6981_);
lean_dec(v___y_6980_);
return v___x_6993_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forMFrom0___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__3___boxed(lean_object* v_num_x3f_7019_, lean_object* v_goal_7020_, lean_object* v_t_7021_, lean_object* v___y_7022_, lean_object* v___y_7023_, lean_object* v___y_7024_, lean_object* v___y_7025_, lean_object* v___y_7026_, lean_object* v___y_7027_, lean_object* v___y_7028_, lean_object* v___y_7029_, lean_object* v___y_7030_, lean_object* v___y_7031_, lean_object* v___y_7032_){
_start:
{
lean_object* v_res_7033_; 
v_res_7033_ = l_Lean_PersistentArray_forMFrom0___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__3(v_num_x3f_7019_, v_goal_7020_, v_t_7021_, v___y_7022_, v___y_7023_, v___y_7024_, v___y_7025_, v___y_7026_, v___y_7027_, v___y_7028_, v___y_7029_, v___y_7030_, v___y_7031_);
lean_dec_ref(v_goal_7020_);
lean_dec(v_num_x3f_7019_);
return v_res_7033_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0(lean_object* v_num_x3f_7034_, lean_object* v_goal_7035_, lean_object* v_t_7036_, lean_object* v_start_7037_, lean_object* v___y_7038_, lean_object* v___y_7039_, lean_object* v___y_7040_, lean_object* v___y_7041_, lean_object* v___y_7042_, lean_object* v___y_7043_, lean_object* v___y_7044_, lean_object* v___y_7045_, lean_object* v___y_7046_, lean_object* v___y_7047_){
_start:
{
lean_object* v___x_7049_; uint8_t v___x_7050_; 
v___x_7049_ = lean_unsigned_to_nat(0u);
v___x_7050_ = lean_nat_dec_eq(v_start_7037_, v___x_7049_);
if (v___x_7050_ == 0)
{
lean_object* v_root_7051_; lean_object* v_tail_7052_; size_t v_shift_7053_; lean_object* v_tailOff_7054_; uint8_t v___x_7055_; 
v_root_7051_ = lean_ctor_get(v_t_7036_, 0);
lean_inc_ref(v_root_7051_);
v_tail_7052_ = lean_ctor_get(v_t_7036_, 1);
lean_inc_ref(v_tail_7052_);
v_shift_7053_ = lean_ctor_get_usize(v_t_7036_, 4);
v_tailOff_7054_ = lean_ctor_get(v_t_7036_, 3);
lean_inc(v_tailOff_7054_);
lean_dec_ref(v_t_7036_);
v___x_7055_ = lean_nat_dec_le(v_tailOff_7054_, v_start_7037_);
if (v___x_7055_ == 0)
{
size_t v___x_7056_; lean_object* v___x_7057_; 
lean_dec(v_tailOff_7054_);
v___x_7056_ = lean_usize_of_nat(v_start_7037_);
lean_inc(v___y_7047_);
lean_inc_ref(v___y_7046_);
lean_inc(v___y_7045_);
lean_inc_ref(v___y_7044_);
lean_inc(v___y_7043_);
lean_inc_ref(v___y_7042_);
lean_inc(v___y_7041_);
lean_inc_ref(v___y_7040_);
lean_inc(v___y_7039_);
lean_inc(v___y_7038_);
v___x_7057_ = l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1(v_num_x3f_7034_, v_goal_7035_, v_root_7051_, v___x_7056_, v_shift_7053_, v___y_7038_, v___y_7039_, v___y_7040_, v___y_7041_, v___y_7042_, v___y_7043_, v___y_7044_, v___y_7045_, v___y_7046_, v___y_7047_);
if (lean_obj_tag(v___x_7057_) == 0)
{
lean_object* v_a_7058_; 
v_a_7058_ = lean_ctor_get(v___x_7057_, 0);
lean_inc(v_a_7058_);
if (lean_obj_tag(v_a_7058_) == 0)
{
lean_dec_ref(v_a_7058_);
lean_dec_ref(v_tail_7052_);
lean_dec(v___y_7047_);
lean_dec_ref(v___y_7046_);
lean_dec(v___y_7045_);
lean_dec_ref(v___y_7044_);
lean_dec(v___y_7043_);
lean_dec_ref(v___y_7042_);
lean_dec(v___y_7041_);
lean_dec_ref(v___y_7040_);
lean_dec(v___y_7039_);
lean_dec(v___y_7038_);
return v___x_7057_;
}
else
{
lean_object* v___x_7060_; uint8_t v_isShared_7061_; uint8_t v_isSharedCheck_7080_; 
lean_dec_ref(v_a_7058_);
v_isSharedCheck_7080_ = !lean_is_exclusive(v___x_7057_);
if (v_isSharedCheck_7080_ == 0)
{
lean_object* v_unused_7081_; 
v_unused_7081_ = lean_ctor_get(v___x_7057_, 0);
lean_dec(v_unused_7081_);
v___x_7060_ = v___x_7057_;
v_isShared_7061_ = v_isSharedCheck_7080_;
goto v_resetjp_7059_;
}
else
{
lean_dec(v___x_7057_);
v___x_7060_ = lean_box(0);
v_isShared_7061_ = v_isSharedCheck_7080_;
goto v_resetjp_7059_;
}
v_resetjp_7059_:
{
lean_object* v___x_7062_; lean_object* v___x_7063_; uint8_t v___x_7064_; 
v___x_7062_ = lean_array_get_size(v_tail_7052_);
v___x_7063_ = lean_box(0);
v___x_7064_ = lean_nat_dec_lt(v___x_7049_, v___x_7062_);
if (v___x_7064_ == 0)
{
lean_object* v___x_7065_; lean_object* v___x_7067_; 
lean_dec_ref(v_tail_7052_);
lean_dec(v___y_7047_);
lean_dec_ref(v___y_7046_);
lean_dec(v___y_7045_);
lean_dec_ref(v___y_7044_);
lean_dec(v___y_7043_);
lean_dec_ref(v___y_7042_);
lean_dec(v___y_7041_);
lean_dec_ref(v___y_7040_);
lean_dec(v___y_7039_);
lean_dec(v___y_7038_);
v___x_7065_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
if (v_isShared_7061_ == 0)
{
lean_ctor_set(v___x_7060_, 0, v___x_7065_);
v___x_7067_ = v___x_7060_;
goto v_reusejp_7066_;
}
else
{
lean_object* v_reuseFailAlloc_7068_; 
v_reuseFailAlloc_7068_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7068_, 0, v___x_7065_);
v___x_7067_ = v_reuseFailAlloc_7068_;
goto v_reusejp_7066_;
}
v_reusejp_7066_:
{
return v___x_7067_;
}
}
else
{
uint8_t v___x_7069_; 
v___x_7069_ = lean_nat_dec_le(v___x_7062_, v___x_7062_);
if (v___x_7069_ == 0)
{
if (v___x_7064_ == 0)
{
lean_object* v___x_7070_; lean_object* v___x_7072_; 
lean_dec_ref(v_tail_7052_);
lean_dec(v___y_7047_);
lean_dec_ref(v___y_7046_);
lean_dec(v___y_7045_);
lean_dec_ref(v___y_7044_);
lean_dec(v___y_7043_);
lean_dec_ref(v___y_7042_);
lean_dec(v___y_7041_);
lean_dec_ref(v___y_7040_);
lean_dec(v___y_7039_);
lean_dec(v___y_7038_);
v___x_7070_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
if (v_isShared_7061_ == 0)
{
lean_ctor_set(v___x_7060_, 0, v___x_7070_);
v___x_7072_ = v___x_7060_;
goto v_reusejp_7071_;
}
else
{
lean_object* v_reuseFailAlloc_7073_; 
v_reuseFailAlloc_7073_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7073_, 0, v___x_7070_);
v___x_7072_ = v_reuseFailAlloc_7073_;
goto v_reusejp_7071_;
}
v_reusejp_7071_:
{
return v___x_7072_;
}
}
else
{
size_t v___x_7074_; size_t v___x_7075_; lean_object* v___x_7076_; 
lean_del_object(v___x_7060_);
v___x_7074_ = ((size_t)0ULL);
v___x_7075_ = lean_usize_of_nat(v___x_7062_);
v___x_7076_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(v_num_x3f_7034_, v_goal_7035_, v_tail_7052_, v___x_7074_, v___x_7075_, v___x_7063_, v___y_7038_, v___y_7039_, v___y_7040_, v___y_7041_, v___y_7042_, v___y_7043_, v___y_7044_, v___y_7045_, v___y_7046_, v___y_7047_);
lean_dec_ref(v_tail_7052_);
return v___x_7076_;
}
}
else
{
size_t v___x_7077_; size_t v___x_7078_; lean_object* v___x_7079_; 
lean_del_object(v___x_7060_);
v___x_7077_ = ((size_t)0ULL);
v___x_7078_ = lean_usize_of_nat(v___x_7062_);
v___x_7079_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(v_num_x3f_7034_, v_goal_7035_, v_tail_7052_, v___x_7077_, v___x_7078_, v___x_7063_, v___y_7038_, v___y_7039_, v___y_7040_, v___y_7041_, v___y_7042_, v___y_7043_, v___y_7044_, v___y_7045_, v___y_7046_, v___y_7047_);
lean_dec_ref(v_tail_7052_);
return v___x_7079_;
}
}
}
}
}
else
{
lean_dec_ref(v_tail_7052_);
lean_dec(v___y_7047_);
lean_dec_ref(v___y_7046_);
lean_dec(v___y_7045_);
lean_dec_ref(v___y_7044_);
lean_dec(v___y_7043_);
lean_dec_ref(v___y_7042_);
lean_dec(v___y_7041_);
lean_dec_ref(v___y_7040_);
lean_dec(v___y_7039_);
lean_dec(v___y_7038_);
return v___x_7057_;
}
}
else
{
lean_object* v___x_7082_; lean_object* v___x_7083_; lean_object* v___x_7084_; uint8_t v___x_7085_; 
lean_dec_ref(v_root_7051_);
v___x_7082_ = lean_nat_sub(v_start_7037_, v_tailOff_7054_);
lean_dec(v_tailOff_7054_);
v___x_7083_ = lean_array_get_size(v_tail_7052_);
v___x_7084_ = lean_box(0);
v___x_7085_ = lean_nat_dec_lt(v___x_7082_, v___x_7083_);
if (v___x_7085_ == 0)
{
lean_object* v___x_7086_; lean_object* v___x_7087_; 
lean_dec(v___x_7082_);
lean_dec_ref(v_tail_7052_);
lean_dec(v___y_7047_);
lean_dec_ref(v___y_7046_);
lean_dec(v___y_7045_);
lean_dec_ref(v___y_7044_);
lean_dec(v___y_7043_);
lean_dec_ref(v___y_7042_);
lean_dec(v___y_7041_);
lean_dec_ref(v___y_7040_);
lean_dec(v___y_7039_);
lean_dec(v___y_7038_);
v___x_7086_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
v___x_7087_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_7087_, 0, v___x_7086_);
return v___x_7087_;
}
else
{
uint8_t v___x_7088_; 
v___x_7088_ = lean_nat_dec_le(v___x_7083_, v___x_7083_);
if (v___x_7088_ == 0)
{
if (v___x_7085_ == 0)
{
lean_object* v___x_7089_; lean_object* v___x_7090_; 
lean_dec(v___x_7082_);
lean_dec_ref(v_tail_7052_);
lean_dec(v___y_7047_);
lean_dec_ref(v___y_7046_);
lean_dec(v___y_7045_);
lean_dec_ref(v___y_7044_);
lean_dec(v___y_7043_);
lean_dec_ref(v___y_7042_);
lean_dec(v___y_7041_);
lean_dec_ref(v___y_7040_);
lean_dec(v___y_7039_);
lean_dec(v___y_7038_);
v___x_7089_ = ((lean_object*)(l_Lean_PersistentArray_forMAux___at___00__private_Lean_Data_PersistentArray_0__Lean_PersistentArray_forFromMAux___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__1_spec__2___closed__0));
v___x_7090_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_7090_, 0, v___x_7089_);
return v___x_7090_;
}
else
{
size_t v___x_7091_; size_t v___x_7092_; lean_object* v___x_7093_; 
v___x_7091_ = lean_usize_of_nat(v___x_7082_);
lean_dec(v___x_7082_);
v___x_7092_ = lean_usize_of_nat(v___x_7083_);
v___x_7093_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(v_num_x3f_7034_, v_goal_7035_, v_tail_7052_, v___x_7091_, v___x_7092_, v___x_7084_, v___y_7038_, v___y_7039_, v___y_7040_, v___y_7041_, v___y_7042_, v___y_7043_, v___y_7044_, v___y_7045_, v___y_7046_, v___y_7047_);
lean_dec_ref(v_tail_7052_);
return v___x_7093_;
}
}
else
{
size_t v___x_7094_; size_t v___x_7095_; lean_object* v___x_7096_; 
v___x_7094_ = lean_usize_of_nat(v___x_7082_);
lean_dec(v___x_7082_);
v___x_7095_ = lean_usize_of_nat(v___x_7083_);
v___x_7096_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__2(v_num_x3f_7034_, v_goal_7035_, v_tail_7052_, v___x_7094_, v___x_7095_, v___x_7084_, v___y_7038_, v___y_7039_, v___y_7040_, v___y_7041_, v___y_7042_, v___y_7043_, v___y_7044_, v___y_7045_, v___y_7046_, v___y_7047_);
lean_dec_ref(v_tail_7052_);
return v___x_7096_;
}
}
}
}
else
{
lean_object* v___x_7097_; 
v___x_7097_ = l_Lean_PersistentArray_forMFrom0___at___00Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0_spec__3(v_num_x3f_7034_, v_goal_7035_, v_t_7036_, v___y_7038_, v___y_7039_, v___y_7040_, v___y_7041_, v___y_7042_, v___y_7043_, v___y_7044_, v___y_7045_, v___y_7046_, v___y_7047_);
return v___x_7097_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0___boxed(lean_object* v_num_x3f_7098_, lean_object* v_goal_7099_, lean_object* v_t_7100_, lean_object* v_start_7101_, lean_object* v___y_7102_, lean_object* v___y_7103_, lean_object* v___y_7104_, lean_object* v___y_7105_, lean_object* v___y_7106_, lean_object* v___y_7107_, lean_object* v___y_7108_, lean_object* v___y_7109_, lean_object* v___y_7110_, lean_object* v___y_7111_, lean_object* v___y_7112_){
_start:
{
lean_object* v_res_7113_; 
v_res_7113_ = l_Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0(v_num_x3f_7098_, v_goal_7099_, v_t_7100_, v_start_7101_, v___y_7102_, v___y_7103_, v___y_7104_, v___y_7105_, v___y_7106_, v___y_7107_, v___y_7108_, v___y_7109_, v___y_7110_, v___y_7111_);
lean_dec(v_start_7101_);
lean_dec_ref(v_goal_7099_);
lean_dec(v_num_x3f_7098_);
return v_res_7113_;
}
}
LEAN_EXPORT lean_object* l_Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0(lean_object* v_num_x3f_7114_, lean_object* v_goal_7115_, lean_object* v_lctx_7116_, lean_object* v_start_7117_, lean_object* v___y_7118_, lean_object* v___y_7119_, lean_object* v___y_7120_, lean_object* v___y_7121_, lean_object* v___y_7122_, lean_object* v___y_7123_, lean_object* v___y_7124_, lean_object* v___y_7125_, lean_object* v___y_7126_, lean_object* v___y_7127_){
_start:
{
lean_object* v_decls_7129_; lean_object* v___x_7130_; 
v_decls_7129_ = lean_ctor_get(v_lctx_7116_, 1);
lean_inc_ref(v_decls_7129_);
lean_dec_ref(v_lctx_7116_);
v___x_7130_ = l_Lean_PersistentArray_forM___at___00Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0_spec__0(v_num_x3f_7114_, v_goal_7115_, v_decls_7129_, v_start_7117_, v___y_7118_, v___y_7119_, v___y_7120_, v___y_7121_, v___y_7122_, v___y_7123_, v___y_7124_, v___y_7125_, v___y_7126_, v___y_7127_);
return v___x_7130_;
}
}
LEAN_EXPORT lean_object* l_Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0___boxed(lean_object* v_num_x3f_7131_, lean_object* v_goal_7132_, lean_object* v_lctx_7133_, lean_object* v_start_7134_, lean_object* v___y_7135_, lean_object* v___y_7136_, lean_object* v___y_7137_, lean_object* v___y_7138_, lean_object* v___y_7139_, lean_object* v___y_7140_, lean_object* v___y_7141_, lean_object* v___y_7142_, lean_object* v___y_7143_, lean_object* v___y_7144_, lean_object* v___y_7145_){
_start:
{
lean_object* v_res_7146_; 
v_res_7146_ = l_Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0(v_num_x3f_7131_, v_goal_7132_, v_lctx_7133_, v_start_7134_, v___y_7135_, v___y_7136_, v___y_7137_, v___y_7138_, v___y_7139_, v___y_7140_, v___y_7141_, v___y_7142_, v___y_7143_, v___y_7144_);
lean_dec(v_start_7134_);
lean_dec_ref(v_goal_7132_);
lean_dec(v_num_x3f_7131_);
return v_res_7146_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go(lean_object* v_goal_7147_, lean_object* v_num_x3f_7148_, lean_object* v_a_7149_, lean_object* v_a_7150_, lean_object* v_a_7151_, lean_object* v_a_7152_, lean_object* v_a_7153_, lean_object* v_a_7154_, lean_object* v_a_7155_, lean_object* v_a_7156_, lean_object* v_a_7157_, lean_object* v_a_7158_){
_start:
{
lean_object* v_toGoalState_7160_; lean_object* v_mvarId_7161_; lean_object* v___x_7162_; 
v_toGoalState_7160_ = lean_ctor_get(v_goal_7147_, 0);
v_mvarId_7161_ = lean_ctor_get(v_goal_7147_, 1);
lean_inc(v_mvarId_7161_);
v___x_7162_ = l_Lean_MVarId_getDecl(v_mvarId_7161_, v_a_7155_, v_a_7156_, v_a_7157_, v_a_7158_);
if (lean_obj_tag(v___x_7162_) == 0)
{
lean_object* v_a_7163_; lean_object* v_lctx_7164_; lean_object* v_nextDeclIdx_7165_; lean_object* v___x_7166_; 
v_a_7163_ = lean_ctor_get(v___x_7162_, 0);
lean_inc(v_a_7163_);
lean_dec_ref(v___x_7162_);
v_lctx_7164_ = lean_ctor_get(v_a_7163_, 1);
lean_inc_ref(v_lctx_7164_);
lean_dec(v_a_7163_);
v_nextDeclIdx_7165_ = lean_ctor_get(v_toGoalState_7160_, 0);
lean_inc(v_nextDeclIdx_7165_);
lean_inc(v_a_7158_);
lean_inc_ref(v_a_7157_);
lean_inc(v_a_7156_);
lean_inc_ref(v_a_7155_);
lean_inc(v_a_7149_);
v___x_7166_ = l_Lean_LocalContext_forM___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go_spec__0(v_num_x3f_7148_, v_goal_7147_, v_lctx_7164_, v_nextDeclIdx_7165_, v_a_7149_, v_a_7150_, v_a_7151_, v_a_7152_, v_a_7153_, v_a_7154_, v_a_7155_, v_a_7156_, v_a_7157_, v_a_7158_);
lean_dec(v_nextDeclIdx_7165_);
lean_dec_ref(v_goal_7147_);
if (lean_obj_tag(v___x_7166_) == 0)
{
lean_object* v_a_7167_; 
v_a_7167_ = lean_ctor_get(v___x_7166_, 0);
lean_inc(v_a_7167_);
if (lean_obj_tag(v_a_7167_) == 0)
{
lean_dec_ref(v_a_7167_);
lean_dec(v_a_7158_);
lean_dec_ref(v_a_7157_);
lean_dec(v_a_7156_);
lean_dec_ref(v_a_7155_);
lean_dec(v_a_7149_);
return v___x_7166_;
}
else
{
lean_object* v___x_7169_; uint8_t v_isShared_7170_; uint8_t v_isSharedCheck_7191_; 
lean_dec_ref(v___x_7166_);
v_isSharedCheck_7191_ = !lean_is_exclusive(v_a_7167_);
if (v_isSharedCheck_7191_ == 0)
{
lean_object* v_unused_7192_; 
v_unused_7192_ = lean_ctor_get(v_a_7167_, 0);
lean_dec(v_unused_7192_);
v___x_7169_ = v_a_7167_;
v_isShared_7170_ = v_isSharedCheck_7191_;
goto v_resetjp_7168_;
}
else
{
lean_dec(v_a_7167_);
v___x_7169_ = lean_box(0);
v_isShared_7170_ = v_isSharedCheck_7191_;
goto v_resetjp_7168_;
}
v_resetjp_7168_:
{
lean_object* v___x_7171_; 
v___x_7171_ = l_Lean_Meta_Grind_setNextDeclToEnd___redArg(v_a_7149_, v_a_7155_, v_a_7156_, v_a_7157_, v_a_7158_);
lean_dec(v_a_7158_);
lean_dec_ref(v_a_7157_);
lean_dec(v_a_7156_);
lean_dec_ref(v_a_7155_);
lean_dec(v_a_7149_);
if (lean_obj_tag(v___x_7171_) == 0)
{
lean_object* v_a_7172_; lean_object* v___x_7174_; uint8_t v_isShared_7175_; uint8_t v_isSharedCheck_7182_; 
v_a_7172_ = lean_ctor_get(v___x_7171_, 0);
v_isSharedCheck_7182_ = !lean_is_exclusive(v___x_7171_);
if (v_isSharedCheck_7182_ == 0)
{
v___x_7174_ = v___x_7171_;
v_isShared_7175_ = v_isSharedCheck_7182_;
goto v_resetjp_7173_;
}
else
{
lean_inc(v_a_7172_);
lean_dec(v___x_7171_);
v___x_7174_ = lean_box(0);
v_isShared_7175_ = v_isSharedCheck_7182_;
goto v_resetjp_7173_;
}
v_resetjp_7173_:
{
lean_object* v___x_7177_; 
if (v_isShared_7170_ == 0)
{
lean_ctor_set(v___x_7169_, 0, v_a_7172_);
v___x_7177_ = v___x_7169_;
goto v_reusejp_7176_;
}
else
{
lean_object* v_reuseFailAlloc_7181_; 
v_reuseFailAlloc_7181_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7181_, 0, v_a_7172_);
v___x_7177_ = v_reuseFailAlloc_7181_;
goto v_reusejp_7176_;
}
v_reusejp_7176_:
{
lean_object* v___x_7179_; 
if (v_isShared_7175_ == 0)
{
lean_ctor_set(v___x_7174_, 0, v___x_7177_);
v___x_7179_ = v___x_7174_;
goto v_reusejp_7178_;
}
else
{
lean_object* v_reuseFailAlloc_7180_; 
v_reuseFailAlloc_7180_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7180_, 0, v___x_7177_);
v___x_7179_ = v_reuseFailAlloc_7180_;
goto v_reusejp_7178_;
}
v_reusejp_7178_:
{
return v___x_7179_;
}
}
}
}
else
{
lean_object* v_a_7183_; lean_object* v___x_7185_; uint8_t v_isShared_7186_; uint8_t v_isSharedCheck_7190_; 
lean_del_object(v___x_7169_);
v_a_7183_ = lean_ctor_get(v___x_7171_, 0);
v_isSharedCheck_7190_ = !lean_is_exclusive(v___x_7171_);
if (v_isSharedCheck_7190_ == 0)
{
v___x_7185_ = v___x_7171_;
v_isShared_7186_ = v_isSharedCheck_7190_;
goto v_resetjp_7184_;
}
else
{
lean_inc(v_a_7183_);
lean_dec(v___x_7171_);
v___x_7185_ = lean_box(0);
v_isShared_7186_ = v_isSharedCheck_7190_;
goto v_resetjp_7184_;
}
v_resetjp_7184_:
{
lean_object* v___x_7188_; 
if (v_isShared_7186_ == 0)
{
v___x_7188_ = v___x_7185_;
goto v_reusejp_7187_;
}
else
{
lean_object* v_reuseFailAlloc_7189_; 
v_reuseFailAlloc_7189_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7189_, 0, v_a_7183_);
v___x_7188_ = v_reuseFailAlloc_7189_;
goto v_reusejp_7187_;
}
v_reusejp_7187_:
{
return v___x_7188_;
}
}
}
}
}
}
else
{
lean_dec(v_a_7158_);
lean_dec_ref(v_a_7157_);
lean_dec(v_a_7156_);
lean_dec_ref(v_a_7155_);
lean_dec(v_a_7149_);
return v___x_7166_;
}
}
else
{
lean_object* v_a_7193_; lean_object* v___x_7195_; uint8_t v_isShared_7196_; uint8_t v_isSharedCheck_7200_; 
lean_dec(v_a_7158_);
lean_dec_ref(v_a_7157_);
lean_dec(v_a_7156_);
lean_dec_ref(v_a_7155_);
lean_dec(v_a_7154_);
lean_dec_ref(v_a_7153_);
lean_dec(v_a_7152_);
lean_dec_ref(v_a_7151_);
lean_dec(v_a_7150_);
lean_dec(v_a_7149_);
lean_dec_ref(v_goal_7147_);
v_a_7193_ = lean_ctor_get(v___x_7162_, 0);
v_isSharedCheck_7200_ = !lean_is_exclusive(v___x_7162_);
if (v_isSharedCheck_7200_ == 0)
{
v___x_7195_ = v___x_7162_;
v_isShared_7196_ = v_isSharedCheck_7200_;
goto v_resetjp_7194_;
}
else
{
lean_inc(v_a_7193_);
lean_dec(v___x_7162_);
v___x_7195_ = lean_box(0);
v_isShared_7196_ = v_isSharedCheck_7200_;
goto v_resetjp_7194_;
}
v_resetjp_7194_:
{
lean_object* v___x_7198_; 
if (v_isShared_7196_ == 0)
{
v___x_7198_ = v___x_7195_;
goto v_reusejp_7197_;
}
else
{
lean_object* v_reuseFailAlloc_7199_; 
v_reuseFailAlloc_7199_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7199_, 0, v_a_7193_);
v___x_7198_ = v_reuseFailAlloc_7199_;
goto v_reusejp_7197_;
}
v_reusejp_7197_:
{
return v___x_7198_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go___boxed(lean_object* v_goal_7201_, lean_object* v_num_x3f_7202_, lean_object* v_a_7203_, lean_object* v_a_7204_, lean_object* v_a_7205_, lean_object* v_a_7206_, lean_object* v_a_7207_, lean_object* v_a_7208_, lean_object* v_a_7209_, lean_object* v_a_7210_, lean_object* v_a_7211_, lean_object* v_a_7212_, lean_object* v_a_7213_){
_start:
{
lean_object* v_res_7214_; 
v_res_7214_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go(v_goal_7201_, v_num_x3f_7202_, v_a_7203_, v_a_7204_, v_a_7205_, v_a_7206_, v_a_7207_, v_a_7208_, v_a_7209_, v_a_7210_, v_a_7211_, v_a_7212_);
lean_dec(v_num_x3f_7202_);
return v_res_7214_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_processHypotheses___lam__0(lean_object* v_goal_7215_, lean_object* v_num_x3f_7216_, lean_object* v___y_7217_, lean_object* v___y_7218_, lean_object* v___y_7219_, lean_object* v___y_7220_, lean_object* v___y_7221_, lean_object* v___y_7222_, lean_object* v___y_7223_, lean_object* v___y_7224_, lean_object* v___y_7225_){
_start:
{
lean_object* v___x_7227_; lean_object* v___x_7228_; 
lean_inc_ref(v_goal_7215_);
v___x_7227_ = lean_st_mk_ref(v_goal_7215_);
lean_inc(v___x_7227_);
v___x_7228_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_processHypotheses_go(v_goal_7215_, v_num_x3f_7216_, v___x_7227_, v___y_7217_, v___y_7218_, v___y_7219_, v___y_7220_, v___y_7221_, v___y_7222_, v___y_7223_, v___y_7224_, v___y_7225_);
if (lean_obj_tag(v___x_7228_) == 0)
{
lean_object* v___x_7230_; uint8_t v_isShared_7231_; uint8_t v_isSharedCheck_7237_; 
v_isSharedCheck_7237_ = !lean_is_exclusive(v___x_7228_);
if (v_isSharedCheck_7237_ == 0)
{
lean_object* v_unused_7238_; 
v_unused_7238_ = lean_ctor_get(v___x_7228_, 0);
lean_dec(v_unused_7238_);
v___x_7230_ = v___x_7228_;
v_isShared_7231_ = v_isSharedCheck_7237_;
goto v_resetjp_7229_;
}
else
{
lean_dec(v___x_7228_);
v___x_7230_ = lean_box(0);
v_isShared_7231_ = v_isSharedCheck_7237_;
goto v_resetjp_7229_;
}
v_resetjp_7229_:
{
lean_object* v___x_7232_; lean_object* v___x_7233_; lean_object* v___x_7235_; 
v___x_7232_ = lean_st_ref_get(v___x_7227_);
v___x_7233_ = lean_st_ref_get(v___x_7227_);
lean_dec(v___x_7227_);
lean_dec(v___x_7233_);
if (v_isShared_7231_ == 0)
{
lean_ctor_set(v___x_7230_, 0, v___x_7232_);
v___x_7235_ = v___x_7230_;
goto v_reusejp_7234_;
}
else
{
lean_object* v_reuseFailAlloc_7236_; 
v_reuseFailAlloc_7236_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7236_, 0, v___x_7232_);
v___x_7235_ = v_reuseFailAlloc_7236_;
goto v_reusejp_7234_;
}
v_reusejp_7234_:
{
return v___x_7235_;
}
}
}
else
{
lean_object* v_a_7239_; lean_object* v___x_7241_; uint8_t v_isShared_7242_; uint8_t v_isSharedCheck_7246_; 
lean_dec(v___x_7227_);
v_a_7239_ = lean_ctor_get(v___x_7228_, 0);
v_isSharedCheck_7246_ = !lean_is_exclusive(v___x_7228_);
if (v_isSharedCheck_7246_ == 0)
{
v___x_7241_ = v___x_7228_;
v_isShared_7242_ = v_isSharedCheck_7246_;
goto v_resetjp_7240_;
}
else
{
lean_inc(v_a_7239_);
lean_dec(v___x_7228_);
v___x_7241_ = lean_box(0);
v_isShared_7242_ = v_isSharedCheck_7246_;
goto v_resetjp_7240_;
}
v_resetjp_7240_:
{
lean_object* v___x_7244_; 
if (v_isShared_7242_ == 0)
{
v___x_7244_ = v___x_7241_;
goto v_reusejp_7243_;
}
else
{
lean_object* v_reuseFailAlloc_7245_; 
v_reuseFailAlloc_7245_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7245_, 0, v_a_7239_);
v___x_7244_ = v_reuseFailAlloc_7245_;
goto v_reusejp_7243_;
}
v_reusejp_7243_:
{
return v___x_7244_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_processHypotheses___lam__0___boxed(lean_object* v_goal_7247_, lean_object* v_num_x3f_7248_, lean_object* v___y_7249_, lean_object* v___y_7250_, lean_object* v___y_7251_, lean_object* v___y_7252_, lean_object* v___y_7253_, lean_object* v___y_7254_, lean_object* v___y_7255_, lean_object* v___y_7256_, lean_object* v___y_7257_, lean_object* v___y_7258_){
_start:
{
lean_object* v_res_7259_; 
v_res_7259_ = l_Lean_Meta_Grind_processHypotheses___lam__0(v_goal_7247_, v_num_x3f_7248_, v___y_7249_, v___y_7250_, v___y_7251_, v___y_7252_, v___y_7253_, v___y_7254_, v___y_7255_, v___y_7256_, v___y_7257_);
lean_dec(v_num_x3f_7248_);
return v_res_7259_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_processHypotheses(lean_object* v_goal_7260_, lean_object* v_num_x3f_7261_, lean_object* v_a_7262_, lean_object* v_a_7263_, lean_object* v_a_7264_, lean_object* v_a_7265_, lean_object* v_a_7266_, lean_object* v_a_7267_, lean_object* v_a_7268_, lean_object* v_a_7269_, lean_object* v_a_7270_){
_start:
{
lean_object* v_mvarId_7272_; lean_object* v___f_7273_; lean_object* v___x_7274_; 
v_mvarId_7272_ = lean_ctor_get(v_goal_7260_, 1);
lean_inc(v_mvarId_7272_);
v___f_7273_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_processHypotheses___lam__0___boxed), 12, 2);
lean_closure_set(v___f_7273_, 0, v_goal_7260_);
lean_closure_set(v___f_7273_, 1, v_num_x3f_7261_);
v___x_7274_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg(v_mvarId_7272_, v___f_7273_, v_a_7262_, v_a_7263_, v_a_7264_, v_a_7265_, v_a_7266_, v_a_7267_, v_a_7268_, v_a_7269_, v_a_7270_);
return v___x_7274_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_processHypotheses___boxed(lean_object* v_goal_7275_, lean_object* v_num_x3f_7276_, lean_object* v_a_7277_, lean_object* v_a_7278_, lean_object* v_a_7279_, lean_object* v_a_7280_, lean_object* v_a_7281_, lean_object* v_a_7282_, lean_object* v_a_7283_, lean_object* v_a_7284_, lean_object* v_a_7285_, lean_object* v_a_7286_){
_start:
{
lean_object* v_res_7287_; 
v_res_7287_ = l_Lean_Meta_Grind_processHypotheses(v_goal_7275_, v_num_x3f_7276_, v_a_7277_, v_a_7278_, v_a_7279_, v_a_7280_, v_a_7281_, v_a_7282_, v_a_7283_, v_a_7284_, v_a_7285_);
return v_res_7287_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initCore(lean_object* v_mvarId_7288_, lean_object* v_a_7289_, lean_object* v_a_7290_, lean_object* v_a_7291_, lean_object* v_a_7292_, lean_object* v_a_7293_, lean_object* v_a_7294_, lean_object* v_a_7295_, lean_object* v_a_7296_, lean_object* v_a_7297_){
_start:
{
lean_object* v___x_7299_; 
v___x_7299_ = l_Lean_Meta_Grind_getConfig___redArg(v_a_7290_);
if (lean_obj_tag(v___x_7299_) == 0)
{
lean_object* v_a_7300_; uint8_t v_clean_7301_; uint8_t v_revert_7302_; lean_object* v_mvarId_7304_; lean_object* v___y_7305_; lean_object* v___y_7306_; lean_object* v___y_7307_; lean_object* v___y_7308_; lean_object* v___y_7309_; lean_object* v___y_7310_; lean_object* v___y_7311_; lean_object* v___y_7312_; lean_object* v___y_7313_; lean_object* v_mvarId_7349_; lean_object* v___y_7350_; lean_object* v___y_7351_; lean_object* v___y_7352_; lean_object* v___y_7353_; lean_object* v___y_7354_; lean_object* v___y_7355_; lean_object* v___y_7356_; lean_object* v___y_7357_; lean_object* v___y_7358_; 
v_a_7300_ = lean_ctor_get(v___x_7299_, 0);
lean_inc(v_a_7300_);
lean_dec_ref(v___x_7299_);
v_clean_7301_ = lean_ctor_get_uint8(v_a_7300_, sizeof(void*)*11 + 16);
v_revert_7302_ = lean_ctor_get_uint8(v_a_7300_, sizeof(void*)*11 + 29);
lean_dec(v_a_7300_);
if (v_clean_7301_ == 0)
{
if (v_revert_7302_ == 0)
{
v_mvarId_7349_ = v_mvarId_7288_;
v___y_7350_ = v_a_7289_;
v___y_7351_ = v_a_7290_;
v___y_7352_ = v_a_7291_;
v___y_7353_ = v_a_7292_;
v___y_7354_ = v_a_7293_;
v___y_7355_ = v_a_7294_;
v___y_7356_ = v_a_7295_;
v___y_7357_ = v_a_7296_;
v___y_7358_ = v_a_7297_;
goto v___jp_7348_;
}
else
{
lean_object* v___x_7369_; 
lean_inc(v_a_7297_);
lean_inc_ref(v_a_7296_);
lean_inc(v_a_7295_);
lean_inc_ref(v_a_7294_);
v___x_7369_ = l_Lean_MVarId_markAccessible(v_mvarId_7288_, v_a_7294_, v_a_7295_, v_a_7296_, v_a_7297_);
if (lean_obj_tag(v___x_7369_) == 0)
{
lean_object* v_a_7370_; 
v_a_7370_ = lean_ctor_get(v___x_7369_, 0);
lean_inc(v_a_7370_);
lean_dec_ref(v___x_7369_);
v_mvarId_7349_ = v_a_7370_;
v___y_7350_ = v_a_7289_;
v___y_7351_ = v_a_7290_;
v___y_7352_ = v_a_7291_;
v___y_7353_ = v_a_7292_;
v___y_7354_ = v_a_7293_;
v___y_7355_ = v_a_7294_;
v___y_7356_ = v_a_7295_;
v___y_7357_ = v_a_7296_;
v___y_7358_ = v_a_7297_;
goto v___jp_7348_;
}
else
{
lean_object* v_a_7371_; lean_object* v___x_7373_; uint8_t v_isShared_7374_; uint8_t v_isSharedCheck_7378_; 
lean_dec(v_a_7297_);
lean_dec_ref(v_a_7296_);
lean_dec(v_a_7295_);
lean_dec_ref(v_a_7294_);
lean_dec(v_a_7293_);
lean_dec_ref(v_a_7292_);
lean_dec(v_a_7291_);
lean_dec_ref(v_a_7290_);
lean_dec(v_a_7289_);
v_a_7371_ = lean_ctor_get(v___x_7369_, 0);
v_isSharedCheck_7378_ = !lean_is_exclusive(v___x_7369_);
if (v_isSharedCheck_7378_ == 0)
{
v___x_7373_ = v___x_7369_;
v_isShared_7374_ = v_isSharedCheck_7378_;
goto v_resetjp_7372_;
}
else
{
lean_inc(v_a_7371_);
lean_dec(v___x_7369_);
v___x_7373_ = lean_box(0);
v_isShared_7374_ = v_isSharedCheck_7378_;
goto v_resetjp_7372_;
}
v_resetjp_7372_:
{
lean_object* v___x_7376_; 
if (v_isShared_7374_ == 0)
{
v___x_7376_ = v___x_7373_;
goto v_reusejp_7375_;
}
else
{
lean_object* v_reuseFailAlloc_7377_; 
v_reuseFailAlloc_7377_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7377_, 0, v_a_7371_);
v___x_7376_ = v_reuseFailAlloc_7377_;
goto v_reusejp_7375_;
}
v_reusejp_7375_:
{
return v___x_7376_;
}
}
}
}
}
else
{
v_mvarId_7349_ = v_mvarId_7288_;
v___y_7350_ = v_a_7289_;
v___y_7351_ = v_a_7290_;
v___y_7352_ = v_a_7291_;
v___y_7353_ = v_a_7292_;
v___y_7354_ = v_a_7293_;
v___y_7355_ = v_a_7294_;
v___y_7356_ = v_a_7295_;
v___y_7357_ = v_a_7296_;
v___y_7358_ = v_a_7297_;
goto v___jp_7348_;
}
v___jp_7303_:
{
lean_object* v___x_7314_; 
lean_inc(v___y_7313_);
lean_inc_ref(v___y_7312_);
lean_inc(v___y_7311_);
lean_inc_ref(v___y_7310_);
v___x_7314_ = l_Lean_MVarId_unfoldReducible(v_mvarId_7304_, v___y_7310_, v___y_7311_, v___y_7312_, v___y_7313_);
if (lean_obj_tag(v___x_7314_) == 0)
{
lean_object* v_a_7315_; lean_object* v___x_7316_; 
v_a_7315_ = lean_ctor_get(v___x_7314_, 0);
lean_inc(v_a_7315_);
lean_dec_ref(v___x_7314_);
lean_inc(v___y_7313_);
lean_inc_ref(v___y_7312_);
lean_inc(v___y_7311_);
lean_inc_ref(v___y_7310_);
v___x_7316_ = l_Lean_MVarId_betaReduce(v_a_7315_, v___y_7310_, v___y_7311_, v___y_7312_, v___y_7313_);
if (lean_obj_tag(v___x_7316_) == 0)
{
lean_object* v_a_7317_; lean_object* v___x_7318_; lean_object* v___x_7319_; 
v_a_7317_ = lean_ctor_get(v___x_7316_, 0);
lean_inc(v_a_7317_);
lean_dec_ref(v___x_7316_);
v___x_7318_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__1));
lean_inc(v_a_7317_);
v___x_7319_ = l_Lean_Meta_appendTagSuffix(v_a_7317_, v___x_7318_, v___y_7310_, v___y_7311_, v___y_7312_, v___y_7313_);
if (lean_obj_tag(v___x_7319_) == 0)
{
lean_object* v___x_7320_; 
lean_dec_ref(v___x_7319_);
lean_inc(v___y_7313_);
lean_inc_ref(v___y_7312_);
lean_inc(v___y_7311_);
lean_inc_ref(v___y_7310_);
lean_inc(v___y_7309_);
lean_inc_ref(v___y_7308_);
lean_inc(v___y_7307_);
lean_inc_ref(v___y_7306_);
lean_inc(v___y_7305_);
v___x_7320_ = l_Lean_Meta_Grind_mkGoalCore(v_a_7317_, v___y_7305_, v___y_7306_, v___y_7307_, v___y_7308_, v___y_7309_, v___y_7310_, v___y_7311_, v___y_7312_, v___y_7313_);
if (lean_obj_tag(v___x_7320_) == 0)
{
if (v_revert_7302_ == 0)
{
lean_object* v_a_7321_; lean_object* v___x_7322_; lean_object* v___x_7323_; 
v_a_7321_ = lean_ctor_get(v___x_7320_, 0);
lean_inc(v_a_7321_);
lean_dec_ref(v___x_7320_);
v___x_7322_ = lean_box(0);
v___x_7323_ = l_Lean_Meta_Grind_processHypotheses(v_a_7321_, v___x_7322_, v___y_7305_, v___y_7306_, v___y_7307_, v___y_7308_, v___y_7309_, v___y_7310_, v___y_7311_, v___y_7312_, v___y_7313_);
return v___x_7323_;
}
else
{
lean_dec(v___y_7313_);
lean_dec_ref(v___y_7312_);
lean_dec(v___y_7311_);
lean_dec_ref(v___y_7310_);
lean_dec(v___y_7309_);
lean_dec_ref(v___y_7308_);
lean_dec(v___y_7307_);
lean_dec_ref(v___y_7306_);
lean_dec(v___y_7305_);
return v___x_7320_;
}
}
else
{
lean_dec(v___y_7313_);
lean_dec_ref(v___y_7312_);
lean_dec(v___y_7311_);
lean_dec_ref(v___y_7310_);
lean_dec(v___y_7309_);
lean_dec_ref(v___y_7308_);
lean_dec(v___y_7307_);
lean_dec_ref(v___y_7306_);
lean_dec(v___y_7305_);
return v___x_7320_;
}
}
else
{
lean_object* v_a_7324_; lean_object* v___x_7326_; uint8_t v_isShared_7327_; uint8_t v_isSharedCheck_7331_; 
lean_dec(v_a_7317_);
lean_dec(v___y_7313_);
lean_dec_ref(v___y_7312_);
lean_dec(v___y_7311_);
lean_dec_ref(v___y_7310_);
lean_dec(v___y_7309_);
lean_dec_ref(v___y_7308_);
lean_dec(v___y_7307_);
lean_dec_ref(v___y_7306_);
lean_dec(v___y_7305_);
v_a_7324_ = lean_ctor_get(v___x_7319_, 0);
v_isSharedCheck_7331_ = !lean_is_exclusive(v___x_7319_);
if (v_isSharedCheck_7331_ == 0)
{
v___x_7326_ = v___x_7319_;
v_isShared_7327_ = v_isSharedCheck_7331_;
goto v_resetjp_7325_;
}
else
{
lean_inc(v_a_7324_);
lean_dec(v___x_7319_);
v___x_7326_ = lean_box(0);
v_isShared_7327_ = v_isSharedCheck_7331_;
goto v_resetjp_7325_;
}
v_resetjp_7325_:
{
lean_object* v___x_7329_; 
if (v_isShared_7327_ == 0)
{
v___x_7329_ = v___x_7326_;
goto v_reusejp_7328_;
}
else
{
lean_object* v_reuseFailAlloc_7330_; 
v_reuseFailAlloc_7330_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7330_, 0, v_a_7324_);
v___x_7329_ = v_reuseFailAlloc_7330_;
goto v_reusejp_7328_;
}
v_reusejp_7328_:
{
return v___x_7329_;
}
}
}
}
else
{
lean_object* v_a_7332_; lean_object* v___x_7334_; uint8_t v_isShared_7335_; uint8_t v_isSharedCheck_7339_; 
lean_dec(v___y_7313_);
lean_dec_ref(v___y_7312_);
lean_dec(v___y_7311_);
lean_dec_ref(v___y_7310_);
lean_dec(v___y_7309_);
lean_dec_ref(v___y_7308_);
lean_dec(v___y_7307_);
lean_dec_ref(v___y_7306_);
lean_dec(v___y_7305_);
v_a_7332_ = lean_ctor_get(v___x_7316_, 0);
v_isSharedCheck_7339_ = !lean_is_exclusive(v___x_7316_);
if (v_isSharedCheck_7339_ == 0)
{
v___x_7334_ = v___x_7316_;
v_isShared_7335_ = v_isSharedCheck_7339_;
goto v_resetjp_7333_;
}
else
{
lean_inc(v_a_7332_);
lean_dec(v___x_7316_);
v___x_7334_ = lean_box(0);
v_isShared_7335_ = v_isSharedCheck_7339_;
goto v_resetjp_7333_;
}
v_resetjp_7333_:
{
lean_object* v___x_7337_; 
if (v_isShared_7335_ == 0)
{
v___x_7337_ = v___x_7334_;
goto v_reusejp_7336_;
}
else
{
lean_object* v_reuseFailAlloc_7338_; 
v_reuseFailAlloc_7338_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7338_, 0, v_a_7332_);
v___x_7337_ = v_reuseFailAlloc_7338_;
goto v_reusejp_7336_;
}
v_reusejp_7336_:
{
return v___x_7337_;
}
}
}
}
else
{
lean_object* v_a_7340_; lean_object* v___x_7342_; uint8_t v_isShared_7343_; uint8_t v_isSharedCheck_7347_; 
lean_dec(v___y_7313_);
lean_dec_ref(v___y_7312_);
lean_dec(v___y_7311_);
lean_dec_ref(v___y_7310_);
lean_dec(v___y_7309_);
lean_dec_ref(v___y_7308_);
lean_dec(v___y_7307_);
lean_dec_ref(v___y_7306_);
lean_dec(v___y_7305_);
v_a_7340_ = lean_ctor_get(v___x_7314_, 0);
v_isSharedCheck_7347_ = !lean_is_exclusive(v___x_7314_);
if (v_isSharedCheck_7347_ == 0)
{
v___x_7342_ = v___x_7314_;
v_isShared_7343_ = v_isSharedCheck_7347_;
goto v_resetjp_7341_;
}
else
{
lean_inc(v_a_7340_);
lean_dec(v___x_7314_);
v___x_7342_ = lean_box(0);
v_isShared_7343_ = v_isSharedCheck_7347_;
goto v_resetjp_7341_;
}
v_resetjp_7341_:
{
lean_object* v___x_7345_; 
if (v_isShared_7343_ == 0)
{
v___x_7345_ = v___x_7342_;
goto v_reusejp_7344_;
}
else
{
lean_object* v_reuseFailAlloc_7346_; 
v_reuseFailAlloc_7346_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7346_, 0, v_a_7340_);
v___x_7345_ = v_reuseFailAlloc_7346_;
goto v_reusejp_7344_;
}
v_reusejp_7344_:
{
return v___x_7345_;
}
}
}
}
v___jp_7348_:
{
if (v_revert_7302_ == 0)
{
v_mvarId_7304_ = v_mvarId_7349_;
v___y_7305_ = v___y_7350_;
v___y_7306_ = v___y_7351_;
v___y_7307_ = v___y_7352_;
v___y_7308_ = v___y_7353_;
v___y_7309_ = v___y_7354_;
v___y_7310_ = v___y_7355_;
v___y_7311_ = v___y_7356_;
v___y_7312_ = v___y_7357_;
v___y_7313_ = v___y_7358_;
goto v___jp_7303_;
}
else
{
lean_object* v___x_7359_; 
lean_inc(v___y_7358_);
lean_inc_ref(v___y_7357_);
lean_inc(v___y_7356_);
lean_inc_ref(v___y_7355_);
v___x_7359_ = l_Lean_MVarId_revertAll(v_mvarId_7349_, v___y_7355_, v___y_7356_, v___y_7357_, v___y_7358_);
if (lean_obj_tag(v___x_7359_) == 0)
{
lean_object* v_a_7360_; 
v_a_7360_ = lean_ctor_get(v___x_7359_, 0);
lean_inc(v_a_7360_);
lean_dec_ref(v___x_7359_);
v_mvarId_7304_ = v_a_7360_;
v___y_7305_ = v___y_7350_;
v___y_7306_ = v___y_7351_;
v___y_7307_ = v___y_7352_;
v___y_7308_ = v___y_7353_;
v___y_7309_ = v___y_7354_;
v___y_7310_ = v___y_7355_;
v___y_7311_ = v___y_7356_;
v___y_7312_ = v___y_7357_;
v___y_7313_ = v___y_7358_;
goto v___jp_7303_;
}
else
{
lean_object* v_a_7361_; lean_object* v___x_7363_; uint8_t v_isShared_7364_; uint8_t v_isSharedCheck_7368_; 
lean_dec(v___y_7358_);
lean_dec_ref(v___y_7357_);
lean_dec(v___y_7356_);
lean_dec_ref(v___y_7355_);
lean_dec(v___y_7354_);
lean_dec_ref(v___y_7353_);
lean_dec(v___y_7352_);
lean_dec_ref(v___y_7351_);
lean_dec(v___y_7350_);
v_a_7361_ = lean_ctor_get(v___x_7359_, 0);
v_isSharedCheck_7368_ = !lean_is_exclusive(v___x_7359_);
if (v_isSharedCheck_7368_ == 0)
{
v___x_7363_ = v___x_7359_;
v_isShared_7364_ = v_isSharedCheck_7368_;
goto v_resetjp_7362_;
}
else
{
lean_inc(v_a_7361_);
lean_dec(v___x_7359_);
v___x_7363_ = lean_box(0);
v_isShared_7364_ = v_isSharedCheck_7368_;
goto v_resetjp_7362_;
}
v_resetjp_7362_:
{
lean_object* v___x_7366_; 
if (v_isShared_7364_ == 0)
{
v___x_7366_ = v___x_7363_;
goto v_reusejp_7365_;
}
else
{
lean_object* v_reuseFailAlloc_7367_; 
v_reuseFailAlloc_7367_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7367_, 0, v_a_7361_);
v___x_7366_ = v_reuseFailAlloc_7367_;
goto v_reusejp_7365_;
}
v_reusejp_7365_:
{
return v___x_7366_;
}
}
}
}
}
}
else
{
lean_object* v_a_7379_; lean_object* v___x_7381_; uint8_t v_isShared_7382_; uint8_t v_isSharedCheck_7386_; 
lean_dec(v_a_7297_);
lean_dec_ref(v_a_7296_);
lean_dec(v_a_7295_);
lean_dec_ref(v_a_7294_);
lean_dec(v_a_7293_);
lean_dec_ref(v_a_7292_);
lean_dec(v_a_7291_);
lean_dec_ref(v_a_7290_);
lean_dec(v_a_7289_);
lean_dec(v_mvarId_7288_);
v_a_7379_ = lean_ctor_get(v___x_7299_, 0);
v_isSharedCheck_7386_ = !lean_is_exclusive(v___x_7299_);
if (v_isSharedCheck_7386_ == 0)
{
v___x_7381_ = v___x_7299_;
v_isShared_7382_ = v_isSharedCheck_7386_;
goto v_resetjp_7380_;
}
else
{
lean_inc(v_a_7379_);
lean_dec(v___x_7299_);
v___x_7381_ = lean_box(0);
v_isShared_7382_ = v_isSharedCheck_7386_;
goto v_resetjp_7380_;
}
v_resetjp_7380_:
{
lean_object* v___x_7384_; 
if (v_isShared_7382_ == 0)
{
v___x_7384_ = v___x_7381_;
goto v_reusejp_7383_;
}
else
{
lean_object* v_reuseFailAlloc_7385_; 
v_reuseFailAlloc_7385_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7385_, 0, v_a_7379_);
v___x_7384_ = v_reuseFailAlloc_7385_;
goto v_reusejp_7383_;
}
v_reusejp_7383_:
{
return v___x_7384_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initCore___boxed(lean_object* v_mvarId_7387_, lean_object* v_a_7388_, lean_object* v_a_7389_, lean_object* v_a_7390_, lean_object* v_a_7391_, lean_object* v_a_7392_, lean_object* v_a_7393_, lean_object* v_a_7394_, lean_object* v_a_7395_, lean_object* v_a_7396_, lean_object* v_a_7397_){
_start:
{
lean_object* v_res_7398_; 
v_res_7398_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initCore(v_mvarId_7387_, v_a_7388_, v_a_7389_, v_a_7390_, v_a_7391_, v_a_7392_, v_a_7393_, v_a_7394_, v_a_7395_, v_a_7396_);
return v_res_7398_;
}
}
LEAN_EXPORT lean_object* l_Lean_logInfo___at___00Lean_Meta_Grind_mkResult_spec__0(lean_object* v_msgData_7399_, lean_object* v___y_7400_, lean_object* v___y_7401_, lean_object* v___y_7402_, lean_object* v___y_7403_, lean_object* v___y_7404_, lean_object* v___y_7405_, lean_object* v___y_7406_, lean_object* v___y_7407_, lean_object* v___y_7408_){
_start:
{
uint8_t v___x_7410_; uint8_t v___x_7411_; lean_object* v___x_7412_; 
v___x_7410_ = 0;
v___x_7411_ = 0;
v___x_7412_ = l_Lean_log___at___00Lean_logWarning___at___00Lean_Meta_Grind_checkUnusedActivations_spec__5_spec__6(v_msgData_7399_, v___x_7410_, v___x_7411_, v___y_7400_, v___y_7401_, v___y_7402_, v___y_7403_, v___y_7404_, v___y_7405_, v___y_7406_, v___y_7407_, v___y_7408_);
return v___x_7412_;
}
}
LEAN_EXPORT lean_object* l_Lean_logInfo___at___00Lean_Meta_Grind_mkResult_spec__0___boxed(lean_object* v_msgData_7413_, lean_object* v___y_7414_, lean_object* v___y_7415_, lean_object* v___y_7416_, lean_object* v___y_7417_, lean_object* v___y_7418_, lean_object* v___y_7419_, lean_object* v___y_7420_, lean_object* v___y_7421_, lean_object* v___y_7422_, lean_object* v___y_7423_){
_start:
{
lean_object* v_res_7424_; 
v_res_7424_ = l_Lean_logInfo___at___00Lean_Meta_Grind_mkResult_spec__0(v_msgData_7413_, v___y_7414_, v___y_7415_, v___y_7416_, v___y_7417_, v___y_7418_, v___y_7419_, v___y_7420_, v___y_7421_, v___y_7422_);
lean_dec(v___y_7422_);
lean_dec(v___y_7420_);
lean_dec_ref(v___y_7419_);
lean_dec(v___y_7418_);
lean_dec_ref(v___y_7417_);
lean_dec(v___y_7416_);
lean_dec_ref(v___y_7415_);
lean_dec(v___y_7414_);
return v_res_7424_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkResult(lean_object* v_params_7425_, lean_object* v_failure_x3f_7426_, lean_object* v_a_7427_, lean_object* v_a_7428_, lean_object* v_a_7429_, lean_object* v_a_7430_, lean_object* v_a_7431_, lean_object* v_a_7432_, lean_object* v_a_7433_, lean_object* v_a_7434_, lean_object* v_a_7435_){
_start:
{
lean_object* v___x_7437_; lean_object* v___x_7438_; lean_object* v___x_7439_; lean_object* v___x_7440_; lean_object* v_simp_7441_; lean_object* v_issues_7442_; lean_object* v_counters_7443_; lean_object* v_splitDiags_7444_; lean_object* v_usedTheorems_7445_; lean_object* v_diag_7446_; lean_object* v___x_7448_; uint8_t v_isShared_7449_; uint8_t v_isSharedCheck_7488_; 
v___x_7437_ = lean_st_ref_get(v_a_7429_);
v___x_7438_ = lean_st_ref_get(v_a_7429_);
v___x_7439_ = lean_st_ref_get(v_a_7429_);
v___x_7440_ = lean_st_ref_get(v_a_7429_);
v_simp_7441_ = lean_ctor_get(v___x_7440_, 1);
lean_inc_ref(v_simp_7441_);
lean_dec(v___x_7440_);
v_issues_7442_ = lean_ctor_get(v___x_7437_, 3);
lean_inc(v_issues_7442_);
lean_dec(v___x_7437_);
v_counters_7443_ = lean_ctor_get(v___x_7438_, 4);
lean_inc_ref(v_counters_7443_);
lean_dec(v___x_7438_);
v_splitDiags_7444_ = lean_ctor_get(v___x_7439_, 5);
lean_inc_ref(v_splitDiags_7444_);
lean_dec(v___x_7439_);
v_usedTheorems_7445_ = lean_ctor_get(v_simp_7441_, 3);
v_diag_7446_ = lean_ctor_get(v_simp_7441_, 5);
v_isSharedCheck_7488_ = !lean_is_exclusive(v_simp_7441_);
if (v_isSharedCheck_7488_ == 0)
{
lean_object* v_unused_7489_; lean_object* v_unused_7490_; lean_object* v_unused_7491_; lean_object* v_unused_7492_; 
v_unused_7489_ = lean_ctor_get(v_simp_7441_, 4);
lean_dec(v_unused_7489_);
v_unused_7490_ = lean_ctor_get(v_simp_7441_, 2);
lean_dec(v_unused_7490_);
v_unused_7491_ = lean_ctor_get(v_simp_7441_, 1);
lean_dec(v_unused_7491_);
v_unused_7492_ = lean_ctor_get(v_simp_7441_, 0);
lean_dec(v_unused_7492_);
v___x_7448_ = v_simp_7441_;
v_isShared_7449_ = v_isSharedCheck_7488_;
goto v_resetjp_7447_;
}
else
{
lean_inc(v_diag_7446_);
lean_inc(v_usedTheorems_7445_);
lean_dec(v_simp_7441_);
v___x_7448_ = lean_box(0);
v_isShared_7449_ = v_isSharedCheck_7488_;
goto v_resetjp_7447_;
}
v_resetjp_7447_:
{
lean_object* v___x_7450_; 
v___x_7450_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_7450_, 0, v_usedTheorems_7445_);
lean_ctor_set(v___x_7450_, 1, v_diag_7446_);
if (lean_obj_tag(v_failure_x3f_7426_) == 0)
{
lean_object* v___x_7457_; 
v___x_7457_ = l_Lean_isDiagnosticsEnabled___redArg(v_a_7434_);
if (lean_obj_tag(v___x_7457_) == 0)
{
lean_object* v_a_7458_; uint8_t v___x_7459_; 
v_a_7458_ = lean_ctor_get(v___x_7457_, 0);
lean_inc(v_a_7458_);
lean_dec_ref(v___x_7457_);
v___x_7459_ = lean_unbox(v_a_7458_);
lean_dec(v_a_7458_);
if (v___x_7459_ == 0)
{
lean_dec_ref(v_a_7434_);
goto v___jp_7451_;
}
else
{
lean_object* v___x_7460_; 
lean_inc_ref(v_a_7434_);
lean_inc_ref(v___x_7450_);
lean_inc_ref(v_counters_7443_);
v___x_7460_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag(v_counters_7443_, v___x_7450_, v_splitDiags_7444_, v_a_7432_, v_a_7433_, v_a_7434_, v_a_7435_);
if (lean_obj_tag(v___x_7460_) == 0)
{
lean_object* v_a_7461_; 
v_a_7461_ = lean_ctor_get(v___x_7460_, 0);
lean_inc(v_a_7461_);
lean_dec_ref(v___x_7460_);
if (lean_obj_tag(v_a_7461_) == 1)
{
lean_object* v_val_7462_; lean_object* v___x_7463_; 
v_val_7462_ = lean_ctor_get(v_a_7461_, 0);
lean_inc(v_val_7462_);
lean_dec_ref(v_a_7461_);
v___x_7463_ = l_Lean_logInfo___at___00Lean_Meta_Grind_mkResult_spec__0(v_val_7462_, v_a_7427_, v_a_7428_, v_a_7429_, v_a_7430_, v_a_7431_, v_a_7432_, v_a_7433_, v_a_7434_, v_a_7435_);
if (lean_obj_tag(v___x_7463_) == 0)
{
lean_dec_ref(v___x_7463_);
goto v___jp_7451_;
}
else
{
lean_object* v_a_7464_; lean_object* v___x_7466_; uint8_t v_isShared_7467_; uint8_t v_isSharedCheck_7471_; 
lean_dec_ref(v___x_7450_);
lean_del_object(v___x_7448_);
lean_dec_ref(v_splitDiags_7444_);
lean_dec_ref(v_counters_7443_);
lean_dec(v_issues_7442_);
v_a_7464_ = lean_ctor_get(v___x_7463_, 0);
v_isSharedCheck_7471_ = !lean_is_exclusive(v___x_7463_);
if (v_isSharedCheck_7471_ == 0)
{
v___x_7466_ = v___x_7463_;
v_isShared_7467_ = v_isSharedCheck_7471_;
goto v_resetjp_7465_;
}
else
{
lean_inc(v_a_7464_);
lean_dec(v___x_7463_);
v___x_7466_ = lean_box(0);
v_isShared_7467_ = v_isSharedCheck_7471_;
goto v_resetjp_7465_;
}
v_resetjp_7465_:
{
lean_object* v___x_7469_; 
if (v_isShared_7467_ == 0)
{
v___x_7469_ = v___x_7466_;
goto v_reusejp_7468_;
}
else
{
lean_object* v_reuseFailAlloc_7470_; 
v_reuseFailAlloc_7470_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7470_, 0, v_a_7464_);
v___x_7469_ = v_reuseFailAlloc_7470_;
goto v_reusejp_7468_;
}
v_reusejp_7468_:
{
return v___x_7469_;
}
}
}
}
else
{
lean_dec(v_a_7461_);
lean_dec_ref(v_a_7434_);
goto v___jp_7451_;
}
}
else
{
lean_object* v_a_7472_; lean_object* v___x_7474_; uint8_t v_isShared_7475_; uint8_t v_isSharedCheck_7479_; 
lean_dec_ref(v___x_7450_);
lean_del_object(v___x_7448_);
lean_dec_ref(v_splitDiags_7444_);
lean_dec_ref(v_counters_7443_);
lean_dec(v_issues_7442_);
lean_dec_ref(v_a_7434_);
v_a_7472_ = lean_ctor_get(v___x_7460_, 0);
v_isSharedCheck_7479_ = !lean_is_exclusive(v___x_7460_);
if (v_isSharedCheck_7479_ == 0)
{
v___x_7474_ = v___x_7460_;
v_isShared_7475_ = v_isSharedCheck_7479_;
goto v_resetjp_7473_;
}
else
{
lean_inc(v_a_7472_);
lean_dec(v___x_7460_);
v___x_7474_ = lean_box(0);
v_isShared_7475_ = v_isSharedCheck_7479_;
goto v_resetjp_7473_;
}
v_resetjp_7473_:
{
lean_object* v___x_7477_; 
if (v_isShared_7475_ == 0)
{
v___x_7477_ = v___x_7474_;
goto v_reusejp_7476_;
}
else
{
lean_object* v_reuseFailAlloc_7478_; 
v_reuseFailAlloc_7478_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7478_, 0, v_a_7472_);
v___x_7477_ = v_reuseFailAlloc_7478_;
goto v_reusejp_7476_;
}
v_reusejp_7476_:
{
return v___x_7477_;
}
}
}
}
}
else
{
lean_object* v_a_7480_; lean_object* v___x_7482_; uint8_t v_isShared_7483_; uint8_t v_isSharedCheck_7487_; 
lean_dec_ref(v___x_7450_);
lean_del_object(v___x_7448_);
lean_dec_ref(v_splitDiags_7444_);
lean_dec_ref(v_counters_7443_);
lean_dec(v_issues_7442_);
lean_dec_ref(v_a_7434_);
v_a_7480_ = lean_ctor_get(v___x_7457_, 0);
v_isSharedCheck_7487_ = !lean_is_exclusive(v___x_7457_);
if (v_isSharedCheck_7487_ == 0)
{
v___x_7482_ = v___x_7457_;
v_isShared_7483_ = v_isSharedCheck_7487_;
goto v_resetjp_7481_;
}
else
{
lean_inc(v_a_7480_);
lean_dec(v___x_7457_);
v___x_7482_ = lean_box(0);
v_isShared_7483_ = v_isSharedCheck_7487_;
goto v_resetjp_7481_;
}
v_resetjp_7481_:
{
lean_object* v___x_7485_; 
if (v_isShared_7483_ == 0)
{
v___x_7485_ = v___x_7482_;
goto v_reusejp_7484_;
}
else
{
lean_object* v_reuseFailAlloc_7486_; 
v_reuseFailAlloc_7486_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7486_, 0, v_a_7480_);
v___x_7485_ = v_reuseFailAlloc_7486_;
goto v_reusejp_7484_;
}
v_reusejp_7484_:
{
return v___x_7485_;
}
}
}
}
else
{
lean_dec_ref(v_a_7434_);
goto v___jp_7451_;
}
v___jp_7451_:
{
lean_object* v_config_7452_; lean_object* v___x_7454_; 
v_config_7452_ = lean_ctor_get(v_params_7425_, 0);
lean_inc_ref(v_config_7452_);
if (v_isShared_7449_ == 0)
{
lean_ctor_set(v___x_7448_, 5, v_splitDiags_7444_);
lean_ctor_set(v___x_7448_, 4, v___x_7450_);
lean_ctor_set(v___x_7448_, 3, v_counters_7443_);
lean_ctor_set(v___x_7448_, 2, v_config_7452_);
lean_ctor_set(v___x_7448_, 1, v_issues_7442_);
lean_ctor_set(v___x_7448_, 0, v_failure_x3f_7426_);
v___x_7454_ = v___x_7448_;
goto v_reusejp_7453_;
}
else
{
lean_object* v_reuseFailAlloc_7456_; 
v_reuseFailAlloc_7456_ = lean_alloc_ctor(0, 6, 0);
lean_ctor_set(v_reuseFailAlloc_7456_, 0, v_failure_x3f_7426_);
lean_ctor_set(v_reuseFailAlloc_7456_, 1, v_issues_7442_);
lean_ctor_set(v_reuseFailAlloc_7456_, 2, v_config_7452_);
lean_ctor_set(v_reuseFailAlloc_7456_, 3, v_counters_7443_);
lean_ctor_set(v_reuseFailAlloc_7456_, 4, v___x_7450_);
lean_ctor_set(v_reuseFailAlloc_7456_, 5, v_splitDiags_7444_);
v___x_7454_ = v_reuseFailAlloc_7456_;
goto v_reusejp_7453_;
}
v_reusejp_7453_:
{
lean_object* v___x_7455_; 
v___x_7455_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_7455_, 0, v___x_7454_);
return v___x_7455_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkResult___boxed(lean_object* v_params_7493_, lean_object* v_failure_x3f_7494_, lean_object* v_a_7495_, lean_object* v_a_7496_, lean_object* v_a_7497_, lean_object* v_a_7498_, lean_object* v_a_7499_, lean_object* v_a_7500_, lean_object* v_a_7501_, lean_object* v_a_7502_, lean_object* v_a_7503_, lean_object* v_a_7504_){
_start:
{
lean_object* v_res_7505_; 
v_res_7505_ = l_Lean_Meta_Grind_mkResult(v_params_7493_, v_failure_x3f_7494_, v_a_7495_, v_a_7496_, v_a_7497_, v_a_7498_, v_a_7499_, v_a_7500_, v_a_7501_, v_a_7502_, v_a_7503_);
lean_dec(v_a_7503_);
lean_dec(v_a_7501_);
lean_dec_ref(v_a_7500_);
lean_dec(v_a_7499_);
lean_dec_ref(v_a_7498_);
lean_dec(v_a_7497_);
lean_dec_ref(v_a_7496_);
lean_dec(v_a_7495_);
lean_dec_ref(v_params_7493_);
return v_res_7505_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_runAtGoal___redArg___lam__0(lean_object* v_a_7506_, lean_object* v_params_7507_, lean_object* v___y_7508_, lean_object* v___y_7509_, lean_object* v___y_7510_, lean_object* v___y_7511_, lean_object* v___y_7512_, lean_object* v___y_7513_, lean_object* v___y_7514_, lean_object* v___y_7515_, lean_object* v___y_7516_){
_start:
{
lean_object* v___x_7518_; lean_object* v___x_7519_; 
v___x_7518_ = lean_st_mk_ref(v_a_7506_);
lean_inc(v___x_7518_);
v___x_7519_ = l_Lean_Meta_Grind_assertExtra(v_params_7507_, v___x_7518_, v___y_7508_, v___y_7509_, v___y_7510_, v___y_7511_, v___y_7512_, v___y_7513_, v___y_7514_, v___y_7515_, v___y_7516_);
if (lean_obj_tag(v___x_7519_) == 0)
{
lean_object* v___x_7521_; uint8_t v_isShared_7522_; uint8_t v_isSharedCheck_7528_; 
v_isSharedCheck_7528_ = !lean_is_exclusive(v___x_7519_);
if (v_isSharedCheck_7528_ == 0)
{
lean_object* v_unused_7529_; 
v_unused_7529_ = lean_ctor_get(v___x_7519_, 0);
lean_dec(v_unused_7529_);
v___x_7521_ = v___x_7519_;
v_isShared_7522_ = v_isSharedCheck_7528_;
goto v_resetjp_7520_;
}
else
{
lean_dec(v___x_7519_);
v___x_7521_ = lean_box(0);
v_isShared_7522_ = v_isSharedCheck_7528_;
goto v_resetjp_7520_;
}
v_resetjp_7520_:
{
lean_object* v___x_7523_; lean_object* v___x_7524_; lean_object* v___x_7526_; 
v___x_7523_ = lean_st_ref_get(v___x_7518_);
v___x_7524_ = lean_st_ref_get(v___x_7518_);
lean_dec(v___x_7518_);
lean_dec(v___x_7524_);
if (v_isShared_7522_ == 0)
{
lean_ctor_set(v___x_7521_, 0, v___x_7523_);
v___x_7526_ = v___x_7521_;
goto v_reusejp_7525_;
}
else
{
lean_object* v_reuseFailAlloc_7527_; 
v_reuseFailAlloc_7527_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7527_, 0, v___x_7523_);
v___x_7526_ = v_reuseFailAlloc_7527_;
goto v_reusejp_7525_;
}
v_reusejp_7525_:
{
return v___x_7526_;
}
}
}
else
{
lean_object* v_a_7530_; lean_object* v___x_7532_; uint8_t v_isShared_7533_; uint8_t v_isSharedCheck_7537_; 
lean_dec(v___x_7518_);
v_a_7530_ = lean_ctor_get(v___x_7519_, 0);
v_isSharedCheck_7537_ = !lean_is_exclusive(v___x_7519_);
if (v_isSharedCheck_7537_ == 0)
{
v___x_7532_ = v___x_7519_;
v_isShared_7533_ = v_isSharedCheck_7537_;
goto v_resetjp_7531_;
}
else
{
lean_inc(v_a_7530_);
lean_dec(v___x_7519_);
v___x_7532_ = lean_box(0);
v_isShared_7533_ = v_isSharedCheck_7537_;
goto v_resetjp_7531_;
}
v_resetjp_7531_:
{
lean_object* v___x_7535_; 
if (v_isShared_7533_ == 0)
{
v___x_7535_ = v___x_7532_;
goto v_reusejp_7534_;
}
else
{
lean_object* v_reuseFailAlloc_7536_; 
v_reuseFailAlloc_7536_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7536_, 0, v_a_7530_);
v___x_7535_ = v_reuseFailAlloc_7536_;
goto v_reusejp_7534_;
}
v_reusejp_7534_:
{
return v___x_7535_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_runAtGoal___redArg___lam__0___boxed(lean_object* v_a_7538_, lean_object* v_params_7539_, lean_object* v___y_7540_, lean_object* v___y_7541_, lean_object* v___y_7542_, lean_object* v___y_7543_, lean_object* v___y_7544_, lean_object* v___y_7545_, lean_object* v___y_7546_, lean_object* v___y_7547_, lean_object* v___y_7548_, lean_object* v___y_7549_){
_start:
{
lean_object* v_res_7550_; 
v_res_7550_ = l_Lean_Meta_Grind_GrindM_runAtGoal___redArg___lam__0(v_a_7538_, v_params_7539_, v___y_7540_, v___y_7541_, v___y_7542_, v___y_7543_, v___y_7544_, v___y_7545_, v___y_7546_, v___y_7547_, v___y_7548_);
return v_res_7550_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_runAtGoal___redArg___lam__1(lean_object* v_mvarId_7551_, lean_object* v_params_7552_, lean_object* v_k_7553_, lean_object* v___y_7554_, lean_object* v___y_7555_, lean_object* v___y_7556_, lean_object* v___y_7557_, lean_object* v___y_7558_, lean_object* v___y_7559_, lean_object* v___y_7560_, lean_object* v___y_7561_, lean_object* v___y_7562_){
_start:
{
lean_object* v___x_7564_; 
v___x_7564_ = l_Lean_Meta_Grind_getConfig___redArg(v___y_7555_);
if (lean_obj_tag(v___x_7564_) == 0)
{
lean_object* v_a_7565_; uint8_t v___y_7567_; uint8_t v_reducible_7656_; 
v_a_7565_ = lean_ctor_get(v___x_7564_, 0);
lean_inc(v_a_7565_);
lean_dec_ref(v___x_7564_);
v_reducible_7656_ = lean_ctor_get_uint8(v_a_7565_, sizeof(void*)*11 + 31);
lean_dec(v_a_7565_);
if (v_reducible_7656_ == 0)
{
uint8_t v___x_7657_; 
v___x_7657_ = 1;
v___y_7567_ = v___x_7657_;
goto v___jp_7566_;
}
else
{
uint8_t v___x_7658_; 
v___x_7658_ = 2;
v___y_7567_ = v___x_7658_;
goto v___jp_7566_;
}
v___jp_7566_:
{
lean_object* v___x_7568_; uint8_t v_foApprox_7569_; uint8_t v_ctxApprox_7570_; uint8_t v_quasiPatternApprox_7571_; uint8_t v_constApprox_7572_; uint8_t v_isDefEqStuckEx_7573_; uint8_t v_unificationHints_7574_; uint8_t v_proofIrrelevance_7575_; uint8_t v_assignSyntheticOpaque_7576_; uint8_t v_offsetCnstrs_7577_; uint8_t v_etaStruct_7578_; uint8_t v_univApprox_7579_; uint8_t v_iota_7580_; uint8_t v_beta_7581_; uint8_t v_proj_7582_; uint8_t v_zeta_7583_; uint8_t v_zetaDelta_7584_; uint8_t v_zetaUnused_7585_; uint8_t v_zetaHave_7586_; lean_object* v___x_7588_; uint8_t v_isShared_7589_; uint8_t v_isSharedCheck_7655_; 
v___x_7568_ = l_Lean_Meta_Context_config(v___y_7559_);
v_foApprox_7569_ = lean_ctor_get_uint8(v___x_7568_, 0);
v_ctxApprox_7570_ = lean_ctor_get_uint8(v___x_7568_, 1);
v_quasiPatternApprox_7571_ = lean_ctor_get_uint8(v___x_7568_, 2);
v_constApprox_7572_ = lean_ctor_get_uint8(v___x_7568_, 3);
v_isDefEqStuckEx_7573_ = lean_ctor_get_uint8(v___x_7568_, 4);
v_unificationHints_7574_ = lean_ctor_get_uint8(v___x_7568_, 5);
v_proofIrrelevance_7575_ = lean_ctor_get_uint8(v___x_7568_, 6);
v_assignSyntheticOpaque_7576_ = lean_ctor_get_uint8(v___x_7568_, 7);
v_offsetCnstrs_7577_ = lean_ctor_get_uint8(v___x_7568_, 8);
v_etaStruct_7578_ = lean_ctor_get_uint8(v___x_7568_, 10);
v_univApprox_7579_ = lean_ctor_get_uint8(v___x_7568_, 11);
v_iota_7580_ = lean_ctor_get_uint8(v___x_7568_, 12);
v_beta_7581_ = lean_ctor_get_uint8(v___x_7568_, 13);
v_proj_7582_ = lean_ctor_get_uint8(v___x_7568_, 14);
v_zeta_7583_ = lean_ctor_get_uint8(v___x_7568_, 15);
v_zetaDelta_7584_ = lean_ctor_get_uint8(v___x_7568_, 16);
v_zetaUnused_7585_ = lean_ctor_get_uint8(v___x_7568_, 17);
v_zetaHave_7586_ = lean_ctor_get_uint8(v___x_7568_, 18);
v_isSharedCheck_7655_ = !lean_is_exclusive(v___x_7568_);
if (v_isSharedCheck_7655_ == 0)
{
v___x_7588_ = v___x_7568_;
v_isShared_7589_ = v_isSharedCheck_7655_;
goto v_resetjp_7587_;
}
else
{
lean_dec(v___x_7568_);
v___x_7588_ = lean_box(0);
v_isShared_7589_ = v_isSharedCheck_7655_;
goto v_resetjp_7587_;
}
v_resetjp_7587_:
{
uint8_t v_trackZetaDelta_7590_; lean_object* v_zetaDeltaSet_7591_; lean_object* v_lctx_7592_; lean_object* v_localInstances_7593_; lean_object* v_defEqCtx_x3f_7594_; lean_object* v_synthPendingDepth_7595_; lean_object* v_canUnfold_x3f_7596_; uint8_t v_univApprox_7597_; uint8_t v_inTypeClassResolution_7598_; uint8_t v_cacheInferType_7599_; lean_object* v_config_7601_; 
v_trackZetaDelta_7590_ = lean_ctor_get_uint8(v___y_7559_, sizeof(void*)*7);
v_zetaDeltaSet_7591_ = lean_ctor_get(v___y_7559_, 1);
lean_inc(v_zetaDeltaSet_7591_);
v_lctx_7592_ = lean_ctor_get(v___y_7559_, 2);
lean_inc_ref(v_lctx_7592_);
v_localInstances_7593_ = lean_ctor_get(v___y_7559_, 3);
lean_inc_ref(v_localInstances_7593_);
v_defEqCtx_x3f_7594_ = lean_ctor_get(v___y_7559_, 4);
lean_inc(v_defEqCtx_x3f_7594_);
v_synthPendingDepth_7595_ = lean_ctor_get(v___y_7559_, 5);
lean_inc(v_synthPendingDepth_7595_);
v_canUnfold_x3f_7596_ = lean_ctor_get(v___y_7559_, 6);
lean_inc(v_canUnfold_x3f_7596_);
v_univApprox_7597_ = lean_ctor_get_uint8(v___y_7559_, sizeof(void*)*7 + 1);
v_inTypeClassResolution_7598_ = lean_ctor_get_uint8(v___y_7559_, sizeof(void*)*7 + 2);
v_cacheInferType_7599_ = lean_ctor_get_uint8(v___y_7559_, sizeof(void*)*7 + 3);
if (v_isShared_7589_ == 0)
{
v_config_7601_ = v___x_7588_;
goto v_reusejp_7600_;
}
else
{
lean_object* v_reuseFailAlloc_7654_; 
v_reuseFailAlloc_7654_ = lean_alloc_ctor(0, 0, 19);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 0, v_foApprox_7569_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 1, v_ctxApprox_7570_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 2, v_quasiPatternApprox_7571_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 3, v_constApprox_7572_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 4, v_isDefEqStuckEx_7573_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 5, v_unificationHints_7574_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 6, v_proofIrrelevance_7575_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 7, v_assignSyntheticOpaque_7576_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 8, v_offsetCnstrs_7577_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 10, v_etaStruct_7578_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 11, v_univApprox_7579_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 12, v_iota_7580_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 13, v_beta_7581_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 14, v_proj_7582_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 15, v_zeta_7583_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 16, v_zetaDelta_7584_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 17, v_zetaUnused_7585_);
lean_ctor_set_uint8(v_reuseFailAlloc_7654_, 18, v_zetaHave_7586_);
v_config_7601_ = v_reuseFailAlloc_7654_;
goto v_reusejp_7600_;
}
v_reusejp_7600_:
{
uint64_t v___x_7602_; lean_object* v___x_7604_; uint8_t v_isShared_7605_; uint8_t v_isSharedCheck_7646_; 
lean_ctor_set_uint8(v_config_7601_, 9, v___y_7567_);
v___x_7602_ = l_Lean_Meta_Context_configKey(v___y_7559_);
v_isSharedCheck_7646_ = !lean_is_exclusive(v___y_7559_);
if (v_isSharedCheck_7646_ == 0)
{
lean_object* v_unused_7647_; lean_object* v_unused_7648_; lean_object* v_unused_7649_; lean_object* v_unused_7650_; lean_object* v_unused_7651_; lean_object* v_unused_7652_; lean_object* v_unused_7653_; 
v_unused_7647_ = lean_ctor_get(v___y_7559_, 6);
lean_dec(v_unused_7647_);
v_unused_7648_ = lean_ctor_get(v___y_7559_, 5);
lean_dec(v_unused_7648_);
v_unused_7649_ = lean_ctor_get(v___y_7559_, 4);
lean_dec(v_unused_7649_);
v_unused_7650_ = lean_ctor_get(v___y_7559_, 3);
lean_dec(v_unused_7650_);
v_unused_7651_ = lean_ctor_get(v___y_7559_, 2);
lean_dec(v_unused_7651_);
v_unused_7652_ = lean_ctor_get(v___y_7559_, 1);
lean_dec(v_unused_7652_);
v_unused_7653_ = lean_ctor_get(v___y_7559_, 0);
lean_dec(v_unused_7653_);
v___x_7604_ = v___y_7559_;
v_isShared_7605_ = v_isSharedCheck_7646_;
goto v_resetjp_7603_;
}
else
{
lean_dec(v___y_7559_);
v___x_7604_ = lean_box(0);
v_isShared_7605_ = v_isSharedCheck_7646_;
goto v_resetjp_7603_;
}
v_resetjp_7603_:
{
uint64_t v___x_7606_; uint64_t v___x_7607_; uint64_t v___x_7608_; uint64_t v___x_7609_; uint64_t v_key_7610_; lean_object* v___x_7611_; lean_object* v___x_7613_; 
v___x_7606_ = 2ULL;
v___x_7607_ = lean_uint64_shift_right(v___x_7602_, v___x_7606_);
v___x_7608_ = lean_uint64_shift_left(v___x_7607_, v___x_7606_);
v___x_7609_ = l_Lean_Meta_TransparencyMode_toUInt64(v___y_7567_);
v_key_7610_ = lean_uint64_lor(v___x_7608_, v___x_7609_);
v___x_7611_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v___x_7611_, 0, v_config_7601_);
lean_ctor_set_uint64(v___x_7611_, sizeof(void*)*1, v_key_7610_);
if (v_isShared_7605_ == 0)
{
lean_ctor_set(v___x_7604_, 0, v___x_7611_);
v___x_7613_ = v___x_7604_;
goto v_reusejp_7612_;
}
else
{
lean_object* v_reuseFailAlloc_7645_; 
v_reuseFailAlloc_7645_ = lean_alloc_ctor(0, 7, 4);
lean_ctor_set(v_reuseFailAlloc_7645_, 0, v___x_7611_);
lean_ctor_set(v_reuseFailAlloc_7645_, 1, v_zetaDeltaSet_7591_);
lean_ctor_set(v_reuseFailAlloc_7645_, 2, v_lctx_7592_);
lean_ctor_set(v_reuseFailAlloc_7645_, 3, v_localInstances_7593_);
lean_ctor_set(v_reuseFailAlloc_7645_, 4, v_defEqCtx_x3f_7594_);
lean_ctor_set(v_reuseFailAlloc_7645_, 5, v_synthPendingDepth_7595_);
lean_ctor_set(v_reuseFailAlloc_7645_, 6, v_canUnfold_x3f_7596_);
lean_ctor_set_uint8(v_reuseFailAlloc_7645_, sizeof(void*)*7, v_trackZetaDelta_7590_);
lean_ctor_set_uint8(v_reuseFailAlloc_7645_, sizeof(void*)*7 + 1, v_univApprox_7597_);
lean_ctor_set_uint8(v_reuseFailAlloc_7645_, sizeof(void*)*7 + 2, v_inTypeClassResolution_7598_);
lean_ctor_set_uint8(v_reuseFailAlloc_7645_, sizeof(void*)*7 + 3, v_cacheInferType_7599_);
v___x_7613_ = v_reuseFailAlloc_7645_;
goto v_reusejp_7612_;
}
v_reusejp_7612_:
{
lean_object* v___x_7614_; 
lean_inc(v___y_7562_);
lean_inc_ref(v___y_7561_);
lean_inc(v___y_7560_);
lean_inc_ref(v___x_7613_);
lean_inc(v___y_7558_);
lean_inc_ref(v___y_7557_);
lean_inc(v___y_7556_);
lean_inc_ref(v___y_7555_);
lean_inc(v___y_7554_);
v___x_7614_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_initCore(v_mvarId_7551_, v___y_7554_, v___y_7555_, v___y_7556_, v___y_7557_, v___y_7558_, v___x_7613_, v___y_7560_, v___y_7561_, v___y_7562_);
if (lean_obj_tag(v___x_7614_) == 0)
{
lean_object* v_a_7615_; lean_object* v_mvarId_7616_; lean_object* v___f_7617_; lean_object* v___x_7618_; 
v_a_7615_ = lean_ctor_get(v___x_7614_, 0);
lean_inc(v_a_7615_);
lean_dec_ref(v___x_7614_);
v_mvarId_7616_ = lean_ctor_get(v_a_7615_, 1);
lean_inc(v_mvarId_7616_);
v___f_7617_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_GrindM_runAtGoal___redArg___lam__0___boxed), 12, 2);
lean_closure_set(v___f_7617_, 0, v_a_7615_);
lean_closure_set(v___f_7617_, 1, v_params_7552_);
lean_inc(v___y_7562_);
lean_inc_ref(v___y_7561_);
lean_inc(v___y_7560_);
lean_inc_ref(v___x_7613_);
lean_inc(v___y_7558_);
lean_inc_ref(v___y_7557_);
lean_inc(v___y_7556_);
lean_inc_ref(v___y_7555_);
lean_inc(v___y_7554_);
v___x_7618_ = l_Lean_MVarId_withContext___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__3___redArg(v_mvarId_7616_, v___f_7617_, v___y_7554_, v___y_7555_, v___y_7556_, v___y_7557_, v___y_7558_, v___x_7613_, v___y_7560_, v___y_7561_, v___y_7562_);
if (lean_obj_tag(v___x_7618_) == 0)
{
lean_object* v_a_7619_; lean_object* v___x_7620_; 
v_a_7619_ = lean_ctor_get(v___x_7618_, 0);
lean_inc(v_a_7619_);
lean_dec_ref(v___x_7618_);
v___x_7620_ = lean_apply_11(v_k_7553_, v_a_7619_, v___y_7554_, v___y_7555_, v___y_7556_, v___y_7557_, v___y_7558_, v___x_7613_, v___y_7560_, v___y_7561_, v___y_7562_, lean_box(0));
if (lean_obj_tag(v___x_7620_) == 0)
{
lean_object* v_a_7621_; lean_object* v___x_7623_; uint8_t v_isShared_7624_; uint8_t v_isSharedCheck_7628_; 
v_a_7621_ = lean_ctor_get(v___x_7620_, 0);
v_isSharedCheck_7628_ = !lean_is_exclusive(v___x_7620_);
if (v_isSharedCheck_7628_ == 0)
{
v___x_7623_ = v___x_7620_;
v_isShared_7624_ = v_isSharedCheck_7628_;
goto v_resetjp_7622_;
}
else
{
lean_inc(v_a_7621_);
lean_dec(v___x_7620_);
v___x_7623_ = lean_box(0);
v_isShared_7624_ = v_isSharedCheck_7628_;
goto v_resetjp_7622_;
}
v_resetjp_7622_:
{
lean_object* v___x_7626_; 
if (v_isShared_7624_ == 0)
{
v___x_7626_ = v___x_7623_;
goto v_reusejp_7625_;
}
else
{
lean_object* v_reuseFailAlloc_7627_; 
v_reuseFailAlloc_7627_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7627_, 0, v_a_7621_);
v___x_7626_ = v_reuseFailAlloc_7627_;
goto v_reusejp_7625_;
}
v_reusejp_7625_:
{
return v___x_7626_;
}
}
}
else
{
return v___x_7620_;
}
}
else
{
lean_object* v_a_7629_; lean_object* v___x_7631_; uint8_t v_isShared_7632_; uint8_t v_isSharedCheck_7636_; 
lean_dec_ref(v___x_7613_);
lean_dec(v___y_7562_);
lean_dec_ref(v___y_7561_);
lean_dec(v___y_7560_);
lean_dec(v___y_7558_);
lean_dec_ref(v___y_7557_);
lean_dec(v___y_7556_);
lean_dec_ref(v___y_7555_);
lean_dec(v___y_7554_);
lean_dec_ref(v_k_7553_);
v_a_7629_ = lean_ctor_get(v___x_7618_, 0);
v_isSharedCheck_7636_ = !lean_is_exclusive(v___x_7618_);
if (v_isSharedCheck_7636_ == 0)
{
v___x_7631_ = v___x_7618_;
v_isShared_7632_ = v_isSharedCheck_7636_;
goto v_resetjp_7630_;
}
else
{
lean_inc(v_a_7629_);
lean_dec(v___x_7618_);
v___x_7631_ = lean_box(0);
v_isShared_7632_ = v_isSharedCheck_7636_;
goto v_resetjp_7630_;
}
v_resetjp_7630_:
{
lean_object* v___x_7634_; 
if (v_isShared_7632_ == 0)
{
v___x_7634_ = v___x_7631_;
goto v_reusejp_7633_;
}
else
{
lean_object* v_reuseFailAlloc_7635_; 
v_reuseFailAlloc_7635_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7635_, 0, v_a_7629_);
v___x_7634_ = v_reuseFailAlloc_7635_;
goto v_reusejp_7633_;
}
v_reusejp_7633_:
{
return v___x_7634_;
}
}
}
}
else
{
lean_object* v_a_7637_; lean_object* v___x_7639_; uint8_t v_isShared_7640_; uint8_t v_isSharedCheck_7644_; 
lean_dec_ref(v___x_7613_);
lean_dec(v___y_7562_);
lean_dec_ref(v___y_7561_);
lean_dec(v___y_7560_);
lean_dec(v___y_7558_);
lean_dec_ref(v___y_7557_);
lean_dec(v___y_7556_);
lean_dec_ref(v___y_7555_);
lean_dec(v___y_7554_);
lean_dec_ref(v_k_7553_);
lean_dec_ref(v_params_7552_);
v_a_7637_ = lean_ctor_get(v___x_7614_, 0);
v_isSharedCheck_7644_ = !lean_is_exclusive(v___x_7614_);
if (v_isSharedCheck_7644_ == 0)
{
v___x_7639_ = v___x_7614_;
v_isShared_7640_ = v_isSharedCheck_7644_;
goto v_resetjp_7638_;
}
else
{
lean_inc(v_a_7637_);
lean_dec(v___x_7614_);
v___x_7639_ = lean_box(0);
v_isShared_7640_ = v_isSharedCheck_7644_;
goto v_resetjp_7638_;
}
v_resetjp_7638_:
{
lean_object* v___x_7642_; 
if (v_isShared_7640_ == 0)
{
v___x_7642_ = v___x_7639_;
goto v_reusejp_7641_;
}
else
{
lean_object* v_reuseFailAlloc_7643_; 
v_reuseFailAlloc_7643_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7643_, 0, v_a_7637_);
v___x_7642_ = v_reuseFailAlloc_7643_;
goto v_reusejp_7641_;
}
v_reusejp_7641_:
{
return v___x_7642_;
}
}
}
}
}
}
}
}
}
else
{
lean_object* v_a_7659_; lean_object* v___x_7661_; uint8_t v_isShared_7662_; uint8_t v_isSharedCheck_7666_; 
lean_dec(v___y_7562_);
lean_dec_ref(v___y_7561_);
lean_dec(v___y_7560_);
lean_dec_ref(v___y_7559_);
lean_dec(v___y_7558_);
lean_dec_ref(v___y_7557_);
lean_dec(v___y_7556_);
lean_dec_ref(v___y_7555_);
lean_dec(v___y_7554_);
lean_dec_ref(v_k_7553_);
lean_dec_ref(v_params_7552_);
lean_dec(v_mvarId_7551_);
v_a_7659_ = lean_ctor_get(v___x_7564_, 0);
v_isSharedCheck_7666_ = !lean_is_exclusive(v___x_7564_);
if (v_isSharedCheck_7666_ == 0)
{
v___x_7661_ = v___x_7564_;
v_isShared_7662_ = v_isSharedCheck_7666_;
goto v_resetjp_7660_;
}
else
{
lean_inc(v_a_7659_);
lean_dec(v___x_7564_);
v___x_7661_ = lean_box(0);
v_isShared_7662_ = v_isSharedCheck_7666_;
goto v_resetjp_7660_;
}
v_resetjp_7660_:
{
lean_object* v___x_7664_; 
if (v_isShared_7662_ == 0)
{
v___x_7664_ = v___x_7661_;
goto v_reusejp_7663_;
}
else
{
lean_object* v_reuseFailAlloc_7665_; 
v_reuseFailAlloc_7665_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7665_, 0, v_a_7659_);
v___x_7664_ = v_reuseFailAlloc_7665_;
goto v_reusejp_7663_;
}
v_reusejp_7663_:
{
return v___x_7664_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_runAtGoal___redArg___lam__1___boxed(lean_object* v_mvarId_7667_, lean_object* v_params_7668_, lean_object* v_k_7669_, lean_object* v___y_7670_, lean_object* v___y_7671_, lean_object* v___y_7672_, lean_object* v___y_7673_, lean_object* v___y_7674_, lean_object* v___y_7675_, lean_object* v___y_7676_, lean_object* v___y_7677_, lean_object* v___y_7678_, lean_object* v___y_7679_){
_start:
{
lean_object* v_res_7680_; 
v_res_7680_ = l_Lean_Meta_Grind_GrindM_runAtGoal___redArg___lam__1(v_mvarId_7667_, v_params_7668_, v_k_7669_, v___y_7670_, v___y_7671_, v___y_7672_, v___y_7673_, v___y_7674_, v___y_7675_, v___y_7676_, v___y_7677_, v___y_7678_);
return v_res_7680_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_runAtGoal___redArg(lean_object* v_mvarId_7681_, lean_object* v_params_7682_, lean_object* v_k_7683_, lean_object* v_evalTactic_x3f_7684_, lean_object* v_a_7685_, lean_object* v_a_7686_, lean_object* v_a_7687_, lean_object* v_a_7688_){
_start:
{
lean_object* v_go_7690_; lean_object* v___x_7691_; 
lean_inc_ref(v_params_7682_);
v_go_7690_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_GrindM_runAtGoal___redArg___lam__1___boxed), 13, 3);
lean_closure_set(v_go_7690_, 0, v_mvarId_7681_);
lean_closure_set(v_go_7690_, 1, v_params_7682_);
lean_closure_set(v_go_7690_, 2, v_k_7683_);
v___x_7691_ = l_Lean_Meta_Grind_GrindM_run___redArg(v_go_7690_, v_params_7682_, v_evalTactic_x3f_7684_, v_a_7685_, v_a_7686_, v_a_7687_, v_a_7688_);
return v___x_7691_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_runAtGoal___redArg___boxed(lean_object* v_mvarId_7692_, lean_object* v_params_7693_, lean_object* v_k_7694_, lean_object* v_evalTactic_x3f_7695_, lean_object* v_a_7696_, lean_object* v_a_7697_, lean_object* v_a_7698_, lean_object* v_a_7699_, lean_object* v_a_7700_){
_start:
{
lean_object* v_res_7701_; 
v_res_7701_ = l_Lean_Meta_Grind_GrindM_runAtGoal___redArg(v_mvarId_7692_, v_params_7693_, v_k_7694_, v_evalTactic_x3f_7695_, v_a_7696_, v_a_7697_, v_a_7698_, v_a_7699_);
return v_res_7701_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_runAtGoal(lean_object* v_00_u03b1_7702_, lean_object* v_mvarId_7703_, lean_object* v_params_7704_, lean_object* v_k_7705_, lean_object* v_evalTactic_x3f_7706_, lean_object* v_a_7707_, lean_object* v_a_7708_, lean_object* v_a_7709_, lean_object* v_a_7710_){
_start:
{
lean_object* v___x_7712_; 
v___x_7712_ = l_Lean_Meta_Grind_GrindM_runAtGoal___redArg(v_mvarId_7703_, v_params_7704_, v_k_7705_, v_evalTactic_x3f_7706_, v_a_7707_, v_a_7708_, v_a_7709_, v_a_7710_);
return v___x_7712_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_GrindM_runAtGoal___boxed(lean_object* v_00_u03b1_7713_, lean_object* v_mvarId_7714_, lean_object* v_params_7715_, lean_object* v_k_7716_, lean_object* v_evalTactic_x3f_7717_, lean_object* v_a_7718_, lean_object* v_a_7719_, lean_object* v_a_7720_, lean_object* v_a_7721_, lean_object* v_a_7722_){
_start:
{
lean_object* v_res_7723_; 
v_res_7723_ = l_Lean_Meta_Grind_GrindM_runAtGoal(v_00_u03b1_7713_, v_mvarId_7714_, v_params_7715_, v_k_7716_, v_evalTactic_x3f_7717_, v_a_7718_, v_a_7719_, v_a_7720_, v_a_7721_);
return v_res_7723_;
}
}
LEAN_EXPORT lean_object* l_Lean_profileitM___at___00Lean_Meta_Grind_main_spec__0___redArg(lean_object* v_category_7724_, lean_object* v_opts_7725_, lean_object* v_act_7726_, lean_object* v_decl_7727_, lean_object* v___y_7728_, lean_object* v___y_7729_, lean_object* v___y_7730_, lean_object* v___y_7731_){
_start:
{
lean_object* v___x_7733_; lean_object* v___x_7734_; 
v___x_7733_ = lean_apply_4(v_act_7726_, v___y_7728_, v___y_7729_, v___y_7730_, v___y_7731_);
v___x_7734_ = l_Lean_profileitIOUnsafe___redArg(v_category_7724_, v_opts_7725_, v___x_7733_, v_decl_7727_);
return v___x_7734_;
}
}
LEAN_EXPORT lean_object* l_Lean_profileitM___at___00Lean_Meta_Grind_main_spec__0___redArg___boxed(lean_object* v_category_7735_, lean_object* v_opts_7736_, lean_object* v_act_7737_, lean_object* v_decl_7738_, lean_object* v___y_7739_, lean_object* v___y_7740_, lean_object* v___y_7741_, lean_object* v___y_7742_, lean_object* v___y_7743_){
_start:
{
lean_object* v_res_7744_; 
v_res_7744_ = l_Lean_profileitM___at___00Lean_Meta_Grind_main_spec__0___redArg(v_category_7735_, v_opts_7736_, v_act_7737_, v_decl_7738_, v___y_7739_, v___y_7740_, v___y_7741_, v___y_7742_);
lean_dec_ref(v_opts_7736_);
lean_dec_ref(v_category_7735_);
return v_res_7744_;
}
}
LEAN_EXPORT lean_object* l_Lean_profileitM___at___00Lean_Meta_Grind_main_spec__0(lean_object* v_00_u03b1_7745_, lean_object* v_category_7746_, lean_object* v_opts_7747_, lean_object* v_act_7748_, lean_object* v_decl_7749_, lean_object* v___y_7750_, lean_object* v___y_7751_, lean_object* v___y_7752_, lean_object* v___y_7753_){
_start:
{
lean_object* v___x_7755_; 
v___x_7755_ = l_Lean_profileitM___at___00Lean_Meta_Grind_main_spec__0___redArg(v_category_7746_, v_opts_7747_, v_act_7748_, v_decl_7749_, v___y_7750_, v___y_7751_, v___y_7752_, v___y_7753_);
return v___x_7755_;
}
}
LEAN_EXPORT lean_object* l_Lean_profileitM___at___00Lean_Meta_Grind_main_spec__0___boxed(lean_object* v_00_u03b1_7756_, lean_object* v_category_7757_, lean_object* v_opts_7758_, lean_object* v_act_7759_, lean_object* v_decl_7760_, lean_object* v___y_7761_, lean_object* v___y_7762_, lean_object* v___y_7763_, lean_object* v___y_7764_, lean_object* v___y_7765_){
_start:
{
lean_object* v_res_7766_; 
v_res_7766_ = l_Lean_profileitM___at___00Lean_Meta_Grind_main_spec__0(v_00_u03b1_7756_, v_category_7757_, v_opts_7758_, v_act_7759_, v_decl_7760_, v___y_7761_, v___y_7762_, v___y_7763_, v___y_7764_);
lean_dec_ref(v_opts_7758_);
lean_dec_ref(v_category_7757_);
return v_res_7766_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_main___lam__0(lean_object* v___y_7767_, lean_object* v_mvarId_7768_, lean_object* v_goal_7769_, lean_object* v___y_7770_, lean_object* v___y_7771_, lean_object* v___y_7772_, lean_object* v___y_7773_, lean_object* v___y_7774_, lean_object* v___y_7775_, lean_object* v___y_7776_, lean_object* v___y_7777_, lean_object* v___y_7778_){
_start:
{
lean_object* v___x_7780_; 
lean_inc(v___y_7778_);
lean_inc_ref(v___y_7777_);
lean_inc(v___y_7776_);
lean_inc_ref(v___y_7775_);
lean_inc(v___y_7774_);
lean_inc_ref(v___y_7773_);
lean_inc(v___y_7772_);
lean_inc_ref(v___y_7771_);
lean_inc(v___y_7770_);
v___x_7780_ = l_Lean_Meta_Grind_solve(v_goal_7769_, v___y_7770_, v___y_7771_, v___y_7772_, v___y_7773_, v___y_7774_, v___y_7775_, v___y_7776_, v___y_7777_, v___y_7778_);
if (lean_obj_tag(v___x_7780_) == 0)
{
lean_object* v_a_7781_; lean_object* v___x_7782_; 
v_a_7781_ = lean_ctor_get(v___x_7780_, 0);
lean_inc(v_a_7781_);
lean_dec_ref(v___x_7780_);
lean_inc_ref(v___y_7777_);
lean_inc(v_a_7781_);
v___x_7782_ = l_Lean_Meta_Grind_mkResult(v___y_7767_, v_a_7781_, v___y_7770_, v___y_7771_, v___y_7772_, v___y_7773_, v___y_7774_, v___y_7775_, v___y_7776_, v___y_7777_, v___y_7778_);
if (lean_obj_tag(v___x_7782_) == 0)
{
if (lean_obj_tag(v_a_7781_) == 0)
{
lean_object* v_a_7783_; lean_object* v_counters_7784_; lean_object* v___x_7785_; 
v_a_7783_ = lean_ctor_get(v___x_7782_, 0);
lean_inc(v_a_7783_);
lean_dec_ref(v___x_7782_);
v_counters_7784_ = lean_ctor_get(v_a_7783_, 3);
lean_inc_ref(v_counters_7784_);
v___x_7785_ = l_Lean_Meta_Grind_checkUnusedActivations(v_mvarId_7768_, v_counters_7784_, v___y_7770_, v___y_7771_, v___y_7772_, v___y_7773_, v___y_7774_, v___y_7775_, v___y_7776_, v___y_7777_, v___y_7778_);
if (lean_obj_tag(v___x_7785_) == 0)
{
lean_object* v___x_7787_; uint8_t v_isShared_7788_; uint8_t v_isSharedCheck_7792_; 
v_isSharedCheck_7792_ = !lean_is_exclusive(v___x_7785_);
if (v_isSharedCheck_7792_ == 0)
{
lean_object* v_unused_7793_; 
v_unused_7793_ = lean_ctor_get(v___x_7785_, 0);
lean_dec(v_unused_7793_);
v___x_7787_ = v___x_7785_;
v_isShared_7788_ = v_isSharedCheck_7792_;
goto v_resetjp_7786_;
}
else
{
lean_dec(v___x_7785_);
v___x_7787_ = lean_box(0);
v_isShared_7788_ = v_isSharedCheck_7792_;
goto v_resetjp_7786_;
}
v_resetjp_7786_:
{
lean_object* v___x_7790_; 
if (v_isShared_7788_ == 0)
{
lean_ctor_set(v___x_7787_, 0, v_a_7783_);
v___x_7790_ = v___x_7787_;
goto v_reusejp_7789_;
}
else
{
lean_object* v_reuseFailAlloc_7791_; 
v_reuseFailAlloc_7791_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7791_, 0, v_a_7783_);
v___x_7790_ = v_reuseFailAlloc_7791_;
goto v_reusejp_7789_;
}
v_reusejp_7789_:
{
return v___x_7790_;
}
}
}
else
{
lean_object* v_a_7794_; lean_object* v___x_7796_; uint8_t v_isShared_7797_; uint8_t v_isSharedCheck_7801_; 
lean_dec(v_a_7783_);
v_a_7794_ = lean_ctor_get(v___x_7785_, 0);
v_isSharedCheck_7801_ = !lean_is_exclusive(v___x_7785_);
if (v_isSharedCheck_7801_ == 0)
{
v___x_7796_ = v___x_7785_;
v_isShared_7797_ = v_isSharedCheck_7801_;
goto v_resetjp_7795_;
}
else
{
lean_inc(v_a_7794_);
lean_dec(v___x_7785_);
v___x_7796_ = lean_box(0);
v_isShared_7797_ = v_isSharedCheck_7801_;
goto v_resetjp_7795_;
}
v_resetjp_7795_:
{
lean_object* v___x_7799_; 
if (v_isShared_7797_ == 0)
{
v___x_7799_ = v___x_7796_;
goto v_reusejp_7798_;
}
else
{
lean_object* v_reuseFailAlloc_7800_; 
v_reuseFailAlloc_7800_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7800_, 0, v_a_7794_);
v___x_7799_ = v_reuseFailAlloc_7800_;
goto v_reusejp_7798_;
}
v_reusejp_7798_:
{
return v___x_7799_;
}
}
}
}
else
{
lean_dec_ref(v_a_7781_);
lean_dec(v___y_7778_);
lean_dec_ref(v___y_7777_);
lean_dec(v___y_7776_);
lean_dec_ref(v___y_7775_);
lean_dec(v___y_7774_);
lean_dec_ref(v___y_7773_);
lean_dec(v___y_7772_);
lean_dec_ref(v___y_7771_);
lean_dec(v___y_7770_);
lean_dec(v_mvarId_7768_);
return v___x_7782_;
}
}
else
{
lean_dec(v_a_7781_);
lean_dec(v___y_7778_);
lean_dec_ref(v___y_7777_);
lean_dec(v___y_7776_);
lean_dec_ref(v___y_7775_);
lean_dec(v___y_7774_);
lean_dec_ref(v___y_7773_);
lean_dec(v___y_7772_);
lean_dec_ref(v___y_7771_);
lean_dec(v___y_7770_);
lean_dec(v_mvarId_7768_);
return v___x_7782_;
}
}
else
{
lean_object* v_a_7802_; lean_object* v___x_7804_; uint8_t v_isShared_7805_; uint8_t v_isSharedCheck_7809_; 
lean_dec(v___y_7778_);
lean_dec_ref(v___y_7777_);
lean_dec(v___y_7776_);
lean_dec_ref(v___y_7775_);
lean_dec(v___y_7774_);
lean_dec_ref(v___y_7773_);
lean_dec(v___y_7772_);
lean_dec_ref(v___y_7771_);
lean_dec(v___y_7770_);
lean_dec(v_mvarId_7768_);
v_a_7802_ = lean_ctor_get(v___x_7780_, 0);
v_isSharedCheck_7809_ = !lean_is_exclusive(v___x_7780_);
if (v_isSharedCheck_7809_ == 0)
{
v___x_7804_ = v___x_7780_;
v_isShared_7805_ = v_isSharedCheck_7809_;
goto v_resetjp_7803_;
}
else
{
lean_inc(v_a_7802_);
lean_dec(v___x_7780_);
v___x_7804_ = lean_box(0);
v_isShared_7805_ = v_isSharedCheck_7809_;
goto v_resetjp_7803_;
}
v_resetjp_7803_:
{
lean_object* v___x_7807_; 
if (v_isShared_7805_ == 0)
{
v___x_7807_ = v___x_7804_;
goto v_reusejp_7806_;
}
else
{
lean_object* v_reuseFailAlloc_7808_; 
v_reuseFailAlloc_7808_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7808_, 0, v_a_7802_);
v___x_7807_ = v_reuseFailAlloc_7808_;
goto v_reusejp_7806_;
}
v_reusejp_7806_:
{
return v___x_7807_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_main___lam__0___boxed(lean_object* v___y_7810_, lean_object* v_mvarId_7811_, lean_object* v_goal_7812_, lean_object* v___y_7813_, lean_object* v___y_7814_, lean_object* v___y_7815_, lean_object* v___y_7816_, lean_object* v___y_7817_, lean_object* v___y_7818_, lean_object* v___y_7819_, lean_object* v___y_7820_, lean_object* v___y_7821_, lean_object* v___y_7822_){
_start:
{
lean_object* v_res_7823_; 
v_res_7823_ = l_Lean_Meta_Grind_main___lam__0(v___y_7810_, v_mvarId_7811_, v_goal_7812_, v___y_7813_, v___y_7814_, v___y_7815_, v___y_7816_, v___y_7817_, v___y_7818_, v___y_7819_, v___y_7820_, v___y_7821_);
lean_dec_ref(v___y_7810_);
return v_res_7823_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_main___lam__1(lean_object* v_mvarId_7824_, lean_object* v_params_7825_, lean_object* v___y_7826_, lean_object* v___y_7827_, lean_object* v___y_7828_, lean_object* v___y_7829_){
_start:
{
lean_object* v___y_7832_; lean_object* v_options_7836_; lean_object* v___x_7837_; lean_object* v___x_7838_; lean_object* v___x_7839_; uint8_t v___x_7840_; 
v_options_7836_ = lean_ctor_get(v___y_7828_, 2);
v___x_7837_ = lean_unsigned_to_nat(0u);
v___x_7838_ = l_Lean_Meta_Grind_grind_unusedLemmaThreshold;
v___x_7839_ = l_Lean_Option_get___at___00Lean_Meta_Grind_checkUnusedActivations_spec__0(v_options_7836_, v___x_7838_);
v___x_7840_ = lean_nat_dec_lt(v___x_7837_, v___x_7839_);
lean_dec(v___x_7839_);
if (v___x_7840_ == 0)
{
v___y_7832_ = v_params_7825_;
goto v___jp_7831_;
}
else
{
lean_object* v_config_7841_; lean_object* v_extensions_7842_; lean_object* v_extra_7843_; lean_object* v_extraInj_7844_; lean_object* v_extraFacts_7845_; lean_object* v_symPrios_7846_; lean_object* v_norm_7847_; lean_object* v_normProcs_7848_; lean_object* v_anchorRefs_x3f_7849_; lean_object* v___x_7851_; uint8_t v_isShared_7852_; uint8_t v_isSharedCheck_7905_; 
v_config_7841_ = lean_ctor_get(v_params_7825_, 0);
v_extensions_7842_ = lean_ctor_get(v_params_7825_, 1);
v_extra_7843_ = lean_ctor_get(v_params_7825_, 2);
v_extraInj_7844_ = lean_ctor_get(v_params_7825_, 3);
v_extraFacts_7845_ = lean_ctor_get(v_params_7825_, 4);
v_symPrios_7846_ = lean_ctor_get(v_params_7825_, 5);
v_norm_7847_ = lean_ctor_get(v_params_7825_, 6);
v_normProcs_7848_ = lean_ctor_get(v_params_7825_, 7);
v_anchorRefs_x3f_7849_ = lean_ctor_get(v_params_7825_, 8);
v_isSharedCheck_7905_ = !lean_is_exclusive(v_params_7825_);
if (v_isSharedCheck_7905_ == 0)
{
v___x_7851_ = v_params_7825_;
v_isShared_7852_ = v_isSharedCheck_7905_;
goto v_resetjp_7850_;
}
else
{
lean_inc(v_anchorRefs_x3f_7849_);
lean_inc(v_normProcs_7848_);
lean_inc(v_norm_7847_);
lean_inc(v_symPrios_7846_);
lean_inc(v_extraFacts_7845_);
lean_inc(v_extraInj_7844_);
lean_inc(v_extra_7843_);
lean_inc(v_extensions_7842_);
lean_inc(v_config_7841_);
lean_dec(v_params_7825_);
v___x_7851_ = lean_box(0);
v_isShared_7852_ = v_isSharedCheck_7905_;
goto v_resetjp_7850_;
}
v_resetjp_7850_:
{
uint8_t v_trace_7853_; uint8_t v_lax_7854_; uint8_t v_suggestions_7855_; uint8_t v_locals_7856_; lean_object* v_splits_7857_; lean_object* v_ematch_7858_; lean_object* v_gen_7859_; lean_object* v_instances_7860_; uint8_t v_matchEqs_7861_; uint8_t v_splitMatch_7862_; uint8_t v_splitIte_7863_; uint8_t v_splitIndPred_7864_; uint8_t v_splitImp_7865_; lean_object* v_canonHeartbeats_7866_; uint8_t v_ext_7867_; uint8_t v_extAll_7868_; uint8_t v_etaStruct_7869_; uint8_t v_funext_7870_; uint8_t v_lookahead_7871_; uint8_t v_verbose_7872_; uint8_t v_clean_7873_; uint8_t v_qlia_7874_; uint8_t v_mbtc_7875_; uint8_t v_zetaDelta_7876_; uint8_t v_zeta_7877_; uint8_t v_ring_7878_; lean_object* v_ringSteps_7879_; uint8_t v_linarith_7880_; uint8_t v_lia_7881_; uint8_t v_ac_7882_; lean_object* v_acSteps_7883_; lean_object* v_exp_7884_; uint8_t v_abstractProof_7885_; uint8_t v_inj_7886_; uint8_t v_order_7887_; lean_object* v_min_7888_; lean_object* v_detailed_7889_; uint8_t v_useSorry_7890_; uint8_t v_revert_7891_; uint8_t v_funCC_7892_; uint8_t v_reducible_7893_; lean_object* v_maxSuggestions_7894_; lean_object* v___x_7896_; uint8_t v_isShared_7897_; uint8_t v_isSharedCheck_7904_; 
v_trace_7853_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11);
v_lax_7854_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 2);
v_suggestions_7855_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 3);
v_locals_7856_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 4);
v_splits_7857_ = lean_ctor_get(v_config_7841_, 0);
v_ematch_7858_ = lean_ctor_get(v_config_7841_, 1);
v_gen_7859_ = lean_ctor_get(v_config_7841_, 2);
v_instances_7860_ = lean_ctor_get(v_config_7841_, 3);
v_matchEqs_7861_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 5);
v_splitMatch_7862_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 6);
v_splitIte_7863_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 7);
v_splitIndPred_7864_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 8);
v_splitImp_7865_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 9);
v_canonHeartbeats_7866_ = lean_ctor_get(v_config_7841_, 4);
v_ext_7867_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 10);
v_extAll_7868_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 11);
v_etaStruct_7869_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 12);
v_funext_7870_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 13);
v_lookahead_7871_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 14);
v_verbose_7872_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 15);
v_clean_7873_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 16);
v_qlia_7874_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 17);
v_mbtc_7875_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 18);
v_zetaDelta_7876_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 19);
v_zeta_7877_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 20);
v_ring_7878_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 21);
v_ringSteps_7879_ = lean_ctor_get(v_config_7841_, 5);
v_linarith_7880_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 22);
v_lia_7881_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 23);
v_ac_7882_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 24);
v_acSteps_7883_ = lean_ctor_get(v_config_7841_, 6);
v_exp_7884_ = lean_ctor_get(v_config_7841_, 7);
v_abstractProof_7885_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 25);
v_inj_7886_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 26);
v_order_7887_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 27);
v_min_7888_ = lean_ctor_get(v_config_7841_, 8);
v_detailed_7889_ = lean_ctor_get(v_config_7841_, 9);
v_useSorry_7890_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 28);
v_revert_7891_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 29);
v_funCC_7892_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 30);
v_reducible_7893_ = lean_ctor_get_uint8(v_config_7841_, sizeof(void*)*11 + 31);
v_maxSuggestions_7894_ = lean_ctor_get(v_config_7841_, 10);
v_isSharedCheck_7904_ = !lean_is_exclusive(v_config_7841_);
if (v_isSharedCheck_7904_ == 0)
{
v___x_7896_ = v_config_7841_;
v_isShared_7897_ = v_isSharedCheck_7904_;
goto v_resetjp_7895_;
}
else
{
lean_inc(v_maxSuggestions_7894_);
lean_inc(v_detailed_7889_);
lean_inc(v_min_7888_);
lean_inc(v_exp_7884_);
lean_inc(v_acSteps_7883_);
lean_inc(v_ringSteps_7879_);
lean_inc(v_canonHeartbeats_7866_);
lean_inc(v_instances_7860_);
lean_inc(v_gen_7859_);
lean_inc(v_ematch_7858_);
lean_inc(v_splits_7857_);
lean_dec(v_config_7841_);
v___x_7896_ = lean_box(0);
v_isShared_7897_ = v_isSharedCheck_7904_;
goto v_resetjp_7895_;
}
v_resetjp_7895_:
{
lean_object* v___x_7899_; 
if (v_isShared_7897_ == 0)
{
v___x_7899_ = v___x_7896_;
goto v_reusejp_7898_;
}
else
{
lean_object* v_reuseFailAlloc_7903_; 
v_reuseFailAlloc_7903_ = lean_alloc_ctor(0, 11, 32);
lean_ctor_set(v_reuseFailAlloc_7903_, 0, v_splits_7857_);
lean_ctor_set(v_reuseFailAlloc_7903_, 1, v_ematch_7858_);
lean_ctor_set(v_reuseFailAlloc_7903_, 2, v_gen_7859_);
lean_ctor_set(v_reuseFailAlloc_7903_, 3, v_instances_7860_);
lean_ctor_set(v_reuseFailAlloc_7903_, 4, v_canonHeartbeats_7866_);
lean_ctor_set(v_reuseFailAlloc_7903_, 5, v_ringSteps_7879_);
lean_ctor_set(v_reuseFailAlloc_7903_, 6, v_acSteps_7883_);
lean_ctor_set(v_reuseFailAlloc_7903_, 7, v_exp_7884_);
lean_ctor_set(v_reuseFailAlloc_7903_, 8, v_min_7888_);
lean_ctor_set(v_reuseFailAlloc_7903_, 9, v_detailed_7889_);
lean_ctor_set(v_reuseFailAlloc_7903_, 10, v_maxSuggestions_7894_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11, v_trace_7853_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 2, v_lax_7854_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 3, v_suggestions_7855_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 4, v_locals_7856_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 5, v_matchEqs_7861_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 6, v_splitMatch_7862_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 7, v_splitIte_7863_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 8, v_splitIndPred_7864_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 9, v_splitImp_7865_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 10, v_ext_7867_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 11, v_extAll_7868_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 12, v_etaStruct_7869_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 13, v_funext_7870_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 14, v_lookahead_7871_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 15, v_verbose_7872_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 16, v_clean_7873_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 17, v_qlia_7874_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 18, v_mbtc_7875_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 19, v_zetaDelta_7876_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 20, v_zeta_7877_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 21, v_ring_7878_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 22, v_linarith_7880_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 23, v_lia_7881_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 24, v_ac_7882_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 25, v_abstractProof_7885_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 26, v_inj_7886_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 27, v_order_7887_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 28, v_useSorry_7890_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 29, v_revert_7891_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 30, v_funCC_7892_);
lean_ctor_set_uint8(v_reuseFailAlloc_7903_, sizeof(void*)*11 + 31, v_reducible_7893_);
v___x_7899_ = v_reuseFailAlloc_7903_;
goto v_reusejp_7898_;
}
v_reusejp_7898_:
{
lean_object* v___x_7901_; 
lean_ctor_set_uint8(v___x_7899_, sizeof(void*)*11 + 1, v___x_7840_);
if (v_isShared_7852_ == 0)
{
lean_ctor_set(v___x_7851_, 0, v___x_7899_);
v___x_7901_ = v___x_7851_;
goto v_reusejp_7900_;
}
else
{
lean_object* v_reuseFailAlloc_7902_; 
v_reuseFailAlloc_7902_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_7902_, 0, v___x_7899_);
lean_ctor_set(v_reuseFailAlloc_7902_, 1, v_extensions_7842_);
lean_ctor_set(v_reuseFailAlloc_7902_, 2, v_extra_7843_);
lean_ctor_set(v_reuseFailAlloc_7902_, 3, v_extraInj_7844_);
lean_ctor_set(v_reuseFailAlloc_7902_, 4, v_extraFacts_7845_);
lean_ctor_set(v_reuseFailAlloc_7902_, 5, v_symPrios_7846_);
lean_ctor_set(v_reuseFailAlloc_7902_, 6, v_norm_7847_);
lean_ctor_set(v_reuseFailAlloc_7902_, 7, v_normProcs_7848_);
lean_ctor_set(v_reuseFailAlloc_7902_, 8, v_anchorRefs_x3f_7849_);
v___x_7901_ = v_reuseFailAlloc_7902_;
goto v_reusejp_7900_;
}
v_reusejp_7900_:
{
v___y_7832_ = v___x_7901_;
goto v___jp_7831_;
}
}
}
}
}
v___jp_7831_:
{
lean_object* v___f_7833_; lean_object* v___x_7834_; lean_object* v___x_7835_; 
lean_inc(v_mvarId_7824_);
lean_inc_ref(v___y_7832_);
v___f_7833_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_main___lam__0___boxed), 13, 2);
lean_closure_set(v___f_7833_, 0, v___y_7832_);
lean_closure_set(v___f_7833_, 1, v_mvarId_7824_);
v___x_7834_ = lean_box(0);
v___x_7835_ = l_Lean_Meta_Grind_GrindM_runAtGoal___redArg(v_mvarId_7824_, v___y_7832_, v___f_7833_, v___x_7834_, v___y_7826_, v___y_7827_, v___y_7828_, v___y_7829_);
return v___x_7835_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_main___lam__1___boxed(lean_object* v_mvarId_7906_, lean_object* v_params_7907_, lean_object* v___y_7908_, lean_object* v___y_7909_, lean_object* v___y_7910_, lean_object* v___y_7911_, lean_object* v___y_7912_){
_start:
{
lean_object* v_res_7913_; 
v_res_7913_ = l_Lean_Meta_Grind_main___lam__1(v_mvarId_7906_, v_params_7907_, v___y_7908_, v___y_7909_, v___y_7910_, v___y_7911_);
return v_res_7913_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_main(lean_object* v_mvarId_7914_, lean_object* v_params_7915_, lean_object* v_a_7916_, lean_object* v_a_7917_, lean_object* v_a_7918_, lean_object* v_a_7919_){
_start:
{
lean_object* v_options_7921_; lean_object* v___f_7922_; lean_object* v___x_7923_; lean_object* v___x_7924_; lean_object* v___x_7925_; 
v_options_7921_ = lean_ctor_get(v_a_7918_, 2);
lean_inc_ref(v_options_7921_);
v___f_7922_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_main___lam__1___boxed), 7, 2);
lean_closure_set(v___f_7922_, 0, v_mvarId_7914_);
lean_closure_set(v___f_7922_, 1, v_params_7915_);
v___x_7923_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__0));
v___x_7924_ = lean_box(0);
v___x_7925_ = l_Lean_profileitM___at___00Lean_Meta_Grind_main_spec__0___redArg(v___x_7923_, v_options_7921_, v___f_7922_, v___x_7924_, v_a_7916_, v_a_7917_, v_a_7918_, v_a_7919_);
lean_dec_ref(v_options_7921_);
return v___x_7925_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_main___boxed(lean_object* v_mvarId_7926_, lean_object* v_params_7927_, lean_object* v_a_7928_, lean_object* v_a_7929_, lean_object* v_a_7930_, lean_object* v_a_7931_, lean_object* v_a_7932_){
_start:
{
lean_object* v_res_7933_; 
v_res_7933_ = l_Lean_Meta_Grind_main(v_mvarId_7926_, v_params_7927_, v_a_7928_, v_a_7929_, v_a_7930_, v_a_7931_);
return v_res_7933_;
}
}
LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__0___redArg(lean_object* v_mvarId_7934_, lean_object* v___y_7935_){
_start:
{
lean_object* v___x_7937_; lean_object* v_mctx_7938_; lean_object* v___x_7939_; lean_object* v___x_7940_; 
v___x_7937_ = lean_st_ref_get(v___y_7935_);
v_mctx_7938_ = lean_ctor_get(v___x_7937_, 0);
lean_inc_ref(v_mctx_7938_);
lean_dec(v___x_7937_);
v___x_7939_ = l_Lean_MetavarContext_getDelayedMVarAssignmentCore_x3f(v_mctx_7938_, v_mvarId_7934_);
v___x_7940_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_7940_, 0, v___x_7939_);
return v___x_7940_;
}
}
LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__0___redArg___boxed(lean_object* v_mvarId_7941_, lean_object* v___y_7942_, lean_object* v___y_7943_){
_start:
{
lean_object* v_res_7944_; 
v_res_7944_ = l_Lean_getDelayedMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__0___redArg(v_mvarId_7941_, v___y_7942_);
lean_dec(v___y_7942_);
lean_dec(v_mvarId_7941_);
return v_res_7944_;
}
}
LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__0(lean_object* v_mvarId_7945_, lean_object* v___y_7946_, lean_object* v___y_7947_, lean_object* v___y_7948_, lean_object* v___y_7949_){
_start:
{
lean_object* v___x_7951_; 
v___x_7951_ = l_Lean_getDelayedMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__0___redArg(v_mvarId_7945_, v___y_7947_);
return v___x_7951_;
}
}
LEAN_EXPORT lean_object* l_Lean_getDelayedMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__0___boxed(lean_object* v_mvarId_7952_, lean_object* v___y_7953_, lean_object* v___y_7954_, lean_object* v___y_7955_, lean_object* v___y_7956_, lean_object* v___y_7957_){
_start:
{
lean_object* v_res_7958_; 
v_res_7958_ = l_Lean_getDelayedMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__0(v_mvarId_7952_, v___y_7953_, v___y_7954_, v___y_7955_, v___y_7956_);
lean_dec(v___y_7956_);
lean_dec_ref(v___y_7955_);
lean_dec(v___y_7954_);
lean_dec_ref(v___y_7953_);
lean_dec(v_mvarId_7952_);
return v_res_7958_;
}
}
LEAN_EXPORT lean_object* l_Lean_getExprMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__1___redArg(lean_object* v_mvarId_7959_, lean_object* v___y_7960_){
_start:
{
lean_object* v___x_7962_; lean_object* v_mctx_7963_; lean_object* v___x_7964_; lean_object* v___x_7965_; 
v___x_7962_ = lean_st_ref_get(v___y_7960_);
v_mctx_7963_ = lean_ctor_get(v___x_7962_, 0);
lean_inc_ref(v_mctx_7963_);
lean_dec(v___x_7962_);
v___x_7964_ = l_Lean_MetavarContext_getExprAssignmentCore_x3f(v_mctx_7963_, v_mvarId_7959_);
v___x_7965_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_7965_, 0, v___x_7964_);
return v___x_7965_;
}
}
LEAN_EXPORT lean_object* l_Lean_getExprMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__1___redArg___boxed(lean_object* v_mvarId_7966_, lean_object* v___y_7967_, lean_object* v___y_7968_){
_start:
{
lean_object* v_res_7969_; 
v_res_7969_ = l_Lean_getExprMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__1___redArg(v_mvarId_7966_, v___y_7967_);
lean_dec(v___y_7967_);
lean_dec(v_mvarId_7966_);
return v_res_7969_;
}
}
LEAN_EXPORT lean_object* l_Lean_getExprMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__1(lean_object* v_mvarId_7970_, lean_object* v___y_7971_, lean_object* v___y_7972_, lean_object* v___y_7973_, lean_object* v___y_7974_){
_start:
{
lean_object* v___x_7976_; 
v___x_7976_ = l_Lean_getExprMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__1___redArg(v_mvarId_7970_, v___y_7972_);
return v___x_7976_;
}
}
LEAN_EXPORT lean_object* l_Lean_getExprMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__1___boxed(lean_object* v_mvarId_7977_, lean_object* v___y_7978_, lean_object* v___y_7979_, lean_object* v___y_7980_, lean_object* v___y_7981_, lean_object* v___y_7982_){
_start:
{
lean_object* v_res_7983_; 
v_res_7983_ = l_Lean_getExprMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__1(v_mvarId_7977_, v___y_7978_, v___y_7979_, v___y_7980_, v___y_7981_);
lean_dec(v___y_7981_);
lean_dec_ref(v___y_7980_);
lean_dec(v___y_7979_);
lean_dec_ref(v___y_7978_);
lean_dec(v_mvarId_7977_);
return v_res_7983_;
}
}
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2___redArg(lean_object* v_e_7984_, lean_object* v___y_7985_){
_start:
{
uint8_t v___x_7987_; 
v___x_7987_ = l_Lean_Expr_hasMVar(v_e_7984_);
if (v___x_7987_ == 0)
{
lean_object* v___x_7988_; 
v___x_7988_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_7988_, 0, v_e_7984_);
return v___x_7988_;
}
else
{
lean_object* v___x_7989_; lean_object* v_mctx_7990_; lean_object* v___x_7991_; lean_object* v_fst_7992_; lean_object* v_snd_7993_; lean_object* v___x_7994_; lean_object* v_cache_7995_; lean_object* v_zetaDeltaFVarIds_7996_; lean_object* v_postponed_7997_; lean_object* v_diag_7998_; lean_object* v___x_8000_; uint8_t v_isShared_8001_; uint8_t v_isSharedCheck_8007_; 
v___x_7989_ = lean_st_ref_get(v___y_7985_);
v_mctx_7990_ = lean_ctor_get(v___x_7989_, 0);
lean_inc_ref(v_mctx_7990_);
lean_dec(v___x_7989_);
v___x_7991_ = l_Lean_instantiateMVarsCore(v_mctx_7990_, v_e_7984_);
v_fst_7992_ = lean_ctor_get(v___x_7991_, 0);
lean_inc(v_fst_7992_);
v_snd_7993_ = lean_ctor_get(v___x_7991_, 1);
lean_inc(v_snd_7993_);
lean_dec_ref(v___x_7991_);
v___x_7994_ = lean_st_ref_take(v___y_7985_);
v_cache_7995_ = lean_ctor_get(v___x_7994_, 1);
v_zetaDeltaFVarIds_7996_ = lean_ctor_get(v___x_7994_, 2);
v_postponed_7997_ = lean_ctor_get(v___x_7994_, 3);
v_diag_7998_ = lean_ctor_get(v___x_7994_, 4);
v_isSharedCheck_8007_ = !lean_is_exclusive(v___x_7994_);
if (v_isSharedCheck_8007_ == 0)
{
lean_object* v_unused_8008_; 
v_unused_8008_ = lean_ctor_get(v___x_7994_, 0);
lean_dec(v_unused_8008_);
v___x_8000_ = v___x_7994_;
v_isShared_8001_ = v_isSharedCheck_8007_;
goto v_resetjp_7999_;
}
else
{
lean_inc(v_diag_7998_);
lean_inc(v_postponed_7997_);
lean_inc(v_zetaDeltaFVarIds_7996_);
lean_inc(v_cache_7995_);
lean_dec(v___x_7994_);
v___x_8000_ = lean_box(0);
v_isShared_8001_ = v_isSharedCheck_8007_;
goto v_resetjp_7999_;
}
v_resetjp_7999_:
{
lean_object* v___x_8003_; 
if (v_isShared_8001_ == 0)
{
lean_ctor_set(v___x_8000_, 0, v_snd_7993_);
v___x_8003_ = v___x_8000_;
goto v_reusejp_8002_;
}
else
{
lean_object* v_reuseFailAlloc_8006_; 
v_reuseFailAlloc_8006_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_8006_, 0, v_snd_7993_);
lean_ctor_set(v_reuseFailAlloc_8006_, 1, v_cache_7995_);
lean_ctor_set(v_reuseFailAlloc_8006_, 2, v_zetaDeltaFVarIds_7996_);
lean_ctor_set(v_reuseFailAlloc_8006_, 3, v_postponed_7997_);
lean_ctor_set(v_reuseFailAlloc_8006_, 4, v_diag_7998_);
v___x_8003_ = v_reuseFailAlloc_8006_;
goto v_reusejp_8002_;
}
v_reusejp_8002_:
{
lean_object* v___x_8004_; lean_object* v___x_8005_; 
v___x_8004_ = lean_st_ref_set(v___y_7985_, v___x_8003_);
v___x_8005_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_8005_, 0, v_fst_7992_);
return v___x_8005_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2___redArg___boxed(lean_object* v_e_8009_, lean_object* v___y_8010_, lean_object* v___y_8011_){
_start:
{
lean_object* v_res_8012_; 
v_res_8012_ = l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2___redArg(v_e_8009_, v___y_8010_);
lean_dec(v___y_8010_);
return v_res_8012_;
}
}
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2(lean_object* v_e_8013_, lean_object* v___y_8014_, lean_object* v___y_8015_, lean_object* v___y_8016_, lean_object* v___y_8017_){
_start:
{
lean_object* v___x_8019_; 
v___x_8019_ = l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2___redArg(v_e_8013_, v___y_8015_);
return v___x_8019_;
}
}
LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2___boxed(lean_object* v_e_8020_, lean_object* v___y_8021_, lean_object* v___y_8022_, lean_object* v___y_8023_, lean_object* v___y_8024_, lean_object* v___y_8025_){
_start:
{
lean_object* v_res_8026_; 
v_res_8026_ = l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2(v_e_8020_, v___y_8021_, v___y_8022_, v___y_8023_, v___y_8024_);
lean_dec(v___y_8024_);
lean_dec_ref(v___y_8023_);
lean_dec(v___y_8022_);
lean_dec_ref(v___y_8021_);
return v_res_8026_;
}
}
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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__6_spec__7___redArg(lean_object* v_x_8027_, lean_object* v_x_8028_, lean_object* v_x_8029_, lean_object* v_x_8030_){
_start:
{
lean_object* v_ks_8031_; lean_object* v_vs_8032_; lean_object* v___x_8034_; uint8_t v_isShared_8035_; uint8_t v_isSharedCheck_8056_; 
v_ks_8031_ = lean_ctor_get(v_x_8027_, 0);
v_vs_8032_ = lean_ctor_get(v_x_8027_, 1);
v_isSharedCheck_8056_ = !lean_is_exclusive(v_x_8027_);
if (v_isSharedCheck_8056_ == 0)
{
v___x_8034_ = v_x_8027_;
v_isShared_8035_ = v_isSharedCheck_8056_;
goto v_resetjp_8033_;
}
else
{
lean_inc(v_vs_8032_);
lean_inc(v_ks_8031_);
lean_dec(v_x_8027_);
v___x_8034_ = lean_box(0);
v_isShared_8035_ = v_isSharedCheck_8056_;
goto v_resetjp_8033_;
}
v_resetjp_8033_:
{
lean_object* v___x_8036_; uint8_t v___x_8037_; 
v___x_8036_ = lean_array_get_size(v_ks_8031_);
v___x_8037_ = lean_nat_dec_lt(v_x_8028_, v___x_8036_);
if (v___x_8037_ == 0)
{
lean_object* v___x_8038_; lean_object* v___x_8039_; lean_object* v___x_8041_; 
lean_dec(v_x_8028_);
v___x_8038_ = lean_array_push(v_ks_8031_, v_x_8029_);
v___x_8039_ = lean_array_push(v_vs_8032_, v_x_8030_);
if (v_isShared_8035_ == 0)
{
lean_ctor_set(v___x_8034_, 1, v___x_8039_);
lean_ctor_set(v___x_8034_, 0, v___x_8038_);
v___x_8041_ = v___x_8034_;
goto v_reusejp_8040_;
}
else
{
lean_object* v_reuseFailAlloc_8042_; 
v_reuseFailAlloc_8042_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_8042_, 0, v___x_8038_);
lean_ctor_set(v_reuseFailAlloc_8042_, 1, v___x_8039_);
v___x_8041_ = v_reuseFailAlloc_8042_;
goto v_reusejp_8040_;
}
v_reusejp_8040_:
{
return v___x_8041_;
}
}
else
{
lean_object* v_k_x27_8043_; uint8_t v___x_8044_; 
v_k_x27_8043_ = lean_array_fget_borrowed(v_ks_8031_, v_x_8028_);
v___x_8044_ = l_Lean_instBEqMVarId_beq(v_x_8029_, v_k_x27_8043_);
if (v___x_8044_ == 0)
{
lean_object* v___x_8046_; 
if (v_isShared_8035_ == 0)
{
v___x_8046_ = v___x_8034_;
goto v_reusejp_8045_;
}
else
{
lean_object* v_reuseFailAlloc_8050_; 
v_reuseFailAlloc_8050_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_8050_, 0, v_ks_8031_);
lean_ctor_set(v_reuseFailAlloc_8050_, 1, v_vs_8032_);
v___x_8046_ = v_reuseFailAlloc_8050_;
goto v_reusejp_8045_;
}
v_reusejp_8045_:
{
lean_object* v___x_8047_; lean_object* v___x_8048_; 
v___x_8047_ = lean_unsigned_to_nat(1u);
v___x_8048_ = lean_nat_add(v_x_8028_, v___x_8047_);
lean_dec(v_x_8028_);
v_x_8027_ = v___x_8046_;
v_x_8028_ = v___x_8048_;
goto _start;
}
}
else
{
lean_object* v___x_8051_; lean_object* v___x_8052_; lean_object* v___x_8054_; 
v___x_8051_ = lean_array_fset(v_ks_8031_, v_x_8028_, v_x_8029_);
v___x_8052_ = lean_array_fset(v_vs_8032_, v_x_8028_, v_x_8030_);
lean_dec(v_x_8028_);
if (v_isShared_8035_ == 0)
{
lean_ctor_set(v___x_8034_, 1, v___x_8052_);
lean_ctor_set(v___x_8034_, 0, v___x_8051_);
v___x_8054_ = v___x_8034_;
goto v_reusejp_8053_;
}
else
{
lean_object* v_reuseFailAlloc_8055_; 
v_reuseFailAlloc_8055_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_8055_, 0, v___x_8051_);
lean_ctor_set(v_reuseFailAlloc_8055_, 1, v___x_8052_);
v___x_8054_ = v_reuseFailAlloc_8055_;
goto v_reusejp_8053_;
}
v_reusejp_8053_:
{
return v___x_8054_;
}
}
}
}
}
}
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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__6___redArg(lean_object* v_n_8057_, lean_object* v_k_8058_, lean_object* v_v_8059_){
_start:
{
lean_object* v___x_8060_; lean_object* v___x_8061_; 
v___x_8060_ = lean_unsigned_to_nat(0u);
v___x_8061_ = 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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__6_spec__7___redArg(v_n_8057_, v___x_8060_, v_k_8058_, v_v_8059_);
return v___x_8061_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4___redArg(lean_object* v_x_8062_, size_t v_x_8063_, size_t v_x_8064_, lean_object* v_x_8065_, lean_object* v_x_8066_){
_start:
{
if (lean_obj_tag(v_x_8062_) == 0)
{
lean_object* v_es_8067_; size_t v___x_8068_; size_t v___x_8069_; size_t v___x_8070_; size_t v___x_8071_; lean_object* v_j_8072_; lean_object* v___x_8073_; uint8_t v___x_8074_; 
v_es_8067_ = lean_ctor_get(v_x_8062_, 0);
v___x_8068_ = ((size_t)5ULL);
v___x_8069_ = ((size_t)1ULL);
v___x_8070_ = lean_usize_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__1, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__1_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__1);
v___x_8071_ = lean_usize_land(v_x_8063_, v___x_8070_);
v_j_8072_ = lean_usize_to_nat(v___x_8071_);
v___x_8073_ = lean_array_get_size(v_es_8067_);
v___x_8074_ = lean_nat_dec_lt(v_j_8072_, v___x_8073_);
if (v___x_8074_ == 0)
{
lean_dec(v_j_8072_);
lean_dec(v_x_8066_);
lean_dec(v_x_8065_);
return v_x_8062_;
}
else
{
lean_object* v___x_8076_; uint8_t v_isShared_8077_; uint8_t v_isSharedCheck_8111_; 
lean_inc_ref(v_es_8067_);
v_isSharedCheck_8111_ = !lean_is_exclusive(v_x_8062_);
if (v_isSharedCheck_8111_ == 0)
{
lean_object* v_unused_8112_; 
v_unused_8112_ = lean_ctor_get(v_x_8062_, 0);
lean_dec(v_unused_8112_);
v___x_8076_ = v_x_8062_;
v_isShared_8077_ = v_isSharedCheck_8111_;
goto v_resetjp_8075_;
}
else
{
lean_dec(v_x_8062_);
v___x_8076_ = lean_box(0);
v_isShared_8077_ = v_isSharedCheck_8111_;
goto v_resetjp_8075_;
}
v_resetjp_8075_:
{
lean_object* v_v_8078_; lean_object* v___x_8079_; lean_object* v_xs_x27_8080_; lean_object* v___y_8082_; 
v_v_8078_ = lean_array_fget(v_es_8067_, v_j_8072_);
v___x_8079_ = lean_box(0);
v_xs_x27_8080_ = lean_array_fset(v_es_8067_, v_j_8072_, v___x_8079_);
switch(lean_obj_tag(v_v_8078_))
{
case 0:
{
lean_object* v_key_8087_; lean_object* v_val_8088_; lean_object* v___x_8090_; uint8_t v_isShared_8091_; uint8_t v_isSharedCheck_8098_; 
v_key_8087_ = lean_ctor_get(v_v_8078_, 0);
v_val_8088_ = lean_ctor_get(v_v_8078_, 1);
v_isSharedCheck_8098_ = !lean_is_exclusive(v_v_8078_);
if (v_isSharedCheck_8098_ == 0)
{
v___x_8090_ = v_v_8078_;
v_isShared_8091_ = v_isSharedCheck_8098_;
goto v_resetjp_8089_;
}
else
{
lean_inc(v_val_8088_);
lean_inc(v_key_8087_);
lean_dec(v_v_8078_);
v___x_8090_ = lean_box(0);
v_isShared_8091_ = v_isSharedCheck_8098_;
goto v_resetjp_8089_;
}
v_resetjp_8089_:
{
uint8_t v___x_8092_; 
v___x_8092_ = l_Lean_instBEqMVarId_beq(v_x_8065_, v_key_8087_);
if (v___x_8092_ == 0)
{
lean_object* v___x_8093_; lean_object* v___x_8094_; 
lean_del_object(v___x_8090_);
v___x_8093_ = l_Lean_PersistentHashMap_mkCollisionNode___redArg(v_key_8087_, v_val_8088_, v_x_8065_, v_x_8066_);
v___x_8094_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_8094_, 0, v___x_8093_);
v___y_8082_ = v___x_8094_;
goto v___jp_8081_;
}
else
{
lean_object* v___x_8096_; 
lean_dec(v_val_8088_);
lean_dec(v_key_8087_);
if (v_isShared_8091_ == 0)
{
lean_ctor_set(v___x_8090_, 1, v_x_8066_);
lean_ctor_set(v___x_8090_, 0, v_x_8065_);
v___x_8096_ = v___x_8090_;
goto v_reusejp_8095_;
}
else
{
lean_object* v_reuseFailAlloc_8097_; 
v_reuseFailAlloc_8097_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_8097_, 0, v_x_8065_);
lean_ctor_set(v_reuseFailAlloc_8097_, 1, v_x_8066_);
v___x_8096_ = v_reuseFailAlloc_8097_;
goto v_reusejp_8095_;
}
v_reusejp_8095_:
{
v___y_8082_ = v___x_8096_;
goto v___jp_8081_;
}
}
}
}
case 1:
{
lean_object* v_node_8099_; lean_object* v___x_8101_; uint8_t v_isShared_8102_; uint8_t v_isSharedCheck_8109_; 
v_node_8099_ = lean_ctor_get(v_v_8078_, 0);
v_isSharedCheck_8109_ = !lean_is_exclusive(v_v_8078_);
if (v_isSharedCheck_8109_ == 0)
{
v___x_8101_ = v_v_8078_;
v_isShared_8102_ = v_isSharedCheck_8109_;
goto v_resetjp_8100_;
}
else
{
lean_inc(v_node_8099_);
lean_dec(v_v_8078_);
v___x_8101_ = lean_box(0);
v_isShared_8102_ = v_isSharedCheck_8109_;
goto v_resetjp_8100_;
}
v_resetjp_8100_:
{
size_t v___x_8103_; size_t v___x_8104_; lean_object* v___x_8105_; lean_object* v___x_8107_; 
v___x_8103_ = lean_usize_shift_right(v_x_8063_, v___x_8068_);
v___x_8104_ = lean_usize_add(v_x_8064_, v___x_8069_);
v___x_8105_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4___redArg(v_node_8099_, v___x_8103_, v___x_8104_, v_x_8065_, v_x_8066_);
if (v_isShared_8102_ == 0)
{
lean_ctor_set(v___x_8101_, 0, v___x_8105_);
v___x_8107_ = v___x_8101_;
goto v_reusejp_8106_;
}
else
{
lean_object* v_reuseFailAlloc_8108_; 
v_reuseFailAlloc_8108_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8108_, 0, v___x_8105_);
v___x_8107_ = v_reuseFailAlloc_8108_;
goto v_reusejp_8106_;
}
v_reusejp_8106_:
{
v___y_8082_ = v___x_8107_;
goto v___jp_8081_;
}
}
}
default: 
{
lean_object* v___x_8110_; 
v___x_8110_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_8110_, 0, v_x_8065_);
lean_ctor_set(v___x_8110_, 1, v_x_8066_);
v___y_8082_ = v___x_8110_;
goto v___jp_8081_;
}
}
v___jp_8081_:
{
lean_object* v___x_8083_; lean_object* v___x_8085_; 
v___x_8083_ = lean_array_fset(v_xs_x27_8080_, v_j_8072_, v___y_8082_);
lean_dec(v_j_8072_);
if (v_isShared_8077_ == 0)
{
lean_ctor_set(v___x_8076_, 0, v___x_8083_);
v___x_8085_ = v___x_8076_;
goto v_reusejp_8084_;
}
else
{
lean_object* v_reuseFailAlloc_8086_; 
v_reuseFailAlloc_8086_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8086_, 0, v___x_8083_);
v___x_8085_ = v_reuseFailAlloc_8086_;
goto v_reusejp_8084_;
}
v_reusejp_8084_:
{
return v___x_8085_;
}
}
}
}
}
else
{
lean_object* v_ks_8113_; lean_object* v_vs_8114_; lean_object* v___x_8116_; uint8_t v_isShared_8117_; uint8_t v_isSharedCheck_8134_; 
v_ks_8113_ = lean_ctor_get(v_x_8062_, 0);
v_vs_8114_ = lean_ctor_get(v_x_8062_, 1);
v_isSharedCheck_8134_ = !lean_is_exclusive(v_x_8062_);
if (v_isSharedCheck_8134_ == 0)
{
v___x_8116_ = v_x_8062_;
v_isShared_8117_ = v_isSharedCheck_8134_;
goto v_resetjp_8115_;
}
else
{
lean_inc(v_vs_8114_);
lean_inc(v_ks_8113_);
lean_dec(v_x_8062_);
v___x_8116_ = lean_box(0);
v_isShared_8117_ = v_isSharedCheck_8134_;
goto v_resetjp_8115_;
}
v_resetjp_8115_:
{
lean_object* v___x_8119_; 
if (v_isShared_8117_ == 0)
{
v___x_8119_ = v___x_8116_;
goto v_reusejp_8118_;
}
else
{
lean_object* v_reuseFailAlloc_8133_; 
v_reuseFailAlloc_8133_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_8133_, 0, v_ks_8113_);
lean_ctor_set(v_reuseFailAlloc_8133_, 1, v_vs_8114_);
v___x_8119_ = v_reuseFailAlloc_8133_;
goto v_reusejp_8118_;
}
v_reusejp_8118_:
{
lean_object* v_newNode_8120_; uint8_t v___y_8122_; size_t v___x_8128_; uint8_t v___x_8129_; 
v_newNode_8120_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__6___redArg(v___x_8119_, v_x_8065_, v_x_8066_);
v___x_8128_ = ((size_t)7ULL);
v___x_8129_ = lean_usize_dec_le(v___x_8128_, v_x_8064_);
if (v___x_8129_ == 0)
{
lean_object* v___x_8130_; lean_object* v___x_8131_; uint8_t v___x_8132_; 
v___x_8130_ = l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(v_newNode_8120_);
v___x_8131_ = lean_unsigned_to_nat(4u);
v___x_8132_ = lean_nat_dec_lt(v___x_8130_, v___x_8131_);
lean_dec(v___x_8130_);
v___y_8122_ = v___x_8132_;
goto v___jp_8121_;
}
else
{
v___y_8122_ = v___x_8129_;
goto v___jp_8121_;
}
v___jp_8121_:
{
if (v___y_8122_ == 0)
{
lean_object* v_ks_8123_; lean_object* v_vs_8124_; lean_object* v___x_8125_; lean_object* v___x_8126_; lean_object* v___x_8127_; 
v_ks_8123_ = lean_ctor_get(v_newNode_8120_, 0);
lean_inc_ref(v_ks_8123_);
v_vs_8124_ = lean_ctor_get(v_newNode_8120_, 1);
lean_inc_ref(v_vs_8124_);
lean_dec_ref(v_newNode_8120_);
v___x_8125_ = lean_unsigned_to_nat(0u);
v___x_8126_ = lean_obj_once(&l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__2, &l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__2_once, _init_l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkCleanState_spec__1_spec__1___redArg___closed__2);
v___x_8127_ = 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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__7___redArg(v_x_8064_, v_ks_8123_, v_vs_8124_, v___x_8125_, v___x_8126_);
lean_dec_ref(v_vs_8124_);
lean_dec_ref(v_ks_8123_);
return v___x_8127_;
}
else
{
return v_newNode_8120_;
}
}
}
}
}
}
}
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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__7___redArg(size_t v_depth_8135_, lean_object* v_keys_8136_, lean_object* v_vals_8137_, lean_object* v_i_8138_, lean_object* v_entries_8139_){
_start:
{
lean_object* v___x_8140_; uint8_t v___x_8141_; 
v___x_8140_ = lean_array_get_size(v_keys_8136_);
v___x_8141_ = lean_nat_dec_lt(v_i_8138_, v___x_8140_);
if (v___x_8141_ == 0)
{
lean_dec(v_i_8138_);
return v_entries_8139_;
}
else
{
lean_object* v_k_8142_; lean_object* v_v_8143_; uint64_t v___x_8144_; size_t v_h_8145_; size_t v___x_8146_; lean_object* v___x_8147_; size_t v___x_8148_; size_t v___x_8149_; size_t v___x_8150_; size_t v_h_8151_; lean_object* v___x_8152_; lean_object* v___x_8153_; 
v_k_8142_ = lean_array_fget_borrowed(v_keys_8136_, v_i_8138_);
v_v_8143_ = lean_array_fget_borrowed(v_vals_8137_, v_i_8138_);
v___x_8144_ = l_Lean_instHashableMVarId_hash(v_k_8142_);
v_h_8145_ = lean_uint64_to_usize(v___x_8144_);
v___x_8146_ = ((size_t)5ULL);
v___x_8147_ = lean_unsigned_to_nat(1u);
v___x_8148_ = ((size_t)1ULL);
v___x_8149_ = lean_usize_sub(v_depth_8135_, v___x_8148_);
v___x_8150_ = lean_usize_mul(v___x_8146_, v___x_8149_);
v_h_8151_ = lean_usize_shift_right(v_h_8145_, v___x_8150_);
v___x_8152_ = lean_nat_add(v_i_8138_, v___x_8147_);
lean_dec(v_i_8138_);
lean_inc(v_v_8143_);
lean_inc(v_k_8142_);
v___x_8153_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4___redArg(v_entries_8139_, v_h_8151_, v_depth_8135_, v_k_8142_, v_v_8143_);
v_i_8138_ = v___x_8152_;
v_entries_8139_ = v___x_8153_;
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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__7___redArg___boxed(lean_object* v_depth_8155_, lean_object* v_keys_8156_, lean_object* v_vals_8157_, lean_object* v_i_8158_, lean_object* v_entries_8159_){
_start:
{
size_t v_depth_boxed_8160_; lean_object* v_res_8161_; 
v_depth_boxed_8160_ = lean_unbox_usize(v_depth_8155_);
lean_dec(v_depth_8155_);
v_res_8161_ = 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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__7___redArg(v_depth_boxed_8160_, v_keys_8156_, v_vals_8157_, v_i_8158_, v_entries_8159_);
lean_dec_ref(v_vals_8157_);
lean_dec_ref(v_keys_8156_);
return v_res_8161_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4___redArg___boxed(lean_object* v_x_8162_, lean_object* v_x_8163_, lean_object* v_x_8164_, lean_object* v_x_8165_, lean_object* v_x_8166_){
_start:
{
size_t v_x_3898__boxed_8167_; size_t v_x_3899__boxed_8168_; lean_object* v_res_8169_; 
v_x_3898__boxed_8167_ = lean_unbox_usize(v_x_8163_);
lean_dec(v_x_8163_);
v_x_3899__boxed_8168_ = lean_unbox_usize(v_x_8164_);
lean_dec(v_x_8164_);
v_res_8169_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4___redArg(v_x_8162_, v_x_3898__boxed_8167_, v_x_3899__boxed_8168_, v_x_8165_, v_x_8166_);
return v_res_8169_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3___redArg(lean_object* v_x_8170_, lean_object* v_x_8171_, lean_object* v_x_8172_){
_start:
{
uint64_t v___x_8173_; size_t v___x_8174_; size_t v___x_8175_; lean_object* v___x_8176_; 
v___x_8173_ = l_Lean_instHashableMVarId_hash(v_x_8171_);
v___x_8174_ = lean_uint64_to_usize(v___x_8173_);
v___x_8175_ = ((size_t)1ULL);
v___x_8176_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4___redArg(v_x_8170_, v___x_8174_, v___x_8175_, v_x_8171_, v_x_8172_);
return v___x_8176_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3___redArg(lean_object* v_mvarId_8177_, lean_object* v_val_8178_, lean_object* v___y_8179_){
_start:
{
lean_object* v___x_8181_; lean_object* v_mctx_8182_; lean_object* v_cache_8183_; lean_object* v_zetaDeltaFVarIds_8184_; lean_object* v_postponed_8185_; lean_object* v_diag_8186_; lean_object* v___x_8188_; uint8_t v_isShared_8189_; uint8_t v_isSharedCheck_8213_; 
v___x_8181_ = lean_st_ref_take(v___y_8179_);
v_mctx_8182_ = lean_ctor_get(v___x_8181_, 0);
v_cache_8183_ = lean_ctor_get(v___x_8181_, 1);
v_zetaDeltaFVarIds_8184_ = lean_ctor_get(v___x_8181_, 2);
v_postponed_8185_ = lean_ctor_get(v___x_8181_, 3);
v_diag_8186_ = lean_ctor_get(v___x_8181_, 4);
v_isSharedCheck_8213_ = !lean_is_exclusive(v___x_8181_);
if (v_isSharedCheck_8213_ == 0)
{
v___x_8188_ = v___x_8181_;
v_isShared_8189_ = v_isSharedCheck_8213_;
goto v_resetjp_8187_;
}
else
{
lean_inc(v_diag_8186_);
lean_inc(v_postponed_8185_);
lean_inc(v_zetaDeltaFVarIds_8184_);
lean_inc(v_cache_8183_);
lean_inc(v_mctx_8182_);
lean_dec(v___x_8181_);
v___x_8188_ = lean_box(0);
v_isShared_8189_ = v_isSharedCheck_8213_;
goto v_resetjp_8187_;
}
v_resetjp_8187_:
{
lean_object* v_depth_8190_; lean_object* v_levelAssignDepth_8191_; lean_object* v_mvarCounter_8192_; lean_object* v_lDepth_8193_; lean_object* v_decls_8194_; lean_object* v_userNames_8195_; lean_object* v_lAssignment_8196_; lean_object* v_eAssignment_8197_; lean_object* v_dAssignment_8198_; lean_object* v___x_8200_; uint8_t v_isShared_8201_; uint8_t v_isSharedCheck_8212_; 
v_depth_8190_ = lean_ctor_get(v_mctx_8182_, 0);
v_levelAssignDepth_8191_ = lean_ctor_get(v_mctx_8182_, 1);
v_mvarCounter_8192_ = lean_ctor_get(v_mctx_8182_, 2);
v_lDepth_8193_ = lean_ctor_get(v_mctx_8182_, 3);
v_decls_8194_ = lean_ctor_get(v_mctx_8182_, 4);
v_userNames_8195_ = lean_ctor_get(v_mctx_8182_, 5);
v_lAssignment_8196_ = lean_ctor_get(v_mctx_8182_, 6);
v_eAssignment_8197_ = lean_ctor_get(v_mctx_8182_, 7);
v_dAssignment_8198_ = lean_ctor_get(v_mctx_8182_, 8);
v_isSharedCheck_8212_ = !lean_is_exclusive(v_mctx_8182_);
if (v_isSharedCheck_8212_ == 0)
{
v___x_8200_ = v_mctx_8182_;
v_isShared_8201_ = v_isSharedCheck_8212_;
goto v_resetjp_8199_;
}
else
{
lean_inc(v_dAssignment_8198_);
lean_inc(v_eAssignment_8197_);
lean_inc(v_lAssignment_8196_);
lean_inc(v_userNames_8195_);
lean_inc(v_decls_8194_);
lean_inc(v_lDepth_8193_);
lean_inc(v_mvarCounter_8192_);
lean_inc(v_levelAssignDepth_8191_);
lean_inc(v_depth_8190_);
lean_dec(v_mctx_8182_);
v___x_8200_ = lean_box(0);
v_isShared_8201_ = v_isSharedCheck_8212_;
goto v_resetjp_8199_;
}
v_resetjp_8199_:
{
lean_object* v___x_8202_; lean_object* v___x_8204_; 
v___x_8202_ = l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3___redArg(v_eAssignment_8197_, v_mvarId_8177_, v_val_8178_);
if (v_isShared_8201_ == 0)
{
lean_ctor_set(v___x_8200_, 7, v___x_8202_);
v___x_8204_ = v___x_8200_;
goto v_reusejp_8203_;
}
else
{
lean_object* v_reuseFailAlloc_8211_; 
v_reuseFailAlloc_8211_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_8211_, 0, v_depth_8190_);
lean_ctor_set(v_reuseFailAlloc_8211_, 1, v_levelAssignDepth_8191_);
lean_ctor_set(v_reuseFailAlloc_8211_, 2, v_mvarCounter_8192_);
lean_ctor_set(v_reuseFailAlloc_8211_, 3, v_lDepth_8193_);
lean_ctor_set(v_reuseFailAlloc_8211_, 4, v_decls_8194_);
lean_ctor_set(v_reuseFailAlloc_8211_, 5, v_userNames_8195_);
lean_ctor_set(v_reuseFailAlloc_8211_, 6, v_lAssignment_8196_);
lean_ctor_set(v_reuseFailAlloc_8211_, 7, v___x_8202_);
lean_ctor_set(v_reuseFailAlloc_8211_, 8, v_dAssignment_8198_);
v___x_8204_ = v_reuseFailAlloc_8211_;
goto v_reusejp_8203_;
}
v_reusejp_8203_:
{
lean_object* v___x_8206_; 
if (v_isShared_8189_ == 0)
{
lean_ctor_set(v___x_8188_, 0, v___x_8204_);
v___x_8206_ = v___x_8188_;
goto v_reusejp_8205_;
}
else
{
lean_object* v_reuseFailAlloc_8210_; 
v_reuseFailAlloc_8210_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_8210_, 0, v___x_8204_);
lean_ctor_set(v_reuseFailAlloc_8210_, 1, v_cache_8183_);
lean_ctor_set(v_reuseFailAlloc_8210_, 2, v_zetaDeltaFVarIds_8184_);
lean_ctor_set(v_reuseFailAlloc_8210_, 3, v_postponed_8185_);
lean_ctor_set(v_reuseFailAlloc_8210_, 4, v_diag_8186_);
v___x_8206_ = v_reuseFailAlloc_8210_;
goto v_reusejp_8205_;
}
v_reusejp_8205_:
{
lean_object* v___x_8207_; lean_object* v___x_8208_; lean_object* v___x_8209_; 
v___x_8207_ = lean_st_ref_set(v___y_8179_, v___x_8206_);
v___x_8208_ = lean_box(0);
v___x_8209_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_8209_, 0, v___x_8208_);
return v___x_8209_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3___redArg___boxed(lean_object* v_mvarId_8214_, lean_object* v_val_8215_, lean_object* v___y_8216_, lean_object* v___y_8217_){
_start:
{
lean_object* v_res_8218_; 
v_res_8218_ = l_Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3___redArg(v_mvarId_8214_, v_val_8215_, v___y_8216_);
lean_dec(v___y_8216_);
return v_res_8218_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___closed__1(void){
_start:
{
lean_object* v___x_8221_; lean_object* v___x_8222_; lean_object* v___x_8223_; 
v___x_8221_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___closed__0));
v___x_8222_ = lean_obj_once(&l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__3, &l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__3_once, _init_l_Lean_Meta_Grind_GrindM_run___redArg___lam__0___closed__3);
v___x_8223_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_8223_, 0, v___x_8222_);
lean_ctor_set(v___x_8223_, 1, v___x_8221_);
return v___x_8223_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__4(lean_object* v___x_8224_, lean_object* v_as_8225_, size_t v_sz_8226_, size_t v_i_8227_, lean_object* v_b_8228_, lean_object* v___y_8229_, lean_object* v___y_8230_, lean_object* v___y_8231_, lean_object* v___y_8232_){
_start:
{
lean_object* v_a_8235_; uint8_t v___x_8239_; 
v___x_8239_ = lean_usize_dec_lt(v_i_8227_, v_sz_8226_);
if (v___x_8239_ == 0)
{
lean_object* v___x_8240_; 
lean_dec_ref(v___x_8224_);
v___x_8240_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_8240_, 0, v_b_8228_);
return v___x_8240_;
}
else
{
lean_object* v___x_8241_; lean_object* v_a_8242_; lean_object* v___x_8243_; 
v___x_8241_ = lean_box(0);
v_a_8242_ = lean_array_uget_borrowed(v_as_8225_, v_i_8227_);
lean_inc_ref(v___x_8224_);
v___x_8243_ = l_Lean_MetavarContext_findDecl_x3f(v___x_8224_, v_a_8242_);
if (lean_obj_tag(v___x_8243_) == 1)
{
lean_object* v_val_8244_; lean_object* v_depth_8245_; lean_object* v_depth_8246_; uint8_t v___x_8247_; 
v_val_8244_ = lean_ctor_get(v___x_8243_, 0);
lean_inc(v_val_8244_);
lean_dec_ref(v___x_8243_);
v_depth_8245_ = lean_ctor_get(v_val_8244_, 3);
lean_inc(v_depth_8245_);
lean_dec(v_val_8244_);
v_depth_8246_ = lean_ctor_get(v___x_8224_, 0);
v___x_8247_ = lean_nat_dec_eq(v_depth_8245_, v_depth_8246_);
lean_dec(v_depth_8245_);
if (v___x_8247_ == 0)
{
v_a_8235_ = v___x_8241_;
goto v___jp_8234_;
}
else
{
lean_object* v___x_8248_; 
v___x_8248_ = l_Lean_getDelayedMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__0___redArg(v_a_8242_, v___y_8230_);
if (lean_obj_tag(v___x_8248_) == 0)
{
lean_object* v_a_8249_; 
v_a_8249_ = lean_ctor_get(v___x_8248_, 0);
lean_inc(v_a_8249_);
lean_dec_ref(v___x_8248_);
if (lean_obj_tag(v_a_8249_) == 1)
{
lean_object* v_val_8250_; lean_object* v_fvars_8251_; lean_object* v_mvarIdPending_8252_; lean_object* v___x_8253_; 
v_val_8250_ = lean_ctor_get(v_a_8249_, 0);
lean_inc(v_val_8250_);
lean_dec_ref(v_a_8249_);
v_fvars_8251_ = lean_ctor_get(v_val_8250_, 0);
lean_inc_ref(v_fvars_8251_);
v_mvarIdPending_8252_ = lean_ctor_get(v_val_8250_, 1);
lean_inc(v_mvarIdPending_8252_);
lean_dec(v_val_8250_);
v___x_8253_ = l_Lean_getExprMVarAssignment_x3f___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__1___redArg(v_mvarIdPending_8252_, v___y_8230_);
if (lean_obj_tag(v___x_8253_) == 0)
{
lean_object* v_a_8254_; 
v_a_8254_ = lean_ctor_get(v___x_8253_, 0);
lean_inc(v_a_8254_);
lean_dec_ref(v___x_8253_);
if (lean_obj_tag(v_a_8254_) == 1)
{
lean_object* v_val_8255_; lean_object* v___x_8256_; 
v_val_8255_ = lean_ctor_get(v_a_8254_, 0);
lean_inc(v_val_8255_);
lean_dec_ref(v_a_8254_);
v___x_8256_ = l_Lean_MVarId_getDecl(v_mvarIdPending_8252_, v___y_8229_, v___y_8230_, v___y_8231_, v___y_8232_);
if (lean_obj_tag(v___x_8256_) == 0)
{
lean_object* v_a_8257_; lean_object* v___x_8258_; 
v_a_8257_ = lean_ctor_get(v___x_8256_, 0);
lean_inc(v_a_8257_);
lean_dec_ref(v___x_8256_);
v___x_8258_ = l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2___redArg(v_val_8255_, v___y_8230_);
if (lean_obj_tag(v___x_8258_) == 0)
{
lean_object* v_a_8259_; lean_object* v___x_8260_; 
v_a_8259_ = lean_ctor_get(v___x_8258_, 0);
lean_inc(v_a_8259_);
lean_dec_ref(v___x_8258_);
v___x_8260_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go(v_a_8259_, v___y_8229_, v___y_8230_, v___y_8231_, v___y_8232_);
if (lean_obj_tag(v___x_8260_) == 0)
{
lean_object* v_a_8261_; lean_object* v_lctx_8262_; uint8_t v___x_8263_; lean_object* v___x_8264_; lean_object* v___x_8265_; 
v_a_8261_ = lean_ctor_get(v___x_8260_, 0);
lean_inc(v_a_8261_);
lean_dec_ref(v___x_8260_);
v_lctx_8262_ = lean_ctor_get(v_a_8257_, 1);
lean_inc_ref(v_lctx_8262_);
lean_dec(v_a_8257_);
v___x_8263_ = 0;
v___x_8264_ = l_Lean_LocalContext_mkLambda(v_lctx_8262_, v_fvars_8251_, v_a_8261_, v___x_8247_, v___x_8263_);
lean_dec(v_a_8261_);
lean_dec_ref(v_fvars_8251_);
lean_inc(v_a_8242_);
v___x_8265_ = l_Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3___redArg(v_a_8242_, v___x_8264_, v___y_8230_);
if (lean_obj_tag(v___x_8265_) == 0)
{
lean_dec_ref(v___x_8265_);
v_a_8235_ = v___x_8241_;
goto v___jp_8234_;
}
else
{
lean_dec_ref(v___x_8224_);
return v___x_8265_;
}
}
else
{
lean_object* v_a_8266_; lean_object* v___x_8268_; uint8_t v_isShared_8269_; uint8_t v_isSharedCheck_8273_; 
lean_dec(v_a_8257_);
lean_dec_ref(v_fvars_8251_);
lean_dec_ref(v___x_8224_);
v_a_8266_ = lean_ctor_get(v___x_8260_, 0);
v_isSharedCheck_8273_ = !lean_is_exclusive(v___x_8260_);
if (v_isSharedCheck_8273_ == 0)
{
v___x_8268_ = v___x_8260_;
v_isShared_8269_ = v_isSharedCheck_8273_;
goto v_resetjp_8267_;
}
else
{
lean_inc(v_a_8266_);
lean_dec(v___x_8260_);
v___x_8268_ = lean_box(0);
v_isShared_8269_ = v_isSharedCheck_8273_;
goto v_resetjp_8267_;
}
v_resetjp_8267_:
{
lean_object* v___x_8271_; 
if (v_isShared_8269_ == 0)
{
v___x_8271_ = v___x_8268_;
goto v_reusejp_8270_;
}
else
{
lean_object* v_reuseFailAlloc_8272_; 
v_reuseFailAlloc_8272_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8272_, 0, v_a_8266_);
v___x_8271_ = v_reuseFailAlloc_8272_;
goto v_reusejp_8270_;
}
v_reusejp_8270_:
{
return v___x_8271_;
}
}
}
}
else
{
lean_object* v_a_8274_; lean_object* v___x_8276_; uint8_t v_isShared_8277_; uint8_t v_isSharedCheck_8281_; 
lean_dec(v_a_8257_);
lean_dec_ref(v_fvars_8251_);
lean_dec_ref(v___x_8224_);
v_a_8274_ = lean_ctor_get(v___x_8258_, 0);
v_isSharedCheck_8281_ = !lean_is_exclusive(v___x_8258_);
if (v_isSharedCheck_8281_ == 0)
{
v___x_8276_ = v___x_8258_;
v_isShared_8277_ = v_isSharedCheck_8281_;
goto v_resetjp_8275_;
}
else
{
lean_inc(v_a_8274_);
lean_dec(v___x_8258_);
v___x_8276_ = lean_box(0);
v_isShared_8277_ = v_isSharedCheck_8281_;
goto v_resetjp_8275_;
}
v_resetjp_8275_:
{
lean_object* v___x_8279_; 
if (v_isShared_8277_ == 0)
{
v___x_8279_ = v___x_8276_;
goto v_reusejp_8278_;
}
else
{
lean_object* v_reuseFailAlloc_8280_; 
v_reuseFailAlloc_8280_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8280_, 0, v_a_8274_);
v___x_8279_ = v_reuseFailAlloc_8280_;
goto v_reusejp_8278_;
}
v_reusejp_8278_:
{
return v___x_8279_;
}
}
}
}
else
{
lean_object* v_a_8282_; lean_object* v___x_8284_; uint8_t v_isShared_8285_; uint8_t v_isSharedCheck_8289_; 
lean_dec(v_val_8255_);
lean_dec_ref(v_fvars_8251_);
lean_dec_ref(v___x_8224_);
v_a_8282_ = lean_ctor_get(v___x_8256_, 0);
v_isSharedCheck_8289_ = !lean_is_exclusive(v___x_8256_);
if (v_isSharedCheck_8289_ == 0)
{
v___x_8284_ = v___x_8256_;
v_isShared_8285_ = v_isSharedCheck_8289_;
goto v_resetjp_8283_;
}
else
{
lean_inc(v_a_8282_);
lean_dec(v___x_8256_);
v___x_8284_ = lean_box(0);
v_isShared_8285_ = v_isSharedCheck_8289_;
goto v_resetjp_8283_;
}
v_resetjp_8283_:
{
lean_object* v___x_8287_; 
if (v_isShared_8285_ == 0)
{
v___x_8287_ = v___x_8284_;
goto v_reusejp_8286_;
}
else
{
lean_object* v_reuseFailAlloc_8288_; 
v_reuseFailAlloc_8288_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8288_, 0, v_a_8282_);
v___x_8287_ = v_reuseFailAlloc_8288_;
goto v_reusejp_8286_;
}
v_reusejp_8286_:
{
return v___x_8287_;
}
}
}
}
else
{
lean_dec(v_a_8254_);
lean_dec(v_mvarIdPending_8252_);
lean_dec_ref(v_fvars_8251_);
v_a_8235_ = v___x_8241_;
goto v___jp_8234_;
}
}
else
{
lean_object* v_a_8290_; lean_object* v___x_8292_; uint8_t v_isShared_8293_; uint8_t v_isSharedCheck_8297_; 
lean_dec(v_mvarIdPending_8252_);
lean_dec_ref(v_fvars_8251_);
lean_dec_ref(v___x_8224_);
v_a_8290_ = lean_ctor_get(v___x_8253_, 0);
v_isSharedCheck_8297_ = !lean_is_exclusive(v___x_8253_);
if (v_isSharedCheck_8297_ == 0)
{
v___x_8292_ = v___x_8253_;
v_isShared_8293_ = v_isSharedCheck_8297_;
goto v_resetjp_8291_;
}
else
{
lean_inc(v_a_8290_);
lean_dec(v___x_8253_);
v___x_8292_ = lean_box(0);
v_isShared_8293_ = v_isSharedCheck_8297_;
goto v_resetjp_8291_;
}
v_resetjp_8291_:
{
lean_object* v___x_8295_; 
if (v_isShared_8293_ == 0)
{
v___x_8295_ = v___x_8292_;
goto v_reusejp_8294_;
}
else
{
lean_object* v_reuseFailAlloc_8296_; 
v_reuseFailAlloc_8296_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8296_, 0, v_a_8290_);
v___x_8295_ = v_reuseFailAlloc_8296_;
goto v_reusejp_8294_;
}
v_reusejp_8294_:
{
return v___x_8295_;
}
}
}
}
else
{
lean_dec(v_a_8249_);
v_a_8235_ = v___x_8241_;
goto v___jp_8234_;
}
}
else
{
lean_object* v_a_8298_; lean_object* v___x_8300_; uint8_t v_isShared_8301_; uint8_t v_isSharedCheck_8305_; 
lean_dec_ref(v___x_8224_);
v_a_8298_ = lean_ctor_get(v___x_8248_, 0);
v_isSharedCheck_8305_ = !lean_is_exclusive(v___x_8248_);
if (v_isSharedCheck_8305_ == 0)
{
v___x_8300_ = v___x_8248_;
v_isShared_8301_ = v_isSharedCheck_8305_;
goto v_resetjp_8299_;
}
else
{
lean_inc(v_a_8298_);
lean_dec(v___x_8248_);
v___x_8300_ = lean_box(0);
v_isShared_8301_ = v_isSharedCheck_8305_;
goto v_resetjp_8299_;
}
v_resetjp_8299_:
{
lean_object* v___x_8303_; 
if (v_isShared_8301_ == 0)
{
v___x_8303_ = v___x_8300_;
goto v_reusejp_8302_;
}
else
{
lean_object* v_reuseFailAlloc_8304_; 
v_reuseFailAlloc_8304_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8304_, 0, v_a_8298_);
v___x_8303_ = v_reuseFailAlloc_8304_;
goto v_reusejp_8302_;
}
v_reusejp_8302_:
{
return v___x_8303_;
}
}
}
}
}
else
{
lean_dec(v___x_8243_);
v_a_8235_ = v___x_8241_;
goto v___jp_8234_;
}
}
v___jp_8234_:
{
size_t v___x_8236_; size_t v___x_8237_; 
v___x_8236_ = ((size_t)1ULL);
v___x_8237_ = lean_usize_add(v_i_8227_, v___x_8236_);
v_i_8227_ = v___x_8237_;
v_b_8228_ = v_a_8235_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go(lean_object* v_e_8306_, lean_object* v_a_8307_, lean_object* v_a_8308_, lean_object* v_a_8309_, lean_object* v_a_8310_){
_start:
{
lean_object* v___x_8312_; lean_object* v_mctx_8313_; lean_object* v___x_8314_; lean_object* v___x_8315_; lean_object* v_result_8316_; lean_object* v___x_8317_; size_t v_sz_8318_; size_t v___x_8319_; lean_object* v___x_8320_; 
v___x_8312_ = lean_st_ref_get(v_a_8308_);
v_mctx_8313_ = lean_ctor_get(v___x_8312_, 0);
lean_inc_ref(v_mctx_8313_);
lean_dec(v___x_8312_);
v___x_8314_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___closed__1, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___closed__1_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___closed__1);
lean_inc_ref(v_e_8306_);
v___x_8315_ = l_Lean_Expr_collectMVars(v___x_8314_, v_e_8306_);
v_result_8316_ = lean_ctor_get(v___x_8315_, 1);
lean_inc_ref(v_result_8316_);
lean_dec_ref(v___x_8315_);
v___x_8317_ = lean_box(0);
v_sz_8318_ = lean_array_size(v_result_8316_);
v___x_8319_ = ((size_t)0ULL);
v___x_8320_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__4(v_mctx_8313_, v_result_8316_, v_sz_8318_, v___x_8319_, v___x_8317_, v_a_8307_, v_a_8308_, v_a_8309_, v_a_8310_);
lean_dec_ref(v_result_8316_);
if (lean_obj_tag(v___x_8320_) == 0)
{
lean_object* v___x_8321_; 
lean_dec_ref(v___x_8320_);
v___x_8321_ = l_Lean_instantiateMVars___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__2___redArg(v_e_8306_, v_a_8308_);
return v___x_8321_;
}
else
{
lean_object* v_a_8322_; lean_object* v___x_8324_; uint8_t v_isShared_8325_; uint8_t v_isSharedCheck_8329_; 
lean_dec_ref(v_e_8306_);
v_a_8322_ = lean_ctor_get(v___x_8320_, 0);
v_isSharedCheck_8329_ = !lean_is_exclusive(v___x_8320_);
if (v_isSharedCheck_8329_ == 0)
{
v___x_8324_ = v___x_8320_;
v_isShared_8325_ = v_isSharedCheck_8329_;
goto v_resetjp_8323_;
}
else
{
lean_inc(v_a_8322_);
lean_dec(v___x_8320_);
v___x_8324_ = lean_box(0);
v_isShared_8325_ = v_isSharedCheck_8329_;
goto v_resetjp_8323_;
}
v_resetjp_8323_:
{
lean_object* v___x_8327_; 
if (v_isShared_8325_ == 0)
{
v___x_8327_ = v___x_8324_;
goto v_reusejp_8326_;
}
else
{
lean_object* v_reuseFailAlloc_8328_; 
v_reuseFailAlloc_8328_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8328_, 0, v_a_8322_);
v___x_8327_ = v_reuseFailAlloc_8328_;
goto v_reusejp_8326_;
}
v_reusejp_8326_:
{
return v___x_8327_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___boxed(lean_object* v_e_8330_, lean_object* v_a_8331_, lean_object* v_a_8332_, lean_object* v_a_8333_, lean_object* v_a_8334_, lean_object* v_a_8335_){
_start:
{
lean_object* v_res_8336_; 
v_res_8336_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go(v_e_8330_, v_a_8331_, v_a_8332_, v_a_8333_, v_a_8334_);
lean_dec(v_a_8334_);
lean_dec_ref(v_a_8333_);
lean_dec(v_a_8332_);
lean_dec_ref(v_a_8331_);
return v_res_8336_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__4___boxed(lean_object* v___x_8337_, lean_object* v_as_8338_, lean_object* v_sz_8339_, lean_object* v_i_8340_, lean_object* v_b_8341_, lean_object* v___y_8342_, lean_object* v___y_8343_, lean_object* v___y_8344_, lean_object* v___y_8345_, lean_object* v___y_8346_){
_start:
{
size_t v_sz_boxed_8347_; size_t v_i_boxed_8348_; lean_object* v_res_8349_; 
v_sz_boxed_8347_ = lean_unbox_usize(v_sz_8339_);
lean_dec(v_sz_8339_);
v_i_boxed_8348_ = lean_unbox_usize(v_i_8340_);
lean_dec(v_i_8340_);
v_res_8349_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__4(v___x_8337_, v_as_8338_, v_sz_boxed_8347_, v_i_boxed_8348_, v_b_8341_, v___y_8342_, v___y_8343_, v___y_8344_, v___y_8345_);
lean_dec(v___y_8345_);
lean_dec_ref(v___y_8344_);
lean_dec(v___y_8343_);
lean_dec_ref(v___y_8342_);
lean_dec_ref(v_as_8338_);
return v_res_8349_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3(lean_object* v_mvarId_8350_, lean_object* v_val_8351_, lean_object* v___y_8352_, lean_object* v___y_8353_, lean_object* v___y_8354_, lean_object* v___y_8355_){
_start:
{
lean_object* v___x_8357_; 
v___x_8357_ = l_Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3___redArg(v_mvarId_8350_, v_val_8351_, v___y_8353_);
return v___x_8357_;
}
}
LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3___boxed(lean_object* v_mvarId_8358_, lean_object* v_val_8359_, lean_object* v___y_8360_, lean_object* v___y_8361_, lean_object* v___y_8362_, lean_object* v___y_8363_, lean_object* v___y_8364_){
_start:
{
lean_object* v_res_8365_; 
v_res_8365_ = l_Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3(v_mvarId_8358_, v_val_8359_, v___y_8360_, v___y_8361_, v___y_8362_, v___y_8363_);
lean_dec(v___y_8363_);
lean_dec_ref(v___y_8362_);
lean_dec(v___y_8361_);
lean_dec_ref(v___y_8360_);
return v_res_8365_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3(lean_object* v_00_u03b2_8366_, lean_object* v_x_8367_, lean_object* v_x_8368_, lean_object* v_x_8369_){
_start:
{
lean_object* v___x_8370_; 
v___x_8370_ = l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3___redArg(v_x_8367_, v_x_8368_, v_x_8369_);
return v___x_8370_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4(lean_object* v_00_u03b2_8371_, lean_object* v_x_8372_, size_t v_x_8373_, size_t v_x_8374_, lean_object* v_x_8375_, lean_object* v_x_8376_){
_start:
{
lean_object* v___x_8377_; 
v___x_8377_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4___redArg(v_x_8372_, v_x_8373_, v_x_8374_, v_x_8375_, v_x_8376_);
return v___x_8377_;
}
}
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4___boxed(lean_object* v_00_u03b2_8378_, lean_object* v_x_8379_, lean_object* v_x_8380_, lean_object* v_x_8381_, lean_object* v_x_8382_, lean_object* v_x_8383_){
_start:
{
size_t v_x_4360__boxed_8384_; size_t v_x_4361__boxed_8385_; lean_object* v_res_8386_; 
v_x_4360__boxed_8384_ = lean_unbox_usize(v_x_8380_);
lean_dec(v_x_8380_);
v_x_4361__boxed_8385_ = lean_unbox_usize(v_x_8381_);
lean_dec(v_x_8381_);
v_res_8386_ = l_Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4(v_00_u03b2_8378_, v_x_8379_, v_x_4360__boxed_8384_, v_x_4361__boxed_8385_, v_x_8382_, v_x_8383_);
return v_res_8386_;
}
}
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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__6(lean_object* v_00_u03b2_8387_, lean_object* v_n_8388_, lean_object* v_k_8389_, lean_object* v_v_8390_){
_start:
{
lean_object* v___x_8391_; 
v___x_8391_ = l_Lean_PersistentHashMap_insertAtCollisionNode___at___00Lean_PersistentHashMap_insertAux___at___00Lean_PersistentHashMap_insert___at___00Lean_MVarId_assign___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__6___redArg(v_n_8388_, v_k_8389_, v_v_8390_);
return v___x_8391_;
}
}
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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__7(lean_object* v_00_u03b2_8392_, size_t v_depth_8393_, lean_object* v_keys_8394_, lean_object* v_vals_8395_, lean_object* v_heq_8396_, lean_object* v_i_8397_, lean_object* v_entries_8398_){
_start:
{
lean_object* v___x_8399_; 
v___x_8399_ = 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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__7___redArg(v_depth_8393_, v_keys_8394_, v_vals_8395_, v_i_8397_, v_entries_8398_);
return v___x_8399_;
}
}
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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__7___boxed(lean_object* v_00_u03b2_8400_, lean_object* v_depth_8401_, lean_object* v_keys_8402_, lean_object* v_vals_8403_, lean_object* v_heq_8404_, lean_object* v_i_8405_, lean_object* v_entries_8406_){
_start:
{
size_t v_depth_boxed_8407_; lean_object* v_res_8408_; 
v_depth_boxed_8407_ = lean_unbox_usize(v_depth_8401_);
lean_dec(v_depth_8401_);
v_res_8408_ = 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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__7(v_00_u03b2_8400_, v_depth_boxed_8407_, v_keys_8402_, v_vals_8403_, v_heq_8404_, v_i_8405_, v_entries_8406_);
lean_dec_ref(v_vals_8403_);
lean_dec_ref(v_keys_8402_);
return v_res_8408_;
}
}
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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__6_spec__7(lean_object* v_00_u03b2_8409_, lean_object* v_x_8410_, lean_object* v_x_8411_, lean_object* v_x_8412_, lean_object* v_x_8413_){
_start:
{
lean_object* v___x_8414_; 
v___x_8414_ = 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_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go_spec__3_spec__3_spec__4_spec__6_spec__7___redArg(v_x_8410_, v_x_8411_, v_x_8412_, v_x_8413_);
return v___x_8414_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0___closed__1(void){
_start:
{
lean_object* v___x_8416_; lean_object* v___x_8417_; 
v___x_8416_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0___closed__0));
v___x_8417_ = l_Lean_stringToMessageData(v___x_8416_);
return v___x_8417_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0(lean_object* v___x_8418_, lean_object* v_as_8419_, size_t v_sz_8420_, size_t v_i_8421_, lean_object* v_b_8422_, lean_object* v___y_8423_, lean_object* v___y_8424_, lean_object* v___y_8425_, lean_object* v___y_8426_){
_start:
{
lean_object* v_a_8429_; uint8_t v___x_8433_; 
v___x_8433_ = lean_usize_dec_lt(v_i_8421_, v_sz_8420_);
if (v___x_8433_ == 0)
{
lean_object* v___x_8434_; 
lean_dec_ref(v___x_8418_);
v___x_8434_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_8434_, 0, v_b_8422_);
return v___x_8434_;
}
else
{
lean_object* v___x_8435_; lean_object* v_a_8436_; lean_object* v___x_8437_; 
v___x_8435_ = lean_box(0);
v_a_8436_ = lean_array_uget_borrowed(v_as_8419_, v_i_8421_);
lean_inc_ref(v___x_8418_);
v___x_8437_ = l_Lean_MetavarContext_findDecl_x3f(v___x_8418_, v_a_8436_);
if (lean_obj_tag(v___x_8437_) == 1)
{
lean_object* v_val_8438_; lean_object* v_depth_8439_; lean_object* v_depth_8440_; uint8_t v___x_8441_; 
v_val_8438_ = lean_ctor_get(v___x_8437_, 0);
lean_inc(v_val_8438_);
lean_dec_ref(v___x_8437_);
v_depth_8439_ = lean_ctor_get(v_val_8438_, 3);
lean_inc(v_depth_8439_);
lean_dec(v_val_8438_);
v_depth_8440_ = lean_ctor_get(v___x_8418_, 0);
v___x_8441_ = lean_nat_dec_eq(v_depth_8439_, v_depth_8440_);
lean_dec(v_depth_8439_);
if (v___x_8441_ == 0)
{
v_a_8429_ = v___x_8435_;
goto v___jp_8428_;
}
else
{
lean_object* v___x_8442_; lean_object* v___x_8443_; lean_object* v___x_8444_; lean_object* v___x_8445_; lean_object* v___x_8446_; 
v___x_8442_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0___closed__1, &l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0___closed__1_once, _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0___closed__1);
lean_inc(v_a_8436_);
v___x_8443_ = l_Lean_Expr_mvar___override(v_a_8436_);
v___x_8444_ = l_Lean_MessageData_ofExpr(v___x_8443_);
v___x_8445_ = lean_alloc_ctor(7, 2, 0);
lean_ctor_set(v___x_8445_, 0, v___x_8442_);
lean_ctor_set(v___x_8445_, 1, v___x_8444_);
v___x_8446_ = l_Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10___redArg(v___x_8445_, v___y_8423_, v___y_8424_, v___y_8425_, v___y_8426_);
if (lean_obj_tag(v___x_8446_) == 0)
{
lean_dec_ref(v___x_8446_);
v_a_8429_ = v___x_8435_;
goto v___jp_8428_;
}
else
{
lean_dec_ref(v___x_8418_);
return v___x_8446_;
}
}
}
else
{
lean_dec(v___x_8437_);
v_a_8429_ = v___x_8435_;
goto v___jp_8428_;
}
}
v___jp_8428_:
{
size_t v___x_8430_; size_t v___x_8431_; 
v___x_8430_ = ((size_t)1ULL);
v___x_8431_ = lean_usize_add(v_i_8421_, v___x_8430_);
v_i_8421_ = v___x_8431_;
v_b_8422_ = v_a_8429_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0___boxed(lean_object* v___x_8447_, lean_object* v_as_8448_, lean_object* v_sz_8449_, lean_object* v_i_8450_, lean_object* v_b_8451_, lean_object* v___y_8452_, lean_object* v___y_8453_, lean_object* v___y_8454_, lean_object* v___y_8455_, lean_object* v___y_8456_){
_start:
{
size_t v_sz_boxed_8457_; size_t v_i_boxed_8458_; lean_object* v_res_8459_; 
v_sz_boxed_8457_ = lean_unbox_usize(v_sz_8449_);
lean_dec(v_sz_8449_);
v_i_boxed_8458_ = lean_unbox_usize(v_i_8450_);
lean_dec(v_i_8450_);
v_res_8459_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0(v___x_8447_, v_as_8448_, v_sz_boxed_8457_, v_i_boxed_8458_, v_b_8451_, v___y_8452_, v___y_8453_, v___y_8454_, v___y_8455_);
lean_dec(v___y_8455_);
lean_dec_ref(v___y_8454_);
lean_dec(v___y_8453_);
lean_dec_ref(v___y_8452_);
lean_dec_ref(v_as_8448_);
return v_res_8459_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments(lean_object* v_e_8460_, lean_object* v_a_8461_, lean_object* v_a_8462_, lean_object* v_a_8463_, lean_object* v_a_8464_){
_start:
{
uint8_t v___x_8466_; 
v___x_8466_ = l_Lean_Expr_hasMVar(v_e_8460_);
if (v___x_8466_ == 0)
{
lean_object* v___x_8467_; 
v___x_8467_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_8467_, 0, v_e_8460_);
return v___x_8467_;
}
else
{
lean_object* v___x_8468_; 
v___x_8468_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go(v_e_8460_, v_a_8461_, v_a_8462_, v_a_8463_, v_a_8464_);
if (lean_obj_tag(v___x_8468_) == 0)
{
lean_object* v_a_8469_; lean_object* v___x_8470_; lean_object* v_mctx_8471_; lean_object* v___x_8472_; lean_object* v___x_8473_; lean_object* v_result_8474_; lean_object* v___x_8475_; size_t v_sz_8476_; size_t v___x_8477_; lean_object* v___x_8478_; 
v_a_8469_ = lean_ctor_get(v___x_8468_, 0);
lean_inc(v_a_8469_);
lean_dec_ref(v___x_8468_);
v___x_8470_ = lean_st_ref_get(v_a_8462_);
v_mctx_8471_ = lean_ctor_get(v___x_8470_, 0);
lean_inc_ref(v_mctx_8471_);
lean_dec(v___x_8470_);
v___x_8472_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___closed__1, &l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___closed__1_once, _init_l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_go___closed__1);
lean_inc(v_a_8469_);
v___x_8473_ = l_Lean_Expr_collectMVars(v___x_8472_, v_a_8469_);
v_result_8474_ = lean_ctor_get(v___x_8473_, 1);
lean_inc_ref(v_result_8474_);
lean_dec_ref(v___x_8473_);
v___x_8475_ = lean_box(0);
v_sz_8476_ = lean_array_size(v_result_8474_);
v___x_8477_ = ((size_t)0ULL);
v___x_8478_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments_spec__0(v_mctx_8471_, v_result_8474_, v_sz_8476_, v___x_8477_, v___x_8475_, v_a_8461_, v_a_8462_, v_a_8463_, v_a_8464_);
lean_dec_ref(v_result_8474_);
if (lean_obj_tag(v___x_8478_) == 0)
{
lean_object* v___x_8480_; uint8_t v_isShared_8481_; uint8_t v_isSharedCheck_8485_; 
v_isSharedCheck_8485_ = !lean_is_exclusive(v___x_8478_);
if (v_isSharedCheck_8485_ == 0)
{
lean_object* v_unused_8486_; 
v_unused_8486_ = lean_ctor_get(v___x_8478_, 0);
lean_dec(v_unused_8486_);
v___x_8480_ = v___x_8478_;
v_isShared_8481_ = v_isSharedCheck_8485_;
goto v_resetjp_8479_;
}
else
{
lean_dec(v___x_8478_);
v___x_8480_ = lean_box(0);
v_isShared_8481_ = v_isSharedCheck_8485_;
goto v_resetjp_8479_;
}
v_resetjp_8479_:
{
lean_object* v___x_8483_; 
if (v_isShared_8481_ == 0)
{
lean_ctor_set(v___x_8480_, 0, v_a_8469_);
v___x_8483_ = v___x_8480_;
goto v_reusejp_8482_;
}
else
{
lean_object* v_reuseFailAlloc_8484_; 
v_reuseFailAlloc_8484_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8484_, 0, v_a_8469_);
v___x_8483_ = v_reuseFailAlloc_8484_;
goto v_reusejp_8482_;
}
v_reusejp_8482_:
{
return v___x_8483_;
}
}
}
else
{
lean_object* v_a_8487_; lean_object* v___x_8489_; uint8_t v_isShared_8490_; uint8_t v_isSharedCheck_8494_; 
lean_dec(v_a_8469_);
v_a_8487_ = lean_ctor_get(v___x_8478_, 0);
v_isSharedCheck_8494_ = !lean_is_exclusive(v___x_8478_);
if (v_isSharedCheck_8494_ == 0)
{
v___x_8489_ = v___x_8478_;
v_isShared_8490_ = v_isSharedCheck_8494_;
goto v_resetjp_8488_;
}
else
{
lean_inc(v_a_8487_);
lean_dec(v___x_8478_);
v___x_8489_ = lean_box(0);
v_isShared_8490_ = v_isSharedCheck_8494_;
goto v_resetjp_8488_;
}
v_resetjp_8488_:
{
lean_object* v___x_8492_; 
if (v_isShared_8490_ == 0)
{
v___x_8492_ = v___x_8489_;
goto v_reusejp_8491_;
}
else
{
lean_object* v_reuseFailAlloc_8493_; 
v_reuseFailAlloc_8493_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8493_, 0, v_a_8487_);
v___x_8492_ = v_reuseFailAlloc_8493_;
goto v_reusejp_8491_;
}
v_reusejp_8491_:
{
return v___x_8492_;
}
}
}
}
else
{
return v___x_8468_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments___boxed(lean_object* v_e_8495_, lean_object* v_a_8496_, lean_object* v_a_8497_, lean_object* v_a_8498_, lean_object* v_a_8499_, lean_object* v_a_8500_){
_start:
{
lean_object* v_res_8501_; 
v_res_8501_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments(v_e_8495_, v_a_8496_, v_a_8497_, v_a_8498_, v_a_8499_);
lean_dec(v_a_8499_);
lean_dec_ref(v_a_8498_);
lean_dec(v_a_8497_);
lean_dec_ref(v_a_8496_);
return v_res_8501_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0___redArg(lean_object* v_kind_8502_, lean_object* v___y_8503_){
_start:
{
lean_object* v___x_8505_; lean_object* v_auxDeclNGen_8506_; lean_object* v___x_8507_; lean_object* v_env_8508_; lean_object* v___x_8509_; lean_object* v_fst_8510_; lean_object* v_snd_8511_; lean_object* v___x_8512_; lean_object* v_env_8513_; lean_object* v_nextMacroScope_8514_; lean_object* v_ngen_8515_; lean_object* v_traceState_8516_; lean_object* v_cache_8517_; lean_object* v_messages_8518_; lean_object* v_infoState_8519_; lean_object* v_snapshotTasks_8520_; lean_object* v___x_8522_; uint8_t v_isShared_8523_; uint8_t v_isSharedCheck_8529_; 
v___x_8505_ = lean_st_ref_get(v___y_8503_);
v_auxDeclNGen_8506_ = lean_ctor_get(v___x_8505_, 3);
lean_inc_ref(v_auxDeclNGen_8506_);
lean_dec(v___x_8505_);
v___x_8507_ = lean_st_ref_get(v___y_8503_);
v_env_8508_ = lean_ctor_get(v___x_8507_, 0);
lean_inc_ref(v_env_8508_);
lean_dec(v___x_8507_);
v___x_8509_ = l_Lean_DeclNameGenerator_mkUniqueName(v_env_8508_, v_auxDeclNGen_8506_, v_kind_8502_);
v_fst_8510_ = lean_ctor_get(v___x_8509_, 0);
lean_inc(v_fst_8510_);
v_snd_8511_ = lean_ctor_get(v___x_8509_, 1);
lean_inc(v_snd_8511_);
lean_dec_ref(v___x_8509_);
v___x_8512_ = lean_st_ref_take(v___y_8503_);
v_env_8513_ = lean_ctor_get(v___x_8512_, 0);
v_nextMacroScope_8514_ = lean_ctor_get(v___x_8512_, 1);
v_ngen_8515_ = lean_ctor_get(v___x_8512_, 2);
v_traceState_8516_ = lean_ctor_get(v___x_8512_, 4);
v_cache_8517_ = lean_ctor_get(v___x_8512_, 5);
v_messages_8518_ = lean_ctor_get(v___x_8512_, 6);
v_infoState_8519_ = lean_ctor_get(v___x_8512_, 7);
v_snapshotTasks_8520_ = lean_ctor_get(v___x_8512_, 8);
v_isSharedCheck_8529_ = !lean_is_exclusive(v___x_8512_);
if (v_isSharedCheck_8529_ == 0)
{
lean_object* v_unused_8530_; 
v_unused_8530_ = lean_ctor_get(v___x_8512_, 3);
lean_dec(v_unused_8530_);
v___x_8522_ = v___x_8512_;
v_isShared_8523_ = v_isSharedCheck_8529_;
goto v_resetjp_8521_;
}
else
{
lean_inc(v_snapshotTasks_8520_);
lean_inc(v_infoState_8519_);
lean_inc(v_messages_8518_);
lean_inc(v_cache_8517_);
lean_inc(v_traceState_8516_);
lean_inc(v_ngen_8515_);
lean_inc(v_nextMacroScope_8514_);
lean_inc(v_env_8513_);
lean_dec(v___x_8512_);
v___x_8522_ = lean_box(0);
v_isShared_8523_ = v_isSharedCheck_8529_;
goto v_resetjp_8521_;
}
v_resetjp_8521_:
{
lean_object* v___x_8525_; 
if (v_isShared_8523_ == 0)
{
lean_ctor_set(v___x_8522_, 3, v_snd_8511_);
v___x_8525_ = v___x_8522_;
goto v_reusejp_8524_;
}
else
{
lean_object* v_reuseFailAlloc_8528_; 
v_reuseFailAlloc_8528_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_8528_, 0, v_env_8513_);
lean_ctor_set(v_reuseFailAlloc_8528_, 1, v_nextMacroScope_8514_);
lean_ctor_set(v_reuseFailAlloc_8528_, 2, v_ngen_8515_);
lean_ctor_set(v_reuseFailAlloc_8528_, 3, v_snd_8511_);
lean_ctor_set(v_reuseFailAlloc_8528_, 4, v_traceState_8516_);
lean_ctor_set(v_reuseFailAlloc_8528_, 5, v_cache_8517_);
lean_ctor_set(v_reuseFailAlloc_8528_, 6, v_messages_8518_);
lean_ctor_set(v_reuseFailAlloc_8528_, 7, v_infoState_8519_);
lean_ctor_set(v_reuseFailAlloc_8528_, 8, v_snapshotTasks_8520_);
v___x_8525_ = v_reuseFailAlloc_8528_;
goto v_reusejp_8524_;
}
v_reusejp_8524_:
{
lean_object* v___x_8526_; lean_object* v___x_8527_; 
v___x_8526_ = lean_st_ref_set(v___y_8503_, v___x_8525_);
v___x_8527_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_8527_, 0, v_fst_8510_);
return v___x_8527_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0___redArg___boxed(lean_object* v_kind_8531_, lean_object* v___y_8532_, lean_object* v___y_8533_){
_start:
{
lean_object* v_res_8534_; 
v_res_8534_ = l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0___redArg(v_kind_8531_, v___y_8532_);
lean_dec(v___y_8532_);
return v_res_8534_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0(lean_object* v_kind_8535_, lean_object* v___y_8536_, lean_object* v___y_8537_, lean_object* v___y_8538_, lean_object* v___y_8539_){
_start:
{
lean_object* v___x_8541_; 
v___x_8541_ = l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0___redArg(v_kind_8535_, v___y_8539_);
return v___x_8541_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0___boxed(lean_object* v_kind_8542_, lean_object* v___y_8543_, lean_object* v___y_8544_, lean_object* v___y_8545_, lean_object* v___y_8546_, lean_object* v___y_8547_){
_start:
{
lean_object* v_res_8548_; 
v_res_8548_ = l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0(v_kind_8542_, v___y_8543_, v___y_8544_, v___y_8545_, v___y_8546_);
lean_dec(v___y_8546_);
lean_dec_ref(v___y_8545_);
lean_dec(v___y_8544_);
lean_dec_ref(v___y_8543_);
return v_res_8548_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___redArg(lean_object* v_cls_8551_, lean_object* v___y_8552_){
_start:
{
lean_object* v_options_8554_; uint8_t v_hasTrace_8555_; 
v_options_8554_ = lean_ctor_get(v___y_8552_, 2);
v_hasTrace_8555_ = lean_ctor_get_uint8(v_options_8554_, sizeof(void*)*1);
if (v_hasTrace_8555_ == 0)
{
lean_object* v___x_8556_; lean_object* v___x_8557_; 
lean_dec(v_cls_8551_);
v___x_8556_ = lean_box(v_hasTrace_8555_);
v___x_8557_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_8557_, 0, v___x_8556_);
return v___x_8557_;
}
else
{
lean_object* v_inheritedTraceOptions_8558_; lean_object* v___x_8559_; lean_object* v___x_8560_; uint8_t v___x_8561_; lean_object* v___x_8562_; lean_object* v___x_8563_; 
v_inheritedTraceOptions_8558_ = lean_ctor_get(v___y_8552_, 13);
v___x_8559_ = ((lean_object*)(l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___redArg___closed__0));
v___x_8560_ = l_Lean_Name_append(v___x_8559_, v_cls_8551_);
v___x_8561_ = l___private_Lean_Util_Trace_0__Lean_checkTraceOption_go(v_inheritedTraceOptions_8558_, v_options_8554_, v___x_8560_);
lean_dec(v___x_8560_);
v___x_8562_ = lean_box(v___x_8561_);
v___x_8563_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_8563_, 0, v___x_8562_);
return v___x_8563_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___redArg___boxed(lean_object* v_cls_8564_, lean_object* v___y_8565_, lean_object* v___y_8566_){
_start:
{
lean_object* v_res_8567_; 
v_res_8567_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___redArg(v_cls_8564_, v___y_8565_);
lean_dec_ref(v___y_8565_);
return v_res_8567_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1(lean_object* v_cls_8568_, lean_object* v___y_8569_, lean_object* v___y_8570_, lean_object* v___y_8571_, lean_object* v___y_8572_){
_start:
{
lean_object* v___x_8574_; 
v___x_8574_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___redArg(v_cls_8568_, v___y_8571_);
return v___x_8574_;
}
}
LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___boxed(lean_object* v_cls_8575_, lean_object* v___y_8576_, lean_object* v___y_8577_, lean_object* v___y_8578_, lean_object* v___y_8579_, lean_object* v___y_8580_){
_start:
{
lean_object* v_res_8581_; 
v_res_8581_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1(v_cls_8575_, v___y_8576_, v___y_8577_, v___y_8578_, v___y_8579_);
lean_dec(v___y_8579_);
lean_dec_ref(v___y_8578_);
lean_dec(v___y_8577_);
lean_dec_ref(v___y_8576_);
return v_res_8581_;
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__2(lean_object* v_cls_8582_, lean_object* v_msg_8583_, lean_object* v___y_8584_, lean_object* v___y_8585_, lean_object* v___y_8586_, lean_object* v___y_8587_){
_start:
{
lean_object* v_ref_8589_; lean_object* v___x_8590_; lean_object* v_a_8591_; lean_object* v___x_8593_; uint8_t v_isShared_8594_; uint8_t v_isSharedCheck_8635_; 
v_ref_8589_ = lean_ctor_get(v___y_8586_, 5);
v___x_8590_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_throwErrorAt___at___00Lean_throwUnknownIdentifierAt___at___00Lean_throwUnknownConstantAt___at___00Lean_throwUnknownConstant___at___00Lean_getConstVal___at___00Lean_mkConstWithLevelParams___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__0_spec__0_spec__1_spec__4_spec__6_spec__8_spec__10_spec__11(v_msg_8583_, v___y_8584_, v___y_8585_, v___y_8586_, v___y_8587_);
v_a_8591_ = lean_ctor_get(v___x_8590_, 0);
v_isSharedCheck_8635_ = !lean_is_exclusive(v___x_8590_);
if (v_isSharedCheck_8635_ == 0)
{
v___x_8593_ = v___x_8590_;
v_isShared_8594_ = v_isSharedCheck_8635_;
goto v_resetjp_8592_;
}
else
{
lean_inc(v_a_8591_);
lean_dec(v___x_8590_);
v___x_8593_ = lean_box(0);
v_isShared_8594_ = v_isSharedCheck_8635_;
goto v_resetjp_8592_;
}
v_resetjp_8592_:
{
lean_object* v___x_8595_; lean_object* v_traceState_8596_; lean_object* v_env_8597_; lean_object* v_nextMacroScope_8598_; lean_object* v_ngen_8599_; lean_object* v_auxDeclNGen_8600_; lean_object* v_cache_8601_; lean_object* v_messages_8602_; lean_object* v_infoState_8603_; lean_object* v_snapshotTasks_8604_; lean_object* v___x_8606_; uint8_t v_isShared_8607_; uint8_t v_isSharedCheck_8634_; 
v___x_8595_ = lean_st_ref_take(v___y_8587_);
v_traceState_8596_ = lean_ctor_get(v___x_8595_, 4);
v_env_8597_ = lean_ctor_get(v___x_8595_, 0);
v_nextMacroScope_8598_ = lean_ctor_get(v___x_8595_, 1);
v_ngen_8599_ = lean_ctor_get(v___x_8595_, 2);
v_auxDeclNGen_8600_ = lean_ctor_get(v___x_8595_, 3);
v_cache_8601_ = lean_ctor_get(v___x_8595_, 5);
v_messages_8602_ = lean_ctor_get(v___x_8595_, 6);
v_infoState_8603_ = lean_ctor_get(v___x_8595_, 7);
v_snapshotTasks_8604_ = lean_ctor_get(v___x_8595_, 8);
v_isSharedCheck_8634_ = !lean_is_exclusive(v___x_8595_);
if (v_isSharedCheck_8634_ == 0)
{
v___x_8606_ = v___x_8595_;
v_isShared_8607_ = v_isSharedCheck_8634_;
goto v_resetjp_8605_;
}
else
{
lean_inc(v_snapshotTasks_8604_);
lean_inc(v_infoState_8603_);
lean_inc(v_messages_8602_);
lean_inc(v_cache_8601_);
lean_inc(v_traceState_8596_);
lean_inc(v_auxDeclNGen_8600_);
lean_inc(v_ngen_8599_);
lean_inc(v_nextMacroScope_8598_);
lean_inc(v_env_8597_);
lean_dec(v___x_8595_);
v___x_8606_ = lean_box(0);
v_isShared_8607_ = v_isSharedCheck_8634_;
goto v_resetjp_8605_;
}
v_resetjp_8605_:
{
uint64_t v_tid_8608_; lean_object* v_traces_8609_; lean_object* v___x_8611_; uint8_t v_isShared_8612_; uint8_t v_isSharedCheck_8633_; 
v_tid_8608_ = lean_ctor_get_uint64(v_traceState_8596_, sizeof(void*)*1);
v_traces_8609_ = lean_ctor_get(v_traceState_8596_, 0);
v_isSharedCheck_8633_ = !lean_is_exclusive(v_traceState_8596_);
if (v_isSharedCheck_8633_ == 0)
{
v___x_8611_ = v_traceState_8596_;
v_isShared_8612_ = v_isSharedCheck_8633_;
goto v_resetjp_8610_;
}
else
{
lean_inc(v_traces_8609_);
lean_dec(v_traceState_8596_);
v___x_8611_ = lean_box(0);
v_isShared_8612_ = v_isSharedCheck_8633_;
goto v_resetjp_8610_;
}
v_resetjp_8610_:
{
lean_object* v___x_8613_; double v___x_8614_; uint8_t v___x_8615_; lean_object* v___x_8616_; lean_object* v___x_8617_; lean_object* v___x_8618_; lean_object* v___x_8619_; lean_object* v___x_8620_; lean_object* v___x_8621_; lean_object* v___x_8623_; 
v___x_8613_ = lean_box(0);
v___x_8614_ = lean_float_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__0);
v___x_8615_ = 0;
v___x_8616_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__1));
v___x_8617_ = lean_alloc_ctor(0, 3, 17);
lean_ctor_set(v___x_8617_, 0, v_cls_8582_);
lean_ctor_set(v___x_8617_, 1, v___x_8613_);
lean_ctor_set(v___x_8617_, 2, v___x_8616_);
lean_ctor_set_float(v___x_8617_, sizeof(void*)*3, v___x_8614_);
lean_ctor_set_float(v___x_8617_, sizeof(void*)*3 + 8, v___x_8614_);
lean_ctor_set_uint8(v___x_8617_, sizeof(void*)*3 + 16, v___x_8615_);
v___x_8618_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_countersToMessageData_spec__1___closed__4));
v___x_8619_ = lean_alloc_ctor(9, 3, 0);
lean_ctor_set(v___x_8619_, 0, v___x_8617_);
lean_ctor_set(v___x_8619_, 1, v_a_8591_);
lean_ctor_set(v___x_8619_, 2, v___x_8618_);
lean_inc(v_ref_8589_);
v___x_8620_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_8620_, 0, v_ref_8589_);
lean_ctor_set(v___x_8620_, 1, v___x_8619_);
v___x_8621_ = l_Lean_PersistentArray_push___redArg(v_traces_8609_, v___x_8620_);
if (v_isShared_8612_ == 0)
{
lean_ctor_set(v___x_8611_, 0, v___x_8621_);
v___x_8623_ = v___x_8611_;
goto v_reusejp_8622_;
}
else
{
lean_object* v_reuseFailAlloc_8632_; 
v_reuseFailAlloc_8632_ = lean_alloc_ctor(0, 1, 8);
lean_ctor_set(v_reuseFailAlloc_8632_, 0, v___x_8621_);
lean_ctor_set_uint64(v_reuseFailAlloc_8632_, sizeof(void*)*1, v_tid_8608_);
v___x_8623_ = v_reuseFailAlloc_8632_;
goto v_reusejp_8622_;
}
v_reusejp_8622_:
{
lean_object* v___x_8625_; 
if (v_isShared_8607_ == 0)
{
lean_ctor_set(v___x_8606_, 4, v___x_8623_);
v___x_8625_ = v___x_8606_;
goto v_reusejp_8624_;
}
else
{
lean_object* v_reuseFailAlloc_8631_; 
v_reuseFailAlloc_8631_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_8631_, 0, v_env_8597_);
lean_ctor_set(v_reuseFailAlloc_8631_, 1, v_nextMacroScope_8598_);
lean_ctor_set(v_reuseFailAlloc_8631_, 2, v_ngen_8599_);
lean_ctor_set(v_reuseFailAlloc_8631_, 3, v_auxDeclNGen_8600_);
lean_ctor_set(v_reuseFailAlloc_8631_, 4, v___x_8623_);
lean_ctor_set(v_reuseFailAlloc_8631_, 5, v_cache_8601_);
lean_ctor_set(v_reuseFailAlloc_8631_, 6, v_messages_8602_);
lean_ctor_set(v_reuseFailAlloc_8631_, 7, v_infoState_8603_);
lean_ctor_set(v_reuseFailAlloc_8631_, 8, v_snapshotTasks_8604_);
v___x_8625_ = v_reuseFailAlloc_8631_;
goto v_reusejp_8624_;
}
v_reusejp_8624_:
{
lean_object* v___x_8626_; lean_object* v___x_8627_; lean_object* v___x_8629_; 
v___x_8626_ = lean_st_ref_set(v___y_8587_, v___x_8625_);
v___x_8627_ = lean_box(0);
if (v_isShared_8594_ == 0)
{
lean_ctor_set(v___x_8593_, 0, v___x_8627_);
v___x_8629_ = v___x_8593_;
goto v_reusejp_8628_;
}
else
{
lean_object* v_reuseFailAlloc_8630_; 
v_reuseFailAlloc_8630_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8630_, 0, v___x_8627_);
v___x_8629_ = v_reuseFailAlloc_8630_;
goto v_reusejp_8628_;
}
v_reusejp_8628_:
{
return v___x_8629_;
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_addTrace___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__2___boxed(lean_object* v_cls_8636_, lean_object* v_msg_8637_, lean_object* v___y_8638_, lean_object* v___y_8639_, lean_object* v___y_8640_, lean_object* v___y_8641_, lean_object* v___y_8642_){
_start:
{
lean_object* v_res_8643_; 
v_res_8643_ = l_Lean_addTrace___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__2(v_cls_8636_, v_msg_8637_, v___y_8638_, v___y_8639_, v___y_8640_, v___y_8641_);
lean_dec(v___y_8641_);
lean_dec_ref(v___y_8640_);
lean_dec(v___y_8639_);
lean_dec_ref(v___y_8638_);
return v_res_8643_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize(lean_object* v_config_8650_, lean_object* v_val_8651_, lean_object* v_a_8652_, lean_object* v_a_8653_, lean_object* v_a_8654_, lean_object* v_a_8655_){
_start:
{
lean_object* v___y_8658_; lean_object* v___y_8659_; lean_object* v___y_8660_; lean_object* v___y_8661_; lean_object* v_cls_8690_; lean_object* v___x_8691_; lean_object* v_a_8692_; uint8_t v___x_8693_; 
v_cls_8690_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___closed__2));
v___x_8691_ = l_Lean_isTracingEnabledFor___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__1___redArg(v_cls_8690_, v_a_8654_);
v_a_8692_ = lean_ctor_get(v___x_8691_, 0);
lean_inc(v_a_8692_);
lean_dec_ref(v___x_8691_);
v___x_8693_ = lean_unbox(v_a_8692_);
lean_dec(v_a_8692_);
if (v___x_8693_ == 0)
{
v___y_8658_ = v_a_8652_;
v___y_8659_ = v_a_8653_;
v___y_8660_ = v_a_8654_;
v___y_8661_ = v_a_8655_;
goto v___jp_8657_;
}
else
{
lean_object* v___x_8694_; lean_object* v___x_8695_; 
lean_inc_ref(v_val_8651_);
v___x_8694_ = l_Lean_MessageData_ofExpr(v_val_8651_);
v___x_8695_ = l_Lean_addTrace___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__2(v_cls_8690_, v___x_8694_, v_a_8652_, v_a_8653_, v_a_8654_, v_a_8655_);
if (lean_obj_tag(v___x_8695_) == 0)
{
lean_dec_ref(v___x_8695_);
v___y_8658_ = v_a_8652_;
v___y_8659_ = v_a_8653_;
v___y_8660_ = v_a_8654_;
v___y_8661_ = v_a_8655_;
goto v___jp_8657_;
}
else
{
lean_object* v_a_8696_; lean_object* v___x_8698_; uint8_t v_isShared_8699_; uint8_t v_isSharedCheck_8703_; 
lean_dec(v_a_8655_);
lean_dec_ref(v_a_8654_);
lean_dec(v_a_8653_);
lean_dec_ref(v_a_8652_);
lean_dec_ref(v_val_8651_);
v_a_8696_ = lean_ctor_get(v___x_8695_, 0);
v_isSharedCheck_8703_ = !lean_is_exclusive(v___x_8695_);
if (v_isSharedCheck_8703_ == 0)
{
v___x_8698_ = v___x_8695_;
v_isShared_8699_ = v_isSharedCheck_8703_;
goto v_resetjp_8697_;
}
else
{
lean_inc(v_a_8696_);
lean_dec(v___x_8695_);
v___x_8698_ = lean_box(0);
v_isShared_8699_ = v_isSharedCheck_8703_;
goto v_resetjp_8697_;
}
v_resetjp_8697_:
{
lean_object* v___x_8701_; 
if (v_isShared_8699_ == 0)
{
v___x_8701_ = v___x_8698_;
goto v_reusejp_8700_;
}
else
{
lean_object* v_reuseFailAlloc_8702_; 
v_reuseFailAlloc_8702_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8702_, 0, v_a_8696_);
v___x_8701_ = v_reuseFailAlloc_8702_;
goto v_reusejp_8700_;
}
v_reusejp_8700_:
{
return v___x_8701_;
}
}
}
}
v___jp_8657_:
{
lean_object* v___x_8662_; 
lean_inc(v___y_8661_);
lean_inc_ref(v___y_8660_);
lean_inc(v___y_8659_);
lean_inc_ref(v___y_8658_);
lean_inc_ref(v_val_8651_);
v___x_8662_ = lean_infer_type(v_val_8651_, v___y_8658_, v___y_8659_, v___y_8660_, v___y_8661_);
if (lean_obj_tag(v___x_8662_) == 0)
{
lean_object* v_a_8663_; lean_object* v___x_8664_; 
v_a_8663_ = lean_ctor_get(v___x_8662_, 0);
lean_inc(v_a_8663_);
lean_dec_ref(v___x_8662_);
lean_inc(v___y_8661_);
lean_inc_ref(v___y_8660_);
lean_inc(v___y_8659_);
lean_inc_ref(v___y_8658_);
lean_inc(v_a_8663_);
v___x_8664_ = l_Lean_Meta_isProp(v_a_8663_, v___y_8658_, v___y_8659_, v___y_8660_, v___y_8661_);
if (lean_obj_tag(v___x_8664_) == 0)
{
uint8_t v_abstractProof_8665_; 
v_abstractProof_8665_ = lean_ctor_get_uint8(v_config_8650_, sizeof(void*)*11 + 25);
if (v_abstractProof_8665_ == 0)
{
lean_object* v___x_8667_; uint8_t v_isShared_8668_; uint8_t v_isSharedCheck_8672_; 
lean_dec(v_a_8663_);
lean_dec(v___y_8661_);
lean_dec_ref(v___y_8660_);
lean_dec(v___y_8659_);
lean_dec_ref(v___y_8658_);
v_isSharedCheck_8672_ = !lean_is_exclusive(v___x_8664_);
if (v_isSharedCheck_8672_ == 0)
{
lean_object* v_unused_8673_; 
v_unused_8673_ = lean_ctor_get(v___x_8664_, 0);
lean_dec(v_unused_8673_);
v___x_8667_ = v___x_8664_;
v_isShared_8668_ = v_isSharedCheck_8672_;
goto v_resetjp_8666_;
}
else
{
lean_dec(v___x_8664_);
v___x_8667_ = lean_box(0);
v_isShared_8668_ = v_isSharedCheck_8672_;
goto v_resetjp_8666_;
}
v_resetjp_8666_:
{
lean_object* v___x_8670_; 
if (v_isShared_8668_ == 0)
{
lean_ctor_set(v___x_8667_, 0, v_val_8651_);
v___x_8670_ = v___x_8667_;
goto v_reusejp_8669_;
}
else
{
lean_object* v_reuseFailAlloc_8671_; 
v_reuseFailAlloc_8671_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8671_, 0, v_val_8651_);
v___x_8670_ = v_reuseFailAlloc_8671_;
goto v_reusejp_8669_;
}
v_reusejp_8669_:
{
return v___x_8670_;
}
}
}
else
{
lean_object* v_a_8674_; uint8_t v___x_8675_; 
v_a_8674_ = lean_ctor_get(v___x_8664_, 0);
lean_inc(v_a_8674_);
lean_dec_ref(v___x_8664_);
v___x_8675_ = lean_unbox(v_a_8674_);
lean_dec(v_a_8674_);
if (v___x_8675_ == 0)
{
lean_object* v___x_8676_; lean_object* v___x_8677_; lean_object* v_a_8678_; lean_object* v___x_8679_; 
v___x_8676_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_mkGlobalDiag___closed__1));
v___x_8677_ = l_Lean_mkAuxDeclName___at___00__private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize_spec__0___redArg(v___x_8676_, v___y_8661_);
v_a_8678_ = lean_ctor_get(v___x_8677_, 0);
lean_inc(v_a_8678_);
lean_dec_ref(v___x_8677_);
v___x_8679_ = l_Lean_Meta_mkAuxDefinition(v_a_8678_, v_a_8663_, v_val_8651_, v_abstractProof_8665_, v_abstractProof_8665_, v___y_8658_, v___y_8659_, v___y_8660_, v___y_8661_);
return v___x_8679_;
}
else
{
lean_object* v___x_8680_; lean_object* v___x_8681_; 
v___x_8680_ = lean_box(0);
v___x_8681_ = l_Lean_Meta_mkAuxTheorem(v_a_8663_, v_val_8651_, v_abstractProof_8665_, v___x_8680_, v_abstractProof_8665_, v___y_8658_, v___y_8659_, v___y_8660_, v___y_8661_);
return v___x_8681_;
}
}
}
else
{
lean_object* v_a_8682_; lean_object* v___x_8684_; uint8_t v_isShared_8685_; uint8_t v_isSharedCheck_8689_; 
lean_dec(v_a_8663_);
lean_dec(v___y_8661_);
lean_dec_ref(v___y_8660_);
lean_dec(v___y_8659_);
lean_dec_ref(v___y_8658_);
lean_dec_ref(v_val_8651_);
v_a_8682_ = lean_ctor_get(v___x_8664_, 0);
v_isSharedCheck_8689_ = !lean_is_exclusive(v___x_8664_);
if (v_isSharedCheck_8689_ == 0)
{
v___x_8684_ = v___x_8664_;
v_isShared_8685_ = v_isSharedCheck_8689_;
goto v_resetjp_8683_;
}
else
{
lean_inc(v_a_8682_);
lean_dec(v___x_8664_);
v___x_8684_ = lean_box(0);
v_isShared_8685_ = v_isSharedCheck_8689_;
goto v_resetjp_8683_;
}
v_resetjp_8683_:
{
lean_object* v___x_8687_; 
if (v_isShared_8685_ == 0)
{
v___x_8687_ = v___x_8684_;
goto v_reusejp_8686_;
}
else
{
lean_object* v_reuseFailAlloc_8688_; 
v_reuseFailAlloc_8688_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8688_, 0, v_a_8682_);
v___x_8687_ = v_reuseFailAlloc_8688_;
goto v_reusejp_8686_;
}
v_reusejp_8686_:
{
return v___x_8687_;
}
}
}
}
else
{
lean_dec(v___y_8661_);
lean_dec_ref(v___y_8660_);
lean_dec(v___y_8659_);
lean_dec_ref(v___y_8658_);
lean_dec_ref(v_val_8651_);
return v___x_8662_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___boxed(lean_object* v_config_8704_, lean_object* v_val_8705_, lean_object* v_a_8706_, lean_object* v_a_8707_, lean_object* v_a_8708_, lean_object* v_a_8709_, lean_object* v_a_8710_){
_start:
{
lean_object* v_res_8711_; 
v_res_8711_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize(v_config_8704_, v_val_8705_, v_a_8706_, v_a_8707_, v_a_8708_, v_a_8709_);
lean_dec_ref(v_config_8704_);
return v_res_8711_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__0(lean_object* v_a_8712_, lean_object* v_toPure_8713_, lean_object* v_val_8714_){
_start:
{
lean_object* v___x_8715_; lean_object* v___x_8716_; 
v___x_8715_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_8715_, 0, v_a_8712_);
lean_ctor_set(v___x_8715_, 1, v_val_8714_);
v___x_8716_ = lean_apply_2(v_toPure_8713_, lean_box(0), v___x_8715_);
return v___x_8716_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__1(lean_object* v_inst_8717_, lean_object* v_toBind_8718_, lean_object* v___f_8719_, lean_object* v_val_8720_){
_start:
{
lean_object* v___x_8721_; lean_object* v___x_8722_; lean_object* v___x_8723_; 
v___x_8721_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_resolveDelayedMVarAssignments___boxed), 6, 1);
lean_closure_set(v___x_8721_, 0, v_val_8720_);
v___x_8722_ = lean_apply_2(v_inst_8717_, lean_box(0), v___x_8721_);
v___x_8723_ = lean_apply_4(v_toBind_8718_, lean_box(0), lean_box(0), v___x_8722_, v___f_8719_);
return v___x_8723_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__2(lean_object* v_toPure_8724_, lean_object* v_inst_8725_, lean_object* v_toBind_8726_, lean_object* v_mvar_x27_8727_, lean_object* v_a_8728_){
_start:
{
lean_object* v___f_8729_; lean_object* v___f_8730_; lean_object* v___x_8731_; lean_object* v___x_8732_; lean_object* v___x_8733_; 
v___f_8729_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__0), 3, 2);
lean_closure_set(v___f_8729_, 0, v_a_8728_);
lean_closure_set(v___f_8729_, 1, v_toPure_8724_);
lean_inc(v_toBind_8726_);
lean_inc(v_inst_8725_);
v___f_8730_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__1), 4, 3);
lean_closure_set(v___f_8730_, 0, v_inst_8725_);
lean_closure_set(v___f_8730_, 1, v_toBind_8726_);
lean_closure_set(v___f_8730_, 2, v___f_8729_);
v___x_8731_ = lean_alloc_closure((void*)(l_Lean_Meta_instantiateMVarsProfiling___boxed), 6, 1);
lean_closure_set(v___x_8731_, 0, v_mvar_x27_8727_);
v___x_8732_ = lean_apply_2(v_inst_8725_, lean_box(0), v___x_8731_);
v___x_8733_ = lean_apply_4(v_toBind_8726_, lean_box(0), lean_box(0), v___x_8732_, v___f_8730_);
return v___x_8733_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__3(lean_object* v_toPure_8734_, lean_object* v_inst_8735_, lean_object* v_toBind_8736_, lean_object* v_k_8737_, lean_object* v_mvar_x27_8738_){
_start:
{
lean_object* v___f_8739_; lean_object* v___x_8740_; lean_object* v___x_8741_; lean_object* v___x_8742_; 
lean_inc_ref(v_mvar_x27_8738_);
lean_inc(v_toBind_8736_);
v___f_8739_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__2), 5, 4);
lean_closure_set(v___f_8739_, 0, v_toPure_8734_);
lean_closure_set(v___f_8739_, 1, v_inst_8735_);
lean_closure_set(v___f_8739_, 2, v_toBind_8736_);
lean_closure_set(v___f_8739_, 3, v_mvar_x27_8738_);
v___x_8740_ = l_Lean_Expr_mvarId_x21(v_mvar_x27_8738_);
lean_dec_ref(v_mvar_x27_8738_);
v___x_8741_ = lean_apply_1(v_k_8737_, v___x_8740_);
v___x_8742_ = lean_apply_4(v_toBind_8736_, lean_box(0), lean_box(0), v___x_8741_, v___f_8739_);
return v___x_8742_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__4(lean_object* v_toPure_8743_, lean_object* v_fst_8744_, lean_object* v_____r_8745_){
_start:
{
lean_object* v___x_8746_; 
v___x_8746_ = lean_apply_2(v_toPure_8743_, lean_box(0), v_fst_8744_);
return v___x_8746_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__5(lean_object* v___x_8747_, lean_object* v_mvarId_8748_, lean_object* v_inst_8749_, lean_object* v_toBind_8750_, lean_object* v___f_8751_, lean_object* v_val_8752_){
_start:
{
lean_object* v___x_8753_; lean_object* v___x_8754_; lean_object* v___x_8755_; 
v___x_8753_ = l_Lean_MVarId_assign___redArg(v___x_8747_, v_mvarId_8748_, v_val_8752_);
v___x_8754_ = lean_apply_2(v_inst_8749_, lean_box(0), v___x_8753_);
v___x_8755_ = lean_apply_4(v_toBind_8750_, lean_box(0), lean_box(0), v___x_8754_, v___f_8751_);
return v___x_8755_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__6(lean_object* v_toPure_8756_, lean_object* v___x_8757_, lean_object* v_mvarId_8758_, lean_object* v_inst_8759_, lean_object* v_toBind_8760_, lean_object* v_config_8761_, lean_object* v_____x_8762_){
_start:
{
lean_object* v_fst_8763_; lean_object* v_snd_8764_; lean_object* v___f_8765_; lean_object* v___f_8766_; lean_object* v___x_8767_; lean_object* v___x_8768_; lean_object* v___x_8769_; 
v_fst_8763_ = lean_ctor_get(v_____x_8762_, 0);
lean_inc(v_fst_8763_);
v_snd_8764_ = lean_ctor_get(v_____x_8762_, 1);
lean_inc(v_snd_8764_);
lean_dec_ref(v_____x_8762_);
v___f_8765_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__4), 3, 2);
lean_closure_set(v___f_8765_, 0, v_toPure_8756_);
lean_closure_set(v___f_8765_, 1, v_fst_8763_);
lean_inc(v_toBind_8760_);
lean_inc(v_inst_8759_);
v___f_8766_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__5), 6, 5);
lean_closure_set(v___f_8766_, 0, v___x_8757_);
lean_closure_set(v___f_8766_, 1, v_mvarId_8758_);
lean_closure_set(v___f_8766_, 2, v_inst_8759_);
lean_closure_set(v___f_8766_, 3, v_toBind_8760_);
lean_closure_set(v___f_8766_, 4, v___f_8765_);
v___x_8767_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_finalize___boxed), 7, 2);
lean_closure_set(v___x_8767_, 0, v_config_8761_);
lean_closure_set(v___x_8767_, 1, v_snd_8764_);
v___x_8768_ = lean_apply_2(v_inst_8759_, lean_box(0), v___x_8767_);
v___x_8769_ = lean_apply_4(v_toBind_8760_, lean_box(0), lean_box(0), v___x_8768_, v___f_8766_);
return v___x_8769_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__7(lean_object* v_inst_8770_, lean_object* v_toBind_8771_, lean_object* v___f_8772_, lean_object* v_inst_8773_, lean_object* v_inst_8774_, lean_object* v___f_8775_, lean_object* v_type_8776_){
_start:
{
lean_object* v___x_8777_; lean_object* v___x_8778_; lean_object* v___x_8779_; lean_object* v___x_8780_; uint8_t v___x_8781_; lean_object* v___x_8782_; lean_object* v___x_8783_; 
v___x_8777_ = lean_box(0);
v___x_8778_ = lean_alloc_closure((void*)(l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar___boxed), 7, 2);
lean_closure_set(v___x_8778_, 0, v_type_8776_);
lean_closure_set(v___x_8778_, 1, v___x_8777_);
v___x_8779_ = lean_apply_2(v_inst_8770_, lean_box(0), v___x_8778_);
lean_inc(v_toBind_8771_);
v___x_8780_ = lean_apply_4(v_toBind_8771_, lean_box(0), lean_box(0), v___x_8779_, v___f_8772_);
v___x_8781_ = 0;
v___x_8782_ = l_Lean_Meta_withNewMCtxDepth___redArg(v_inst_8773_, v_inst_8774_, v___x_8780_, v___x_8781_);
v___x_8783_ = lean_apply_4(v_toBind_8771_, lean_box(0), lean_box(0), v___x_8782_, v___f_8775_);
return v___x_8783_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg(lean_object* v_inst_8784_, lean_object* v_inst_8785_, lean_object* v_inst_8786_, lean_object* v_config_8787_, lean_object* v_k_8788_, lean_object* v_mvarId_8789_){
_start:
{
lean_object* v___x_8790_; lean_object* v_toApplicative_8791_; lean_object* v_toBind_8792_; lean_object* v_toPure_8793_; lean_object* v___x_8794_; lean_object* v___x_8795_; lean_object* v___f_8796_; lean_object* v___f_8797_; lean_object* v___f_8798_; lean_object* v___x_8799_; lean_object* v___x_8800_; 
v___x_8790_ = l_Lean_Meta_instMonadMCtxMetaM;
v_toApplicative_8791_ = lean_ctor_get(v_inst_8784_, 0);
v_toBind_8792_ = lean_ctor_get(v_inst_8784_, 1);
v_toPure_8793_ = lean_ctor_get(v_toApplicative_8791_, 1);
lean_inc(v_mvarId_8789_);
v___x_8794_ = lean_alloc_closure((void*)(l_Lean_MVarId_getType___boxed), 6, 1);
lean_closure_set(v___x_8794_, 0, v_mvarId_8789_);
lean_inc(v_inst_8786_);
v___x_8795_ = lean_apply_2(v_inst_8786_, lean_box(0), v___x_8794_);
lean_inc(v_toBind_8792_);
lean_inc(v_inst_8786_);
lean_inc(v_toPure_8793_);
v___f_8796_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__3), 5, 4);
lean_closure_set(v___f_8796_, 0, v_toPure_8793_);
lean_closure_set(v___f_8796_, 1, v_inst_8786_);
lean_closure_set(v___f_8796_, 2, v_toBind_8792_);
lean_closure_set(v___f_8796_, 3, v_k_8788_);
lean_inc(v_toBind_8792_);
lean_inc(v_inst_8786_);
lean_inc(v_mvarId_8789_);
lean_inc(v_toPure_8793_);
v___f_8797_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__6), 7, 6);
lean_closure_set(v___f_8797_, 0, v_toPure_8793_);
lean_closure_set(v___f_8797_, 1, v___x_8790_);
lean_closure_set(v___f_8797_, 2, v_mvarId_8789_);
lean_closure_set(v___f_8797_, 3, v_inst_8786_);
lean_closure_set(v___f_8797_, 4, v_toBind_8792_);
lean_closure_set(v___f_8797_, 5, v_config_8787_);
lean_inc_ref(v_inst_8784_);
lean_inc_ref(v_inst_8785_);
lean_inc(v_toBind_8792_);
v___f_8798_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg___lam__7), 7, 6);
lean_closure_set(v___f_8798_, 0, v_inst_8786_);
lean_closure_set(v___f_8798_, 1, v_toBind_8792_);
lean_closure_set(v___f_8798_, 2, v___f_8796_);
lean_closure_set(v___f_8798_, 3, v_inst_8785_);
lean_closure_set(v___f_8798_, 4, v_inst_8784_);
lean_closure_set(v___f_8798_, 5, v___f_8797_);
lean_inc(v_toBind_8792_);
v___x_8799_ = lean_apply_4(v_toBind_8792_, lean_box(0), lean_box(0), v___x_8795_, v___f_8798_);
v___x_8800_ = l_Lean_MVarId_withContext___redArg(v_inst_8785_, v_inst_8784_, v_mvarId_8789_, v___x_8799_);
return v___x_8800_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main(lean_object* v_m_8801_, lean_object* v_00_u03b1_8802_, lean_object* v_inst_8803_, lean_object* v_inst_8804_, lean_object* v_inst_8805_, lean_object* v_config_8806_, lean_object* v_k_8807_, lean_object* v_mvarId_8808_){
_start:
{
lean_object* v___x_8809_; 
v___x_8809_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg(v_inst_8803_, v_inst_8804_, v_inst_8805_, v_config_8806_, v_k_8807_, v_mvarId_8808_);
return v___x_8809_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__0(lean_object* v_inst_8810_, lean_object* v_ex_8811_, lean_object* v_____r_8812_){
_start:
{
lean_object* v_throw_8813_; lean_object* v___x_8814_; 
v_throw_8813_ = lean_ctor_get(v_inst_8810_, 0);
lean_inc(v_throw_8813_);
lean_dec_ref(v_inst_8810_);
v___x_8814_ = lean_apply_2(v_throw_8813_, lean_box(0), v_ex_8811_);
return v___x_8814_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__1(lean_object* v_inst_8815_, lean_object* v_mvarId_8816_, lean_object* v_inst_8817_, lean_object* v_toBind_8818_, lean_object* v_ex_8819_){
_start:
{
lean_object* v___f_8820_; uint8_t v___x_8821_; lean_object* v___x_8822_; lean_object* v___x_8823_; lean_object* v___x_8824_; lean_object* v___x_8825_; 
v___f_8820_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__0), 3, 2);
lean_closure_set(v___f_8820_, 0, v_inst_8815_);
lean_closure_set(v___f_8820_, 1, v_ex_8819_);
v___x_8821_ = 1;
v___x_8822_ = lean_box(v___x_8821_);
v___x_8823_ = lean_alloc_closure((void*)(l_Lean_MVarId_admit___boxed), 7, 2);
lean_closure_set(v___x_8823_, 0, v_mvarId_8816_);
lean_closure_set(v___x_8823_, 1, v___x_8822_);
v___x_8824_ = lean_apply_2(v_inst_8817_, lean_box(0), v___x_8823_);
v___x_8825_ = lean_apply_4(v_toBind_8818_, lean_box(0), lean_box(0), v___x_8824_, v___f_8820_);
return v___x_8825_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__2(lean_object* v_inst_8826_, lean_object* v_inst_8827_, lean_object* v_toBind_8828_, lean_object* v_inst_8829_, lean_object* v_inst_8830_, lean_object* v_config_8831_, lean_object* v_k_8832_, lean_object* v_inst_8833_, lean_object* v_____r_8834_, lean_object* v_mvarId_8835_){
_start:
{
lean_object* v___f_8836_; lean_object* v___x_8837_; lean_object* v___x_8838_; 
lean_inc(v_inst_8827_);
lean_inc(v_mvarId_8835_);
v___f_8836_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__1), 5, 4);
lean_closure_set(v___f_8836_, 0, v_inst_8826_);
lean_closure_set(v___f_8836_, 1, v_mvarId_8835_);
lean_closure_set(v___f_8836_, 2, v_inst_8827_);
lean_closure_set(v___f_8836_, 3, v_toBind_8828_);
v___x_8837_ = l___private_Lean_Meta_Tactic_Grind_Main_0__Lean_Meta_Grind_withProtectedMCtx_main___redArg(v_inst_8829_, v_inst_8830_, v_inst_8827_, v_config_8831_, v_k_8832_, v_mvarId_8835_);
v___x_8838_ = lean_apply_3(v_inst_8833_, lean_box(0), v___x_8837_, v___f_8836_);
return v___x_8838_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__3(lean_object* v___f_8839_, lean_object* v_mvarId_8840_){
_start:
{
lean_object* v___x_8841_; lean_object* v___x_8842_; 
v___x_8841_ = lean_box(0);
v___x_8842_ = lean_apply_2(v___f_8839_, v___x_8841_, v_mvarId_8840_);
return v___x_8842_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__4(lean_object* v_config_8843_, lean_object* v___f_8844_, lean_object* v_inst_8845_, lean_object* v_toBind_8846_, lean_object* v___f_8847_, lean_object* v_mvarId_8848_){
_start:
{
uint8_t v_revert_8849_; 
v_revert_8849_ = lean_ctor_get_uint8(v_config_8843_, sizeof(void*)*11 + 29);
if (v_revert_8849_ == 0)
{
lean_object* v___x_8850_; lean_object* v___x_8851_; 
lean_dec(v___f_8847_);
lean_dec(v_toBind_8846_);
lean_dec(v_inst_8845_);
v___x_8850_ = lean_box(0);
v___x_8851_ = lean_apply_2(v___f_8844_, v___x_8850_, v_mvarId_8848_);
return v___x_8851_;
}
else
{
lean_object* v___x_8852_; lean_object* v___x_8853_; lean_object* v___x_8854_; 
lean_dec(v___f_8844_);
v___x_8852_ = lean_alloc_closure((void*)(l_Lean_MVarId_clearImplDetails___boxed), 6, 1);
lean_closure_set(v___x_8852_, 0, v_mvarId_8848_);
v___x_8853_ = lean_apply_2(v_inst_8845_, lean_box(0), v___x_8852_);
v___x_8854_ = lean_apply_4(v_toBind_8846_, lean_box(0), lean_box(0), v___x_8853_, v___f_8847_);
return v___x_8854_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__4___boxed(lean_object* v_config_8855_, lean_object* v___f_8856_, lean_object* v_inst_8857_, lean_object* v_toBind_8858_, lean_object* v___f_8859_, lean_object* v_mvarId_8860_){
_start:
{
lean_object* v_res_8861_; 
v_res_8861_ = l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__4(v_config_8855_, v___f_8856_, v_inst_8857_, v_toBind_8858_, v___f_8859_, v_mvarId_8860_);
lean_dec_ref(v_config_8855_);
return v_res_8861_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx___redArg(lean_object* v_inst_8862_, lean_object* v_inst_8863_, lean_object* v_inst_8864_, lean_object* v_inst_8865_, lean_object* v_inst_8866_, lean_object* v_config_8867_, lean_object* v_mvarId_8868_, lean_object* v_k_8869_){
_start:
{
lean_object* v_toBind_8870_; lean_object* v___f_8871_; lean_object* v___f_8872_; lean_object* v___f_8873_; lean_object* v___x_8874_; lean_object* v___x_8875_; lean_object* v___x_8876_; 
v_toBind_8870_ = lean_ctor_get(v_inst_8862_, 1);
lean_inc(v_toBind_8870_);
lean_inc_ref(v_config_8867_);
lean_inc(v_toBind_8870_);
lean_inc(v_inst_8864_);
v___f_8871_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__2), 10, 8);
lean_closure_set(v___f_8871_, 0, v_inst_8865_);
lean_closure_set(v___f_8871_, 1, v_inst_8864_);
lean_closure_set(v___f_8871_, 2, v_toBind_8870_);
lean_closure_set(v___f_8871_, 3, v_inst_8862_);
lean_closure_set(v___f_8871_, 4, v_inst_8863_);
lean_closure_set(v___f_8871_, 5, v_config_8867_);
lean_closure_set(v___f_8871_, 6, v_k_8869_);
lean_closure_set(v___f_8871_, 7, v_inst_8866_);
lean_inc_ref(v___f_8871_);
v___f_8872_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__3), 2, 1);
lean_closure_set(v___f_8872_, 0, v___f_8871_);
lean_inc(v_toBind_8870_);
lean_inc(v_inst_8864_);
v___f_8873_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_withProtectedMCtx___redArg___lam__4___boxed), 6, 5);
lean_closure_set(v___f_8873_, 0, v_config_8867_);
lean_closure_set(v___f_8873_, 1, v___f_8871_);
lean_closure_set(v___f_8873_, 2, v_inst_8864_);
lean_closure_set(v___f_8873_, 3, v_toBind_8870_);
lean_closure_set(v___f_8873_, 4, v___f_8872_);
v___x_8874_ = lean_alloc_closure((void*)(l_Lean_MVarId_instantiateGoalMVars___boxed), 6, 1);
lean_closure_set(v___x_8874_, 0, v_mvarId_8868_);
v___x_8875_ = lean_apply_2(v_inst_8864_, lean_box(0), v___x_8874_);
v___x_8876_ = lean_apply_4(v_toBind_8870_, lean_box(0), lean_box(0), v___x_8875_, v___f_8873_);
return v___x_8876_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_withProtectedMCtx(lean_object* v_m_8877_, lean_object* v_00_u03b1_8878_, lean_object* v_inst_8879_, lean_object* v_inst_8880_, lean_object* v_inst_8881_, lean_object* v_inst_8882_, lean_object* v_inst_8883_, lean_object* v_config_8884_, lean_object* v_mvarId_8885_, lean_object* v_k_8886_){
_start:
{
lean_object* v___x_8887_; 
v___x_8887_ = l_Lean_Meta_Grind_withProtectedMCtx___redArg(v_inst_8879_, v_inst_8880_, v_inst_8881_, v_inst_8882_, v_inst_8883_, v_config_8884_, v_mvarId_8885_, v_k_8886_);
return v___x_8887_;
}
}
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Types(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Util(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Closure(uint8_t builtin);
lean_object* runtime_initialize_Lean_PrettyPrinter(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_ExposeNames(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Simp_Diagnostics(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Simp_Rewrite(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_RevertAll(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Proj(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_ForallProp(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_CtorIdx(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Intro(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Solve(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_EMatch(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_MarkNestedSubsingletons(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Internalize(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_SimpUtil(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_LawfulEqCmp(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_ReflCmp(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_PP(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Core(uint8_t builtin);
static bool _G_runtime_initialized = false;
LEAN_EXPORT lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Main(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_Tactic_Grind_Types(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Util(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Closure(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_PrettyPrinter(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_ExposeNames(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Simp_Diagnostics(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Simp_Rewrite(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_RevertAll(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Proj(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_ForallProp(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_CtorIdx(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Intro(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Solve(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_EMatch(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_MarkNestedSubsingletons(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Internalize(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_SimpUtil(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_LawfulEqCmp(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_ReflCmp(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_PP(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Core(builtin);
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_Tactic_Grind_Main(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_Tactic_Grind_Types(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Util(uint8_t builtin);
lean_object* initialize_Lean_Meta_Closure(uint8_t builtin);
lean_object* initialize_Lean_PrettyPrinter(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_ExposeNames(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Simp_Diagnostics(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Simp_Rewrite(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_RevertAll(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Proj(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_ForallProp(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_CtorIdx(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Intro(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Solve(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_EMatch(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_MarkNestedSubsingletons(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Internalize(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_SimpUtil(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_LawfulEqCmp(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_ReflCmp(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_PP(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Core(uint8_t builtin);
static bool _G_initialized = false;
LEAN_EXPORT lean_object* initialize_Lean_Meta_Tactic_Grind_Main(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_Tactic_Grind_Types(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Util(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Closure(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_PrettyPrinter(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_ExposeNames(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Simp_Diagnostics(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Simp_Rewrite(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_RevertAll(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Proj(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_ForallProp(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_CtorIdx(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Intro(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Solve(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_EMatch(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_MarkNestedSubsingletons(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Internalize(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_SimpUtil(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_LawfulEqCmp(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_ReflCmp(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_PP(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Core(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Main(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = meta_initialize_Lean_Meta_Tactic_Grind_Main(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return initialize_Lean_Meta_Tactic_Grind_Main(builtin);
}
#ifdef __cplusplus
}
#endif
