// Lean compiler output
// Module: Lean.Meta.Tactic.Grind.Arith.Linear.Proof
// Imports: public import Lean.Meta.Tactic.Grind.Arith.Util import Init.Grind.Module.OfNatModule import Lean.Data.RArray import Lean.Meta.Tactic.Grind.Arith.Linear.ToExpr import Lean.Meta.Tactic.Grind.Diseq import Lean.Meta.Tactic.Grind.ProofUtil import Lean.Meta.Tactic.Grind.Arith.CommRing.VarRename import Lean.Meta.Tactic.Grind.Arith.CommRing.ToExpr import Lean.Meta.Tactic.Grind.Arith.Linear.VarRename public import Lean.Meta.Tactic.Grind.Arith.Linear.DenoteExpr public import Lean.Meta.Tactic.Grind.Arith.Linear.OfNatModule import Init.Data.Nat.Order import Init.Data.Order.Lemmas
#include <lean/lean.h>
#if defined(__clang__)
#pragma clang diagnostic ignored "-Wunused-parameter"
#pragma clang diagnostic ignored "-Wunused-label"
#elif defined(__GNUC__) && !defined(__CLANG__)
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wunused-label"
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
#endif
#ifdef __cplusplus
extern "C" {
#endif
lean_object* lean_array_get_size(lean_object*);
uint64_t l_Lean_Meta_Grind_Arith_Linear_instHashablePoly__lean_hash(lean_object*);
uint64_t lean_uint64_shift_right(uint64_t, uint64_t);
uint64_t lean_uint64_xor(uint64_t, uint64_t);
size_t lean_uint64_to_usize(uint64_t);
size_t lean_usize_of_nat(lean_object*);
size_t lean_usize_sub(size_t, size_t);
size_t lean_usize_land(size_t, size_t);
lean_object* lean_array_uget_borrowed(lean_object*, size_t);
lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
lean_object* lean_nat_mul(lean_object*, lean_object*);
lean_object* lean_mk_array(lean_object*, 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*);
uint64_t l_Lean_Meta_Grind_Arith_Linear_instHashableExpr__lean_hash(lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
uint8_t l_Lean_Grind_CommRing_instBEqExpr_beq(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(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_mkConst(lean_object*, lean_object*);
lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_getCommRingInst(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_usize_dec_lt(size_t, size_t);
lean_object* lean_array_uget(lean_object*, size_t);
extern lean_object* l_Lean_instInhabitedExpr;
size_t lean_usize_add(size_t, size_t);
lean_object* l_outOfBounds___redArg(lean_object*);
lean_object* l_Lean_PersistentArray_get_x21___redArg(lean_object*, lean_object*, lean_object*);
lean_object* l_String_toRawSubstring_x27(lean_object*);
size_t lean_array_size(lean_object*);
lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*);
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_getLEInst(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_Arith_Linear_getLTInst(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_Arith_Linear_getLawfulOrderLTInst(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_Arith_Linear_getIsPreorderInst(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_Arith_Linear_getOrderedRingInst(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_mkApp8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_instMonadMetaM___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_expr_abstract(lean_object*, lean_object*);
lean_object* l_Array_reverse___redArg(lean_object*);
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
lean_object* lean_name_append_index_after(lean_object*, lean_object*);
lean_object* l_Lean_Expr_letE___override(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
uint8_t lean_usize_dec_eq(size_t, size_t);
lean_object* lean_array_push(lean_object*, lean_object*);
uint64_t lean_uint64_of_nat(lean_object*);
uint64_t l_Lean_Grind_CommRing_instHashablePoly_hash(lean_object*);
uint64_t l_Lean_Grind_CommRing_instHashableExpr_hash(lean_object*);
lean_object* lean_nat_div(lean_object*, lean_object*);
lean_object* lean_st_ref_get(lean_object*);
uint8_t l_Lean_Grind_Linarith_instBEqExpr_beq(lean_object*, lean_object*);
lean_object* lean_st_ref_take(lean_object*);
lean_object* l_Lean_Name_num___override(lean_object*, lean_object*);
lean_object* lean_st_ref_set(lean_object*, lean_object*);
lean_object* l_Lean_mkFVar(lean_object*);
uint8_t lean_uint64_dec_eq(uint64_t, uint64_t);
uint8_t l_Lean_Grind_CommRing_instBEqPoly_beq(lean_object*, lean_object*);
lean_object* lean_grind_mk_eq_proof(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_eagerReflBoolTrue;
lean_object* l_Lean_mkApp5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkApp4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Int_pow(lean_object*, lean_object*);
lean_object* l_Lean_Grind_CommRing_Poly_mulConst(lean_object*, lean_object*);
lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkApp7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
lean_object* lean_nat_to_int(lean_object*);
uint8_t lean_int_dec_le(lean_object*, lean_object*);
lean_object* l_Lean_Level_ofNat(lean_object*);
lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*);
lean_object* l_Lean_Name_mkStr1(lean_object*);
lean_object* lean_int_neg(lean_object*);
lean_object* l_Int_toNat(lean_object*);
lean_object* l_Lean_instToExprInt_mkNat(lean_object*);
uint8_t lean_int_dec_eq(lean_object*, lean_object*);
lean_object* l_Lean_mkIntLit(lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_getOrderedAddInst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Grind_Linarith_instBEqPoly_beq(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_isCommRing(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_Arith_CommRing_RingM_getCommRing(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_Arith_Linear_withRingM___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* l_Lean_Grind_CommRing_Poly_collectVars(lean_object*, lean_object*);
lean_object* l_Lean_Grind_CommRing_Expr_collectVars(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_collectVar(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_FoundVars_toArray(lean_object*);
lean_object* l_Lean_Meta_Grind_mkVarRename(lean_object*);
lean_object* l_Lean_Grind_CommRing_Expr_renameVars(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_CommRing_ofRingExpr(lean_object*);
lean_object* l_Lean_Grind_CommRing_Poly_renameVars(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_CommRing_ofPoly(lean_object*);
lean_object* l_Lean_mkNatLit(lean_object*);
lean_object* l_Lean_Expr_replaceFVars(lean_object*, lean_object*, lean_object*);
lean_object* lean_mk_empty_array_with_capacity(lean_object*);
uint8_t l_Lean_Expr_hasLooseBVars(lean_object*);
lean_object* l_Lean_RArray_toExpr___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_fget_borrowed(lean_object*, lean_object*);
lean_object* l_Lean_RArray_ofFn___redArg(lean_object*, lean_object*);
lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*);
lean_object* l_Lean_Grind_Linarith_Poly_collectVars(lean_object*, lean_object*);
lean_object* l_Lean_Grind_Linarith_Expr_collectVars(lean_object*, lean_object*);
lean_object* l_List_range(lean_object*);
lean_object* lean_array_mk(lean_object*);
lean_object* l_Lean_Grind_Linarith_Poly_renameVars(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_ofPoly(lean_object*);
lean_object* l_Lean_Grind_Linarith_Expr_renameVars(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_ofLinExpr(lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_getNoNatDivInst(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_stringToMessageData(lean_object*);
size_t lean_ptr_addr(lean_object*);
uint64_t lean_usize_to_uint64(size_t);
lean_object* l_Lean_Meta_Grind_mkDiseqProof(lean_object*, 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_Arith_Linear_getNatStruct(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_Arith_Linear_ofNatModule(lean_object*, 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_mkApp10(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_mkApp9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkApp6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_mkEqTrueProof(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_mkOfEqTrueCore(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_getIsLinearOrderInst(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_mkEqFalseProof(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_mkOfEqFalseCore(lean_object*, lean_object*);
lean_object* l_Lean_Expr_appFn_x21(lean_object*);
lean_object* l_Lean_Expr_appArg_x21(lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_getZero(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_mkLambda(lean_object*, uint8_t, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_getRingInst(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_Arith_Linear_getOne(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_mkEqRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_instMonadEST(lean_object*, lean_object*);
lean_object* l_Lean_Core_instMonadCoreM___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_instDecidableEqUInt64___boxed(lean_object*, lean_object*);
lean_object* l_instBEqOfDecidableEq___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_CollectDecVars_alreadyVisited___redArg(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_CollectDecVars_markAsFound___redArg(lean_object*, lean_object*);
lean_object* l_ReaderT_instMonad___redArg(lean_object*);
lean_object* l_Lean_Core_instMonadCoreM___lam__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instFunctorOfMonad___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instFunctorOfMonad___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instApplicativeOfMonad___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instApplicativeOfMonad___redArg___lam__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_instApplicativeOfMonad___redArg___lam__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_instMonadMetaM___lam__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_Core_instMonadNameGeneratorCoreM;
lean_object* l_StateRefT_x27_lift___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_monadNameGeneratorLift___redArg(lean_object*, lean_object*);
lean_object* l_ReaderT_instMonadLift___lam__0___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_mkFreshFVarId___redArg(lean_object*, lean_object*);
lean_object* lean_st_mk_ref(lean_object*);
lean_object* l_instHashableUInt64___lam__0___boxed(lean_object*);
lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Array_mkArray0(lean_object*);
uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*);
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
lean_object* l_Lean_SourceInfo_fromRef(lean_object*, uint8_t);
lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_node1(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_node2(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_node3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_node7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_node6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_node5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Syntax_node4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_closeGoal(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_Arith_Linear_linearExt;
lean_object* l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_instInhabitedGoalM(lean_object*);
lean_object* l_instInhabitedForall___redArg___lam__0___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_Arith_Linear_getVar(lean_object*, 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_mkEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkExpectedPropHint(lean_object*, lean_object*);
lean_object* l_Lean_Meta_Grind_pushEqCore___redArg(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_toContextExpr___lam__0(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_toContextExpr___lam__0___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_toContextExpr___lam__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_toContextExpr___lam__1___boxed(lean_object*, lean_object*);
static const lean_closure_object l_Lean_Meta_Grind_Arith_Linear_toContextExpr___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Meta_Grind_Arith_Linear_toContextExpr___lam__0___boxed, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_toContextExpr___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_toContextExpr___closed__0_value;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_toContextExpr(lean_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_Arith_Linear_toContextExpr___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getContext___redArg(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getContext___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getContext(lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getContext___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getRingContext___redArg(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getRingContext___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getRingContext(lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getRingContext___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 uint64_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___redArg(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___redArg___boxed(lean_object*);
LEAN_EXPORT uint64_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___boxed(lean_object*, lean_object*);
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___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_instHashableUInt64___lam__0___boxed, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__0 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__0_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching(lean_object*, lean_object*, lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___boxed(lean_object**);
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 9, .m_capacity = 9, .m_length = 8, .m_data = "_private"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__0 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__0_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 214, 75, 80, 34, 198, 193, 153)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__1 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__1_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "Lean"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__1_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(90, 18, 126, 130, 18, 214, 172, 143)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__3 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__3_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__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 = "Meta"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__4 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__4_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__3_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__4_value),LEAN_SCALAR_PTR_LITERAL(30, 196, 118, 96, 111, 225, 34, 188)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__5 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__5_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__6_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___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__6 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__6_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__5_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__6_value),LEAN_SCALAR_PTR_LITERAL(195, 68, 87, 56, 63, 220, 109, 253)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__7 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__7_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "Grind"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__7_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(53, 20, 57, 191, 103, 250, 161, 8)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__9 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__9_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "Arith"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__10 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__10_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__11_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__9_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__10_value),LEAN_SCALAR_PTR_LITERAL(49, 133, 41, 173, 115, 110, 60, 106)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__11 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__11_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__12_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 = "Linear"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__12 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__12_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__13_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__11_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__12_value),LEAN_SCALAR_PTR_LITERAL(132, 82, 161, 199, 59, 37, 44, 179)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__13 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__13_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__14_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__14 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__14_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__15_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__13_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__14_value),LEAN_SCALAR_PTR_LITERAL(103, 91, 123, 170, 176, 104, 160, 229)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__15 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__15_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__16_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 2}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__15_value),((lean_object*)(((size_t)(0) << 1) | 1)),LEAN_SCALAR_PTR_LITERAL(218, 104, 202, 34, 206, 223, 92, 148)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__16 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__16_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__17_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__16_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(123, 231, 11, 35, 221, 253, 87, 113)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__17 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__17_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__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*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__17_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__4_value),LEAN_SCALAR_PTR_LITERAL(19, 52, 81, 57, 205, 51, 178, 0)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__18 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__18_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__19_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__18_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(69, 109, 155, 138, 108, 248, 155, 155)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__19 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__19_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__20_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__19_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__10_value),LEAN_SCALAR_PTR_LITERAL(33, 206, 106, 247, 187, 31, 3, 204)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__20 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__20_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__21_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__20_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__12_value),LEAN_SCALAR_PTR_LITERAL(52, 18, 19, 191, 172, 179, 81, 53)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__21 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__21_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__22_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 15, .m_capacity = 15, .m_length = 14, .m_data = "termDeclare!__"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__22 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__22_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__23_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__21_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__22_value),LEAN_SCALAR_PTR_LITERAL(12, 88, 235, 158, 217, 69, 216, 12)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__23 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__23_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__24_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "andthen"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__24 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__24_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__25_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__24_value),LEAN_SCALAR_PTR_LITERAL(40, 255, 78, 30, 143, 119, 117, 174)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__25 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__25_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__26_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 = "declare! "};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__26 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__26_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__27_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 5}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__26_value)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__27 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__27_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__28_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "ident"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__28 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__28_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__29_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__28_value),LEAN_SCALAR_PTR_LITERAL(52, 159, 208, 51, 14, 60, 6, 71)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__29 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__29_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__30_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*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__29_value)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__30 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__30_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__31_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*3 + 0, .m_other = 3, .m_tag = 2}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__25_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__27_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__30_value)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__31 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__31_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__32_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*3 + 0, .m_other = 3, .m_tag = 2}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__25_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__31_value),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__30_value)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__32 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__32_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__33_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*3 + 0, .m_other = 3, .m_tag = 3}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__23_value),((lean_object*)(((size_t)(1022) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__32_value)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__33 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__33_value;
LEAN_EXPORT const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21____ = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__33_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "Parser"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "Term"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 3, .m_capacity = 3, .m_length = 2, .m_data = "do"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__2 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__2_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__3_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__3_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__3_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__3_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__3_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__3_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__2_value),LEAN_SCALAR_PTR_LITERAL(181, 206, 135, 90, 45, 65, 187, 80)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__3 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__3_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__4_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 = "doSeqIndent"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__4 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__4_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__5_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__5_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__5_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__5_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__5_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__5_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__4_value),LEAN_SCALAR_PTR_LITERAL(93, 115, 138, 230, 225, 195, 43, 46)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__5 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__5_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "null"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__6 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__6_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__6_value),LEAN_SCALAR_PTR_LITERAL(24, 58, 49, 223, 146, 207, 197, 136)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__7 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__7_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__8_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 = "doSeqItem"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__8 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__8_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__9_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__9_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__9_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__9_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__9_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__9_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__8_value),LEAN_SCALAR_PTR_LITERAL(10, 94, 50, 120, 46, 251, 13, 13)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__9 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__9_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__10_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 = "doIf"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__10 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__10_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__11_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__11_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__11_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__11_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__11_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__11_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__11_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__10_value),LEAN_SCALAR_PTR_LITERAL(133, 56, 102, 181, 14, 156, 21, 0)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__11 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__11_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___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 = "if"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__12 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__12_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__13_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "doIfLet"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__13 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__13_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__14_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__14_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__14_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__14_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__14_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___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*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__14_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__13_value),LEAN_SCALAR_PTR_LITERAL(181, 227, 73, 225, 0, 143, 195, 11)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__14 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__14_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__15_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 = "let"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__15 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__15_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__16_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__16 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__16_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__17_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__17_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__17_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__17_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__17_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__17_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__17_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__16_value),LEAN_SCALAR_PTR_LITERAL(69, 118, 10, 41, 220, 156, 243, 179)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__17 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__17_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__18_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 = "some"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__18 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__18_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__19_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__19;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__20_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__18_value),LEAN_SCALAR_PTR_LITERAL(37, 202, 7, 33, 103, 74, 114, 212)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__20 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__20_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__21_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 = "Option"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__21 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__21_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__22_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__21_value),LEAN_SCALAR_PTR_LITERAL(95, 234, 177, 188, 3, 226, 91, 252)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__22_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__22_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__18_value),LEAN_SCALAR_PTR_LITERAL(89, 148, 40, 55, 221, 242, 231, 67)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__22 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__22_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__23_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__22_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__23 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__23_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__24_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__23_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__24 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__24_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__25_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "x"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__25 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__25_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__26_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__26;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__27_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__25_value),LEAN_SCALAR_PTR_LITERAL(243, 101, 181, 186, 114, 114, 131, 189)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__27 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__27_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__28_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 = "doIfLetPure"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__28 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__28_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__29_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__29_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__29_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__29_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__29_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__29_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__29_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__28_value),LEAN_SCALAR_PTR_LITERAL(30, 29, 142, 71, 96, 53, 139, 191)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__29 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__29_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__30_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 3, .m_capacity = 3, .m_length = 2, .m_data = ":="};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__30 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__30_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__31_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 = "term__[_]_\?"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__31 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__31_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__32_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__31_value),LEAN_SCALAR_PTR_LITERAL(169, 178, 109, 68, 161, 229, 23, 17)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__32 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__32_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__33_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 = "proj"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__33 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__33_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__34_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__34_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__34_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__34_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__34_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__34_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__34_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__33_value),LEAN_SCALAR_PTR_LITERAL(103, 149, 207, 196, 17, 4, 77, 74)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__34 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__34_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__35_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "paren"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__35 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__35_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__36_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__36_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__36_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__36_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__36_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__36_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__36_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__35_value),LEAN_SCALAR_PTR_LITERAL(124, 9, 161, 194, 227, 100, 20, 110)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__36 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__36_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__37_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 15, .m_capacity = 15, .m_length = 14, .m_data = "hygienicLParen"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__37 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__37_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__38_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__38_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__38_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__38_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__38_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__38_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__38_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__37_value),LEAN_SCALAR_PTR_LITERAL(41, 104, 206, 51, 21, 254, 100, 101)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__38 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__38_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__39_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "("};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__39 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__39_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__40_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 = "hygieneInfo"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__40 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__40_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__41_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__40_value),LEAN_SCALAR_PTR_LITERAL(27, 64, 36, 144, 170, 151, 255, 136)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__41 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__41_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__42_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_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__42 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__42_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__43_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__43;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__44_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__44_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__44_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__4_value),LEAN_SCALAR_PTR_LITERAL(194, 50, 106, 158, 41, 60, 103, 214)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__44_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__44_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(160, 56, 216, 97, 9, 85, 52, 211)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__44_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__44_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__10_value),LEAN_SCALAR_PTR_LITERAL(24, 253, 215, 57, 236, 94, 225, 62)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__44_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__44_value_aux_3),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__12_value),LEAN_SCALAR_PTR_LITERAL(33, 94, 109, 152, 224, 100, 104, 223)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__44 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__44_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__45_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*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__44_value)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__45 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__45_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__46_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__45_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__46 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__46_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__47_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 = "liftMethod"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__47 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__47_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__48_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__48_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__48_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__48_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__48_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__48_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__48_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__47_value),LEAN_SCALAR_PTR_LITERAL(217, 228, 135, 132, 46, 84, 105, 88)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__48 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__48_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__49_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 1, .m_data = "←"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__49 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__49_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__50_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 = "get"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__50 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__50_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__51_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__51;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__52_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__50_value),LEAN_SCALAR_PTR_LITERAL(149, 195, 233, 5, 41, 184, 182, 9)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__52 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__52_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__53_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 = "MonadState"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__53 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__53_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__54_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__53_value),LEAN_SCALAR_PTR_LITERAL(133, 87, 22, 123, 153, 115, 76, 72)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__54_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__54_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__50_value),LEAN_SCALAR_PTR_LITERAL(171, 90, 209, 238, 200, 105, 147, 59)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__54 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__54_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__55_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__54_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__55 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__55_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__56_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__55_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__56 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__56_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__57_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = ")"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__57 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__57_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__58_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "."};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__58 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__58_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__59_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 = "group"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__59 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__59_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__60_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__59_value),LEAN_SCALAR_PTR_LITERAL(206, 113, 20, 57, 188, 177, 187, 30)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__60 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__60_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__61_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__61;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__62_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "["};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__62 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__62_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__63_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "]"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__63 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__63_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__64_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "\?"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__64 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__64_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__65_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 = "then"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__65 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__65_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__66_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 = "doReturn"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__66 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__66_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__67_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__67_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__67_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__67_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__67_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__67_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__67_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__66_value),LEAN_SCALAR_PTR_LITERAL(210, 201, 30, 244, 146, 7, 54, 39)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__67 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__67_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__68_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 = "return"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__68 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__68_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__69_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 = "doLet"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__69 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__69_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__70_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__70_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__70_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__70_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__70_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__70_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__70_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__69_value),LEAN_SCALAR_PTR_LITERAL(60, 171, 222, 145, 87, 124, 9, 205)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__70 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__70_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__71_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "letDecl"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__71 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__71_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__72_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__72_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__72_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__72_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__72_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__72_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__72_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__71_value),LEAN_SCALAR_PTR_LITERAL(61, 47, 121, 206, 37, 68, 134, 111)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__72 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__72_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__73_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 = "letIdDecl"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__73 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__73_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__74_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__74_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__74_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__74_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__74_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__74_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__74_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__73_value),LEAN_SCALAR_PTR_LITERAL(82, 96, 243, 36, 251, 209, 136, 237)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__74 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__74_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__75_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 = "letId"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__75 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__75_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__76_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__76_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__76_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__76_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__76_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__76_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__76_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__75_value),LEAN_SCALAR_PTR_LITERAL(67, 92, 92, 51, 38, 250, 60, 190)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__76 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__76_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__77_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 = "mkFVar"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__77 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__77_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__78_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__78;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__79_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__77_value),LEAN_SCALAR_PTR_LITERAL(110, 15, 117, 221, 37, 179, 118, 36)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__79 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__79_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__80_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__80_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__80_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__77_value),LEAN_SCALAR_PTR_LITERAL(39, 130, 221, 96, 217, 73, 68, 220)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__80 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__80_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__81_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__80_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__81 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__81_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__82_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__81_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__82 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__82_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__83_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 = "mkFreshFVarId"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__83 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__83_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__84_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__84;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__85_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__83_value),LEAN_SCALAR_PTR_LITERAL(175, 200, 114, 65, 102, 144, 248, 110)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__85 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__85_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__86_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__86_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__86_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__83_value),LEAN_SCALAR_PTR_LITERAL(230, 136, 34, 16, 203, 156, 1, 255)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__86 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__86_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__87_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__86_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__87 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__87_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__88_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__87_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__88 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__88_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__89_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = ";"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__89 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__89_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__90_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 = "doExpr"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__90 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__90_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__91_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__91_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__91_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__91_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__91_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__91_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__91_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__90_value),LEAN_SCALAR_PTR_LITERAL(130, 168, 60, 255, 153, 218, 88, 77)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__91 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__91_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__92_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 = "modify"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__92 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__92_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__93_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__93;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__94_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__92_value),LEAN_SCALAR_PTR_LITERAL(28, 15, 159, 80, 159, 14, 30, 42)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__94 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__94_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__95_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__94_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__95 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__95_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__96_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__95_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__96 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__96_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__97_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 = "fun"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__97 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__97_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__98_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__98_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__98_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__98_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__98_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__98_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__98_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__97_value),LEAN_SCALAR_PTR_LITERAL(249, 155, 133, 242, 71, 132, 191, 97)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__98 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__98_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__99_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 = "basicFun"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__99 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__99_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__100_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__100_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__100_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__100_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__100_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__100_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__100_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__99_value),LEAN_SCALAR_PTR_LITERAL(209, 134, 40, 160, 122, 195, 31, 223)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__100 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__100_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__101_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 = "s"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__101 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__101_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__102_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__102;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__103_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__101_value),LEAN_SCALAR_PTR_LITERAL(203, 235, 49, 11, 232, 138, 137, 74)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__103 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__103_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__104_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 3, .m_capacity = 3, .m_length = 2, .m_data = "=>"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__104 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__104_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__105_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 = "structInst"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__105 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__105_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__106_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__106_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__106_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__106_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__106_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__106_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__106_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__105_value),LEAN_SCALAR_PTR_LITERAL(50, 43, 73, 62, 118, 124, 31, 28)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__106 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__106_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__107_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "{"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__107 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__107_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__108_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 = "with"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__108 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__108_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__109_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 = "structInstFields"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__109 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__109_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__110_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__110_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__110_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__110_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__110_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__110_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__110_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__109_value),LEAN_SCALAR_PTR_LITERAL(0, 82, 141, 43, 62, 171, 163, 69)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__110 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__110_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__111_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 = "structInstField"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__111 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__111_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__112_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__112_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__112_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__112_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__112_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__112_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__112_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__111_value),LEAN_SCALAR_PTR_LITERAL(50, 77, 20, 88, 28, 210, 230, 84)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__112 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__112_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__113_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 15, .m_capacity = 15, .m_length = 14, .m_data = "structInstLVal"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__113 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__113_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__114_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__114_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__114_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__114_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__114_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__114_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__114_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__113_value),LEAN_SCALAR_PTR_LITERAL(185, 133, 6, 147, 6, 183, 100, 198)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__114 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__114_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__115_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 = "structInstFieldDef"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__115 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__115_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__116_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__116_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__116_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__116_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__116_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__116_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__116_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__115_value),LEAN_SCALAR_PTR_LITERAL(81, 102, 39, 227, 176, 252, 65, 103)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__116 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__116_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__117_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 = "insert"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__117 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__117_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__118_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__118;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__119_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__117_value),LEAN_SCALAR_PTR_LITERAL(141, 186, 105, 165, 216, 51, 157, 222)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__119 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__119_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__120_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 = "Insert"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__120 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__120_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__121_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__120_value),LEAN_SCALAR_PTR_LITERAL(126, 209, 156, 174, 188, 62, 109, 85)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__121_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__121_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__117_value),LEAN_SCALAR_PTR_LITERAL(12, 132, 219, 243, 180, 219, 203, 85)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__121 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__121_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__122_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__121_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__122 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__122_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__123_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__122_value),((lean_object*)(((size_t)(0) << 1) | 1))}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__123 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__123_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__124_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 = "optEllipsis"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__124 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__124_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__125_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__125_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__125_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__0_value),LEAN_SCALAR_PTR_LITERAL(103, 136, 125, 166, 167, 98, 71, 111)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__125_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__125_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__1_value),LEAN_SCALAR_PTR_LITERAL(75, 170, 162, 138, 136, 204, 251, 229)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__125_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__125_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__124_value),LEAN_SCALAR_PTR_LITERAL(13, 1, 242, 203, 207, 188, 181, 160)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__125 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__125_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__126_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "}"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__126 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__126_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__4___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__6___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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5_spec__6_spec__7___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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5_spec__6___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2___redArg(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_Arith_Linear_mkVarDecl_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_Arith_Linear_mkVarDecl_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1_spec__2___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1_spec__2___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_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_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkVarDecl(lean_object*, lean_object*, lean_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_Arith_Linear_mkVarDecl___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_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_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_Arith_Linear_mkVarDecl_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_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_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_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*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2(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_Arith_Linear_mkVarDecl_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_Arith_Linear_mkVarDecl_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__6(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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5_spec__6(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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5_spec__6_spec__7(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_Arith_Linear_mkPolyDecl_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_Arith_Linear_mkPolyDecl_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__4___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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3_spec__4_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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3_spec__4___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3___redArg(lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__2___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__2___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(lean_object*, lean_object*, lean_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_Arith_Linear_mkPolyDecl___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_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_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_Arith_Linear_mkPolyDecl_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1(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_Arith_Linear_mkPolyDecl_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_Arith_Linear_mkPolyDecl_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__2(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__2___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__4(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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3_spec__4(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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3_spec__4_spec__5(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__4___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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3_spec__4_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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3_spec__4___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3___redArg(lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__2___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__2___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1___redArg(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_Arith_Linear_mkExprDecl_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_Arith_Linear_mkExprDecl_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(lean_object*, lean_object*, lean_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_Arith_Linear_mkExprDecl___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_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_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_Arith_Linear_mkExprDecl_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1(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_Arith_Linear_mkExprDecl_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_Arith_Linear_mkExprDecl_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__2(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__2___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__4(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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3_spec__4(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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3_spec__4_spec__5(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__2___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__2___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__4___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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3_spec__4_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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3_spec__4___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1___redArg(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_Arith_Linear_mkRingPolyDecl_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_Arith_Linear_mkRingPolyDecl_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(lean_object*, lean_object*, lean_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_Arith_Linear_mkRingPolyDecl___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_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_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_Arith_Linear_mkRingPolyDecl_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1(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_Arith_Linear_mkRingPolyDecl_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_Arith_Linear_mkRingPolyDecl_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__2(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__2___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__4(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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3_spec__4(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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3_spec__4_spec__5(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_Arith_Linear_mkRingExprDecl_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_Arith_Linear_mkRingExprDecl_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__4___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__2___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__2___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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3_spec__4_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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3_spec__4___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkRingExprDecl(lean_object*, lean_object*, lean_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_Arith_Linear_mkRingExprDecl___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_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_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_Arith_Linear_mkRingExprDecl_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1(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_Arith_Linear_mkRingExprDecl_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_Arith_Linear_mkRingExprDecl_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__2(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__2___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__4(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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3_spec__4(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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3_spec__4_spec__5(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkRingVarDecl(lean_object*, lean_object*, lean_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_Arith_Linear_mkRingVarDecl___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___lam__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___lam__0___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___lam__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___lam__1___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__13(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_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__13___boxed(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_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__14(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__14___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__15(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__15___boxed(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_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__12(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__12___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6___boxed(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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__5(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__5___boxed(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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__3(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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__3___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__4___redArg(lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__4___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__6___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__7___redArg(lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__7___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2___redArg___boxed(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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 20, .m_capacity = 20, .m_length = 19, .m_data = "_inhabitedExprDummy"};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___closed__0 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___closed__0_value),LEAN_SCALAR_PTR_LITERAL(37, 247, 56, 151, 29, 116, 116, 243)}};
static const lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___closed__1 = (const lean_object*)&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___closed__1_value;
static lean_once_cell_t l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___closed__2_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___closed__2;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4(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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__1___redArg(lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0___redArg___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_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__17(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__17___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__19(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__19___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__20(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__20___boxed(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_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__18(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_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__18___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_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___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_Grind_Linarith_Poly_collectVars, .m_arity = 2, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__0 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__0_value;
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Grind_Linarith_Expr_collectVars, .m_arity = 2, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__1 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__1_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__2;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__3;
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Meta_Grind_collectVar, .m_arity = 2, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__4 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__4_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_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 = "Linarith"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 5, .m_capacity = 5, .m_length = 4, .m_data = "Expr"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__6 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__6_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__7_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__7_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__7_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__7_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__7_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__7_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__6_value),LEAN_SCALAR_PTR_LITERAL(105, 86, 71, 240, 204, 96, 94, 7)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__7 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__7_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__8_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__8;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__9_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 = "e"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__9 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__9_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__9_value),LEAN_SCALAR_PTR_LITERAL(26, 154, 90, 102, 217, 192, 49, 255)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__10 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__10_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__11_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "p"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__11 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__11_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__11_value),LEAN_SCALAR_PTR_LITERAL(34, 153, 146, 175, 179, 220, 230, 134)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__12 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__12_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__13_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 = "Poly"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__13 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__13_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__14_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__14_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__14_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__14_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__14_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___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*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__14_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__13_value),LEAN_SCALAR_PTR_LITERAL(37, 10, 138, 160, 35, 126, 254, 250)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__14 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__14_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__15_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__15;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__16_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 = "RArray"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__16 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__16_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__17_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__17_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__17_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__16_value),LEAN_SCALAR_PTR_LITERAL(94, 141, 178, 243, 105, 175, 161, 86)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__17 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__17_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__18_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 = "ctx"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__18 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__18_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__19_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__18_value),LEAN_SCALAR_PTR_LITERAL(112, 223, 122, 20, 240, 225, 181, 237)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__19 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__19_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__0(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_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__3(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_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__4(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__6(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_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__7(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__1___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__2(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__2___boxed(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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__2(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__3___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__4___redArg(lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__4___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__7(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__7___boxed(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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__8(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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__1___redArg(lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__13(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_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__12(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__12___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__14(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__14___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__15(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4___boxed(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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__5(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__5___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__8(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_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__7(size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__7___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__9(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__9___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__10(lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3___boxed(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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__6___closed__0_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__6___closed__0;
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__6(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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__0___boxed, .m_arity = 12, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__0 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__0_value;
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Grind_CommRing_Poly_collectVars, .m_arity = 2, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__1 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__1_value;
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Grind_CommRing_Expr_collectVars, .m_arity = 2, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__2 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__2_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 9, .m_capacity = 9, .m_length = 8, .m_data = "CommRing"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__4_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__4_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__4_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__4_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__4_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__4_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__6_value),LEAN_SCALAR_PTR_LITERAL(59, 58, 170, 233, 188, 73, 178, 21)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__4 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__4_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__5_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__5;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__6_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 = "re"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__6 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__6_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__6_value),LEAN_SCALAR_PTR_LITERAL(133, 227, 124, 160, 254, 124, 255, 72)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__7 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__7_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__8_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 = "rp"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__8 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__8_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__8_value),LEAN_SCALAR_PTR_LITERAL(213, 59, 196, 175, 86, 80, 93, 176)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__9 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__9_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__10_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__10_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__10_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__10_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__10_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__10_value_aux_2),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__13_value),LEAN_SCALAR_PTR_LITERAL(247, 149, 121, 227, 179, 241, 101, 21)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__10 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__10_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__11_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__11;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__12_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 = "rctx"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__12 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__12_value;
static const lean_ctor_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__13_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__12_value),LEAN_SCALAR_PTR_LITERAL(223, 43, 153, 117, 188, 33, 55, 247)}};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__13 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__13_value;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__0(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_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__3(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_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__4(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext_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_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext_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_object*, lean_object*);
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__0;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__1;
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Core_instMonadCoreM___lam__0___boxed, .m_arity = 5, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__2 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__2_value;
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Core_instMonadCoreM___lam__1___boxed, .m_arity = 7, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__3 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__3_value;
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Meta_instMonadMetaM___lam__0___boxed, .m_arity = 7, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__4 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__4_value;
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*0, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_Lean_Meta_instMonadMetaM___lam__1___boxed, .m_arity = 9, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__5 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__5_value;
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__6_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_ReaderT_instMonadLift___lam__0___boxed, .m_arity = 3, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__6 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__6_value;
static const lean_closure_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*3, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l_StateRefT_x27_lift___boxed, .m_arity = 6, .m_num_fixed = 3, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)(((size_t)(0) << 1) | 1))} };
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__7 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__7_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__8_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__8;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__9_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__9;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__10_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__10;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__11_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__11;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__12_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__12;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__13_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__13;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__14_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__14;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__15_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__15;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__16_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__16;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__17_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__17;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__18_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__18;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__19_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__19;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext(lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreThmPrefix___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingNoNatDivThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingNoNatDivThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingNoNatDivThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingNoNatDivThmPrefix___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLinOrdThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLinOrdThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLinOrdThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLinOrdThmPrefix___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 lean_once_cell_t l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__0___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__0___closed__0;
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__0(lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(lean_object*);
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 26, .m_capacity = 26, .m_length = 25, .m_data = "Init.Data.Option.BasicAux"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__0 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__0_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 12, .m_capacity = 12, .m_length = 11, .m_data = "Option.get!"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__1 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__1_value;
static const lean_string_object l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___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 = "value is none"};
static const lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__2 = (const lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__2_value;
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix(lean_object*, lean_object*, lean_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___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_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "le_norm"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__0_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__1_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__1_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__1_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__0_value),LEAN_SCALAR_PTR_LITERAL(95, 123, 67, 61, 60, 194, 146, 82)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__1 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__1_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "lt_norm"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__2 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__2_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__3_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__3_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__3_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__3_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__3_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__3_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__2_value),LEAN_SCALAR_PTR_LITERAL(206, 53, 11, 50, 52, 109, 115, 184)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__3 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__3_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__4_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 = "not_lt_norm"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__4 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__4_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__5_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__5_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__5_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__5_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__5_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__5_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__4_value),LEAN_SCALAR_PTR_LITERAL(175, 65, 216, 187, 212, 240, 115, 168)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__5 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__5_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___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 = "not_le_norm"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__6 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__6_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__7_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__7_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__7_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__7_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__7_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__7_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__6_value),LEAN_SCALAR_PTR_LITERAL(180, 58, 143, 87, 237, 20, 47, 91)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__7 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__7_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__8_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 = "le_cancel_var"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__8 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__8_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__9_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 = "lt_cancel_var"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__9 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__9_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__10_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 = "inv_int_eq'"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__10 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__10_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__11_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__11_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__11_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__11_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__11_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__11_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__11_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__10_value),LEAN_SCALAR_PTR_LITERAL(209, 241, 118, 219, 77, 161, 245, 17)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__11 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__11_value;
static lean_once_cell_t l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__13_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 = "Neg"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__13 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__13_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__14_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 = "neg"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__14 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__14_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__15_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__13_value),LEAN_SCALAR_PTR_LITERAL(94, 4, 109, 108, 64, 81, 153, 133)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__15_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__15_value_aux_0),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__14_value),LEAN_SCALAR_PTR_LITERAL(105, 26, 70, 221, 245, 238, 127, 238)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__15 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__15_value;
static lean_once_cell_t l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__16_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__16;
static lean_once_cell_t l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__17_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__17;
static lean_once_cell_t l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__19_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 = "Int"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__19 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__19_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__20_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__19_value),LEAN_SCALAR_PTR_LITERAL(61, 25, 98, 154, 117, 127, 69, 97)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__20 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__20_value;
static lean_once_cell_t l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__22_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 = "instNegInt"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__22 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__22_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__23_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__19_value),LEAN_SCALAR_PTR_LITERAL(61, 25, 98, 154, 117, 127, 69, 97)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__23_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__23_value_aux_0),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__22_value),LEAN_SCALAR_PTR_LITERAL(217, 109, 233, 1, 211, 122, 77, 88)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__23 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__23_value;
static lean_once_cell_t l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__25_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 = "le_mul"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__25 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__25_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__26_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__26_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__26_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__26_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__26_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__26_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__26_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__25_value),LEAN_SCALAR_PTR_LITERAL(162, 216, 219, 182, 30, 19, 31, 112)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__26 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__26_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__27_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 = "lt_mul"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__27 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__27_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__28_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__28_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__28_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__28_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__28_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__28_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__28_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__27_value),LEAN_SCALAR_PTR_LITERAL(19, 253, 89, 247, 180, 255, 18, 222)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__28 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__28_value;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof(lean_object*, lean_object*, lean_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_Arith_Linear_RingIneqCnstr_toExprProof___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_string_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 8, .m_capacity = 8, .m_length = 7, .m_data = "eq_norm"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__0_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__1_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__1_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__1_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__0_value),LEAN_SCALAR_PTR_LITERAL(156, 28, 4, 183, 222, 216, 225, 36)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__1 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__1_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___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 = "Stepwise"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__2 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__2_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 3, .m_data = "inv"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__3 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__3_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__4_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__4_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__4_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__4_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__4_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__4_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__4_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__2_value),LEAN_SCALAR_PTR_LITERAL(248, 158, 159, 143, 86, 171, 116, 211)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__4_value_aux_3),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__3_value),LEAN_SCALAR_PTR_LITERAL(153, 21, 167, 254, 120, 53, 107, 93)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__4 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__4_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "eq_mul"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__5 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__5_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__6_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__6_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__6_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__6_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__6_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__6_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__6_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__2_value),LEAN_SCALAR_PTR_LITERAL(248, 158, 159, 143, 86, 171, 116, 211)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__6_value_aux_3),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__5_value),LEAN_SCALAR_PTR_LITERAL(227, 132, 39, 131, 42, 114, 13, 252)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__6 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__6_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__7_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 = "eq_cancel_var"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__7 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__7_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__8_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__8_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__8_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__8_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__8_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__8_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__7_value),LEAN_SCALAR_PTR_LITERAL(84, 180, 73, 218, 70, 48, 243, 189)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__8 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__8_value;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof(lean_object*, lean_object*, lean_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_Arith_Linear_RingEqCnstr_toExprProof___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_string_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 11, .m_capacity = 11, .m_length = 10, .m_data = "diseq_norm"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__0_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__1_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__1_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__1_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__0_value),LEAN_SCALAR_PTR_LITERAL(132, 169, 48, 242, 146, 16, 252, 225)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__1 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__1_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__2_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 = "diseq_mul"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__2 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__2_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__3_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__3_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__3_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__3_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__3_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__3_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__3_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__2_value),LEAN_SCALAR_PTR_LITERAL(248, 158, 159, 143, 86, 171, 116, 211)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__3_value_aux_3),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__2_value),LEAN_SCALAR_PTR_LITERAL(62, 160, 254, 174, 181, 184, 176, 196)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__3 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__3_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__4_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 = "diseq_cancel_var"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__4 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__4_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__5_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__5_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__5_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__5_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__5_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__5_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__4_value),LEAN_SCALAR_PTR_LITERAL(153, 144, 99, 87, 230, 69, 151, 222)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__5 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__5_value;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof(lean_object*, lean_object*, lean_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_Arith_Linear_RingDiseqCnstr_toExprProof___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_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1_spec__4___redArg(uint64_t, 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_Arith_Linear_EqCnstr_toExprProof_spec__1_spec__4___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1___redArg(lean_object*, uint64_t);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2___redArg___boxed(lean_object*, lean_object*, 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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1_spec__2_spec__6___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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1_spec__2___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2___redArg(uint64_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__0___redArg(uint64_t, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0___redArg(lean_object*, uint64_t, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__0_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__0_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__0_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__0_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__0_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__0_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__0_value),LEAN_SCALAR_PTR_LITERAL(30, 143, 94, 100, 183, 180, 137, 55)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__0_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__1_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 = "not implemented yet"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__1 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__1_value;
static lean_once_cell_t l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__2_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__2;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__3_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 = "IntModule"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__3 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__3_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__4_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 = "OfNatModule"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__4 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__4_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__5_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 = "of_eq"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__5 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__5_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6_value_aux_1),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__3_value),LEAN_SCALAR_PTR_LITERAL(155, 104, 69, 168, 85, 29, 139, 105)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__4_value),LEAN_SCALAR_PTR_LITERAL(74, 53, 51, 211, 82, 161, 6, 157)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6_value_aux_3),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__5_value),LEAN_SCALAR_PTR_LITERAL(146, 192, 77, 93, 158, 153, 172, 248)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__7_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 = "eq_neg"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__7 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__7_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__8_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__8_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__8_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__8_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__8_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__8_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__7_value),LEAN_SCALAR_PTR_LITERAL(80, 46, 23, 62, 3, 37, 175, 105)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__8 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__8_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__9_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 = "eq_coeff"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__9 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__9_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__10_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__10_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__10_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__10_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__10_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__10_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__9_value),LEAN_SCALAR_PTR_LITERAL(194, 22, 151, 170, 45, 43, 117, 99)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__10 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__10_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__11_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 = "eq_eq_subst"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__11 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__11_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__12_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__12_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__12_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__12_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__12_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__12_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__12_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__11_value),LEAN_SCALAR_PTR_LITERAL(88, 133, 55, 77, 207, 75, 66, 149)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__12 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__12_value;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof(lean_object*, lean_object*, lean_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_Arith_Linear_EqCnstr_toExprProof___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_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0(lean_object*, lean_object*, uint64_t, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0___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_Arith_Linear_EqCnstr_toExprProof_spec__1(lean_object*, lean_object*, uint64_t);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_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_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__0(lean_object*, uint64_t, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2(lean_object*, uint64_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2___boxed(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_Arith_Linear_EqCnstr_toExprProof_spec__1_spec__4(lean_object*, uint64_t, 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_Arith_Linear_EqCnstr_toExprProof_spec__1_spec__4___boxed(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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1_spec__2(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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1_spec__2_spec__6(lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__0_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__0_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__0_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__0_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__0_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__0_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__0_value),LEAN_SCALAR_PTR_LITERAL(86, 53, 6, 76, 64, 114, 213, 73)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__0_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__1_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 = "diseq_int_module"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__1 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__1_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___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_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__2_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__2_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__2_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__2_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__1_value),LEAN_SCALAR_PTR_LITERAL(130, 12, 69, 90, 192, 118, 72, 224)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__2 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__2_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 9, .m_capacity = 9, .m_length = 8, .m_data = "of_diseq"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__3 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__3_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__4_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__4_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__4_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__4_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__4_value_aux_1),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__3_value),LEAN_SCALAR_PTR_LITERAL(155, 104, 69, 168, 85, 29, 139, 105)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__4_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__4_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__4_value),LEAN_SCALAR_PTR_LITERAL(74, 53, 51, 211, 82, 161, 6, 157)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__4_value_aux_3),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__3_value),LEAN_SCALAR_PTR_LITERAL(136, 98, 86, 62, 248, 55, 246, 45)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__4 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__4_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__5_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 = "diseq_neg"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__5 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__5_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__6_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__6_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__6_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__6_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__6_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__6_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__5_value),LEAN_SCALAR_PTR_LITERAL(34, 222, 150, 151, 219, 72, 155, 104)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__6 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__6_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 15, .m_capacity = 15, .m_length = 14, .m_data = "eq_diseq_subst"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__7 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__7_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__8_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__8_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__8_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__8_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__8_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__8_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__7_value),LEAN_SCALAR_PTR_LITERAL(226, 106, 91, 82, 204, 196, 16, 238)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__8 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__8_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__9_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 = "eq_diseq_subst1"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__9 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__9_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__10_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__10_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__10_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__10_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__10_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__10_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__10_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__9_value),LEAN_SCALAR_PTR_LITERAL(76, 98, 113, 170, 44, 254, 252, 89)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__10 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__10_value;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof(lean_object*, lean_object*, lean_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_Arith_Linear_DiseqCnstr_toExprProof___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__2___boxed(lean_object**);
static lean_once_cell_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___closed__0;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_go___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_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_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_go___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_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_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_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*);
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__0_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__0_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__0_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__0_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__0_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__0_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__0_value),LEAN_SCALAR_PTR_LITERAL(221, 56, 186, 195, 164, 44, 84, 36)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__0_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__1_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__1_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__1_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__2_value),LEAN_SCALAR_PTR_LITERAL(76, 67, 26, 195, 60, 189, 134, 15)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__1 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__1_value;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___boxed(lean_object**);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__0___boxed(lean_object**);
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg___closed__0_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 = "`grind linarith` internal error, structure is not an ordered module"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg___closed__0_value;
static lean_once_cell_t l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg___closed__1_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg___closed__1;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___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_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 12, .m_capacity = 12, .m_length = 11, .m_data = "diseq_unsat"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__0_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__1_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__1_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__1_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__0_value),LEAN_SCALAR_PTR_LITERAL(1, 96, 179, 89, 59, 68, 28, 26)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__1 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__1_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___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 = "lt_unsat"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__2 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__2_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__3_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__3_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__3_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__3_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__3_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__3_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__2_value),LEAN_SCALAR_PTR_LITERAL(231, 129, 229, 233, 39, 100, 222, 71)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__3 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__3_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__0_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__0_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__0_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__0_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__0_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__0_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__4_value),LEAN_SCALAR_PTR_LITERAL(45, 207, 93, 17, 217, 45, 205, 19)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__0_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__1_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__1_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__1_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__1_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__1_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__6_value),LEAN_SCALAR_PTR_LITERAL(134, 70, 185, 144, 19, 175, 137, 79)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__1 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__1_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___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 = "le_int_module"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__2 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__2_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__3_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__3_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__3_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__3_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__3_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__3_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__3_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__2_value),LEAN_SCALAR_PTR_LITERAL(110, 198, 121, 156, 174, 121, 44, 55)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__3 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__3_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__4_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 14, .m_capacity = 14, .m_length = 13, .m_data = "lt_int_module"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__4 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__4_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__5_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__5_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__5_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__5_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__5_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__5_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__4_value),LEAN_SCALAR_PTR_LITERAL(138, 205, 249, 15, 144, 152, 136, 134)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__5 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__5_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "of_le"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__6 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__6_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__7_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__7_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__7_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__7_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__7_value_aux_1),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__3_value),LEAN_SCALAR_PTR_LITERAL(155, 104, 69, 168, 85, 29, 139, 105)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__7_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__7_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__4_value),LEAN_SCALAR_PTR_LITERAL(74, 53, 51, 211, 82, 161, 6, 157)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__7_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__7_value_aux_3),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__6_value),LEAN_SCALAR_PTR_LITERAL(39, 251, 4, 191, 74, 65, 123, 173)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__7 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__7_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 6, .m_capacity = 6, .m_length = 5, .m_data = "of_lt"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__8 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__8_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__9_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__9_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__9_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__9_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__9_value_aux_1),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__3_value),LEAN_SCALAR_PTR_LITERAL(155, 104, 69, 168, 85, 29, 139, 105)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__9_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__9_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__4_value),LEAN_SCALAR_PTR_LITERAL(74, 53, 51, 211, 82, 161, 6, 157)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__9_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__9_value_aux_3),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__8_value),LEAN_SCALAR_PTR_LITERAL(201, 139, 186, 242, 58, 27, 134, 59)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__9 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__9_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__10_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 = "of_not_lt"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__10 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__10_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__11_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__11_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__11_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__11_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__11_value_aux_1),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__3_value),LEAN_SCALAR_PTR_LITERAL(155, 104, 69, 168, 85, 29, 139, 105)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__11_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__11_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__4_value),LEAN_SCALAR_PTR_LITERAL(74, 53, 51, 211, 82, 161, 6, 157)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__11_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__11_value_aux_3),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__10_value),LEAN_SCALAR_PTR_LITERAL(224, 40, 62, 249, 133, 48, 47, 240)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__11 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__11_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__12_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 = "of_not_le"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__12 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__12_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__13_value_aux_0 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__13_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__13_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__13_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__13_value_aux_1),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__3_value),LEAN_SCALAR_PTR_LITERAL(155, 104, 69, 168, 85, 29, 139, 105)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__13_value_aux_3 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__13_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__4_value),LEAN_SCALAR_PTR_LITERAL(74, 53, 51, 211, 82, 161, 6, 157)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__13_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__13_value_aux_3),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__12_value),LEAN_SCALAR_PTR_LITERAL(225, 181, 106, 146, 183, 125, 174, 206)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__13 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__13_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__14_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 = "le_le_combine"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__14 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__14_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__15_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__15_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__15_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__15_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__15_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__15_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__15_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__14_value),LEAN_SCALAR_PTR_LITERAL(217, 211, 110, 46, 216, 4, 102, 176)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__15 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__15_value;
static const lean_closure_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__16_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*1, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___boxed, .m_arity = 15, .m_num_fixed = 1, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__15_value)} };
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__16 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__16_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__17_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 = "le_lt_combine"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__17 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__17_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__18_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__18_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__18_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__18_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__18_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___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*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__18_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__17_value),LEAN_SCALAR_PTR_LITERAL(11, 201, 73, 1, 145, 202, 18, 109)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__18 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__18_value;
static const lean_closure_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__19_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*1, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___boxed, .m_arity = 15, .m_num_fixed = 1, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__18_value)} };
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__19 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__19_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__20_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 = "lt_lt_combine"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__20 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__20_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__21_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__21_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__21_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__21_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__21_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__21_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__21_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__20_value),LEAN_SCALAR_PTR_LITERAL(137, 146, 238, 22, 207, 89, 129, 83)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__21 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__21_value;
static const lean_closure_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__22_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_closure_object) + sizeof(void*)*1, .m_other = 0, .m_tag = 245}, .m_fun = (void*)l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___boxed, .m_arity = 15, .m_num_fixed = 1, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__21_value)} };
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__22 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__22_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__23_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 = "diseq_split_resolve"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__23 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__23_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__24_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__24_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__24_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__24_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__24_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__24_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__24_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__23_value),LEAN_SCALAR_PTR_LITERAL(144, 190, 245, 27, 209, 20, 166, 76)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__24 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__24_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__25_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 2, .m_capacity = 2, .m_length = 1, .m_data = "h"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__25 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__25_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__26_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__25_value),LEAN_SCALAR_PTR_LITERAL(176, 181, 207, 77, 197, 87, 68, 121)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__26 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__26_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__27_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 = "zero_lt_one"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__27 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__27_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__28_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__28_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__28_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__28_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__28_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__28_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__28_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__27_value),LEAN_SCALAR_PTR_LITERAL(253, 244, 243, 10, 135, 207, 203, 225)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__28 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__28_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__29_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 = "le_of_eq"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__29 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__29_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__30_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__30_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__30_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__30_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__30_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__30_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__30_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__29_value),LEAN_SCALAR_PTR_LITERAL(137, 212, 82, 160, 86, 242, 221, 241)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__30 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__30_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__31_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 = "eq_int_module"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__31 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__31_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__32_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__32_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__32_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__32_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__32_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3_value),LEAN_SCALAR_PTR_LITERAL(205, 3, 54, 198, 92, 149, 38, 227)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__32_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__32_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__31_value),LEAN_SCALAR_PTR_LITERAL(207, 233, 210, 56, 71, 172, 161, 13)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__32 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__32_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__33_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 = "NIY"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__33 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__33_value;
static lean_once_cell_t l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__34_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__34;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof(lean_object*, lean_object*, lean_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_Arith_Linear_UnsatProof_toExprProofCore(lean_object*, lean_object*, lean_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_Arith_Linear_UnsatProof_toExprProofCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_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_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_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_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_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_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_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*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0_spec__0___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof(lean_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_Arith_Linear_UnsatProof_toExprProof___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_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_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_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_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_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_setInconsistent___lam__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_setInconsistent___lam__0___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_setInconsistent(lean_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_Arith_Linear_setInconsistent___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_once_cell_t l_panic___at___00Lean_Meta_Grind_Arith_Linear_propagateImpEq_spec__0___closed__0_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_panic___at___00Lean_Meta_Grind_Arith_Linear_propagateImpEq_spec__0___closed__0;
LEAN_EXPORT lean_object* l_panic___at___00Lean_Meta_Grind_Arith_Linear_propagateImpEq_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_panic___at___00Lean_Meta_Grind_Arith_Linear_propagateImpEq_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___lam__0___boxed(lean_object**);
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 42, .m_capacity = 42, .m_length = 41, .m_data = "Lean.Meta.Tactic.Grind.Arith.Linear.Proof"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__0 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__0_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 44, .m_capacity = 44, .m_length = 43, .m_data = "Lean.Meta.Grind.Arith.Linear.propagateImpEq"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__1 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__1_value;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 34, .m_capacity = 34, .m_length = 33, .m_data = "unreachable code has been reached"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__2 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__2_value;
static lean_once_cell_t l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__3_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__3;
static lean_once_cell_t l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__4_once = LEAN_ONCE_CELL_INITIALIZER;
static lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__4;
static const lean_string_object l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__5_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "imp_eq"};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__5 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__5_value;
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__6_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_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__6_value_aux_1 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__6_value_aux_0),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8_value),LEAN_SCALAR_PTR_LITERAL(116, 4, 170, 185, 29, 24, 60, 188)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__6_value_aux_2 = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__6_value_aux_1),((lean_object*)&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__5_value),LEAN_SCALAR_PTR_LITERAL(199, 207, 141, 119, 115, 174, 198, 240)}};
static const lean_ctor_object l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__6_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 8, .m_other = 2, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__6_value_aux_2),((lean_object*)&l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__5_value),LEAN_SCALAR_PTR_LITERAL(73, 145, 131, 28, 56, 174, 38, 153)}};
static const lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__6 = (const lean_object*)&l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__6_value;
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq(lean_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_Arith_Linear_propagateImpEq___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_Arith_Linear_EqCnstr_collectDecVars___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0___redArg(lean_object*, size_t, size_t, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_collectDecVars___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_collectDecVars___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_collectDecVars(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_collectDecVars___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_collectDecVars(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_collectDecVars___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_toContextExpr___lam__0(lean_object* v___y_1_){
_start:
{
lean_inc_ref(v___y_1_);
return v___y_1_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_toContextExpr___lam__0___boxed(lean_object* v___y_2_){
_start:
{
lean_object* v_res_3_; 
v_res_3_ = l_Lean_Meta_Grind_Arith_Linear_toContextExpr___lam__0(v___y_2_);
lean_dec_ref(v___y_2_);
return v_res_3_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_toContextExpr___lam__1(lean_object* v_vars_4_, lean_object* v_x_5_){
_start:
{
lean_object* v___x_6_; 
v___x_6_ = lean_array_fget_borrowed(v_vars_4_, v_x_5_);
lean_inc(v___x_6_);
return v___x_6_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_toContextExpr___lam__1___boxed(lean_object* v_vars_7_, lean_object* v_x_8_){
_start:
{
lean_object* v_res_9_; 
v_res_9_ = l_Lean_Meta_Grind_Arith_Linear_toContextExpr___lam__1(v_vars_7_, v_x_8_);
lean_dec(v_x_8_);
lean_dec_ref(v_vars_7_);
return v_res_9_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_toContextExpr(lean_object* v_vars_11_, lean_object* v_a_12_, lean_object* v_a_13_, lean_object* v_a_14_, lean_object* v_a_15_, lean_object* v_a_16_, lean_object* v_a_17_, lean_object* v_a_18_, lean_object* v_a_19_, lean_object* v_a_20_, lean_object* v_a_21_, lean_object* v_a_22_){
_start:
{
lean_object* v___x_24_; 
v___x_24_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_12_, v_a_13_, v_a_14_, v_a_15_, v_a_16_, v_a_17_, v_a_18_, v_a_19_, v_a_20_, v_a_21_, v_a_22_);
if (lean_obj_tag(v___x_24_) == 0)
{
lean_object* v_a_25_; lean_object* v___x_26_; lean_object* v___x_27_; uint8_t v___x_28_; 
v_a_25_ = lean_ctor_get(v___x_24_, 0);
lean_inc(v_a_25_);
lean_dec_ref(v___x_24_);
v___x_26_ = lean_unsigned_to_nat(0u);
v___x_27_ = lean_array_get_size(v_vars_11_);
v___x_28_ = lean_nat_dec_lt(v___x_26_, v___x_27_);
if (v___x_28_ == 0)
{
lean_object* v_type_29_; lean_object* v_zero_30_; lean_object* v___f_31_; lean_object* v___x_32_; lean_object* v___x_33_; 
lean_dec_ref(v_vars_11_);
v_type_29_ = lean_ctor_get(v_a_25_, 2);
lean_inc_ref(v_type_29_);
v_zero_30_ = lean_ctor_get(v_a_25_, 17);
lean_inc_ref(v_zero_30_);
lean_dec(v_a_25_);
v___f_31_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_toContextExpr___closed__0));
v___x_32_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_32_, 0, v_zero_30_);
v___x_33_ = l_Lean_RArray_toExpr___redArg(v_type_29_, v___f_31_, v___x_32_, v_a_19_, v_a_20_, v_a_21_, v_a_22_);
return v___x_33_;
}
else
{
lean_object* v_type_34_; lean_object* v___f_35_; lean_object* v___f_36_; lean_object* v___x_37_; lean_object* v___x_38_; 
v_type_34_ = lean_ctor_get(v_a_25_, 2);
lean_inc_ref(v_type_34_);
lean_dec(v_a_25_);
v___f_35_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_toContextExpr___lam__1___boxed), 2, 1);
lean_closure_set(v___f_35_, 0, v_vars_11_);
v___f_36_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_toContextExpr___closed__0));
v___x_37_ = l_Lean_RArray_ofFn___redArg(v___x_27_, v___f_35_);
v___x_38_ = l_Lean_RArray_toExpr___redArg(v_type_34_, v___f_36_, v___x_37_, v_a_19_, v_a_20_, v_a_21_, v_a_22_);
return v___x_38_;
}
}
else
{
lean_object* v_a_39_; lean_object* v___x_41_; uint8_t v_isShared_42_; uint8_t v_isSharedCheck_46_; 
lean_dec(v_a_22_);
lean_dec_ref(v_a_21_);
lean_dec(v_a_20_);
lean_dec_ref(v_a_19_);
lean_dec_ref(v_vars_11_);
v_a_39_ = lean_ctor_get(v___x_24_, 0);
v_isSharedCheck_46_ = !lean_is_exclusive(v___x_24_);
if (v_isSharedCheck_46_ == 0)
{
v___x_41_ = v___x_24_;
v_isShared_42_ = v_isSharedCheck_46_;
goto v_resetjp_40_;
}
else
{
lean_inc(v_a_39_);
lean_dec(v___x_24_);
v___x_41_ = lean_box(0);
v_isShared_42_ = v_isSharedCheck_46_;
goto v_resetjp_40_;
}
v_resetjp_40_:
{
lean_object* v___x_44_; 
if (v_isShared_42_ == 0)
{
v___x_44_ = v___x_41_;
goto v_reusejp_43_;
}
else
{
lean_object* v_reuseFailAlloc_45_; 
v_reuseFailAlloc_45_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_45_, 0, v_a_39_);
v___x_44_ = v_reuseFailAlloc_45_;
goto v_reusejp_43_;
}
v_reusejp_43_:
{
return v___x_44_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_toContextExpr___boxed(lean_object* v_vars_47_, lean_object* v_a_48_, lean_object* v_a_49_, lean_object* v_a_50_, lean_object* v_a_51_, lean_object* v_a_52_, lean_object* v_a_53_, lean_object* v_a_54_, lean_object* v_a_55_, lean_object* v_a_56_, lean_object* v_a_57_, lean_object* v_a_58_, lean_object* v_a_59_){
_start:
{
lean_object* v_res_60_; 
v_res_60_ = l_Lean_Meta_Grind_Arith_Linear_toContextExpr(v_vars_47_, v_a_48_, v_a_49_, v_a_50_, v_a_51_, v_a_52_, v_a_53_, v_a_54_, v_a_55_, v_a_56_, v_a_57_, v_a_58_);
lean_dec(v_a_54_);
lean_dec_ref(v_a_53_);
lean_dec(v_a_52_);
lean_dec_ref(v_a_51_);
lean_dec(v_a_50_);
lean_dec(v_a_49_);
lean_dec(v_a_48_);
return v_res_60_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getContext___redArg(lean_object* v_a_61_){
_start:
{
lean_object* v_ctx_63_; lean_object* v___x_64_; 
v_ctx_63_ = lean_ctor_get(v_a_61_, 0);
lean_inc_ref(v_ctx_63_);
v___x_64_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_64_, 0, v_ctx_63_);
return v___x_64_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getContext___redArg___boxed(lean_object* v_a_65_, lean_object* v_a_66_){
_start:
{
lean_object* v_res_67_; 
v_res_67_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getContext___redArg(v_a_65_);
lean_dec_ref(v_a_65_);
return v_res_67_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getContext(lean_object* v_a_68_, lean_object* v_a_69_, lean_object* v_a_70_, lean_object* v_a_71_, lean_object* v_a_72_, lean_object* v_a_73_, lean_object* v_a_74_, lean_object* v_a_75_, lean_object* v_a_76_, lean_object* v_a_77_, lean_object* v_a_78_, lean_object* v_a_79_, lean_object* v_a_80_){
_start:
{
lean_object* v_ctx_82_; lean_object* v___x_83_; 
v_ctx_82_ = lean_ctor_get(v_a_68_, 0);
lean_inc_ref(v_ctx_82_);
v___x_83_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_83_, 0, v_ctx_82_);
return v___x_83_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getContext___boxed(lean_object* v_a_84_, lean_object* v_a_85_, lean_object* v_a_86_, lean_object* v_a_87_, lean_object* v_a_88_, lean_object* v_a_89_, lean_object* v_a_90_, lean_object* v_a_91_, lean_object* v_a_92_, lean_object* v_a_93_, lean_object* v_a_94_, lean_object* v_a_95_, lean_object* v_a_96_, lean_object* v_a_97_){
_start:
{
lean_object* v_res_98_; 
v_res_98_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getContext(v_a_84_, v_a_85_, v_a_86_, v_a_87_, v_a_88_, v_a_89_, v_a_90_, v_a_91_, v_a_92_, v_a_93_, v_a_94_, v_a_95_, v_a_96_);
lean_dec(v_a_96_);
lean_dec_ref(v_a_95_);
lean_dec(v_a_94_);
lean_dec_ref(v_a_93_);
lean_dec(v_a_92_);
lean_dec_ref(v_a_91_);
lean_dec(v_a_90_);
lean_dec_ref(v_a_89_);
lean_dec(v_a_88_);
lean_dec(v_a_87_);
lean_dec(v_a_86_);
lean_dec(v_a_85_);
lean_dec_ref(v_a_84_);
return v_res_98_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getRingContext___redArg(lean_object* v_a_99_){
_start:
{
lean_object* v_ringCtx_101_; lean_object* v___x_102_; 
v_ringCtx_101_ = lean_ctor_get(v_a_99_, 1);
lean_inc_ref(v_ringCtx_101_);
v___x_102_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_102_, 0, v_ringCtx_101_);
return v___x_102_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getRingContext___redArg___boxed(lean_object* v_a_103_, lean_object* v_a_104_){
_start:
{
lean_object* v_res_105_; 
v_res_105_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getRingContext___redArg(v_a_103_);
lean_dec_ref(v_a_103_);
return v_res_105_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getRingContext(lean_object* v_a_106_, lean_object* v_a_107_, lean_object* v_a_108_, lean_object* v_a_109_, lean_object* v_a_110_, lean_object* v_a_111_, lean_object* v_a_112_, lean_object* v_a_113_, lean_object* v_a_114_, lean_object* v_a_115_, lean_object* v_a_116_, lean_object* v_a_117_, lean_object* v_a_118_){
_start:
{
lean_object* v_ringCtx_120_; lean_object* v___x_121_; 
v_ringCtx_120_ = lean_ctor_get(v_a_106_, 1);
lean_inc_ref(v_ringCtx_120_);
v___x_121_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_121_, 0, v_ringCtx_120_);
return v___x_121_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getRingContext___boxed(lean_object* v_a_122_, lean_object* v_a_123_, lean_object* v_a_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_, lean_object* v_a_130_, lean_object* v_a_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_res_136_; 
v_res_136_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_getRingContext(v_a_122_, v_a_123_, v_a_124_, v_a_125_, v_a_126_, v_a_127_, v_a_128_, v_a_129_, v_a_130_, v_a_131_, v_a_132_, v_a_133_, v_a_134_);
lean_dec(v_a_134_);
lean_dec_ref(v_a_133_);
lean_dec(v_a_132_);
lean_dec_ref(v_a_131_);
lean_dec(v_a_130_);
lean_dec_ref(v_a_129_);
lean_dec(v_a_128_);
lean_dec_ref(v_a_127_);
lean_dec(v_a_126_);
lean_dec(v_a_125_);
lean_dec(v_a_124_);
lean_dec(v_a_123_);
lean_dec_ref(v_a_122_);
return v_res_136_;
}
}
LEAN_EXPORT uint64_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___redArg(lean_object* v_c_137_){
_start:
{
size_t v___x_138_; uint64_t v___x_139_; uint64_t v___x_140_; uint64_t v___x_141_; 
v___x_138_ = lean_ptr_addr(v_c_137_);
v___x_139_ = lean_usize_to_uint64(v___x_138_);
v___x_140_ = 2ULL;
v___x_141_ = lean_uint64_shift_right(v___x_139_, v___x_140_);
return v___x_141_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___redArg___boxed(lean_object* v_c_142_){
_start:
{
uint64_t v_res_143_; lean_object* v_r_144_; 
v_res_143_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___redArg(v_c_142_);
lean_dec(v_c_142_);
v_r_144_ = lean_box_uint64(v_res_143_);
return v_r_144_;
}
}
LEAN_EXPORT uint64_t l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1(lean_object* v_00_u03b1_145_, lean_object* v_c_146_){
_start:
{
uint64_t v___x_147_; 
v___x_147_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___redArg(v_c_146_);
return v___x_147_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___boxed(lean_object* v_00_u03b1_148_, lean_object* v_c_149_){
_start:
{
uint64_t v_res_150_; lean_object* v_r_151_; 
v_res_150_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1(v_00_u03b1_148_, v_c_149_);
lean_dec(v_c_149_);
v_r_151_ = lean_box_uint64(v_res_150_);
return v_r_151_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__1(void){
_start:
{
lean_object* v___x_153_; lean_object* v___f_154_; 
v___x_153_ = lean_alloc_closure((void*)(l_instDecidableEqUInt64___boxed), 2, 0);
v___f_154_ = lean_alloc_closure((void*)(l_instBEqOfDecidableEq___redArg___lam__0___boxed), 3, 1);
lean_closure_set(v___f_154_, 0, v___x_153_);
return v___f_154_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg(lean_object* v_c_155_, lean_object* v_k_156_, lean_object* v_a_157_, lean_object* v_a_158_, lean_object* v_a_159_, lean_object* v_a_160_, lean_object* v_a_161_, lean_object* v_a_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_, lean_object* v_a_168_, lean_object* v_a_169_){
_start:
{
lean_object* v___x_171_; lean_object* v_cache_172_; lean_object* v___f_173_; uint64_t v_addr_174_; lean_object* v___f_175_; lean_object* v___x_176_; lean_object* v___x_177_; 
v___x_171_ = lean_st_ref_get(v_a_158_);
v_cache_172_ = lean_ctor_get(v___x_171_, 0);
lean_inc_ref(v_cache_172_);
lean_dec(v___x_171_);
v___f_173_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__0));
v_addr_174_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___redArg(v_c_155_);
v___f_175_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__1, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__1_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__1);
v___x_176_ = lean_box_uint64(v_addr_174_);
v___x_177_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___redArg(v___f_175_, v___f_173_, v_cache_172_, v___x_176_);
lean_dec_ref(v_cache_172_);
if (lean_obj_tag(v___x_177_) == 1)
{
lean_object* v_val_178_; lean_object* v___x_180_; uint8_t v_isShared_181_; uint8_t v_isSharedCheck_185_; 
lean_dec(v_a_169_);
lean_dec_ref(v_a_168_);
lean_dec(v_a_167_);
lean_dec_ref(v_a_166_);
lean_dec(v_a_165_);
lean_dec_ref(v_a_164_);
lean_dec(v_a_163_);
lean_dec_ref(v_a_162_);
lean_dec(v_a_161_);
lean_dec(v_a_160_);
lean_dec(v_a_159_);
lean_dec(v_a_158_);
lean_dec_ref(v_a_157_);
lean_dec_ref(v_k_156_);
v_val_178_ = lean_ctor_get(v___x_177_, 0);
v_isSharedCheck_185_ = !lean_is_exclusive(v___x_177_);
if (v_isSharedCheck_185_ == 0)
{
v___x_180_ = v___x_177_;
v_isShared_181_ = v_isSharedCheck_185_;
goto v_resetjp_179_;
}
else
{
lean_inc(v_val_178_);
lean_dec(v___x_177_);
v___x_180_ = lean_box(0);
v_isShared_181_ = v_isSharedCheck_185_;
goto v_resetjp_179_;
}
v_resetjp_179_:
{
lean_object* v___x_183_; 
if (v_isShared_181_ == 0)
{
lean_ctor_set_tag(v___x_180_, 0);
v___x_183_ = v___x_180_;
goto v_reusejp_182_;
}
else
{
lean_object* v_reuseFailAlloc_184_; 
v_reuseFailAlloc_184_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_184_, 0, v_val_178_);
v___x_183_ = v_reuseFailAlloc_184_;
goto v_reusejp_182_;
}
v_reusejp_182_:
{
return v___x_183_;
}
}
}
else
{
lean_object* v___x_186_; 
lean_dec(v___x_177_);
lean_inc(v_a_158_);
v___x_186_ = lean_apply_14(v_k_156_, v_a_157_, v_a_158_, v_a_159_, v_a_160_, v_a_161_, v_a_162_, v_a_163_, v_a_164_, v_a_165_, v_a_166_, v_a_167_, v_a_168_, v_a_169_, lean_box(0));
if (lean_obj_tag(v___x_186_) == 0)
{
lean_object* v_a_187_; lean_object* v___x_189_; uint8_t v_isShared_190_; uint8_t v_isSharedCheck_212_; 
v_a_187_ = lean_ctor_get(v___x_186_, 0);
v_isSharedCheck_212_ = !lean_is_exclusive(v___x_186_);
if (v_isSharedCheck_212_ == 0)
{
v___x_189_ = v___x_186_;
v_isShared_190_ = v_isSharedCheck_212_;
goto v_resetjp_188_;
}
else
{
lean_inc(v_a_187_);
lean_dec(v___x_186_);
v___x_189_ = lean_box(0);
v_isShared_190_ = v_isSharedCheck_212_;
goto v_resetjp_188_;
}
v_resetjp_188_:
{
lean_object* v___x_191_; lean_object* v_cache_192_; lean_object* v_varDecls_193_; lean_object* v_polyDecls_194_; lean_object* v_exprDecls_195_; lean_object* v_ringPolyDecls_196_; lean_object* v_ringExprDecls_197_; lean_object* v_ringVarDecls_198_; lean_object* v___x_200_; uint8_t v_isShared_201_; uint8_t v_isSharedCheck_211_; 
v___x_191_ = lean_st_ref_take(v_a_158_);
v_cache_192_ = lean_ctor_get(v___x_191_, 0);
v_varDecls_193_ = lean_ctor_get(v___x_191_, 1);
v_polyDecls_194_ = lean_ctor_get(v___x_191_, 2);
v_exprDecls_195_ = lean_ctor_get(v___x_191_, 3);
v_ringPolyDecls_196_ = lean_ctor_get(v___x_191_, 4);
v_ringExprDecls_197_ = lean_ctor_get(v___x_191_, 5);
v_ringVarDecls_198_ = lean_ctor_get(v___x_191_, 6);
v_isSharedCheck_211_ = !lean_is_exclusive(v___x_191_);
if (v_isSharedCheck_211_ == 0)
{
v___x_200_ = v___x_191_;
v_isShared_201_ = v_isSharedCheck_211_;
goto v_resetjp_199_;
}
else
{
lean_inc(v_ringVarDecls_198_);
lean_inc(v_ringExprDecls_197_);
lean_inc(v_ringPolyDecls_196_);
lean_inc(v_exprDecls_195_);
lean_inc(v_polyDecls_194_);
lean_inc(v_varDecls_193_);
lean_inc(v_cache_192_);
lean_dec(v___x_191_);
v___x_200_ = lean_box(0);
v_isShared_201_ = v_isSharedCheck_211_;
goto v_resetjp_199_;
}
v_resetjp_199_:
{
lean_object* v___x_202_; lean_object* v___x_203_; lean_object* v___x_205_; 
v___x_202_ = lean_box_uint64(v_addr_174_);
lean_inc(v_a_187_);
v___x_203_ = l_Std_DHashMap_Internal_Raw_u2080_insert___redArg(v___f_175_, v___f_173_, v_cache_192_, v___x_202_, v_a_187_);
if (v_isShared_201_ == 0)
{
lean_ctor_set(v___x_200_, 0, v___x_203_);
v___x_205_ = v___x_200_;
goto v_reusejp_204_;
}
else
{
lean_object* v_reuseFailAlloc_210_; 
v_reuseFailAlloc_210_ = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(v_reuseFailAlloc_210_, 0, v___x_203_);
lean_ctor_set(v_reuseFailAlloc_210_, 1, v_varDecls_193_);
lean_ctor_set(v_reuseFailAlloc_210_, 2, v_polyDecls_194_);
lean_ctor_set(v_reuseFailAlloc_210_, 3, v_exprDecls_195_);
lean_ctor_set(v_reuseFailAlloc_210_, 4, v_ringPolyDecls_196_);
lean_ctor_set(v_reuseFailAlloc_210_, 5, v_ringExprDecls_197_);
lean_ctor_set(v_reuseFailAlloc_210_, 6, v_ringVarDecls_198_);
v___x_205_ = v_reuseFailAlloc_210_;
goto v_reusejp_204_;
}
v_reusejp_204_:
{
lean_object* v___x_206_; lean_object* v___x_208_; 
v___x_206_ = lean_st_ref_set(v_a_158_, v___x_205_);
lean_dec(v_a_158_);
if (v_isShared_190_ == 0)
{
v___x_208_ = v___x_189_;
goto v_reusejp_207_;
}
else
{
lean_object* v_reuseFailAlloc_209_; 
v_reuseFailAlloc_209_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_209_, 0, v_a_187_);
v___x_208_ = v_reuseFailAlloc_209_;
goto v_reusejp_207_;
}
v_reusejp_207_:
{
return v___x_208_;
}
}
}
}
}
else
{
lean_dec(v_a_158_);
return v___x_186_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___boxed(lean_object* v_c_213_, lean_object* v_k_214_, lean_object* v_a_215_, lean_object* v_a_216_, lean_object* v_a_217_, lean_object* v_a_218_, lean_object* v_a_219_, lean_object* v_a_220_, lean_object* v_a_221_, lean_object* v_a_222_, lean_object* v_a_223_, lean_object* v_a_224_, lean_object* v_a_225_, lean_object* v_a_226_, lean_object* v_a_227_, lean_object* v_a_228_){
_start:
{
lean_object* v_res_229_; 
v_res_229_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg(v_c_213_, v_k_214_, v_a_215_, v_a_216_, v_a_217_, v_a_218_, v_a_219_, v_a_220_, v_a_221_, v_a_222_, v_a_223_, v_a_224_, v_a_225_, v_a_226_, v_a_227_);
lean_dec(v_c_213_);
return v_res_229_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching(lean_object* v_00_u03b1_230_, lean_object* v_c_231_, lean_object* v_k_232_, lean_object* v_a_233_, lean_object* v_a_234_, lean_object* v_a_235_, lean_object* v_a_236_, lean_object* v_a_237_, lean_object* v_a_238_, lean_object* v_a_239_, lean_object* v_a_240_, lean_object* v_a_241_, lean_object* v_a_242_, lean_object* v_a_243_, lean_object* v_a_244_, lean_object* v_a_245_){
_start:
{
lean_object* v___x_247_; lean_object* v_cache_248_; lean_object* v___f_249_; uint64_t v_addr_250_; lean_object* v___f_251_; lean_object* v___x_252_; lean_object* v___x_253_; 
v___x_247_ = lean_st_ref_get(v_a_234_);
v_cache_248_ = lean_ctor_get(v___x_247_, 0);
lean_inc_ref(v_cache_248_);
lean_dec(v___x_247_);
v___f_249_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__0));
v_addr_250_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___redArg(v_c_231_);
v___f_251_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__1, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__1_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___redArg___closed__1);
v___x_252_ = lean_box_uint64(v_addr_250_);
v___x_253_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___redArg(v___f_251_, v___f_249_, v_cache_248_, v___x_252_);
lean_dec_ref(v_cache_248_);
if (lean_obj_tag(v___x_253_) == 1)
{
lean_object* v_val_254_; lean_object* v___x_256_; uint8_t v_isShared_257_; uint8_t v_isSharedCheck_261_; 
lean_dec(v_a_245_);
lean_dec_ref(v_a_244_);
lean_dec(v_a_243_);
lean_dec_ref(v_a_242_);
lean_dec(v_a_241_);
lean_dec_ref(v_a_240_);
lean_dec(v_a_239_);
lean_dec_ref(v_a_238_);
lean_dec(v_a_237_);
lean_dec(v_a_236_);
lean_dec(v_a_235_);
lean_dec(v_a_234_);
lean_dec_ref(v_a_233_);
lean_dec_ref(v_k_232_);
v_val_254_ = lean_ctor_get(v___x_253_, 0);
v_isSharedCheck_261_ = !lean_is_exclusive(v___x_253_);
if (v_isSharedCheck_261_ == 0)
{
v___x_256_ = v___x_253_;
v_isShared_257_ = v_isSharedCheck_261_;
goto v_resetjp_255_;
}
else
{
lean_inc(v_val_254_);
lean_dec(v___x_253_);
v___x_256_ = lean_box(0);
v_isShared_257_ = v_isSharedCheck_261_;
goto v_resetjp_255_;
}
v_resetjp_255_:
{
lean_object* v___x_259_; 
if (v_isShared_257_ == 0)
{
lean_ctor_set_tag(v___x_256_, 0);
v___x_259_ = v___x_256_;
goto v_reusejp_258_;
}
else
{
lean_object* v_reuseFailAlloc_260_; 
v_reuseFailAlloc_260_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_260_, 0, v_val_254_);
v___x_259_ = v_reuseFailAlloc_260_;
goto v_reusejp_258_;
}
v_reusejp_258_:
{
return v___x_259_;
}
}
}
else
{
lean_object* v___x_262_; 
lean_dec(v___x_253_);
lean_inc(v_a_234_);
v___x_262_ = lean_apply_14(v_k_232_, v_a_233_, v_a_234_, v_a_235_, v_a_236_, v_a_237_, v_a_238_, v_a_239_, v_a_240_, v_a_241_, v_a_242_, v_a_243_, v_a_244_, v_a_245_, lean_box(0));
if (lean_obj_tag(v___x_262_) == 0)
{
lean_object* v_a_263_; lean_object* v___x_265_; uint8_t v_isShared_266_; uint8_t v_isSharedCheck_288_; 
v_a_263_ = lean_ctor_get(v___x_262_, 0);
v_isSharedCheck_288_ = !lean_is_exclusive(v___x_262_);
if (v_isSharedCheck_288_ == 0)
{
v___x_265_ = v___x_262_;
v_isShared_266_ = v_isSharedCheck_288_;
goto v_resetjp_264_;
}
else
{
lean_inc(v_a_263_);
lean_dec(v___x_262_);
v___x_265_ = lean_box(0);
v_isShared_266_ = v_isSharedCheck_288_;
goto v_resetjp_264_;
}
v_resetjp_264_:
{
lean_object* v___x_267_; lean_object* v_cache_268_; lean_object* v_varDecls_269_; lean_object* v_polyDecls_270_; lean_object* v_exprDecls_271_; lean_object* v_ringPolyDecls_272_; lean_object* v_ringExprDecls_273_; lean_object* v_ringVarDecls_274_; lean_object* v___x_276_; uint8_t v_isShared_277_; uint8_t v_isSharedCheck_287_; 
v___x_267_ = lean_st_ref_take(v_a_234_);
v_cache_268_ = lean_ctor_get(v___x_267_, 0);
v_varDecls_269_ = lean_ctor_get(v___x_267_, 1);
v_polyDecls_270_ = lean_ctor_get(v___x_267_, 2);
v_exprDecls_271_ = lean_ctor_get(v___x_267_, 3);
v_ringPolyDecls_272_ = lean_ctor_get(v___x_267_, 4);
v_ringExprDecls_273_ = lean_ctor_get(v___x_267_, 5);
v_ringVarDecls_274_ = lean_ctor_get(v___x_267_, 6);
v_isSharedCheck_287_ = !lean_is_exclusive(v___x_267_);
if (v_isSharedCheck_287_ == 0)
{
v___x_276_ = v___x_267_;
v_isShared_277_ = v_isSharedCheck_287_;
goto v_resetjp_275_;
}
else
{
lean_inc(v_ringVarDecls_274_);
lean_inc(v_ringExprDecls_273_);
lean_inc(v_ringPolyDecls_272_);
lean_inc(v_exprDecls_271_);
lean_inc(v_polyDecls_270_);
lean_inc(v_varDecls_269_);
lean_inc(v_cache_268_);
lean_dec(v___x_267_);
v___x_276_ = lean_box(0);
v_isShared_277_ = v_isSharedCheck_287_;
goto v_resetjp_275_;
}
v_resetjp_275_:
{
lean_object* v___x_278_; lean_object* v___x_279_; lean_object* v___x_281_; 
v___x_278_ = lean_box_uint64(v_addr_250_);
lean_inc(v_a_263_);
v___x_279_ = l_Std_DHashMap_Internal_Raw_u2080_insert___redArg(v___f_251_, v___f_249_, v_cache_268_, v___x_278_, v_a_263_);
if (v_isShared_277_ == 0)
{
lean_ctor_set(v___x_276_, 0, v___x_279_);
v___x_281_ = v___x_276_;
goto v_reusejp_280_;
}
else
{
lean_object* v_reuseFailAlloc_286_; 
v_reuseFailAlloc_286_ = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(v_reuseFailAlloc_286_, 0, v___x_279_);
lean_ctor_set(v_reuseFailAlloc_286_, 1, v_varDecls_269_);
lean_ctor_set(v_reuseFailAlloc_286_, 2, v_polyDecls_270_);
lean_ctor_set(v_reuseFailAlloc_286_, 3, v_exprDecls_271_);
lean_ctor_set(v_reuseFailAlloc_286_, 4, v_ringPolyDecls_272_);
lean_ctor_set(v_reuseFailAlloc_286_, 5, v_ringExprDecls_273_);
lean_ctor_set(v_reuseFailAlloc_286_, 6, v_ringVarDecls_274_);
v___x_281_ = v_reuseFailAlloc_286_;
goto v_reusejp_280_;
}
v_reusejp_280_:
{
lean_object* v___x_282_; lean_object* v___x_284_; 
v___x_282_ = lean_st_ref_set(v_a_234_, v___x_281_);
lean_dec(v_a_234_);
if (v_isShared_266_ == 0)
{
v___x_284_ = v___x_265_;
goto v_reusejp_283_;
}
else
{
lean_object* v_reuseFailAlloc_285_; 
v_reuseFailAlloc_285_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_285_, 0, v_a_263_);
v___x_284_ = v_reuseFailAlloc_285_;
goto v_reusejp_283_;
}
v_reusejp_283_:
{
return v___x_284_;
}
}
}
}
}
else
{
lean_dec(v_a_234_);
return v___x_262_;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching___boxed(lean_object** _args){
lean_object* v_00_u03b1_289_ = _args[0];
lean_object* v_c_290_ = _args[1];
lean_object* v_k_291_ = _args[2];
lean_object* v_a_292_ = _args[3];
lean_object* v_a_293_ = _args[4];
lean_object* v_a_294_ = _args[5];
lean_object* v_a_295_ = _args[6];
lean_object* v_a_296_ = _args[7];
lean_object* v_a_297_ = _args[8];
lean_object* v_a_298_ = _args[9];
lean_object* v_a_299_ = _args[10];
lean_object* v_a_300_ = _args[11];
lean_object* v_a_301_ = _args[12];
lean_object* v_a_302_ = _args[13];
lean_object* v_a_303_ = _args[14];
lean_object* v_a_304_ = _args[15];
lean_object* v_a_305_ = _args[16];
_start:
{
lean_object* v_res_306_; 
v_res_306_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching(v_00_u03b1_289_, v_c_290_, v_k_291_, v_a_292_, v_a_293_, v_a_294_, v_a_295_, v_a_296_, v_a_297_, v_a_298_, v_a_299_, v_a_300_, v_a_301_, v_a_302_, v_a_303_, v_a_304_);
lean_dec(v_c_290_);
return v_res_306_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__19(void){
_start:
{
lean_object* v___x_429_; lean_object* v___x_430_; 
v___x_429_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__18));
v___x_430_ = l_String_toRawSubstring_x27(v___x_429_);
return v___x_430_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__26(void){
_start:
{
lean_object* v___x_444_; lean_object* v___x_445_; 
v___x_444_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__25));
v___x_445_ = l_String_toRawSubstring_x27(v___x_444_);
return v___x_445_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__43(void){
_start:
{
lean_object* v___x_481_; lean_object* v___x_482_; 
v___x_481_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__42));
v___x_482_ = l_String_toRawSubstring_x27(v___x_481_);
return v___x_482_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__51(void){
_start:
{
lean_object* v___x_502_; lean_object* v___x_503_; 
v___x_502_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__50));
v___x_503_ = l_String_toRawSubstring_x27(v___x_502_);
return v___x_503_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__61(void){
_start:
{
lean_object* v___x_521_; 
v___x_521_ = l_Array_mkArray0(lean_box(0));
return v___x_521_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__78(void){
_start:
{
lean_object* v___x_558_; lean_object* v___x_559_; 
v___x_558_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__77));
v___x_559_ = l_String_toRawSubstring_x27(v___x_558_);
return v___x_559_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__84(void){
_start:
{
lean_object* v___x_572_; lean_object* v___x_573_; 
v___x_572_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__83));
v___x_573_ = l_String_toRawSubstring_x27(v___x_572_);
return v___x_573_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__93(void){
_start:
{
lean_object* v___x_593_; lean_object* v___x_594_; 
v___x_593_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__92));
v___x_594_ = l_String_toRawSubstring_x27(v___x_593_);
return v___x_594_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__102(void){
_start:
{
lean_object* v___x_616_; lean_object* v___x_617_; 
v___x_616_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__101));
v___x_617_ = l_String_toRawSubstring_x27(v___x_616_);
return v___x_617_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__118(void){
_start:
{
lean_object* v___x_654_; lean_object* v___x_655_; 
v___x_654_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__117));
v___x_655_ = l_String_toRawSubstring_x27(v___x_654_);
return v___x_655_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1(lean_object* v_x_675_, lean_object* v_a_676_, lean_object* v_a_677_){
_start:
{
lean_object* v___x_678_; lean_object* v___x_679_; uint8_t v___x_680_; 
v___x_678_ = lean_box(0);
v___x_679_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__23));
lean_inc(v_x_675_);
v___x_680_ = l_Lean_Syntax_isOfKind(v_x_675_, v___x_679_);
if (v___x_680_ == 0)
{
lean_object* v___x_681_; lean_object* v___x_682_; 
lean_dec_ref(v_a_676_);
lean_dec(v_x_675_);
v___x_681_ = lean_box(1);
v___x_682_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_682_, 0, v___x_681_);
lean_ctor_set(v___x_682_, 1, v_a_677_);
return v___x_682_;
}
else
{
lean_object* v_quotContext_683_; lean_object* v_currMacroScope_684_; lean_object* v_ref_685_; lean_object* v___x_686_; lean_object* v___x_687_; lean_object* v___x_688_; lean_object* v___x_689_; uint8_t v___x_690_; lean_object* v___x_691_; lean_object* v___x_692_; lean_object* v___x_693_; lean_object* v___x_694_; lean_object* v___x_695_; lean_object* v___x_696_; lean_object* v___x_697_; lean_object* v___x_698_; lean_object* v___x_699_; lean_object* v___x_700_; lean_object* v___x_701_; lean_object* v___x_702_; lean_object* v___x_703_; lean_object* v___x_704_; lean_object* v___x_705_; lean_object* v___x_706_; lean_object* v___x_707_; lean_object* v___x_708_; lean_object* v___x_709_; lean_object* v___x_710_; lean_object* v___x_711_; lean_object* v___x_712_; lean_object* v___x_713_; lean_object* v___x_714_; lean_object* v___x_715_; lean_object* v___x_716_; lean_object* v___x_717_; lean_object* v___x_718_; lean_object* v___x_719_; lean_object* v___x_720_; lean_object* v___x_721_; lean_object* v___x_722_; lean_object* v___x_723_; lean_object* v___x_724_; lean_object* v___x_725_; lean_object* v___x_726_; lean_object* v___x_727_; lean_object* v___x_728_; lean_object* v___x_729_; lean_object* v___x_730_; lean_object* v___x_731_; lean_object* v___x_732_; lean_object* v___x_733_; lean_object* v___x_734_; lean_object* v___x_735_; lean_object* v___x_736_; lean_object* v___x_737_; lean_object* v___x_738_; lean_object* v___x_739_; lean_object* v___x_740_; lean_object* v___x_741_; lean_object* v___x_742_; lean_object* v___x_743_; lean_object* v___x_744_; lean_object* v___x_745_; lean_object* v___x_746_; lean_object* v___x_747_; lean_object* v___x_748_; lean_object* v___x_749_; lean_object* v___x_750_; lean_object* v___x_751_; lean_object* v___x_752_; lean_object* v___x_753_; lean_object* v___x_754_; lean_object* v___x_755_; lean_object* v___x_756_; lean_object* v___x_757_; lean_object* v___x_758_; lean_object* v___x_759_; lean_object* v___x_760_; lean_object* v___x_761_; lean_object* v___x_762_; lean_object* v___x_763_; lean_object* v___x_764_; lean_object* v___x_765_; lean_object* v___x_766_; lean_object* v___x_767_; lean_object* v___x_768_; lean_object* v___x_769_; lean_object* v___x_770_; lean_object* v___x_771_; lean_object* v___x_772_; lean_object* v___x_773_; lean_object* v___x_774_; lean_object* v___x_775_; lean_object* v___x_776_; lean_object* v___x_777_; lean_object* v___x_778_; lean_object* v___x_779_; lean_object* v___x_780_; lean_object* v___x_781_; lean_object* v___x_782_; lean_object* v___x_783_; lean_object* v___x_784_; lean_object* v___x_785_; lean_object* v___x_786_; lean_object* v___x_787_; lean_object* v___x_788_; lean_object* v___x_789_; lean_object* v___x_790_; lean_object* v___x_791_; lean_object* v___x_792_; lean_object* v___x_793_; lean_object* v___x_794_; lean_object* v___x_795_; lean_object* v___x_796_; lean_object* v___x_797_; lean_object* v___x_798_; lean_object* v___x_799_; lean_object* v___x_800_; lean_object* v___x_801_; lean_object* v___x_802_; lean_object* v___x_803_; lean_object* v___x_804_; lean_object* v___x_805_; lean_object* v___x_806_; lean_object* v___x_807_; lean_object* v___x_808_; lean_object* v___x_809_; lean_object* v___x_810_; lean_object* v___x_811_; lean_object* v___x_812_; lean_object* v___x_813_; lean_object* v___x_814_; lean_object* v___x_815_; lean_object* v___x_816_; lean_object* v___x_817_; lean_object* v___x_818_; lean_object* v___x_819_; lean_object* v___x_820_; lean_object* v___x_821_; lean_object* v___x_822_; lean_object* v___x_823_; lean_object* v___x_824_; lean_object* v___x_825_; lean_object* v___x_826_; lean_object* v___x_827_; lean_object* v___x_828_; lean_object* v___x_829_; lean_object* v___x_830_; lean_object* v___x_831_; lean_object* v___x_832_; lean_object* v___x_833_; lean_object* v___x_834_; lean_object* v___x_835_; lean_object* v___x_836_; lean_object* v___x_837_; lean_object* v___x_838_; lean_object* v___x_839_; lean_object* v___x_840_; lean_object* v___x_841_; lean_object* v___x_842_; lean_object* v___x_843_; lean_object* v___x_844_; lean_object* v___x_845_; lean_object* v___x_846_; lean_object* v___x_847_; lean_object* v___x_848_; lean_object* v___x_849_; lean_object* v___x_850_; lean_object* v___x_851_; lean_object* v___x_852_; lean_object* v___x_853_; lean_object* v___x_854_; lean_object* v___x_855_; 
v_quotContext_683_ = lean_ctor_get(v_a_676_, 1);
lean_inc(v_quotContext_683_);
v_currMacroScope_684_ = lean_ctor_get(v_a_676_, 2);
lean_inc(v_currMacroScope_684_);
v_ref_685_ = lean_ctor_get(v_a_676_, 5);
lean_inc(v_ref_685_);
lean_dec_ref(v_a_676_);
v___x_686_ = lean_unsigned_to_nat(1u);
v___x_687_ = l_Lean_Syntax_getArg(v_x_675_, v___x_686_);
v___x_688_ = lean_unsigned_to_nat(2u);
v___x_689_ = l_Lean_Syntax_getArg(v_x_675_, v___x_688_);
lean_dec(v_x_675_);
v___x_690_ = 0;
v___x_691_ = l_Lean_SourceInfo_fromRef(v_ref_685_, v___x_690_);
lean_dec(v_ref_685_);
v___x_692_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__2));
v___x_693_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__3));
lean_inc(v___x_691_);
v___x_694_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_694_, 0, v___x_691_);
lean_ctor_set(v___x_694_, 1, v___x_692_);
v___x_695_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__5));
v___x_696_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__7));
v___x_697_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__9));
v___x_698_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__11));
v___x_699_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__12));
lean_inc(v___x_691_);
v___x_700_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_700_, 0, v___x_691_);
lean_ctor_set(v___x_700_, 1, v___x_699_);
v___x_701_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__14));
v___x_702_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__15));
lean_inc(v___x_691_);
v___x_703_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_703_, 0, v___x_691_);
lean_ctor_set(v___x_703_, 1, v___x_702_);
v___x_704_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__17));
v___x_705_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__19, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__19_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__19);
v___x_706_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__20));
lean_inc(v_currMacroScope_684_);
lean_inc(v_quotContext_683_);
v___x_707_ = l_Lean_addMacroScope(v_quotContext_683_, v___x_706_, v_currMacroScope_684_);
v___x_708_ = lean_box(0);
v___x_709_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__24));
lean_inc(v___x_691_);
v___x_710_ = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(v___x_710_, 0, v___x_691_);
lean_ctor_set(v___x_710_, 1, v___x_705_);
lean_ctor_set(v___x_710_, 2, v___x_707_);
lean_ctor_set(v___x_710_, 3, v___x_709_);
v___x_711_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__26, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__26_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__26);
v___x_712_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__27));
lean_inc(v_currMacroScope_684_);
lean_inc(v_quotContext_683_);
v___x_713_ = l_Lean_addMacroScope(v_quotContext_683_, v___x_712_, v_currMacroScope_684_);
lean_inc(v___x_691_);
v___x_714_ = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(v___x_714_, 0, v___x_691_);
lean_ctor_set(v___x_714_, 1, v___x_711_);
lean_ctor_set(v___x_714_, 2, v___x_713_);
lean_ctor_set(v___x_714_, 3, v___x_708_);
lean_inc_ref(v___x_714_);
lean_inc(v___x_691_);
v___x_715_ = l_Lean_Syntax_node1(v___x_691_, v___x_696_, v___x_714_);
lean_inc(v___x_715_);
lean_inc(v___x_691_);
v___x_716_ = l_Lean_Syntax_node2(v___x_691_, v___x_704_, v___x_710_, v___x_715_);
v___x_717_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__29));
v___x_718_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__30));
lean_inc(v___x_691_);
v___x_719_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_719_, 0, v___x_691_);
lean_ctor_set(v___x_719_, 1, v___x_718_);
v___x_720_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__32));
v___x_721_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__34));
v___x_722_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__36));
v___x_723_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__38));
v___x_724_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__39));
lean_inc(v___x_691_);
v___x_725_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_725_, 0, v___x_691_);
lean_ctor_set(v___x_725_, 1, v___x_724_);
v___x_726_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__41));
v___x_727_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__43, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__43_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__43);
lean_inc(v_currMacroScope_684_);
lean_inc(v_quotContext_683_);
v___x_728_ = l_Lean_addMacroScope(v_quotContext_683_, v___x_678_, v_currMacroScope_684_);
v___x_729_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__46));
lean_inc(v___x_691_);
v___x_730_ = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(v___x_730_, 0, v___x_691_);
lean_ctor_set(v___x_730_, 1, v___x_727_);
lean_ctor_set(v___x_730_, 2, v___x_728_);
lean_ctor_set(v___x_730_, 3, v___x_729_);
lean_inc(v___x_691_);
v___x_731_ = l_Lean_Syntax_node1(v___x_691_, v___x_726_, v___x_730_);
lean_inc(v___x_691_);
v___x_732_ = l_Lean_Syntax_node2(v___x_691_, v___x_723_, v___x_725_, v___x_731_);
v___x_733_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__48));
v___x_734_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__49));
lean_inc(v___x_691_);
v___x_735_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_735_, 0, v___x_691_);
lean_ctor_set(v___x_735_, 1, v___x_734_);
v___x_736_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__51, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__51_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__51);
v___x_737_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__52));
lean_inc(v_currMacroScope_684_);
lean_inc(v_quotContext_683_);
v___x_738_ = l_Lean_addMacroScope(v_quotContext_683_, v___x_737_, v_currMacroScope_684_);
v___x_739_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__56));
lean_inc(v___x_691_);
v___x_740_ = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(v___x_740_, 0, v___x_691_);
lean_ctor_set(v___x_740_, 1, v___x_736_);
lean_ctor_set(v___x_740_, 2, v___x_738_);
lean_ctor_set(v___x_740_, 3, v___x_739_);
lean_inc_ref(v___x_735_);
lean_inc(v___x_691_);
v___x_741_ = l_Lean_Syntax_node2(v___x_691_, v___x_733_, v___x_735_, v___x_740_);
v___x_742_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__57));
lean_inc(v___x_691_);
v___x_743_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_743_, 0, v___x_691_);
lean_ctor_set(v___x_743_, 1, v___x_742_);
lean_inc_ref(v___x_743_);
lean_inc(v___x_732_);
lean_inc(v___x_691_);
v___x_744_ = l_Lean_Syntax_node3(v___x_691_, v___x_722_, v___x_732_, v___x_741_, v___x_743_);
v___x_745_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__58));
lean_inc(v___x_691_);
v___x_746_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_746_, 0, v___x_691_);
lean_ctor_set(v___x_746_, 1, v___x_745_);
lean_inc(v___x_687_);
lean_inc_ref(v___x_746_);
lean_inc(v___x_691_);
v___x_747_ = l_Lean_Syntax_node3(v___x_691_, v___x_721_, v___x_744_, v___x_746_, v___x_687_);
v___x_748_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__60));
v___x_749_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__61, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__61_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__61);
lean_inc(v___x_691_);
v___x_750_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_750_, 0, v___x_691_);
lean_ctor_set(v___x_750_, 1, v___x_748_);
lean_ctor_set(v___x_750_, 2, v___x_749_);
v___x_751_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__62));
lean_inc(v___x_691_);
v___x_752_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_752_, 0, v___x_691_);
lean_ctor_set(v___x_752_, 1, v___x_751_);
v___x_753_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__63));
lean_inc(v___x_691_);
v___x_754_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_754_, 0, v___x_691_);
lean_ctor_set(v___x_754_, 1, v___x_753_);
v___x_755_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__64));
lean_inc(v___x_691_);
v___x_756_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_756_, 0, v___x_691_);
lean_ctor_set(v___x_756_, 1, v___x_755_);
lean_inc(v___x_689_);
lean_inc_ref(v___x_750_);
lean_inc(v___x_691_);
v___x_757_ = l_Lean_Syntax_node7(v___x_691_, v___x_720_, v___x_747_, v___x_750_, v___x_752_, v___x_689_, v___x_754_, v___x_750_, v___x_756_);
lean_inc_ref(v___x_719_);
lean_inc(v___x_691_);
v___x_758_ = l_Lean_Syntax_node2(v___x_691_, v___x_717_, v___x_719_, v___x_757_);
lean_inc_ref(v___x_703_);
lean_inc(v___x_691_);
v___x_759_ = l_Lean_Syntax_node3(v___x_691_, v___x_701_, v___x_703_, v___x_716_, v___x_758_);
v___x_760_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__65));
lean_inc(v___x_691_);
v___x_761_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_761_, 0, v___x_691_);
lean_ctor_set(v___x_761_, 1, v___x_760_);
v___x_762_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__67));
v___x_763_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__68));
lean_inc(v___x_691_);
v___x_764_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_764_, 0, v___x_691_);
lean_ctor_set(v___x_764_, 1, v___x_763_);
lean_inc(v___x_691_);
v___x_765_ = l_Lean_Syntax_node2(v___x_691_, v___x_762_, v___x_764_, v___x_715_);
lean_inc(v___x_691_);
v___x_766_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_766_, 0, v___x_691_);
lean_ctor_set(v___x_766_, 1, v___x_696_);
lean_ctor_set(v___x_766_, 2, v___x_749_);
lean_inc_ref(v___x_766_);
lean_inc(v___x_691_);
v___x_767_ = l_Lean_Syntax_node2(v___x_691_, v___x_697_, v___x_765_, v___x_766_);
lean_inc(v___x_767_);
lean_inc(v___x_691_);
v___x_768_ = l_Lean_Syntax_node1(v___x_691_, v___x_696_, v___x_767_);
lean_inc(v___x_691_);
v___x_769_ = l_Lean_Syntax_node1(v___x_691_, v___x_695_, v___x_768_);
lean_inc_ref_n(v___x_766_, 2);
lean_inc(v___x_691_);
v___x_770_ = l_Lean_Syntax_node6(v___x_691_, v___x_698_, v___x_700_, v___x_759_, v___x_761_, v___x_769_, v___x_766_, v___x_766_);
lean_inc_ref(v___x_766_);
lean_inc(v___x_691_);
v___x_771_ = l_Lean_Syntax_node2(v___x_691_, v___x_697_, v___x_770_, v___x_766_);
v___x_772_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__70));
v___x_773_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__72));
v___x_774_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__74));
v___x_775_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__76));
lean_inc_ref(v___x_714_);
lean_inc(v___x_691_);
v___x_776_ = l_Lean_Syntax_node1(v___x_691_, v___x_775_, v___x_714_);
v___x_777_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__78, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__78_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__78);
v___x_778_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__79));
lean_inc(v_currMacroScope_684_);
lean_inc(v_quotContext_683_);
v___x_779_ = l_Lean_addMacroScope(v_quotContext_683_, v___x_778_, v_currMacroScope_684_);
v___x_780_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__82));
lean_inc(v___x_691_);
v___x_781_ = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(v___x_781_, 0, v___x_691_);
lean_ctor_set(v___x_781_, 1, v___x_777_);
lean_ctor_set(v___x_781_, 2, v___x_779_);
lean_ctor_set(v___x_781_, 3, v___x_780_);
v___x_782_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__84, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__84_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__84);
v___x_783_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__85));
lean_inc(v_currMacroScope_684_);
lean_inc(v_quotContext_683_);
v___x_784_ = l_Lean_addMacroScope(v_quotContext_683_, v___x_783_, v_currMacroScope_684_);
v___x_785_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__88));
lean_inc(v___x_691_);
v___x_786_ = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(v___x_786_, 0, v___x_691_);
lean_ctor_set(v___x_786_, 1, v___x_782_);
lean_ctor_set(v___x_786_, 2, v___x_784_);
lean_ctor_set(v___x_786_, 3, v___x_785_);
lean_inc(v___x_691_);
v___x_787_ = l_Lean_Syntax_node2(v___x_691_, v___x_733_, v___x_735_, v___x_786_);
lean_inc_ref(v___x_743_);
lean_inc(v___x_732_);
lean_inc(v___x_691_);
v___x_788_ = l_Lean_Syntax_node3(v___x_691_, v___x_722_, v___x_732_, v___x_787_, v___x_743_);
lean_inc(v___x_691_);
v___x_789_ = l_Lean_Syntax_node1(v___x_691_, v___x_696_, v___x_788_);
lean_inc(v___x_691_);
v___x_790_ = l_Lean_Syntax_node2(v___x_691_, v___x_704_, v___x_781_, v___x_789_);
lean_inc_ref(v___x_719_);
lean_inc_ref_n(v___x_766_, 2);
lean_inc(v___x_691_);
v___x_791_ = l_Lean_Syntax_node5(v___x_691_, v___x_774_, v___x_776_, v___x_766_, v___x_766_, v___x_719_, v___x_790_);
lean_inc(v___x_691_);
v___x_792_ = l_Lean_Syntax_node1(v___x_691_, v___x_773_, v___x_791_);
lean_inc_ref(v___x_766_);
lean_inc(v___x_691_);
v___x_793_ = l_Lean_Syntax_node3(v___x_691_, v___x_772_, v___x_703_, v___x_766_, v___x_792_);
v___x_794_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__89));
lean_inc(v___x_691_);
v___x_795_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_795_, 0, v___x_691_);
lean_ctor_set(v___x_795_, 1, v___x_794_);
lean_inc(v___x_691_);
v___x_796_ = l_Lean_Syntax_node1(v___x_691_, v___x_696_, v___x_795_);
lean_inc(v___x_796_);
lean_inc(v___x_691_);
v___x_797_ = l_Lean_Syntax_node2(v___x_691_, v___x_697_, v___x_793_, v___x_796_);
v___x_798_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__91));
v___x_799_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__93, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__93_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__93);
v___x_800_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__94));
lean_inc(v_currMacroScope_684_);
lean_inc(v_quotContext_683_);
v___x_801_ = l_Lean_addMacroScope(v_quotContext_683_, v___x_800_, v_currMacroScope_684_);
v___x_802_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__96));
lean_inc(v___x_691_);
v___x_803_ = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(v___x_803_, 0, v___x_691_);
lean_ctor_set(v___x_803_, 1, v___x_799_);
lean_ctor_set(v___x_803_, 2, v___x_801_);
lean_ctor_set(v___x_803_, 3, v___x_802_);
v___x_804_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__97));
v___x_805_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__98));
lean_inc(v___x_691_);
v___x_806_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_806_, 0, v___x_691_);
lean_ctor_set(v___x_806_, 1, v___x_804_);
v___x_807_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__100));
v___x_808_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__102, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__102_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__102);
v___x_809_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__103));
lean_inc(v_currMacroScope_684_);
lean_inc(v_quotContext_683_);
v___x_810_ = l_Lean_addMacroScope(v_quotContext_683_, v___x_809_, v_currMacroScope_684_);
lean_inc(v___x_691_);
v___x_811_ = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(v___x_811_, 0, v___x_691_);
lean_ctor_set(v___x_811_, 1, v___x_808_);
lean_ctor_set(v___x_811_, 2, v___x_810_);
lean_ctor_set(v___x_811_, 3, v___x_708_);
lean_inc_ref(v___x_811_);
lean_inc(v___x_691_);
v___x_812_ = l_Lean_Syntax_node1(v___x_691_, v___x_696_, v___x_811_);
v___x_813_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__104));
lean_inc(v___x_691_);
v___x_814_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_814_, 0, v___x_691_);
lean_ctor_set(v___x_814_, 1, v___x_813_);
v___x_815_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__106));
v___x_816_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__107));
lean_inc(v___x_691_);
v___x_817_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_817_, 0, v___x_691_);
lean_ctor_set(v___x_817_, 1, v___x_816_);
v___x_818_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__108));
lean_inc(v___x_691_);
v___x_819_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_819_, 0, v___x_691_);
lean_ctor_set(v___x_819_, 1, v___x_818_);
lean_inc(v___x_812_);
lean_inc(v___x_691_);
v___x_820_ = l_Lean_Syntax_node2(v___x_691_, v___x_696_, v___x_812_, v___x_819_);
v___x_821_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__110));
v___x_822_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__112));
v___x_823_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__114));
lean_inc_ref(v___x_766_);
lean_inc(v___x_687_);
lean_inc(v___x_691_);
v___x_824_ = l_Lean_Syntax_node2(v___x_691_, v___x_823_, v___x_687_, v___x_766_);
v___x_825_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__116));
lean_inc_ref(v___x_746_);
lean_inc(v___x_691_);
v___x_826_ = l_Lean_Syntax_node3(v___x_691_, v___x_721_, v___x_811_, v___x_746_, v___x_687_);
lean_inc(v___x_691_);
v___x_827_ = l_Lean_Syntax_node3(v___x_691_, v___x_722_, v___x_732_, v___x_826_, v___x_743_);
v___x_828_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__118, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__118_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__118);
v___x_829_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__119));
v___x_830_ = l_Lean_addMacroScope(v_quotContext_683_, v___x_829_, v_currMacroScope_684_);
v___x_831_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__123));
lean_inc(v___x_691_);
v___x_832_ = lean_alloc_ctor(3, 4, 0);
lean_ctor_set(v___x_832_, 0, v___x_691_);
lean_ctor_set(v___x_832_, 1, v___x_828_);
lean_ctor_set(v___x_832_, 2, v___x_830_);
lean_ctor_set(v___x_832_, 3, v___x_831_);
lean_inc(v___x_691_);
v___x_833_ = l_Lean_Syntax_node3(v___x_691_, v___x_721_, v___x_827_, v___x_746_, v___x_832_);
lean_inc(v___x_691_);
v___x_834_ = l_Lean_Syntax_node2(v___x_691_, v___x_696_, v___x_689_, v___x_714_);
lean_inc(v___x_691_);
v___x_835_ = l_Lean_Syntax_node2(v___x_691_, v___x_704_, v___x_833_, v___x_834_);
lean_inc_ref(v___x_766_);
lean_inc(v___x_691_);
v___x_836_ = l_Lean_Syntax_node3(v___x_691_, v___x_825_, v___x_719_, v___x_766_, v___x_835_);
lean_inc_ref_n(v___x_766_, 2);
lean_inc(v___x_691_);
v___x_837_ = l_Lean_Syntax_node3(v___x_691_, v___x_696_, v___x_766_, v___x_766_, v___x_836_);
lean_inc(v___x_691_);
v___x_838_ = l_Lean_Syntax_node2(v___x_691_, v___x_822_, v___x_824_, v___x_837_);
lean_inc(v___x_691_);
v___x_839_ = l_Lean_Syntax_node1(v___x_691_, v___x_696_, v___x_838_);
lean_inc(v___x_691_);
v___x_840_ = l_Lean_Syntax_node1(v___x_691_, v___x_821_, v___x_839_);
v___x_841_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__125));
lean_inc_ref(v___x_766_);
lean_inc(v___x_691_);
v___x_842_ = l_Lean_Syntax_node1(v___x_691_, v___x_841_, v___x_766_);
v___x_843_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear___aux__Lean__Meta__Tactic__Grind__Arith__Linear__Proof______macroRules____private__Lean__Meta__Tactic__Grind__Arith__Linear__Proof__0__Lean__Meta__Grind__Arith__Linear__termDeclare_x21______1___closed__126));
lean_inc(v___x_691_);
v___x_844_ = lean_alloc_ctor(2, 2, 0);
lean_ctor_set(v___x_844_, 0, v___x_691_);
lean_ctor_set(v___x_844_, 1, v___x_843_);
lean_inc_ref(v___x_766_);
lean_inc(v___x_691_);
v___x_845_ = l_Lean_Syntax_node6(v___x_691_, v___x_815_, v___x_817_, v___x_820_, v___x_840_, v___x_842_, v___x_766_, v___x_844_);
lean_inc(v___x_691_);
v___x_846_ = l_Lean_Syntax_node4(v___x_691_, v___x_807_, v___x_812_, v___x_766_, v___x_814_, v___x_845_);
lean_inc(v___x_691_);
v___x_847_ = l_Lean_Syntax_node2(v___x_691_, v___x_805_, v___x_806_, v___x_846_);
lean_inc(v___x_691_);
v___x_848_ = l_Lean_Syntax_node1(v___x_691_, v___x_696_, v___x_847_);
lean_inc(v___x_691_);
v___x_849_ = l_Lean_Syntax_node2(v___x_691_, v___x_704_, v___x_803_, v___x_848_);
lean_inc(v___x_691_);
v___x_850_ = l_Lean_Syntax_node1(v___x_691_, v___x_798_, v___x_849_);
lean_inc(v___x_691_);
v___x_851_ = l_Lean_Syntax_node2(v___x_691_, v___x_697_, v___x_850_, v___x_796_);
lean_inc(v___x_691_);
v___x_852_ = l_Lean_Syntax_node4(v___x_691_, v___x_696_, v___x_771_, v___x_797_, v___x_851_, v___x_767_);
lean_inc(v___x_691_);
v___x_853_ = l_Lean_Syntax_node1(v___x_691_, v___x_695_, v___x_852_);
v___x_854_ = l_Lean_Syntax_node2(v___x_691_, v___x_693_, v___x_694_, v___x_853_);
v___x_855_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_855_, 0, v___x_854_);
lean_ctor_set(v___x_855_, 1, v_a_677_);
return v___x_855_;
}
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__4___redArg(lean_object* v_a_856_, lean_object* v_x_857_){
_start:
{
if (lean_obj_tag(v_x_857_) == 0)
{
uint8_t v___x_858_; 
v___x_858_ = 0;
return v___x_858_;
}
else
{
lean_object* v_key_859_; lean_object* v_tail_860_; uint8_t v___x_861_; 
v_key_859_ = lean_ctor_get(v_x_857_, 0);
v_tail_860_ = lean_ctor_get(v_x_857_, 2);
v___x_861_ = lean_nat_dec_eq(v_key_859_, v_a_856_);
if (v___x_861_ == 0)
{
v_x_857_ = v_tail_860_;
goto _start;
}
else
{
return v___x_861_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__4___redArg___boxed(lean_object* v_a_863_, lean_object* v_x_864_){
_start:
{
uint8_t v_res_865_; lean_object* v_r_866_; 
v_res_865_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__4___redArg(v_a_863_, v_x_864_);
lean_dec(v_x_864_);
lean_dec(v_a_863_);
v_r_866_ = lean_box(v_res_865_);
return v_r_866_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__6___redArg(lean_object* v_a_867_, lean_object* v_b_868_, lean_object* v_x_869_){
_start:
{
if (lean_obj_tag(v_x_869_) == 0)
{
lean_dec(v_b_868_);
lean_dec(v_a_867_);
return v_x_869_;
}
else
{
lean_object* v_key_870_; lean_object* v_value_871_; lean_object* v_tail_872_; lean_object* v___x_874_; uint8_t v_isShared_875_; uint8_t v_isSharedCheck_884_; 
v_key_870_ = lean_ctor_get(v_x_869_, 0);
v_value_871_ = lean_ctor_get(v_x_869_, 1);
v_tail_872_ = lean_ctor_get(v_x_869_, 2);
v_isSharedCheck_884_ = !lean_is_exclusive(v_x_869_);
if (v_isSharedCheck_884_ == 0)
{
v___x_874_ = v_x_869_;
v_isShared_875_ = v_isSharedCheck_884_;
goto v_resetjp_873_;
}
else
{
lean_inc(v_tail_872_);
lean_inc(v_value_871_);
lean_inc(v_key_870_);
lean_dec(v_x_869_);
v___x_874_ = lean_box(0);
v_isShared_875_ = v_isSharedCheck_884_;
goto v_resetjp_873_;
}
v_resetjp_873_:
{
uint8_t v___x_876_; 
v___x_876_ = lean_nat_dec_eq(v_key_870_, v_a_867_);
if (v___x_876_ == 0)
{
lean_object* v___x_877_; lean_object* v___x_879_; 
v___x_877_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__6___redArg(v_a_867_, v_b_868_, v_tail_872_);
if (v_isShared_875_ == 0)
{
lean_ctor_set(v___x_874_, 2, v___x_877_);
v___x_879_ = v___x_874_;
goto v_reusejp_878_;
}
else
{
lean_object* v_reuseFailAlloc_880_; 
v_reuseFailAlloc_880_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_880_, 0, v_key_870_);
lean_ctor_set(v_reuseFailAlloc_880_, 1, v_value_871_);
lean_ctor_set(v_reuseFailAlloc_880_, 2, v___x_877_);
v___x_879_ = v_reuseFailAlloc_880_;
goto v_reusejp_878_;
}
v_reusejp_878_:
{
return v___x_879_;
}
}
else
{
lean_object* v___x_882_; 
lean_dec(v_value_871_);
lean_dec(v_key_870_);
if (v_isShared_875_ == 0)
{
lean_ctor_set(v___x_874_, 1, v_b_868_);
lean_ctor_set(v___x_874_, 0, v_a_867_);
v___x_882_ = v___x_874_;
goto v_reusejp_881_;
}
else
{
lean_object* v_reuseFailAlloc_883_; 
v_reuseFailAlloc_883_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_883_, 0, v_a_867_);
lean_ctor_set(v_reuseFailAlloc_883_, 1, v_b_868_);
lean_ctor_set(v_reuseFailAlloc_883_, 2, v_tail_872_);
v___x_882_ = v_reuseFailAlloc_883_;
goto v_reusejp_881_;
}
v_reusejp_881_:
{
return v___x_882_;
}
}
}
}
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5_spec__6_spec__7___redArg(lean_object* v_x_885_, lean_object* v_x_886_){
_start:
{
if (lean_obj_tag(v_x_886_) == 0)
{
return v_x_885_;
}
else
{
lean_object* v_key_887_; lean_object* v_value_888_; lean_object* v_tail_889_; lean_object* v___x_891_; uint8_t v_isShared_892_; uint8_t v_isSharedCheck_912_; 
v_key_887_ = lean_ctor_get(v_x_886_, 0);
v_value_888_ = lean_ctor_get(v_x_886_, 1);
v_tail_889_ = lean_ctor_get(v_x_886_, 2);
v_isSharedCheck_912_ = !lean_is_exclusive(v_x_886_);
if (v_isSharedCheck_912_ == 0)
{
v___x_891_ = v_x_886_;
v_isShared_892_ = v_isSharedCheck_912_;
goto v_resetjp_890_;
}
else
{
lean_inc(v_tail_889_);
lean_inc(v_value_888_);
lean_inc(v_key_887_);
lean_dec(v_x_886_);
v___x_891_ = lean_box(0);
v_isShared_892_ = v_isSharedCheck_912_;
goto v_resetjp_890_;
}
v_resetjp_890_:
{
lean_object* v___x_893_; uint64_t v___x_894_; uint64_t v___x_895_; uint64_t v___x_896_; uint64_t v_fold_897_; uint64_t v___x_898_; uint64_t v___x_899_; uint64_t v___x_900_; size_t v___x_901_; size_t v___x_902_; size_t v___x_903_; size_t v___x_904_; size_t v___x_905_; lean_object* v___x_906_; lean_object* v___x_908_; 
v___x_893_ = lean_array_get_size(v_x_885_);
v___x_894_ = lean_uint64_of_nat(v_key_887_);
v___x_895_ = 32ULL;
v___x_896_ = lean_uint64_shift_right(v___x_894_, v___x_895_);
v_fold_897_ = lean_uint64_xor(v___x_894_, v___x_896_);
v___x_898_ = 16ULL;
v___x_899_ = lean_uint64_shift_right(v_fold_897_, v___x_898_);
v___x_900_ = lean_uint64_xor(v_fold_897_, v___x_899_);
v___x_901_ = lean_uint64_to_usize(v___x_900_);
v___x_902_ = lean_usize_of_nat(v___x_893_);
v___x_903_ = ((size_t)1ULL);
v___x_904_ = lean_usize_sub(v___x_902_, v___x_903_);
v___x_905_ = lean_usize_land(v___x_901_, v___x_904_);
v___x_906_ = lean_array_uget_borrowed(v_x_885_, v___x_905_);
lean_inc(v___x_906_);
if (v_isShared_892_ == 0)
{
lean_ctor_set(v___x_891_, 2, v___x_906_);
v___x_908_ = v___x_891_;
goto v_reusejp_907_;
}
else
{
lean_object* v_reuseFailAlloc_911_; 
v_reuseFailAlloc_911_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_911_, 0, v_key_887_);
lean_ctor_set(v_reuseFailAlloc_911_, 1, v_value_888_);
lean_ctor_set(v_reuseFailAlloc_911_, 2, v___x_906_);
v___x_908_ = v_reuseFailAlloc_911_;
goto v_reusejp_907_;
}
v_reusejp_907_:
{
lean_object* v___x_909_; 
v___x_909_ = lean_array_uset(v_x_885_, v___x_905_, v___x_908_);
v_x_885_ = v___x_909_;
v_x_886_ = v_tail_889_;
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5_spec__6___redArg(lean_object* v_i_913_, lean_object* v_source_914_, lean_object* v_target_915_){
_start:
{
lean_object* v___x_916_; uint8_t v___x_917_; 
v___x_916_ = lean_array_get_size(v_source_914_);
v___x_917_ = lean_nat_dec_lt(v_i_913_, v___x_916_);
if (v___x_917_ == 0)
{
lean_dec_ref(v_source_914_);
lean_dec(v_i_913_);
return v_target_915_;
}
else
{
lean_object* v_es_918_; lean_object* v___x_919_; lean_object* v_source_920_; lean_object* v_target_921_; lean_object* v___x_922_; lean_object* v___x_923_; 
v_es_918_ = lean_array_fget(v_source_914_, v_i_913_);
v___x_919_ = lean_box(0);
v_source_920_ = lean_array_fset(v_source_914_, v_i_913_, v___x_919_);
v_target_921_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5_spec__6_spec__7___redArg(v_target_915_, v_es_918_);
v___x_922_ = lean_unsigned_to_nat(1u);
v___x_923_ = lean_nat_add(v_i_913_, v___x_922_);
lean_dec(v_i_913_);
v_i_913_ = v___x_923_;
v_source_914_ = v_source_920_;
v_target_915_ = v_target_921_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5___redArg(lean_object* v_data_925_){
_start:
{
lean_object* v___x_926_; lean_object* v___x_927_; lean_object* v_nbuckets_928_; lean_object* v___x_929_; lean_object* v___x_930_; lean_object* v___x_931_; lean_object* v___x_932_; 
v___x_926_ = lean_array_get_size(v_data_925_);
v___x_927_ = lean_unsigned_to_nat(2u);
v_nbuckets_928_ = lean_nat_mul(v___x_926_, v___x_927_);
v___x_929_ = lean_unsigned_to_nat(0u);
v___x_930_ = lean_box(0);
v___x_931_ = lean_mk_array(v_nbuckets_928_, v___x_930_);
v___x_932_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5_spec__6___redArg(v___x_929_, v_data_925_, v___x_931_);
return v___x_932_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2___redArg(lean_object* v_m_933_, lean_object* v_a_934_, lean_object* v_b_935_){
_start:
{
lean_object* v_size_936_; lean_object* v_buckets_937_; lean_object* v___x_939_; uint8_t v_isShared_940_; uint8_t v_isSharedCheck_980_; 
v_size_936_ = lean_ctor_get(v_m_933_, 0);
v_buckets_937_ = lean_ctor_get(v_m_933_, 1);
v_isSharedCheck_980_ = !lean_is_exclusive(v_m_933_);
if (v_isSharedCheck_980_ == 0)
{
v___x_939_ = v_m_933_;
v_isShared_940_ = v_isSharedCheck_980_;
goto v_resetjp_938_;
}
else
{
lean_inc(v_buckets_937_);
lean_inc(v_size_936_);
lean_dec(v_m_933_);
v___x_939_ = lean_box(0);
v_isShared_940_ = v_isSharedCheck_980_;
goto v_resetjp_938_;
}
v_resetjp_938_:
{
lean_object* v___x_941_; uint64_t v___x_942_; uint64_t v___x_943_; uint64_t v___x_944_; uint64_t v_fold_945_; uint64_t v___x_946_; uint64_t v___x_947_; uint64_t v___x_948_; size_t v___x_949_; size_t v___x_950_; size_t v___x_951_; size_t v___x_952_; size_t v___x_953_; lean_object* v_bkt_954_; uint8_t v___x_955_; 
v___x_941_ = lean_array_get_size(v_buckets_937_);
v___x_942_ = lean_uint64_of_nat(v_a_934_);
v___x_943_ = 32ULL;
v___x_944_ = lean_uint64_shift_right(v___x_942_, v___x_943_);
v_fold_945_ = lean_uint64_xor(v___x_942_, v___x_944_);
v___x_946_ = 16ULL;
v___x_947_ = lean_uint64_shift_right(v_fold_945_, v___x_946_);
v___x_948_ = lean_uint64_xor(v_fold_945_, v___x_947_);
v___x_949_ = lean_uint64_to_usize(v___x_948_);
v___x_950_ = lean_usize_of_nat(v___x_941_);
v___x_951_ = ((size_t)1ULL);
v___x_952_ = lean_usize_sub(v___x_950_, v___x_951_);
v___x_953_ = lean_usize_land(v___x_949_, v___x_952_);
v_bkt_954_ = lean_array_uget_borrowed(v_buckets_937_, v___x_953_);
v___x_955_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__4___redArg(v_a_934_, v_bkt_954_);
if (v___x_955_ == 0)
{
lean_object* v___x_956_; lean_object* v_size_x27_957_; lean_object* v___x_958_; lean_object* v_buckets_x27_959_; lean_object* v___x_960_; lean_object* v___x_961_; lean_object* v___x_962_; lean_object* v___x_963_; lean_object* v___x_964_; uint8_t v___x_965_; 
v___x_956_ = lean_unsigned_to_nat(1u);
v_size_x27_957_ = lean_nat_add(v_size_936_, v___x_956_);
lean_dec(v_size_936_);
lean_inc(v_bkt_954_);
v___x_958_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_958_, 0, v_a_934_);
lean_ctor_set(v___x_958_, 1, v_b_935_);
lean_ctor_set(v___x_958_, 2, v_bkt_954_);
v_buckets_x27_959_ = lean_array_uset(v_buckets_937_, v___x_953_, v___x_958_);
v___x_960_ = lean_unsigned_to_nat(4u);
v___x_961_ = lean_nat_mul(v_size_x27_957_, v___x_960_);
v___x_962_ = lean_unsigned_to_nat(3u);
v___x_963_ = lean_nat_div(v___x_961_, v___x_962_);
lean_dec(v___x_961_);
v___x_964_ = lean_array_get_size(v_buckets_x27_959_);
v___x_965_ = lean_nat_dec_le(v___x_963_, v___x_964_);
lean_dec(v___x_963_);
if (v___x_965_ == 0)
{
lean_object* v_val_966_; lean_object* v___x_968_; 
v_val_966_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5___redArg(v_buckets_x27_959_);
if (v_isShared_940_ == 0)
{
lean_ctor_set(v___x_939_, 1, v_val_966_);
lean_ctor_set(v___x_939_, 0, v_size_x27_957_);
v___x_968_ = v___x_939_;
goto v_reusejp_967_;
}
else
{
lean_object* v_reuseFailAlloc_969_; 
v_reuseFailAlloc_969_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_969_, 0, v_size_x27_957_);
lean_ctor_set(v_reuseFailAlloc_969_, 1, v_val_966_);
v___x_968_ = v_reuseFailAlloc_969_;
goto v_reusejp_967_;
}
v_reusejp_967_:
{
return v___x_968_;
}
}
else
{
lean_object* v___x_971_; 
if (v_isShared_940_ == 0)
{
lean_ctor_set(v___x_939_, 1, v_buckets_x27_959_);
lean_ctor_set(v___x_939_, 0, v_size_x27_957_);
v___x_971_ = v___x_939_;
goto v_reusejp_970_;
}
else
{
lean_object* v_reuseFailAlloc_972_; 
v_reuseFailAlloc_972_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_972_, 0, v_size_x27_957_);
lean_ctor_set(v_reuseFailAlloc_972_, 1, v_buckets_x27_959_);
v___x_971_ = v_reuseFailAlloc_972_;
goto v_reusejp_970_;
}
v_reusejp_970_:
{
return v___x_971_;
}
}
}
else
{
lean_object* v___x_973_; lean_object* v_buckets_x27_974_; lean_object* v___x_975_; lean_object* v___x_976_; lean_object* v___x_978_; 
lean_inc(v_bkt_954_);
v___x_973_ = lean_box(0);
v_buckets_x27_974_ = lean_array_uset(v_buckets_937_, v___x_953_, v___x_973_);
v___x_975_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__6___redArg(v_a_934_, v_b_935_, v_bkt_954_);
v___x_976_ = lean_array_uset(v_buckets_x27_974_, v___x_953_, v___x_975_);
if (v_isShared_940_ == 0)
{
lean_ctor_set(v___x_939_, 1, v___x_976_);
v___x_978_ = v___x_939_;
goto v_reusejp_977_;
}
else
{
lean_object* v_reuseFailAlloc_979_; 
v_reuseFailAlloc_979_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_979_, 0, v_size_936_);
lean_ctor_set(v_reuseFailAlloc_979_, 1, v___x_976_);
v___x_978_ = v_reuseFailAlloc_979_;
goto v_reusejp_977_;
}
v_reusejp_977_:
{
return v___x_978_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0_spec__0___redArg(lean_object* v_a_981_, lean_object* v_x_982_){
_start:
{
if (lean_obj_tag(v_x_982_) == 0)
{
lean_object* v___x_983_; 
v___x_983_ = lean_box(0);
return v___x_983_;
}
else
{
lean_object* v_key_984_; lean_object* v_value_985_; lean_object* v_tail_986_; uint8_t v___x_987_; 
v_key_984_ = lean_ctor_get(v_x_982_, 0);
v_value_985_ = lean_ctor_get(v_x_982_, 1);
v_tail_986_ = lean_ctor_get(v_x_982_, 2);
v___x_987_ = lean_nat_dec_eq(v_key_984_, v_a_981_);
if (v___x_987_ == 0)
{
v_x_982_ = v_tail_986_;
goto _start;
}
else
{
lean_object* v___x_989_; 
lean_inc(v_value_985_);
v___x_989_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_989_, 0, v_value_985_);
return v___x_989_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0_spec__0___redArg___boxed(lean_object* v_a_990_, lean_object* v_x_991_){
_start:
{
lean_object* v_res_992_; 
v_res_992_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0_spec__0___redArg(v_a_990_, v_x_991_);
lean_dec(v_x_991_);
lean_dec(v_a_990_);
return v_res_992_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0___redArg(lean_object* v_m_993_, lean_object* v_a_994_){
_start:
{
lean_object* v_buckets_995_; lean_object* v___x_996_; uint64_t v___x_997_; uint64_t v___x_998_; uint64_t v___x_999_; uint64_t v_fold_1000_; uint64_t v___x_1001_; uint64_t v___x_1002_; uint64_t v___x_1003_; size_t v___x_1004_; size_t v___x_1005_; size_t v___x_1006_; size_t v___x_1007_; size_t v___x_1008_; lean_object* v___x_1009_; lean_object* v___x_1010_; 
v_buckets_995_ = lean_ctor_get(v_m_993_, 1);
v___x_996_ = lean_array_get_size(v_buckets_995_);
v___x_997_ = lean_uint64_of_nat(v_a_994_);
v___x_998_ = 32ULL;
v___x_999_ = lean_uint64_shift_right(v___x_997_, v___x_998_);
v_fold_1000_ = lean_uint64_xor(v___x_997_, v___x_999_);
v___x_1001_ = 16ULL;
v___x_1002_ = lean_uint64_shift_right(v_fold_1000_, v___x_1001_);
v___x_1003_ = lean_uint64_xor(v_fold_1000_, v___x_1002_);
v___x_1004_ = lean_uint64_to_usize(v___x_1003_);
v___x_1005_ = lean_usize_of_nat(v___x_996_);
v___x_1006_ = ((size_t)1ULL);
v___x_1007_ = lean_usize_sub(v___x_1005_, v___x_1006_);
v___x_1008_ = lean_usize_land(v___x_1004_, v___x_1007_);
v___x_1009_ = lean_array_uget_borrowed(v_buckets_995_, v___x_1008_);
v___x_1010_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0_spec__0___redArg(v_a_994_, v___x_1009_);
return v___x_1010_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0___redArg___boxed(lean_object* v_m_1011_, lean_object* v_a_1012_){
_start:
{
lean_object* v_res_1013_; 
v_res_1013_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0___redArg(v_m_1011_, v_a_1012_);
lean_dec(v_a_1012_);
lean_dec_ref(v_m_1011_);
return v_res_1013_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1_spec__2___redArg(lean_object* v___y_1014_){
_start:
{
lean_object* v___x_1016_; lean_object* v_ngen_1017_; lean_object* v_namePrefix_1018_; lean_object* v_idx_1019_; lean_object* v___x_1021_; uint8_t v_isShared_1022_; uint8_t v_isSharedCheck_1048_; 
v___x_1016_ = lean_st_ref_get(v___y_1014_);
v_ngen_1017_ = lean_ctor_get(v___x_1016_, 2);
lean_inc_ref(v_ngen_1017_);
lean_dec(v___x_1016_);
v_namePrefix_1018_ = lean_ctor_get(v_ngen_1017_, 0);
v_idx_1019_ = lean_ctor_get(v_ngen_1017_, 1);
v_isSharedCheck_1048_ = !lean_is_exclusive(v_ngen_1017_);
if (v_isSharedCheck_1048_ == 0)
{
v___x_1021_ = v_ngen_1017_;
v_isShared_1022_ = v_isSharedCheck_1048_;
goto v_resetjp_1020_;
}
else
{
lean_inc(v_idx_1019_);
lean_inc(v_namePrefix_1018_);
lean_dec(v_ngen_1017_);
v___x_1021_ = lean_box(0);
v_isShared_1022_ = v_isSharedCheck_1048_;
goto v_resetjp_1020_;
}
v_resetjp_1020_:
{
lean_object* v___x_1023_; lean_object* v_env_1024_; lean_object* v_nextMacroScope_1025_; lean_object* v_auxDeclNGen_1026_; lean_object* v_traceState_1027_; lean_object* v_cache_1028_; lean_object* v_messages_1029_; lean_object* v_infoState_1030_; lean_object* v_snapshotTasks_1031_; lean_object* v___x_1033_; uint8_t v_isShared_1034_; uint8_t v_isSharedCheck_1046_; 
v___x_1023_ = lean_st_ref_take(v___y_1014_);
v_env_1024_ = lean_ctor_get(v___x_1023_, 0);
v_nextMacroScope_1025_ = lean_ctor_get(v___x_1023_, 1);
v_auxDeclNGen_1026_ = lean_ctor_get(v___x_1023_, 3);
v_traceState_1027_ = lean_ctor_get(v___x_1023_, 4);
v_cache_1028_ = lean_ctor_get(v___x_1023_, 5);
v_messages_1029_ = lean_ctor_get(v___x_1023_, 6);
v_infoState_1030_ = lean_ctor_get(v___x_1023_, 7);
v_snapshotTasks_1031_ = lean_ctor_get(v___x_1023_, 8);
v_isSharedCheck_1046_ = !lean_is_exclusive(v___x_1023_);
if (v_isSharedCheck_1046_ == 0)
{
lean_object* v_unused_1047_; 
v_unused_1047_ = lean_ctor_get(v___x_1023_, 2);
lean_dec(v_unused_1047_);
v___x_1033_ = v___x_1023_;
v_isShared_1034_ = v_isSharedCheck_1046_;
goto v_resetjp_1032_;
}
else
{
lean_inc(v_snapshotTasks_1031_);
lean_inc(v_infoState_1030_);
lean_inc(v_messages_1029_);
lean_inc(v_cache_1028_);
lean_inc(v_traceState_1027_);
lean_inc(v_auxDeclNGen_1026_);
lean_inc(v_nextMacroScope_1025_);
lean_inc(v_env_1024_);
lean_dec(v___x_1023_);
v___x_1033_ = lean_box(0);
v_isShared_1034_ = v_isSharedCheck_1046_;
goto v_resetjp_1032_;
}
v_resetjp_1032_:
{
lean_object* v_r_1035_; lean_object* v___x_1036_; lean_object* v___x_1037_; lean_object* v___x_1039_; 
lean_inc(v_idx_1019_);
lean_inc(v_namePrefix_1018_);
v_r_1035_ = l_Lean_Name_num___override(v_namePrefix_1018_, v_idx_1019_);
v___x_1036_ = lean_unsigned_to_nat(1u);
v___x_1037_ = lean_nat_add(v_idx_1019_, v___x_1036_);
lean_dec(v_idx_1019_);
if (v_isShared_1022_ == 0)
{
lean_ctor_set(v___x_1021_, 1, v___x_1037_);
v___x_1039_ = v___x_1021_;
goto v_reusejp_1038_;
}
else
{
lean_object* v_reuseFailAlloc_1045_; 
v_reuseFailAlloc_1045_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1045_, 0, v_namePrefix_1018_);
lean_ctor_set(v_reuseFailAlloc_1045_, 1, v___x_1037_);
v___x_1039_ = v_reuseFailAlloc_1045_;
goto v_reusejp_1038_;
}
v_reusejp_1038_:
{
lean_object* v___x_1041_; 
if (v_isShared_1034_ == 0)
{
lean_ctor_set(v___x_1033_, 2, v___x_1039_);
v___x_1041_ = v___x_1033_;
goto v_reusejp_1040_;
}
else
{
lean_object* v_reuseFailAlloc_1044_; 
v_reuseFailAlloc_1044_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_1044_, 0, v_env_1024_);
lean_ctor_set(v_reuseFailAlloc_1044_, 1, v_nextMacroScope_1025_);
lean_ctor_set(v_reuseFailAlloc_1044_, 2, v___x_1039_);
lean_ctor_set(v_reuseFailAlloc_1044_, 3, v_auxDeclNGen_1026_);
lean_ctor_set(v_reuseFailAlloc_1044_, 4, v_traceState_1027_);
lean_ctor_set(v_reuseFailAlloc_1044_, 5, v_cache_1028_);
lean_ctor_set(v_reuseFailAlloc_1044_, 6, v_messages_1029_);
lean_ctor_set(v_reuseFailAlloc_1044_, 7, v_infoState_1030_);
lean_ctor_set(v_reuseFailAlloc_1044_, 8, v_snapshotTasks_1031_);
v___x_1041_ = v_reuseFailAlloc_1044_;
goto v_reusejp_1040_;
}
v_reusejp_1040_:
{
lean_object* v___x_1042_; lean_object* v___x_1043_; 
v___x_1042_ = lean_st_ref_set(v___y_1014_, v___x_1041_);
v___x_1043_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_1043_, 0, v_r_1035_);
return v___x_1043_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1_spec__2___redArg___boxed(lean_object* v___y_1049_, lean_object* v___y_1050_){
_start:
{
lean_object* v_res_1051_; 
v_res_1051_ = l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1_spec__2___redArg(v___y_1049_);
lean_dec(v___y_1049_);
return v_res_1051_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1(lean_object* v___y_1052_, lean_object* v___y_1053_, lean_object* v___y_1054_, lean_object* v___y_1055_, lean_object* v___y_1056_, lean_object* v___y_1057_, lean_object* v___y_1058_, lean_object* v___y_1059_, 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_){
_start:
{
lean_object* v___x_1066_; lean_object* v_a_1067_; lean_object* v___x_1069_; uint8_t v_isShared_1070_; uint8_t v_isSharedCheck_1074_; 
v___x_1066_ = l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1_spec__2___redArg(v___y_1064_);
v_a_1067_ = lean_ctor_get(v___x_1066_, 0);
v_isSharedCheck_1074_ = !lean_is_exclusive(v___x_1066_);
if (v_isSharedCheck_1074_ == 0)
{
v___x_1069_ = v___x_1066_;
v_isShared_1070_ = v_isSharedCheck_1074_;
goto v_resetjp_1068_;
}
else
{
lean_inc(v_a_1067_);
lean_dec(v___x_1066_);
v___x_1069_ = lean_box(0);
v_isShared_1070_ = v_isSharedCheck_1074_;
goto v_resetjp_1068_;
}
v_resetjp_1068_:
{
lean_object* v___x_1072_; 
if (v_isShared_1070_ == 0)
{
v___x_1072_ = v___x_1069_;
goto v_reusejp_1071_;
}
else
{
lean_object* v_reuseFailAlloc_1073_; 
v_reuseFailAlloc_1073_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1073_, 0, v_a_1067_);
v___x_1072_ = v_reuseFailAlloc_1073_;
goto v_reusejp_1071_;
}
v_reusejp_1071_:
{
return v___x_1072_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1___boxed(lean_object* v___y_1075_, lean_object* v___y_1076_, lean_object* v___y_1077_, lean_object* v___y_1078_, lean_object* v___y_1079_, lean_object* v___y_1080_, lean_object* v___y_1081_, lean_object* v___y_1082_, lean_object* v___y_1083_, lean_object* v___y_1084_, lean_object* v___y_1085_, lean_object* v___y_1086_, lean_object* v___y_1087_, lean_object* v___y_1088_){
_start:
{
lean_object* v_res_1089_; 
v_res_1089_ = l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1(v___y_1075_, v___y_1076_, v___y_1077_, v___y_1078_, v___y_1079_, v___y_1080_, v___y_1081_, v___y_1082_, v___y_1083_, v___y_1084_, v___y_1085_, v___y_1086_, v___y_1087_);
lean_dec(v___y_1087_);
lean_dec_ref(v___y_1086_);
lean_dec(v___y_1085_);
lean_dec_ref(v___y_1084_);
lean_dec(v___y_1083_);
lean_dec_ref(v___y_1082_);
lean_dec(v___y_1081_);
lean_dec_ref(v___y_1080_);
lean_dec(v___y_1079_);
lean_dec(v___y_1078_);
lean_dec(v___y_1077_);
lean_dec(v___y_1076_);
lean_dec_ref(v___y_1075_);
return v_res_1089_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkVarDecl(lean_object* v_x_1090_, lean_object* v_a_1091_, lean_object* v_a_1092_, lean_object* v_a_1093_, lean_object* v_a_1094_, lean_object* v_a_1095_, lean_object* v_a_1096_, lean_object* v_a_1097_, lean_object* v_a_1098_, lean_object* v_a_1099_, lean_object* v_a_1100_, lean_object* v_a_1101_, lean_object* v_a_1102_, lean_object* v_a_1103_){
_start:
{
lean_object* v___x_1105_; lean_object* v_varDecls_1106_; lean_object* v___x_1107_; 
v___x_1105_ = lean_st_ref_get(v_a_1092_);
v_varDecls_1106_ = lean_ctor_get(v___x_1105_, 1);
lean_inc_ref(v_varDecls_1106_);
lean_dec(v___x_1105_);
v___x_1107_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0___redArg(v_varDecls_1106_, v_x_1090_);
lean_dec_ref(v_varDecls_1106_);
if (lean_obj_tag(v___x_1107_) == 1)
{
lean_object* v_val_1108_; lean_object* v___x_1110_; uint8_t v_isShared_1111_; uint8_t v_isSharedCheck_1115_; 
lean_dec(v_x_1090_);
v_val_1108_ = lean_ctor_get(v___x_1107_, 0);
v_isSharedCheck_1115_ = !lean_is_exclusive(v___x_1107_);
if (v_isSharedCheck_1115_ == 0)
{
v___x_1110_ = v___x_1107_;
v_isShared_1111_ = v_isSharedCheck_1115_;
goto v_resetjp_1109_;
}
else
{
lean_inc(v_val_1108_);
lean_dec(v___x_1107_);
v___x_1110_ = lean_box(0);
v_isShared_1111_ = v_isSharedCheck_1115_;
goto v_resetjp_1109_;
}
v_resetjp_1109_:
{
lean_object* v___x_1113_; 
if (v_isShared_1111_ == 0)
{
lean_ctor_set_tag(v___x_1110_, 0);
v___x_1113_ = v___x_1110_;
goto v_reusejp_1112_;
}
else
{
lean_object* v_reuseFailAlloc_1114_; 
v_reuseFailAlloc_1114_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1114_, 0, v_val_1108_);
v___x_1113_ = v_reuseFailAlloc_1114_;
goto v_reusejp_1112_;
}
v_reusejp_1112_:
{
return v___x_1113_;
}
}
}
else
{
lean_object* v___x_1116_; 
lean_dec(v___x_1107_);
v___x_1116_ = l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1(v_a_1091_, v_a_1092_, v_a_1093_, v_a_1094_, v_a_1095_, v_a_1096_, v_a_1097_, v_a_1098_, v_a_1099_, v_a_1100_, v_a_1101_, v_a_1102_, v_a_1103_);
if (lean_obj_tag(v___x_1116_) == 0)
{
lean_object* v_a_1117_; lean_object* v___x_1119_; uint8_t v_isShared_1120_; uint8_t v_isSharedCheck_1142_; 
v_a_1117_ = lean_ctor_get(v___x_1116_, 0);
v_isSharedCheck_1142_ = !lean_is_exclusive(v___x_1116_);
if (v_isSharedCheck_1142_ == 0)
{
v___x_1119_ = v___x_1116_;
v_isShared_1120_ = v_isSharedCheck_1142_;
goto v_resetjp_1118_;
}
else
{
lean_inc(v_a_1117_);
lean_dec(v___x_1116_);
v___x_1119_ = lean_box(0);
v_isShared_1120_ = v_isSharedCheck_1142_;
goto v_resetjp_1118_;
}
v_resetjp_1118_:
{
lean_object* v___x_1121_; lean_object* v_cache_1122_; lean_object* v_varDecls_1123_; lean_object* v_polyDecls_1124_; lean_object* v_exprDecls_1125_; lean_object* v_ringPolyDecls_1126_; lean_object* v_ringExprDecls_1127_; lean_object* v_ringVarDecls_1128_; lean_object* v___x_1130_; uint8_t v_isShared_1131_; uint8_t v_isSharedCheck_1141_; 
v___x_1121_ = lean_st_ref_take(v_a_1092_);
v_cache_1122_ = lean_ctor_get(v___x_1121_, 0);
v_varDecls_1123_ = lean_ctor_get(v___x_1121_, 1);
v_polyDecls_1124_ = lean_ctor_get(v___x_1121_, 2);
v_exprDecls_1125_ = lean_ctor_get(v___x_1121_, 3);
v_ringPolyDecls_1126_ = lean_ctor_get(v___x_1121_, 4);
v_ringExprDecls_1127_ = lean_ctor_get(v___x_1121_, 5);
v_ringVarDecls_1128_ = lean_ctor_get(v___x_1121_, 6);
v_isSharedCheck_1141_ = !lean_is_exclusive(v___x_1121_);
if (v_isSharedCheck_1141_ == 0)
{
v___x_1130_ = v___x_1121_;
v_isShared_1131_ = v_isSharedCheck_1141_;
goto v_resetjp_1129_;
}
else
{
lean_inc(v_ringVarDecls_1128_);
lean_inc(v_ringExprDecls_1127_);
lean_inc(v_ringPolyDecls_1126_);
lean_inc(v_exprDecls_1125_);
lean_inc(v_polyDecls_1124_);
lean_inc(v_varDecls_1123_);
lean_inc(v_cache_1122_);
lean_dec(v___x_1121_);
v___x_1130_ = lean_box(0);
v_isShared_1131_ = v_isSharedCheck_1141_;
goto v_resetjp_1129_;
}
v_resetjp_1129_:
{
lean_object* v___x_1132_; lean_object* v___x_1133_; lean_object* v___x_1135_; 
v___x_1132_ = l_Lean_mkFVar(v_a_1117_);
lean_inc_ref(v___x_1132_);
v___x_1133_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2___redArg(v_varDecls_1123_, v_x_1090_, v___x_1132_);
if (v_isShared_1131_ == 0)
{
lean_ctor_set(v___x_1130_, 1, v___x_1133_);
v___x_1135_ = v___x_1130_;
goto v_reusejp_1134_;
}
else
{
lean_object* v_reuseFailAlloc_1140_; 
v_reuseFailAlloc_1140_ = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(v_reuseFailAlloc_1140_, 0, v_cache_1122_);
lean_ctor_set(v_reuseFailAlloc_1140_, 1, v___x_1133_);
lean_ctor_set(v_reuseFailAlloc_1140_, 2, v_polyDecls_1124_);
lean_ctor_set(v_reuseFailAlloc_1140_, 3, v_exprDecls_1125_);
lean_ctor_set(v_reuseFailAlloc_1140_, 4, v_ringPolyDecls_1126_);
lean_ctor_set(v_reuseFailAlloc_1140_, 5, v_ringExprDecls_1127_);
lean_ctor_set(v_reuseFailAlloc_1140_, 6, v_ringVarDecls_1128_);
v___x_1135_ = v_reuseFailAlloc_1140_;
goto v_reusejp_1134_;
}
v_reusejp_1134_:
{
lean_object* v___x_1136_; lean_object* v___x_1138_; 
v___x_1136_ = lean_st_ref_set(v_a_1092_, v___x_1135_);
if (v_isShared_1120_ == 0)
{
lean_ctor_set(v___x_1119_, 0, v___x_1132_);
v___x_1138_ = v___x_1119_;
goto v_reusejp_1137_;
}
else
{
lean_object* v_reuseFailAlloc_1139_; 
v_reuseFailAlloc_1139_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1139_, 0, v___x_1132_);
v___x_1138_ = v_reuseFailAlloc_1139_;
goto v_reusejp_1137_;
}
v_reusejp_1137_:
{
return v___x_1138_;
}
}
}
}
}
else
{
lean_object* v_a_1143_; lean_object* v___x_1145_; uint8_t v_isShared_1146_; uint8_t v_isSharedCheck_1150_; 
lean_dec(v_x_1090_);
v_a_1143_ = lean_ctor_get(v___x_1116_, 0);
v_isSharedCheck_1150_ = !lean_is_exclusive(v___x_1116_);
if (v_isSharedCheck_1150_ == 0)
{
v___x_1145_ = v___x_1116_;
v_isShared_1146_ = v_isSharedCheck_1150_;
goto v_resetjp_1144_;
}
else
{
lean_inc(v_a_1143_);
lean_dec(v___x_1116_);
v___x_1145_ = lean_box(0);
v_isShared_1146_ = v_isSharedCheck_1150_;
goto v_resetjp_1144_;
}
v_resetjp_1144_:
{
lean_object* v___x_1148_; 
if (v_isShared_1146_ == 0)
{
v___x_1148_ = v___x_1145_;
goto v_reusejp_1147_;
}
else
{
lean_object* v_reuseFailAlloc_1149_; 
v_reuseFailAlloc_1149_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1149_, 0, v_a_1143_);
v___x_1148_ = v_reuseFailAlloc_1149_;
goto v_reusejp_1147_;
}
v_reusejp_1147_:
{
return v___x_1148_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkVarDecl___boxed(lean_object* v_x_1151_, lean_object* v_a_1152_, lean_object* v_a_1153_, lean_object* v_a_1154_, lean_object* v_a_1155_, lean_object* v_a_1156_, lean_object* v_a_1157_, lean_object* v_a_1158_, lean_object* v_a_1159_, lean_object* v_a_1160_, lean_object* v_a_1161_, lean_object* v_a_1162_, lean_object* v_a_1163_, lean_object* v_a_1164_, lean_object* v_a_1165_){
_start:
{
lean_object* v_res_1166_; 
v_res_1166_ = l_Lean_Meta_Grind_Arith_Linear_mkVarDecl(v_x_1151_, v_a_1152_, v_a_1153_, v_a_1154_, v_a_1155_, v_a_1156_, v_a_1157_, v_a_1158_, v_a_1159_, v_a_1160_, v_a_1161_, v_a_1162_, v_a_1163_, v_a_1164_);
lean_dec(v_a_1164_);
lean_dec_ref(v_a_1163_);
lean_dec(v_a_1162_);
lean_dec_ref(v_a_1161_);
lean_dec(v_a_1160_);
lean_dec_ref(v_a_1159_);
lean_dec(v_a_1158_);
lean_dec_ref(v_a_1157_);
lean_dec(v_a_1156_);
lean_dec(v_a_1155_);
lean_dec(v_a_1154_);
lean_dec(v_a_1153_);
lean_dec_ref(v_a_1152_);
return v_res_1166_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0(lean_object* v_00_u03b2_1167_, lean_object* v_m_1168_, lean_object* v_a_1169_){
_start:
{
lean_object* v___x_1170_; 
v___x_1170_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0___redArg(v_m_1168_, v_a_1169_);
return v___x_1170_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0___boxed(lean_object* v_00_u03b2_1171_, lean_object* v_m_1172_, lean_object* v_a_1173_){
_start:
{
lean_object* v_res_1174_; 
v_res_1174_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0(v_00_u03b2_1171_, v_m_1172_, v_a_1173_);
lean_dec(v_a_1173_);
lean_dec_ref(v_m_1172_);
return v_res_1174_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1_spec__2(lean_object* v___y_1175_, lean_object* v___y_1176_, lean_object* v___y_1177_, lean_object* v___y_1178_, lean_object* v___y_1179_, lean_object* v___y_1180_, lean_object* v___y_1181_, lean_object* v___y_1182_, lean_object* v___y_1183_, lean_object* v___y_1184_, lean_object* v___y_1185_, lean_object* v___y_1186_, lean_object* v___y_1187_){
_start:
{
lean_object* v___x_1189_; 
v___x_1189_ = l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1_spec__2___redArg(v___y_1187_);
return v___x_1189_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1_spec__2___boxed(lean_object* v___y_1190_, lean_object* v___y_1191_, lean_object* v___y_1192_, lean_object* v___y_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_, lean_object* v___y_1203_){
_start:
{
lean_object* v_res_1204_; 
v_res_1204_ = l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1_spec__2(v___y_1190_, v___y_1191_, v___y_1192_, v___y_1193_, 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_);
lean_dec(v___y_1202_);
lean_dec_ref(v___y_1201_);
lean_dec(v___y_1200_);
lean_dec_ref(v___y_1199_);
lean_dec(v___y_1198_);
lean_dec_ref(v___y_1197_);
lean_dec(v___y_1196_);
lean_dec_ref(v___y_1195_);
lean_dec(v___y_1194_);
lean_dec(v___y_1193_);
lean_dec(v___y_1192_);
lean_dec(v___y_1191_);
lean_dec_ref(v___y_1190_);
return v_res_1204_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2(lean_object* v_00_u03b2_1205_, lean_object* v_m_1206_, lean_object* v_a_1207_, lean_object* v_b_1208_){
_start:
{
lean_object* v___x_1209_; 
v___x_1209_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2___redArg(v_m_1206_, v_a_1207_, v_b_1208_);
return v___x_1209_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0_spec__0(lean_object* v_00_u03b2_1210_, lean_object* v_a_1211_, lean_object* v_x_1212_){
_start:
{
lean_object* v___x_1213_; 
v___x_1213_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0_spec__0___redArg(v_a_1211_, v_x_1212_);
return v___x_1213_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0_spec__0___boxed(lean_object* v_00_u03b2_1214_, lean_object* v_a_1215_, lean_object* v_x_1216_){
_start:
{
lean_object* v_res_1217_; 
v_res_1217_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0_spec__0(v_00_u03b2_1214_, v_a_1215_, v_x_1216_);
lean_dec(v_x_1216_);
lean_dec(v_a_1215_);
return v_res_1217_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__4(lean_object* v_00_u03b2_1218_, lean_object* v_a_1219_, lean_object* v_x_1220_){
_start:
{
uint8_t v___x_1221_; 
v___x_1221_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__4___redArg(v_a_1219_, v_x_1220_);
return v___x_1221_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__4___boxed(lean_object* v_00_u03b2_1222_, lean_object* v_a_1223_, lean_object* v_x_1224_){
_start:
{
uint8_t v_res_1225_; lean_object* v_r_1226_; 
v_res_1225_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__4(v_00_u03b2_1222_, v_a_1223_, v_x_1224_);
lean_dec(v_x_1224_);
lean_dec(v_a_1223_);
v_r_1226_ = lean_box(v_res_1225_);
return v_r_1226_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5(lean_object* v_00_u03b2_1227_, lean_object* v_data_1228_){
_start:
{
lean_object* v___x_1229_; 
v___x_1229_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5___redArg(v_data_1228_);
return v___x_1229_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__6(lean_object* v_00_u03b2_1230_, lean_object* v_a_1231_, lean_object* v_b_1232_, lean_object* v_x_1233_){
_start:
{
lean_object* v___x_1234_; 
v___x_1234_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__6___redArg(v_a_1231_, v_b_1232_, v_x_1233_);
return v___x_1234_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5_spec__6(lean_object* v_00_u03b2_1235_, lean_object* v_i_1236_, lean_object* v_source_1237_, lean_object* v_target_1238_){
_start:
{
lean_object* v___x_1239_; 
v___x_1239_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5_spec__6___redArg(v_i_1236_, v_source_1237_, v_target_1238_);
return v___x_1239_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5_spec__6_spec__7(lean_object* v_00_u03b2_1240_, lean_object* v_x_1241_, lean_object* v_x_1242_){
_start:
{
lean_object* v___x_1243_; 
v___x_1243_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2_spec__5_spec__6_spec__7___redArg(v_x_1241_, v_x_1242_);
return v___x_1243_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0_spec__0___redArg(lean_object* v_a_1244_, lean_object* v_x_1245_){
_start:
{
if (lean_obj_tag(v_x_1245_) == 0)
{
lean_object* v___x_1246_; 
v___x_1246_ = lean_box(0);
return v___x_1246_;
}
else
{
lean_object* v_key_1247_; lean_object* v_value_1248_; lean_object* v_tail_1249_; uint8_t v___x_1250_; 
v_key_1247_ = lean_ctor_get(v_x_1245_, 0);
v_value_1248_ = lean_ctor_get(v_x_1245_, 1);
v_tail_1249_ = lean_ctor_get(v_x_1245_, 2);
v___x_1250_ = l_Lean_Grind_Linarith_instBEqPoly_beq(v_key_1247_, v_a_1244_);
if (v___x_1250_ == 0)
{
v_x_1245_ = v_tail_1249_;
goto _start;
}
else
{
lean_object* v___x_1252_; 
lean_inc(v_value_1248_);
v___x_1252_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1252_, 0, v_value_1248_);
return v___x_1252_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0_spec__0___redArg___boxed(lean_object* v_a_1253_, lean_object* v_x_1254_){
_start:
{
lean_object* v_res_1255_; 
v_res_1255_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0_spec__0___redArg(v_a_1253_, v_x_1254_);
lean_dec(v_x_1254_);
lean_dec(v_a_1253_);
return v_res_1255_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0___redArg(lean_object* v_m_1256_, lean_object* v_a_1257_){
_start:
{
lean_object* v_buckets_1258_; lean_object* v___x_1259_; uint64_t v___x_1260_; uint64_t v___x_1261_; uint64_t v___x_1262_; uint64_t v_fold_1263_; uint64_t v___x_1264_; uint64_t v___x_1265_; uint64_t v___x_1266_; size_t v___x_1267_; size_t v___x_1268_; size_t v___x_1269_; size_t v___x_1270_; size_t v___x_1271_; lean_object* v___x_1272_; lean_object* v___x_1273_; 
v_buckets_1258_ = lean_ctor_get(v_m_1256_, 1);
v___x_1259_ = lean_array_get_size(v_buckets_1258_);
v___x_1260_ = l_Lean_Meta_Grind_Arith_Linear_instHashablePoly__lean_hash(v_a_1257_);
v___x_1261_ = 32ULL;
v___x_1262_ = lean_uint64_shift_right(v___x_1260_, v___x_1261_);
v_fold_1263_ = lean_uint64_xor(v___x_1260_, v___x_1262_);
v___x_1264_ = 16ULL;
v___x_1265_ = lean_uint64_shift_right(v_fold_1263_, v___x_1264_);
v___x_1266_ = lean_uint64_xor(v_fold_1263_, v___x_1265_);
v___x_1267_ = lean_uint64_to_usize(v___x_1266_);
v___x_1268_ = lean_usize_of_nat(v___x_1259_);
v___x_1269_ = ((size_t)1ULL);
v___x_1270_ = lean_usize_sub(v___x_1268_, v___x_1269_);
v___x_1271_ = lean_usize_land(v___x_1267_, v___x_1270_);
v___x_1272_ = lean_array_uget_borrowed(v_buckets_1258_, v___x_1271_);
v___x_1273_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0_spec__0___redArg(v_a_1257_, v___x_1272_);
return v___x_1273_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0___redArg___boxed(lean_object* v_m_1274_, lean_object* v_a_1275_){
_start:
{
lean_object* v_res_1276_; 
v_res_1276_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0___redArg(v_m_1274_, v_a_1275_);
lean_dec(v_a_1275_);
lean_dec_ref(v_m_1274_);
return v_res_1276_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__4___redArg(lean_object* v_a_1277_, lean_object* v_b_1278_, lean_object* v_x_1279_){
_start:
{
if (lean_obj_tag(v_x_1279_) == 0)
{
lean_dec(v_b_1278_);
lean_dec(v_a_1277_);
return v_x_1279_;
}
else
{
lean_object* v_key_1280_; lean_object* v_value_1281_; lean_object* v_tail_1282_; lean_object* v___x_1284_; uint8_t v_isShared_1285_; uint8_t v_isSharedCheck_1294_; 
v_key_1280_ = lean_ctor_get(v_x_1279_, 0);
v_value_1281_ = lean_ctor_get(v_x_1279_, 1);
v_tail_1282_ = lean_ctor_get(v_x_1279_, 2);
v_isSharedCheck_1294_ = !lean_is_exclusive(v_x_1279_);
if (v_isSharedCheck_1294_ == 0)
{
v___x_1284_ = v_x_1279_;
v_isShared_1285_ = v_isSharedCheck_1294_;
goto v_resetjp_1283_;
}
else
{
lean_inc(v_tail_1282_);
lean_inc(v_value_1281_);
lean_inc(v_key_1280_);
lean_dec(v_x_1279_);
v___x_1284_ = lean_box(0);
v_isShared_1285_ = v_isSharedCheck_1294_;
goto v_resetjp_1283_;
}
v_resetjp_1283_:
{
uint8_t v___x_1286_; 
v___x_1286_ = l_Lean_Grind_Linarith_instBEqPoly_beq(v_key_1280_, v_a_1277_);
if (v___x_1286_ == 0)
{
lean_object* v___x_1287_; lean_object* v___x_1289_; 
v___x_1287_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__4___redArg(v_a_1277_, v_b_1278_, v_tail_1282_);
if (v_isShared_1285_ == 0)
{
lean_ctor_set(v___x_1284_, 2, v___x_1287_);
v___x_1289_ = v___x_1284_;
goto v_reusejp_1288_;
}
else
{
lean_object* v_reuseFailAlloc_1290_; 
v_reuseFailAlloc_1290_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1290_, 0, v_key_1280_);
lean_ctor_set(v_reuseFailAlloc_1290_, 1, v_value_1281_);
lean_ctor_set(v_reuseFailAlloc_1290_, 2, v___x_1287_);
v___x_1289_ = v_reuseFailAlloc_1290_;
goto v_reusejp_1288_;
}
v_reusejp_1288_:
{
return v___x_1289_;
}
}
else
{
lean_object* v___x_1292_; 
lean_dec(v_value_1281_);
lean_dec(v_key_1280_);
if (v_isShared_1285_ == 0)
{
lean_ctor_set(v___x_1284_, 1, v_b_1278_);
lean_ctor_set(v___x_1284_, 0, v_a_1277_);
v___x_1292_ = v___x_1284_;
goto v_reusejp_1291_;
}
else
{
lean_object* v_reuseFailAlloc_1293_; 
v_reuseFailAlloc_1293_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1293_, 0, v_a_1277_);
lean_ctor_set(v_reuseFailAlloc_1293_, 1, v_b_1278_);
lean_ctor_set(v_reuseFailAlloc_1293_, 2, v_tail_1282_);
v___x_1292_ = v_reuseFailAlloc_1293_;
goto v_reusejp_1291_;
}
v_reusejp_1291_:
{
return v___x_1292_;
}
}
}
}
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3_spec__4_spec__5___redArg(lean_object* v_x_1295_, lean_object* v_x_1296_){
_start:
{
if (lean_obj_tag(v_x_1296_) == 0)
{
return v_x_1295_;
}
else
{
lean_object* v_key_1297_; lean_object* v_value_1298_; lean_object* v_tail_1299_; lean_object* v___x_1301_; uint8_t v_isShared_1302_; uint8_t v_isSharedCheck_1322_; 
v_key_1297_ = lean_ctor_get(v_x_1296_, 0);
v_value_1298_ = lean_ctor_get(v_x_1296_, 1);
v_tail_1299_ = lean_ctor_get(v_x_1296_, 2);
v_isSharedCheck_1322_ = !lean_is_exclusive(v_x_1296_);
if (v_isSharedCheck_1322_ == 0)
{
v___x_1301_ = v_x_1296_;
v_isShared_1302_ = v_isSharedCheck_1322_;
goto v_resetjp_1300_;
}
else
{
lean_inc(v_tail_1299_);
lean_inc(v_value_1298_);
lean_inc(v_key_1297_);
lean_dec(v_x_1296_);
v___x_1301_ = lean_box(0);
v_isShared_1302_ = v_isSharedCheck_1322_;
goto v_resetjp_1300_;
}
v_resetjp_1300_:
{
lean_object* v___x_1303_; uint64_t v___x_1304_; uint64_t v___x_1305_; uint64_t v___x_1306_; uint64_t v_fold_1307_; uint64_t v___x_1308_; uint64_t v___x_1309_; uint64_t v___x_1310_; size_t v___x_1311_; size_t v___x_1312_; size_t v___x_1313_; size_t v___x_1314_; size_t v___x_1315_; lean_object* v___x_1316_; lean_object* v___x_1318_; 
v___x_1303_ = lean_array_get_size(v_x_1295_);
v___x_1304_ = l_Lean_Meta_Grind_Arith_Linear_instHashablePoly__lean_hash(v_key_1297_);
v___x_1305_ = 32ULL;
v___x_1306_ = lean_uint64_shift_right(v___x_1304_, v___x_1305_);
v_fold_1307_ = lean_uint64_xor(v___x_1304_, v___x_1306_);
v___x_1308_ = 16ULL;
v___x_1309_ = lean_uint64_shift_right(v_fold_1307_, v___x_1308_);
v___x_1310_ = lean_uint64_xor(v_fold_1307_, v___x_1309_);
v___x_1311_ = lean_uint64_to_usize(v___x_1310_);
v___x_1312_ = lean_usize_of_nat(v___x_1303_);
v___x_1313_ = ((size_t)1ULL);
v___x_1314_ = lean_usize_sub(v___x_1312_, v___x_1313_);
v___x_1315_ = lean_usize_land(v___x_1311_, v___x_1314_);
v___x_1316_ = lean_array_uget_borrowed(v_x_1295_, v___x_1315_);
lean_inc(v___x_1316_);
if (v_isShared_1302_ == 0)
{
lean_ctor_set(v___x_1301_, 2, v___x_1316_);
v___x_1318_ = v___x_1301_;
goto v_reusejp_1317_;
}
else
{
lean_object* v_reuseFailAlloc_1321_; 
v_reuseFailAlloc_1321_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1321_, 0, v_key_1297_);
lean_ctor_set(v_reuseFailAlloc_1321_, 1, v_value_1298_);
lean_ctor_set(v_reuseFailAlloc_1321_, 2, v___x_1316_);
v___x_1318_ = v_reuseFailAlloc_1321_;
goto v_reusejp_1317_;
}
v_reusejp_1317_:
{
lean_object* v___x_1319_; 
v___x_1319_ = lean_array_uset(v_x_1295_, v___x_1315_, v___x_1318_);
v_x_1295_ = v___x_1319_;
v_x_1296_ = v_tail_1299_;
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3_spec__4___redArg(lean_object* v_i_1323_, lean_object* v_source_1324_, lean_object* v_target_1325_){
_start:
{
lean_object* v___x_1326_; uint8_t v___x_1327_; 
v___x_1326_ = lean_array_get_size(v_source_1324_);
v___x_1327_ = lean_nat_dec_lt(v_i_1323_, v___x_1326_);
if (v___x_1327_ == 0)
{
lean_dec_ref(v_source_1324_);
lean_dec(v_i_1323_);
return v_target_1325_;
}
else
{
lean_object* v_es_1328_; lean_object* v___x_1329_; lean_object* v_source_1330_; lean_object* v_target_1331_; lean_object* v___x_1332_; lean_object* v___x_1333_; 
v_es_1328_ = lean_array_fget(v_source_1324_, v_i_1323_);
v___x_1329_ = lean_box(0);
v_source_1330_ = lean_array_fset(v_source_1324_, v_i_1323_, v___x_1329_);
v_target_1331_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3_spec__4_spec__5___redArg(v_target_1325_, v_es_1328_);
v___x_1332_ = lean_unsigned_to_nat(1u);
v___x_1333_ = lean_nat_add(v_i_1323_, v___x_1332_);
lean_dec(v_i_1323_);
v_i_1323_ = v___x_1333_;
v_source_1324_ = v_source_1330_;
v_target_1325_ = v_target_1331_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3___redArg(lean_object* v_data_1335_){
_start:
{
lean_object* v___x_1336_; lean_object* v___x_1337_; lean_object* v_nbuckets_1338_; lean_object* v___x_1339_; lean_object* v___x_1340_; lean_object* v___x_1341_; lean_object* v___x_1342_; 
v___x_1336_ = lean_array_get_size(v_data_1335_);
v___x_1337_ = lean_unsigned_to_nat(2u);
v_nbuckets_1338_ = lean_nat_mul(v___x_1336_, v___x_1337_);
v___x_1339_ = lean_unsigned_to_nat(0u);
v___x_1340_ = lean_box(0);
v___x_1341_ = lean_mk_array(v_nbuckets_1338_, v___x_1340_);
v___x_1342_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3_spec__4___redArg(v___x_1339_, v_data_1335_, v___x_1341_);
return v___x_1342_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__2___redArg(lean_object* v_a_1343_, lean_object* v_x_1344_){
_start:
{
if (lean_obj_tag(v_x_1344_) == 0)
{
uint8_t v___x_1345_; 
v___x_1345_ = 0;
return v___x_1345_;
}
else
{
lean_object* v_key_1346_; lean_object* v_tail_1347_; uint8_t v___x_1348_; 
v_key_1346_ = lean_ctor_get(v_x_1344_, 0);
v_tail_1347_ = lean_ctor_get(v_x_1344_, 2);
v___x_1348_ = l_Lean_Grind_Linarith_instBEqPoly_beq(v_key_1346_, v_a_1343_);
if (v___x_1348_ == 0)
{
v_x_1344_ = v_tail_1347_;
goto _start;
}
else
{
return v___x_1348_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__2___redArg___boxed(lean_object* v_a_1350_, lean_object* v_x_1351_){
_start:
{
uint8_t v_res_1352_; lean_object* v_r_1353_; 
v_res_1352_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__2___redArg(v_a_1350_, v_x_1351_);
lean_dec(v_x_1351_);
lean_dec(v_a_1350_);
v_r_1353_ = lean_box(v_res_1352_);
return v_r_1353_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1___redArg(lean_object* v_m_1354_, lean_object* v_a_1355_, lean_object* v_b_1356_){
_start:
{
lean_object* v_size_1357_; lean_object* v_buckets_1358_; lean_object* v___x_1360_; uint8_t v_isShared_1361_; uint8_t v_isSharedCheck_1401_; 
v_size_1357_ = lean_ctor_get(v_m_1354_, 0);
v_buckets_1358_ = lean_ctor_get(v_m_1354_, 1);
v_isSharedCheck_1401_ = !lean_is_exclusive(v_m_1354_);
if (v_isSharedCheck_1401_ == 0)
{
v___x_1360_ = v_m_1354_;
v_isShared_1361_ = v_isSharedCheck_1401_;
goto v_resetjp_1359_;
}
else
{
lean_inc(v_buckets_1358_);
lean_inc(v_size_1357_);
lean_dec(v_m_1354_);
v___x_1360_ = lean_box(0);
v_isShared_1361_ = v_isSharedCheck_1401_;
goto v_resetjp_1359_;
}
v_resetjp_1359_:
{
lean_object* v___x_1362_; uint64_t v___x_1363_; uint64_t v___x_1364_; uint64_t v___x_1365_; uint64_t v_fold_1366_; uint64_t v___x_1367_; uint64_t v___x_1368_; uint64_t v___x_1369_; size_t v___x_1370_; size_t v___x_1371_; size_t v___x_1372_; size_t v___x_1373_; size_t v___x_1374_; lean_object* v_bkt_1375_; uint8_t v___x_1376_; 
v___x_1362_ = lean_array_get_size(v_buckets_1358_);
v___x_1363_ = l_Lean_Meta_Grind_Arith_Linear_instHashablePoly__lean_hash(v_a_1355_);
v___x_1364_ = 32ULL;
v___x_1365_ = lean_uint64_shift_right(v___x_1363_, v___x_1364_);
v_fold_1366_ = lean_uint64_xor(v___x_1363_, v___x_1365_);
v___x_1367_ = 16ULL;
v___x_1368_ = lean_uint64_shift_right(v_fold_1366_, v___x_1367_);
v___x_1369_ = lean_uint64_xor(v_fold_1366_, v___x_1368_);
v___x_1370_ = lean_uint64_to_usize(v___x_1369_);
v___x_1371_ = lean_usize_of_nat(v___x_1362_);
v___x_1372_ = ((size_t)1ULL);
v___x_1373_ = lean_usize_sub(v___x_1371_, v___x_1372_);
v___x_1374_ = lean_usize_land(v___x_1370_, v___x_1373_);
v_bkt_1375_ = lean_array_uget_borrowed(v_buckets_1358_, v___x_1374_);
v___x_1376_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__2___redArg(v_a_1355_, v_bkt_1375_);
if (v___x_1376_ == 0)
{
lean_object* v___x_1377_; lean_object* v_size_x27_1378_; lean_object* v___x_1379_; lean_object* v_buckets_x27_1380_; lean_object* v___x_1381_; lean_object* v___x_1382_; lean_object* v___x_1383_; lean_object* v___x_1384_; lean_object* v___x_1385_; uint8_t v___x_1386_; 
v___x_1377_ = lean_unsigned_to_nat(1u);
v_size_x27_1378_ = lean_nat_add(v_size_1357_, v___x_1377_);
lean_dec(v_size_1357_);
lean_inc(v_bkt_1375_);
v___x_1379_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_1379_, 0, v_a_1355_);
lean_ctor_set(v___x_1379_, 1, v_b_1356_);
lean_ctor_set(v___x_1379_, 2, v_bkt_1375_);
v_buckets_x27_1380_ = lean_array_uset(v_buckets_1358_, v___x_1374_, v___x_1379_);
v___x_1381_ = lean_unsigned_to_nat(4u);
v___x_1382_ = lean_nat_mul(v_size_x27_1378_, v___x_1381_);
v___x_1383_ = lean_unsigned_to_nat(3u);
v___x_1384_ = lean_nat_div(v___x_1382_, v___x_1383_);
lean_dec(v___x_1382_);
v___x_1385_ = lean_array_get_size(v_buckets_x27_1380_);
v___x_1386_ = lean_nat_dec_le(v___x_1384_, v___x_1385_);
lean_dec(v___x_1384_);
if (v___x_1386_ == 0)
{
lean_object* v_val_1387_; lean_object* v___x_1389_; 
v_val_1387_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3___redArg(v_buckets_x27_1380_);
if (v_isShared_1361_ == 0)
{
lean_ctor_set(v___x_1360_, 1, v_val_1387_);
lean_ctor_set(v___x_1360_, 0, v_size_x27_1378_);
v___x_1389_ = v___x_1360_;
goto v_reusejp_1388_;
}
else
{
lean_object* v_reuseFailAlloc_1390_; 
v_reuseFailAlloc_1390_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1390_, 0, v_size_x27_1378_);
lean_ctor_set(v_reuseFailAlloc_1390_, 1, v_val_1387_);
v___x_1389_ = v_reuseFailAlloc_1390_;
goto v_reusejp_1388_;
}
v_reusejp_1388_:
{
return v___x_1389_;
}
}
else
{
lean_object* v___x_1392_; 
if (v_isShared_1361_ == 0)
{
lean_ctor_set(v___x_1360_, 1, v_buckets_x27_1380_);
lean_ctor_set(v___x_1360_, 0, v_size_x27_1378_);
v___x_1392_ = v___x_1360_;
goto v_reusejp_1391_;
}
else
{
lean_object* v_reuseFailAlloc_1393_; 
v_reuseFailAlloc_1393_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1393_, 0, v_size_x27_1378_);
lean_ctor_set(v_reuseFailAlloc_1393_, 1, v_buckets_x27_1380_);
v___x_1392_ = v_reuseFailAlloc_1393_;
goto v_reusejp_1391_;
}
v_reusejp_1391_:
{
return v___x_1392_;
}
}
}
else
{
lean_object* v___x_1394_; lean_object* v_buckets_x27_1395_; lean_object* v___x_1396_; lean_object* v___x_1397_; lean_object* v___x_1399_; 
lean_inc(v_bkt_1375_);
v___x_1394_ = lean_box(0);
v_buckets_x27_1395_ = lean_array_uset(v_buckets_1358_, v___x_1374_, v___x_1394_);
v___x_1396_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__4___redArg(v_a_1355_, v_b_1356_, v_bkt_1375_);
v___x_1397_ = lean_array_uset(v_buckets_x27_1395_, v___x_1374_, v___x_1396_);
if (v_isShared_1361_ == 0)
{
lean_ctor_set(v___x_1360_, 1, v___x_1397_);
v___x_1399_ = v___x_1360_;
goto v_reusejp_1398_;
}
else
{
lean_object* v_reuseFailAlloc_1400_; 
v_reuseFailAlloc_1400_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1400_, 0, v_size_1357_);
lean_ctor_set(v_reuseFailAlloc_1400_, 1, v___x_1397_);
v___x_1399_ = v_reuseFailAlloc_1400_;
goto v_reusejp_1398_;
}
v_reusejp_1398_:
{
return v___x_1399_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(lean_object* v_p_1402_, lean_object* v_a_1403_, lean_object* v_a_1404_, lean_object* v_a_1405_, lean_object* v_a_1406_, lean_object* v_a_1407_, lean_object* v_a_1408_, lean_object* v_a_1409_, lean_object* v_a_1410_, lean_object* v_a_1411_, lean_object* v_a_1412_, lean_object* v_a_1413_, lean_object* v_a_1414_, lean_object* v_a_1415_){
_start:
{
lean_object* v___x_1417_; lean_object* v_polyDecls_1418_; lean_object* v___x_1419_; 
v___x_1417_ = lean_st_ref_get(v_a_1404_);
v_polyDecls_1418_ = lean_ctor_get(v___x_1417_, 2);
lean_inc_ref(v_polyDecls_1418_);
lean_dec(v___x_1417_);
v___x_1419_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0___redArg(v_polyDecls_1418_, v_p_1402_);
lean_dec_ref(v_polyDecls_1418_);
if (lean_obj_tag(v___x_1419_) == 1)
{
lean_object* v_val_1420_; lean_object* v___x_1422_; uint8_t v_isShared_1423_; uint8_t v_isSharedCheck_1427_; 
lean_dec(v_p_1402_);
v_val_1420_ = lean_ctor_get(v___x_1419_, 0);
v_isSharedCheck_1427_ = !lean_is_exclusive(v___x_1419_);
if (v_isSharedCheck_1427_ == 0)
{
v___x_1422_ = v___x_1419_;
v_isShared_1423_ = v_isSharedCheck_1427_;
goto v_resetjp_1421_;
}
else
{
lean_inc(v_val_1420_);
lean_dec(v___x_1419_);
v___x_1422_ = lean_box(0);
v_isShared_1423_ = v_isSharedCheck_1427_;
goto v_resetjp_1421_;
}
v_resetjp_1421_:
{
lean_object* v___x_1425_; 
if (v_isShared_1423_ == 0)
{
lean_ctor_set_tag(v___x_1422_, 0);
v___x_1425_ = v___x_1422_;
goto v_reusejp_1424_;
}
else
{
lean_object* v_reuseFailAlloc_1426_; 
v_reuseFailAlloc_1426_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1426_, 0, v_val_1420_);
v___x_1425_ = v_reuseFailAlloc_1426_;
goto v_reusejp_1424_;
}
v_reusejp_1424_:
{
return v___x_1425_;
}
}
}
else
{
lean_object* v___x_1428_; 
lean_dec(v___x_1419_);
v___x_1428_ = l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1(v_a_1403_, v_a_1404_, v_a_1405_, v_a_1406_, v_a_1407_, v_a_1408_, v_a_1409_, v_a_1410_, v_a_1411_, v_a_1412_, v_a_1413_, v_a_1414_, v_a_1415_);
if (lean_obj_tag(v___x_1428_) == 0)
{
lean_object* v_a_1429_; lean_object* v___x_1431_; uint8_t v_isShared_1432_; uint8_t v_isSharedCheck_1454_; 
v_a_1429_ = lean_ctor_get(v___x_1428_, 0);
v_isSharedCheck_1454_ = !lean_is_exclusive(v___x_1428_);
if (v_isSharedCheck_1454_ == 0)
{
v___x_1431_ = v___x_1428_;
v_isShared_1432_ = v_isSharedCheck_1454_;
goto v_resetjp_1430_;
}
else
{
lean_inc(v_a_1429_);
lean_dec(v___x_1428_);
v___x_1431_ = lean_box(0);
v_isShared_1432_ = v_isSharedCheck_1454_;
goto v_resetjp_1430_;
}
v_resetjp_1430_:
{
lean_object* v___x_1433_; lean_object* v_cache_1434_; lean_object* v_varDecls_1435_; lean_object* v_polyDecls_1436_; lean_object* v_exprDecls_1437_; lean_object* v_ringPolyDecls_1438_; lean_object* v_ringExprDecls_1439_; lean_object* v_ringVarDecls_1440_; lean_object* v___x_1442_; uint8_t v_isShared_1443_; uint8_t v_isSharedCheck_1453_; 
v___x_1433_ = lean_st_ref_take(v_a_1404_);
v_cache_1434_ = lean_ctor_get(v___x_1433_, 0);
v_varDecls_1435_ = lean_ctor_get(v___x_1433_, 1);
v_polyDecls_1436_ = lean_ctor_get(v___x_1433_, 2);
v_exprDecls_1437_ = lean_ctor_get(v___x_1433_, 3);
v_ringPolyDecls_1438_ = lean_ctor_get(v___x_1433_, 4);
v_ringExprDecls_1439_ = lean_ctor_get(v___x_1433_, 5);
v_ringVarDecls_1440_ = lean_ctor_get(v___x_1433_, 6);
v_isSharedCheck_1453_ = !lean_is_exclusive(v___x_1433_);
if (v_isSharedCheck_1453_ == 0)
{
v___x_1442_ = v___x_1433_;
v_isShared_1443_ = v_isSharedCheck_1453_;
goto v_resetjp_1441_;
}
else
{
lean_inc(v_ringVarDecls_1440_);
lean_inc(v_ringExprDecls_1439_);
lean_inc(v_ringPolyDecls_1438_);
lean_inc(v_exprDecls_1437_);
lean_inc(v_polyDecls_1436_);
lean_inc(v_varDecls_1435_);
lean_inc(v_cache_1434_);
lean_dec(v___x_1433_);
v___x_1442_ = lean_box(0);
v_isShared_1443_ = v_isSharedCheck_1453_;
goto v_resetjp_1441_;
}
v_resetjp_1441_:
{
lean_object* v___x_1444_; lean_object* v___x_1445_; lean_object* v___x_1447_; 
v___x_1444_ = l_Lean_mkFVar(v_a_1429_);
lean_inc_ref(v___x_1444_);
v___x_1445_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1___redArg(v_polyDecls_1436_, v_p_1402_, v___x_1444_);
if (v_isShared_1443_ == 0)
{
lean_ctor_set(v___x_1442_, 2, v___x_1445_);
v___x_1447_ = v___x_1442_;
goto v_reusejp_1446_;
}
else
{
lean_object* v_reuseFailAlloc_1452_; 
v_reuseFailAlloc_1452_ = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(v_reuseFailAlloc_1452_, 0, v_cache_1434_);
lean_ctor_set(v_reuseFailAlloc_1452_, 1, v_varDecls_1435_);
lean_ctor_set(v_reuseFailAlloc_1452_, 2, v___x_1445_);
lean_ctor_set(v_reuseFailAlloc_1452_, 3, v_exprDecls_1437_);
lean_ctor_set(v_reuseFailAlloc_1452_, 4, v_ringPolyDecls_1438_);
lean_ctor_set(v_reuseFailAlloc_1452_, 5, v_ringExprDecls_1439_);
lean_ctor_set(v_reuseFailAlloc_1452_, 6, v_ringVarDecls_1440_);
v___x_1447_ = v_reuseFailAlloc_1452_;
goto v_reusejp_1446_;
}
v_reusejp_1446_:
{
lean_object* v___x_1448_; lean_object* v___x_1450_; 
v___x_1448_ = lean_st_ref_set(v_a_1404_, v___x_1447_);
if (v_isShared_1432_ == 0)
{
lean_ctor_set(v___x_1431_, 0, v___x_1444_);
v___x_1450_ = v___x_1431_;
goto v_reusejp_1449_;
}
else
{
lean_object* v_reuseFailAlloc_1451_; 
v_reuseFailAlloc_1451_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1451_, 0, v___x_1444_);
v___x_1450_ = v_reuseFailAlloc_1451_;
goto v_reusejp_1449_;
}
v_reusejp_1449_:
{
return v___x_1450_;
}
}
}
}
}
else
{
lean_object* v_a_1455_; lean_object* v___x_1457_; uint8_t v_isShared_1458_; uint8_t v_isSharedCheck_1462_; 
lean_dec(v_p_1402_);
v_a_1455_ = lean_ctor_get(v___x_1428_, 0);
v_isSharedCheck_1462_ = !lean_is_exclusive(v___x_1428_);
if (v_isSharedCheck_1462_ == 0)
{
v___x_1457_ = v___x_1428_;
v_isShared_1458_ = v_isSharedCheck_1462_;
goto v_resetjp_1456_;
}
else
{
lean_inc(v_a_1455_);
lean_dec(v___x_1428_);
v___x_1457_ = lean_box(0);
v_isShared_1458_ = v_isSharedCheck_1462_;
goto v_resetjp_1456_;
}
v_resetjp_1456_:
{
lean_object* v___x_1460_; 
if (v_isShared_1458_ == 0)
{
v___x_1460_ = v___x_1457_;
goto v_reusejp_1459_;
}
else
{
lean_object* v_reuseFailAlloc_1461_; 
v_reuseFailAlloc_1461_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1461_, 0, v_a_1455_);
v___x_1460_ = v_reuseFailAlloc_1461_;
goto v_reusejp_1459_;
}
v_reusejp_1459_:
{
return v___x_1460_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl___boxed(lean_object* v_p_1463_, lean_object* v_a_1464_, lean_object* v_a_1465_, lean_object* v_a_1466_, lean_object* v_a_1467_, lean_object* v_a_1468_, lean_object* v_a_1469_, lean_object* v_a_1470_, lean_object* v_a_1471_, lean_object* v_a_1472_, lean_object* v_a_1473_, lean_object* v_a_1474_, lean_object* v_a_1475_, lean_object* v_a_1476_, lean_object* v_a_1477_){
_start:
{
lean_object* v_res_1478_; 
v_res_1478_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_1463_, v_a_1464_, v_a_1465_, v_a_1466_, v_a_1467_, v_a_1468_, v_a_1469_, v_a_1470_, v_a_1471_, v_a_1472_, v_a_1473_, v_a_1474_, v_a_1475_, v_a_1476_);
lean_dec(v_a_1476_);
lean_dec_ref(v_a_1475_);
lean_dec(v_a_1474_);
lean_dec_ref(v_a_1473_);
lean_dec(v_a_1472_);
lean_dec_ref(v_a_1471_);
lean_dec(v_a_1470_);
lean_dec_ref(v_a_1469_);
lean_dec(v_a_1468_);
lean_dec(v_a_1467_);
lean_dec(v_a_1466_);
lean_dec(v_a_1465_);
lean_dec_ref(v_a_1464_);
return v_res_1478_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0(lean_object* v_00_u03b2_1479_, lean_object* v_m_1480_, lean_object* v_a_1481_){
_start:
{
lean_object* v___x_1482_; 
v___x_1482_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0___redArg(v_m_1480_, v_a_1481_);
return v___x_1482_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0___boxed(lean_object* v_00_u03b2_1483_, lean_object* v_m_1484_, lean_object* v_a_1485_){
_start:
{
lean_object* v_res_1486_; 
v_res_1486_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0(v_00_u03b2_1483_, v_m_1484_, v_a_1485_);
lean_dec(v_a_1485_);
lean_dec_ref(v_m_1484_);
return v_res_1486_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1(lean_object* v_00_u03b2_1487_, lean_object* v_m_1488_, lean_object* v_a_1489_, lean_object* v_b_1490_){
_start:
{
lean_object* v___x_1491_; 
v___x_1491_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1___redArg(v_m_1488_, v_a_1489_, v_b_1490_);
return v___x_1491_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0_spec__0(lean_object* v_00_u03b2_1492_, lean_object* v_a_1493_, lean_object* v_x_1494_){
_start:
{
lean_object* v___x_1495_; 
v___x_1495_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0_spec__0___redArg(v_a_1493_, v_x_1494_);
return v___x_1495_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0_spec__0___boxed(lean_object* v_00_u03b2_1496_, lean_object* v_a_1497_, lean_object* v_x_1498_){
_start:
{
lean_object* v_res_1499_; 
v_res_1499_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__0_spec__0(v_00_u03b2_1496_, v_a_1497_, v_x_1498_);
lean_dec(v_x_1498_);
lean_dec(v_a_1497_);
return v_res_1499_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__2(lean_object* v_00_u03b2_1500_, lean_object* v_a_1501_, lean_object* v_x_1502_){
_start:
{
uint8_t v___x_1503_; 
v___x_1503_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__2___redArg(v_a_1501_, v_x_1502_);
return v___x_1503_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__2___boxed(lean_object* v_00_u03b2_1504_, lean_object* v_a_1505_, lean_object* v_x_1506_){
_start:
{
uint8_t v_res_1507_; lean_object* v_r_1508_; 
v_res_1507_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__2(v_00_u03b2_1504_, v_a_1505_, v_x_1506_);
lean_dec(v_x_1506_);
lean_dec(v_a_1505_);
v_r_1508_ = lean_box(v_res_1507_);
return v_r_1508_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3(lean_object* v_00_u03b2_1509_, lean_object* v_data_1510_){
_start:
{
lean_object* v___x_1511_; 
v___x_1511_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3___redArg(v_data_1510_);
return v___x_1511_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__4(lean_object* v_00_u03b2_1512_, lean_object* v_a_1513_, lean_object* v_b_1514_, lean_object* v_x_1515_){
_start:
{
lean_object* v___x_1516_; 
v___x_1516_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__4___redArg(v_a_1513_, v_b_1514_, v_x_1515_);
return v___x_1516_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3_spec__4(lean_object* v_00_u03b2_1517_, lean_object* v_i_1518_, lean_object* v_source_1519_, lean_object* v_target_1520_){
_start:
{
lean_object* v___x_1521_; 
v___x_1521_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3_spec__4___redArg(v_i_1518_, v_source_1519_, v_target_1520_);
return v___x_1521_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3_spec__4_spec__5(lean_object* v_00_u03b2_1522_, lean_object* v_x_1523_, lean_object* v_x_1524_){
_start:
{
lean_object* v___x_1525_; 
v___x_1525_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkPolyDecl_spec__1_spec__3_spec__4_spec__5___redArg(v_x_1523_, v_x_1524_);
return v___x_1525_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__4___redArg(lean_object* v_a_1526_, lean_object* v_b_1527_, lean_object* v_x_1528_){
_start:
{
if (lean_obj_tag(v_x_1528_) == 0)
{
lean_dec(v_b_1527_);
lean_dec(v_a_1526_);
return v_x_1528_;
}
else
{
lean_object* v_key_1529_; lean_object* v_value_1530_; lean_object* v_tail_1531_; lean_object* v___x_1533_; uint8_t v_isShared_1534_; uint8_t v_isSharedCheck_1543_; 
v_key_1529_ = lean_ctor_get(v_x_1528_, 0);
v_value_1530_ = lean_ctor_get(v_x_1528_, 1);
v_tail_1531_ = lean_ctor_get(v_x_1528_, 2);
v_isSharedCheck_1543_ = !lean_is_exclusive(v_x_1528_);
if (v_isSharedCheck_1543_ == 0)
{
v___x_1533_ = v_x_1528_;
v_isShared_1534_ = v_isSharedCheck_1543_;
goto v_resetjp_1532_;
}
else
{
lean_inc(v_tail_1531_);
lean_inc(v_value_1530_);
lean_inc(v_key_1529_);
lean_dec(v_x_1528_);
v___x_1533_ = lean_box(0);
v_isShared_1534_ = v_isSharedCheck_1543_;
goto v_resetjp_1532_;
}
v_resetjp_1532_:
{
uint8_t v___x_1535_; 
v___x_1535_ = l_Lean_Grind_Linarith_instBEqExpr_beq(v_key_1529_, v_a_1526_);
if (v___x_1535_ == 0)
{
lean_object* v___x_1536_; lean_object* v___x_1538_; 
v___x_1536_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__4___redArg(v_a_1526_, v_b_1527_, v_tail_1531_);
if (v_isShared_1534_ == 0)
{
lean_ctor_set(v___x_1533_, 2, v___x_1536_);
v___x_1538_ = v___x_1533_;
goto v_reusejp_1537_;
}
else
{
lean_object* v_reuseFailAlloc_1539_; 
v_reuseFailAlloc_1539_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1539_, 0, v_key_1529_);
lean_ctor_set(v_reuseFailAlloc_1539_, 1, v_value_1530_);
lean_ctor_set(v_reuseFailAlloc_1539_, 2, v___x_1536_);
v___x_1538_ = v_reuseFailAlloc_1539_;
goto v_reusejp_1537_;
}
v_reusejp_1537_:
{
return v___x_1538_;
}
}
else
{
lean_object* v___x_1541_; 
lean_dec(v_value_1530_);
lean_dec(v_key_1529_);
if (v_isShared_1534_ == 0)
{
lean_ctor_set(v___x_1533_, 1, v_b_1527_);
lean_ctor_set(v___x_1533_, 0, v_a_1526_);
v___x_1541_ = v___x_1533_;
goto v_reusejp_1540_;
}
else
{
lean_object* v_reuseFailAlloc_1542_; 
v_reuseFailAlloc_1542_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1542_, 0, v_a_1526_);
lean_ctor_set(v_reuseFailAlloc_1542_, 1, v_b_1527_);
lean_ctor_set(v_reuseFailAlloc_1542_, 2, v_tail_1531_);
v___x_1541_ = v_reuseFailAlloc_1542_;
goto v_reusejp_1540_;
}
v_reusejp_1540_:
{
return v___x_1541_;
}
}
}
}
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3_spec__4_spec__5___redArg(lean_object* v_x_1544_, lean_object* v_x_1545_){
_start:
{
if (lean_obj_tag(v_x_1545_) == 0)
{
return v_x_1544_;
}
else
{
lean_object* v_key_1546_; lean_object* v_value_1547_; lean_object* v_tail_1548_; lean_object* v___x_1550_; uint8_t v_isShared_1551_; uint8_t v_isSharedCheck_1571_; 
v_key_1546_ = lean_ctor_get(v_x_1545_, 0);
v_value_1547_ = lean_ctor_get(v_x_1545_, 1);
v_tail_1548_ = lean_ctor_get(v_x_1545_, 2);
v_isSharedCheck_1571_ = !lean_is_exclusive(v_x_1545_);
if (v_isSharedCheck_1571_ == 0)
{
v___x_1550_ = v_x_1545_;
v_isShared_1551_ = v_isSharedCheck_1571_;
goto v_resetjp_1549_;
}
else
{
lean_inc(v_tail_1548_);
lean_inc(v_value_1547_);
lean_inc(v_key_1546_);
lean_dec(v_x_1545_);
v___x_1550_ = lean_box(0);
v_isShared_1551_ = v_isSharedCheck_1571_;
goto v_resetjp_1549_;
}
v_resetjp_1549_:
{
lean_object* v___x_1552_; uint64_t v___x_1553_; uint64_t v___x_1554_; uint64_t v___x_1555_; uint64_t v_fold_1556_; uint64_t v___x_1557_; uint64_t v___x_1558_; uint64_t v___x_1559_; size_t v___x_1560_; size_t v___x_1561_; size_t v___x_1562_; size_t v___x_1563_; size_t v___x_1564_; lean_object* v___x_1565_; lean_object* v___x_1567_; 
v___x_1552_ = lean_array_get_size(v_x_1544_);
v___x_1553_ = l_Lean_Meta_Grind_Arith_Linear_instHashableExpr__lean_hash(v_key_1546_);
v___x_1554_ = 32ULL;
v___x_1555_ = lean_uint64_shift_right(v___x_1553_, v___x_1554_);
v_fold_1556_ = lean_uint64_xor(v___x_1553_, v___x_1555_);
v___x_1557_ = 16ULL;
v___x_1558_ = lean_uint64_shift_right(v_fold_1556_, v___x_1557_);
v___x_1559_ = lean_uint64_xor(v_fold_1556_, v___x_1558_);
v___x_1560_ = lean_uint64_to_usize(v___x_1559_);
v___x_1561_ = lean_usize_of_nat(v___x_1552_);
v___x_1562_ = ((size_t)1ULL);
v___x_1563_ = lean_usize_sub(v___x_1561_, v___x_1562_);
v___x_1564_ = lean_usize_land(v___x_1560_, v___x_1563_);
v___x_1565_ = lean_array_uget_borrowed(v_x_1544_, v___x_1564_);
lean_inc(v___x_1565_);
if (v_isShared_1551_ == 0)
{
lean_ctor_set(v___x_1550_, 2, v___x_1565_);
v___x_1567_ = v___x_1550_;
goto v_reusejp_1566_;
}
else
{
lean_object* v_reuseFailAlloc_1570_; 
v_reuseFailAlloc_1570_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1570_, 0, v_key_1546_);
lean_ctor_set(v_reuseFailAlloc_1570_, 1, v_value_1547_);
lean_ctor_set(v_reuseFailAlloc_1570_, 2, v___x_1565_);
v___x_1567_ = v_reuseFailAlloc_1570_;
goto v_reusejp_1566_;
}
v_reusejp_1566_:
{
lean_object* v___x_1568_; 
v___x_1568_ = lean_array_uset(v_x_1544_, v___x_1564_, v___x_1567_);
v_x_1544_ = v___x_1568_;
v_x_1545_ = v_tail_1548_;
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3_spec__4___redArg(lean_object* v_i_1572_, lean_object* v_source_1573_, lean_object* v_target_1574_){
_start:
{
lean_object* v___x_1575_; uint8_t v___x_1576_; 
v___x_1575_ = lean_array_get_size(v_source_1573_);
v___x_1576_ = lean_nat_dec_lt(v_i_1572_, v___x_1575_);
if (v___x_1576_ == 0)
{
lean_dec_ref(v_source_1573_);
lean_dec(v_i_1572_);
return v_target_1574_;
}
else
{
lean_object* v_es_1577_; lean_object* v___x_1578_; lean_object* v_source_1579_; lean_object* v_target_1580_; lean_object* v___x_1581_; lean_object* v___x_1582_; 
v_es_1577_ = lean_array_fget(v_source_1573_, v_i_1572_);
v___x_1578_ = lean_box(0);
v_source_1579_ = lean_array_fset(v_source_1573_, v_i_1572_, v___x_1578_);
v_target_1580_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3_spec__4_spec__5___redArg(v_target_1574_, v_es_1577_);
v___x_1581_ = lean_unsigned_to_nat(1u);
v___x_1582_ = lean_nat_add(v_i_1572_, v___x_1581_);
lean_dec(v_i_1572_);
v_i_1572_ = v___x_1582_;
v_source_1573_ = v_source_1579_;
v_target_1574_ = v_target_1580_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3___redArg(lean_object* v_data_1584_){
_start:
{
lean_object* v___x_1585_; lean_object* v___x_1586_; lean_object* v_nbuckets_1587_; lean_object* v___x_1588_; lean_object* v___x_1589_; lean_object* v___x_1590_; lean_object* v___x_1591_; 
v___x_1585_ = lean_array_get_size(v_data_1584_);
v___x_1586_ = lean_unsigned_to_nat(2u);
v_nbuckets_1587_ = lean_nat_mul(v___x_1585_, v___x_1586_);
v___x_1588_ = lean_unsigned_to_nat(0u);
v___x_1589_ = lean_box(0);
v___x_1590_ = lean_mk_array(v_nbuckets_1587_, v___x_1589_);
v___x_1591_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3_spec__4___redArg(v___x_1588_, v_data_1584_, v___x_1590_);
return v___x_1591_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__2___redArg(lean_object* v_a_1592_, lean_object* v_x_1593_){
_start:
{
if (lean_obj_tag(v_x_1593_) == 0)
{
uint8_t v___x_1594_; 
v___x_1594_ = 0;
return v___x_1594_;
}
else
{
lean_object* v_key_1595_; lean_object* v_tail_1596_; uint8_t v___x_1597_; 
v_key_1595_ = lean_ctor_get(v_x_1593_, 0);
v_tail_1596_ = lean_ctor_get(v_x_1593_, 2);
v___x_1597_ = l_Lean_Grind_Linarith_instBEqExpr_beq(v_key_1595_, v_a_1592_);
if (v___x_1597_ == 0)
{
v_x_1593_ = v_tail_1596_;
goto _start;
}
else
{
return v___x_1597_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__2___redArg___boxed(lean_object* v_a_1599_, lean_object* v_x_1600_){
_start:
{
uint8_t v_res_1601_; lean_object* v_r_1602_; 
v_res_1601_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__2___redArg(v_a_1599_, v_x_1600_);
lean_dec(v_x_1600_);
lean_dec(v_a_1599_);
v_r_1602_ = lean_box(v_res_1601_);
return v_r_1602_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1___redArg(lean_object* v_m_1603_, lean_object* v_a_1604_, lean_object* v_b_1605_){
_start:
{
lean_object* v_size_1606_; lean_object* v_buckets_1607_; lean_object* v___x_1609_; uint8_t v_isShared_1610_; uint8_t v_isSharedCheck_1650_; 
v_size_1606_ = lean_ctor_get(v_m_1603_, 0);
v_buckets_1607_ = lean_ctor_get(v_m_1603_, 1);
v_isSharedCheck_1650_ = !lean_is_exclusive(v_m_1603_);
if (v_isSharedCheck_1650_ == 0)
{
v___x_1609_ = v_m_1603_;
v_isShared_1610_ = v_isSharedCheck_1650_;
goto v_resetjp_1608_;
}
else
{
lean_inc(v_buckets_1607_);
lean_inc(v_size_1606_);
lean_dec(v_m_1603_);
v___x_1609_ = lean_box(0);
v_isShared_1610_ = v_isSharedCheck_1650_;
goto v_resetjp_1608_;
}
v_resetjp_1608_:
{
lean_object* v___x_1611_; uint64_t v___x_1612_; uint64_t v___x_1613_; uint64_t v___x_1614_; uint64_t v_fold_1615_; uint64_t v___x_1616_; uint64_t v___x_1617_; uint64_t v___x_1618_; size_t v___x_1619_; size_t v___x_1620_; size_t v___x_1621_; size_t v___x_1622_; size_t v___x_1623_; lean_object* v_bkt_1624_; uint8_t v___x_1625_; 
v___x_1611_ = lean_array_get_size(v_buckets_1607_);
v___x_1612_ = l_Lean_Meta_Grind_Arith_Linear_instHashableExpr__lean_hash(v_a_1604_);
v___x_1613_ = 32ULL;
v___x_1614_ = lean_uint64_shift_right(v___x_1612_, v___x_1613_);
v_fold_1615_ = lean_uint64_xor(v___x_1612_, v___x_1614_);
v___x_1616_ = 16ULL;
v___x_1617_ = lean_uint64_shift_right(v_fold_1615_, v___x_1616_);
v___x_1618_ = lean_uint64_xor(v_fold_1615_, v___x_1617_);
v___x_1619_ = lean_uint64_to_usize(v___x_1618_);
v___x_1620_ = lean_usize_of_nat(v___x_1611_);
v___x_1621_ = ((size_t)1ULL);
v___x_1622_ = lean_usize_sub(v___x_1620_, v___x_1621_);
v___x_1623_ = lean_usize_land(v___x_1619_, v___x_1622_);
v_bkt_1624_ = lean_array_uget_borrowed(v_buckets_1607_, v___x_1623_);
v___x_1625_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__2___redArg(v_a_1604_, v_bkt_1624_);
if (v___x_1625_ == 0)
{
lean_object* v___x_1626_; lean_object* v_size_x27_1627_; lean_object* v___x_1628_; lean_object* v_buckets_x27_1629_; lean_object* v___x_1630_; lean_object* v___x_1631_; lean_object* v___x_1632_; lean_object* v___x_1633_; lean_object* v___x_1634_; uint8_t v___x_1635_; 
v___x_1626_ = lean_unsigned_to_nat(1u);
v_size_x27_1627_ = lean_nat_add(v_size_1606_, v___x_1626_);
lean_dec(v_size_1606_);
lean_inc(v_bkt_1624_);
v___x_1628_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_1628_, 0, v_a_1604_);
lean_ctor_set(v___x_1628_, 1, v_b_1605_);
lean_ctor_set(v___x_1628_, 2, v_bkt_1624_);
v_buckets_x27_1629_ = lean_array_uset(v_buckets_1607_, v___x_1623_, v___x_1628_);
v___x_1630_ = lean_unsigned_to_nat(4u);
v___x_1631_ = lean_nat_mul(v_size_x27_1627_, v___x_1630_);
v___x_1632_ = lean_unsigned_to_nat(3u);
v___x_1633_ = lean_nat_div(v___x_1631_, v___x_1632_);
lean_dec(v___x_1631_);
v___x_1634_ = lean_array_get_size(v_buckets_x27_1629_);
v___x_1635_ = lean_nat_dec_le(v___x_1633_, v___x_1634_);
lean_dec(v___x_1633_);
if (v___x_1635_ == 0)
{
lean_object* v_val_1636_; lean_object* v___x_1638_; 
v_val_1636_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3___redArg(v_buckets_x27_1629_);
if (v_isShared_1610_ == 0)
{
lean_ctor_set(v___x_1609_, 1, v_val_1636_);
lean_ctor_set(v___x_1609_, 0, v_size_x27_1627_);
v___x_1638_ = v___x_1609_;
goto v_reusejp_1637_;
}
else
{
lean_object* v_reuseFailAlloc_1639_; 
v_reuseFailAlloc_1639_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1639_, 0, v_size_x27_1627_);
lean_ctor_set(v_reuseFailAlloc_1639_, 1, v_val_1636_);
v___x_1638_ = v_reuseFailAlloc_1639_;
goto v_reusejp_1637_;
}
v_reusejp_1637_:
{
return v___x_1638_;
}
}
else
{
lean_object* v___x_1641_; 
if (v_isShared_1610_ == 0)
{
lean_ctor_set(v___x_1609_, 1, v_buckets_x27_1629_);
lean_ctor_set(v___x_1609_, 0, v_size_x27_1627_);
v___x_1641_ = v___x_1609_;
goto v_reusejp_1640_;
}
else
{
lean_object* v_reuseFailAlloc_1642_; 
v_reuseFailAlloc_1642_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1642_, 0, v_size_x27_1627_);
lean_ctor_set(v_reuseFailAlloc_1642_, 1, v_buckets_x27_1629_);
v___x_1641_ = v_reuseFailAlloc_1642_;
goto v_reusejp_1640_;
}
v_reusejp_1640_:
{
return v___x_1641_;
}
}
}
else
{
lean_object* v___x_1643_; lean_object* v_buckets_x27_1644_; lean_object* v___x_1645_; lean_object* v___x_1646_; lean_object* v___x_1648_; 
lean_inc(v_bkt_1624_);
v___x_1643_ = lean_box(0);
v_buckets_x27_1644_ = lean_array_uset(v_buckets_1607_, v___x_1623_, v___x_1643_);
v___x_1645_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__4___redArg(v_a_1604_, v_b_1605_, v_bkt_1624_);
v___x_1646_ = lean_array_uset(v_buckets_x27_1644_, v___x_1623_, v___x_1645_);
if (v_isShared_1610_ == 0)
{
lean_ctor_set(v___x_1609_, 1, v___x_1646_);
v___x_1648_ = v___x_1609_;
goto v_reusejp_1647_;
}
else
{
lean_object* v_reuseFailAlloc_1649_; 
v_reuseFailAlloc_1649_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1649_, 0, v_size_1606_);
lean_ctor_set(v_reuseFailAlloc_1649_, 1, v___x_1646_);
v___x_1648_ = v_reuseFailAlloc_1649_;
goto v_reusejp_1647_;
}
v_reusejp_1647_:
{
return v___x_1648_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0_spec__0___redArg(lean_object* v_a_1651_, lean_object* v_x_1652_){
_start:
{
if (lean_obj_tag(v_x_1652_) == 0)
{
lean_object* v___x_1653_; 
v___x_1653_ = lean_box(0);
return v___x_1653_;
}
else
{
lean_object* v_key_1654_; lean_object* v_value_1655_; lean_object* v_tail_1656_; uint8_t v___x_1657_; 
v_key_1654_ = lean_ctor_get(v_x_1652_, 0);
v_value_1655_ = lean_ctor_get(v_x_1652_, 1);
v_tail_1656_ = lean_ctor_get(v_x_1652_, 2);
v___x_1657_ = l_Lean_Grind_Linarith_instBEqExpr_beq(v_key_1654_, v_a_1651_);
if (v___x_1657_ == 0)
{
v_x_1652_ = v_tail_1656_;
goto _start;
}
else
{
lean_object* v___x_1659_; 
lean_inc(v_value_1655_);
v___x_1659_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1659_, 0, v_value_1655_);
return v___x_1659_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0_spec__0___redArg___boxed(lean_object* v_a_1660_, lean_object* v_x_1661_){
_start:
{
lean_object* v_res_1662_; 
v_res_1662_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0_spec__0___redArg(v_a_1660_, v_x_1661_);
lean_dec(v_x_1661_);
lean_dec(v_a_1660_);
return v_res_1662_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0___redArg(lean_object* v_m_1663_, lean_object* v_a_1664_){
_start:
{
lean_object* v_buckets_1665_; lean_object* v___x_1666_; uint64_t v___x_1667_; uint64_t v___x_1668_; uint64_t v___x_1669_; uint64_t v_fold_1670_; uint64_t v___x_1671_; uint64_t v___x_1672_; uint64_t v___x_1673_; size_t v___x_1674_; size_t v___x_1675_; size_t v___x_1676_; size_t v___x_1677_; size_t v___x_1678_; lean_object* v___x_1679_; lean_object* v___x_1680_; 
v_buckets_1665_ = lean_ctor_get(v_m_1663_, 1);
v___x_1666_ = lean_array_get_size(v_buckets_1665_);
v___x_1667_ = l_Lean_Meta_Grind_Arith_Linear_instHashableExpr__lean_hash(v_a_1664_);
v___x_1668_ = 32ULL;
v___x_1669_ = lean_uint64_shift_right(v___x_1667_, v___x_1668_);
v_fold_1670_ = lean_uint64_xor(v___x_1667_, v___x_1669_);
v___x_1671_ = 16ULL;
v___x_1672_ = lean_uint64_shift_right(v_fold_1670_, v___x_1671_);
v___x_1673_ = lean_uint64_xor(v_fold_1670_, v___x_1672_);
v___x_1674_ = lean_uint64_to_usize(v___x_1673_);
v___x_1675_ = lean_usize_of_nat(v___x_1666_);
v___x_1676_ = ((size_t)1ULL);
v___x_1677_ = lean_usize_sub(v___x_1675_, v___x_1676_);
v___x_1678_ = lean_usize_land(v___x_1674_, v___x_1677_);
v___x_1679_ = lean_array_uget_borrowed(v_buckets_1665_, v___x_1678_);
v___x_1680_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0_spec__0___redArg(v_a_1664_, v___x_1679_);
return v___x_1680_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0___redArg___boxed(lean_object* v_m_1681_, lean_object* v_a_1682_){
_start:
{
lean_object* v_res_1683_; 
v_res_1683_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0___redArg(v_m_1681_, v_a_1682_);
lean_dec(v_a_1682_);
lean_dec_ref(v_m_1681_);
return v_res_1683_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(lean_object* v_e_1684_, lean_object* v_a_1685_, lean_object* v_a_1686_, lean_object* v_a_1687_, lean_object* v_a_1688_, lean_object* v_a_1689_, lean_object* v_a_1690_, lean_object* v_a_1691_, lean_object* v_a_1692_, lean_object* v_a_1693_, lean_object* v_a_1694_, lean_object* v_a_1695_, lean_object* v_a_1696_, lean_object* v_a_1697_){
_start:
{
lean_object* v___x_1699_; lean_object* v_exprDecls_1700_; lean_object* v___x_1701_; 
v___x_1699_ = lean_st_ref_get(v_a_1686_);
v_exprDecls_1700_ = lean_ctor_get(v___x_1699_, 3);
lean_inc_ref(v_exprDecls_1700_);
lean_dec(v___x_1699_);
v___x_1701_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0___redArg(v_exprDecls_1700_, v_e_1684_);
lean_dec_ref(v_exprDecls_1700_);
if (lean_obj_tag(v___x_1701_) == 1)
{
lean_object* v_val_1702_; lean_object* v___x_1704_; uint8_t v_isShared_1705_; uint8_t v_isSharedCheck_1709_; 
lean_dec(v_e_1684_);
v_val_1702_ = lean_ctor_get(v___x_1701_, 0);
v_isSharedCheck_1709_ = !lean_is_exclusive(v___x_1701_);
if (v_isSharedCheck_1709_ == 0)
{
v___x_1704_ = v___x_1701_;
v_isShared_1705_ = v_isSharedCheck_1709_;
goto v_resetjp_1703_;
}
else
{
lean_inc(v_val_1702_);
lean_dec(v___x_1701_);
v___x_1704_ = lean_box(0);
v_isShared_1705_ = v_isSharedCheck_1709_;
goto v_resetjp_1703_;
}
v_resetjp_1703_:
{
lean_object* v___x_1707_; 
if (v_isShared_1705_ == 0)
{
lean_ctor_set_tag(v___x_1704_, 0);
v___x_1707_ = v___x_1704_;
goto v_reusejp_1706_;
}
else
{
lean_object* v_reuseFailAlloc_1708_; 
v_reuseFailAlloc_1708_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1708_, 0, v_val_1702_);
v___x_1707_ = v_reuseFailAlloc_1708_;
goto v_reusejp_1706_;
}
v_reusejp_1706_:
{
return v___x_1707_;
}
}
}
else
{
lean_object* v___x_1710_; 
lean_dec(v___x_1701_);
v___x_1710_ = l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1(v_a_1685_, v_a_1686_, v_a_1687_, v_a_1688_, v_a_1689_, v_a_1690_, v_a_1691_, v_a_1692_, v_a_1693_, v_a_1694_, v_a_1695_, v_a_1696_, v_a_1697_);
if (lean_obj_tag(v___x_1710_) == 0)
{
lean_object* v_a_1711_; lean_object* v___x_1713_; uint8_t v_isShared_1714_; uint8_t v_isSharedCheck_1736_; 
v_a_1711_ = lean_ctor_get(v___x_1710_, 0);
v_isSharedCheck_1736_ = !lean_is_exclusive(v___x_1710_);
if (v_isSharedCheck_1736_ == 0)
{
v___x_1713_ = v___x_1710_;
v_isShared_1714_ = v_isSharedCheck_1736_;
goto v_resetjp_1712_;
}
else
{
lean_inc(v_a_1711_);
lean_dec(v___x_1710_);
v___x_1713_ = lean_box(0);
v_isShared_1714_ = v_isSharedCheck_1736_;
goto v_resetjp_1712_;
}
v_resetjp_1712_:
{
lean_object* v___x_1715_; lean_object* v_cache_1716_; lean_object* v_varDecls_1717_; lean_object* v_polyDecls_1718_; lean_object* v_exprDecls_1719_; lean_object* v_ringPolyDecls_1720_; lean_object* v_ringExprDecls_1721_; lean_object* v_ringVarDecls_1722_; lean_object* v___x_1724_; uint8_t v_isShared_1725_; uint8_t v_isSharedCheck_1735_; 
v___x_1715_ = lean_st_ref_take(v_a_1686_);
v_cache_1716_ = lean_ctor_get(v___x_1715_, 0);
v_varDecls_1717_ = lean_ctor_get(v___x_1715_, 1);
v_polyDecls_1718_ = lean_ctor_get(v___x_1715_, 2);
v_exprDecls_1719_ = lean_ctor_get(v___x_1715_, 3);
v_ringPolyDecls_1720_ = lean_ctor_get(v___x_1715_, 4);
v_ringExprDecls_1721_ = lean_ctor_get(v___x_1715_, 5);
v_ringVarDecls_1722_ = lean_ctor_get(v___x_1715_, 6);
v_isSharedCheck_1735_ = !lean_is_exclusive(v___x_1715_);
if (v_isSharedCheck_1735_ == 0)
{
v___x_1724_ = v___x_1715_;
v_isShared_1725_ = v_isSharedCheck_1735_;
goto v_resetjp_1723_;
}
else
{
lean_inc(v_ringVarDecls_1722_);
lean_inc(v_ringExprDecls_1721_);
lean_inc(v_ringPolyDecls_1720_);
lean_inc(v_exprDecls_1719_);
lean_inc(v_polyDecls_1718_);
lean_inc(v_varDecls_1717_);
lean_inc(v_cache_1716_);
lean_dec(v___x_1715_);
v___x_1724_ = lean_box(0);
v_isShared_1725_ = v_isSharedCheck_1735_;
goto v_resetjp_1723_;
}
v_resetjp_1723_:
{
lean_object* v___x_1726_; lean_object* v___x_1727_; lean_object* v___x_1729_; 
v___x_1726_ = l_Lean_mkFVar(v_a_1711_);
lean_inc_ref(v___x_1726_);
v___x_1727_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1___redArg(v_exprDecls_1719_, v_e_1684_, v___x_1726_);
if (v_isShared_1725_ == 0)
{
lean_ctor_set(v___x_1724_, 3, v___x_1727_);
v___x_1729_ = v___x_1724_;
goto v_reusejp_1728_;
}
else
{
lean_object* v_reuseFailAlloc_1734_; 
v_reuseFailAlloc_1734_ = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(v_reuseFailAlloc_1734_, 0, v_cache_1716_);
lean_ctor_set(v_reuseFailAlloc_1734_, 1, v_varDecls_1717_);
lean_ctor_set(v_reuseFailAlloc_1734_, 2, v_polyDecls_1718_);
lean_ctor_set(v_reuseFailAlloc_1734_, 3, v___x_1727_);
lean_ctor_set(v_reuseFailAlloc_1734_, 4, v_ringPolyDecls_1720_);
lean_ctor_set(v_reuseFailAlloc_1734_, 5, v_ringExprDecls_1721_);
lean_ctor_set(v_reuseFailAlloc_1734_, 6, v_ringVarDecls_1722_);
v___x_1729_ = v_reuseFailAlloc_1734_;
goto v_reusejp_1728_;
}
v_reusejp_1728_:
{
lean_object* v___x_1730_; lean_object* v___x_1732_; 
v___x_1730_ = lean_st_ref_set(v_a_1686_, v___x_1729_);
if (v_isShared_1714_ == 0)
{
lean_ctor_set(v___x_1713_, 0, v___x_1726_);
v___x_1732_ = v___x_1713_;
goto v_reusejp_1731_;
}
else
{
lean_object* v_reuseFailAlloc_1733_; 
v_reuseFailAlloc_1733_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1733_, 0, v___x_1726_);
v___x_1732_ = v_reuseFailAlloc_1733_;
goto v_reusejp_1731_;
}
v_reusejp_1731_:
{
return v___x_1732_;
}
}
}
}
}
else
{
lean_object* v_a_1737_; lean_object* v___x_1739_; uint8_t v_isShared_1740_; uint8_t v_isSharedCheck_1744_; 
lean_dec(v_e_1684_);
v_a_1737_ = lean_ctor_get(v___x_1710_, 0);
v_isSharedCheck_1744_ = !lean_is_exclusive(v___x_1710_);
if (v_isSharedCheck_1744_ == 0)
{
v___x_1739_ = v___x_1710_;
v_isShared_1740_ = v_isSharedCheck_1744_;
goto v_resetjp_1738_;
}
else
{
lean_inc(v_a_1737_);
lean_dec(v___x_1710_);
v___x_1739_ = lean_box(0);
v_isShared_1740_ = v_isSharedCheck_1744_;
goto v_resetjp_1738_;
}
v_resetjp_1738_:
{
lean_object* v___x_1742_; 
if (v_isShared_1740_ == 0)
{
v___x_1742_ = v___x_1739_;
goto v_reusejp_1741_;
}
else
{
lean_object* v_reuseFailAlloc_1743_; 
v_reuseFailAlloc_1743_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1743_, 0, v_a_1737_);
v___x_1742_ = v_reuseFailAlloc_1743_;
goto v_reusejp_1741_;
}
v_reusejp_1741_:
{
return v___x_1742_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkExprDecl___boxed(lean_object* v_e_1745_, lean_object* v_a_1746_, lean_object* v_a_1747_, lean_object* v_a_1748_, lean_object* v_a_1749_, lean_object* v_a_1750_, lean_object* v_a_1751_, lean_object* v_a_1752_, lean_object* v_a_1753_, lean_object* v_a_1754_, lean_object* v_a_1755_, lean_object* v_a_1756_, lean_object* v_a_1757_, lean_object* v_a_1758_, lean_object* v_a_1759_){
_start:
{
lean_object* v_res_1760_; 
v_res_1760_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_e_1745_, v_a_1746_, v_a_1747_, v_a_1748_, v_a_1749_, v_a_1750_, v_a_1751_, v_a_1752_, v_a_1753_, v_a_1754_, v_a_1755_, v_a_1756_, v_a_1757_, v_a_1758_);
lean_dec(v_a_1758_);
lean_dec_ref(v_a_1757_);
lean_dec(v_a_1756_);
lean_dec_ref(v_a_1755_);
lean_dec(v_a_1754_);
lean_dec_ref(v_a_1753_);
lean_dec(v_a_1752_);
lean_dec_ref(v_a_1751_);
lean_dec(v_a_1750_);
lean_dec(v_a_1749_);
lean_dec(v_a_1748_);
lean_dec(v_a_1747_);
lean_dec_ref(v_a_1746_);
return v_res_1760_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0(lean_object* v_00_u03b2_1761_, lean_object* v_m_1762_, lean_object* v_a_1763_){
_start:
{
lean_object* v___x_1764_; 
v___x_1764_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0___redArg(v_m_1762_, v_a_1763_);
return v___x_1764_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0___boxed(lean_object* v_00_u03b2_1765_, lean_object* v_m_1766_, lean_object* v_a_1767_){
_start:
{
lean_object* v_res_1768_; 
v_res_1768_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0(v_00_u03b2_1765_, v_m_1766_, v_a_1767_);
lean_dec(v_a_1767_);
lean_dec_ref(v_m_1766_);
return v_res_1768_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1(lean_object* v_00_u03b2_1769_, lean_object* v_m_1770_, lean_object* v_a_1771_, lean_object* v_b_1772_){
_start:
{
lean_object* v___x_1773_; 
v___x_1773_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1___redArg(v_m_1770_, v_a_1771_, v_b_1772_);
return v___x_1773_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0_spec__0(lean_object* v_00_u03b2_1774_, lean_object* v_a_1775_, lean_object* v_x_1776_){
_start:
{
lean_object* v___x_1777_; 
v___x_1777_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0_spec__0___redArg(v_a_1775_, v_x_1776_);
return v___x_1777_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0_spec__0___boxed(lean_object* v_00_u03b2_1778_, lean_object* v_a_1779_, lean_object* v_x_1780_){
_start:
{
lean_object* v_res_1781_; 
v_res_1781_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__0_spec__0(v_00_u03b2_1778_, v_a_1779_, v_x_1780_);
lean_dec(v_x_1780_);
lean_dec(v_a_1779_);
return v_res_1781_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__2(lean_object* v_00_u03b2_1782_, lean_object* v_a_1783_, lean_object* v_x_1784_){
_start:
{
uint8_t v___x_1785_; 
v___x_1785_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__2___redArg(v_a_1783_, v_x_1784_);
return v___x_1785_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__2___boxed(lean_object* v_00_u03b2_1786_, lean_object* v_a_1787_, lean_object* v_x_1788_){
_start:
{
uint8_t v_res_1789_; lean_object* v_r_1790_; 
v_res_1789_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__2(v_00_u03b2_1786_, v_a_1787_, v_x_1788_);
lean_dec(v_x_1788_);
lean_dec(v_a_1787_);
v_r_1790_ = lean_box(v_res_1789_);
return v_r_1790_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3(lean_object* v_00_u03b2_1791_, lean_object* v_data_1792_){
_start:
{
lean_object* v___x_1793_; 
v___x_1793_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3___redArg(v_data_1792_);
return v___x_1793_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__4(lean_object* v_00_u03b2_1794_, lean_object* v_a_1795_, lean_object* v_b_1796_, lean_object* v_x_1797_){
_start:
{
lean_object* v___x_1798_; 
v___x_1798_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__4___redArg(v_a_1795_, v_b_1796_, v_x_1797_);
return v___x_1798_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3_spec__4(lean_object* v_00_u03b2_1799_, lean_object* v_i_1800_, lean_object* v_source_1801_, lean_object* v_target_1802_){
_start:
{
lean_object* v___x_1803_; 
v___x_1803_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3_spec__4___redArg(v_i_1800_, v_source_1801_, v_target_1802_);
return v___x_1803_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3_spec__4_spec__5(lean_object* v_00_u03b2_1804_, lean_object* v_x_1805_, lean_object* v_x_1806_){
_start:
{
lean_object* v___x_1807_; 
v___x_1807_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkExprDecl_spec__1_spec__3_spec__4_spec__5___redArg(v_x_1805_, v_x_1806_);
return v___x_1807_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__2___redArg(lean_object* v_a_1808_, lean_object* v_x_1809_){
_start:
{
if (lean_obj_tag(v_x_1809_) == 0)
{
uint8_t v___x_1810_; 
v___x_1810_ = 0;
return v___x_1810_;
}
else
{
lean_object* v_key_1811_; lean_object* v_tail_1812_; uint8_t v___x_1813_; 
v_key_1811_ = lean_ctor_get(v_x_1809_, 0);
v_tail_1812_ = lean_ctor_get(v_x_1809_, 2);
v___x_1813_ = l_Lean_Grind_CommRing_instBEqPoly_beq(v_key_1811_, v_a_1808_);
if (v___x_1813_ == 0)
{
v_x_1809_ = v_tail_1812_;
goto _start;
}
else
{
return v___x_1813_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__2___redArg___boxed(lean_object* v_a_1815_, lean_object* v_x_1816_){
_start:
{
uint8_t v_res_1817_; lean_object* v_r_1818_; 
v_res_1817_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__2___redArg(v_a_1815_, v_x_1816_);
lean_dec(v_x_1816_);
lean_dec_ref(v_a_1815_);
v_r_1818_ = lean_box(v_res_1817_);
return v_r_1818_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__4___redArg(lean_object* v_a_1819_, lean_object* v_b_1820_, lean_object* v_x_1821_){
_start:
{
if (lean_obj_tag(v_x_1821_) == 0)
{
lean_dec(v_b_1820_);
lean_dec_ref(v_a_1819_);
return v_x_1821_;
}
else
{
lean_object* v_key_1822_; lean_object* v_value_1823_; lean_object* v_tail_1824_; lean_object* v___x_1826_; uint8_t v_isShared_1827_; uint8_t v_isSharedCheck_1836_; 
v_key_1822_ = lean_ctor_get(v_x_1821_, 0);
v_value_1823_ = lean_ctor_get(v_x_1821_, 1);
v_tail_1824_ = lean_ctor_get(v_x_1821_, 2);
v_isSharedCheck_1836_ = !lean_is_exclusive(v_x_1821_);
if (v_isSharedCheck_1836_ == 0)
{
v___x_1826_ = v_x_1821_;
v_isShared_1827_ = v_isSharedCheck_1836_;
goto v_resetjp_1825_;
}
else
{
lean_inc(v_tail_1824_);
lean_inc(v_value_1823_);
lean_inc(v_key_1822_);
lean_dec(v_x_1821_);
v___x_1826_ = lean_box(0);
v_isShared_1827_ = v_isSharedCheck_1836_;
goto v_resetjp_1825_;
}
v_resetjp_1825_:
{
uint8_t v___x_1828_; 
v___x_1828_ = l_Lean_Grind_CommRing_instBEqPoly_beq(v_key_1822_, v_a_1819_);
if (v___x_1828_ == 0)
{
lean_object* v___x_1829_; lean_object* v___x_1831_; 
v___x_1829_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__4___redArg(v_a_1819_, v_b_1820_, v_tail_1824_);
if (v_isShared_1827_ == 0)
{
lean_ctor_set(v___x_1826_, 2, v___x_1829_);
v___x_1831_ = v___x_1826_;
goto v_reusejp_1830_;
}
else
{
lean_object* v_reuseFailAlloc_1832_; 
v_reuseFailAlloc_1832_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1832_, 0, v_key_1822_);
lean_ctor_set(v_reuseFailAlloc_1832_, 1, v_value_1823_);
lean_ctor_set(v_reuseFailAlloc_1832_, 2, v___x_1829_);
v___x_1831_ = v_reuseFailAlloc_1832_;
goto v_reusejp_1830_;
}
v_reusejp_1830_:
{
return v___x_1831_;
}
}
else
{
lean_object* v___x_1834_; 
lean_dec(v_value_1823_);
lean_dec(v_key_1822_);
if (v_isShared_1827_ == 0)
{
lean_ctor_set(v___x_1826_, 1, v_b_1820_);
lean_ctor_set(v___x_1826_, 0, v_a_1819_);
v___x_1834_ = v___x_1826_;
goto v_reusejp_1833_;
}
else
{
lean_object* v_reuseFailAlloc_1835_; 
v_reuseFailAlloc_1835_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1835_, 0, v_a_1819_);
lean_ctor_set(v_reuseFailAlloc_1835_, 1, v_b_1820_);
lean_ctor_set(v_reuseFailAlloc_1835_, 2, v_tail_1824_);
v___x_1834_ = v_reuseFailAlloc_1835_;
goto v_reusejp_1833_;
}
v_reusejp_1833_:
{
return v___x_1834_;
}
}
}
}
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3_spec__4_spec__5___redArg(lean_object* v_x_1837_, lean_object* v_x_1838_){
_start:
{
if (lean_obj_tag(v_x_1838_) == 0)
{
return v_x_1837_;
}
else
{
lean_object* v_key_1839_; lean_object* v_value_1840_; lean_object* v_tail_1841_; lean_object* v___x_1843_; uint8_t v_isShared_1844_; uint8_t v_isSharedCheck_1864_; 
v_key_1839_ = lean_ctor_get(v_x_1838_, 0);
v_value_1840_ = lean_ctor_get(v_x_1838_, 1);
v_tail_1841_ = lean_ctor_get(v_x_1838_, 2);
v_isSharedCheck_1864_ = !lean_is_exclusive(v_x_1838_);
if (v_isSharedCheck_1864_ == 0)
{
v___x_1843_ = v_x_1838_;
v_isShared_1844_ = v_isSharedCheck_1864_;
goto v_resetjp_1842_;
}
else
{
lean_inc(v_tail_1841_);
lean_inc(v_value_1840_);
lean_inc(v_key_1839_);
lean_dec(v_x_1838_);
v___x_1843_ = lean_box(0);
v_isShared_1844_ = v_isSharedCheck_1864_;
goto v_resetjp_1842_;
}
v_resetjp_1842_:
{
lean_object* v___x_1845_; uint64_t v___x_1846_; uint64_t v___x_1847_; uint64_t v___x_1848_; uint64_t v_fold_1849_; uint64_t v___x_1850_; uint64_t v___x_1851_; uint64_t v___x_1852_; size_t v___x_1853_; size_t v___x_1854_; size_t v___x_1855_; size_t v___x_1856_; size_t v___x_1857_; lean_object* v___x_1858_; lean_object* v___x_1860_; 
v___x_1845_ = lean_array_get_size(v_x_1837_);
v___x_1846_ = l_Lean_Grind_CommRing_instHashablePoly_hash(v_key_1839_);
v___x_1847_ = 32ULL;
v___x_1848_ = lean_uint64_shift_right(v___x_1846_, v___x_1847_);
v_fold_1849_ = lean_uint64_xor(v___x_1846_, v___x_1848_);
v___x_1850_ = 16ULL;
v___x_1851_ = lean_uint64_shift_right(v_fold_1849_, v___x_1850_);
v___x_1852_ = lean_uint64_xor(v_fold_1849_, v___x_1851_);
v___x_1853_ = lean_uint64_to_usize(v___x_1852_);
v___x_1854_ = lean_usize_of_nat(v___x_1845_);
v___x_1855_ = ((size_t)1ULL);
v___x_1856_ = lean_usize_sub(v___x_1854_, v___x_1855_);
v___x_1857_ = lean_usize_land(v___x_1853_, v___x_1856_);
v___x_1858_ = lean_array_uget_borrowed(v_x_1837_, v___x_1857_);
lean_inc(v___x_1858_);
if (v_isShared_1844_ == 0)
{
lean_ctor_set(v___x_1843_, 2, v___x_1858_);
v___x_1860_ = v___x_1843_;
goto v_reusejp_1859_;
}
else
{
lean_object* v_reuseFailAlloc_1863_; 
v_reuseFailAlloc_1863_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_1863_, 0, v_key_1839_);
lean_ctor_set(v_reuseFailAlloc_1863_, 1, v_value_1840_);
lean_ctor_set(v_reuseFailAlloc_1863_, 2, v___x_1858_);
v___x_1860_ = v_reuseFailAlloc_1863_;
goto v_reusejp_1859_;
}
v_reusejp_1859_:
{
lean_object* v___x_1861_; 
v___x_1861_ = lean_array_uset(v_x_1837_, v___x_1857_, v___x_1860_);
v_x_1837_ = v___x_1861_;
v_x_1838_ = v_tail_1841_;
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3_spec__4___redArg(lean_object* v_i_1865_, lean_object* v_source_1866_, lean_object* v_target_1867_){
_start:
{
lean_object* v___x_1868_; uint8_t v___x_1869_; 
v___x_1868_ = lean_array_get_size(v_source_1866_);
v___x_1869_ = lean_nat_dec_lt(v_i_1865_, v___x_1868_);
if (v___x_1869_ == 0)
{
lean_dec_ref(v_source_1866_);
lean_dec(v_i_1865_);
return v_target_1867_;
}
else
{
lean_object* v_es_1870_; lean_object* v___x_1871_; lean_object* v_source_1872_; lean_object* v_target_1873_; lean_object* v___x_1874_; lean_object* v___x_1875_; 
v_es_1870_ = lean_array_fget(v_source_1866_, v_i_1865_);
v___x_1871_ = lean_box(0);
v_source_1872_ = lean_array_fset(v_source_1866_, v_i_1865_, v___x_1871_);
v_target_1873_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3_spec__4_spec__5___redArg(v_target_1867_, v_es_1870_);
v___x_1874_ = lean_unsigned_to_nat(1u);
v___x_1875_ = lean_nat_add(v_i_1865_, v___x_1874_);
lean_dec(v_i_1865_);
v_i_1865_ = v___x_1875_;
v_source_1866_ = v_source_1872_;
v_target_1867_ = v_target_1873_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3___redArg(lean_object* v_data_1877_){
_start:
{
lean_object* v___x_1878_; lean_object* v___x_1879_; lean_object* v_nbuckets_1880_; lean_object* v___x_1881_; lean_object* v___x_1882_; lean_object* v___x_1883_; lean_object* v___x_1884_; 
v___x_1878_ = lean_array_get_size(v_data_1877_);
v___x_1879_ = lean_unsigned_to_nat(2u);
v_nbuckets_1880_ = lean_nat_mul(v___x_1878_, v___x_1879_);
v___x_1881_ = lean_unsigned_to_nat(0u);
v___x_1882_ = lean_box(0);
v___x_1883_ = lean_mk_array(v_nbuckets_1880_, v___x_1882_);
v___x_1884_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3_spec__4___redArg(v___x_1881_, v_data_1877_, v___x_1883_);
return v___x_1884_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1___redArg(lean_object* v_m_1885_, lean_object* v_a_1886_, lean_object* v_b_1887_){
_start:
{
lean_object* v_size_1888_; lean_object* v_buckets_1889_; lean_object* v___x_1891_; uint8_t v_isShared_1892_; uint8_t v_isSharedCheck_1932_; 
v_size_1888_ = lean_ctor_get(v_m_1885_, 0);
v_buckets_1889_ = lean_ctor_get(v_m_1885_, 1);
v_isSharedCheck_1932_ = !lean_is_exclusive(v_m_1885_);
if (v_isSharedCheck_1932_ == 0)
{
v___x_1891_ = v_m_1885_;
v_isShared_1892_ = v_isSharedCheck_1932_;
goto v_resetjp_1890_;
}
else
{
lean_inc(v_buckets_1889_);
lean_inc(v_size_1888_);
lean_dec(v_m_1885_);
v___x_1891_ = lean_box(0);
v_isShared_1892_ = v_isSharedCheck_1932_;
goto v_resetjp_1890_;
}
v_resetjp_1890_:
{
lean_object* v___x_1893_; uint64_t v___x_1894_; uint64_t v___x_1895_; uint64_t v___x_1896_; uint64_t v_fold_1897_; uint64_t v___x_1898_; uint64_t v___x_1899_; uint64_t v___x_1900_; size_t v___x_1901_; size_t v___x_1902_; size_t v___x_1903_; size_t v___x_1904_; size_t v___x_1905_; lean_object* v_bkt_1906_; uint8_t v___x_1907_; 
v___x_1893_ = lean_array_get_size(v_buckets_1889_);
v___x_1894_ = l_Lean_Grind_CommRing_instHashablePoly_hash(v_a_1886_);
v___x_1895_ = 32ULL;
v___x_1896_ = lean_uint64_shift_right(v___x_1894_, v___x_1895_);
v_fold_1897_ = lean_uint64_xor(v___x_1894_, v___x_1896_);
v___x_1898_ = 16ULL;
v___x_1899_ = lean_uint64_shift_right(v_fold_1897_, v___x_1898_);
v___x_1900_ = lean_uint64_xor(v_fold_1897_, v___x_1899_);
v___x_1901_ = lean_uint64_to_usize(v___x_1900_);
v___x_1902_ = lean_usize_of_nat(v___x_1893_);
v___x_1903_ = ((size_t)1ULL);
v___x_1904_ = lean_usize_sub(v___x_1902_, v___x_1903_);
v___x_1905_ = lean_usize_land(v___x_1901_, v___x_1904_);
v_bkt_1906_ = lean_array_uget_borrowed(v_buckets_1889_, v___x_1905_);
v___x_1907_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__2___redArg(v_a_1886_, v_bkt_1906_);
if (v___x_1907_ == 0)
{
lean_object* v___x_1908_; lean_object* v_size_x27_1909_; lean_object* v___x_1910_; lean_object* v_buckets_x27_1911_; lean_object* v___x_1912_; lean_object* v___x_1913_; lean_object* v___x_1914_; lean_object* v___x_1915_; lean_object* v___x_1916_; uint8_t v___x_1917_; 
v___x_1908_ = lean_unsigned_to_nat(1u);
v_size_x27_1909_ = lean_nat_add(v_size_1888_, v___x_1908_);
lean_dec(v_size_1888_);
lean_inc(v_bkt_1906_);
v___x_1910_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_1910_, 0, v_a_1886_);
lean_ctor_set(v___x_1910_, 1, v_b_1887_);
lean_ctor_set(v___x_1910_, 2, v_bkt_1906_);
v_buckets_x27_1911_ = lean_array_uset(v_buckets_1889_, v___x_1905_, v___x_1910_);
v___x_1912_ = lean_unsigned_to_nat(4u);
v___x_1913_ = lean_nat_mul(v_size_x27_1909_, v___x_1912_);
v___x_1914_ = lean_unsigned_to_nat(3u);
v___x_1915_ = lean_nat_div(v___x_1913_, v___x_1914_);
lean_dec(v___x_1913_);
v___x_1916_ = lean_array_get_size(v_buckets_x27_1911_);
v___x_1917_ = lean_nat_dec_le(v___x_1915_, v___x_1916_);
lean_dec(v___x_1915_);
if (v___x_1917_ == 0)
{
lean_object* v_val_1918_; lean_object* v___x_1920_; 
v_val_1918_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3___redArg(v_buckets_x27_1911_);
if (v_isShared_1892_ == 0)
{
lean_ctor_set(v___x_1891_, 1, v_val_1918_);
lean_ctor_set(v___x_1891_, 0, v_size_x27_1909_);
v___x_1920_ = v___x_1891_;
goto v_reusejp_1919_;
}
else
{
lean_object* v_reuseFailAlloc_1921_; 
v_reuseFailAlloc_1921_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1921_, 0, v_size_x27_1909_);
lean_ctor_set(v_reuseFailAlloc_1921_, 1, v_val_1918_);
v___x_1920_ = v_reuseFailAlloc_1921_;
goto v_reusejp_1919_;
}
v_reusejp_1919_:
{
return v___x_1920_;
}
}
else
{
lean_object* v___x_1923_; 
if (v_isShared_1892_ == 0)
{
lean_ctor_set(v___x_1891_, 1, v_buckets_x27_1911_);
lean_ctor_set(v___x_1891_, 0, v_size_x27_1909_);
v___x_1923_ = v___x_1891_;
goto v_reusejp_1922_;
}
else
{
lean_object* v_reuseFailAlloc_1924_; 
v_reuseFailAlloc_1924_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1924_, 0, v_size_x27_1909_);
lean_ctor_set(v_reuseFailAlloc_1924_, 1, v_buckets_x27_1911_);
v___x_1923_ = v_reuseFailAlloc_1924_;
goto v_reusejp_1922_;
}
v_reusejp_1922_:
{
return v___x_1923_;
}
}
}
else
{
lean_object* v___x_1925_; lean_object* v_buckets_x27_1926_; lean_object* v___x_1927_; lean_object* v___x_1928_; lean_object* v___x_1930_; 
lean_inc(v_bkt_1906_);
v___x_1925_ = lean_box(0);
v_buckets_x27_1926_ = lean_array_uset(v_buckets_1889_, v___x_1905_, v___x_1925_);
v___x_1927_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__4___redArg(v_a_1886_, v_b_1887_, v_bkt_1906_);
v___x_1928_ = lean_array_uset(v_buckets_x27_1926_, v___x_1905_, v___x_1927_);
if (v_isShared_1892_ == 0)
{
lean_ctor_set(v___x_1891_, 1, v___x_1928_);
v___x_1930_ = v___x_1891_;
goto v_reusejp_1929_;
}
else
{
lean_object* v_reuseFailAlloc_1931_; 
v_reuseFailAlloc_1931_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_1931_, 0, v_size_1888_);
lean_ctor_set(v_reuseFailAlloc_1931_, 1, v___x_1928_);
v___x_1930_ = v_reuseFailAlloc_1931_;
goto v_reusejp_1929_;
}
v_reusejp_1929_:
{
return v___x_1930_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0_spec__0___redArg(lean_object* v_a_1933_, lean_object* v_x_1934_){
_start:
{
if (lean_obj_tag(v_x_1934_) == 0)
{
lean_object* v___x_1935_; 
v___x_1935_ = lean_box(0);
return v___x_1935_;
}
else
{
lean_object* v_key_1936_; lean_object* v_value_1937_; lean_object* v_tail_1938_; uint8_t v___x_1939_; 
v_key_1936_ = lean_ctor_get(v_x_1934_, 0);
v_value_1937_ = lean_ctor_get(v_x_1934_, 1);
v_tail_1938_ = lean_ctor_get(v_x_1934_, 2);
v___x_1939_ = l_Lean_Grind_CommRing_instBEqPoly_beq(v_key_1936_, v_a_1933_);
if (v___x_1939_ == 0)
{
v_x_1934_ = v_tail_1938_;
goto _start;
}
else
{
lean_object* v___x_1941_; 
lean_inc(v_value_1937_);
v___x_1941_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_1941_, 0, v_value_1937_);
return v___x_1941_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0_spec__0___redArg___boxed(lean_object* v_a_1942_, lean_object* v_x_1943_){
_start:
{
lean_object* v_res_1944_; 
v_res_1944_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0_spec__0___redArg(v_a_1942_, v_x_1943_);
lean_dec(v_x_1943_);
lean_dec_ref(v_a_1942_);
return v_res_1944_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0___redArg(lean_object* v_m_1945_, lean_object* v_a_1946_){
_start:
{
lean_object* v_buckets_1947_; lean_object* v___x_1948_; uint64_t v___x_1949_; uint64_t v___x_1950_; uint64_t v___x_1951_; uint64_t v_fold_1952_; uint64_t v___x_1953_; uint64_t v___x_1954_; uint64_t v___x_1955_; size_t v___x_1956_; size_t v___x_1957_; size_t v___x_1958_; size_t v___x_1959_; size_t v___x_1960_; lean_object* v___x_1961_; lean_object* v___x_1962_; 
v_buckets_1947_ = lean_ctor_get(v_m_1945_, 1);
v___x_1948_ = lean_array_get_size(v_buckets_1947_);
v___x_1949_ = l_Lean_Grind_CommRing_instHashablePoly_hash(v_a_1946_);
v___x_1950_ = 32ULL;
v___x_1951_ = lean_uint64_shift_right(v___x_1949_, v___x_1950_);
v_fold_1952_ = lean_uint64_xor(v___x_1949_, v___x_1951_);
v___x_1953_ = 16ULL;
v___x_1954_ = lean_uint64_shift_right(v_fold_1952_, v___x_1953_);
v___x_1955_ = lean_uint64_xor(v_fold_1952_, v___x_1954_);
v___x_1956_ = lean_uint64_to_usize(v___x_1955_);
v___x_1957_ = lean_usize_of_nat(v___x_1948_);
v___x_1958_ = ((size_t)1ULL);
v___x_1959_ = lean_usize_sub(v___x_1957_, v___x_1958_);
v___x_1960_ = lean_usize_land(v___x_1956_, v___x_1959_);
v___x_1961_ = lean_array_uget_borrowed(v_buckets_1947_, v___x_1960_);
v___x_1962_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0_spec__0___redArg(v_a_1946_, v___x_1961_);
return v___x_1962_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0___redArg___boxed(lean_object* v_m_1963_, lean_object* v_a_1964_){
_start:
{
lean_object* v_res_1965_; 
v_res_1965_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0___redArg(v_m_1963_, v_a_1964_);
lean_dec_ref(v_a_1964_);
lean_dec_ref(v_m_1963_);
return v_res_1965_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(lean_object* v_p_1966_, lean_object* v_a_1967_, lean_object* v_a_1968_, lean_object* v_a_1969_, lean_object* v_a_1970_, lean_object* v_a_1971_, lean_object* v_a_1972_, lean_object* v_a_1973_, lean_object* v_a_1974_, lean_object* v_a_1975_, lean_object* v_a_1976_, lean_object* v_a_1977_, lean_object* v_a_1978_, lean_object* v_a_1979_){
_start:
{
lean_object* v___x_1981_; lean_object* v_ringPolyDecls_1982_; lean_object* v___x_1983_; 
v___x_1981_ = lean_st_ref_get(v_a_1968_);
v_ringPolyDecls_1982_ = lean_ctor_get(v___x_1981_, 4);
lean_inc_ref(v_ringPolyDecls_1982_);
lean_dec(v___x_1981_);
v___x_1983_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0___redArg(v_ringPolyDecls_1982_, v_p_1966_);
lean_dec_ref(v_ringPolyDecls_1982_);
if (lean_obj_tag(v___x_1983_) == 1)
{
lean_object* v_val_1984_; lean_object* v___x_1986_; uint8_t v_isShared_1987_; uint8_t v_isSharedCheck_1991_; 
lean_dec_ref(v_p_1966_);
v_val_1984_ = lean_ctor_get(v___x_1983_, 0);
v_isSharedCheck_1991_ = !lean_is_exclusive(v___x_1983_);
if (v_isSharedCheck_1991_ == 0)
{
v___x_1986_ = v___x_1983_;
v_isShared_1987_ = v_isSharedCheck_1991_;
goto v_resetjp_1985_;
}
else
{
lean_inc(v_val_1984_);
lean_dec(v___x_1983_);
v___x_1986_ = lean_box(0);
v_isShared_1987_ = v_isSharedCheck_1991_;
goto v_resetjp_1985_;
}
v_resetjp_1985_:
{
lean_object* v___x_1989_; 
if (v_isShared_1987_ == 0)
{
lean_ctor_set_tag(v___x_1986_, 0);
v___x_1989_ = v___x_1986_;
goto v_reusejp_1988_;
}
else
{
lean_object* v_reuseFailAlloc_1990_; 
v_reuseFailAlloc_1990_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_1990_, 0, v_val_1984_);
v___x_1989_ = v_reuseFailAlloc_1990_;
goto v_reusejp_1988_;
}
v_reusejp_1988_:
{
return v___x_1989_;
}
}
}
else
{
lean_object* v___x_1992_; 
lean_dec(v___x_1983_);
v___x_1992_ = l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1(v_a_1967_, v_a_1968_, v_a_1969_, v_a_1970_, v_a_1971_, v_a_1972_, v_a_1973_, v_a_1974_, v_a_1975_, v_a_1976_, v_a_1977_, v_a_1978_, v_a_1979_);
if (lean_obj_tag(v___x_1992_) == 0)
{
lean_object* v_a_1993_; lean_object* v___x_1995_; uint8_t v_isShared_1996_; uint8_t v_isSharedCheck_2018_; 
v_a_1993_ = lean_ctor_get(v___x_1992_, 0);
v_isSharedCheck_2018_ = !lean_is_exclusive(v___x_1992_);
if (v_isSharedCheck_2018_ == 0)
{
v___x_1995_ = v___x_1992_;
v_isShared_1996_ = v_isSharedCheck_2018_;
goto v_resetjp_1994_;
}
else
{
lean_inc(v_a_1993_);
lean_dec(v___x_1992_);
v___x_1995_ = lean_box(0);
v_isShared_1996_ = v_isSharedCheck_2018_;
goto v_resetjp_1994_;
}
v_resetjp_1994_:
{
lean_object* v___x_1997_; lean_object* v_cache_1998_; lean_object* v_varDecls_1999_; lean_object* v_polyDecls_2000_; lean_object* v_exprDecls_2001_; lean_object* v_ringPolyDecls_2002_; lean_object* v_ringExprDecls_2003_; lean_object* v_ringVarDecls_2004_; lean_object* v___x_2006_; uint8_t v_isShared_2007_; uint8_t v_isSharedCheck_2017_; 
v___x_1997_ = lean_st_ref_take(v_a_1968_);
v_cache_1998_ = lean_ctor_get(v___x_1997_, 0);
v_varDecls_1999_ = lean_ctor_get(v___x_1997_, 1);
v_polyDecls_2000_ = lean_ctor_get(v___x_1997_, 2);
v_exprDecls_2001_ = lean_ctor_get(v___x_1997_, 3);
v_ringPolyDecls_2002_ = lean_ctor_get(v___x_1997_, 4);
v_ringExprDecls_2003_ = lean_ctor_get(v___x_1997_, 5);
v_ringVarDecls_2004_ = lean_ctor_get(v___x_1997_, 6);
v_isSharedCheck_2017_ = !lean_is_exclusive(v___x_1997_);
if (v_isSharedCheck_2017_ == 0)
{
v___x_2006_ = v___x_1997_;
v_isShared_2007_ = v_isSharedCheck_2017_;
goto v_resetjp_2005_;
}
else
{
lean_inc(v_ringVarDecls_2004_);
lean_inc(v_ringExprDecls_2003_);
lean_inc(v_ringPolyDecls_2002_);
lean_inc(v_exprDecls_2001_);
lean_inc(v_polyDecls_2000_);
lean_inc(v_varDecls_1999_);
lean_inc(v_cache_1998_);
lean_dec(v___x_1997_);
v___x_2006_ = lean_box(0);
v_isShared_2007_ = v_isSharedCheck_2017_;
goto v_resetjp_2005_;
}
v_resetjp_2005_:
{
lean_object* v___x_2008_; lean_object* v___x_2009_; lean_object* v___x_2011_; 
v___x_2008_ = l_Lean_mkFVar(v_a_1993_);
lean_inc_ref(v___x_2008_);
v___x_2009_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1___redArg(v_ringPolyDecls_2002_, v_p_1966_, v___x_2008_);
if (v_isShared_2007_ == 0)
{
lean_ctor_set(v___x_2006_, 4, v___x_2009_);
v___x_2011_ = v___x_2006_;
goto v_reusejp_2010_;
}
else
{
lean_object* v_reuseFailAlloc_2016_; 
v_reuseFailAlloc_2016_ = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(v_reuseFailAlloc_2016_, 0, v_cache_1998_);
lean_ctor_set(v_reuseFailAlloc_2016_, 1, v_varDecls_1999_);
lean_ctor_set(v_reuseFailAlloc_2016_, 2, v_polyDecls_2000_);
lean_ctor_set(v_reuseFailAlloc_2016_, 3, v_exprDecls_2001_);
lean_ctor_set(v_reuseFailAlloc_2016_, 4, v___x_2009_);
lean_ctor_set(v_reuseFailAlloc_2016_, 5, v_ringExprDecls_2003_);
lean_ctor_set(v_reuseFailAlloc_2016_, 6, v_ringVarDecls_2004_);
v___x_2011_ = v_reuseFailAlloc_2016_;
goto v_reusejp_2010_;
}
v_reusejp_2010_:
{
lean_object* v___x_2012_; lean_object* v___x_2014_; 
v___x_2012_ = lean_st_ref_set(v_a_1968_, v___x_2011_);
if (v_isShared_1996_ == 0)
{
lean_ctor_set(v___x_1995_, 0, v___x_2008_);
v___x_2014_ = v___x_1995_;
goto v_reusejp_2013_;
}
else
{
lean_object* v_reuseFailAlloc_2015_; 
v_reuseFailAlloc_2015_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2015_, 0, v___x_2008_);
v___x_2014_ = v_reuseFailAlloc_2015_;
goto v_reusejp_2013_;
}
v_reusejp_2013_:
{
return v___x_2014_;
}
}
}
}
}
else
{
lean_object* v_a_2019_; lean_object* v___x_2021_; uint8_t v_isShared_2022_; uint8_t v_isSharedCheck_2026_; 
lean_dec_ref(v_p_1966_);
v_a_2019_ = lean_ctor_get(v___x_1992_, 0);
v_isSharedCheck_2026_ = !lean_is_exclusive(v___x_1992_);
if (v_isSharedCheck_2026_ == 0)
{
v___x_2021_ = v___x_1992_;
v_isShared_2022_ = v_isSharedCheck_2026_;
goto v_resetjp_2020_;
}
else
{
lean_inc(v_a_2019_);
lean_dec(v___x_1992_);
v___x_2021_ = lean_box(0);
v_isShared_2022_ = v_isSharedCheck_2026_;
goto v_resetjp_2020_;
}
v_resetjp_2020_:
{
lean_object* v___x_2024_; 
if (v_isShared_2022_ == 0)
{
v___x_2024_ = v___x_2021_;
goto v_reusejp_2023_;
}
else
{
lean_object* v_reuseFailAlloc_2025_; 
v_reuseFailAlloc_2025_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2025_, 0, v_a_2019_);
v___x_2024_ = v_reuseFailAlloc_2025_;
goto v_reusejp_2023_;
}
v_reusejp_2023_:
{
return v___x_2024_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl___boxed(lean_object* v_p_2027_, lean_object* v_a_2028_, lean_object* v_a_2029_, lean_object* v_a_2030_, lean_object* v_a_2031_, lean_object* v_a_2032_, lean_object* v_a_2033_, lean_object* v_a_2034_, lean_object* v_a_2035_, lean_object* v_a_2036_, lean_object* v_a_2037_, lean_object* v_a_2038_, lean_object* v_a_2039_, lean_object* v_a_2040_, lean_object* v_a_2041_){
_start:
{
lean_object* v_res_2042_; 
v_res_2042_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_2027_, v_a_2028_, v_a_2029_, v_a_2030_, v_a_2031_, v_a_2032_, v_a_2033_, v_a_2034_, v_a_2035_, v_a_2036_, v_a_2037_, v_a_2038_, v_a_2039_, v_a_2040_);
lean_dec(v_a_2040_);
lean_dec_ref(v_a_2039_);
lean_dec(v_a_2038_);
lean_dec_ref(v_a_2037_);
lean_dec(v_a_2036_);
lean_dec_ref(v_a_2035_);
lean_dec(v_a_2034_);
lean_dec_ref(v_a_2033_);
lean_dec(v_a_2032_);
lean_dec(v_a_2031_);
lean_dec(v_a_2030_);
lean_dec(v_a_2029_);
lean_dec_ref(v_a_2028_);
return v_res_2042_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0(lean_object* v_00_u03b2_2043_, lean_object* v_m_2044_, lean_object* v_a_2045_){
_start:
{
lean_object* v___x_2046_; 
v___x_2046_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0___redArg(v_m_2044_, v_a_2045_);
return v___x_2046_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0___boxed(lean_object* v_00_u03b2_2047_, lean_object* v_m_2048_, lean_object* v_a_2049_){
_start:
{
lean_object* v_res_2050_; 
v_res_2050_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0(v_00_u03b2_2047_, v_m_2048_, v_a_2049_);
lean_dec_ref(v_a_2049_);
lean_dec_ref(v_m_2048_);
return v_res_2050_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1(lean_object* v_00_u03b2_2051_, lean_object* v_m_2052_, lean_object* v_a_2053_, lean_object* v_b_2054_){
_start:
{
lean_object* v___x_2055_; 
v___x_2055_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1___redArg(v_m_2052_, v_a_2053_, v_b_2054_);
return v___x_2055_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0_spec__0(lean_object* v_00_u03b2_2056_, lean_object* v_a_2057_, lean_object* v_x_2058_){
_start:
{
lean_object* v___x_2059_; 
v___x_2059_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0_spec__0___redArg(v_a_2057_, v_x_2058_);
return v___x_2059_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0_spec__0___boxed(lean_object* v_00_u03b2_2060_, lean_object* v_a_2061_, lean_object* v_x_2062_){
_start:
{
lean_object* v_res_2063_; 
v_res_2063_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__0_spec__0(v_00_u03b2_2060_, v_a_2061_, v_x_2062_);
lean_dec(v_x_2062_);
lean_dec_ref(v_a_2061_);
return v_res_2063_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__2(lean_object* v_00_u03b2_2064_, lean_object* v_a_2065_, lean_object* v_x_2066_){
_start:
{
uint8_t v___x_2067_; 
v___x_2067_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__2___redArg(v_a_2065_, v_x_2066_);
return v___x_2067_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__2___boxed(lean_object* v_00_u03b2_2068_, lean_object* v_a_2069_, lean_object* v_x_2070_){
_start:
{
uint8_t v_res_2071_; lean_object* v_r_2072_; 
v_res_2071_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__2(v_00_u03b2_2068_, v_a_2069_, v_x_2070_);
lean_dec(v_x_2070_);
lean_dec_ref(v_a_2069_);
v_r_2072_ = lean_box(v_res_2071_);
return v_r_2072_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3(lean_object* v_00_u03b2_2073_, lean_object* v_data_2074_){
_start:
{
lean_object* v___x_2075_; 
v___x_2075_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3___redArg(v_data_2074_);
return v___x_2075_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__4(lean_object* v_00_u03b2_2076_, lean_object* v_a_2077_, lean_object* v_b_2078_, lean_object* v_x_2079_){
_start:
{
lean_object* v___x_2080_; 
v___x_2080_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__4___redArg(v_a_2077_, v_b_2078_, v_x_2079_);
return v___x_2080_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3_spec__4(lean_object* v_00_u03b2_2081_, lean_object* v_i_2082_, lean_object* v_source_2083_, lean_object* v_target_2084_){
_start:
{
lean_object* v___x_2085_; 
v___x_2085_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3_spec__4___redArg(v_i_2082_, v_source_2083_, v_target_2084_);
return v___x_2085_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3_spec__4_spec__5(lean_object* v_00_u03b2_2086_, lean_object* v_x_2087_, lean_object* v_x_2088_){
_start:
{
lean_object* v___x_2089_; 
v___x_2089_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl_spec__1_spec__3_spec__4_spec__5___redArg(v_x_2087_, v_x_2088_);
return v___x_2089_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0_spec__0___redArg(lean_object* v_a_2090_, lean_object* v_x_2091_){
_start:
{
if (lean_obj_tag(v_x_2091_) == 0)
{
lean_object* v___x_2092_; 
v___x_2092_ = lean_box(0);
return v___x_2092_;
}
else
{
lean_object* v_key_2093_; lean_object* v_value_2094_; lean_object* v_tail_2095_; uint8_t v___x_2096_; 
v_key_2093_ = lean_ctor_get(v_x_2091_, 0);
v_value_2094_ = lean_ctor_get(v_x_2091_, 1);
v_tail_2095_ = lean_ctor_get(v_x_2091_, 2);
v___x_2096_ = l_Lean_Grind_CommRing_instBEqExpr_beq(v_key_2093_, v_a_2090_);
if (v___x_2096_ == 0)
{
v_x_2091_ = v_tail_2095_;
goto _start;
}
else
{
lean_object* v___x_2098_; 
lean_inc(v_value_2094_);
v___x_2098_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2098_, 0, v_value_2094_);
return v___x_2098_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0_spec__0___redArg___boxed(lean_object* v_a_2099_, lean_object* v_x_2100_){
_start:
{
lean_object* v_res_2101_; 
v_res_2101_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0_spec__0___redArg(v_a_2099_, v_x_2100_);
lean_dec(v_x_2100_);
lean_dec_ref(v_a_2099_);
return v_res_2101_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0___redArg(lean_object* v_m_2102_, lean_object* v_a_2103_){
_start:
{
lean_object* v_buckets_2104_; lean_object* v___x_2105_; uint64_t v___x_2106_; uint64_t v___x_2107_; uint64_t v___x_2108_; uint64_t v_fold_2109_; uint64_t v___x_2110_; uint64_t v___x_2111_; uint64_t v___x_2112_; size_t v___x_2113_; size_t v___x_2114_; size_t v___x_2115_; size_t v___x_2116_; size_t v___x_2117_; lean_object* v___x_2118_; lean_object* v___x_2119_; 
v_buckets_2104_ = lean_ctor_get(v_m_2102_, 1);
v___x_2105_ = lean_array_get_size(v_buckets_2104_);
v___x_2106_ = l_Lean_Grind_CommRing_instHashableExpr_hash(v_a_2103_);
v___x_2107_ = 32ULL;
v___x_2108_ = lean_uint64_shift_right(v___x_2106_, v___x_2107_);
v_fold_2109_ = lean_uint64_xor(v___x_2106_, v___x_2108_);
v___x_2110_ = 16ULL;
v___x_2111_ = lean_uint64_shift_right(v_fold_2109_, v___x_2110_);
v___x_2112_ = lean_uint64_xor(v_fold_2109_, v___x_2111_);
v___x_2113_ = lean_uint64_to_usize(v___x_2112_);
v___x_2114_ = lean_usize_of_nat(v___x_2105_);
v___x_2115_ = ((size_t)1ULL);
v___x_2116_ = lean_usize_sub(v___x_2114_, v___x_2115_);
v___x_2117_ = lean_usize_land(v___x_2113_, v___x_2116_);
v___x_2118_ = lean_array_uget_borrowed(v_buckets_2104_, v___x_2117_);
v___x_2119_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0_spec__0___redArg(v_a_2103_, v___x_2118_);
return v___x_2119_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0___redArg___boxed(lean_object* v_m_2120_, lean_object* v_a_2121_){
_start:
{
lean_object* v_res_2122_; 
v_res_2122_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0___redArg(v_m_2120_, v_a_2121_);
lean_dec_ref(v_a_2121_);
lean_dec_ref(v_m_2120_);
return v_res_2122_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__4___redArg(lean_object* v_a_2123_, lean_object* v_b_2124_, lean_object* v_x_2125_){
_start:
{
if (lean_obj_tag(v_x_2125_) == 0)
{
lean_dec(v_b_2124_);
lean_dec_ref(v_a_2123_);
return v_x_2125_;
}
else
{
lean_object* v_key_2126_; lean_object* v_value_2127_; lean_object* v_tail_2128_; lean_object* v___x_2130_; uint8_t v_isShared_2131_; uint8_t v_isSharedCheck_2140_; 
v_key_2126_ = lean_ctor_get(v_x_2125_, 0);
v_value_2127_ = lean_ctor_get(v_x_2125_, 1);
v_tail_2128_ = lean_ctor_get(v_x_2125_, 2);
v_isSharedCheck_2140_ = !lean_is_exclusive(v_x_2125_);
if (v_isSharedCheck_2140_ == 0)
{
v___x_2130_ = v_x_2125_;
v_isShared_2131_ = v_isSharedCheck_2140_;
goto v_resetjp_2129_;
}
else
{
lean_inc(v_tail_2128_);
lean_inc(v_value_2127_);
lean_inc(v_key_2126_);
lean_dec(v_x_2125_);
v___x_2130_ = lean_box(0);
v_isShared_2131_ = v_isSharedCheck_2140_;
goto v_resetjp_2129_;
}
v_resetjp_2129_:
{
uint8_t v___x_2132_; 
v___x_2132_ = l_Lean_Grind_CommRing_instBEqExpr_beq(v_key_2126_, v_a_2123_);
if (v___x_2132_ == 0)
{
lean_object* v___x_2133_; lean_object* v___x_2135_; 
v___x_2133_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__4___redArg(v_a_2123_, v_b_2124_, v_tail_2128_);
if (v_isShared_2131_ == 0)
{
lean_ctor_set(v___x_2130_, 2, v___x_2133_);
v___x_2135_ = v___x_2130_;
goto v_reusejp_2134_;
}
else
{
lean_object* v_reuseFailAlloc_2136_; 
v_reuseFailAlloc_2136_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_2136_, 0, v_key_2126_);
lean_ctor_set(v_reuseFailAlloc_2136_, 1, v_value_2127_);
lean_ctor_set(v_reuseFailAlloc_2136_, 2, v___x_2133_);
v___x_2135_ = v_reuseFailAlloc_2136_;
goto v_reusejp_2134_;
}
v_reusejp_2134_:
{
return v___x_2135_;
}
}
else
{
lean_object* v___x_2138_; 
lean_dec(v_value_2127_);
lean_dec(v_key_2126_);
if (v_isShared_2131_ == 0)
{
lean_ctor_set(v___x_2130_, 1, v_b_2124_);
lean_ctor_set(v___x_2130_, 0, v_a_2123_);
v___x_2138_ = v___x_2130_;
goto v_reusejp_2137_;
}
else
{
lean_object* v_reuseFailAlloc_2139_; 
v_reuseFailAlloc_2139_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_2139_, 0, v_a_2123_);
lean_ctor_set(v_reuseFailAlloc_2139_, 1, v_b_2124_);
lean_ctor_set(v_reuseFailAlloc_2139_, 2, v_tail_2128_);
v___x_2138_ = v_reuseFailAlloc_2139_;
goto v_reusejp_2137_;
}
v_reusejp_2137_:
{
return v___x_2138_;
}
}
}
}
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__2___redArg(lean_object* v_a_2141_, lean_object* v_x_2142_){
_start:
{
if (lean_obj_tag(v_x_2142_) == 0)
{
uint8_t v___x_2143_; 
v___x_2143_ = 0;
return v___x_2143_;
}
else
{
lean_object* v_key_2144_; lean_object* v_tail_2145_; uint8_t v___x_2146_; 
v_key_2144_ = lean_ctor_get(v_x_2142_, 0);
v_tail_2145_ = lean_ctor_get(v_x_2142_, 2);
v___x_2146_ = l_Lean_Grind_CommRing_instBEqExpr_beq(v_key_2144_, v_a_2141_);
if (v___x_2146_ == 0)
{
v_x_2142_ = v_tail_2145_;
goto _start;
}
else
{
return v___x_2146_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__2___redArg___boxed(lean_object* v_a_2148_, lean_object* v_x_2149_){
_start:
{
uint8_t v_res_2150_; lean_object* v_r_2151_; 
v_res_2150_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__2___redArg(v_a_2148_, v_x_2149_);
lean_dec(v_x_2149_);
lean_dec_ref(v_a_2148_);
v_r_2151_ = lean_box(v_res_2150_);
return v_r_2151_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3_spec__4_spec__5___redArg(lean_object* v_x_2152_, lean_object* v_x_2153_){
_start:
{
if (lean_obj_tag(v_x_2153_) == 0)
{
return v_x_2152_;
}
else
{
lean_object* v_key_2154_; lean_object* v_value_2155_; lean_object* v_tail_2156_; lean_object* v___x_2158_; uint8_t v_isShared_2159_; uint8_t v_isSharedCheck_2179_; 
v_key_2154_ = lean_ctor_get(v_x_2153_, 0);
v_value_2155_ = lean_ctor_get(v_x_2153_, 1);
v_tail_2156_ = lean_ctor_get(v_x_2153_, 2);
v_isSharedCheck_2179_ = !lean_is_exclusive(v_x_2153_);
if (v_isSharedCheck_2179_ == 0)
{
v___x_2158_ = v_x_2153_;
v_isShared_2159_ = v_isSharedCheck_2179_;
goto v_resetjp_2157_;
}
else
{
lean_inc(v_tail_2156_);
lean_inc(v_value_2155_);
lean_inc(v_key_2154_);
lean_dec(v_x_2153_);
v___x_2158_ = lean_box(0);
v_isShared_2159_ = v_isSharedCheck_2179_;
goto v_resetjp_2157_;
}
v_resetjp_2157_:
{
lean_object* v___x_2160_; uint64_t v___x_2161_; uint64_t v___x_2162_; uint64_t v___x_2163_; uint64_t v_fold_2164_; uint64_t v___x_2165_; uint64_t v___x_2166_; uint64_t v___x_2167_; size_t v___x_2168_; size_t v___x_2169_; size_t v___x_2170_; size_t v___x_2171_; size_t v___x_2172_; lean_object* v___x_2173_; lean_object* v___x_2175_; 
v___x_2160_ = lean_array_get_size(v_x_2152_);
v___x_2161_ = l_Lean_Grind_CommRing_instHashableExpr_hash(v_key_2154_);
v___x_2162_ = 32ULL;
v___x_2163_ = lean_uint64_shift_right(v___x_2161_, v___x_2162_);
v_fold_2164_ = lean_uint64_xor(v___x_2161_, v___x_2163_);
v___x_2165_ = 16ULL;
v___x_2166_ = lean_uint64_shift_right(v_fold_2164_, v___x_2165_);
v___x_2167_ = lean_uint64_xor(v_fold_2164_, v___x_2166_);
v___x_2168_ = lean_uint64_to_usize(v___x_2167_);
v___x_2169_ = lean_usize_of_nat(v___x_2160_);
v___x_2170_ = ((size_t)1ULL);
v___x_2171_ = lean_usize_sub(v___x_2169_, v___x_2170_);
v___x_2172_ = lean_usize_land(v___x_2168_, v___x_2171_);
v___x_2173_ = lean_array_uget_borrowed(v_x_2152_, v___x_2172_);
lean_inc(v___x_2173_);
if (v_isShared_2159_ == 0)
{
lean_ctor_set(v___x_2158_, 2, v___x_2173_);
v___x_2175_ = v___x_2158_;
goto v_reusejp_2174_;
}
else
{
lean_object* v_reuseFailAlloc_2178_; 
v_reuseFailAlloc_2178_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_2178_, 0, v_key_2154_);
lean_ctor_set(v_reuseFailAlloc_2178_, 1, v_value_2155_);
lean_ctor_set(v_reuseFailAlloc_2178_, 2, v___x_2173_);
v___x_2175_ = v_reuseFailAlloc_2178_;
goto v_reusejp_2174_;
}
v_reusejp_2174_:
{
lean_object* v___x_2176_; 
v___x_2176_ = lean_array_uset(v_x_2152_, v___x_2172_, v___x_2175_);
v_x_2152_ = v___x_2176_;
v_x_2153_ = v_tail_2156_;
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3_spec__4___redArg(lean_object* v_i_2180_, lean_object* v_source_2181_, lean_object* v_target_2182_){
_start:
{
lean_object* v___x_2183_; uint8_t v___x_2184_; 
v___x_2183_ = lean_array_get_size(v_source_2181_);
v___x_2184_ = lean_nat_dec_lt(v_i_2180_, v___x_2183_);
if (v___x_2184_ == 0)
{
lean_dec_ref(v_source_2181_);
lean_dec(v_i_2180_);
return v_target_2182_;
}
else
{
lean_object* v_es_2185_; lean_object* v___x_2186_; lean_object* v_source_2187_; lean_object* v_target_2188_; lean_object* v___x_2189_; lean_object* v___x_2190_; 
v_es_2185_ = lean_array_fget(v_source_2181_, v_i_2180_);
v___x_2186_ = lean_box(0);
v_source_2187_ = lean_array_fset(v_source_2181_, v_i_2180_, v___x_2186_);
v_target_2188_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3_spec__4_spec__5___redArg(v_target_2182_, v_es_2185_);
v___x_2189_ = lean_unsigned_to_nat(1u);
v___x_2190_ = lean_nat_add(v_i_2180_, v___x_2189_);
lean_dec(v_i_2180_);
v_i_2180_ = v___x_2190_;
v_source_2181_ = v_source_2187_;
v_target_2182_ = v_target_2188_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3___redArg(lean_object* v_data_2192_){
_start:
{
lean_object* v___x_2193_; lean_object* v___x_2194_; lean_object* v_nbuckets_2195_; lean_object* v___x_2196_; lean_object* v___x_2197_; lean_object* v___x_2198_; lean_object* v___x_2199_; 
v___x_2193_ = lean_array_get_size(v_data_2192_);
v___x_2194_ = lean_unsigned_to_nat(2u);
v_nbuckets_2195_ = lean_nat_mul(v___x_2193_, v___x_2194_);
v___x_2196_ = lean_unsigned_to_nat(0u);
v___x_2197_ = lean_box(0);
v___x_2198_ = lean_mk_array(v_nbuckets_2195_, v___x_2197_);
v___x_2199_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3_spec__4___redArg(v___x_2196_, v_data_2192_, v___x_2198_);
return v___x_2199_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1___redArg(lean_object* v_m_2200_, lean_object* v_a_2201_, lean_object* v_b_2202_){
_start:
{
lean_object* v_size_2203_; lean_object* v_buckets_2204_; lean_object* v___x_2206_; uint8_t v_isShared_2207_; uint8_t v_isSharedCheck_2247_; 
v_size_2203_ = lean_ctor_get(v_m_2200_, 0);
v_buckets_2204_ = lean_ctor_get(v_m_2200_, 1);
v_isSharedCheck_2247_ = !lean_is_exclusive(v_m_2200_);
if (v_isSharedCheck_2247_ == 0)
{
v___x_2206_ = v_m_2200_;
v_isShared_2207_ = v_isSharedCheck_2247_;
goto v_resetjp_2205_;
}
else
{
lean_inc(v_buckets_2204_);
lean_inc(v_size_2203_);
lean_dec(v_m_2200_);
v___x_2206_ = lean_box(0);
v_isShared_2207_ = v_isSharedCheck_2247_;
goto v_resetjp_2205_;
}
v_resetjp_2205_:
{
lean_object* v___x_2208_; uint64_t v___x_2209_; uint64_t v___x_2210_; uint64_t v___x_2211_; uint64_t v_fold_2212_; uint64_t v___x_2213_; uint64_t v___x_2214_; uint64_t v___x_2215_; size_t v___x_2216_; size_t v___x_2217_; size_t v___x_2218_; size_t v___x_2219_; size_t v___x_2220_; lean_object* v_bkt_2221_; uint8_t v___x_2222_; 
v___x_2208_ = lean_array_get_size(v_buckets_2204_);
v___x_2209_ = l_Lean_Grind_CommRing_instHashableExpr_hash(v_a_2201_);
v___x_2210_ = 32ULL;
v___x_2211_ = lean_uint64_shift_right(v___x_2209_, v___x_2210_);
v_fold_2212_ = lean_uint64_xor(v___x_2209_, v___x_2211_);
v___x_2213_ = 16ULL;
v___x_2214_ = lean_uint64_shift_right(v_fold_2212_, v___x_2213_);
v___x_2215_ = lean_uint64_xor(v_fold_2212_, v___x_2214_);
v___x_2216_ = lean_uint64_to_usize(v___x_2215_);
v___x_2217_ = lean_usize_of_nat(v___x_2208_);
v___x_2218_ = ((size_t)1ULL);
v___x_2219_ = lean_usize_sub(v___x_2217_, v___x_2218_);
v___x_2220_ = lean_usize_land(v___x_2216_, v___x_2219_);
v_bkt_2221_ = lean_array_uget_borrowed(v_buckets_2204_, v___x_2220_);
v___x_2222_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__2___redArg(v_a_2201_, v_bkt_2221_);
if (v___x_2222_ == 0)
{
lean_object* v___x_2223_; lean_object* v_size_x27_2224_; lean_object* v___x_2225_; lean_object* v_buckets_x27_2226_; lean_object* v___x_2227_; lean_object* v___x_2228_; lean_object* v___x_2229_; lean_object* v___x_2230_; lean_object* v___x_2231_; uint8_t v___x_2232_; 
v___x_2223_ = lean_unsigned_to_nat(1u);
v_size_x27_2224_ = lean_nat_add(v_size_2203_, v___x_2223_);
lean_dec(v_size_2203_);
lean_inc(v_bkt_2221_);
v___x_2225_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_2225_, 0, v_a_2201_);
lean_ctor_set(v___x_2225_, 1, v_b_2202_);
lean_ctor_set(v___x_2225_, 2, v_bkt_2221_);
v_buckets_x27_2226_ = lean_array_uset(v_buckets_2204_, v___x_2220_, v___x_2225_);
v___x_2227_ = lean_unsigned_to_nat(4u);
v___x_2228_ = lean_nat_mul(v_size_x27_2224_, v___x_2227_);
v___x_2229_ = lean_unsigned_to_nat(3u);
v___x_2230_ = lean_nat_div(v___x_2228_, v___x_2229_);
lean_dec(v___x_2228_);
v___x_2231_ = lean_array_get_size(v_buckets_x27_2226_);
v___x_2232_ = lean_nat_dec_le(v___x_2230_, v___x_2231_);
lean_dec(v___x_2230_);
if (v___x_2232_ == 0)
{
lean_object* v_val_2233_; lean_object* v___x_2235_; 
v_val_2233_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3___redArg(v_buckets_x27_2226_);
if (v_isShared_2207_ == 0)
{
lean_ctor_set(v___x_2206_, 1, v_val_2233_);
lean_ctor_set(v___x_2206_, 0, v_size_x27_2224_);
v___x_2235_ = v___x_2206_;
goto v_reusejp_2234_;
}
else
{
lean_object* v_reuseFailAlloc_2236_; 
v_reuseFailAlloc_2236_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2236_, 0, v_size_x27_2224_);
lean_ctor_set(v_reuseFailAlloc_2236_, 1, v_val_2233_);
v___x_2235_ = v_reuseFailAlloc_2236_;
goto v_reusejp_2234_;
}
v_reusejp_2234_:
{
return v___x_2235_;
}
}
else
{
lean_object* v___x_2238_; 
if (v_isShared_2207_ == 0)
{
lean_ctor_set(v___x_2206_, 1, v_buckets_x27_2226_);
lean_ctor_set(v___x_2206_, 0, v_size_x27_2224_);
v___x_2238_ = v___x_2206_;
goto v_reusejp_2237_;
}
else
{
lean_object* v_reuseFailAlloc_2239_; 
v_reuseFailAlloc_2239_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2239_, 0, v_size_x27_2224_);
lean_ctor_set(v_reuseFailAlloc_2239_, 1, v_buckets_x27_2226_);
v___x_2238_ = v_reuseFailAlloc_2239_;
goto v_reusejp_2237_;
}
v_reusejp_2237_:
{
return v___x_2238_;
}
}
}
else
{
lean_object* v___x_2240_; lean_object* v_buckets_x27_2241_; lean_object* v___x_2242_; lean_object* v___x_2243_; lean_object* v___x_2245_; 
lean_inc(v_bkt_2221_);
v___x_2240_ = lean_box(0);
v_buckets_x27_2241_ = lean_array_uset(v_buckets_2204_, v___x_2220_, v___x_2240_);
v___x_2242_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__4___redArg(v_a_2201_, v_b_2202_, v_bkt_2221_);
v___x_2243_ = lean_array_uset(v_buckets_x27_2241_, v___x_2220_, v___x_2242_);
if (v_isShared_2207_ == 0)
{
lean_ctor_set(v___x_2206_, 1, v___x_2243_);
v___x_2245_ = v___x_2206_;
goto v_reusejp_2244_;
}
else
{
lean_object* v_reuseFailAlloc_2246_; 
v_reuseFailAlloc_2246_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2246_, 0, v_size_2203_);
lean_ctor_set(v_reuseFailAlloc_2246_, 1, v___x_2243_);
v___x_2245_ = v_reuseFailAlloc_2246_;
goto v_reusejp_2244_;
}
v_reusejp_2244_:
{
return v___x_2245_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkRingExprDecl(lean_object* v_e_2248_, lean_object* v_a_2249_, lean_object* v_a_2250_, lean_object* v_a_2251_, lean_object* v_a_2252_, lean_object* v_a_2253_, lean_object* v_a_2254_, lean_object* v_a_2255_, lean_object* v_a_2256_, lean_object* v_a_2257_, lean_object* v_a_2258_, lean_object* v_a_2259_, lean_object* v_a_2260_, lean_object* v_a_2261_){
_start:
{
lean_object* v___x_2263_; lean_object* v_ringExprDecls_2264_; lean_object* v___x_2265_; 
v___x_2263_ = lean_st_ref_get(v_a_2250_);
v_ringExprDecls_2264_ = lean_ctor_get(v___x_2263_, 5);
lean_inc_ref(v_ringExprDecls_2264_);
lean_dec(v___x_2263_);
v___x_2265_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0___redArg(v_ringExprDecls_2264_, v_e_2248_);
lean_dec_ref(v_ringExprDecls_2264_);
if (lean_obj_tag(v___x_2265_) == 1)
{
lean_object* v_val_2266_; lean_object* v___x_2268_; uint8_t v_isShared_2269_; uint8_t v_isSharedCheck_2273_; 
lean_dec_ref(v_e_2248_);
v_val_2266_ = lean_ctor_get(v___x_2265_, 0);
v_isSharedCheck_2273_ = !lean_is_exclusive(v___x_2265_);
if (v_isSharedCheck_2273_ == 0)
{
v___x_2268_ = v___x_2265_;
v_isShared_2269_ = v_isSharedCheck_2273_;
goto v_resetjp_2267_;
}
else
{
lean_inc(v_val_2266_);
lean_dec(v___x_2265_);
v___x_2268_ = lean_box(0);
v_isShared_2269_ = v_isSharedCheck_2273_;
goto v_resetjp_2267_;
}
v_resetjp_2267_:
{
lean_object* v___x_2271_; 
if (v_isShared_2269_ == 0)
{
lean_ctor_set_tag(v___x_2268_, 0);
v___x_2271_ = v___x_2268_;
goto v_reusejp_2270_;
}
else
{
lean_object* v_reuseFailAlloc_2272_; 
v_reuseFailAlloc_2272_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2272_, 0, v_val_2266_);
v___x_2271_ = v_reuseFailAlloc_2272_;
goto v_reusejp_2270_;
}
v_reusejp_2270_:
{
return v___x_2271_;
}
}
}
else
{
lean_object* v___x_2274_; 
lean_dec(v___x_2265_);
v___x_2274_ = l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1(v_a_2249_, v_a_2250_, v_a_2251_, v_a_2252_, v_a_2253_, v_a_2254_, v_a_2255_, v_a_2256_, v_a_2257_, v_a_2258_, v_a_2259_, v_a_2260_, v_a_2261_);
if (lean_obj_tag(v___x_2274_) == 0)
{
lean_object* v_a_2275_; lean_object* v___x_2277_; uint8_t v_isShared_2278_; uint8_t v_isSharedCheck_2300_; 
v_a_2275_ = lean_ctor_get(v___x_2274_, 0);
v_isSharedCheck_2300_ = !lean_is_exclusive(v___x_2274_);
if (v_isSharedCheck_2300_ == 0)
{
v___x_2277_ = v___x_2274_;
v_isShared_2278_ = v_isSharedCheck_2300_;
goto v_resetjp_2276_;
}
else
{
lean_inc(v_a_2275_);
lean_dec(v___x_2274_);
v___x_2277_ = lean_box(0);
v_isShared_2278_ = v_isSharedCheck_2300_;
goto v_resetjp_2276_;
}
v_resetjp_2276_:
{
lean_object* v___x_2279_; lean_object* v_cache_2280_; lean_object* v_varDecls_2281_; lean_object* v_polyDecls_2282_; lean_object* v_exprDecls_2283_; lean_object* v_ringPolyDecls_2284_; lean_object* v_ringExprDecls_2285_; lean_object* v_ringVarDecls_2286_; lean_object* v___x_2288_; uint8_t v_isShared_2289_; uint8_t v_isSharedCheck_2299_; 
v___x_2279_ = lean_st_ref_take(v_a_2250_);
v_cache_2280_ = lean_ctor_get(v___x_2279_, 0);
v_varDecls_2281_ = lean_ctor_get(v___x_2279_, 1);
v_polyDecls_2282_ = lean_ctor_get(v___x_2279_, 2);
v_exprDecls_2283_ = lean_ctor_get(v___x_2279_, 3);
v_ringPolyDecls_2284_ = lean_ctor_get(v___x_2279_, 4);
v_ringExprDecls_2285_ = lean_ctor_get(v___x_2279_, 5);
v_ringVarDecls_2286_ = lean_ctor_get(v___x_2279_, 6);
v_isSharedCheck_2299_ = !lean_is_exclusive(v___x_2279_);
if (v_isSharedCheck_2299_ == 0)
{
v___x_2288_ = v___x_2279_;
v_isShared_2289_ = v_isSharedCheck_2299_;
goto v_resetjp_2287_;
}
else
{
lean_inc(v_ringVarDecls_2286_);
lean_inc(v_ringExprDecls_2285_);
lean_inc(v_ringPolyDecls_2284_);
lean_inc(v_exprDecls_2283_);
lean_inc(v_polyDecls_2282_);
lean_inc(v_varDecls_2281_);
lean_inc(v_cache_2280_);
lean_dec(v___x_2279_);
v___x_2288_ = lean_box(0);
v_isShared_2289_ = v_isSharedCheck_2299_;
goto v_resetjp_2287_;
}
v_resetjp_2287_:
{
lean_object* v___x_2290_; lean_object* v___x_2291_; lean_object* v___x_2293_; 
v___x_2290_ = l_Lean_mkFVar(v_a_2275_);
lean_inc_ref(v___x_2290_);
v___x_2291_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1___redArg(v_ringExprDecls_2285_, v_e_2248_, v___x_2290_);
if (v_isShared_2289_ == 0)
{
lean_ctor_set(v___x_2288_, 5, v___x_2291_);
v___x_2293_ = v___x_2288_;
goto v_reusejp_2292_;
}
else
{
lean_object* v_reuseFailAlloc_2298_; 
v_reuseFailAlloc_2298_ = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(v_reuseFailAlloc_2298_, 0, v_cache_2280_);
lean_ctor_set(v_reuseFailAlloc_2298_, 1, v_varDecls_2281_);
lean_ctor_set(v_reuseFailAlloc_2298_, 2, v_polyDecls_2282_);
lean_ctor_set(v_reuseFailAlloc_2298_, 3, v_exprDecls_2283_);
lean_ctor_set(v_reuseFailAlloc_2298_, 4, v_ringPolyDecls_2284_);
lean_ctor_set(v_reuseFailAlloc_2298_, 5, v___x_2291_);
lean_ctor_set(v_reuseFailAlloc_2298_, 6, v_ringVarDecls_2286_);
v___x_2293_ = v_reuseFailAlloc_2298_;
goto v_reusejp_2292_;
}
v_reusejp_2292_:
{
lean_object* v___x_2294_; lean_object* v___x_2296_; 
v___x_2294_ = lean_st_ref_set(v_a_2250_, v___x_2293_);
if (v_isShared_2278_ == 0)
{
lean_ctor_set(v___x_2277_, 0, v___x_2290_);
v___x_2296_ = v___x_2277_;
goto v_reusejp_2295_;
}
else
{
lean_object* v_reuseFailAlloc_2297_; 
v_reuseFailAlloc_2297_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2297_, 0, v___x_2290_);
v___x_2296_ = v_reuseFailAlloc_2297_;
goto v_reusejp_2295_;
}
v_reusejp_2295_:
{
return v___x_2296_;
}
}
}
}
}
else
{
lean_object* v_a_2301_; lean_object* v___x_2303_; uint8_t v_isShared_2304_; uint8_t v_isSharedCheck_2308_; 
lean_dec_ref(v_e_2248_);
v_a_2301_ = lean_ctor_get(v___x_2274_, 0);
v_isSharedCheck_2308_ = !lean_is_exclusive(v___x_2274_);
if (v_isSharedCheck_2308_ == 0)
{
v___x_2303_ = v___x_2274_;
v_isShared_2304_ = v_isSharedCheck_2308_;
goto v_resetjp_2302_;
}
else
{
lean_inc(v_a_2301_);
lean_dec(v___x_2274_);
v___x_2303_ = lean_box(0);
v_isShared_2304_ = v_isSharedCheck_2308_;
goto v_resetjp_2302_;
}
v_resetjp_2302_:
{
lean_object* v___x_2306_; 
if (v_isShared_2304_ == 0)
{
v___x_2306_ = v___x_2303_;
goto v_reusejp_2305_;
}
else
{
lean_object* v_reuseFailAlloc_2307_; 
v_reuseFailAlloc_2307_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2307_, 0, v_a_2301_);
v___x_2306_ = v_reuseFailAlloc_2307_;
goto v_reusejp_2305_;
}
v_reusejp_2305_:
{
return v___x_2306_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkRingExprDecl___boxed(lean_object* v_e_2309_, lean_object* v_a_2310_, lean_object* v_a_2311_, lean_object* v_a_2312_, lean_object* v_a_2313_, lean_object* v_a_2314_, lean_object* v_a_2315_, lean_object* v_a_2316_, lean_object* v_a_2317_, lean_object* v_a_2318_, lean_object* v_a_2319_, lean_object* v_a_2320_, lean_object* v_a_2321_, lean_object* v_a_2322_, lean_object* v_a_2323_){
_start:
{
lean_object* v_res_2324_; 
v_res_2324_ = l_Lean_Meta_Grind_Arith_Linear_mkRingExprDecl(v_e_2309_, v_a_2310_, v_a_2311_, v_a_2312_, v_a_2313_, v_a_2314_, v_a_2315_, v_a_2316_, v_a_2317_, v_a_2318_, v_a_2319_, v_a_2320_, v_a_2321_, v_a_2322_);
lean_dec(v_a_2322_);
lean_dec_ref(v_a_2321_);
lean_dec(v_a_2320_);
lean_dec_ref(v_a_2319_);
lean_dec(v_a_2318_);
lean_dec_ref(v_a_2317_);
lean_dec(v_a_2316_);
lean_dec_ref(v_a_2315_);
lean_dec(v_a_2314_);
lean_dec(v_a_2313_);
lean_dec(v_a_2312_);
lean_dec(v_a_2311_);
lean_dec_ref(v_a_2310_);
return v_res_2324_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0(lean_object* v_00_u03b2_2325_, lean_object* v_m_2326_, lean_object* v_a_2327_){
_start:
{
lean_object* v___x_2328_; 
v___x_2328_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0___redArg(v_m_2326_, v_a_2327_);
return v___x_2328_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0___boxed(lean_object* v_00_u03b2_2329_, lean_object* v_m_2330_, lean_object* v_a_2331_){
_start:
{
lean_object* v_res_2332_; 
v_res_2332_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0(v_00_u03b2_2329_, v_m_2330_, v_a_2331_);
lean_dec_ref(v_a_2331_);
lean_dec_ref(v_m_2330_);
return v_res_2332_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1(lean_object* v_00_u03b2_2333_, lean_object* v_m_2334_, lean_object* v_a_2335_, lean_object* v_b_2336_){
_start:
{
lean_object* v___x_2337_; 
v___x_2337_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1___redArg(v_m_2334_, v_a_2335_, v_b_2336_);
return v___x_2337_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0_spec__0(lean_object* v_00_u03b2_2338_, lean_object* v_a_2339_, lean_object* v_x_2340_){
_start:
{
lean_object* v___x_2341_; 
v___x_2341_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0_spec__0___redArg(v_a_2339_, v_x_2340_);
return v___x_2341_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0_spec__0___boxed(lean_object* v_00_u03b2_2342_, lean_object* v_a_2343_, lean_object* v_x_2344_){
_start:
{
lean_object* v_res_2345_; 
v_res_2345_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__0_spec__0(v_00_u03b2_2342_, v_a_2343_, v_x_2344_);
lean_dec(v_x_2344_);
lean_dec_ref(v_a_2343_);
return v_res_2345_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__2(lean_object* v_00_u03b2_2346_, lean_object* v_a_2347_, lean_object* v_x_2348_){
_start:
{
uint8_t v___x_2349_; 
v___x_2349_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__2___redArg(v_a_2347_, v_x_2348_);
return v___x_2349_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__2___boxed(lean_object* v_00_u03b2_2350_, lean_object* v_a_2351_, lean_object* v_x_2352_){
_start:
{
uint8_t v_res_2353_; lean_object* v_r_2354_; 
v_res_2353_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__2(v_00_u03b2_2350_, v_a_2351_, v_x_2352_);
lean_dec(v_x_2352_);
lean_dec_ref(v_a_2351_);
v_r_2354_ = lean_box(v_res_2353_);
return v_r_2354_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3(lean_object* v_00_u03b2_2355_, lean_object* v_data_2356_){
_start:
{
lean_object* v___x_2357_; 
v___x_2357_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3___redArg(v_data_2356_);
return v___x_2357_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__4(lean_object* v_00_u03b2_2358_, lean_object* v_a_2359_, lean_object* v_b_2360_, lean_object* v_x_2361_){
_start:
{
lean_object* v___x_2362_; 
v___x_2362_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__4___redArg(v_a_2359_, v_b_2360_, v_x_2361_);
return v___x_2362_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3_spec__4(lean_object* v_00_u03b2_2363_, lean_object* v_i_2364_, lean_object* v_source_2365_, lean_object* v_target_2366_){
_start:
{
lean_object* v___x_2367_; 
v___x_2367_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3_spec__4___redArg(v_i_2364_, v_source_2365_, v_target_2366_);
return v___x_2367_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3_spec__4_spec__5(lean_object* v_00_u03b2_2368_, lean_object* v_x_2369_, lean_object* v_x_2370_){
_start:
{
lean_object* v___x_2371_; 
v___x_2371_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_mkRingExprDecl_spec__1_spec__3_spec__4_spec__5___redArg(v_x_2369_, v_x_2370_);
return v___x_2371_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkRingVarDecl(lean_object* v_x_2372_, lean_object* v_a_2373_, lean_object* v_a_2374_, lean_object* v_a_2375_, lean_object* v_a_2376_, lean_object* v_a_2377_, lean_object* v_a_2378_, lean_object* v_a_2379_, lean_object* v_a_2380_, lean_object* v_a_2381_, lean_object* v_a_2382_, lean_object* v_a_2383_, lean_object* v_a_2384_, lean_object* v_a_2385_){
_start:
{
lean_object* v___x_2387_; lean_object* v_ringVarDecls_2388_; lean_object* v___x_2389_; 
v___x_2387_ = lean_st_ref_get(v_a_2374_);
v_ringVarDecls_2388_ = lean_ctor_get(v___x_2387_, 6);
lean_inc_ref(v_ringVarDecls_2388_);
lean_dec(v___x_2387_);
v___x_2389_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0___redArg(v_ringVarDecls_2388_, v_x_2372_);
lean_dec_ref(v_ringVarDecls_2388_);
if (lean_obj_tag(v___x_2389_) == 1)
{
lean_object* v_val_2390_; lean_object* v___x_2392_; uint8_t v_isShared_2393_; uint8_t v_isSharedCheck_2397_; 
lean_dec(v_x_2372_);
v_val_2390_ = lean_ctor_get(v___x_2389_, 0);
v_isSharedCheck_2397_ = !lean_is_exclusive(v___x_2389_);
if (v_isSharedCheck_2397_ == 0)
{
v___x_2392_ = v___x_2389_;
v_isShared_2393_ = v_isSharedCheck_2397_;
goto v_resetjp_2391_;
}
else
{
lean_inc(v_val_2390_);
lean_dec(v___x_2389_);
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)
{
lean_ctor_set_tag(v___x_2392_, 0);
v___x_2395_ = v___x_2392_;
goto v_reusejp_2394_;
}
else
{
lean_object* v_reuseFailAlloc_2396_; 
v_reuseFailAlloc_2396_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2396_, 0, v_val_2390_);
v___x_2395_ = v_reuseFailAlloc_2396_;
goto v_reusejp_2394_;
}
v_reusejp_2394_:
{
return v___x_2395_;
}
}
}
else
{
lean_object* v___x_2398_; 
lean_dec(v___x_2389_);
v___x_2398_ = l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__1(v_a_2373_, v_a_2374_, v_a_2375_, v_a_2376_, v_a_2377_, v_a_2378_, v_a_2379_, v_a_2380_, v_a_2381_, v_a_2382_, v_a_2383_, v_a_2384_, v_a_2385_);
if (lean_obj_tag(v___x_2398_) == 0)
{
lean_object* v_a_2399_; lean_object* v___x_2401_; uint8_t v_isShared_2402_; uint8_t v_isSharedCheck_2424_; 
v_a_2399_ = lean_ctor_get(v___x_2398_, 0);
v_isSharedCheck_2424_ = !lean_is_exclusive(v___x_2398_);
if (v_isSharedCheck_2424_ == 0)
{
v___x_2401_ = v___x_2398_;
v_isShared_2402_ = v_isSharedCheck_2424_;
goto v_resetjp_2400_;
}
else
{
lean_inc(v_a_2399_);
lean_dec(v___x_2398_);
v___x_2401_ = lean_box(0);
v_isShared_2402_ = v_isSharedCheck_2424_;
goto v_resetjp_2400_;
}
v_resetjp_2400_:
{
lean_object* v___x_2403_; lean_object* v_cache_2404_; lean_object* v_varDecls_2405_; lean_object* v_polyDecls_2406_; lean_object* v_exprDecls_2407_; lean_object* v_ringPolyDecls_2408_; lean_object* v_ringExprDecls_2409_; lean_object* v_ringVarDecls_2410_; lean_object* v___x_2412_; uint8_t v_isShared_2413_; uint8_t v_isSharedCheck_2423_; 
v___x_2403_ = lean_st_ref_take(v_a_2374_);
v_cache_2404_ = lean_ctor_get(v___x_2403_, 0);
v_varDecls_2405_ = lean_ctor_get(v___x_2403_, 1);
v_polyDecls_2406_ = lean_ctor_get(v___x_2403_, 2);
v_exprDecls_2407_ = lean_ctor_get(v___x_2403_, 3);
v_ringPolyDecls_2408_ = lean_ctor_get(v___x_2403_, 4);
v_ringExprDecls_2409_ = lean_ctor_get(v___x_2403_, 5);
v_ringVarDecls_2410_ = lean_ctor_get(v___x_2403_, 6);
v_isSharedCheck_2423_ = !lean_is_exclusive(v___x_2403_);
if (v_isSharedCheck_2423_ == 0)
{
v___x_2412_ = v___x_2403_;
v_isShared_2413_ = v_isSharedCheck_2423_;
goto v_resetjp_2411_;
}
else
{
lean_inc(v_ringVarDecls_2410_);
lean_inc(v_ringExprDecls_2409_);
lean_inc(v_ringPolyDecls_2408_);
lean_inc(v_exprDecls_2407_);
lean_inc(v_polyDecls_2406_);
lean_inc(v_varDecls_2405_);
lean_inc(v_cache_2404_);
lean_dec(v___x_2403_);
v___x_2412_ = lean_box(0);
v_isShared_2413_ = v_isSharedCheck_2423_;
goto v_resetjp_2411_;
}
v_resetjp_2411_:
{
lean_object* v___x_2414_; lean_object* v___x_2415_; lean_object* v___x_2417_; 
v___x_2414_ = l_Lean_mkFVar(v_a_2399_);
lean_inc_ref(v___x_2414_);
v___x_2415_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__2___redArg(v_ringVarDecls_2410_, v_x_2372_, v___x_2414_);
if (v_isShared_2413_ == 0)
{
lean_ctor_set(v___x_2412_, 6, v___x_2415_);
v___x_2417_ = v___x_2412_;
goto v_reusejp_2416_;
}
else
{
lean_object* v_reuseFailAlloc_2422_; 
v_reuseFailAlloc_2422_ = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(v_reuseFailAlloc_2422_, 0, v_cache_2404_);
lean_ctor_set(v_reuseFailAlloc_2422_, 1, v_varDecls_2405_);
lean_ctor_set(v_reuseFailAlloc_2422_, 2, v_polyDecls_2406_);
lean_ctor_set(v_reuseFailAlloc_2422_, 3, v_exprDecls_2407_);
lean_ctor_set(v_reuseFailAlloc_2422_, 4, v_ringPolyDecls_2408_);
lean_ctor_set(v_reuseFailAlloc_2422_, 5, v_ringExprDecls_2409_);
lean_ctor_set(v_reuseFailAlloc_2422_, 6, v___x_2415_);
v___x_2417_ = v_reuseFailAlloc_2422_;
goto v_reusejp_2416_;
}
v_reusejp_2416_:
{
lean_object* v___x_2418_; lean_object* v___x_2420_; 
v___x_2418_ = lean_st_ref_set(v_a_2374_, v___x_2417_);
if (v_isShared_2402_ == 0)
{
lean_ctor_set(v___x_2401_, 0, v___x_2414_);
v___x_2420_ = v___x_2401_;
goto v_reusejp_2419_;
}
else
{
lean_object* v_reuseFailAlloc_2421_; 
v_reuseFailAlloc_2421_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2421_, 0, v___x_2414_);
v___x_2420_ = v_reuseFailAlloc_2421_;
goto v_reusejp_2419_;
}
v_reusejp_2419_:
{
return v___x_2420_;
}
}
}
}
}
else
{
lean_object* v_a_2425_; lean_object* v___x_2427_; uint8_t v_isShared_2428_; uint8_t v_isSharedCheck_2432_; 
lean_dec(v_x_2372_);
v_a_2425_ = lean_ctor_get(v___x_2398_, 0);
v_isSharedCheck_2432_ = !lean_is_exclusive(v___x_2398_);
if (v_isSharedCheck_2432_ == 0)
{
v___x_2427_ = v___x_2398_;
v_isShared_2428_ = v_isSharedCheck_2432_;
goto v_resetjp_2426_;
}
else
{
lean_inc(v_a_2425_);
lean_dec(v___x_2398_);
v___x_2427_ = lean_box(0);
v_isShared_2428_ = v_isSharedCheck_2432_;
goto v_resetjp_2426_;
}
v_resetjp_2426_:
{
lean_object* v___x_2430_; 
if (v_isShared_2428_ == 0)
{
v___x_2430_ = v___x_2427_;
goto v_reusejp_2429_;
}
else
{
lean_object* v_reuseFailAlloc_2431_; 
v_reuseFailAlloc_2431_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_2431_, 0, v_a_2425_);
v___x_2430_ = v_reuseFailAlloc_2431_;
goto v_reusejp_2429_;
}
v_reusejp_2429_:
{
return v___x_2430_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_mkRingVarDecl___boxed(lean_object* v_x_2433_, lean_object* v_a_2434_, lean_object* v_a_2435_, lean_object* v_a_2436_, lean_object* v_a_2437_, lean_object* v_a_2438_, lean_object* v_a_2439_, lean_object* v_a_2440_, lean_object* v_a_2441_, lean_object* v_a_2442_, lean_object* v_a_2443_, lean_object* v_a_2444_, lean_object* v_a_2445_, lean_object* v_a_2446_, lean_object* v_a_2447_){
_start:
{
lean_object* v_res_2448_; 
v_res_2448_ = l_Lean_Meta_Grind_Arith_Linear_mkRingVarDecl(v_x_2433_, v_a_2434_, v_a_2435_, v_a_2436_, v_a_2437_, v_a_2438_, v_a_2439_, v_a_2440_, v_a_2441_, v_a_2442_, v_a_2443_, v_a_2444_, v_a_2445_, v_a_2446_);
lean_dec(v_a_2446_);
lean_dec_ref(v_a_2445_);
lean_dec(v_a_2444_);
lean_dec_ref(v_a_2443_);
lean_dec(v_a_2442_);
lean_dec_ref(v_a_2441_);
lean_dec(v_a_2440_);
lean_dec_ref(v_a_2439_);
lean_dec(v_a_2438_);
lean_dec(v_a_2437_);
lean_dec(v_a_2436_);
lean_dec(v_a_2435_);
lean_dec_ref(v_a_2434_);
return v_res_2448_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___lam__0(lean_object* v___x_2449_, lean_object* v_p_2450_){
_start:
{
lean_object* v___x_2451_; lean_object* v___x_2452_; 
v___x_2451_ = l_Lean_Grind_Linarith_Poly_renameVars(v_p_2450_, v___x_2449_);
v___x_2452_ = l_Lean_Meta_Grind_Arith_Linear_ofPoly(v___x_2451_);
return v___x_2452_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___lam__0___boxed(lean_object* v___x_2453_, lean_object* v_p_2454_){
_start:
{
lean_object* v_res_2455_; 
v_res_2455_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___lam__0(v___x_2453_, v_p_2454_);
lean_dec_ref(v___x_2453_);
return v_res_2455_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___lam__1(lean_object* v___x_2456_, lean_object* v_e_2457_){
_start:
{
lean_object* v___x_2458_; lean_object* v___x_2459_; 
v___x_2458_ = l_Lean_Grind_Linarith_Expr_renameVars(v_e_2457_, v___x_2456_);
v___x_2459_ = l_Lean_Meta_Grind_Arith_Linear_ofLinExpr(v___x_2458_);
return v___x_2459_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___lam__1___boxed(lean_object* v___x_2460_, lean_object* v_e_2461_){
_start:
{
lean_object* v_res_2462_; 
v_res_2462_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___lam__1(v___x_2460_, v_e_2461_);
lean_dec_ref(v___x_2460_);
return v_res_2462_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__13(lean_object* v_varPrefix_2463_, lean_object* v_toExpr_2464_, lean_object* v_varType_2465_, lean_object* v___x_2466_, lean_object* v_as_2467_, size_t v_sz_2468_, size_t v_i_2469_, lean_object* v_b_2470_){
_start:
{
uint8_t v___x_2471_; 
v___x_2471_ = lean_usize_dec_lt(v_i_2469_, v_sz_2468_);
if (v___x_2471_ == 0)
{
lean_dec_ref(v_varType_2465_);
lean_dec_ref(v_toExpr_2464_);
lean_dec(v_varPrefix_2463_);
return v_b_2470_;
}
else
{
lean_object* v_a_2472_; lean_object* v_fst_2473_; lean_object* v_fst_2474_; lean_object* v_snd_2475_; lean_object* v___x_2477_; uint8_t v_isShared_2478_; uint8_t v_isSharedCheck_2492_; 
v_a_2472_ = lean_array_uget_borrowed(v_as_2467_, v_i_2469_);
v_fst_2473_ = lean_ctor_get(v_a_2472_, 0);
v_fst_2474_ = lean_ctor_get(v_b_2470_, 0);
v_snd_2475_ = lean_ctor_get(v_b_2470_, 1);
v_isSharedCheck_2492_ = !lean_is_exclusive(v_b_2470_);
if (v_isSharedCheck_2492_ == 0)
{
v___x_2477_ = v_b_2470_;
v_isShared_2478_ = v_isSharedCheck_2492_;
goto v_resetjp_2476_;
}
else
{
lean_inc(v_snd_2475_);
lean_inc(v_fst_2474_);
lean_dec(v_b_2470_);
v___x_2477_ = lean_box(0);
v_isShared_2478_ = v_isSharedCheck_2492_;
goto v_resetjp_2476_;
}
v_resetjp_2476_:
{
lean_object* v___x_2479_; uint8_t v___x_2480_; lean_object* v___x_2481_; lean_object* v___x_2482_; lean_object* v___x_2483_; lean_object* v___x_2484_; lean_object* v___x_2485_; lean_object* v___x_2487_; 
v___x_2479_ = lean_unsigned_to_nat(0u);
v___x_2480_ = lean_nat_dec_eq(v___x_2466_, v___x_2479_);
lean_inc(v_snd_2475_);
lean_inc(v_varPrefix_2463_);
v___x_2481_ = lean_name_append_index_after(v_varPrefix_2463_, v_snd_2475_);
lean_inc_ref(v_toExpr_2464_);
lean_inc(v_fst_2473_);
v___x_2482_ = lean_apply_1(v_toExpr_2464_, v_fst_2473_);
lean_inc_ref(v_varType_2465_);
v___x_2483_ = l_Lean_Expr_letE___override(v___x_2481_, v_varType_2465_, v___x_2482_, v_fst_2474_, v___x_2480_);
v___x_2484_ = lean_unsigned_to_nat(1u);
v___x_2485_ = lean_nat_sub(v_snd_2475_, v___x_2484_);
lean_dec(v_snd_2475_);
if (v_isShared_2478_ == 0)
{
lean_ctor_set(v___x_2477_, 1, v___x_2485_);
lean_ctor_set(v___x_2477_, 0, v___x_2483_);
v___x_2487_ = v___x_2477_;
goto v_reusejp_2486_;
}
else
{
lean_object* v_reuseFailAlloc_2491_; 
v_reuseFailAlloc_2491_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2491_, 0, v___x_2483_);
lean_ctor_set(v_reuseFailAlloc_2491_, 1, v___x_2485_);
v___x_2487_ = v_reuseFailAlloc_2491_;
goto v_reusejp_2486_;
}
v_reusejp_2486_:
{
size_t v___x_2488_; size_t v___x_2489_; 
v___x_2488_ = ((size_t)1ULL);
v___x_2489_ = lean_usize_add(v_i_2469_, v___x_2488_);
v_i_2469_ = v___x_2489_;
v_b_2470_ = v___x_2487_;
goto _start;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__13___boxed(lean_object* v_varPrefix_2493_, lean_object* v_toExpr_2494_, lean_object* v_varType_2495_, lean_object* v___x_2496_, lean_object* v_as_2497_, lean_object* v_sz_2498_, lean_object* v_i_2499_, lean_object* v_b_2500_){
_start:
{
size_t v_sz_boxed_2501_; size_t v_i_boxed_2502_; lean_object* v_res_2503_; 
v_sz_boxed_2501_ = lean_unbox_usize(v_sz_2498_);
lean_dec(v_sz_2498_);
v_i_boxed_2502_ = lean_unbox_usize(v_i_2499_);
lean_dec(v_i_2499_);
v_res_2503_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__13(v_varPrefix_2493_, v_toExpr_2494_, v_varType_2495_, v___x_2496_, v_as_2497_, v_sz_boxed_2501_, v_i_boxed_2502_, v_b_2500_);
lean_dec_ref(v_as_2497_);
lean_dec(v___x_2496_);
return v_res_2503_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__14(lean_object* v_x_2504_, lean_object* v_x_2505_){
_start:
{
if (lean_obj_tag(v_x_2505_) == 0)
{
return v_x_2504_;
}
else
{
lean_object* v_key_2506_; lean_object* v_value_2507_; lean_object* v_tail_2508_; lean_object* v___x_2509_; lean_object* v___x_2510_; 
v_key_2506_ = lean_ctor_get(v_x_2505_, 0);
v_value_2507_ = lean_ctor_get(v_x_2505_, 1);
v_tail_2508_ = lean_ctor_get(v_x_2505_, 2);
lean_inc(v_value_2507_);
lean_inc(v_key_2506_);
v___x_2509_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2509_, 0, v_key_2506_);
lean_ctor_set(v___x_2509_, 1, v_value_2507_);
v___x_2510_ = lean_array_push(v_x_2504_, v___x_2509_);
v_x_2504_ = v___x_2510_;
v_x_2505_ = v_tail_2508_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__14___boxed(lean_object* v_x_2512_, lean_object* v_x_2513_){
_start:
{
lean_object* v_res_2514_; 
v_res_2514_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__14(v_x_2512_, v_x_2513_);
lean_dec(v_x_2513_);
return v_res_2514_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__15(lean_object* v_as_2515_, size_t v_i_2516_, size_t v_stop_2517_, lean_object* v_b_2518_){
_start:
{
uint8_t v___x_2519_; 
v___x_2519_ = lean_usize_dec_eq(v_i_2516_, v_stop_2517_);
if (v___x_2519_ == 0)
{
lean_object* v___x_2520_; lean_object* v___x_2521_; size_t v___x_2522_; size_t v___x_2523_; 
v___x_2520_ = lean_array_uget_borrowed(v_as_2515_, v_i_2516_);
v___x_2521_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__14(v_b_2518_, v___x_2520_);
v___x_2522_ = ((size_t)1ULL);
v___x_2523_ = lean_usize_add(v_i_2516_, v___x_2522_);
v_i_2516_ = v___x_2523_;
v_b_2518_ = v___x_2521_;
goto _start;
}
else
{
return v_b_2518_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__15___boxed(lean_object* v_as_2525_, lean_object* v_i_2526_, lean_object* v_stop_2527_, lean_object* v_b_2528_){
_start:
{
size_t v_i_boxed_2529_; size_t v_stop_boxed_2530_; lean_object* v_res_2531_; 
v_i_boxed_2529_ = lean_unbox_usize(v_i_2526_);
lean_dec(v_i_2526_);
v_stop_boxed_2530_ = lean_unbox_usize(v_stop_2527_);
lean_dec(v_stop_2527_);
v_res_2531_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__15(v_as_2525_, v_i_boxed_2529_, v_stop_boxed_2530_, v_b_2528_);
lean_dec_ref(v_as_2525_);
return v_res_2531_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__12(size_t v_sz_2532_, size_t v_i_2533_, lean_object* v_bs_2534_){
_start:
{
uint8_t v___x_2535_; 
v___x_2535_ = lean_usize_dec_lt(v_i_2533_, v_sz_2532_);
if (v___x_2535_ == 0)
{
return v_bs_2534_;
}
else
{
lean_object* v_v_2536_; lean_object* v_snd_2537_; lean_object* v___x_2538_; lean_object* v_bs_x27_2539_; size_t v___x_2540_; size_t v___x_2541_; lean_object* v___x_2542_; 
v_v_2536_ = lean_array_uget_borrowed(v_bs_2534_, v_i_2533_);
v_snd_2537_ = lean_ctor_get(v_v_2536_, 1);
lean_inc(v_snd_2537_);
v___x_2538_ = lean_unsigned_to_nat(0u);
v_bs_x27_2539_ = lean_array_uset(v_bs_2534_, v_i_2533_, v___x_2538_);
v___x_2540_ = ((size_t)1ULL);
v___x_2541_ = lean_usize_add(v_i_2533_, v___x_2540_);
v___x_2542_ = lean_array_uset(v_bs_x27_2539_, v_i_2533_, v_snd_2537_);
v_i_2533_ = v___x_2541_;
v_bs_2534_ = v___x_2542_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__12___boxed(lean_object* v_sz_2544_, lean_object* v_i_2545_, lean_object* v_bs_2546_){
_start:
{
size_t v_sz_boxed_2547_; size_t v_i_boxed_2548_; lean_object* v_res_2549_; 
v_sz_boxed_2547_ = lean_unbox_usize(v_sz_2544_);
lean_dec(v_sz_2544_);
v_i_boxed_2548_ = lean_unbox_usize(v_i_2545_);
lean_dec(v_i_2545_);
v_res_2549_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__12(v_sz_boxed_2547_, v_i_boxed_2548_, v_bs_2546_);
return v_res_2549_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6(lean_object* v_m_2550_, lean_object* v_e_2551_, lean_object* v_varPrefix_2552_, lean_object* v_varType_2553_, lean_object* v_toExpr_2554_){
_start:
{
lean_object* v_size_2555_; lean_object* v_buckets_2556_; lean_object* v___x_2558_; uint8_t v_isShared_2559_; uint8_t v_isSharedCheck_2586_; 
v_size_2555_ = lean_ctor_get(v_m_2550_, 0);
v_buckets_2556_ = lean_ctor_get(v_m_2550_, 1);
v_isSharedCheck_2586_ = !lean_is_exclusive(v_m_2550_);
if (v_isSharedCheck_2586_ == 0)
{
v___x_2558_ = v_m_2550_;
v_isShared_2559_ = v_isSharedCheck_2586_;
goto v_resetjp_2557_;
}
else
{
lean_inc(v_buckets_2556_);
lean_inc(v_size_2555_);
lean_dec(v_m_2550_);
v___x_2558_ = lean_box(0);
v_isShared_2559_ = v_isSharedCheck_2586_;
goto v_resetjp_2557_;
}
v_resetjp_2557_:
{
lean_object* v___y_2561_; lean_object* v___x_2574_; uint8_t v___x_2575_; 
v___x_2574_ = lean_unsigned_to_nat(0u);
v___x_2575_ = lean_nat_dec_eq(v_size_2555_, v___x_2574_);
if (v___x_2575_ == 0)
{
lean_object* v___x_2576_; lean_object* v___x_2577_; uint8_t v___x_2578_; 
v___x_2576_ = lean_mk_empty_array_with_capacity(v_size_2555_);
v___x_2577_ = lean_array_get_size(v_buckets_2556_);
v___x_2578_ = lean_nat_dec_lt(v___x_2574_, v___x_2577_);
if (v___x_2578_ == 0)
{
lean_dec_ref(v_buckets_2556_);
v___y_2561_ = v___x_2576_;
goto v___jp_2560_;
}
else
{
uint8_t v___x_2579_; 
v___x_2579_ = lean_nat_dec_le(v___x_2577_, v___x_2577_);
if (v___x_2579_ == 0)
{
if (v___x_2578_ == 0)
{
lean_dec_ref(v_buckets_2556_);
v___y_2561_ = v___x_2576_;
goto v___jp_2560_;
}
else
{
size_t v___x_2580_; size_t v___x_2581_; lean_object* v___x_2582_; 
v___x_2580_ = ((size_t)0ULL);
v___x_2581_ = lean_usize_of_nat(v___x_2577_);
v___x_2582_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__15(v_buckets_2556_, v___x_2580_, v___x_2581_, v___x_2576_);
lean_dec_ref(v_buckets_2556_);
v___y_2561_ = v___x_2582_;
goto v___jp_2560_;
}
}
else
{
size_t v___x_2583_; size_t v___x_2584_; lean_object* v___x_2585_; 
v___x_2583_ = ((size_t)0ULL);
v___x_2584_ = lean_usize_of_nat(v___x_2577_);
v___x_2585_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__15(v_buckets_2556_, v___x_2583_, v___x_2584_, v___x_2576_);
lean_dec_ref(v_buckets_2556_);
v___y_2561_ = v___x_2585_;
goto v___jp_2560_;
}
}
}
else
{
lean_del_object(v___x_2558_);
lean_dec_ref(v_buckets_2556_);
lean_dec(v_size_2555_);
lean_dec_ref(v_toExpr_2554_);
lean_dec_ref(v_varType_2553_);
lean_dec(v_varPrefix_2552_);
lean_inc_ref(v_e_2551_);
return v_e_2551_;
}
v___jp_2560_:
{
size_t v_sz_2562_; size_t v___x_2563_; lean_object* v___x_2564_; lean_object* v_e_2565_; lean_object* v_i_2566_; lean_object* v___x_2567_; lean_object* v___x_2569_; 
v_sz_2562_ = lean_array_size(v___y_2561_);
v___x_2563_ = ((size_t)0ULL);
lean_inc_ref(v___y_2561_);
v___x_2564_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__12(v_sz_2562_, v___x_2563_, v___y_2561_);
v_e_2565_ = lean_expr_abstract(v_e_2551_, v___x_2564_);
lean_dec_ref(v___x_2564_);
v_i_2566_ = lean_array_get_size(v___y_2561_);
v___x_2567_ = l_Array_reverse___redArg(v___y_2561_);
if (v_isShared_2559_ == 0)
{
lean_ctor_set(v___x_2558_, 1, v_i_2566_);
lean_ctor_set(v___x_2558_, 0, v_e_2565_);
v___x_2569_ = v___x_2558_;
goto v_reusejp_2568_;
}
else
{
lean_object* v_reuseFailAlloc_2573_; 
v_reuseFailAlloc_2573_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2573_, 0, v_e_2565_);
lean_ctor_set(v_reuseFailAlloc_2573_, 1, v_i_2566_);
v___x_2569_ = v_reuseFailAlloc_2573_;
goto v_reusejp_2568_;
}
v_reusejp_2568_:
{
size_t v_sz_2570_; lean_object* v___x_2571_; lean_object* v_fst_2572_; 
v_sz_2570_ = lean_array_size(v___x_2567_);
v___x_2571_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6_spec__13(v_varPrefix_2552_, v_toExpr_2554_, v_varType_2553_, v_size_2555_, v___x_2567_, v_sz_2570_, v___x_2563_, v___x_2569_);
lean_dec_ref(v___x_2567_);
lean_dec(v_size_2555_);
v_fst_2572_ = lean_ctor_get(v___x_2571_, 0);
lean_inc(v_fst_2572_);
lean_dec_ref(v___x_2571_);
return v_fst_2572_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6___boxed(lean_object* v_m_2587_, lean_object* v_e_2588_, lean_object* v_varPrefix_2589_, lean_object* v_varType_2590_, lean_object* v_toExpr_2591_){
_start:
{
lean_object* v_res_2592_; 
v_res_2592_ = l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6(v_m_2587_, v_e_2588_, v_varPrefix_2589_, v_varType_2590_, v_toExpr_2591_);
lean_dec_ref(v_e_2588_);
return v_res_2592_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__5(size_t v_sz_2593_, size_t v_i_2594_, lean_object* v_bs_2595_){
_start:
{
uint8_t v___x_2596_; 
v___x_2596_ = lean_usize_dec_lt(v_i_2594_, v_sz_2593_);
if (v___x_2596_ == 0)
{
return v_bs_2595_;
}
else
{
lean_object* v_v_2597_; lean_object* v___x_2598_; lean_object* v_bs_x27_2599_; lean_object* v___x_2600_; size_t v___x_2601_; size_t v___x_2602_; lean_object* v___x_2603_; 
v_v_2597_ = lean_array_uget(v_bs_2595_, v_i_2594_);
v___x_2598_ = lean_unsigned_to_nat(0u);
v_bs_x27_2599_ = lean_array_uset(v_bs_2595_, v_i_2594_, v___x_2598_);
v___x_2600_ = l_Lean_mkNatLit(v_v_2597_);
v___x_2601_ = ((size_t)1ULL);
v___x_2602_ = lean_usize_add(v_i_2594_, v___x_2601_);
v___x_2603_ = lean_array_uset(v_bs_x27_2599_, v_i_2594_, v___x_2600_);
v_i_2594_ = v___x_2602_;
v_bs_2595_ = v___x_2603_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__5___boxed(lean_object* v_sz_2605_, lean_object* v_i_2606_, lean_object* v_bs_2607_){
_start:
{
size_t v_sz_boxed_2608_; size_t v_i_boxed_2609_; lean_object* v_res_2610_; 
v_sz_boxed_2608_ = lean_unbox_usize(v_sz_2605_);
lean_dec(v_sz_2605_);
v_i_boxed_2609_ = lean_unbox_usize(v_i_2606_);
lean_dec(v_i_2606_);
v_res_2610_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__5(v_sz_boxed_2608_, v_i_boxed_2609_, v_bs_2607_);
return v_res_2610_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__3(lean_object* v___x_2611_, size_t v_sz_2612_, size_t v_i_2613_, lean_object* v_bs_2614_){
_start:
{
uint8_t v___x_2615_; 
v___x_2615_ = lean_usize_dec_lt(v_i_2613_, v_sz_2612_);
if (v___x_2615_ == 0)
{
lean_dec_ref(v___x_2611_);
return v_bs_2614_;
}
else
{
lean_object* v_size_2616_; lean_object* v_v_2617_; lean_object* v___x_2618_; lean_object* v___x_2619_; lean_object* v_bs_x27_2620_; lean_object* v___y_2622_; uint8_t v___x_2627_; 
v_size_2616_ = lean_ctor_get(v___x_2611_, 2);
v_v_2617_ = lean_array_uget(v_bs_2614_, v_i_2613_);
v___x_2618_ = l_Lean_instInhabitedExpr;
v___x_2619_ = lean_unsigned_to_nat(0u);
v_bs_x27_2620_ = lean_array_uset(v_bs_2614_, v_i_2613_, v___x_2619_);
v___x_2627_ = lean_nat_dec_lt(v_v_2617_, v_size_2616_);
if (v___x_2627_ == 0)
{
lean_object* v___x_2628_; 
lean_dec(v_v_2617_);
v___x_2628_ = l_outOfBounds___redArg(v___x_2618_);
v___y_2622_ = v___x_2628_;
goto v___jp_2621_;
}
else
{
lean_object* v___x_2629_; 
lean_inc_ref(v___x_2611_);
v___x_2629_ = l_Lean_PersistentArray_get_x21___redArg(v___x_2618_, v___x_2611_, v_v_2617_);
lean_dec(v_v_2617_);
v___y_2622_ = v___x_2629_;
goto v___jp_2621_;
}
v___jp_2621_:
{
size_t v___x_2623_; size_t v___x_2624_; lean_object* v___x_2625_; 
v___x_2623_ = ((size_t)1ULL);
v___x_2624_ = lean_usize_add(v_i_2613_, v___x_2623_);
v___x_2625_ = lean_array_uset(v_bs_x27_2620_, v_i_2613_, v___y_2622_);
v_i_2613_ = v___x_2624_;
v_bs_2614_ = v___x_2625_;
goto _start;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__3___boxed(lean_object* v___x_2630_, lean_object* v_sz_2631_, lean_object* v_i_2632_, lean_object* v_bs_2633_){
_start:
{
size_t v_sz_boxed_2634_; size_t v_i_boxed_2635_; lean_object* v_res_2636_; 
v_sz_boxed_2634_ = lean_unbox_usize(v_sz_2631_);
lean_dec(v_sz_2631_);
v_i_boxed_2635_ = lean_unbox_usize(v_i_2632_);
lean_dec(v_i_2632_);
v_res_2636_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__3(v___x_2630_, v_sz_boxed_2634_, v_i_boxed_2635_, v_bs_2633_);
return v_res_2636_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__3___redArg(lean_object* v_k_2637_, lean_object* v_a_2638_, lean_object* v_a_2639_){
_start:
{
if (lean_obj_tag(v_a_2638_) == 0)
{
lean_object* v___x_2640_; 
lean_dec_ref(v_k_2637_);
v___x_2640_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2640_, 0, v_a_2639_);
return v___x_2640_;
}
else
{
lean_object* v_key_2641_; lean_object* v_tail_2642_; lean_object* v___x_2643_; 
v_key_2641_ = lean_ctor_get(v_a_2638_, 0);
lean_inc(v_key_2641_);
v_tail_2642_ = lean_ctor_get(v_a_2638_, 2);
lean_inc(v_tail_2642_);
lean_dec_ref(v_a_2638_);
lean_inc_ref(v_k_2637_);
v___x_2643_ = lean_apply_2(v_k_2637_, v_key_2641_, v_a_2639_);
v_a_2638_ = v_tail_2642_;
v_a_2639_ = v___x_2643_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__4___redArg(lean_object* v_k_2645_, lean_object* v_as_2646_, size_t v_sz_2647_, size_t v_i_2648_, lean_object* v_b_2649_){
_start:
{
uint8_t v___x_2650_; 
v___x_2650_ = lean_usize_dec_lt(v_i_2648_, v_sz_2647_);
if (v___x_2650_ == 0)
{
lean_dec_ref(v_k_2645_);
return v_b_2649_;
}
else
{
lean_object* v_a_2651_; lean_object* v___x_2652_; 
v_a_2651_ = lean_array_uget_borrowed(v_as_2646_, v_i_2648_);
lean_inc(v_a_2651_);
lean_inc_ref(v_k_2645_);
v___x_2652_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__3___redArg(v_k_2645_, v_a_2651_, v_b_2649_);
if (lean_obj_tag(v___x_2652_) == 0)
{
lean_object* v_a_2653_; 
lean_dec_ref(v_k_2645_);
v_a_2653_ = lean_ctor_get(v___x_2652_, 0);
lean_inc(v_a_2653_);
lean_dec_ref(v___x_2652_);
return v_a_2653_;
}
else
{
lean_object* v_a_2654_; size_t v___x_2655_; size_t v___x_2656_; 
v_a_2654_ = lean_ctor_get(v___x_2652_, 0);
lean_inc(v_a_2654_);
lean_dec_ref(v___x_2652_);
v___x_2655_ = ((size_t)1ULL);
v___x_2656_ = lean_usize_add(v_i_2648_, v___x_2655_);
v_i_2648_ = v___x_2656_;
v_b_2649_ = v_a_2654_;
goto _start;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__4___redArg___boxed(lean_object* v_k_2658_, lean_object* v_as_2659_, lean_object* v_sz_2660_, lean_object* v_i_2661_, lean_object* v_b_2662_){
_start:
{
size_t v_sz_boxed_2663_; size_t v_i_boxed_2664_; lean_object* v_res_2665_; 
v_sz_boxed_2663_ = lean_unbox_usize(v_sz_2660_);
lean_dec(v_sz_2660_);
v_i_boxed_2664_ = lean_unbox_usize(v_i_2661_);
lean_dec(v_i_2661_);
v_res_2665_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__4___redArg(v_k_2658_, v_as_2659_, v_sz_boxed_2663_, v_i_boxed_2664_, v_b_2662_);
lean_dec_ref(v_as_2659_);
return v_res_2665_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1___redArg(lean_object* v_m_2666_, lean_object* v_k_2667_, lean_object* v_s_2668_){
_start:
{
lean_object* v_buckets_2669_; size_t v_sz_2670_; size_t v___x_2671_; lean_object* v___x_2672_; 
v_buckets_2669_ = lean_ctor_get(v_m_2666_, 1);
v_sz_2670_ = lean_array_size(v_buckets_2669_);
v___x_2671_ = ((size_t)0ULL);
v___x_2672_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__4___redArg(v_k_2667_, v_buckets_2669_, v_sz_2670_, v___x_2671_, v_s_2668_);
return v___x_2672_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1___redArg___boxed(lean_object* v_m_2673_, lean_object* v_k_2674_, lean_object* v_s_2675_){
_start:
{
lean_object* v_res_2676_; 
v_res_2676_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1___redArg(v_m_2673_, v_k_2674_, v_s_2675_);
lean_dec_ref(v_m_2673_);
return v_res_2676_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__6___redArg(lean_object* v_k_2677_, lean_object* v_a_2678_, lean_object* v_a_2679_){
_start:
{
if (lean_obj_tag(v_a_2678_) == 0)
{
lean_object* v___x_2680_; 
lean_dec_ref(v_k_2677_);
v___x_2680_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2680_, 0, v_a_2679_);
return v___x_2680_;
}
else
{
lean_object* v_key_2681_; lean_object* v_tail_2682_; lean_object* v___x_2683_; 
v_key_2681_ = lean_ctor_get(v_a_2678_, 0);
lean_inc(v_key_2681_);
v_tail_2682_ = lean_ctor_get(v_a_2678_, 2);
lean_inc(v_tail_2682_);
lean_dec_ref(v_a_2678_);
lean_inc_ref(v_k_2677_);
v___x_2683_ = lean_apply_2(v_k_2677_, v_key_2681_, v_a_2679_);
v_a_2678_ = v_tail_2682_;
v_a_2679_ = v___x_2683_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__7___redArg(lean_object* v_k_2685_, lean_object* v_as_2686_, size_t v_sz_2687_, size_t v_i_2688_, lean_object* v_b_2689_){
_start:
{
uint8_t v___x_2690_; 
v___x_2690_ = lean_usize_dec_lt(v_i_2688_, v_sz_2687_);
if (v___x_2690_ == 0)
{
lean_dec_ref(v_k_2685_);
return v_b_2689_;
}
else
{
lean_object* v_a_2691_; lean_object* v___x_2692_; 
v_a_2691_ = lean_array_uget_borrowed(v_as_2686_, v_i_2688_);
lean_inc(v_a_2691_);
lean_inc_ref(v_k_2685_);
v___x_2692_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__6___redArg(v_k_2685_, v_a_2691_, v_b_2689_);
if (lean_obj_tag(v___x_2692_) == 0)
{
lean_object* v_a_2693_; 
lean_dec_ref(v_k_2685_);
v_a_2693_ = lean_ctor_get(v___x_2692_, 0);
lean_inc(v_a_2693_);
lean_dec_ref(v___x_2692_);
return v_a_2693_;
}
else
{
lean_object* v_a_2694_; size_t v___x_2695_; size_t v___x_2696_; 
v_a_2694_ = lean_ctor_get(v___x_2692_, 0);
lean_inc(v_a_2694_);
lean_dec_ref(v___x_2692_);
v___x_2695_ = ((size_t)1ULL);
v___x_2696_ = lean_usize_add(v_i_2688_, v___x_2695_);
v_i_2688_ = v___x_2696_;
v_b_2689_ = v_a_2694_;
goto _start;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__7___redArg___boxed(lean_object* v_k_2698_, lean_object* v_as_2699_, lean_object* v_sz_2700_, lean_object* v_i_2701_, lean_object* v_b_2702_){
_start:
{
size_t v_sz_boxed_2703_; size_t v_i_boxed_2704_; lean_object* v_res_2705_; 
v_sz_boxed_2703_ = lean_unbox_usize(v_sz_2700_);
lean_dec(v_sz_2700_);
v_i_boxed_2704_ = lean_unbox_usize(v_i_2701_);
lean_dec(v_i_2701_);
v_res_2705_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__7___redArg(v_k_2698_, v_as_2699_, v_sz_boxed_2703_, v_i_boxed_2704_, v_b_2702_);
lean_dec_ref(v_as_2699_);
return v_res_2705_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2___redArg(lean_object* v_m_2706_, lean_object* v_k_2707_, lean_object* v_s_2708_){
_start:
{
lean_object* v_buckets_2709_; size_t v_sz_2710_; size_t v___x_2711_; lean_object* v___x_2712_; 
v_buckets_2709_ = lean_ctor_get(v_m_2706_, 1);
v_sz_2710_ = lean_array_size(v_buckets_2709_);
v___x_2711_ = ((size_t)0ULL);
v___x_2712_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__7___redArg(v_k_2707_, v_buckets_2709_, v_sz_2710_, v___x_2711_, v_s_2708_);
return v___x_2712_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2___redArg___boxed(lean_object* v_m_2713_, lean_object* v_k_2714_, lean_object* v_s_2715_){
_start:
{
lean_object* v_res_2716_; 
v_res_2716_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2___redArg(v_m_2713_, v_k_2714_, v_s_2715_);
lean_dec_ref(v_m_2713_);
return v_res_2716_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___closed__2(void){
_start:
{
lean_object* v___x_2720_; lean_object* v___x_2721_; lean_object* v___x_2722_; 
v___x_2720_ = lean_box(0);
v___x_2721_ = ((lean_object*)(l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___closed__1));
v___x_2722_ = l_Lean_Expr_const___override(v___x_2721_, v___x_2720_);
return v___x_2722_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4(lean_object* v___x_2723_, size_t v_sz_2724_, size_t v_i_2725_, lean_object* v_bs_2726_){
_start:
{
uint8_t v___x_2727_; 
v___x_2727_ = lean_usize_dec_lt(v_i_2725_, v_sz_2724_);
if (v___x_2727_ == 0)
{
return v_bs_2726_;
}
else
{
lean_object* v_v_2728_; lean_object* v___x_2729_; lean_object* v_bs_x27_2730_; lean_object* v___y_2732_; lean_object* v___x_2737_; 
v_v_2728_ = lean_array_uget(v_bs_2726_, v_i_2725_);
v___x_2729_ = lean_unsigned_to_nat(0u);
v_bs_x27_2730_ = lean_array_uset(v_bs_2726_, v_i_2725_, v___x_2729_);
v___x_2737_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0___redArg(v___x_2723_, v_v_2728_);
lean_dec(v_v_2728_);
if (lean_obj_tag(v___x_2737_) == 0)
{
lean_object* v___x_2738_; 
v___x_2738_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___closed__2, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___closed__2_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___closed__2);
v___y_2732_ = v___x_2738_;
goto v___jp_2731_;
}
else
{
lean_object* v_val_2739_; 
v_val_2739_ = lean_ctor_get(v___x_2737_, 0);
lean_inc(v_val_2739_);
lean_dec_ref(v___x_2737_);
v___y_2732_ = v_val_2739_;
goto v___jp_2731_;
}
v___jp_2731_:
{
size_t v___x_2733_; size_t v___x_2734_; lean_object* v___x_2735_; 
v___x_2733_ = ((size_t)1ULL);
v___x_2734_ = lean_usize_add(v_i_2725_, v___x_2733_);
v___x_2735_ = lean_array_uset(v_bs_x27_2730_, v_i_2725_, v___y_2732_);
v_i_2725_ = v___x_2734_;
v_bs_2726_ = v___x_2735_;
goto _start;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4___boxed(lean_object* v___x_2740_, lean_object* v_sz_2741_, lean_object* v_i_2742_, lean_object* v_bs_2743_){
_start:
{
size_t v_sz_boxed_2744_; size_t v_i_boxed_2745_; lean_object* v_res_2746_; 
v_sz_boxed_2744_ = lean_unbox_usize(v_sz_2741_);
lean_dec(v_sz_2741_);
v_i_boxed_2745_ = lean_unbox_usize(v_i_2742_);
lean_dec(v_i_2742_);
v_res_2746_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4(v___x_2740_, v_sz_boxed_2744_, v_i_boxed_2745_, v_bs_2743_);
lean_dec_ref(v___x_2740_);
return v_res_2746_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__0___redArg(lean_object* v_k_2747_, lean_object* v_a_2748_, lean_object* v_a_2749_){
_start:
{
if (lean_obj_tag(v_a_2748_) == 0)
{
lean_object* v___x_2750_; 
lean_dec_ref(v_k_2747_);
v___x_2750_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_2750_, 0, v_a_2749_);
return v___x_2750_;
}
else
{
lean_object* v_key_2751_; lean_object* v_tail_2752_; lean_object* v___x_2753_; 
v_key_2751_ = lean_ctor_get(v_a_2748_, 0);
lean_inc(v_key_2751_);
v_tail_2752_ = lean_ctor_get(v_a_2748_, 2);
lean_inc(v_tail_2752_);
lean_dec_ref(v_a_2748_);
lean_inc_ref(v_k_2747_);
v___x_2753_ = lean_apply_2(v_k_2747_, v_key_2751_, v_a_2749_);
v_a_2748_ = v_tail_2752_;
v_a_2749_ = v___x_2753_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__1___redArg(lean_object* v_k_2755_, lean_object* v_as_2756_, size_t v_sz_2757_, size_t v_i_2758_, lean_object* v_b_2759_){
_start:
{
uint8_t v___x_2760_; 
v___x_2760_ = lean_usize_dec_lt(v_i_2758_, v_sz_2757_);
if (v___x_2760_ == 0)
{
lean_dec_ref(v_k_2755_);
return v_b_2759_;
}
else
{
lean_object* v_a_2761_; lean_object* v___x_2762_; 
v_a_2761_ = lean_array_uget_borrowed(v_as_2756_, v_i_2758_);
lean_inc(v_a_2761_);
lean_inc_ref(v_k_2755_);
v___x_2762_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__0___redArg(v_k_2755_, v_a_2761_, v_b_2759_);
if (lean_obj_tag(v___x_2762_) == 0)
{
lean_object* v_a_2763_; 
lean_dec_ref(v_k_2755_);
v_a_2763_ = lean_ctor_get(v___x_2762_, 0);
lean_inc(v_a_2763_);
lean_dec_ref(v___x_2762_);
return v_a_2763_;
}
else
{
lean_object* v_a_2764_; size_t v___x_2765_; size_t v___x_2766_; 
v_a_2764_ = lean_ctor_get(v___x_2762_, 0);
lean_inc(v_a_2764_);
lean_dec_ref(v___x_2762_);
v___x_2765_ = ((size_t)1ULL);
v___x_2766_ = lean_usize_add(v_i_2758_, v___x_2765_);
v_i_2758_ = v___x_2766_;
v_b_2759_ = v_a_2764_;
goto _start;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__1___redArg___boxed(lean_object* v_k_2768_, lean_object* v_as_2769_, lean_object* v_sz_2770_, lean_object* v_i_2771_, lean_object* v_b_2772_){
_start:
{
size_t v_sz_boxed_2773_; size_t v_i_boxed_2774_; lean_object* v_res_2775_; 
v_sz_boxed_2773_ = lean_unbox_usize(v_sz_2770_);
lean_dec(v_sz_2770_);
v_i_boxed_2774_ = lean_unbox_usize(v_i_2771_);
lean_dec(v_i_2771_);
v_res_2775_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__1___redArg(v_k_2768_, v_as_2769_, v_sz_boxed_2773_, v_i_boxed_2774_, v_b_2772_);
lean_dec_ref(v_as_2769_);
return v_res_2775_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0___redArg(lean_object* v_m_2776_, lean_object* v_k_2777_, lean_object* v_s_2778_){
_start:
{
lean_object* v_buckets_2779_; size_t v_sz_2780_; size_t v___x_2781_; lean_object* v___x_2782_; 
v_buckets_2779_ = lean_ctor_get(v_m_2776_, 1);
v_sz_2780_ = lean_array_size(v_buckets_2779_);
v___x_2781_ = ((size_t)0ULL);
v___x_2782_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__1___redArg(v_k_2777_, v_buckets_2779_, v_sz_2780_, v___x_2781_, v_s_2778_);
return v___x_2782_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0___redArg___boxed(lean_object* v_m_2783_, lean_object* v_k_2784_, lean_object* v_s_2785_){
_start:
{
lean_object* v_res_2786_; 
v_res_2786_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0___redArg(v_m_2783_, v_k_2784_, v_s_2785_);
lean_dec_ref(v_m_2783_);
return v_res_2786_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__17(size_t v_sz_2787_, size_t v_i_2788_, lean_object* v_bs_2789_){
_start:
{
uint8_t v___x_2790_; 
v___x_2790_ = lean_usize_dec_lt(v_i_2788_, v_sz_2787_);
if (v___x_2790_ == 0)
{
return v_bs_2789_;
}
else
{
lean_object* v_v_2791_; lean_object* v_snd_2792_; lean_object* v___x_2793_; lean_object* v_bs_x27_2794_; size_t v___x_2795_; size_t v___x_2796_; lean_object* v___x_2797_; 
v_v_2791_ = lean_array_uget_borrowed(v_bs_2789_, v_i_2788_);
v_snd_2792_ = lean_ctor_get(v_v_2791_, 1);
lean_inc(v_snd_2792_);
v___x_2793_ = lean_unsigned_to_nat(0u);
v_bs_x27_2794_ = lean_array_uset(v_bs_2789_, v_i_2788_, v___x_2793_);
v___x_2795_ = ((size_t)1ULL);
v___x_2796_ = lean_usize_add(v_i_2788_, v___x_2795_);
v___x_2797_ = lean_array_uset(v_bs_x27_2794_, v_i_2788_, v_snd_2792_);
v_i_2788_ = v___x_2796_;
v_bs_2789_ = v___x_2797_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__17___boxed(lean_object* v_sz_2799_, lean_object* v_i_2800_, lean_object* v_bs_2801_){
_start:
{
size_t v_sz_boxed_2802_; size_t v_i_boxed_2803_; lean_object* v_res_2804_; 
v_sz_boxed_2802_ = lean_unbox_usize(v_sz_2799_);
lean_dec(v_sz_2799_);
v_i_boxed_2803_ = lean_unbox_usize(v_i_2800_);
lean_dec(v_i_2800_);
v_res_2804_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__17(v_sz_boxed_2802_, v_i_boxed_2803_, v_bs_2801_);
return v_res_2804_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__19(lean_object* v_x_2805_, lean_object* v_x_2806_){
_start:
{
if (lean_obj_tag(v_x_2806_) == 0)
{
return v_x_2805_;
}
else
{
lean_object* v_key_2807_; lean_object* v_value_2808_; lean_object* v_tail_2809_; lean_object* v___x_2810_; lean_object* v___x_2811_; 
v_key_2807_ = lean_ctor_get(v_x_2806_, 0);
v_value_2808_ = lean_ctor_get(v_x_2806_, 1);
v_tail_2809_ = lean_ctor_get(v_x_2806_, 2);
lean_inc(v_value_2808_);
lean_inc(v_key_2807_);
v___x_2810_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2810_, 0, v_key_2807_);
lean_ctor_set(v___x_2810_, 1, v_value_2808_);
v___x_2811_ = lean_array_push(v_x_2805_, v___x_2810_);
v_x_2805_ = v___x_2811_;
v_x_2806_ = v_tail_2809_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__19___boxed(lean_object* v_x_2813_, lean_object* v_x_2814_){
_start:
{
lean_object* v_res_2815_; 
v_res_2815_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__19(v_x_2813_, v_x_2814_);
lean_dec(v_x_2814_);
return v_res_2815_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__20(lean_object* v_as_2816_, size_t v_i_2817_, size_t v_stop_2818_, lean_object* v_b_2819_){
_start:
{
uint8_t v___x_2820_; 
v___x_2820_ = lean_usize_dec_eq(v_i_2817_, v_stop_2818_);
if (v___x_2820_ == 0)
{
lean_object* v___x_2821_; lean_object* v___x_2822_; size_t v___x_2823_; size_t v___x_2824_; 
v___x_2821_ = lean_array_uget_borrowed(v_as_2816_, v_i_2817_);
v___x_2822_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__19(v_b_2819_, v___x_2821_);
v___x_2823_ = ((size_t)1ULL);
v___x_2824_ = lean_usize_add(v_i_2817_, v___x_2823_);
v_i_2817_ = v___x_2824_;
v_b_2819_ = v___x_2822_;
goto _start;
}
else
{
return v_b_2819_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__20___boxed(lean_object* v_as_2826_, lean_object* v_i_2827_, lean_object* v_stop_2828_, lean_object* v_b_2829_){
_start:
{
size_t v_i_boxed_2830_; size_t v_stop_boxed_2831_; lean_object* v_res_2832_; 
v_i_boxed_2830_ = lean_unbox_usize(v_i_2827_);
lean_dec(v_i_2827_);
v_stop_boxed_2831_ = lean_unbox_usize(v_stop_2828_);
lean_dec(v_stop_2828_);
v_res_2832_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__20(v_as_2826_, v_i_boxed_2830_, v_stop_boxed_2831_, v_b_2829_);
lean_dec_ref(v_as_2826_);
return v_res_2832_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__18(lean_object* v_varPrefix_2833_, lean_object* v_toExpr_2834_, lean_object* v_varType_2835_, lean_object* v___x_2836_, lean_object* v_as_2837_, size_t v_sz_2838_, size_t v_i_2839_, lean_object* v_b_2840_){
_start:
{
uint8_t v___x_2841_; 
v___x_2841_ = lean_usize_dec_lt(v_i_2839_, v_sz_2838_);
if (v___x_2841_ == 0)
{
lean_dec_ref(v_varType_2835_);
lean_dec_ref(v_toExpr_2834_);
lean_dec(v_varPrefix_2833_);
return v_b_2840_;
}
else
{
lean_object* v_a_2842_; lean_object* v_fst_2843_; lean_object* v_fst_2844_; lean_object* v_snd_2845_; lean_object* v___x_2847_; uint8_t v_isShared_2848_; uint8_t v_isSharedCheck_2862_; 
v_a_2842_ = lean_array_uget_borrowed(v_as_2837_, v_i_2839_);
v_fst_2843_ = lean_ctor_get(v_a_2842_, 0);
v_fst_2844_ = lean_ctor_get(v_b_2840_, 0);
v_snd_2845_ = lean_ctor_get(v_b_2840_, 1);
v_isSharedCheck_2862_ = !lean_is_exclusive(v_b_2840_);
if (v_isSharedCheck_2862_ == 0)
{
v___x_2847_ = v_b_2840_;
v_isShared_2848_ = v_isSharedCheck_2862_;
goto v_resetjp_2846_;
}
else
{
lean_inc(v_snd_2845_);
lean_inc(v_fst_2844_);
lean_dec(v_b_2840_);
v___x_2847_ = lean_box(0);
v_isShared_2848_ = v_isSharedCheck_2862_;
goto v_resetjp_2846_;
}
v_resetjp_2846_:
{
lean_object* v___x_2849_; uint8_t v___x_2850_; lean_object* v___x_2851_; lean_object* v___x_2852_; lean_object* v___x_2853_; lean_object* v___x_2854_; lean_object* v___x_2855_; lean_object* v___x_2857_; 
v___x_2849_ = lean_unsigned_to_nat(0u);
v___x_2850_ = lean_nat_dec_eq(v___x_2836_, v___x_2849_);
lean_inc(v_snd_2845_);
lean_inc(v_varPrefix_2833_);
v___x_2851_ = lean_name_append_index_after(v_varPrefix_2833_, v_snd_2845_);
lean_inc_ref(v_toExpr_2834_);
lean_inc(v_fst_2843_);
v___x_2852_ = lean_apply_1(v_toExpr_2834_, v_fst_2843_);
lean_inc_ref(v_varType_2835_);
v___x_2853_ = l_Lean_Expr_letE___override(v___x_2851_, v_varType_2835_, v___x_2852_, v_fst_2844_, v___x_2850_);
v___x_2854_ = lean_unsigned_to_nat(1u);
v___x_2855_ = lean_nat_sub(v_snd_2845_, v___x_2854_);
lean_dec(v_snd_2845_);
if (v_isShared_2848_ == 0)
{
lean_ctor_set(v___x_2847_, 1, v___x_2855_);
lean_ctor_set(v___x_2847_, 0, v___x_2853_);
v___x_2857_ = v___x_2847_;
goto v_reusejp_2856_;
}
else
{
lean_object* v_reuseFailAlloc_2861_; 
v_reuseFailAlloc_2861_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2861_, 0, v___x_2853_);
lean_ctor_set(v_reuseFailAlloc_2861_, 1, v___x_2855_);
v___x_2857_ = v_reuseFailAlloc_2861_;
goto v_reusejp_2856_;
}
v_reusejp_2856_:
{
size_t v___x_2858_; size_t v___x_2859_; 
v___x_2858_ = ((size_t)1ULL);
v___x_2859_ = lean_usize_add(v_i_2839_, v___x_2858_);
v_i_2839_ = v___x_2859_;
v_b_2840_ = v___x_2857_;
goto _start;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__18___boxed(lean_object* v_varPrefix_2863_, lean_object* v_toExpr_2864_, lean_object* v_varType_2865_, lean_object* v___x_2866_, lean_object* v_as_2867_, lean_object* v_sz_2868_, lean_object* v_i_2869_, lean_object* v_b_2870_){
_start:
{
size_t v_sz_boxed_2871_; size_t v_i_boxed_2872_; lean_object* v_res_2873_; 
v_sz_boxed_2871_ = lean_unbox_usize(v_sz_2868_);
lean_dec(v_sz_2868_);
v_i_boxed_2872_ = lean_unbox_usize(v_i_2869_);
lean_dec(v_i_2869_);
v_res_2873_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__18(v_varPrefix_2863_, v_toExpr_2864_, v_varType_2865_, v___x_2866_, v_as_2867_, v_sz_boxed_2871_, v_i_boxed_2872_, v_b_2870_);
lean_dec_ref(v_as_2867_);
lean_dec(v___x_2866_);
return v_res_2873_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7(lean_object* v_m_2874_, lean_object* v_e_2875_, lean_object* v_varPrefix_2876_, lean_object* v_varType_2877_, lean_object* v_toExpr_2878_){
_start:
{
lean_object* v_size_2879_; lean_object* v_buckets_2880_; lean_object* v___x_2882_; uint8_t v_isShared_2883_; uint8_t v_isSharedCheck_2910_; 
v_size_2879_ = lean_ctor_get(v_m_2874_, 0);
v_buckets_2880_ = lean_ctor_get(v_m_2874_, 1);
v_isSharedCheck_2910_ = !lean_is_exclusive(v_m_2874_);
if (v_isSharedCheck_2910_ == 0)
{
v___x_2882_ = v_m_2874_;
v_isShared_2883_ = v_isSharedCheck_2910_;
goto v_resetjp_2881_;
}
else
{
lean_inc(v_buckets_2880_);
lean_inc(v_size_2879_);
lean_dec(v_m_2874_);
v___x_2882_ = lean_box(0);
v_isShared_2883_ = v_isSharedCheck_2910_;
goto v_resetjp_2881_;
}
v_resetjp_2881_:
{
lean_object* v___y_2885_; lean_object* v___x_2898_; uint8_t v___x_2899_; 
v___x_2898_ = lean_unsigned_to_nat(0u);
v___x_2899_ = lean_nat_dec_eq(v_size_2879_, v___x_2898_);
if (v___x_2899_ == 0)
{
lean_object* v___x_2900_; lean_object* v___x_2901_; uint8_t v___x_2902_; 
v___x_2900_ = lean_mk_empty_array_with_capacity(v_size_2879_);
v___x_2901_ = lean_array_get_size(v_buckets_2880_);
v___x_2902_ = lean_nat_dec_lt(v___x_2898_, v___x_2901_);
if (v___x_2902_ == 0)
{
lean_dec_ref(v_buckets_2880_);
v___y_2885_ = v___x_2900_;
goto v___jp_2884_;
}
else
{
uint8_t v___x_2903_; 
v___x_2903_ = lean_nat_dec_le(v___x_2901_, v___x_2901_);
if (v___x_2903_ == 0)
{
if (v___x_2902_ == 0)
{
lean_dec_ref(v_buckets_2880_);
v___y_2885_ = v___x_2900_;
goto v___jp_2884_;
}
else
{
size_t v___x_2904_; size_t v___x_2905_; lean_object* v___x_2906_; 
v___x_2904_ = ((size_t)0ULL);
v___x_2905_ = lean_usize_of_nat(v___x_2901_);
v___x_2906_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__20(v_buckets_2880_, v___x_2904_, v___x_2905_, v___x_2900_);
lean_dec_ref(v_buckets_2880_);
v___y_2885_ = v___x_2906_;
goto v___jp_2884_;
}
}
else
{
size_t v___x_2907_; size_t v___x_2908_; lean_object* v___x_2909_; 
v___x_2907_ = ((size_t)0ULL);
v___x_2908_ = lean_usize_of_nat(v___x_2901_);
v___x_2909_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__20(v_buckets_2880_, v___x_2907_, v___x_2908_, v___x_2900_);
lean_dec_ref(v_buckets_2880_);
v___y_2885_ = v___x_2909_;
goto v___jp_2884_;
}
}
}
else
{
lean_del_object(v___x_2882_);
lean_dec_ref(v_buckets_2880_);
lean_dec(v_size_2879_);
lean_dec_ref(v_toExpr_2878_);
lean_dec_ref(v_varType_2877_);
lean_dec(v_varPrefix_2876_);
lean_inc_ref(v_e_2875_);
return v_e_2875_;
}
v___jp_2884_:
{
size_t v_sz_2886_; size_t v___x_2887_; lean_object* v___x_2888_; lean_object* v_e_2889_; lean_object* v_i_2890_; lean_object* v___x_2891_; lean_object* v___x_2893_; 
v_sz_2886_ = lean_array_size(v___y_2885_);
v___x_2887_ = ((size_t)0ULL);
lean_inc_ref(v___y_2885_);
v___x_2888_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__17(v_sz_2886_, v___x_2887_, v___y_2885_);
v_e_2889_ = lean_expr_abstract(v_e_2875_, v___x_2888_);
lean_dec_ref(v___x_2888_);
v_i_2890_ = lean_array_get_size(v___y_2885_);
v___x_2891_ = l_Array_reverse___redArg(v___y_2885_);
if (v_isShared_2883_ == 0)
{
lean_ctor_set(v___x_2882_, 1, v_i_2890_);
lean_ctor_set(v___x_2882_, 0, v_e_2889_);
v___x_2893_ = v___x_2882_;
goto v_reusejp_2892_;
}
else
{
lean_object* v_reuseFailAlloc_2897_; 
v_reuseFailAlloc_2897_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_2897_, 0, v_e_2889_);
lean_ctor_set(v_reuseFailAlloc_2897_, 1, v_i_2890_);
v___x_2893_ = v_reuseFailAlloc_2897_;
goto v_reusejp_2892_;
}
v_reusejp_2892_:
{
size_t v_sz_2894_; lean_object* v___x_2895_; lean_object* v_fst_2896_; 
v_sz_2894_ = lean_array_size(v___x_2891_);
v___x_2895_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7_spec__18(v_varPrefix_2876_, v_toExpr_2878_, v_varType_2877_, v_size_2879_, v___x_2891_, v_sz_2894_, v___x_2887_, v___x_2893_);
lean_dec_ref(v___x_2891_);
lean_dec(v_size_2879_);
v_fst_2896_ = lean_ctor_get(v___x_2895_, 0);
lean_inc(v_fst_2896_);
lean_dec_ref(v___x_2895_);
return v_fst_2896_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7___boxed(lean_object* v_m_2911_, lean_object* v_e_2912_, lean_object* v_varPrefix_2913_, lean_object* v_varType_2914_, lean_object* v_toExpr_2915_){
_start:
{
lean_object* v_res_2916_; 
v_res_2916_ = l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7(v_m_2911_, v_e_2912_, v_varPrefix_2913_, v_varType_2914_, v_toExpr_2915_);
lean_dec_ref(v_e_2912_);
return v_res_2916_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__2(void){
_start:
{
lean_object* v___x_2919_; lean_object* v___x_2920_; lean_object* v___x_2921_; 
v___x_2919_ = lean_box(0);
v___x_2920_ = lean_unsigned_to_nat(16u);
v___x_2921_ = lean_mk_array(v___x_2920_, v___x_2919_);
return v___x_2921_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__3(void){
_start:
{
lean_object* v___x_2922_; lean_object* v___x_2923_; lean_object* v___x_2924_; 
v___x_2922_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__2, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__2_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__2);
v___x_2923_ = lean_unsigned_to_nat(0u);
v___x_2924_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_2924_, 0, v___x_2923_);
lean_ctor_set(v___x_2924_, 1, v___x_2922_);
return v___x_2924_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__8(void){
_start:
{
lean_object* v___x_2933_; lean_object* v___x_2934_; lean_object* v___x_2935_; 
v___x_2933_ = lean_box(0);
v___x_2934_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__7));
v___x_2935_ = l_Lean_mkConst(v___x_2934_, v___x_2933_);
return v___x_2935_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__15(void){
_start:
{
lean_object* v___x_2948_; lean_object* v___x_2949_; lean_object* v___x_2950_; 
v___x_2948_ = lean_box(0);
v___x_2949_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__14));
v___x_2950_ = l_Lean_mkConst(v___x_2949_, v___x_2948_);
return v___x_2950_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext(lean_object* v_h_2958_, lean_object* v_a_2959_, lean_object* v_a_2960_, lean_object* v_a_2961_, lean_object* v_a_2962_, lean_object* v_a_2963_, lean_object* v_a_2964_, lean_object* v_a_2965_, lean_object* v_a_2966_, lean_object* v_a_2967_, lean_object* v_a_2968_, lean_object* v_a_2969_, lean_object* v_a_2970_, lean_object* v_a_2971_){
_start:
{
lean_object* v___x_2973_; lean_object* v___x_2974_; lean_object* v___x_2975_; lean_object* v___x_2976_; 
v___x_2973_ = lean_st_ref_get(v_a_2960_);
v___x_2974_ = lean_st_ref_get(v_a_2960_);
v___x_2975_ = lean_st_ref_get(v_a_2960_);
v___x_2976_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_2961_, v_a_2962_, v_a_2963_, v_a_2964_, v_a_2965_, v_a_2966_, v_a_2967_, v_a_2968_, v_a_2969_, v_a_2970_, v_a_2971_);
if (lean_obj_tag(v___x_2976_) == 0)
{
lean_object* v_a_2977_; lean_object* v___x_2979_; uint8_t v_isShared_2980_; uint8_t v_isSharedCheck_3057_; 
v_a_2977_ = lean_ctor_get(v___x_2976_, 0);
v_isSharedCheck_3057_ = !lean_is_exclusive(v___x_2976_);
if (v_isSharedCheck_3057_ == 0)
{
v___x_2979_ = v___x_2976_;
v_isShared_2980_ = v_isSharedCheck_3057_;
goto v_resetjp_2978_;
}
else
{
lean_inc(v_a_2977_);
lean_dec(v___x_2976_);
v___x_2979_ = lean_box(0);
v_isShared_2980_ = v_isSharedCheck_3057_;
goto v_resetjp_2978_;
}
v_resetjp_2978_:
{
lean_object* v_varDecls_2981_; lean_object* v_polyDecls_2982_; lean_object* v_exprDecls_2983_; lean_object* v_vars_2984_; lean_object* v___f_2985_; lean_object* v___f_2986_; lean_object* v___x_2987_; lean_object* v___x_2988_; lean_object* v___x_2989_; lean_object* v___x_2990_; lean_object* v___x_2991_; lean_object* v___x_2992_; lean_object* v___x_2993_; size_t v_sz_2994_; size_t v___x_2995_; lean_object* v___x_2996_; lean_object* v_ctx_2997_; lean_object* v___x_2999_; uint8_t v_isShared_3000_; uint8_t v_isSharedCheck_3055_; 
v_varDecls_2981_ = lean_ctor_get(v___x_2973_, 1);
lean_inc_ref(v_varDecls_2981_);
lean_dec(v___x_2973_);
v_polyDecls_2982_ = lean_ctor_get(v___x_2974_, 2);
lean_inc_ref(v_polyDecls_2982_);
lean_dec(v___x_2974_);
v_exprDecls_2983_ = lean_ctor_get(v___x_2975_, 3);
lean_inc_ref(v_exprDecls_2983_);
lean_dec(v___x_2975_);
v_vars_2984_ = lean_ctor_get(v_a_2977_, 30);
lean_inc_ref(v_vars_2984_);
lean_dec(v_a_2977_);
v___f_2985_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__0));
v___f_2986_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__1));
v___x_2987_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__3);
v___x_2988_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__4));
v___x_2989_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0___redArg(v_varDecls_2981_, v___x_2988_, v___x_2987_);
v___x_2990_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1___redArg(v_polyDecls_2982_, v___f_2985_, v___x_2989_);
v___x_2991_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2___redArg(v_exprDecls_2983_, v___f_2986_, v___x_2990_);
v___x_2992_ = l_Lean_Meta_Grind_FoundVars_toArray(v___x_2991_);
lean_dec_ref(v___x_2991_);
v___x_2993_ = l_Lean_Meta_Grind_mkVarRename(v___x_2992_);
v_sz_2994_ = lean_array_size(v___x_2992_);
v___x_2995_ = ((size_t)0ULL);
lean_inc_ref(v___x_2992_);
v___x_2996_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__3(v_vars_2984_, v_sz_2994_, v___x_2995_, v___x_2992_);
v_ctx_2997_ = lean_ctor_get(v_a_2959_, 0);
v_isSharedCheck_3055_ = !lean_is_exclusive(v_a_2959_);
if (v_isSharedCheck_3055_ == 0)
{
lean_object* v_unused_3056_; 
v_unused_3056_ = lean_ctor_get(v_a_2959_, 1);
lean_dec(v_unused_3056_);
v___x_2999_ = v_a_2959_;
v_isShared_3000_ = v_isSharedCheck_3055_;
goto v_resetjp_2998_;
}
else
{
lean_inc(v_ctx_2997_);
lean_dec(v_a_2959_);
v___x_2999_ = lean_box(0);
v_isShared_3000_ = v_isSharedCheck_3055_;
goto v_resetjp_2998_;
}
v_resetjp_2998_:
{
lean_object* v___x_3001_; lean_object* v___x_3002_; lean_object* v___x_3003_; lean_object* v___x_3004_; size_t v_sz_3005_; lean_object* v___x_3006_; lean_object* v___x_3007_; lean_object* v___f_3008_; lean_object* v___f_3009_; lean_object* v___x_3010_; lean_object* v___x_3011_; lean_object* v___x_3012_; lean_object* v___x_3013_; lean_object* v___x_3014_; lean_object* v___x_3015_; lean_object* v___x_3016_; lean_object* v___x_3017_; lean_object* v___x_3018_; lean_object* v___x_3019_; lean_object* v___x_3020_; uint8_t v___x_3021_; 
lean_inc_ref(v___x_2992_);
v___x_3001_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__4(v_varDecls_2981_, v_sz_2994_, v___x_2995_, v___x_2992_);
lean_dec_ref(v_varDecls_2981_);
v___x_3002_ = lean_array_get_size(v___x_2992_);
lean_dec_ref(v___x_2992_);
v___x_3003_ = l_List_range(v___x_3002_);
v___x_3004_ = lean_array_mk(v___x_3003_);
v_sz_3005_ = lean_array_size(v___x_3004_);
v___x_3006_ = lean_box(0);
v___x_3007_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__8, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__8_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__8);
lean_inc_ref(v___x_2993_);
v___f_3008_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___lam__0___boxed), 2, 1);
lean_closure_set(v___f_3008_, 0, v___x_2993_);
v___f_3009_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___lam__1___boxed), 2, 1);
lean_closure_set(v___f_3009_, 0, v___x_2993_);
v___x_3010_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__5(v_sz_3005_, v___x_2995_, v___x_3004_);
v___x_3011_ = l_Lean_Expr_replaceFVars(v_h_2958_, v___x_3001_, v___x_3010_);
lean_dec_ref(v___x_3010_);
lean_dec_ref(v___x_3001_);
v___x_3012_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__10));
v___x_3013_ = l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__6(v_exprDecls_2983_, v___x_3011_, v___x_3012_, v___x_3007_, v___f_3009_);
lean_dec_ref(v___x_3011_);
v___x_3014_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__12));
v___x_3015_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__15, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__15_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__15);
v___x_3016_ = l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__7(v_polyDecls_2982_, v___x_3013_, v___x_3014_, v___x_3015_, v___f_3008_);
lean_dec_ref(v___x_3013_);
v___x_3017_ = lean_unsigned_to_nat(1u);
v___x_3018_ = lean_mk_empty_array_with_capacity(v___x_3017_);
v___x_3019_ = lean_array_push(v___x_3018_, v_ctx_2997_);
v___x_3020_ = lean_expr_abstract(v___x_3016_, v___x_3019_);
lean_dec_ref(v___x_3019_);
lean_dec_ref(v___x_3016_);
v___x_3021_ = l_Lean_Expr_hasLooseBVars(v___x_3020_);
if (v___x_3021_ == 0)
{
lean_object* v___x_3023_; 
lean_del_object(v___x_2999_);
lean_dec_ref(v___x_2996_);
lean_dec(v_a_2971_);
lean_dec_ref(v_a_2970_);
lean_dec(v_a_2969_);
lean_dec_ref(v_a_2968_);
if (v_isShared_2980_ == 0)
{
lean_ctor_set(v___x_2979_, 0, v___x_3020_);
v___x_3023_ = v___x_2979_;
goto v_reusejp_3022_;
}
else
{
lean_object* v_reuseFailAlloc_3024_; 
v_reuseFailAlloc_3024_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3024_, 0, v___x_3020_);
v___x_3023_ = v_reuseFailAlloc_3024_;
goto v_reusejp_3022_;
}
v_reusejp_3022_:
{
return v___x_3023_;
}
}
else
{
lean_object* v___x_3025_; 
lean_del_object(v___x_2979_);
v___x_3025_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_2961_, v_a_2962_, v_a_2963_, v_a_2964_, v_a_2965_, v_a_2966_, v_a_2967_, v_a_2968_, v_a_2969_, v_a_2970_, v_a_2971_);
if (lean_obj_tag(v___x_3025_) == 0)
{
lean_object* v_a_3026_; lean_object* v___x_3027_; 
v_a_3026_ = lean_ctor_get(v___x_3025_, 0);
lean_inc(v_a_3026_);
lean_dec_ref(v___x_3025_);
v___x_3027_ = l_Lean_Meta_Grind_Arith_Linear_toContextExpr(v___x_2996_, v_a_2961_, v_a_2962_, v_a_2963_, v_a_2964_, v_a_2965_, v_a_2966_, v_a_2967_, v_a_2968_, v_a_2969_, v_a_2970_, v_a_2971_);
if (lean_obj_tag(v___x_3027_) == 0)
{
lean_object* v_a_3028_; lean_object* v___x_3030_; uint8_t v_isShared_3031_; uint8_t v_isSharedCheck_3046_; 
v_a_3028_ = lean_ctor_get(v___x_3027_, 0);
v_isSharedCheck_3046_ = !lean_is_exclusive(v___x_3027_);
if (v_isSharedCheck_3046_ == 0)
{
v___x_3030_ = v___x_3027_;
v_isShared_3031_ = v_isSharedCheck_3046_;
goto v_resetjp_3029_;
}
else
{
lean_inc(v_a_3028_);
lean_dec(v___x_3027_);
v___x_3030_ = lean_box(0);
v_isShared_3031_ = v_isSharedCheck_3046_;
goto v_resetjp_3029_;
}
v_resetjp_3029_:
{
lean_object* v_type_3032_; lean_object* v_u_3033_; lean_object* v___x_3034_; lean_object* v___x_3036_; 
v_type_3032_ = lean_ctor_get(v_a_3026_, 2);
lean_inc_ref(v_type_3032_);
v_u_3033_ = lean_ctor_get(v_a_3026_, 3);
lean_inc(v_u_3033_);
lean_dec(v_a_3026_);
v___x_3034_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__17));
if (v_isShared_3000_ == 0)
{
lean_ctor_set_tag(v___x_2999_, 1);
lean_ctor_set(v___x_2999_, 1, v___x_3006_);
lean_ctor_set(v___x_2999_, 0, v_u_3033_);
v___x_3036_ = v___x_2999_;
goto v_reusejp_3035_;
}
else
{
lean_object* v_reuseFailAlloc_3045_; 
v_reuseFailAlloc_3045_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3045_, 0, v_u_3033_);
lean_ctor_set(v_reuseFailAlloc_3045_, 1, v___x_3006_);
v___x_3036_ = v_reuseFailAlloc_3045_;
goto v_reusejp_3035_;
}
v_reusejp_3035_:
{
lean_object* v___x_3037_; lean_object* v___x_3038_; lean_object* v___x_3039_; uint8_t v___x_3040_; lean_object* v___x_3041_; lean_object* v___x_3043_; 
v___x_3037_ = l_Lean_mkConst(v___x_3034_, v___x_3036_);
v___x_3038_ = l_Lean_Expr_app___override(v___x_3037_, v_type_3032_);
v___x_3039_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__19));
v___x_3040_ = 0;
v___x_3041_ = l_Lean_Expr_letE___override(v___x_3039_, v___x_3038_, v_a_3028_, v___x_3020_, v___x_3040_);
if (v_isShared_3031_ == 0)
{
lean_ctor_set(v___x_3030_, 0, v___x_3041_);
v___x_3043_ = v___x_3030_;
goto v_reusejp_3042_;
}
else
{
lean_object* v_reuseFailAlloc_3044_; 
v_reuseFailAlloc_3044_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3044_, 0, v___x_3041_);
v___x_3043_ = v_reuseFailAlloc_3044_;
goto v_reusejp_3042_;
}
v_reusejp_3042_:
{
return v___x_3043_;
}
}
}
}
else
{
lean_dec(v_a_3026_);
lean_dec_ref(v___x_3020_);
lean_del_object(v___x_2999_);
return v___x_3027_;
}
}
else
{
lean_object* v_a_3047_; lean_object* v___x_3049_; uint8_t v_isShared_3050_; uint8_t v_isSharedCheck_3054_; 
lean_dec_ref(v___x_3020_);
lean_del_object(v___x_2999_);
lean_dec_ref(v___x_2996_);
lean_dec(v_a_2971_);
lean_dec_ref(v_a_2970_);
lean_dec(v_a_2969_);
lean_dec_ref(v_a_2968_);
v_a_3047_ = lean_ctor_get(v___x_3025_, 0);
v_isSharedCheck_3054_ = !lean_is_exclusive(v___x_3025_);
if (v_isSharedCheck_3054_ == 0)
{
v___x_3049_ = v___x_3025_;
v_isShared_3050_ = v_isSharedCheck_3054_;
goto v_resetjp_3048_;
}
else
{
lean_inc(v_a_3047_);
lean_dec(v___x_3025_);
v___x_3049_ = lean_box(0);
v_isShared_3050_ = v_isSharedCheck_3054_;
goto v_resetjp_3048_;
}
v_resetjp_3048_:
{
lean_object* v___x_3052_; 
if (v_isShared_3050_ == 0)
{
v___x_3052_ = v___x_3049_;
goto v_reusejp_3051_;
}
else
{
lean_object* v_reuseFailAlloc_3053_; 
v_reuseFailAlloc_3053_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3053_, 0, v_a_3047_);
v___x_3052_ = v_reuseFailAlloc_3053_;
goto v_reusejp_3051_;
}
v_reusejp_3051_:
{
return v___x_3052_;
}
}
}
}
}
}
}
else
{
lean_object* v_a_3058_; lean_object* v___x_3060_; uint8_t v_isShared_3061_; uint8_t v_isSharedCheck_3065_; 
lean_dec(v___x_2975_);
lean_dec(v___x_2974_);
lean_dec(v___x_2973_);
lean_dec(v_a_2971_);
lean_dec_ref(v_a_2970_);
lean_dec(v_a_2969_);
lean_dec_ref(v_a_2968_);
lean_dec_ref(v_a_2959_);
v_a_3058_ = lean_ctor_get(v___x_2976_, 0);
v_isSharedCheck_3065_ = !lean_is_exclusive(v___x_2976_);
if (v_isSharedCheck_3065_ == 0)
{
v___x_3060_ = v___x_2976_;
v_isShared_3061_ = v_isSharedCheck_3065_;
goto v_resetjp_3059_;
}
else
{
lean_inc(v_a_3058_);
lean_dec(v___x_2976_);
v___x_3060_ = lean_box(0);
v_isShared_3061_ = v_isSharedCheck_3065_;
goto v_resetjp_3059_;
}
v_resetjp_3059_:
{
lean_object* v___x_3063_; 
if (v_isShared_3061_ == 0)
{
v___x_3063_ = v___x_3060_;
goto v_reusejp_3062_;
}
else
{
lean_object* v_reuseFailAlloc_3064_; 
v_reuseFailAlloc_3064_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3064_, 0, v_a_3058_);
v___x_3063_ = v_reuseFailAlloc_3064_;
goto v_reusejp_3062_;
}
v_reusejp_3062_:
{
return v___x_3063_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___boxed(lean_object* v_h_3066_, lean_object* v_a_3067_, lean_object* v_a_3068_, lean_object* v_a_3069_, lean_object* v_a_3070_, lean_object* v_a_3071_, lean_object* v_a_3072_, lean_object* v_a_3073_, lean_object* v_a_3074_, lean_object* v_a_3075_, lean_object* v_a_3076_, lean_object* v_a_3077_, lean_object* v_a_3078_, lean_object* v_a_3079_, lean_object* v_a_3080_){
_start:
{
lean_object* v_res_3081_; 
v_res_3081_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext(v_h_3066_, v_a_3067_, v_a_3068_, v_a_3069_, v_a_3070_, v_a_3071_, v_a_3072_, v_a_3073_, v_a_3074_, v_a_3075_, v_a_3076_, v_a_3077_, v_a_3078_, v_a_3079_);
lean_dec(v_a_3075_);
lean_dec_ref(v_a_3074_);
lean_dec(v_a_3073_);
lean_dec_ref(v_a_3072_);
lean_dec(v_a_3071_);
lean_dec(v_a_3070_);
lean_dec(v_a_3069_);
lean_dec(v_a_3068_);
lean_dec_ref(v_h_3066_);
return v_res_3081_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0(lean_object* v_Expr_3082_, lean_object* v_m_3083_, lean_object* v_k_3084_, lean_object* v_s_3085_){
_start:
{
lean_object* v___x_3086_; 
v___x_3086_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0___redArg(v_m_3083_, v_k_3084_, v_s_3085_);
return v___x_3086_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0___boxed(lean_object* v_Expr_3087_, lean_object* v_m_3088_, lean_object* v_k_3089_, lean_object* v_s_3090_){
_start:
{
lean_object* v_res_3091_; 
v_res_3091_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0(v_Expr_3087_, v_m_3088_, v_k_3089_, v_s_3090_);
lean_dec_ref(v_m_3088_);
return v_res_3091_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1(lean_object* v_Expr_3092_, lean_object* v_m_3093_, lean_object* v_k_3094_, lean_object* v_s_3095_){
_start:
{
lean_object* v___x_3096_; 
v___x_3096_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1___redArg(v_m_3093_, v_k_3094_, v_s_3095_);
return v___x_3096_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1___boxed(lean_object* v_Expr_3097_, lean_object* v_m_3098_, lean_object* v_k_3099_, lean_object* v_s_3100_){
_start:
{
lean_object* v_res_3101_; 
v_res_3101_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1(v_Expr_3097_, v_m_3098_, v_k_3099_, v_s_3100_);
lean_dec_ref(v_m_3098_);
return v_res_3101_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2(lean_object* v_Expr_3102_, lean_object* v_m_3103_, lean_object* v_k_3104_, lean_object* v_s_3105_){
_start:
{
lean_object* v___x_3106_; 
v___x_3106_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2___redArg(v_m_3103_, v_k_3104_, v_s_3105_);
return v___x_3106_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2___boxed(lean_object* v_Expr_3107_, lean_object* v_m_3108_, lean_object* v_k_3109_, lean_object* v_s_3110_){
_start:
{
lean_object* v_res_3111_; 
v_res_3111_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2(v_Expr_3107_, v_m_3108_, v_k_3109_, v_s_3110_);
lean_dec_ref(v_m_3108_);
return v_res_3111_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__0(lean_object* v_Expr_3112_, lean_object* v_k_3113_, lean_object* v_a_3114_, lean_object* v_a_3115_){
_start:
{
lean_object* v___x_3116_; 
v___x_3116_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__0___redArg(v_k_3113_, v_a_3114_, v_a_3115_);
return v___x_3116_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__1(lean_object* v_Expr_3117_, lean_object* v_k_3118_, lean_object* v_as_3119_, size_t v_sz_3120_, size_t v_i_3121_, lean_object* v_b_3122_){
_start:
{
lean_object* v___x_3123_; 
v___x_3123_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__1___redArg(v_k_3118_, v_as_3119_, v_sz_3120_, v_i_3121_, v_b_3122_);
return v___x_3123_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__1___boxed(lean_object* v_Expr_3124_, lean_object* v_k_3125_, lean_object* v_as_3126_, lean_object* v_sz_3127_, lean_object* v_i_3128_, lean_object* v_b_3129_){
_start:
{
size_t v_sz_boxed_3130_; size_t v_i_boxed_3131_; lean_object* v_res_3132_; 
v_sz_boxed_3130_ = lean_unbox_usize(v_sz_3127_);
lean_dec(v_sz_3127_);
v_i_boxed_3131_ = lean_unbox_usize(v_i_3128_);
lean_dec(v_i_3128_);
v_res_3132_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0_spec__1(v_Expr_3124_, v_k_3125_, v_as_3126_, v_sz_boxed_3130_, v_i_boxed_3131_, v_b_3129_);
lean_dec_ref(v_as_3126_);
return v_res_3132_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__3(lean_object* v_Expr_3133_, lean_object* v_k_3134_, lean_object* v_a_3135_, lean_object* v_a_3136_){
_start:
{
lean_object* v___x_3137_; 
v___x_3137_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__3___redArg(v_k_3134_, v_a_3135_, v_a_3136_);
return v___x_3137_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__4(lean_object* v_Expr_3138_, lean_object* v_k_3139_, lean_object* v_as_3140_, size_t v_sz_3141_, size_t v_i_3142_, lean_object* v_b_3143_){
_start:
{
lean_object* v___x_3144_; 
v___x_3144_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__4___redArg(v_k_3139_, v_as_3140_, v_sz_3141_, v_i_3142_, v_b_3143_);
return v___x_3144_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__4___boxed(lean_object* v_Expr_3145_, lean_object* v_k_3146_, lean_object* v_as_3147_, lean_object* v_sz_3148_, lean_object* v_i_3149_, lean_object* v_b_3150_){
_start:
{
size_t v_sz_boxed_3151_; size_t v_i_boxed_3152_; lean_object* v_res_3153_; 
v_sz_boxed_3151_ = lean_unbox_usize(v_sz_3148_);
lean_dec(v_sz_3148_);
v_i_boxed_3152_ = lean_unbox_usize(v_i_3149_);
lean_dec(v_i_3149_);
v_res_3153_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__1_spec__4(v_Expr_3145_, v_k_3146_, v_as_3147_, v_sz_boxed_3151_, v_i_boxed_3152_, v_b_3150_);
lean_dec_ref(v_as_3147_);
return v_res_3153_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__6(lean_object* v_Expr_3154_, lean_object* v_k_3155_, lean_object* v_a_3156_, lean_object* v_a_3157_){
_start:
{
lean_object* v___x_3158_; 
v___x_3158_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__6___redArg(v_k_3155_, v_a_3156_, v_a_3157_);
return v___x_3158_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__7(lean_object* v_Expr_3159_, lean_object* v_k_3160_, lean_object* v_as_3161_, size_t v_sz_3162_, size_t v_i_3163_, lean_object* v_b_3164_){
_start:
{
lean_object* v___x_3165_; 
v___x_3165_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__7___redArg(v_k_3160_, v_as_3161_, v_sz_3162_, v_i_3163_, v_b_3164_);
return v___x_3165_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__7___boxed(lean_object* v_Expr_3166_, lean_object* v_k_3167_, lean_object* v_as_3168_, lean_object* v_sz_3169_, lean_object* v_i_3170_, lean_object* v_b_3171_){
_start:
{
size_t v_sz_boxed_3172_; size_t v_i_boxed_3173_; lean_object* v_res_3174_; 
v_sz_boxed_3172_ = lean_unbox_usize(v_sz_3169_);
lean_dec(v_sz_3169_);
v_i_boxed_3173_ = lean_unbox_usize(v_i_3170_);
lean_dec(v_i_3170_);
v_res_3174_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__2_spec__7(v_Expr_3166_, v_k_3167_, v_as_3168_, v_sz_boxed_3172_, v_i_boxed_3173_, v_b_3171_);
lean_dec_ref(v_as_3168_);
return v_res_3174_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__0(lean_object* v___y_3175_, lean_object* v___y_3176_, lean_object* v___y_3177_, lean_object* v___y_3178_, lean_object* v___y_3179_, lean_object* v___y_3180_, lean_object* v___y_3181_, lean_object* v___y_3182_, lean_object* v___y_3183_, lean_object* v___y_3184_, lean_object* v___y_3185_){
_start:
{
lean_object* v___x_3187_; 
v___x_3187_ = l_Lean_Meta_Grind_Arith_CommRing_RingM_getCommRing(v___y_3175_, v___y_3176_, v___y_3177_, v___y_3178_, v___y_3179_, v___y_3180_, v___y_3181_, v___y_3182_, v___y_3183_, v___y_3184_, v___y_3185_);
if (lean_obj_tag(v___x_3187_) == 0)
{
lean_object* v_a_3188_; lean_object* v___x_3190_; uint8_t v_isShared_3191_; uint8_t v_isSharedCheck_3196_; 
v_a_3188_ = lean_ctor_get(v___x_3187_, 0);
v_isSharedCheck_3196_ = !lean_is_exclusive(v___x_3187_);
if (v_isSharedCheck_3196_ == 0)
{
v___x_3190_ = v___x_3187_;
v_isShared_3191_ = v_isSharedCheck_3196_;
goto v_resetjp_3189_;
}
else
{
lean_inc(v_a_3188_);
lean_dec(v___x_3187_);
v___x_3190_ = lean_box(0);
v_isShared_3191_ = v_isSharedCheck_3196_;
goto v_resetjp_3189_;
}
v_resetjp_3189_:
{
lean_object* v_toRing_3192_; lean_object* v___x_3194_; 
v_toRing_3192_ = lean_ctor_get(v_a_3188_, 0);
lean_inc_ref(v_toRing_3192_);
lean_dec(v_a_3188_);
if (v_isShared_3191_ == 0)
{
lean_ctor_set(v___x_3190_, 0, v_toRing_3192_);
v___x_3194_ = v___x_3190_;
goto v_reusejp_3193_;
}
else
{
lean_object* v_reuseFailAlloc_3195_; 
v_reuseFailAlloc_3195_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3195_, 0, v_toRing_3192_);
v___x_3194_ = v_reuseFailAlloc_3195_;
goto v_reusejp_3193_;
}
v_reusejp_3193_:
{
return v___x_3194_;
}
}
}
else
{
lean_object* v_a_3197_; lean_object* v___x_3199_; uint8_t v_isShared_3200_; uint8_t v_isSharedCheck_3204_; 
v_a_3197_ = lean_ctor_get(v___x_3187_, 0);
v_isSharedCheck_3204_ = !lean_is_exclusive(v___x_3187_);
if (v_isSharedCheck_3204_ == 0)
{
v___x_3199_ = v___x_3187_;
v_isShared_3200_ = v_isSharedCheck_3204_;
goto v_resetjp_3198_;
}
else
{
lean_inc(v_a_3197_);
lean_dec(v___x_3187_);
v___x_3199_ = lean_box(0);
v_isShared_3200_ = v_isSharedCheck_3204_;
goto v_resetjp_3198_;
}
v_resetjp_3198_:
{
lean_object* v___x_3202_; 
if (v_isShared_3200_ == 0)
{
v___x_3202_ = v___x_3199_;
goto v_reusejp_3201_;
}
else
{
lean_object* v_reuseFailAlloc_3203_; 
v_reuseFailAlloc_3203_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3203_, 0, v_a_3197_);
v___x_3202_ = v_reuseFailAlloc_3203_;
goto v_reusejp_3201_;
}
v_reusejp_3201_:
{
return v___x_3202_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__0___boxed(lean_object* v___y_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___y_3215_, lean_object* v___y_3216_){
_start:
{
lean_object* v_res_3217_; 
v_res_3217_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__0(v___y_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_, v___y_3215_);
lean_dec(v___y_3215_);
lean_dec_ref(v___y_3214_);
lean_dec(v___y_3213_);
lean_dec_ref(v___y_3212_);
lean_dec(v___y_3211_);
lean_dec_ref(v___y_3210_);
lean_dec(v___y_3209_);
lean_dec_ref(v___y_3208_);
lean_dec(v___y_3207_);
lean_dec(v___y_3206_);
lean_dec_ref(v___y_3205_);
return v_res_3217_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__1(lean_object* v___x_3218_, lean_object* v_e_3219_){
_start:
{
lean_object* v___x_3220_; lean_object* v___x_3221_; 
v___x_3220_ = l_Lean_Grind_CommRing_Expr_renameVars(v_e_3219_, v___x_3218_);
v___x_3221_ = l_Lean_Meta_Grind_Arith_CommRing_ofRingExpr(v___x_3220_);
return v___x_3221_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__1___boxed(lean_object* v___x_3222_, lean_object* v_e_3223_){
_start:
{
lean_object* v_res_3224_; 
v_res_3224_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__1(v___x_3222_, v_e_3223_);
lean_dec_ref(v___x_3222_);
return v_res_3224_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__2(lean_object* v___x_3225_, lean_object* v_p_3226_){
_start:
{
lean_object* v___x_3227_; lean_object* v___x_3228_; 
v___x_3227_ = l_Lean_Grind_CommRing_Poly_renameVars(v_p_3226_, v___x_3225_);
v___x_3228_ = l_Lean_Meta_Grind_Arith_CommRing_ofPoly(v___x_3227_);
return v___x_3228_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__2___boxed(lean_object* v___x_3229_, lean_object* v_p_3230_){
_start:
{
lean_object* v_res_3231_; 
v_res_3231_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__2(v___x_3229_, v_p_3230_);
lean_dec_ref(v___x_3229_);
return v_res_3231_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__2(lean_object* v___x_3232_, size_t v_sz_3233_, size_t v_i_3234_, lean_object* v_bs_3235_){
_start:
{
uint8_t v___x_3236_; 
v___x_3236_ = lean_usize_dec_lt(v_i_3234_, v_sz_3233_);
if (v___x_3236_ == 0)
{
lean_dec_ref(v___x_3232_);
return v_bs_3235_;
}
else
{
lean_object* v_size_3237_; lean_object* v_v_3238_; lean_object* v___x_3239_; lean_object* v_bs_x27_3240_; lean_object* v___y_3242_; lean_object* v___x_3247_; uint8_t v___x_3248_; 
v_size_3237_ = lean_ctor_get(v___x_3232_, 2);
v_v_3238_ = lean_array_uget(v_bs_3235_, v_i_3234_);
v___x_3239_ = lean_unsigned_to_nat(0u);
v_bs_x27_3240_ = lean_array_uset(v_bs_3235_, v_i_3234_, v___x_3239_);
v___x_3247_ = l_Lean_instInhabitedExpr;
v___x_3248_ = lean_nat_dec_lt(v_v_3238_, v_size_3237_);
if (v___x_3248_ == 0)
{
lean_object* v___x_3249_; 
lean_dec(v_v_3238_);
v___x_3249_ = l_outOfBounds___redArg(v___x_3247_);
v___y_3242_ = v___x_3249_;
goto v___jp_3241_;
}
else
{
lean_object* v___x_3250_; 
lean_inc_ref(v___x_3232_);
v___x_3250_ = l_Lean_PersistentArray_get_x21___redArg(v___x_3247_, v___x_3232_, v_v_3238_);
lean_dec(v_v_3238_);
v___y_3242_ = v___x_3250_;
goto v___jp_3241_;
}
v___jp_3241_:
{
size_t v___x_3243_; size_t v___x_3244_; lean_object* v___x_3245_; 
v___x_3243_ = ((size_t)1ULL);
v___x_3244_ = lean_usize_add(v_i_3234_, v___x_3243_);
v___x_3245_ = lean_array_uset(v_bs_x27_3240_, v_i_3234_, v___y_3242_);
v_i_3234_ = v___x_3244_;
v_bs_3235_ = v___x_3245_;
goto _start;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__2___boxed(lean_object* v___x_3251_, lean_object* v_sz_3252_, lean_object* v_i_3253_, lean_object* v_bs_3254_){
_start:
{
size_t v_sz_boxed_3255_; size_t v_i_boxed_3256_; lean_object* v_res_3257_; 
v_sz_boxed_3255_ = lean_unbox_usize(v_sz_3252_);
lean_dec(v_sz_3252_);
v_i_boxed_3256_ = lean_unbox_usize(v_i_3253_);
lean_dec(v_i_3253_);
v_res_3257_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__2(v___x_3251_, v_sz_boxed_3255_, v_i_boxed_3256_, v_bs_3254_);
return v_res_3257_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__3___redArg(lean_object* v_k_3258_, lean_object* v_a_3259_, lean_object* v_a_3260_){
_start:
{
if (lean_obj_tag(v_a_3259_) == 0)
{
lean_object* v___x_3261_; 
lean_dec_ref(v_k_3258_);
v___x_3261_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_3261_, 0, v_a_3260_);
return v___x_3261_;
}
else
{
lean_object* v_key_3262_; lean_object* v_tail_3263_; lean_object* v___x_3264_; 
v_key_3262_ = lean_ctor_get(v_a_3259_, 0);
lean_inc(v_key_3262_);
v_tail_3263_ = lean_ctor_get(v_a_3259_, 2);
lean_inc(v_tail_3263_);
lean_dec_ref(v_a_3259_);
lean_inc_ref(v_k_3258_);
v___x_3264_ = lean_apply_2(v_k_3258_, v_key_3262_, v_a_3260_);
v_a_3259_ = v_tail_3263_;
v_a_3260_ = v___x_3264_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__4___redArg(lean_object* v_k_3266_, lean_object* v_as_3267_, size_t v_sz_3268_, size_t v_i_3269_, lean_object* v_b_3270_){
_start:
{
uint8_t v___x_3271_; 
v___x_3271_ = lean_usize_dec_lt(v_i_3269_, v_sz_3268_);
if (v___x_3271_ == 0)
{
lean_dec_ref(v_k_3266_);
return v_b_3270_;
}
else
{
lean_object* v_a_3272_; lean_object* v___x_3273_; 
v_a_3272_ = lean_array_uget_borrowed(v_as_3267_, v_i_3269_);
lean_inc(v_a_3272_);
lean_inc_ref(v_k_3266_);
v___x_3273_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__3___redArg(v_k_3266_, v_a_3272_, v_b_3270_);
if (lean_obj_tag(v___x_3273_) == 0)
{
lean_object* v_a_3274_; 
lean_dec_ref(v_k_3266_);
v_a_3274_ = lean_ctor_get(v___x_3273_, 0);
lean_inc(v_a_3274_);
lean_dec_ref(v___x_3273_);
return v_a_3274_;
}
else
{
lean_object* v_a_3275_; size_t v___x_3276_; size_t v___x_3277_; 
v_a_3275_ = lean_ctor_get(v___x_3273_, 0);
lean_inc(v_a_3275_);
lean_dec_ref(v___x_3273_);
v___x_3276_ = ((size_t)1ULL);
v___x_3277_ = lean_usize_add(v_i_3269_, v___x_3276_);
v_i_3269_ = v___x_3277_;
v_b_3270_ = v_a_3275_;
goto _start;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__4___redArg___boxed(lean_object* v_k_3279_, lean_object* v_as_3280_, lean_object* v_sz_3281_, lean_object* v_i_3282_, lean_object* v_b_3283_){
_start:
{
size_t v_sz_boxed_3284_; size_t v_i_boxed_3285_; lean_object* v_res_3286_; 
v_sz_boxed_3284_ = lean_unbox_usize(v_sz_3281_);
lean_dec(v_sz_3281_);
v_i_boxed_3285_ = lean_unbox_usize(v_i_3282_);
lean_dec(v_i_3282_);
v_res_3286_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__4___redArg(v_k_3279_, v_as_3280_, v_sz_boxed_3284_, v_i_boxed_3285_, v_b_3283_);
lean_dec_ref(v_as_3280_);
return v_res_3286_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1___redArg(lean_object* v_m_3287_, lean_object* v_k_3288_, lean_object* v_s_3289_){
_start:
{
lean_object* v_buckets_3290_; size_t v_sz_3291_; size_t v___x_3292_; lean_object* v___x_3293_; 
v_buckets_3290_ = lean_ctor_get(v_m_3287_, 1);
v_sz_3291_ = lean_array_size(v_buckets_3290_);
v___x_3292_ = ((size_t)0ULL);
v___x_3293_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__4___redArg(v_k_3288_, v_buckets_3290_, v_sz_3291_, v___x_3292_, v_s_3289_);
return v___x_3293_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1___redArg___boxed(lean_object* v_m_3294_, lean_object* v_k_3295_, lean_object* v_s_3296_){
_start:
{
lean_object* v_res_3297_; 
v_res_3297_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1___redArg(v_m_3294_, v_k_3295_, v_s_3296_);
lean_dec_ref(v_m_3294_);
return v_res_3297_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__7(lean_object* v_x_3298_, lean_object* v_x_3299_){
_start:
{
if (lean_obj_tag(v_x_3299_) == 0)
{
return v_x_3298_;
}
else
{
lean_object* v_key_3300_; lean_object* v_value_3301_; lean_object* v_tail_3302_; lean_object* v___x_3303_; lean_object* v___x_3304_; 
v_key_3300_ = lean_ctor_get(v_x_3299_, 0);
v_value_3301_ = lean_ctor_get(v_x_3299_, 1);
v_tail_3302_ = lean_ctor_get(v_x_3299_, 2);
lean_inc(v_value_3301_);
lean_inc(v_key_3300_);
v___x_3303_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3303_, 0, v_key_3300_);
lean_ctor_set(v___x_3303_, 1, v_value_3301_);
v___x_3304_ = lean_array_push(v_x_3298_, v___x_3303_);
v_x_3298_ = v___x_3304_;
v_x_3299_ = v_tail_3302_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__7___boxed(lean_object* v_x_3306_, lean_object* v_x_3307_){
_start:
{
lean_object* v_res_3308_; 
v_res_3308_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__7(v_x_3306_, v_x_3307_);
lean_dec(v_x_3307_);
return v_res_3308_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__8(lean_object* v_as_3309_, size_t v_i_3310_, size_t v_stop_3311_, lean_object* v_b_3312_){
_start:
{
uint8_t v___x_3313_; 
v___x_3313_ = lean_usize_dec_eq(v_i_3310_, v_stop_3311_);
if (v___x_3313_ == 0)
{
lean_object* v___x_3314_; lean_object* v___x_3315_; size_t v___x_3316_; size_t v___x_3317_; 
v___x_3314_ = lean_array_uget_borrowed(v_as_3309_, v_i_3310_);
v___x_3315_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__7(v_b_3312_, v___x_3314_);
v___x_3316_ = ((size_t)1ULL);
v___x_3317_ = lean_usize_add(v_i_3310_, v___x_3316_);
v_i_3310_ = v___x_3317_;
v_b_3312_ = v___x_3315_;
goto _start;
}
else
{
return v_b_3312_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__8___boxed(lean_object* v_as_3319_, lean_object* v_i_3320_, lean_object* v_stop_3321_, lean_object* v_b_3322_){
_start:
{
size_t v_i_boxed_3323_; size_t v_stop_boxed_3324_; lean_object* v_res_3325_; 
v_i_boxed_3323_ = lean_unbox_usize(v_i_3320_);
lean_dec(v_i_3320_);
v_stop_boxed_3324_ = lean_unbox_usize(v_stop_3321_);
lean_dec(v_stop_3321_);
v_res_3325_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__8(v_as_3319_, v_i_boxed_3323_, v_stop_boxed_3324_, v_b_3322_);
lean_dec_ref(v_as_3319_);
return v_res_3325_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__0___redArg(lean_object* v_k_3326_, lean_object* v_a_3327_, lean_object* v_a_3328_){
_start:
{
if (lean_obj_tag(v_a_3327_) == 0)
{
lean_object* v___x_3329_; 
lean_dec_ref(v_k_3326_);
v___x_3329_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_3329_, 0, v_a_3328_);
return v___x_3329_;
}
else
{
lean_object* v_key_3330_; lean_object* v_tail_3331_; lean_object* v___x_3332_; 
v_key_3330_ = lean_ctor_get(v_a_3327_, 0);
lean_inc(v_key_3330_);
v_tail_3331_ = lean_ctor_get(v_a_3327_, 2);
lean_inc(v_tail_3331_);
lean_dec_ref(v_a_3327_);
lean_inc_ref(v_k_3326_);
v___x_3332_ = lean_apply_2(v_k_3326_, v_key_3330_, v_a_3328_);
v_a_3327_ = v_tail_3331_;
v_a_3328_ = v___x_3332_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__1___redArg(lean_object* v_k_3334_, lean_object* v_as_3335_, size_t v_sz_3336_, size_t v_i_3337_, lean_object* v_b_3338_){
_start:
{
uint8_t v___x_3339_; 
v___x_3339_ = lean_usize_dec_lt(v_i_3337_, v_sz_3336_);
if (v___x_3339_ == 0)
{
lean_dec_ref(v_k_3334_);
return v_b_3338_;
}
else
{
lean_object* v_a_3340_; lean_object* v___x_3341_; 
v_a_3340_ = lean_array_uget_borrowed(v_as_3335_, v_i_3337_);
lean_inc(v_a_3340_);
lean_inc_ref(v_k_3334_);
v___x_3341_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__0___redArg(v_k_3334_, v_a_3340_, v_b_3338_);
if (lean_obj_tag(v___x_3341_) == 0)
{
lean_object* v_a_3342_; 
lean_dec_ref(v_k_3334_);
v_a_3342_ = lean_ctor_get(v___x_3341_, 0);
lean_inc(v_a_3342_);
lean_dec_ref(v___x_3341_);
return v_a_3342_;
}
else
{
lean_object* v_a_3343_; size_t v___x_3344_; size_t v___x_3345_; 
v_a_3343_ = lean_ctor_get(v___x_3341_, 0);
lean_inc(v_a_3343_);
lean_dec_ref(v___x_3341_);
v___x_3344_ = ((size_t)1ULL);
v___x_3345_ = lean_usize_add(v_i_3337_, v___x_3344_);
v_i_3337_ = v___x_3345_;
v_b_3338_ = v_a_3343_;
goto _start;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__1___redArg___boxed(lean_object* v_k_3347_, lean_object* v_as_3348_, lean_object* v_sz_3349_, lean_object* v_i_3350_, lean_object* v_b_3351_){
_start:
{
size_t v_sz_boxed_3352_; size_t v_i_boxed_3353_; lean_object* v_res_3354_; 
v_sz_boxed_3352_ = lean_unbox_usize(v_sz_3349_);
lean_dec(v_sz_3349_);
v_i_boxed_3353_ = lean_unbox_usize(v_i_3350_);
lean_dec(v_i_3350_);
v_res_3354_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__1___redArg(v_k_3347_, v_as_3348_, v_sz_boxed_3352_, v_i_boxed_3353_, v_b_3351_);
lean_dec_ref(v_as_3348_);
return v_res_3354_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0___redArg(lean_object* v_m_3355_, lean_object* v_k_3356_, lean_object* v_s_3357_){
_start:
{
lean_object* v_buckets_3358_; size_t v_sz_3359_; size_t v___x_3360_; lean_object* v___x_3361_; 
v_buckets_3358_ = lean_ctor_get(v_m_3355_, 1);
v_sz_3359_ = lean_array_size(v_buckets_3358_);
v___x_3360_ = ((size_t)0ULL);
v___x_3361_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__1___redArg(v_k_3356_, v_buckets_3358_, v_sz_3359_, v___x_3360_, v_s_3357_);
return v___x_3361_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0___redArg___boxed(lean_object* v_m_3362_, lean_object* v_k_3363_, lean_object* v_s_3364_){
_start:
{
lean_object* v_res_3365_; 
v_res_3365_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0___redArg(v_m_3362_, v_k_3363_, v_s_3364_);
lean_dec_ref(v_m_3362_);
return v_res_3365_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__13(lean_object* v_varPrefix_3366_, lean_object* v_toExpr_3367_, lean_object* v_varType_3368_, lean_object* v___x_3369_, lean_object* v_as_3370_, size_t v_sz_3371_, size_t v_i_3372_, lean_object* v_b_3373_){
_start:
{
uint8_t v___x_3374_; 
v___x_3374_ = lean_usize_dec_lt(v_i_3372_, v_sz_3371_);
if (v___x_3374_ == 0)
{
lean_dec_ref(v_varType_3368_);
lean_dec_ref(v_toExpr_3367_);
lean_dec(v_varPrefix_3366_);
return v_b_3373_;
}
else
{
lean_object* v_a_3375_; lean_object* v_fst_3376_; lean_object* v_fst_3377_; lean_object* v_snd_3378_; lean_object* v___x_3380_; uint8_t v_isShared_3381_; uint8_t v_isSharedCheck_3395_; 
v_a_3375_ = lean_array_uget_borrowed(v_as_3370_, v_i_3372_);
v_fst_3376_ = lean_ctor_get(v_a_3375_, 0);
v_fst_3377_ = lean_ctor_get(v_b_3373_, 0);
v_snd_3378_ = lean_ctor_get(v_b_3373_, 1);
v_isSharedCheck_3395_ = !lean_is_exclusive(v_b_3373_);
if (v_isSharedCheck_3395_ == 0)
{
v___x_3380_ = v_b_3373_;
v_isShared_3381_ = v_isSharedCheck_3395_;
goto v_resetjp_3379_;
}
else
{
lean_inc(v_snd_3378_);
lean_inc(v_fst_3377_);
lean_dec(v_b_3373_);
v___x_3380_ = lean_box(0);
v_isShared_3381_ = v_isSharedCheck_3395_;
goto v_resetjp_3379_;
}
v_resetjp_3379_:
{
lean_object* v___x_3382_; uint8_t v___x_3383_; lean_object* v___x_3384_; lean_object* v___x_3385_; lean_object* v___x_3386_; lean_object* v___x_3387_; lean_object* v___x_3388_; lean_object* v___x_3390_; 
v___x_3382_ = lean_unsigned_to_nat(0u);
v___x_3383_ = lean_nat_dec_eq(v___x_3369_, v___x_3382_);
lean_inc(v_snd_3378_);
lean_inc(v_varPrefix_3366_);
v___x_3384_ = lean_name_append_index_after(v_varPrefix_3366_, v_snd_3378_);
lean_inc_ref(v_toExpr_3367_);
lean_inc(v_fst_3376_);
v___x_3385_ = lean_apply_1(v_toExpr_3367_, v_fst_3376_);
lean_inc_ref(v_varType_3368_);
v___x_3386_ = l_Lean_Expr_letE___override(v___x_3384_, v_varType_3368_, v___x_3385_, v_fst_3377_, v___x_3383_);
v___x_3387_ = lean_unsigned_to_nat(1u);
v___x_3388_ = lean_nat_sub(v_snd_3378_, v___x_3387_);
lean_dec(v_snd_3378_);
if (v_isShared_3381_ == 0)
{
lean_ctor_set(v___x_3380_, 1, v___x_3388_);
lean_ctor_set(v___x_3380_, 0, v___x_3386_);
v___x_3390_ = v___x_3380_;
goto v_reusejp_3389_;
}
else
{
lean_object* v_reuseFailAlloc_3394_; 
v_reuseFailAlloc_3394_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3394_, 0, v___x_3386_);
lean_ctor_set(v_reuseFailAlloc_3394_, 1, v___x_3388_);
v___x_3390_ = v_reuseFailAlloc_3394_;
goto v_reusejp_3389_;
}
v_reusejp_3389_:
{
size_t v___x_3391_; size_t v___x_3392_; 
v___x_3391_ = ((size_t)1ULL);
v___x_3392_ = lean_usize_add(v_i_3372_, v___x_3391_);
v_i_3372_ = v___x_3392_;
v_b_3373_ = v___x_3390_;
goto _start;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__13___boxed(lean_object* v_varPrefix_3396_, lean_object* v_toExpr_3397_, lean_object* v_varType_3398_, lean_object* v___x_3399_, lean_object* v_as_3400_, lean_object* v_sz_3401_, lean_object* v_i_3402_, lean_object* v_b_3403_){
_start:
{
size_t v_sz_boxed_3404_; size_t v_i_boxed_3405_; lean_object* v_res_3406_; 
v_sz_boxed_3404_ = lean_unbox_usize(v_sz_3401_);
lean_dec(v_sz_3401_);
v_i_boxed_3405_ = lean_unbox_usize(v_i_3402_);
lean_dec(v_i_3402_);
v_res_3406_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__13(v_varPrefix_3396_, v_toExpr_3397_, v_varType_3398_, v___x_3399_, v_as_3400_, v_sz_boxed_3404_, v_i_boxed_3405_, v_b_3403_);
lean_dec_ref(v_as_3400_);
lean_dec(v___x_3399_);
return v_res_3406_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__12(size_t v_sz_3407_, size_t v_i_3408_, lean_object* v_bs_3409_){
_start:
{
uint8_t v___x_3410_; 
v___x_3410_ = lean_usize_dec_lt(v_i_3408_, v_sz_3407_);
if (v___x_3410_ == 0)
{
return v_bs_3409_;
}
else
{
lean_object* v_v_3411_; lean_object* v_snd_3412_; lean_object* v___x_3413_; lean_object* v_bs_x27_3414_; size_t v___x_3415_; size_t v___x_3416_; lean_object* v___x_3417_; 
v_v_3411_ = lean_array_uget_borrowed(v_bs_3409_, v_i_3408_);
v_snd_3412_ = lean_ctor_get(v_v_3411_, 1);
lean_inc(v_snd_3412_);
v___x_3413_ = lean_unsigned_to_nat(0u);
v_bs_x27_3414_ = lean_array_uset(v_bs_3409_, v_i_3408_, v___x_3413_);
v___x_3415_ = ((size_t)1ULL);
v___x_3416_ = lean_usize_add(v_i_3408_, v___x_3415_);
v___x_3417_ = lean_array_uset(v_bs_x27_3414_, v_i_3408_, v_snd_3412_);
v_i_3408_ = v___x_3416_;
v_bs_3409_ = v___x_3417_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__12___boxed(lean_object* v_sz_3419_, lean_object* v_i_3420_, lean_object* v_bs_3421_){
_start:
{
size_t v_sz_boxed_3422_; size_t v_i_boxed_3423_; lean_object* v_res_3424_; 
v_sz_boxed_3422_ = lean_unbox_usize(v_sz_3419_);
lean_dec(v_sz_3419_);
v_i_boxed_3423_ = lean_unbox_usize(v_i_3420_);
lean_dec(v_i_3420_);
v_res_3424_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__12(v_sz_boxed_3422_, v_i_boxed_3423_, v_bs_3421_);
return v_res_3424_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__14(lean_object* v_x_3425_, lean_object* v_x_3426_){
_start:
{
if (lean_obj_tag(v_x_3426_) == 0)
{
return v_x_3425_;
}
else
{
lean_object* v_key_3427_; lean_object* v_value_3428_; lean_object* v_tail_3429_; lean_object* v___x_3430_; lean_object* v___x_3431_; 
v_key_3427_ = lean_ctor_get(v_x_3426_, 0);
v_value_3428_ = lean_ctor_get(v_x_3426_, 1);
v_tail_3429_ = lean_ctor_get(v_x_3426_, 2);
lean_inc(v_value_3428_);
lean_inc(v_key_3427_);
v___x_3430_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3430_, 0, v_key_3427_);
lean_ctor_set(v___x_3430_, 1, v_value_3428_);
v___x_3431_ = lean_array_push(v_x_3425_, v___x_3430_);
v_x_3425_ = v___x_3431_;
v_x_3426_ = v_tail_3429_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__14___boxed(lean_object* v_x_3433_, lean_object* v_x_3434_){
_start:
{
lean_object* v_res_3435_; 
v_res_3435_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__14(v_x_3433_, v_x_3434_);
lean_dec(v_x_3434_);
return v_res_3435_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__15(lean_object* v_as_3436_, size_t v_i_3437_, size_t v_stop_3438_, lean_object* v_b_3439_){
_start:
{
uint8_t v___x_3440_; 
v___x_3440_ = lean_usize_dec_eq(v_i_3437_, v_stop_3438_);
if (v___x_3440_ == 0)
{
lean_object* v___x_3441_; lean_object* v___x_3442_; size_t v___x_3443_; size_t v___x_3444_; 
v___x_3441_ = lean_array_uget_borrowed(v_as_3436_, v_i_3437_);
v___x_3442_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__14(v_b_3439_, v___x_3441_);
v___x_3443_ = ((size_t)1ULL);
v___x_3444_ = lean_usize_add(v_i_3437_, v___x_3443_);
v_i_3437_ = v___x_3444_;
v_b_3439_ = v___x_3442_;
goto _start;
}
else
{
return v_b_3439_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__15___boxed(lean_object* v_as_3446_, lean_object* v_i_3447_, lean_object* v_stop_3448_, lean_object* v_b_3449_){
_start:
{
size_t v_i_boxed_3450_; size_t v_stop_boxed_3451_; lean_object* v_res_3452_; 
v_i_boxed_3450_ = lean_unbox_usize(v_i_3447_);
lean_dec(v_i_3447_);
v_stop_boxed_3451_ = lean_unbox_usize(v_stop_3448_);
lean_dec(v_stop_3448_);
v_res_3452_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__15(v_as_3446_, v_i_boxed_3450_, v_stop_boxed_3451_, v_b_3449_);
lean_dec_ref(v_as_3446_);
return v_res_3452_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4(lean_object* v_m_3453_, lean_object* v_e_3454_, lean_object* v_varPrefix_3455_, lean_object* v_varType_3456_, lean_object* v_toExpr_3457_){
_start:
{
lean_object* v_size_3458_; lean_object* v_buckets_3459_; lean_object* v___x_3461_; uint8_t v_isShared_3462_; uint8_t v_isSharedCheck_3489_; 
v_size_3458_ = lean_ctor_get(v_m_3453_, 0);
v_buckets_3459_ = lean_ctor_get(v_m_3453_, 1);
v_isSharedCheck_3489_ = !lean_is_exclusive(v_m_3453_);
if (v_isSharedCheck_3489_ == 0)
{
v___x_3461_ = v_m_3453_;
v_isShared_3462_ = v_isSharedCheck_3489_;
goto v_resetjp_3460_;
}
else
{
lean_inc(v_buckets_3459_);
lean_inc(v_size_3458_);
lean_dec(v_m_3453_);
v___x_3461_ = lean_box(0);
v_isShared_3462_ = v_isSharedCheck_3489_;
goto v_resetjp_3460_;
}
v_resetjp_3460_:
{
lean_object* v___y_3464_; lean_object* v___x_3477_; uint8_t v___x_3478_; 
v___x_3477_ = lean_unsigned_to_nat(0u);
v___x_3478_ = lean_nat_dec_eq(v_size_3458_, v___x_3477_);
if (v___x_3478_ == 0)
{
lean_object* v___x_3479_; lean_object* v___x_3480_; uint8_t v___x_3481_; 
v___x_3479_ = lean_mk_empty_array_with_capacity(v_size_3458_);
v___x_3480_ = lean_array_get_size(v_buckets_3459_);
v___x_3481_ = lean_nat_dec_lt(v___x_3477_, v___x_3480_);
if (v___x_3481_ == 0)
{
lean_dec_ref(v_buckets_3459_);
v___y_3464_ = v___x_3479_;
goto v___jp_3463_;
}
else
{
uint8_t v___x_3482_; 
v___x_3482_ = lean_nat_dec_le(v___x_3480_, v___x_3480_);
if (v___x_3482_ == 0)
{
if (v___x_3481_ == 0)
{
lean_dec_ref(v_buckets_3459_);
v___y_3464_ = v___x_3479_;
goto v___jp_3463_;
}
else
{
size_t v___x_3483_; size_t v___x_3484_; lean_object* v___x_3485_; 
v___x_3483_ = ((size_t)0ULL);
v___x_3484_ = lean_usize_of_nat(v___x_3480_);
v___x_3485_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__15(v_buckets_3459_, v___x_3483_, v___x_3484_, v___x_3479_);
lean_dec_ref(v_buckets_3459_);
v___y_3464_ = v___x_3485_;
goto v___jp_3463_;
}
}
else
{
size_t v___x_3486_; size_t v___x_3487_; lean_object* v___x_3488_; 
v___x_3486_ = ((size_t)0ULL);
v___x_3487_ = lean_usize_of_nat(v___x_3480_);
v___x_3488_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__15(v_buckets_3459_, v___x_3486_, v___x_3487_, v___x_3479_);
lean_dec_ref(v_buckets_3459_);
v___y_3464_ = v___x_3488_;
goto v___jp_3463_;
}
}
}
else
{
lean_del_object(v___x_3461_);
lean_dec_ref(v_buckets_3459_);
lean_dec(v_size_3458_);
lean_dec_ref(v_toExpr_3457_);
lean_dec_ref(v_varType_3456_);
lean_dec(v_varPrefix_3455_);
lean_inc_ref(v_e_3454_);
return v_e_3454_;
}
v___jp_3463_:
{
size_t v_sz_3465_; size_t v___x_3466_; lean_object* v___x_3467_; lean_object* v_e_3468_; lean_object* v_i_3469_; lean_object* v___x_3470_; lean_object* v___x_3472_; 
v_sz_3465_ = lean_array_size(v___y_3464_);
v___x_3466_ = ((size_t)0ULL);
lean_inc_ref(v___y_3464_);
v___x_3467_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__12(v_sz_3465_, v___x_3466_, v___y_3464_);
v_e_3468_ = lean_expr_abstract(v_e_3454_, v___x_3467_);
lean_dec_ref(v___x_3467_);
v_i_3469_ = lean_array_get_size(v___y_3464_);
v___x_3470_ = l_Array_reverse___redArg(v___y_3464_);
if (v_isShared_3462_ == 0)
{
lean_ctor_set(v___x_3461_, 1, v_i_3469_);
lean_ctor_set(v___x_3461_, 0, v_e_3468_);
v___x_3472_ = v___x_3461_;
goto v_reusejp_3471_;
}
else
{
lean_object* v_reuseFailAlloc_3476_; 
v_reuseFailAlloc_3476_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3476_, 0, v_e_3468_);
lean_ctor_set(v_reuseFailAlloc_3476_, 1, v_i_3469_);
v___x_3472_ = v_reuseFailAlloc_3476_;
goto v_reusejp_3471_;
}
v_reusejp_3471_:
{
size_t v_sz_3473_; lean_object* v___x_3474_; lean_object* v_fst_3475_; 
v_sz_3473_ = lean_array_size(v___x_3470_);
v___x_3474_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4_spec__13(v_varPrefix_3455_, v_toExpr_3457_, v_varType_3456_, v_size_3458_, v___x_3470_, v_sz_3473_, v___x_3466_, v___x_3472_);
lean_dec_ref(v___x_3470_);
lean_dec(v_size_3458_);
v_fst_3475_ = lean_ctor_get(v___x_3474_, 0);
lean_inc(v_fst_3475_);
lean_dec_ref(v___x_3474_);
return v_fst_3475_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4___boxed(lean_object* v_m_3490_, lean_object* v_e_3491_, lean_object* v_varPrefix_3492_, lean_object* v_varType_3493_, lean_object* v_toExpr_3494_){
_start:
{
lean_object* v_res_3495_; 
v_res_3495_ = l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4(v_m_3490_, v_e_3491_, v_varPrefix_3492_, v_varType_3493_, v_toExpr_3494_);
lean_dec_ref(v_e_3491_);
return v_res_3495_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__5(size_t v_sz_3496_, size_t v_i_3497_, lean_object* v_bs_3498_){
_start:
{
uint8_t v___x_3499_; 
v___x_3499_ = lean_usize_dec_lt(v_i_3497_, v_sz_3496_);
if (v___x_3499_ == 0)
{
return v_bs_3498_;
}
else
{
lean_object* v_v_3500_; lean_object* v_snd_3501_; lean_object* v___x_3502_; lean_object* v_bs_x27_3503_; size_t v___x_3504_; size_t v___x_3505_; lean_object* v___x_3506_; 
v_v_3500_ = lean_array_uget_borrowed(v_bs_3498_, v_i_3497_);
v_snd_3501_ = lean_ctor_get(v_v_3500_, 1);
lean_inc(v_snd_3501_);
v___x_3502_ = lean_unsigned_to_nat(0u);
v_bs_x27_3503_ = lean_array_uset(v_bs_3498_, v_i_3497_, v___x_3502_);
v___x_3504_ = ((size_t)1ULL);
v___x_3505_ = lean_usize_add(v_i_3497_, v___x_3504_);
v___x_3506_ = lean_array_uset(v_bs_x27_3503_, v_i_3497_, v_snd_3501_);
v_i_3497_ = v___x_3505_;
v_bs_3498_ = v___x_3506_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__5___boxed(lean_object* v_sz_3508_, lean_object* v_i_3509_, lean_object* v_bs_3510_){
_start:
{
size_t v_sz_boxed_3511_; size_t v_i_boxed_3512_; lean_object* v_res_3513_; 
v_sz_boxed_3511_ = lean_unbox_usize(v_sz_3508_);
lean_dec(v_sz_3508_);
v_i_boxed_3512_ = lean_unbox_usize(v_i_3509_);
lean_dec(v_i_3509_);
v_res_3513_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__5(v_sz_boxed_3511_, v_i_boxed_3512_, v_bs_3510_);
return v_res_3513_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__8(lean_object* v_varPrefix_3514_, lean_object* v_toExpr_3515_, lean_object* v_varType_3516_, lean_object* v___x_3517_, lean_object* v_as_3518_, size_t v_sz_3519_, size_t v_i_3520_, lean_object* v_b_3521_){
_start:
{
uint8_t v___x_3522_; 
v___x_3522_ = lean_usize_dec_lt(v_i_3520_, v_sz_3519_);
if (v___x_3522_ == 0)
{
lean_dec_ref(v_varType_3516_);
lean_dec_ref(v_toExpr_3515_);
lean_dec(v_varPrefix_3514_);
return v_b_3521_;
}
else
{
lean_object* v_a_3523_; lean_object* v_fst_3524_; lean_object* v_fst_3525_; lean_object* v_snd_3526_; lean_object* v___x_3528_; uint8_t v_isShared_3529_; uint8_t v_isSharedCheck_3543_; 
v_a_3523_ = lean_array_uget_borrowed(v_as_3518_, v_i_3520_);
v_fst_3524_ = lean_ctor_get(v_a_3523_, 0);
v_fst_3525_ = lean_ctor_get(v_b_3521_, 0);
v_snd_3526_ = lean_ctor_get(v_b_3521_, 1);
v_isSharedCheck_3543_ = !lean_is_exclusive(v_b_3521_);
if (v_isSharedCheck_3543_ == 0)
{
v___x_3528_ = v_b_3521_;
v_isShared_3529_ = v_isSharedCheck_3543_;
goto v_resetjp_3527_;
}
else
{
lean_inc(v_snd_3526_);
lean_inc(v_fst_3525_);
lean_dec(v_b_3521_);
v___x_3528_ = lean_box(0);
v_isShared_3529_ = v_isSharedCheck_3543_;
goto v_resetjp_3527_;
}
v_resetjp_3527_:
{
lean_object* v___x_3530_; uint8_t v___x_3531_; lean_object* v___x_3532_; lean_object* v___x_3533_; lean_object* v___x_3534_; lean_object* v___x_3535_; lean_object* v___x_3536_; lean_object* v___x_3538_; 
v___x_3530_ = lean_unsigned_to_nat(0u);
v___x_3531_ = lean_nat_dec_eq(v___x_3517_, v___x_3530_);
lean_inc(v_snd_3526_);
lean_inc(v_varPrefix_3514_);
v___x_3532_ = lean_name_append_index_after(v_varPrefix_3514_, v_snd_3526_);
lean_inc_ref(v_toExpr_3515_);
lean_inc(v_fst_3524_);
v___x_3533_ = lean_apply_1(v_toExpr_3515_, v_fst_3524_);
lean_inc_ref(v_varType_3516_);
v___x_3534_ = l_Lean_Expr_letE___override(v___x_3532_, v_varType_3516_, v___x_3533_, v_fst_3525_, v___x_3531_);
v___x_3535_ = lean_unsigned_to_nat(1u);
v___x_3536_ = lean_nat_sub(v_snd_3526_, v___x_3535_);
lean_dec(v_snd_3526_);
if (v_isShared_3529_ == 0)
{
lean_ctor_set(v___x_3528_, 1, v___x_3536_);
lean_ctor_set(v___x_3528_, 0, v___x_3534_);
v___x_3538_ = v___x_3528_;
goto v_reusejp_3537_;
}
else
{
lean_object* v_reuseFailAlloc_3542_; 
v_reuseFailAlloc_3542_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3542_, 0, v___x_3534_);
lean_ctor_set(v_reuseFailAlloc_3542_, 1, v___x_3536_);
v___x_3538_ = v_reuseFailAlloc_3542_;
goto v_reusejp_3537_;
}
v_reusejp_3537_:
{
size_t v___x_3539_; size_t v___x_3540_; 
v___x_3539_ = ((size_t)1ULL);
v___x_3540_ = lean_usize_add(v_i_3520_, v___x_3539_);
v_i_3520_ = v___x_3540_;
v_b_3521_ = v___x_3538_;
goto _start;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__8___boxed(lean_object* v_varPrefix_3544_, lean_object* v_toExpr_3545_, lean_object* v_varType_3546_, lean_object* v___x_3547_, lean_object* v_as_3548_, lean_object* v_sz_3549_, lean_object* v_i_3550_, lean_object* v_b_3551_){
_start:
{
size_t v_sz_boxed_3552_; size_t v_i_boxed_3553_; lean_object* v_res_3554_; 
v_sz_boxed_3552_ = lean_unbox_usize(v_sz_3549_);
lean_dec(v_sz_3549_);
v_i_boxed_3553_ = lean_unbox_usize(v_i_3550_);
lean_dec(v_i_3550_);
v_res_3554_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__8(v_varPrefix_3544_, v_toExpr_3545_, v_varType_3546_, v___x_3547_, v_as_3548_, v_sz_boxed_3552_, v_i_boxed_3553_, v_b_3551_);
lean_dec_ref(v_as_3548_);
lean_dec(v___x_3547_);
return v_res_3554_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__7(size_t v_sz_3555_, size_t v_i_3556_, lean_object* v_bs_3557_){
_start:
{
uint8_t v___x_3558_; 
v___x_3558_ = lean_usize_dec_lt(v_i_3556_, v_sz_3555_);
if (v___x_3558_ == 0)
{
return v_bs_3557_;
}
else
{
lean_object* v_v_3559_; lean_object* v_snd_3560_; lean_object* v___x_3561_; lean_object* v_bs_x27_3562_; size_t v___x_3563_; size_t v___x_3564_; lean_object* v___x_3565_; 
v_v_3559_ = lean_array_uget_borrowed(v_bs_3557_, v_i_3556_);
v_snd_3560_ = lean_ctor_get(v_v_3559_, 1);
lean_inc(v_snd_3560_);
v___x_3561_ = lean_unsigned_to_nat(0u);
v_bs_x27_3562_ = lean_array_uset(v_bs_3557_, v_i_3556_, v___x_3561_);
v___x_3563_ = ((size_t)1ULL);
v___x_3564_ = lean_usize_add(v_i_3556_, v___x_3563_);
v___x_3565_ = lean_array_uset(v_bs_x27_3562_, v_i_3556_, v_snd_3560_);
v_i_3556_ = v___x_3564_;
v_bs_3557_ = v___x_3565_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__7___boxed(lean_object* v_sz_3567_, lean_object* v_i_3568_, lean_object* v_bs_3569_){
_start:
{
size_t v_sz_boxed_3570_; size_t v_i_boxed_3571_; lean_object* v_res_3572_; 
v_sz_boxed_3570_ = lean_unbox_usize(v_sz_3567_);
lean_dec(v_sz_3567_);
v_i_boxed_3571_ = lean_unbox_usize(v_i_3568_);
lean_dec(v_i_3568_);
v_res_3572_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__7(v_sz_boxed_3570_, v_i_boxed_3571_, v_bs_3569_);
return v_res_3572_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__9(lean_object* v_x_3573_, lean_object* v_x_3574_){
_start:
{
if (lean_obj_tag(v_x_3574_) == 0)
{
return v_x_3573_;
}
else
{
lean_object* v_key_3575_; lean_object* v_value_3576_; lean_object* v_tail_3577_; lean_object* v___x_3578_; lean_object* v___x_3579_; 
v_key_3575_ = lean_ctor_get(v_x_3574_, 0);
v_value_3576_ = lean_ctor_get(v_x_3574_, 1);
v_tail_3577_ = lean_ctor_get(v_x_3574_, 2);
lean_inc(v_value_3576_);
lean_inc(v_key_3575_);
v___x_3578_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3578_, 0, v_key_3575_);
lean_ctor_set(v___x_3578_, 1, v_value_3576_);
v___x_3579_ = lean_array_push(v_x_3573_, v___x_3578_);
v_x_3573_ = v___x_3579_;
v_x_3574_ = v_tail_3577_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__9___boxed(lean_object* v_x_3581_, lean_object* v_x_3582_){
_start:
{
lean_object* v_res_3583_; 
v_res_3583_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__9(v_x_3581_, v_x_3582_);
lean_dec(v_x_3582_);
return v_res_3583_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__10(lean_object* v_as_3584_, size_t v_i_3585_, size_t v_stop_3586_, lean_object* v_b_3587_){
_start:
{
uint8_t v___x_3588_; 
v___x_3588_ = lean_usize_dec_eq(v_i_3585_, v_stop_3586_);
if (v___x_3588_ == 0)
{
lean_object* v___x_3589_; lean_object* v___x_3590_; size_t v___x_3591_; size_t v___x_3592_; 
v___x_3589_ = lean_array_uget_borrowed(v_as_3584_, v_i_3585_);
v___x_3590_ = l_Std_DHashMap_Internal_AssocList_foldlM___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__9(v_b_3587_, v___x_3589_);
v___x_3591_ = ((size_t)1ULL);
v___x_3592_ = lean_usize_add(v_i_3585_, v___x_3591_);
v_i_3585_ = v___x_3592_;
v_b_3587_ = v___x_3590_;
goto _start;
}
else
{
return v_b_3587_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__10___boxed(lean_object* v_as_3594_, lean_object* v_i_3595_, lean_object* v_stop_3596_, lean_object* v_b_3597_){
_start:
{
size_t v_i_boxed_3598_; size_t v_stop_boxed_3599_; lean_object* v_res_3600_; 
v_i_boxed_3598_ = lean_unbox_usize(v_i_3595_);
lean_dec(v_i_3595_);
v_stop_boxed_3599_ = lean_unbox_usize(v_stop_3596_);
lean_dec(v_stop_3596_);
v_res_3600_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__10(v_as_3594_, v_i_boxed_3598_, v_stop_boxed_3599_, v_b_3597_);
lean_dec_ref(v_as_3594_);
return v_res_3600_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3(lean_object* v_m_3601_, lean_object* v_e_3602_, lean_object* v_varPrefix_3603_, lean_object* v_varType_3604_, lean_object* v_toExpr_3605_){
_start:
{
lean_object* v_size_3606_; lean_object* v_buckets_3607_; lean_object* v___x_3609_; uint8_t v_isShared_3610_; uint8_t v_isSharedCheck_3637_; 
v_size_3606_ = lean_ctor_get(v_m_3601_, 0);
v_buckets_3607_ = lean_ctor_get(v_m_3601_, 1);
v_isSharedCheck_3637_ = !lean_is_exclusive(v_m_3601_);
if (v_isSharedCheck_3637_ == 0)
{
v___x_3609_ = v_m_3601_;
v_isShared_3610_ = v_isSharedCheck_3637_;
goto v_resetjp_3608_;
}
else
{
lean_inc(v_buckets_3607_);
lean_inc(v_size_3606_);
lean_dec(v_m_3601_);
v___x_3609_ = lean_box(0);
v_isShared_3610_ = v_isSharedCheck_3637_;
goto v_resetjp_3608_;
}
v_resetjp_3608_:
{
lean_object* v___y_3612_; lean_object* v___x_3625_; uint8_t v___x_3626_; 
v___x_3625_ = lean_unsigned_to_nat(0u);
v___x_3626_ = lean_nat_dec_eq(v_size_3606_, v___x_3625_);
if (v___x_3626_ == 0)
{
lean_object* v___x_3627_; lean_object* v___x_3628_; uint8_t v___x_3629_; 
v___x_3627_ = lean_mk_empty_array_with_capacity(v_size_3606_);
v___x_3628_ = lean_array_get_size(v_buckets_3607_);
v___x_3629_ = lean_nat_dec_lt(v___x_3625_, v___x_3628_);
if (v___x_3629_ == 0)
{
lean_dec_ref(v_buckets_3607_);
v___y_3612_ = v___x_3627_;
goto v___jp_3611_;
}
else
{
uint8_t v___x_3630_; 
v___x_3630_ = lean_nat_dec_le(v___x_3628_, v___x_3628_);
if (v___x_3630_ == 0)
{
if (v___x_3629_ == 0)
{
lean_dec_ref(v_buckets_3607_);
v___y_3612_ = v___x_3627_;
goto v___jp_3611_;
}
else
{
size_t v___x_3631_; size_t v___x_3632_; lean_object* v___x_3633_; 
v___x_3631_ = ((size_t)0ULL);
v___x_3632_ = lean_usize_of_nat(v___x_3628_);
v___x_3633_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__10(v_buckets_3607_, v___x_3631_, v___x_3632_, v___x_3627_);
lean_dec_ref(v_buckets_3607_);
v___y_3612_ = v___x_3633_;
goto v___jp_3611_;
}
}
else
{
size_t v___x_3634_; size_t v___x_3635_; lean_object* v___x_3636_; 
v___x_3634_ = ((size_t)0ULL);
v___x_3635_ = lean_usize_of_nat(v___x_3628_);
v___x_3636_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__10(v_buckets_3607_, v___x_3634_, v___x_3635_, v___x_3627_);
lean_dec_ref(v_buckets_3607_);
v___y_3612_ = v___x_3636_;
goto v___jp_3611_;
}
}
}
else
{
lean_del_object(v___x_3609_);
lean_dec_ref(v_buckets_3607_);
lean_dec(v_size_3606_);
lean_dec_ref(v_toExpr_3605_);
lean_dec_ref(v_varType_3604_);
lean_dec(v_varPrefix_3603_);
lean_inc_ref(v_e_3602_);
return v_e_3602_;
}
v___jp_3611_:
{
size_t v_sz_3613_; size_t v___x_3614_; lean_object* v___x_3615_; lean_object* v_e_3616_; lean_object* v_i_3617_; lean_object* v___x_3618_; lean_object* v___x_3620_; 
v_sz_3613_ = lean_array_size(v___y_3612_);
v___x_3614_ = ((size_t)0ULL);
lean_inc_ref(v___y_3612_);
v___x_3615_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__7(v_sz_3613_, v___x_3614_, v___y_3612_);
v_e_3616_ = lean_expr_abstract(v_e_3602_, v___x_3615_);
lean_dec_ref(v___x_3615_);
v_i_3617_ = lean_array_get_size(v___y_3612_);
v___x_3618_ = l_Array_reverse___redArg(v___y_3612_);
if (v_isShared_3610_ == 0)
{
lean_ctor_set(v___x_3609_, 1, v_i_3617_);
lean_ctor_set(v___x_3609_, 0, v_e_3616_);
v___x_3620_ = v___x_3609_;
goto v_reusejp_3619_;
}
else
{
lean_object* v_reuseFailAlloc_3624_; 
v_reuseFailAlloc_3624_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3624_, 0, v_e_3616_);
lean_ctor_set(v_reuseFailAlloc_3624_, 1, v_i_3617_);
v___x_3620_ = v_reuseFailAlloc_3624_;
goto v_reusejp_3619_;
}
v_reusejp_3619_:
{
size_t v_sz_3621_; lean_object* v___x_3622_; lean_object* v_fst_3623_; 
v_sz_3621_ = lean_array_size(v___x_3618_);
v___x_3622_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3_spec__8(v_varPrefix_3603_, v_toExpr_3605_, v_varType_3604_, v_size_3606_, v___x_3618_, v_sz_3621_, v___x_3614_, v___x_3620_);
lean_dec_ref(v___x_3618_);
lean_dec(v_size_3606_);
v_fst_3623_ = lean_ctor_get(v___x_3622_, 0);
lean_inc(v_fst_3623_);
lean_dec_ref(v___x_3622_);
return v_fst_3623_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3___boxed(lean_object* v_m_3638_, lean_object* v_e_3639_, lean_object* v_varPrefix_3640_, lean_object* v_varType_3641_, lean_object* v_toExpr_3642_){
_start:
{
lean_object* v_res_3643_; 
v_res_3643_ = l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3(v_m_3638_, v_e_3639_, v_varPrefix_3640_, v_varType_3641_, v_toExpr_3642_);
lean_dec_ref(v_e_3639_);
return v_res_3643_;
}
}
static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__6___closed__0(void){
_start:
{
lean_object* v___x_3644_; lean_object* v___x_3645_; 
v___x_3644_ = lean_unsigned_to_nat(0u);
v___x_3645_ = l_Lean_mkNatLit(v___x_3644_);
return v___x_3645_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__6(lean_object* v___x_3646_, size_t v_sz_3647_, size_t v_i_3648_, lean_object* v_bs_3649_){
_start:
{
uint8_t v___x_3650_; 
v___x_3650_ = lean_usize_dec_lt(v_i_3648_, v_sz_3647_);
if (v___x_3650_ == 0)
{
return v_bs_3649_;
}
else
{
lean_object* v_v_3651_; lean_object* v_fst_3652_; lean_object* v___x_3653_; lean_object* v_bs_x27_3654_; lean_object* v___y_3656_; lean_object* v___x_3661_; 
v_v_3651_ = lean_array_uget_borrowed(v_bs_3649_, v_i_3648_);
v_fst_3652_ = lean_ctor_get(v_v_3651_, 0);
lean_inc(v_fst_3652_);
v___x_3653_ = lean_unsigned_to_nat(0u);
v_bs_x27_3654_ = lean_array_uset(v_bs_3649_, v_i_3648_, v___x_3653_);
v___x_3661_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_mkVarDecl_spec__0___redArg(v___x_3646_, v_fst_3652_);
lean_dec(v_fst_3652_);
if (lean_obj_tag(v___x_3661_) == 0)
{
lean_object* v___x_3662_; 
v___x_3662_ = lean_obj_once(&l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__6___closed__0, &l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__6___closed__0_once, _init_l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__6___closed__0);
v___y_3656_ = v___x_3662_;
goto v___jp_3655_;
}
else
{
lean_object* v_val_3663_; lean_object* v___x_3664_; 
v_val_3663_ = lean_ctor_get(v___x_3661_, 0);
lean_inc(v_val_3663_);
lean_dec_ref(v___x_3661_);
v___x_3664_ = l_Lean_mkNatLit(v_val_3663_);
v___y_3656_ = v___x_3664_;
goto v___jp_3655_;
}
v___jp_3655_:
{
size_t v___x_3657_; size_t v___x_3658_; lean_object* v___x_3659_; 
v___x_3657_ = ((size_t)1ULL);
v___x_3658_ = lean_usize_add(v_i_3648_, v___x_3657_);
v___x_3659_ = lean_array_uset(v_bs_x27_3654_, v_i_3648_, v___y_3656_);
v_i_3648_ = v___x_3658_;
v_bs_3649_ = v___x_3659_;
goto _start;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__6___boxed(lean_object* v___x_3665_, lean_object* v_sz_3666_, lean_object* v_i_3667_, lean_object* v_bs_3668_){
_start:
{
size_t v_sz_boxed_3669_; size_t v_i_boxed_3670_; lean_object* v_res_3671_; 
v_sz_boxed_3669_ = lean_unbox_usize(v_sz_3666_);
lean_dec(v_sz_3666_);
v_i_boxed_3670_ = lean_unbox_usize(v_i_3667_);
lean_dec(v_i_3667_);
v_res_3671_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__6(v___x_3665_, v_sz_boxed_3669_, v_i_boxed_3670_, v_bs_3668_);
lean_dec_ref(v___x_3665_);
return v_res_3671_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__5(void){
_start:
{
lean_object* v___x_3681_; lean_object* v___x_3682_; lean_object* v___x_3683_; 
v___x_3681_ = lean_box(0);
v___x_3682_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__4));
v___x_3683_ = l_Lean_mkConst(v___x_3682_, v___x_3681_);
return v___x_3683_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__11(void){
_start:
{
lean_object* v___x_3695_; lean_object* v___x_3696_; lean_object* v___x_3697_; 
v___x_3695_ = lean_box(0);
v___x_3696_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__10));
v___x_3697_ = l_Lean_mkConst(v___x_3696_, v___x_3695_);
return v___x_3697_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext(lean_object* v_h_3701_, lean_object* v_a_3702_, lean_object* v_a_3703_, lean_object* v_a_3704_, lean_object* v_a_3705_, lean_object* v_a_3706_, lean_object* v_a_3707_, lean_object* v_a_3708_, lean_object* v_a_3709_, lean_object* v_a_3710_, lean_object* v_a_3711_, lean_object* v_a_3712_, lean_object* v_a_3713_, lean_object* v_a_3714_){
_start:
{
lean_object* v___x_3716_; 
v___x_3716_ = l_Lean_Meta_Grind_Arith_Linear_isCommRing(v_a_3704_, v_a_3705_, v_a_3706_, v_a_3707_, v_a_3708_, v_a_3709_, v_a_3710_, v_a_3711_, v_a_3712_, v_a_3713_, v_a_3714_);
if (lean_obj_tag(v___x_3716_) == 0)
{
lean_object* v_a_3717_; lean_object* v___x_3719_; uint8_t v_isShared_3720_; uint8_t v_isSharedCheck_3833_; 
v_a_3717_ = lean_ctor_get(v___x_3716_, 0);
v_isSharedCheck_3833_ = !lean_is_exclusive(v___x_3716_);
if (v_isSharedCheck_3833_ == 0)
{
v___x_3719_ = v___x_3716_;
v_isShared_3720_ = v_isSharedCheck_3833_;
goto v_resetjp_3718_;
}
else
{
lean_inc(v_a_3717_);
lean_dec(v___x_3716_);
v___x_3719_ = lean_box(0);
v_isShared_3720_ = v_isSharedCheck_3833_;
goto v_resetjp_3718_;
}
v_resetjp_3718_:
{
uint8_t v___x_3721_; 
v___x_3721_ = lean_unbox(v_a_3717_);
lean_dec(v_a_3717_);
if (v___x_3721_ == 0)
{
lean_object* v___x_3723_; 
lean_dec(v_a_3714_);
lean_dec_ref(v_a_3713_);
lean_dec(v_a_3712_);
lean_dec_ref(v_a_3711_);
lean_dec(v_a_3710_);
lean_dec_ref(v_a_3709_);
lean_dec(v_a_3708_);
lean_dec_ref(v_a_3707_);
lean_dec(v_a_3706_);
lean_dec(v_a_3705_);
lean_dec_ref(v_a_3702_);
if (v_isShared_3720_ == 0)
{
lean_ctor_set(v___x_3719_, 0, v_h_3701_);
v___x_3723_ = v___x_3719_;
goto v_reusejp_3722_;
}
else
{
lean_object* v_reuseFailAlloc_3724_; 
v_reuseFailAlloc_3724_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3724_, 0, v_h_3701_);
v___x_3723_ = v_reuseFailAlloc_3724_;
goto v_reusejp_3722_;
}
v_reusejp_3722_:
{
return v___x_3723_;
}
}
else
{
lean_object* v___f_3725_; lean_object* v___x_3726_; 
lean_del_object(v___x_3719_);
v___f_3725_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__0));
lean_inc(v_a_3714_);
lean_inc_ref(v_a_3713_);
lean_inc(v_a_3712_);
lean_inc_ref(v_a_3711_);
lean_inc(v_a_3710_);
lean_inc_ref(v_a_3709_);
lean_inc(v_a_3708_);
lean_inc_ref(v_a_3707_);
lean_inc(v_a_3706_);
lean_inc(v_a_3705_);
v___x_3726_ = l_Lean_Meta_Grind_Arith_Linear_withRingM___redArg(v___f_3725_, v_a_3704_, v_a_3705_, v_a_3706_, v_a_3707_, v_a_3708_, v_a_3709_, v_a_3710_, v_a_3711_, v_a_3712_, v_a_3713_, v_a_3714_);
if (lean_obj_tag(v___x_3726_) == 0)
{
lean_object* v_a_3727_; lean_object* v___x_3729_; uint8_t v_isShared_3730_; uint8_t v_isSharedCheck_3824_; 
v_a_3727_ = lean_ctor_get(v___x_3726_, 0);
v_isSharedCheck_3824_ = !lean_is_exclusive(v___x_3726_);
if (v_isSharedCheck_3824_ == 0)
{
v___x_3729_ = v___x_3726_;
v_isShared_3730_ = v_isSharedCheck_3824_;
goto v_resetjp_3728_;
}
else
{
lean_inc(v_a_3727_);
lean_dec(v___x_3726_);
v___x_3729_ = lean_box(0);
v_isShared_3730_ = v_isSharedCheck_3824_;
goto v_resetjp_3728_;
}
v_resetjp_3728_:
{
lean_object* v___x_3731_; lean_object* v___x_3732_; lean_object* v___x_3733_; lean_object* v_ringVarDecls_3734_; lean_object* v_ringPolyDecls_3735_; lean_object* v_ringExprDecls_3736_; lean_object* v___x_3737_; lean_object* v___x_3738_; lean_object* v_vars_3739_; lean_object* v_ringExprDecls_3740_; lean_object* v_ringPolyDecls_3741_; lean_object* v_size_3742_; lean_object* v_buckets_3743_; lean_object* v___f_3744_; lean_object* v___f_3745_; lean_object* v___x_3746_; lean_object* v___x_3747_; lean_object* v___x_3748_; lean_object* v___x_3749_; lean_object* v___x_3750_; lean_object* v___x_3751_; lean_object* v___x_3752_; lean_object* v___x_3753_; size_t v_sz_3754_; lean_object* v___x_3755_; lean_object* v___x_3756_; lean_object* v___f_3757_; lean_object* v___f_3758_; size_t v___x_3759_; 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_; lean_object* v___y_3767_; lean_object* v___x_3816_; lean_object* v___x_3817_; uint8_t v___x_3818_; 
v___x_3731_ = lean_st_ref_get(v_a_3703_);
v___x_3732_ = lean_st_ref_get(v_a_3703_);
v___x_3733_ = lean_st_ref_get(v_a_3703_);
v_ringVarDecls_3734_ = lean_ctor_get(v___x_3731_, 6);
lean_inc_ref(v_ringVarDecls_3734_);
lean_dec(v___x_3731_);
v_ringPolyDecls_3735_ = lean_ctor_get(v___x_3732_, 4);
lean_inc_ref(v_ringPolyDecls_3735_);
lean_dec(v___x_3732_);
v_ringExprDecls_3736_ = lean_ctor_get(v___x_3733_, 5);
lean_inc_ref(v_ringExprDecls_3736_);
lean_dec(v___x_3733_);
v___x_3737_ = lean_st_ref_get(v_a_3703_);
v___x_3738_ = lean_st_ref_get(v_a_3703_);
v_vars_3739_ = lean_ctor_get(v_a_3727_, 14);
lean_inc_ref(v_vars_3739_);
lean_dec(v_a_3727_);
v_ringExprDecls_3740_ = lean_ctor_get(v___x_3737_, 5);
lean_inc_ref(v_ringExprDecls_3740_);
lean_dec(v___x_3737_);
v_ringPolyDecls_3741_ = lean_ctor_get(v___x_3738_, 4);
lean_inc_ref(v_ringPolyDecls_3741_);
lean_dec(v___x_3738_);
v_size_3742_ = lean_ctor_get(v_ringVarDecls_3734_, 0);
lean_inc(v_size_3742_);
v_buckets_3743_ = lean_ctor_get(v_ringVarDecls_3734_, 1);
lean_inc_ref(v_buckets_3743_);
v___f_3744_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__1));
v___f_3745_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__2));
v___x_3746_ = lean_unsigned_to_nat(0u);
v___x_3747_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__3);
v___x_3748_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0___redArg(v_ringPolyDecls_3735_, v___f_3744_, v___x_3747_);
lean_dec_ref(v_ringPolyDecls_3735_);
v___x_3749_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1___redArg(v_ringExprDecls_3736_, v___f_3745_, v___x_3748_);
lean_dec_ref(v_ringExprDecls_3736_);
v___x_3750_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__4));
v___x_3751_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext_spec__0___redArg(v_ringVarDecls_3734_, v___x_3750_, v___x_3749_);
lean_dec_ref(v_ringVarDecls_3734_);
v___x_3752_ = l_Lean_Meta_Grind_FoundVars_toArray(v___x_3751_);
lean_dec_ref(v___x_3751_);
v___x_3753_ = l_Lean_Meta_Grind_mkVarRename(v___x_3752_);
v_sz_3754_ = lean_array_size(v___x_3752_);
v___x_3755_ = lean_box(0);
v___x_3756_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__5, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__5_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__5);
lean_inc_ref(v___x_3753_);
v___f_3757_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__1___boxed), 2, 1);
lean_closure_set(v___f_3757_, 0, v___x_3753_);
lean_inc_ref(v___x_3753_);
v___f_3758_ = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___lam__2___boxed), 2, 1);
lean_closure_set(v___f_3758_, 0, v___x_3753_);
v___x_3759_ = ((size_t)0ULL);
v___x_3760_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__2(v_vars_3739_, v_sz_3754_, v___x_3759_, v___x_3752_);
v___x_3761_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__7));
v___x_3762_ = l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__3(v_ringExprDecls_3740_, v_h_3701_, v___x_3761_, v___x_3756_, v___f_3757_);
lean_dec_ref(v_h_3701_);
v___x_3763_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__9));
v___x_3764_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__11, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__11_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__11);
v___x_3765_ = l_Lean_Meta_Grind_mkLetOfMap___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__4(v_ringPolyDecls_3741_, v___x_3762_, v___x_3763_, v___x_3764_, v___f_3758_);
lean_dec_ref(v___x_3762_);
v___x_3816_ = lean_mk_empty_array_with_capacity(v_size_3742_);
lean_dec(v_size_3742_);
v___x_3817_ = lean_array_get_size(v_buckets_3743_);
v___x_3818_ = lean_nat_dec_lt(v___x_3746_, v___x_3817_);
if (v___x_3818_ == 0)
{
lean_dec_ref(v_buckets_3743_);
v___y_3767_ = v___x_3816_;
goto v___jp_3766_;
}
else
{
uint8_t v___x_3819_; 
v___x_3819_ = lean_nat_dec_le(v___x_3817_, v___x_3817_);
if (v___x_3819_ == 0)
{
if (v___x_3818_ == 0)
{
lean_dec_ref(v_buckets_3743_);
v___y_3767_ = v___x_3816_;
goto v___jp_3766_;
}
else
{
size_t v___x_3820_; lean_object* v___x_3821_; 
v___x_3820_ = lean_usize_of_nat(v___x_3817_);
v___x_3821_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__8(v_buckets_3743_, v___x_3759_, v___x_3820_, v___x_3816_);
lean_dec_ref(v_buckets_3743_);
v___y_3767_ = v___x_3821_;
goto v___jp_3766_;
}
}
else
{
size_t v___x_3822_; lean_object* v___x_3823_; 
v___x_3822_ = lean_usize_of_nat(v___x_3817_);
v___x_3823_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__8(v_buckets_3743_, v___x_3759_, v___x_3822_, v___x_3816_);
lean_dec_ref(v_buckets_3743_);
v___y_3767_ = v___x_3823_;
goto v___jp_3766_;
}
}
v___jp_3766_:
{
lean_object* v_ringCtx_3768_; lean_object* v___x_3770_; uint8_t v_isShared_3771_; uint8_t v_isSharedCheck_3814_; 
v_ringCtx_3768_ = lean_ctor_get(v_a_3702_, 1);
v_isSharedCheck_3814_ = !lean_is_exclusive(v_a_3702_);
if (v_isSharedCheck_3814_ == 0)
{
lean_object* v_unused_3815_; 
v_unused_3815_ = lean_ctor_get(v_a_3702_, 0);
lean_dec(v_unused_3815_);
v___x_3770_ = v_a_3702_;
v_isShared_3771_ = v_isSharedCheck_3814_;
goto v_resetjp_3769_;
}
else
{
lean_inc(v_ringCtx_3768_);
lean_dec(v_a_3702_);
v___x_3770_ = lean_box(0);
v_isShared_3771_ = v_isSharedCheck_3814_;
goto v_resetjp_3769_;
}
v_resetjp_3769_:
{
size_t v_sz_3772_; lean_object* v___x_3773_; lean_object* v___x_3774_; lean_object* v___x_3775_; lean_object* v___x_3776_; lean_object* v___x_3777_; lean_object* v___x_3778_; lean_object* v___x_3779_; uint8_t v___x_3780_; 
v_sz_3772_ = lean_array_size(v___y_3767_);
lean_inc_ref(v___y_3767_);
v___x_3773_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__5(v_sz_3772_, v___x_3759_, v___y_3767_);
v___x_3774_ = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__6(v___x_3753_, v_sz_3772_, v___x_3759_, v___y_3767_);
lean_dec_ref(v___x_3753_);
v___x_3775_ = l_Lean_Expr_replaceFVars(v___x_3765_, v___x_3773_, v___x_3774_);
lean_dec_ref(v___x_3774_);
lean_dec_ref(v___x_3773_);
lean_dec_ref(v___x_3765_);
v___x_3776_ = lean_unsigned_to_nat(1u);
v___x_3777_ = lean_mk_empty_array_with_capacity(v___x_3776_);
v___x_3778_ = lean_array_push(v___x_3777_, v_ringCtx_3768_);
v___x_3779_ = lean_expr_abstract(v___x_3775_, v___x_3778_);
lean_dec_ref(v___x_3778_);
lean_dec_ref(v___x_3775_);
v___x_3780_ = l_Lean_Expr_hasLooseBVars(v___x_3779_);
if (v___x_3780_ == 0)
{
lean_object* v___x_3782_; 
lean_del_object(v___x_3770_);
lean_dec_ref(v___x_3760_);
lean_dec(v_a_3714_);
lean_dec_ref(v_a_3713_);
lean_dec(v_a_3712_);
lean_dec_ref(v_a_3711_);
lean_dec(v_a_3710_);
lean_dec_ref(v_a_3709_);
lean_dec(v_a_3708_);
lean_dec_ref(v_a_3707_);
lean_dec(v_a_3706_);
lean_dec(v_a_3705_);
if (v_isShared_3730_ == 0)
{
lean_ctor_set(v___x_3729_, 0, v___x_3779_);
v___x_3782_ = v___x_3729_;
goto v_reusejp_3781_;
}
else
{
lean_object* v_reuseFailAlloc_3783_; 
v_reuseFailAlloc_3783_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3783_, 0, v___x_3779_);
v___x_3782_ = v_reuseFailAlloc_3783_;
goto v_reusejp_3781_;
}
v_reusejp_3781_:
{
return v___x_3782_;
}
}
else
{
lean_object* v___x_3784_; 
lean_del_object(v___x_3729_);
v___x_3784_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_3704_, v_a_3705_, v_a_3706_, v_a_3707_, v_a_3708_, v_a_3709_, v_a_3710_, v_a_3711_, v_a_3712_, v_a_3713_, v_a_3714_);
if (lean_obj_tag(v___x_3784_) == 0)
{
lean_object* v_a_3785_; lean_object* v___x_3786_; 
v_a_3785_ = lean_ctor_get(v___x_3784_, 0);
lean_inc(v_a_3785_);
lean_dec_ref(v___x_3784_);
v___x_3786_ = l_Lean_Meta_Grind_Arith_Linear_toContextExpr(v___x_3760_, v_a_3704_, v_a_3705_, v_a_3706_, v_a_3707_, v_a_3708_, v_a_3709_, v_a_3710_, v_a_3711_, v_a_3712_, v_a_3713_, v_a_3714_);
lean_dec(v_a_3710_);
lean_dec_ref(v_a_3709_);
lean_dec(v_a_3708_);
lean_dec_ref(v_a_3707_);
lean_dec(v_a_3706_);
lean_dec(v_a_3705_);
if (lean_obj_tag(v___x_3786_) == 0)
{
lean_object* v_a_3787_; lean_object* v___x_3789_; uint8_t v_isShared_3790_; uint8_t v_isSharedCheck_3805_; 
v_a_3787_ = lean_ctor_get(v___x_3786_, 0);
v_isSharedCheck_3805_ = !lean_is_exclusive(v___x_3786_);
if (v_isSharedCheck_3805_ == 0)
{
v___x_3789_ = v___x_3786_;
v_isShared_3790_ = v_isSharedCheck_3805_;
goto v_resetjp_3788_;
}
else
{
lean_inc(v_a_3787_);
lean_dec(v___x_3786_);
v___x_3789_ = lean_box(0);
v_isShared_3790_ = v_isSharedCheck_3805_;
goto v_resetjp_3788_;
}
v_resetjp_3788_:
{
lean_object* v_type_3791_; lean_object* v_u_3792_; lean_object* v___x_3793_; lean_object* v___x_3795_; 
v_type_3791_ = lean_ctor_get(v_a_3785_, 2);
lean_inc_ref(v_type_3791_);
v_u_3792_ = lean_ctor_get(v_a_3785_, 3);
lean_inc(v_u_3792_);
lean_dec(v_a_3785_);
v___x_3793_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext___closed__17));
if (v_isShared_3771_ == 0)
{
lean_ctor_set_tag(v___x_3770_, 1);
lean_ctor_set(v___x_3770_, 1, v___x_3755_);
lean_ctor_set(v___x_3770_, 0, v_u_3792_);
v___x_3795_ = v___x_3770_;
goto v_reusejp_3794_;
}
else
{
lean_object* v_reuseFailAlloc_3804_; 
v_reuseFailAlloc_3804_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_3804_, 0, v_u_3792_);
lean_ctor_set(v_reuseFailAlloc_3804_, 1, v___x_3755_);
v___x_3795_ = v_reuseFailAlloc_3804_;
goto v_reusejp_3794_;
}
v_reusejp_3794_:
{
lean_object* v___x_3796_; lean_object* v___x_3797_; lean_object* v___x_3798_; uint8_t v___x_3799_; lean_object* v___x_3800_; lean_object* v___x_3802_; 
v___x_3796_ = l_Lean_mkConst(v___x_3793_, v___x_3795_);
v___x_3797_ = l_Lean_Expr_app___override(v___x_3796_, v_type_3791_);
v___x_3798_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__13));
v___x_3799_ = 0;
v___x_3800_ = l_Lean_Expr_letE___override(v___x_3798_, v___x_3797_, v_a_3787_, v___x_3779_, v___x_3799_);
if (v_isShared_3790_ == 0)
{
lean_ctor_set(v___x_3789_, 0, v___x_3800_);
v___x_3802_ = v___x_3789_;
goto v_reusejp_3801_;
}
else
{
lean_object* v_reuseFailAlloc_3803_; 
v_reuseFailAlloc_3803_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3803_, 0, v___x_3800_);
v___x_3802_ = v_reuseFailAlloc_3803_;
goto v_reusejp_3801_;
}
v_reusejp_3801_:
{
return v___x_3802_;
}
}
}
}
else
{
lean_dec(v_a_3785_);
lean_dec_ref(v___x_3779_);
lean_del_object(v___x_3770_);
return v___x_3786_;
}
}
else
{
lean_object* v_a_3806_; lean_object* v___x_3808_; uint8_t v_isShared_3809_; uint8_t v_isSharedCheck_3813_; 
lean_dec_ref(v___x_3779_);
lean_del_object(v___x_3770_);
lean_dec_ref(v___x_3760_);
lean_dec(v_a_3714_);
lean_dec_ref(v_a_3713_);
lean_dec(v_a_3712_);
lean_dec_ref(v_a_3711_);
lean_dec(v_a_3710_);
lean_dec_ref(v_a_3709_);
lean_dec(v_a_3708_);
lean_dec_ref(v_a_3707_);
lean_dec(v_a_3706_);
lean_dec(v_a_3705_);
v_a_3806_ = lean_ctor_get(v___x_3784_, 0);
v_isSharedCheck_3813_ = !lean_is_exclusive(v___x_3784_);
if (v_isSharedCheck_3813_ == 0)
{
v___x_3808_ = v___x_3784_;
v_isShared_3809_ = v_isSharedCheck_3813_;
goto v_resetjp_3807_;
}
else
{
lean_inc(v_a_3806_);
lean_dec(v___x_3784_);
v___x_3808_ = lean_box(0);
v_isShared_3809_ = v_isSharedCheck_3813_;
goto v_resetjp_3807_;
}
v_resetjp_3807_:
{
lean_object* v___x_3811_; 
if (v_isShared_3809_ == 0)
{
v___x_3811_ = v___x_3808_;
goto v_reusejp_3810_;
}
else
{
lean_object* v_reuseFailAlloc_3812_; 
v_reuseFailAlloc_3812_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3812_, 0, v_a_3806_);
v___x_3811_ = v_reuseFailAlloc_3812_;
goto v_reusejp_3810_;
}
v_reusejp_3810_:
{
return v___x_3811_;
}
}
}
}
}
}
}
}
else
{
lean_object* v_a_3825_; lean_object* v___x_3827_; uint8_t v_isShared_3828_; uint8_t v_isSharedCheck_3832_; 
lean_dec(v_a_3714_);
lean_dec_ref(v_a_3713_);
lean_dec(v_a_3712_);
lean_dec_ref(v_a_3711_);
lean_dec(v_a_3710_);
lean_dec_ref(v_a_3709_);
lean_dec(v_a_3708_);
lean_dec_ref(v_a_3707_);
lean_dec(v_a_3706_);
lean_dec(v_a_3705_);
lean_dec_ref(v_a_3702_);
lean_dec_ref(v_h_3701_);
v_a_3825_ = lean_ctor_get(v___x_3726_, 0);
v_isSharedCheck_3832_ = !lean_is_exclusive(v___x_3726_);
if (v_isSharedCheck_3832_ == 0)
{
v___x_3827_ = v___x_3726_;
v_isShared_3828_ = v_isSharedCheck_3832_;
goto v_resetjp_3826_;
}
else
{
lean_inc(v_a_3825_);
lean_dec(v___x_3726_);
v___x_3827_ = lean_box(0);
v_isShared_3828_ = v_isSharedCheck_3832_;
goto v_resetjp_3826_;
}
v_resetjp_3826_:
{
lean_object* v___x_3830_; 
if (v_isShared_3828_ == 0)
{
v___x_3830_ = v___x_3827_;
goto v_reusejp_3829_;
}
else
{
lean_object* v_reuseFailAlloc_3831_; 
v_reuseFailAlloc_3831_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3831_, 0, v_a_3825_);
v___x_3830_ = v_reuseFailAlloc_3831_;
goto v_reusejp_3829_;
}
v_reusejp_3829_:
{
return v___x_3830_;
}
}
}
}
}
}
else
{
lean_object* v_a_3834_; lean_object* v___x_3836_; uint8_t v_isShared_3837_; uint8_t v_isSharedCheck_3841_; 
lean_dec(v_a_3714_);
lean_dec_ref(v_a_3713_);
lean_dec(v_a_3712_);
lean_dec_ref(v_a_3711_);
lean_dec(v_a_3710_);
lean_dec_ref(v_a_3709_);
lean_dec(v_a_3708_);
lean_dec_ref(v_a_3707_);
lean_dec(v_a_3706_);
lean_dec(v_a_3705_);
lean_dec_ref(v_a_3702_);
lean_dec_ref(v_h_3701_);
v_a_3834_ = lean_ctor_get(v___x_3716_, 0);
v_isSharedCheck_3841_ = !lean_is_exclusive(v___x_3716_);
if (v_isSharedCheck_3841_ == 0)
{
v___x_3836_ = v___x_3716_;
v_isShared_3837_ = v_isSharedCheck_3841_;
goto v_resetjp_3835_;
}
else
{
lean_inc(v_a_3834_);
lean_dec(v___x_3716_);
v___x_3836_ = lean_box(0);
v_isShared_3837_ = v_isSharedCheck_3841_;
goto v_resetjp_3835_;
}
v_resetjp_3835_:
{
lean_object* v___x_3839_; 
if (v_isShared_3837_ == 0)
{
v___x_3839_ = v___x_3836_;
goto v_reusejp_3838_;
}
else
{
lean_object* v_reuseFailAlloc_3840_; 
v_reuseFailAlloc_3840_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_3840_, 0, v_a_3834_);
v___x_3839_ = v_reuseFailAlloc_3840_;
goto v_reusejp_3838_;
}
v_reusejp_3838_:
{
return v___x_3839_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___boxed(lean_object* v_h_3842_, lean_object* v_a_3843_, lean_object* v_a_3844_, lean_object* v_a_3845_, lean_object* v_a_3846_, lean_object* v_a_3847_, lean_object* v_a_3848_, lean_object* v_a_3849_, lean_object* v_a_3850_, lean_object* v_a_3851_, lean_object* v_a_3852_, lean_object* v_a_3853_, lean_object* v_a_3854_, lean_object* v_a_3855_, lean_object* v_a_3856_){
_start:
{
lean_object* v_res_3857_; 
v_res_3857_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext(v_h_3842_, v_a_3843_, v_a_3844_, v_a_3845_, v_a_3846_, v_a_3847_, v_a_3848_, v_a_3849_, v_a_3850_, v_a_3851_, v_a_3852_, v_a_3853_, v_a_3854_, v_a_3855_);
lean_dec(v_a_3845_);
lean_dec(v_a_3844_);
return v_res_3857_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0(lean_object* v_Expr_3858_, lean_object* v_m_3859_, lean_object* v_k_3860_, lean_object* v_s_3861_){
_start:
{
lean_object* v___x_3862_; 
v___x_3862_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0___redArg(v_m_3859_, v_k_3860_, v_s_3861_);
return v___x_3862_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0___boxed(lean_object* v_Expr_3863_, lean_object* v_m_3864_, lean_object* v_k_3865_, lean_object* v_s_3866_){
_start:
{
lean_object* v_res_3867_; 
v_res_3867_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0(v_Expr_3863_, v_m_3864_, v_k_3865_, v_s_3866_);
lean_dec_ref(v_m_3864_);
return v_res_3867_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1(lean_object* v_Expr_3868_, lean_object* v_m_3869_, lean_object* v_k_3870_, lean_object* v_s_3871_){
_start:
{
lean_object* v___x_3872_; 
v___x_3872_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1___redArg(v_m_3869_, v_k_3870_, v_s_3871_);
return v___x_3872_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1___boxed(lean_object* v_Expr_3873_, lean_object* v_m_3874_, lean_object* v_k_3875_, lean_object* v_s_3876_){
_start:
{
lean_object* v_res_3877_; 
v_res_3877_ = l_Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1(v_Expr_3873_, v_m_3874_, v_k_3875_, v_s_3876_);
lean_dec_ref(v_m_3874_);
return v_res_3877_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__0(lean_object* v_Expr_3878_, lean_object* v_k_3879_, lean_object* v_a_3880_, lean_object* v_a_3881_){
_start:
{
lean_object* v___x_3882_; 
v___x_3882_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__0___redArg(v_k_3879_, v_a_3880_, v_a_3881_);
return v___x_3882_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__1(lean_object* v_Expr_3883_, lean_object* v_k_3884_, lean_object* v_as_3885_, size_t v_sz_3886_, size_t v_i_3887_, lean_object* v_b_3888_){
_start:
{
lean_object* v___x_3889_; 
v___x_3889_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__1___redArg(v_k_3884_, v_as_3885_, v_sz_3886_, v_i_3887_, v_b_3888_);
return v___x_3889_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__1___boxed(lean_object* v_Expr_3890_, lean_object* v_k_3891_, lean_object* v_as_3892_, lean_object* v_sz_3893_, lean_object* v_i_3894_, lean_object* v_b_3895_){
_start:
{
size_t v_sz_boxed_3896_; size_t v_i_boxed_3897_; lean_object* v_res_3898_; 
v_sz_boxed_3896_ = lean_unbox_usize(v_sz_3893_);
lean_dec(v_sz_3893_);
v_i_boxed_3897_ = lean_unbox_usize(v_i_3894_);
lean_dec(v_i_3894_);
v_res_3898_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__0_spec__1(v_Expr_3890_, v_k_3891_, v_as_3892_, v_sz_boxed_3896_, v_i_boxed_3897_, v_b_3895_);
lean_dec_ref(v_as_3892_);
return v_res_3898_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__3(lean_object* v_Expr_3899_, lean_object* v_k_3900_, lean_object* v_a_3901_, lean_object* v_a_3902_){
_start:
{
lean_object* v___x_3903_; 
v___x_3903_ = l___private_Std_Data_DHashMap_Internal_AssocList_Basic_0__Std_DHashMap_Internal_AssocList_forInStep_go___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__3___redArg(v_k_3900_, v_a_3901_, v_a_3902_);
return v___x_3903_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__4(lean_object* v_Expr_3904_, lean_object* v_k_3905_, lean_object* v_as_3906_, size_t v_sz_3907_, size_t v_i_3908_, lean_object* v_b_3909_){
_start:
{
lean_object* v___x_3910_; 
v___x_3910_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__4___redArg(v_k_3905_, v_as_3906_, v_sz_3907_, v_i_3908_, v_b_3909_);
return v___x_3910_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__4___boxed(lean_object* v_Expr_3911_, lean_object* v_k_3912_, lean_object* v_as_3913_, lean_object* v_sz_3914_, lean_object* v_i_3915_, lean_object* v_b_3916_){
_start:
{
size_t v_sz_boxed_3917_; size_t v_i_boxed_3918_; lean_object* v_res_3919_; 
v_sz_boxed_3917_ = lean_unbox_usize(v_sz_3914_);
lean_dec(v_sz_3914_);
v_i_boxed_3918_ = lean_unbox_usize(v_i_3915_);
lean_dec(v_i_3915_);
v_res_3919_ = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___00Lean_Meta_Grind_collectMapVars___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext_spec__1_spec__4(v_Expr_3911_, v_k_3912_, v_as_3913_, v_sz_boxed_3917_, v_i_boxed_3918_, v_b_3916_);
lean_dec_ref(v_as_3913_);
return v_res_3919_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext_go(lean_object* v_x_3920_, lean_object* v_a_3921_, lean_object* v_a_3922_, lean_object* v_a_3923_, lean_object* v_a_3924_, lean_object* v_a_3925_, lean_object* v_a_3926_, lean_object* v_a_3927_, lean_object* v_a_3928_, lean_object* v_a_3929_, lean_object* v_a_3930_, lean_object* v_a_3931_, lean_object* v_a_3932_, lean_object* v_a_3933_){
_start:
{
lean_object* v___x_3935_; 
lean_inc(v_a_3933_);
lean_inc_ref(v_a_3932_);
lean_inc(v_a_3931_);
lean_inc_ref(v_a_3930_);
lean_inc(v_a_3929_);
lean_inc_ref(v_a_3928_);
lean_inc(v_a_3927_);
lean_inc_ref(v_a_3926_);
lean_inc(v_a_3925_);
lean_inc(v_a_3924_);
lean_inc(v_a_3923_);
lean_inc(v_a_3922_);
lean_inc_ref(v_a_3921_);
v___x_3935_ = lean_apply_14(v_x_3920_, v_a_3921_, v_a_3922_, v_a_3923_, v_a_3924_, v_a_3925_, v_a_3926_, v_a_3927_, v_a_3928_, v_a_3929_, v_a_3930_, v_a_3931_, v_a_3932_, v_a_3933_, lean_box(0));
if (lean_obj_tag(v___x_3935_) == 0)
{
lean_object* v_a_3936_; lean_object* v___x_3937_; 
v_a_3936_ = lean_ctor_get(v___x_3935_, 0);
lean_inc(v_a_3936_);
lean_dec_ref(v___x_3935_);
lean_inc(v_a_3933_);
lean_inc_ref(v_a_3932_);
lean_inc(v_a_3931_);
lean_inc_ref(v_a_3930_);
lean_inc(v_a_3929_);
lean_inc_ref(v_a_3928_);
lean_inc(v_a_3927_);
lean_inc_ref(v_a_3926_);
lean_inc(v_a_3925_);
lean_inc(v_a_3924_);
lean_inc_ref(v_a_3921_);
v___x_3937_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext(v_a_3936_, v_a_3921_, v_a_3922_, v_a_3923_, v_a_3924_, v_a_3925_, v_a_3926_, v_a_3927_, v_a_3928_, v_a_3929_, v_a_3930_, v_a_3931_, v_a_3932_, v_a_3933_);
if (lean_obj_tag(v___x_3937_) == 0)
{
lean_object* v_a_3938_; lean_object* v___x_3939_; 
v_a_3938_ = lean_ctor_get(v___x_3937_, 0);
lean_inc(v_a_3938_);
lean_dec_ref(v___x_3937_);
v___x_3939_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkContext(v_a_3938_, v_a_3921_, v_a_3922_, v_a_3923_, v_a_3924_, v_a_3925_, v_a_3926_, v_a_3927_, v_a_3928_, v_a_3929_, v_a_3930_, v_a_3931_, v_a_3932_, v_a_3933_);
lean_dec(v_a_3929_);
lean_dec_ref(v_a_3928_);
lean_dec(v_a_3927_);
lean_dec_ref(v_a_3926_);
lean_dec(v_a_3925_);
lean_dec(v_a_3924_);
lean_dec(v_a_3923_);
lean_dec(v_a_3922_);
lean_dec(v_a_3938_);
return v___x_3939_;
}
else
{
lean_dec(v_a_3933_);
lean_dec_ref(v_a_3932_);
lean_dec(v_a_3931_);
lean_dec_ref(v_a_3930_);
lean_dec(v_a_3929_);
lean_dec_ref(v_a_3928_);
lean_dec(v_a_3927_);
lean_dec_ref(v_a_3926_);
lean_dec(v_a_3925_);
lean_dec(v_a_3924_);
lean_dec(v_a_3923_);
lean_dec(v_a_3922_);
lean_dec_ref(v_a_3921_);
return v___x_3937_;
}
}
else
{
lean_dec(v_a_3933_);
lean_dec_ref(v_a_3932_);
lean_dec(v_a_3931_);
lean_dec_ref(v_a_3930_);
lean_dec(v_a_3929_);
lean_dec_ref(v_a_3928_);
lean_dec(v_a_3927_);
lean_dec_ref(v_a_3926_);
lean_dec(v_a_3925_);
lean_dec(v_a_3924_);
lean_dec(v_a_3923_);
lean_dec(v_a_3922_);
lean_dec_ref(v_a_3921_);
return v___x_3935_;
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext_go___boxed(lean_object* v_x_3940_, lean_object* v_a_3941_, lean_object* v_a_3942_, lean_object* v_a_3943_, lean_object* v_a_3944_, lean_object* v_a_3945_, lean_object* v_a_3946_, lean_object* v_a_3947_, lean_object* v_a_3948_, lean_object* v_a_3949_, lean_object* v_a_3950_, lean_object* v_a_3951_, lean_object* v_a_3952_, lean_object* v_a_3953_, lean_object* v_a_3954_){
_start:
{
lean_object* v_res_3955_; 
v_res_3955_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext_go(v_x_3940_, v_a_3941_, v_a_3942_, v_a_3943_, v_a_3944_, v_a_3945_, v_a_3946_, v_a_3947_, v_a_3948_, v_a_3949_, v_a_3950_, v_a_3951_, v_a_3952_, v_a_3953_);
return v_res_3955_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__0(void){
_start:
{
lean_object* v___x_3956_; 
v___x_3956_ = l_instMonadEST(lean_box(0), lean_box(0));
return v___x_3956_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__1(void){
_start:
{
lean_object* v___x_3957_; lean_object* v___x_3958_; 
v___x_3957_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__0, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__0_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__0);
v___x_3958_ = l_ReaderT_instMonad___redArg(v___x_3957_);
return v___x_3958_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__8(void){
_start:
{
lean_object* v___x_3965_; lean_object* v___x_3966_; lean_object* v___x_3967_; 
v___x_3965_ = l_Lean_Core_instMonadNameGeneratorCoreM;
v___x_3966_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__7));
v___x_3967_ = l_Lean_monadNameGeneratorLift___redArg(v___x_3966_, v___x_3965_);
return v___x_3967_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__9(void){
_start:
{
lean_object* v___x_3968_; lean_object* v___f_3969_; lean_object* v___x_3970_; 
v___x_3968_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__8, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__8_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__8);
v___f_3969_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__6));
v___x_3970_ = l_Lean_monadNameGeneratorLift___redArg(v___f_3969_, v___x_3968_);
return v___x_3970_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__10(void){
_start:
{
lean_object* v___x_3971_; lean_object* v___x_3972_; lean_object* v___x_3973_; 
v___x_3971_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__9, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__9_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__9);
v___x_3972_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__7));
v___x_3973_ = l_Lean_monadNameGeneratorLift___redArg(v___x_3972_, v___x_3971_);
return v___x_3973_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__11(void){
_start:
{
lean_object* v___x_3974_; lean_object* v___f_3975_; lean_object* v___x_3976_; 
v___x_3974_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__10, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__10_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__10);
v___f_3975_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__6));
v___x_3976_ = l_Lean_monadNameGeneratorLift___redArg(v___f_3975_, v___x_3974_);
return v___x_3976_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__12(void){
_start:
{
lean_object* v___x_3977_; lean_object* v___x_3978_; lean_object* v___x_3979_; 
v___x_3977_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__11, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__11_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__11);
v___x_3978_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__7));
v___x_3979_ = l_Lean_monadNameGeneratorLift___redArg(v___x_3978_, v___x_3977_);
return v___x_3979_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__13(void){
_start:
{
lean_object* v___x_3980_; lean_object* v___f_3981_; lean_object* v___x_3982_; 
v___x_3980_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__12, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__12_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__12);
v___f_3981_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__6));
v___x_3982_ = l_Lean_monadNameGeneratorLift___redArg(v___f_3981_, v___x_3980_);
return v___x_3982_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__14(void){
_start:
{
lean_object* v___x_3983_; lean_object* v___f_3984_; lean_object* v___x_3985_; 
v___x_3983_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__13, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__13_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__13);
v___f_3984_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__6));
v___x_3985_ = l_Lean_monadNameGeneratorLift___redArg(v___f_3984_, v___x_3983_);
return v___x_3985_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__15(void){
_start:
{
lean_object* v___x_3986_; lean_object* v___x_3987_; lean_object* v___x_3988_; 
v___x_3986_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__14, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__14_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__14);
v___x_3987_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__7));
v___x_3988_ = l_Lean_monadNameGeneratorLift___redArg(v___x_3987_, v___x_3986_);
return v___x_3988_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__16(void){
_start:
{
lean_object* v___x_3989_; lean_object* v___f_3990_; lean_object* v___x_3991_; 
v___x_3989_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__15, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__15_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__15);
v___f_3990_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__6));
v___x_3991_ = l_Lean_monadNameGeneratorLift___redArg(v___f_3990_, v___x_3989_);
return v___x_3991_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__17(void){
_start:
{
lean_object* v___x_3992_; lean_object* v___x_3993_; lean_object* v___x_3994_; 
v___x_3992_ = lean_box(0);
v___x_3993_ = lean_unsigned_to_nat(16u);
v___x_3994_ = lean_mk_array(v___x_3993_, v___x_3992_);
return v___x_3994_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__18(void){
_start:
{
lean_object* v___x_3995_; lean_object* v___x_3996_; lean_object* v___x_3997_; 
v___x_3995_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__17, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__17_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__17);
v___x_3996_ = lean_unsigned_to_nat(0u);
v___x_3997_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3997_, 0, v___x_3996_);
lean_ctor_set(v___x_3997_, 1, v___x_3995_);
return v___x_3997_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__19(void){
_start:
{
lean_object* v___x_3998_; lean_object* v___x_3999_; 
v___x_3998_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__18, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__18_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__18);
v___x_3999_ = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(v___x_3999_, 0, v___x_3998_);
lean_ctor_set(v___x_3999_, 1, v___x_3998_);
lean_ctor_set(v___x_3999_, 2, v___x_3998_);
lean_ctor_set(v___x_3999_, 3, v___x_3998_);
lean_ctor_set(v___x_3999_, 4, v___x_3998_);
lean_ctor_set(v___x_3999_, 5, v___x_3998_);
lean_ctor_set(v___x_3999_, 6, v___x_3998_);
return v___x_3999_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext(lean_object* v_x_4000_, lean_object* v_a_4001_, lean_object* v_a_4002_, lean_object* v_a_4003_, lean_object* v_a_4004_, lean_object* v_a_4005_, lean_object* v_a_4006_, lean_object* v_a_4007_, lean_object* v_a_4008_, lean_object* v_a_4009_, lean_object* v_a_4010_, lean_object* v_a_4011_){
_start:
{
lean_object* v___x_4013_; lean_object* v_toApplicative_4014_; lean_object* v___x_4016_; uint8_t v_isShared_4017_; uint8_t v_isSharedCheck_4116_; 
v___x_4013_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__1, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__1_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__1);
v_toApplicative_4014_ = lean_ctor_get(v___x_4013_, 0);
v_isSharedCheck_4116_ = !lean_is_exclusive(v___x_4013_);
if (v_isSharedCheck_4116_ == 0)
{
lean_object* v_unused_4117_; 
v_unused_4117_ = lean_ctor_get(v___x_4013_, 1);
lean_dec(v_unused_4117_);
v___x_4016_ = v___x_4013_;
v_isShared_4017_ = v_isSharedCheck_4116_;
goto v_resetjp_4015_;
}
else
{
lean_inc(v_toApplicative_4014_);
lean_dec(v___x_4013_);
v___x_4016_ = lean_box(0);
v_isShared_4017_ = v_isSharedCheck_4116_;
goto v_resetjp_4015_;
}
v_resetjp_4015_:
{
lean_object* v_toFunctor_4018_; lean_object* v_toSeq_4019_; lean_object* v_toSeqLeft_4020_; lean_object* v_toSeqRight_4021_; lean_object* v___x_4023_; uint8_t v_isShared_4024_; uint8_t v_isSharedCheck_4114_; 
v_toFunctor_4018_ = lean_ctor_get(v_toApplicative_4014_, 0);
v_toSeq_4019_ = lean_ctor_get(v_toApplicative_4014_, 2);
v_toSeqLeft_4020_ = lean_ctor_get(v_toApplicative_4014_, 3);
v_toSeqRight_4021_ = lean_ctor_get(v_toApplicative_4014_, 4);
v_isSharedCheck_4114_ = !lean_is_exclusive(v_toApplicative_4014_);
if (v_isSharedCheck_4114_ == 0)
{
lean_object* v_unused_4115_; 
v_unused_4115_ = lean_ctor_get(v_toApplicative_4014_, 1);
lean_dec(v_unused_4115_);
v___x_4023_ = v_toApplicative_4014_;
v_isShared_4024_ = v_isSharedCheck_4114_;
goto v_resetjp_4022_;
}
else
{
lean_inc(v_toSeqRight_4021_);
lean_inc(v_toSeqLeft_4020_);
lean_inc(v_toSeq_4019_);
lean_inc(v_toFunctor_4018_);
lean_dec(v_toApplicative_4014_);
v___x_4023_ = lean_box(0);
v_isShared_4024_ = v_isSharedCheck_4114_;
goto v_resetjp_4022_;
}
v_resetjp_4022_:
{
lean_object* v___f_4025_; lean_object* v___f_4026_; lean_object* v___f_4027_; lean_object* v___f_4028_; lean_object* v___x_4029_; lean_object* v___f_4030_; lean_object* v___f_4031_; lean_object* v___f_4032_; lean_object* v___x_4034_; 
v___f_4025_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__2));
v___f_4026_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__3));
lean_inc_ref(v_toFunctor_4018_);
v___f_4027_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_4027_, 0, v_toFunctor_4018_);
v___f_4028_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_4028_, 0, v_toFunctor_4018_);
v___x_4029_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4029_, 0, v___f_4027_);
lean_ctor_set(v___x_4029_, 1, v___f_4028_);
v___f_4030_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_4030_, 0, v_toSeqRight_4021_);
v___f_4031_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_4031_, 0, v_toSeqLeft_4020_);
v___f_4032_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_4032_, 0, v_toSeq_4019_);
if (v_isShared_4024_ == 0)
{
lean_ctor_set(v___x_4023_, 4, v___f_4030_);
lean_ctor_set(v___x_4023_, 3, v___f_4031_);
lean_ctor_set(v___x_4023_, 2, v___f_4032_);
lean_ctor_set(v___x_4023_, 1, v___f_4025_);
lean_ctor_set(v___x_4023_, 0, v___x_4029_);
v___x_4034_ = v___x_4023_;
goto v_reusejp_4033_;
}
else
{
lean_object* v_reuseFailAlloc_4113_; 
v_reuseFailAlloc_4113_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_4113_, 0, v___x_4029_);
lean_ctor_set(v_reuseFailAlloc_4113_, 1, v___f_4025_);
lean_ctor_set(v_reuseFailAlloc_4113_, 2, v___f_4032_);
lean_ctor_set(v_reuseFailAlloc_4113_, 3, v___f_4031_);
lean_ctor_set(v_reuseFailAlloc_4113_, 4, v___f_4030_);
v___x_4034_ = v_reuseFailAlloc_4113_;
goto v_reusejp_4033_;
}
v_reusejp_4033_:
{
lean_object* v___x_4036_; 
if (v_isShared_4017_ == 0)
{
lean_ctor_set(v___x_4016_, 1, v___f_4026_);
lean_ctor_set(v___x_4016_, 0, v___x_4034_);
v___x_4036_ = v___x_4016_;
goto v_reusejp_4035_;
}
else
{
lean_object* v_reuseFailAlloc_4112_; 
v_reuseFailAlloc_4112_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4112_, 0, v___x_4034_);
lean_ctor_set(v_reuseFailAlloc_4112_, 1, v___f_4026_);
v___x_4036_ = v_reuseFailAlloc_4112_;
goto v_reusejp_4035_;
}
v_reusejp_4035_:
{
lean_object* v___x_4037_; lean_object* v_toApplicative_4038_; lean_object* v___x_4040_; uint8_t v_isShared_4041_; uint8_t v_isSharedCheck_4110_; 
v___x_4037_ = l_ReaderT_instMonad___redArg(v___x_4036_);
v_toApplicative_4038_ = lean_ctor_get(v___x_4037_, 0);
v_isSharedCheck_4110_ = !lean_is_exclusive(v___x_4037_);
if (v_isSharedCheck_4110_ == 0)
{
lean_object* v_unused_4111_; 
v_unused_4111_ = lean_ctor_get(v___x_4037_, 1);
lean_dec(v_unused_4111_);
v___x_4040_ = v___x_4037_;
v_isShared_4041_ = v_isSharedCheck_4110_;
goto v_resetjp_4039_;
}
else
{
lean_inc(v_toApplicative_4038_);
lean_dec(v___x_4037_);
v___x_4040_ = lean_box(0);
v_isShared_4041_ = v_isSharedCheck_4110_;
goto v_resetjp_4039_;
}
v_resetjp_4039_:
{
lean_object* v_toFunctor_4042_; lean_object* v_toSeq_4043_; lean_object* v_toSeqLeft_4044_; lean_object* v_toSeqRight_4045_; lean_object* v___x_4047_; uint8_t v_isShared_4048_; uint8_t v_isSharedCheck_4108_; 
v_toFunctor_4042_ = lean_ctor_get(v_toApplicative_4038_, 0);
v_toSeq_4043_ = lean_ctor_get(v_toApplicative_4038_, 2);
v_toSeqLeft_4044_ = lean_ctor_get(v_toApplicative_4038_, 3);
v_toSeqRight_4045_ = lean_ctor_get(v_toApplicative_4038_, 4);
v_isSharedCheck_4108_ = !lean_is_exclusive(v_toApplicative_4038_);
if (v_isSharedCheck_4108_ == 0)
{
lean_object* v_unused_4109_; 
v_unused_4109_ = lean_ctor_get(v_toApplicative_4038_, 1);
lean_dec(v_unused_4109_);
v___x_4047_ = v_toApplicative_4038_;
v_isShared_4048_ = v_isSharedCheck_4108_;
goto v_resetjp_4046_;
}
else
{
lean_inc(v_toSeqRight_4045_);
lean_inc(v_toSeqLeft_4044_);
lean_inc(v_toSeq_4043_);
lean_inc(v_toFunctor_4042_);
lean_dec(v_toApplicative_4038_);
v___x_4047_ = lean_box(0);
v_isShared_4048_ = v_isSharedCheck_4108_;
goto v_resetjp_4046_;
}
v_resetjp_4046_:
{
lean_object* v___f_4049_; lean_object* v___f_4050_; lean_object* v___f_4051_; lean_object* v___f_4052_; lean_object* v___x_4053_; lean_object* v___f_4054_; lean_object* v___f_4055_; lean_object* v___f_4056_; lean_object* v___x_4058_; 
v___f_4049_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__4));
v___f_4050_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__5));
lean_inc_ref(v_toFunctor_4042_);
v___f_4051_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__0), 6, 1);
lean_closure_set(v___f_4051_, 0, v_toFunctor_4042_);
v___f_4052_ = lean_alloc_closure((void*)(l_ReaderT_instFunctorOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_4052_, 0, v_toFunctor_4042_);
v___x_4053_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4053_, 0, v___f_4051_);
lean_ctor_set(v___x_4053_, 1, v___f_4052_);
v___f_4054_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__1), 6, 1);
lean_closure_set(v___f_4054_, 0, v_toSeqRight_4045_);
v___f_4055_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__3), 6, 1);
lean_closure_set(v___f_4055_, 0, v_toSeqLeft_4044_);
v___f_4056_ = lean_alloc_closure((void*)(l_ReaderT_instApplicativeOfMonad___redArg___lam__4), 6, 1);
lean_closure_set(v___f_4056_, 0, v_toSeq_4043_);
if (v_isShared_4048_ == 0)
{
lean_ctor_set(v___x_4047_, 4, v___f_4054_);
lean_ctor_set(v___x_4047_, 3, v___f_4055_);
lean_ctor_set(v___x_4047_, 2, v___f_4056_);
lean_ctor_set(v___x_4047_, 1, v___f_4049_);
lean_ctor_set(v___x_4047_, 0, v___x_4053_);
v___x_4058_ = v___x_4047_;
goto v_reusejp_4057_;
}
else
{
lean_object* v_reuseFailAlloc_4107_; 
v_reuseFailAlloc_4107_ = lean_alloc_ctor(0, 5, 0);
lean_ctor_set(v_reuseFailAlloc_4107_, 0, v___x_4053_);
lean_ctor_set(v_reuseFailAlloc_4107_, 1, v___f_4049_);
lean_ctor_set(v_reuseFailAlloc_4107_, 2, v___f_4056_);
lean_ctor_set(v_reuseFailAlloc_4107_, 3, v___f_4055_);
lean_ctor_set(v_reuseFailAlloc_4107_, 4, v___f_4054_);
v___x_4058_ = v_reuseFailAlloc_4107_;
goto v_reusejp_4057_;
}
v_reusejp_4057_:
{
lean_object* v___x_4060_; 
if (v_isShared_4041_ == 0)
{
lean_ctor_set(v___x_4040_, 1, v___f_4050_);
lean_ctor_set(v___x_4040_, 0, v___x_4058_);
v___x_4060_ = v___x_4040_;
goto v_reusejp_4059_;
}
else
{
lean_object* v_reuseFailAlloc_4106_; 
v_reuseFailAlloc_4106_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4106_, 0, v___x_4058_);
lean_ctor_set(v_reuseFailAlloc_4106_, 1, v___f_4050_);
v___x_4060_ = v_reuseFailAlloc_4106_;
goto v_reusejp_4059_;
}
v_reusejp_4059_:
{
lean_object* v___x_4061_; lean_object* v___x_4062_; lean_object* v___x_4063_; lean_object* v___x_4064_; lean_object* v___x_4065_; lean_object* v___x_4066_; lean_object* v___x_4067_; lean_object* v___x_4068_; lean_object* v___x_9589__overap_4069_; lean_object* v___x_4070_; 
v___x_4061_ = l_ReaderT_instMonad___redArg(v___x_4060_);
v___x_4062_ = l_ReaderT_instMonad___redArg(v___x_4061_);
v___x_4063_ = l_ReaderT_instMonad___redArg(v___x_4062_);
v___x_4064_ = l_ReaderT_instMonad___redArg(v___x_4063_);
v___x_4065_ = l_ReaderT_instMonad___redArg(v___x_4064_);
v___x_4066_ = l_ReaderT_instMonad___redArg(v___x_4065_);
v___x_4067_ = l_ReaderT_instMonad___redArg(v___x_4066_);
v___x_4068_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__16, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__16_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__16);
lean_inc_ref(v___x_4067_);
v___x_9589__overap_4069_ = l_Lean_mkFreshFVarId___redArg(v___x_4067_, v___x_4068_);
lean_inc(v_a_4011_);
lean_inc_ref(v_a_4010_);
lean_inc(v_a_4009_);
lean_inc_ref(v_a_4008_);
lean_inc(v_a_4007_);
lean_inc_ref(v_a_4006_);
lean_inc(v_a_4005_);
lean_inc_ref(v_a_4004_);
lean_inc(v_a_4003_);
lean_inc(v_a_4002_);
lean_inc(v_a_4001_);
v___x_4070_ = lean_apply_12(v___x_9589__overap_4069_, v_a_4001_, v_a_4002_, v_a_4003_, v_a_4004_, v_a_4005_, v_a_4006_, v_a_4007_, v_a_4008_, v_a_4009_, v_a_4010_, v_a_4011_, lean_box(0));
if (lean_obj_tag(v___x_4070_) == 0)
{
lean_object* v_a_4071_; lean_object* v___x_9593__overap_4072_; lean_object* v___x_4073_; 
v_a_4071_ = lean_ctor_get(v___x_4070_, 0);
lean_inc(v_a_4071_);
lean_dec_ref(v___x_4070_);
v___x_9593__overap_4072_ = l_Lean_mkFreshFVarId___redArg(v___x_4067_, v___x_4068_);
lean_inc(v_a_4011_);
lean_inc_ref(v_a_4010_);
lean_inc(v_a_4009_);
lean_inc_ref(v_a_4008_);
lean_inc(v_a_4007_);
lean_inc_ref(v_a_4006_);
lean_inc(v_a_4005_);
lean_inc_ref(v_a_4004_);
lean_inc(v_a_4003_);
lean_inc(v_a_4002_);
lean_inc(v_a_4001_);
v___x_4073_ = lean_apply_12(v___x_9593__overap_4072_, v_a_4001_, v_a_4002_, v_a_4003_, v_a_4004_, v_a_4005_, v_a_4006_, v_a_4007_, v_a_4008_, v_a_4009_, v_a_4010_, v_a_4011_, lean_box(0));
if (lean_obj_tag(v___x_4073_) == 0)
{
lean_object* v_a_4074_; lean_object* v___x_4075_; lean_object* v___x_4076_; lean_object* v___x_4077_; lean_object* v___x_4078_; lean_object* v___x_4079_; lean_object* v___x_4080_; 
v_a_4074_ = lean_ctor_get(v___x_4073_, 0);
lean_inc(v_a_4074_);
lean_dec_ref(v___x_4073_);
v___x_4075_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__19, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__19_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__19);
v___x_4076_ = lean_st_mk_ref(v___x_4075_);
v___x_4077_ = l_Lean_mkFVar(v_a_4071_);
v___x_4078_ = l_Lean_mkFVar(v_a_4074_);
v___x_4079_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_4079_, 0, v___x_4077_);
lean_ctor_set(v___x_4079_, 1, v___x_4078_);
lean_inc(v___x_4076_);
v___x_4080_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext_go(v_x_4000_, v___x_4079_, v___x_4076_, v_a_4001_, v_a_4002_, v_a_4003_, v_a_4004_, v_a_4005_, v_a_4006_, v_a_4007_, v_a_4008_, v_a_4009_, v_a_4010_, v_a_4011_);
if (lean_obj_tag(v___x_4080_) == 0)
{
lean_object* v_a_4081_; lean_object* v___x_4083_; uint8_t v_isShared_4084_; uint8_t v_isSharedCheck_4089_; 
v_a_4081_ = lean_ctor_get(v___x_4080_, 0);
v_isSharedCheck_4089_ = !lean_is_exclusive(v___x_4080_);
if (v_isSharedCheck_4089_ == 0)
{
v___x_4083_ = v___x_4080_;
v_isShared_4084_ = v_isSharedCheck_4089_;
goto v_resetjp_4082_;
}
else
{
lean_inc(v_a_4081_);
lean_dec(v___x_4080_);
v___x_4083_ = lean_box(0);
v_isShared_4084_ = v_isSharedCheck_4089_;
goto v_resetjp_4082_;
}
v_resetjp_4082_:
{
lean_object* v___x_4085_; lean_object* v___x_4087_; 
v___x_4085_ = lean_st_ref_get(v___x_4076_);
lean_dec(v___x_4076_);
lean_dec(v___x_4085_);
if (v_isShared_4084_ == 0)
{
v___x_4087_ = v___x_4083_;
goto v_reusejp_4086_;
}
else
{
lean_object* v_reuseFailAlloc_4088_; 
v_reuseFailAlloc_4088_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4088_, 0, v_a_4081_);
v___x_4087_ = v_reuseFailAlloc_4088_;
goto v_reusejp_4086_;
}
v_reusejp_4086_:
{
return v___x_4087_;
}
}
}
else
{
lean_dec(v___x_4076_);
return v___x_4080_;
}
}
else
{
lean_object* v_a_4090_; lean_object* v___x_4092_; uint8_t v_isShared_4093_; uint8_t v_isSharedCheck_4097_; 
lean_dec(v_a_4071_);
lean_dec(v_a_4011_);
lean_dec_ref(v_a_4010_);
lean_dec(v_a_4009_);
lean_dec_ref(v_a_4008_);
lean_dec(v_a_4007_);
lean_dec_ref(v_a_4006_);
lean_dec(v_a_4005_);
lean_dec_ref(v_a_4004_);
lean_dec(v_a_4003_);
lean_dec(v_a_4002_);
lean_dec(v_a_4001_);
lean_dec_ref(v_x_4000_);
v_a_4090_ = lean_ctor_get(v___x_4073_, 0);
v_isSharedCheck_4097_ = !lean_is_exclusive(v___x_4073_);
if (v_isSharedCheck_4097_ == 0)
{
v___x_4092_ = v___x_4073_;
v_isShared_4093_ = v_isSharedCheck_4097_;
goto v_resetjp_4091_;
}
else
{
lean_inc(v_a_4090_);
lean_dec(v___x_4073_);
v___x_4092_ = lean_box(0);
v_isShared_4093_ = v_isSharedCheck_4097_;
goto v_resetjp_4091_;
}
v_resetjp_4091_:
{
lean_object* v___x_4095_; 
if (v_isShared_4093_ == 0)
{
v___x_4095_ = v___x_4092_;
goto v_reusejp_4094_;
}
else
{
lean_object* v_reuseFailAlloc_4096_; 
v_reuseFailAlloc_4096_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4096_, 0, v_a_4090_);
v___x_4095_ = v_reuseFailAlloc_4096_;
goto v_reusejp_4094_;
}
v_reusejp_4094_:
{
return v___x_4095_;
}
}
}
}
else
{
lean_object* v_a_4098_; lean_object* v___x_4100_; uint8_t v_isShared_4101_; uint8_t v_isSharedCheck_4105_; 
lean_dec_ref(v___x_4067_);
lean_dec(v_a_4011_);
lean_dec_ref(v_a_4010_);
lean_dec(v_a_4009_);
lean_dec_ref(v_a_4008_);
lean_dec(v_a_4007_);
lean_dec_ref(v_a_4006_);
lean_dec(v_a_4005_);
lean_dec_ref(v_a_4004_);
lean_dec(v_a_4003_);
lean_dec(v_a_4002_);
lean_dec(v_a_4001_);
lean_dec_ref(v_x_4000_);
v_a_4098_ = lean_ctor_get(v___x_4070_, 0);
v_isSharedCheck_4105_ = !lean_is_exclusive(v___x_4070_);
if (v_isSharedCheck_4105_ == 0)
{
v___x_4100_ = v___x_4070_;
v_isShared_4101_ = v_isSharedCheck_4105_;
goto v_resetjp_4099_;
}
else
{
lean_inc(v_a_4098_);
lean_dec(v___x_4070_);
v___x_4100_ = lean_box(0);
v_isShared_4101_ = v_isSharedCheck_4105_;
goto v_resetjp_4099_;
}
v_resetjp_4099_:
{
lean_object* v___x_4103_; 
if (v_isShared_4101_ == 0)
{
v___x_4103_ = v___x_4100_;
goto v_reusejp_4102_;
}
else
{
lean_object* v_reuseFailAlloc_4104_; 
v_reuseFailAlloc_4104_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4104_, 0, v_a_4098_);
v___x_4103_ = v_reuseFailAlloc_4104_;
goto v_reusejp_4102_;
}
v_reusejp_4102_:
{
return v___x_4103_;
}
}
}
}
}
}
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___boxed(lean_object* v_x_4118_, lean_object* v_a_4119_, lean_object* v_a_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_, lean_object* v_a_4126_, lean_object* v_a_4127_, lean_object* v_a_4128_, lean_object* v_a_4129_, lean_object* v_a_4130_){
_start:
{
lean_object* v_res_4131_; 
v_res_4131_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext(v_x_4118_, v_a_4119_, v_a_4120_, v_a_4121_, v_a_4122_, v_a_4123_, v_a_4124_, v_a_4125_, v_a_4126_, v_a_4127_, v_a_4128_, v_a_4129_);
return v_res_4131_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(lean_object* v_declName_4132_, lean_object* v_a_4133_, lean_object* v_a_4134_, lean_object* v_a_4135_, lean_object* v_a_4136_, lean_object* v_a_4137_, lean_object* v_a_4138_, lean_object* v_a_4139_, lean_object* v_a_4140_, lean_object* v_a_4141_, lean_object* v_a_4142_, lean_object* v_a_4143_, lean_object* v_a_4144_){
_start:
{
lean_object* v___x_4146_; 
v___x_4146_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_4134_, v_a_4135_, v_a_4136_, v_a_4137_, v_a_4138_, v_a_4139_, v_a_4140_, v_a_4141_, v_a_4142_, v_a_4143_, v_a_4144_);
if (lean_obj_tag(v___x_4146_) == 0)
{
lean_object* v_a_4147_; lean_object* v___x_4149_; uint8_t v_isShared_4150_; uint8_t v_isSharedCheck_4169_; 
v_a_4147_ = lean_ctor_get(v___x_4146_, 0);
v_isSharedCheck_4169_ = !lean_is_exclusive(v___x_4146_);
if (v_isSharedCheck_4169_ == 0)
{
v___x_4149_ = v___x_4146_;
v_isShared_4150_ = v_isSharedCheck_4169_;
goto v_resetjp_4148_;
}
else
{
lean_inc(v_a_4147_);
lean_dec(v___x_4146_);
v___x_4149_ = lean_box(0);
v_isShared_4150_ = v_isSharedCheck_4169_;
goto v_resetjp_4148_;
}
v_resetjp_4148_:
{
lean_object* v_ctx_4151_; lean_object* v___x_4153_; uint8_t v_isShared_4154_; uint8_t v_isSharedCheck_4167_; 
v_ctx_4151_ = lean_ctor_get(v_a_4133_, 0);
v_isSharedCheck_4167_ = !lean_is_exclusive(v_a_4133_);
if (v_isSharedCheck_4167_ == 0)
{
lean_object* v_unused_4168_; 
v_unused_4168_ = lean_ctor_get(v_a_4133_, 1);
lean_dec(v_unused_4168_);
v___x_4153_ = v_a_4133_;
v_isShared_4154_ = v_isSharedCheck_4167_;
goto v_resetjp_4152_;
}
else
{
lean_inc(v_ctx_4151_);
lean_dec(v_a_4133_);
v___x_4153_ = lean_box(0);
v_isShared_4154_ = v_isSharedCheck_4167_;
goto v_resetjp_4152_;
}
v_resetjp_4152_:
{
lean_object* v_type_4155_; lean_object* v_u_4156_; lean_object* v_intModuleInst_4157_; lean_object* v___x_4158_; lean_object* v___x_4160_; 
v_type_4155_ = lean_ctor_get(v_a_4147_, 2);
lean_inc_ref(v_type_4155_);
v_u_4156_ = lean_ctor_get(v_a_4147_, 3);
lean_inc(v_u_4156_);
v_intModuleInst_4157_ = lean_ctor_get(v_a_4147_, 4);
lean_inc_ref(v_intModuleInst_4157_);
lean_dec(v_a_4147_);
v___x_4158_ = lean_box(0);
if (v_isShared_4154_ == 0)
{
lean_ctor_set_tag(v___x_4153_, 1);
lean_ctor_set(v___x_4153_, 1, v___x_4158_);
lean_ctor_set(v___x_4153_, 0, v_u_4156_);
v___x_4160_ = v___x_4153_;
goto v_reusejp_4159_;
}
else
{
lean_object* v_reuseFailAlloc_4166_; 
v_reuseFailAlloc_4166_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4166_, 0, v_u_4156_);
lean_ctor_set(v_reuseFailAlloc_4166_, 1, v___x_4158_);
v___x_4160_ = v_reuseFailAlloc_4166_;
goto v_reusejp_4159_;
}
v_reusejp_4159_:
{
lean_object* v___x_4161_; lean_object* v___x_4162_; lean_object* v___x_4164_; 
v___x_4161_ = l_Lean_mkConst(v_declName_4132_, v___x_4160_);
v___x_4162_ = l_Lean_mkApp3(v___x_4161_, v_type_4155_, v_intModuleInst_4157_, v_ctx_4151_);
if (v_isShared_4150_ == 0)
{
lean_ctor_set(v___x_4149_, 0, v___x_4162_);
v___x_4164_ = v___x_4149_;
goto v_reusejp_4163_;
}
else
{
lean_object* v_reuseFailAlloc_4165_; 
v_reuseFailAlloc_4165_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4165_, 0, v___x_4162_);
v___x_4164_ = v_reuseFailAlloc_4165_;
goto v_reusejp_4163_;
}
v_reusejp_4163_:
{
return v___x_4164_;
}
}
}
}
}
else
{
lean_object* v_a_4170_; lean_object* v___x_4172_; uint8_t v_isShared_4173_; uint8_t v_isSharedCheck_4177_; 
lean_dec_ref(v_a_4133_);
lean_dec(v_declName_4132_);
v_a_4170_ = lean_ctor_get(v___x_4146_, 0);
v_isSharedCheck_4177_ = !lean_is_exclusive(v___x_4146_);
if (v_isSharedCheck_4177_ == 0)
{
v___x_4172_ = v___x_4146_;
v_isShared_4173_ = v_isSharedCheck_4177_;
goto v_resetjp_4171_;
}
else
{
lean_inc(v_a_4170_);
lean_dec(v___x_4146_);
v___x_4172_ = lean_box(0);
v_isShared_4173_ = v_isSharedCheck_4177_;
goto v_resetjp_4171_;
}
v_resetjp_4171_:
{
lean_object* v___x_4175_; 
if (v_isShared_4173_ == 0)
{
v___x_4175_ = v___x_4172_;
goto v_reusejp_4174_;
}
else
{
lean_object* v_reuseFailAlloc_4176_; 
v_reuseFailAlloc_4176_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4176_, 0, v_a_4170_);
v___x_4175_ = v_reuseFailAlloc_4176_;
goto v_reusejp_4174_;
}
v_reusejp_4174_:
{
return v___x_4175_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg___boxed(lean_object* v_declName_4178_, lean_object* v_a_4179_, lean_object* v_a_4180_, lean_object* v_a_4181_, lean_object* v_a_4182_, lean_object* v_a_4183_, lean_object* v_a_4184_, lean_object* v_a_4185_, lean_object* v_a_4186_, lean_object* v_a_4187_, lean_object* v_a_4188_, lean_object* v_a_4189_, lean_object* v_a_4190_, lean_object* v_a_4191_){
_start:
{
lean_object* v_res_4192_; 
v_res_4192_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v_declName_4178_, v_a_4179_, v_a_4180_, v_a_4181_, v_a_4182_, v_a_4183_, v_a_4184_, v_a_4185_, v_a_4186_, v_a_4187_, v_a_4188_, v_a_4189_, v_a_4190_);
lean_dec(v_a_4190_);
lean_dec_ref(v_a_4189_);
lean_dec(v_a_4188_);
lean_dec_ref(v_a_4187_);
lean_dec(v_a_4186_);
lean_dec_ref(v_a_4185_);
lean_dec(v_a_4184_);
lean_dec_ref(v_a_4183_);
lean_dec(v_a_4182_);
lean_dec(v_a_4181_);
lean_dec(v_a_4180_);
return v_res_4192_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix(lean_object* v_declName_4193_, lean_object* v_a_4194_, lean_object* v_a_4195_, lean_object* v_a_4196_, lean_object* v_a_4197_, lean_object* v_a_4198_, lean_object* v_a_4199_, lean_object* v_a_4200_, lean_object* v_a_4201_, lean_object* v_a_4202_, lean_object* v_a_4203_, lean_object* v_a_4204_, lean_object* v_a_4205_, lean_object* v_a_4206_){
_start:
{
lean_object* v___x_4208_; 
v___x_4208_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v_declName_4193_, v_a_4194_, v_a_4196_, v_a_4197_, v_a_4198_, v_a_4199_, v_a_4200_, v_a_4201_, v_a_4202_, v_a_4203_, v_a_4204_, v_a_4205_, v_a_4206_);
return v___x_4208_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___boxed(lean_object* v_declName_4209_, lean_object* v_a_4210_, lean_object* v_a_4211_, lean_object* v_a_4212_, lean_object* v_a_4213_, lean_object* v_a_4214_, lean_object* v_a_4215_, lean_object* v_a_4216_, lean_object* v_a_4217_, lean_object* v_a_4218_, lean_object* v_a_4219_, lean_object* v_a_4220_, lean_object* v_a_4221_, lean_object* v_a_4222_, lean_object* v_a_4223_){
_start:
{
lean_object* v_res_4224_; 
v_res_4224_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix(v_declName_4209_, v_a_4210_, v_a_4211_, v_a_4212_, v_a_4213_, v_a_4214_, v_a_4215_, v_a_4216_, v_a_4217_, v_a_4218_, v_a_4219_, v_a_4220_, v_a_4221_, v_a_4222_);
lean_dec(v_a_4222_);
lean_dec_ref(v_a_4221_);
lean_dec(v_a_4220_);
lean_dec_ref(v_a_4219_);
lean_dec(v_a_4218_);
lean_dec_ref(v_a_4217_);
lean_dec(v_a_4216_);
lean_dec_ref(v_a_4215_);
lean_dec(v_a_4214_);
lean_dec(v_a_4213_);
lean_dec(v_a_4212_);
lean_dec(v_a_4211_);
return v_res_4224_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix___redArg(lean_object* v_declName_4225_, lean_object* v_a_4226_, lean_object* v_a_4227_, lean_object* v_a_4228_, lean_object* v_a_4229_, lean_object* v_a_4230_, lean_object* v_a_4231_, lean_object* v_a_4232_, lean_object* v_a_4233_, lean_object* v_a_4234_, lean_object* v_a_4235_, lean_object* v_a_4236_, lean_object* v_a_4237_){
_start:
{
lean_object* v___x_4239_; 
v___x_4239_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_4227_, v_a_4228_, v_a_4229_, v_a_4230_, v_a_4231_, v_a_4232_, v_a_4233_, v_a_4234_, v_a_4235_, v_a_4236_, v_a_4237_);
if (lean_obj_tag(v___x_4239_) == 0)
{
lean_object* v_a_4240_; lean_object* v___x_4241_; 
v_a_4240_ = lean_ctor_get(v___x_4239_, 0);
lean_inc(v_a_4240_);
lean_dec_ref(v___x_4239_);
v___x_4241_ = l_Lean_Meta_Grind_Arith_Linear_getNoNatDivInst(v_a_4227_, v_a_4228_, v_a_4229_, v_a_4230_, v_a_4231_, v_a_4232_, v_a_4233_, v_a_4234_, v_a_4235_, v_a_4236_, v_a_4237_);
if (lean_obj_tag(v___x_4241_) == 0)
{
lean_object* v_a_4242_; lean_object* v___x_4244_; uint8_t v_isShared_4245_; uint8_t v_isSharedCheck_4264_; 
v_a_4242_ = lean_ctor_get(v___x_4241_, 0);
v_isSharedCheck_4264_ = !lean_is_exclusive(v___x_4241_);
if (v_isSharedCheck_4264_ == 0)
{
v___x_4244_ = v___x_4241_;
v_isShared_4245_ = v_isSharedCheck_4264_;
goto v_resetjp_4243_;
}
else
{
lean_inc(v_a_4242_);
lean_dec(v___x_4241_);
v___x_4244_ = lean_box(0);
v_isShared_4245_ = v_isSharedCheck_4264_;
goto v_resetjp_4243_;
}
v_resetjp_4243_:
{
lean_object* v_ctx_4246_; lean_object* v___x_4248_; uint8_t v_isShared_4249_; uint8_t v_isSharedCheck_4262_; 
v_ctx_4246_ = lean_ctor_get(v_a_4226_, 0);
v_isSharedCheck_4262_ = !lean_is_exclusive(v_a_4226_);
if (v_isSharedCheck_4262_ == 0)
{
lean_object* v_unused_4263_; 
v_unused_4263_ = lean_ctor_get(v_a_4226_, 1);
lean_dec(v_unused_4263_);
v___x_4248_ = v_a_4226_;
v_isShared_4249_ = v_isSharedCheck_4262_;
goto v_resetjp_4247_;
}
else
{
lean_inc(v_ctx_4246_);
lean_dec(v_a_4226_);
v___x_4248_ = lean_box(0);
v_isShared_4249_ = v_isSharedCheck_4262_;
goto v_resetjp_4247_;
}
v_resetjp_4247_:
{
lean_object* v_type_4250_; lean_object* v_u_4251_; lean_object* v_intModuleInst_4252_; lean_object* v___x_4253_; lean_object* v___x_4255_; 
v_type_4250_ = lean_ctor_get(v_a_4240_, 2);
lean_inc_ref(v_type_4250_);
v_u_4251_ = lean_ctor_get(v_a_4240_, 3);
lean_inc(v_u_4251_);
v_intModuleInst_4252_ = lean_ctor_get(v_a_4240_, 4);
lean_inc_ref(v_intModuleInst_4252_);
lean_dec(v_a_4240_);
v___x_4253_ = lean_box(0);
if (v_isShared_4249_ == 0)
{
lean_ctor_set_tag(v___x_4248_, 1);
lean_ctor_set(v___x_4248_, 1, v___x_4253_);
lean_ctor_set(v___x_4248_, 0, v_u_4251_);
v___x_4255_ = v___x_4248_;
goto v_reusejp_4254_;
}
else
{
lean_object* v_reuseFailAlloc_4261_; 
v_reuseFailAlloc_4261_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4261_, 0, v_u_4251_);
lean_ctor_set(v_reuseFailAlloc_4261_, 1, v___x_4253_);
v___x_4255_ = v_reuseFailAlloc_4261_;
goto v_reusejp_4254_;
}
v_reusejp_4254_:
{
lean_object* v___x_4256_; lean_object* v___x_4257_; lean_object* v___x_4259_; 
v___x_4256_ = l_Lean_mkConst(v_declName_4225_, v___x_4255_);
v___x_4257_ = l_Lean_mkApp4(v___x_4256_, v_type_4250_, v_intModuleInst_4252_, v_a_4242_, v_ctx_4246_);
if (v_isShared_4245_ == 0)
{
lean_ctor_set(v___x_4244_, 0, v___x_4257_);
v___x_4259_ = v___x_4244_;
goto v_reusejp_4258_;
}
else
{
lean_object* v_reuseFailAlloc_4260_; 
v_reuseFailAlloc_4260_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4260_, 0, v___x_4257_);
v___x_4259_ = v_reuseFailAlloc_4260_;
goto v_reusejp_4258_;
}
v_reusejp_4258_:
{
return v___x_4259_;
}
}
}
}
}
else
{
lean_dec(v_a_4240_);
lean_dec_ref(v_a_4226_);
lean_dec(v_declName_4225_);
return v___x_4241_;
}
}
else
{
lean_object* v_a_4265_; lean_object* v___x_4267_; uint8_t v_isShared_4268_; uint8_t v_isSharedCheck_4272_; 
lean_dec_ref(v_a_4226_);
lean_dec(v_declName_4225_);
v_a_4265_ = lean_ctor_get(v___x_4239_, 0);
v_isSharedCheck_4272_ = !lean_is_exclusive(v___x_4239_);
if (v_isSharedCheck_4272_ == 0)
{
v___x_4267_ = v___x_4239_;
v_isShared_4268_ = v_isSharedCheck_4272_;
goto v_resetjp_4266_;
}
else
{
lean_inc(v_a_4265_);
lean_dec(v___x_4239_);
v___x_4267_ = lean_box(0);
v_isShared_4268_ = v_isSharedCheck_4272_;
goto v_resetjp_4266_;
}
v_resetjp_4266_:
{
lean_object* v___x_4270_; 
if (v_isShared_4268_ == 0)
{
v___x_4270_ = v___x_4267_;
goto v_reusejp_4269_;
}
else
{
lean_object* v_reuseFailAlloc_4271_; 
v_reuseFailAlloc_4271_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4271_, 0, v_a_4265_);
v___x_4270_ = v_reuseFailAlloc_4271_;
goto v_reusejp_4269_;
}
v_reusejp_4269_:
{
return v___x_4270_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix___redArg___boxed(lean_object* v_declName_4273_, lean_object* v_a_4274_, lean_object* v_a_4275_, lean_object* v_a_4276_, lean_object* v_a_4277_, lean_object* v_a_4278_, lean_object* v_a_4279_, lean_object* v_a_4280_, lean_object* v_a_4281_, lean_object* v_a_4282_, lean_object* v_a_4283_, lean_object* v_a_4284_, lean_object* v_a_4285_, lean_object* v_a_4286_){
_start:
{
lean_object* v_res_4287_; 
v_res_4287_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix___redArg(v_declName_4273_, v_a_4274_, v_a_4275_, v_a_4276_, v_a_4277_, v_a_4278_, v_a_4279_, v_a_4280_, v_a_4281_, v_a_4282_, v_a_4283_, v_a_4284_, v_a_4285_);
lean_dec(v_a_4285_);
lean_dec_ref(v_a_4284_);
lean_dec(v_a_4283_);
lean_dec_ref(v_a_4282_);
lean_dec(v_a_4281_);
lean_dec_ref(v_a_4280_);
lean_dec(v_a_4279_);
lean_dec_ref(v_a_4278_);
lean_dec(v_a_4277_);
lean_dec(v_a_4276_);
lean_dec(v_a_4275_);
return v_res_4287_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix(lean_object* v_declName_4288_, lean_object* v_a_4289_, lean_object* v_a_4290_, lean_object* v_a_4291_, lean_object* v_a_4292_, lean_object* v_a_4293_, lean_object* v_a_4294_, lean_object* v_a_4295_, lean_object* v_a_4296_, lean_object* v_a_4297_, lean_object* v_a_4298_, lean_object* v_a_4299_, lean_object* v_a_4300_, lean_object* v_a_4301_){
_start:
{
lean_object* v___x_4303_; 
v___x_4303_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix___redArg(v_declName_4288_, v_a_4289_, v_a_4291_, v_a_4292_, v_a_4293_, v_a_4294_, v_a_4295_, v_a_4296_, v_a_4297_, v_a_4298_, v_a_4299_, v_a_4300_, v_a_4301_);
return v___x_4303_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix___boxed(lean_object* v_declName_4304_, lean_object* v_a_4305_, lean_object* v_a_4306_, lean_object* v_a_4307_, lean_object* v_a_4308_, lean_object* v_a_4309_, lean_object* v_a_4310_, lean_object* v_a_4311_, lean_object* v_a_4312_, lean_object* v_a_4313_, lean_object* v_a_4314_, lean_object* v_a_4315_, lean_object* v_a_4316_, lean_object* v_a_4317_, lean_object* v_a_4318_){
_start:
{
lean_object* v_res_4319_; 
v_res_4319_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix(v_declName_4304_, v_a_4305_, v_a_4306_, v_a_4307_, v_a_4308_, v_a_4309_, v_a_4310_, v_a_4311_, v_a_4312_, v_a_4313_, v_a_4314_, v_a_4315_, v_a_4316_, v_a_4317_);
lean_dec(v_a_4317_);
lean_dec_ref(v_a_4316_);
lean_dec(v_a_4315_);
lean_dec_ref(v_a_4314_);
lean_dec(v_a_4313_);
lean_dec_ref(v_a_4312_);
lean_dec(v_a_4311_);
lean_dec_ref(v_a_4310_);
lean_dec(v_a_4309_);
lean_dec(v_a_4308_);
lean_dec(v_a_4307_);
lean_dec(v_a_4306_);
return v_res_4319_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreThmPrefix___redArg(lean_object* v_declName_4320_, lean_object* v_a_4321_, lean_object* v_a_4322_, lean_object* v_a_4323_, lean_object* v_a_4324_, lean_object* v_a_4325_, lean_object* v_a_4326_, lean_object* v_a_4327_, lean_object* v_a_4328_, lean_object* v_a_4329_, lean_object* v_a_4330_, lean_object* v_a_4331_, lean_object* v_a_4332_){
_start:
{
lean_object* v___x_4334_; 
v___x_4334_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_4322_, v_a_4323_, v_a_4324_, v_a_4325_, v_a_4326_, v_a_4327_, v_a_4328_, v_a_4329_, v_a_4330_, v_a_4331_, v_a_4332_);
if (lean_obj_tag(v___x_4334_) == 0)
{
lean_object* v_a_4335_; lean_object* v___x_4336_; 
v_a_4335_ = lean_ctor_get(v___x_4334_, 0);
lean_inc(v_a_4335_);
lean_dec_ref(v___x_4334_);
v___x_4336_ = l_Lean_Meta_Grind_Arith_Linear_getLEInst(v_a_4322_, v_a_4323_, v_a_4324_, v_a_4325_, v_a_4326_, v_a_4327_, v_a_4328_, v_a_4329_, v_a_4330_, v_a_4331_, v_a_4332_);
if (lean_obj_tag(v___x_4336_) == 0)
{
lean_object* v_a_4337_; lean_object* v___x_4338_; 
v_a_4337_ = lean_ctor_get(v___x_4336_, 0);
lean_inc(v_a_4337_);
lean_dec_ref(v___x_4336_);
v___x_4338_ = l_Lean_Meta_Grind_Arith_Linear_getLTInst(v_a_4322_, v_a_4323_, v_a_4324_, v_a_4325_, v_a_4326_, v_a_4327_, v_a_4328_, v_a_4329_, v_a_4330_, v_a_4331_, v_a_4332_);
if (lean_obj_tag(v___x_4338_) == 0)
{
lean_object* v_a_4339_; lean_object* v___x_4340_; 
v_a_4339_ = lean_ctor_get(v___x_4338_, 0);
lean_inc(v_a_4339_);
lean_dec_ref(v___x_4338_);
v___x_4340_ = l_Lean_Meta_Grind_Arith_Linear_getLawfulOrderLTInst(v_a_4322_, v_a_4323_, v_a_4324_, v_a_4325_, v_a_4326_, v_a_4327_, v_a_4328_, v_a_4329_, v_a_4330_, v_a_4331_, v_a_4332_);
if (lean_obj_tag(v___x_4340_) == 0)
{
lean_object* v_a_4341_; lean_object* v___x_4342_; 
v_a_4341_ = lean_ctor_get(v___x_4340_, 0);
lean_inc(v_a_4341_);
lean_dec_ref(v___x_4340_);
v___x_4342_ = l_Lean_Meta_Grind_Arith_Linear_getIsPreorderInst(v_a_4322_, v_a_4323_, v_a_4324_, v_a_4325_, v_a_4326_, v_a_4327_, v_a_4328_, v_a_4329_, v_a_4330_, v_a_4331_, v_a_4332_);
if (lean_obj_tag(v___x_4342_) == 0)
{
lean_object* v_a_4343_; lean_object* v___x_4345_; uint8_t v_isShared_4346_; uint8_t v_isSharedCheck_4365_; 
v_a_4343_ = lean_ctor_get(v___x_4342_, 0);
v_isSharedCheck_4365_ = !lean_is_exclusive(v___x_4342_);
if (v_isSharedCheck_4365_ == 0)
{
v___x_4345_ = v___x_4342_;
v_isShared_4346_ = v_isSharedCheck_4365_;
goto v_resetjp_4344_;
}
else
{
lean_inc(v_a_4343_);
lean_dec(v___x_4342_);
v___x_4345_ = lean_box(0);
v_isShared_4346_ = v_isSharedCheck_4365_;
goto v_resetjp_4344_;
}
v_resetjp_4344_:
{
lean_object* v_ctx_4347_; lean_object* v___x_4349_; uint8_t v_isShared_4350_; uint8_t v_isSharedCheck_4363_; 
v_ctx_4347_ = lean_ctor_get(v_a_4321_, 0);
v_isSharedCheck_4363_ = !lean_is_exclusive(v_a_4321_);
if (v_isSharedCheck_4363_ == 0)
{
lean_object* v_unused_4364_; 
v_unused_4364_ = lean_ctor_get(v_a_4321_, 1);
lean_dec(v_unused_4364_);
v___x_4349_ = v_a_4321_;
v_isShared_4350_ = v_isSharedCheck_4363_;
goto v_resetjp_4348_;
}
else
{
lean_inc(v_ctx_4347_);
lean_dec(v_a_4321_);
v___x_4349_ = lean_box(0);
v_isShared_4350_ = v_isSharedCheck_4363_;
goto v_resetjp_4348_;
}
v_resetjp_4348_:
{
lean_object* v_type_4351_; lean_object* v_u_4352_; lean_object* v_intModuleInst_4353_; lean_object* v___x_4354_; lean_object* v___x_4356_; 
v_type_4351_ = lean_ctor_get(v_a_4335_, 2);
lean_inc_ref(v_type_4351_);
v_u_4352_ = lean_ctor_get(v_a_4335_, 3);
lean_inc(v_u_4352_);
v_intModuleInst_4353_ = lean_ctor_get(v_a_4335_, 4);
lean_inc_ref(v_intModuleInst_4353_);
lean_dec(v_a_4335_);
v___x_4354_ = lean_box(0);
if (v_isShared_4350_ == 0)
{
lean_ctor_set_tag(v___x_4349_, 1);
lean_ctor_set(v___x_4349_, 1, v___x_4354_);
lean_ctor_set(v___x_4349_, 0, v_u_4352_);
v___x_4356_ = v___x_4349_;
goto v_reusejp_4355_;
}
else
{
lean_object* v_reuseFailAlloc_4362_; 
v_reuseFailAlloc_4362_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4362_, 0, v_u_4352_);
lean_ctor_set(v_reuseFailAlloc_4362_, 1, v___x_4354_);
v___x_4356_ = v_reuseFailAlloc_4362_;
goto v_reusejp_4355_;
}
v_reusejp_4355_:
{
lean_object* v___x_4357_; lean_object* v___x_4358_; lean_object* v___x_4360_; 
v___x_4357_ = l_Lean_mkConst(v_declName_4320_, v___x_4356_);
v___x_4358_ = l_Lean_mkApp7(v___x_4357_, v_type_4351_, v_intModuleInst_4353_, v_a_4337_, v_a_4339_, v_a_4341_, v_a_4343_, v_ctx_4347_);
if (v_isShared_4346_ == 0)
{
lean_ctor_set(v___x_4345_, 0, v___x_4358_);
v___x_4360_ = v___x_4345_;
goto v_reusejp_4359_;
}
else
{
lean_object* v_reuseFailAlloc_4361_; 
v_reuseFailAlloc_4361_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4361_, 0, v___x_4358_);
v___x_4360_ = v_reuseFailAlloc_4361_;
goto v_reusejp_4359_;
}
v_reusejp_4359_:
{
return v___x_4360_;
}
}
}
}
}
else
{
lean_dec(v_a_4341_);
lean_dec(v_a_4339_);
lean_dec(v_a_4337_);
lean_dec(v_a_4335_);
lean_dec_ref(v_a_4321_);
lean_dec(v_declName_4320_);
return v___x_4342_;
}
}
else
{
lean_dec(v_a_4339_);
lean_dec(v_a_4337_);
lean_dec(v_a_4335_);
lean_dec_ref(v_a_4321_);
lean_dec(v_declName_4320_);
return v___x_4340_;
}
}
else
{
lean_dec(v_a_4337_);
lean_dec(v_a_4335_);
lean_dec_ref(v_a_4321_);
lean_dec(v_declName_4320_);
return v___x_4338_;
}
}
else
{
lean_dec(v_a_4335_);
lean_dec_ref(v_a_4321_);
lean_dec(v_declName_4320_);
return v___x_4336_;
}
}
else
{
lean_object* v_a_4366_; lean_object* v___x_4368_; uint8_t v_isShared_4369_; uint8_t v_isSharedCheck_4373_; 
lean_dec_ref(v_a_4321_);
lean_dec(v_declName_4320_);
v_a_4366_ = lean_ctor_get(v___x_4334_, 0);
v_isSharedCheck_4373_ = !lean_is_exclusive(v___x_4334_);
if (v_isSharedCheck_4373_ == 0)
{
v___x_4368_ = v___x_4334_;
v_isShared_4369_ = v_isSharedCheck_4373_;
goto v_resetjp_4367_;
}
else
{
lean_inc(v_a_4366_);
lean_dec(v___x_4334_);
v___x_4368_ = lean_box(0);
v_isShared_4369_ = v_isSharedCheck_4373_;
goto v_resetjp_4367_;
}
v_resetjp_4367_:
{
lean_object* v___x_4371_; 
if (v_isShared_4369_ == 0)
{
v___x_4371_ = v___x_4368_;
goto v_reusejp_4370_;
}
else
{
lean_object* v_reuseFailAlloc_4372_; 
v_reuseFailAlloc_4372_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4372_, 0, v_a_4366_);
v___x_4371_ = v_reuseFailAlloc_4372_;
goto v_reusejp_4370_;
}
v_reusejp_4370_:
{
return v___x_4371_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreThmPrefix___redArg___boxed(lean_object* v_declName_4374_, lean_object* v_a_4375_, lean_object* v_a_4376_, lean_object* v_a_4377_, lean_object* v_a_4378_, lean_object* v_a_4379_, lean_object* v_a_4380_, lean_object* v_a_4381_, lean_object* v_a_4382_, lean_object* v_a_4383_, lean_object* v_a_4384_, lean_object* v_a_4385_, lean_object* v_a_4386_, lean_object* v_a_4387_){
_start:
{
lean_object* v_res_4388_; 
v_res_4388_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreThmPrefix___redArg(v_declName_4374_, v_a_4375_, v_a_4376_, v_a_4377_, v_a_4378_, v_a_4379_, v_a_4380_, v_a_4381_, v_a_4382_, v_a_4383_, v_a_4384_, v_a_4385_, v_a_4386_);
lean_dec(v_a_4386_);
lean_dec_ref(v_a_4385_);
lean_dec(v_a_4384_);
lean_dec_ref(v_a_4383_);
lean_dec(v_a_4382_);
lean_dec_ref(v_a_4381_);
lean_dec(v_a_4380_);
lean_dec_ref(v_a_4379_);
lean_dec(v_a_4378_);
lean_dec(v_a_4377_);
lean_dec(v_a_4376_);
return v_res_4388_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreThmPrefix(lean_object* v_declName_4389_, lean_object* v_a_4390_, lean_object* v_a_4391_, lean_object* v_a_4392_, lean_object* v_a_4393_, lean_object* v_a_4394_, lean_object* v_a_4395_, lean_object* v_a_4396_, lean_object* v_a_4397_, lean_object* v_a_4398_, lean_object* v_a_4399_, lean_object* v_a_4400_, lean_object* v_a_4401_, lean_object* v_a_4402_){
_start:
{
lean_object* v___x_4404_; 
v___x_4404_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreThmPrefix___redArg(v_declName_4389_, v_a_4390_, v_a_4392_, v_a_4393_, v_a_4394_, v_a_4395_, v_a_4396_, v_a_4397_, v_a_4398_, v_a_4399_, v_a_4400_, v_a_4401_, v_a_4402_);
return v___x_4404_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreThmPrefix___boxed(lean_object* v_declName_4405_, lean_object* v_a_4406_, lean_object* v_a_4407_, lean_object* v_a_4408_, lean_object* v_a_4409_, lean_object* v_a_4410_, lean_object* v_a_4411_, lean_object* v_a_4412_, lean_object* v_a_4413_, lean_object* v_a_4414_, lean_object* v_a_4415_, lean_object* v_a_4416_, lean_object* v_a_4417_, lean_object* v_a_4418_, lean_object* v_a_4419_){
_start:
{
lean_object* v_res_4420_; 
v_res_4420_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreThmPrefix(v_declName_4405_, v_a_4406_, v_a_4407_, v_a_4408_, v_a_4409_, v_a_4410_, v_a_4411_, v_a_4412_, v_a_4413_, v_a_4414_, v_a_4415_, v_a_4416_, v_a_4417_, v_a_4418_);
lean_dec(v_a_4418_);
lean_dec_ref(v_a_4417_);
lean_dec(v_a_4416_);
lean_dec_ref(v_a_4415_);
lean_dec(v_a_4414_);
lean_dec_ref(v_a_4413_);
lean_dec(v_a_4412_);
lean_dec_ref(v_a_4411_);
lean_dec(v_a_4410_);
lean_dec(v_a_4409_);
lean_dec(v_a_4408_);
lean_dec(v_a_4407_);
return v_res_4420_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___redArg(lean_object* v_declName_4421_, lean_object* v_a_4422_, lean_object* v_a_4423_, lean_object* v_a_4424_, lean_object* v_a_4425_, lean_object* v_a_4426_, lean_object* v_a_4427_, lean_object* v_a_4428_, lean_object* v_a_4429_, lean_object* v_a_4430_, lean_object* v_a_4431_, lean_object* v_a_4432_, lean_object* v_a_4433_){
_start:
{
lean_object* v___x_4435_; 
v___x_4435_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_4423_, v_a_4424_, v_a_4425_, v_a_4426_, v_a_4427_, v_a_4428_, v_a_4429_, v_a_4430_, v_a_4431_, v_a_4432_, v_a_4433_);
if (lean_obj_tag(v___x_4435_) == 0)
{
lean_object* v_a_4436_; lean_object* v___x_4437_; 
v_a_4436_ = lean_ctor_get(v___x_4435_, 0);
lean_inc(v_a_4436_);
lean_dec_ref(v___x_4435_);
v___x_4437_ = l_Lean_Meta_Grind_Arith_Linear_getLEInst(v_a_4423_, v_a_4424_, v_a_4425_, v_a_4426_, v_a_4427_, v_a_4428_, v_a_4429_, v_a_4430_, v_a_4431_, v_a_4432_, v_a_4433_);
if (lean_obj_tag(v___x_4437_) == 0)
{
lean_object* v_a_4438_; lean_object* v___x_4439_; 
v_a_4438_ = lean_ctor_get(v___x_4437_, 0);
lean_inc(v_a_4438_);
lean_dec_ref(v___x_4437_);
v___x_4439_ = l_Lean_Meta_Grind_Arith_Linear_getIsPreorderInst(v_a_4423_, v_a_4424_, v_a_4425_, v_a_4426_, v_a_4427_, v_a_4428_, v_a_4429_, v_a_4430_, v_a_4431_, v_a_4432_, v_a_4433_);
if (lean_obj_tag(v___x_4439_) == 0)
{
lean_object* v_a_4440_; lean_object* v___x_4441_; 
v_a_4440_ = lean_ctor_get(v___x_4439_, 0);
lean_inc(v_a_4440_);
lean_dec_ref(v___x_4439_);
v___x_4441_ = l_Lean_Meta_Grind_Arith_Linear_getOrderedAddInst(v_a_4423_, v_a_4424_, v_a_4425_, v_a_4426_, v_a_4427_, v_a_4428_, v_a_4429_, v_a_4430_, v_a_4431_, v_a_4432_, v_a_4433_);
if (lean_obj_tag(v___x_4441_) == 0)
{
lean_object* v_a_4442_; lean_object* v___x_4444_; uint8_t v_isShared_4445_; uint8_t v_isSharedCheck_4464_; 
v_a_4442_ = lean_ctor_get(v___x_4441_, 0);
v_isSharedCheck_4464_ = !lean_is_exclusive(v___x_4441_);
if (v_isSharedCheck_4464_ == 0)
{
v___x_4444_ = v___x_4441_;
v_isShared_4445_ = v_isSharedCheck_4464_;
goto v_resetjp_4443_;
}
else
{
lean_inc(v_a_4442_);
lean_dec(v___x_4441_);
v___x_4444_ = lean_box(0);
v_isShared_4445_ = v_isSharedCheck_4464_;
goto v_resetjp_4443_;
}
v_resetjp_4443_:
{
lean_object* v_ctx_4446_; lean_object* v___x_4448_; uint8_t v_isShared_4449_; uint8_t v_isSharedCheck_4462_; 
v_ctx_4446_ = lean_ctor_get(v_a_4422_, 0);
v_isSharedCheck_4462_ = !lean_is_exclusive(v_a_4422_);
if (v_isSharedCheck_4462_ == 0)
{
lean_object* v_unused_4463_; 
v_unused_4463_ = lean_ctor_get(v_a_4422_, 1);
lean_dec(v_unused_4463_);
v___x_4448_ = v_a_4422_;
v_isShared_4449_ = v_isSharedCheck_4462_;
goto v_resetjp_4447_;
}
else
{
lean_inc(v_ctx_4446_);
lean_dec(v_a_4422_);
v___x_4448_ = lean_box(0);
v_isShared_4449_ = v_isSharedCheck_4462_;
goto v_resetjp_4447_;
}
v_resetjp_4447_:
{
lean_object* v_type_4450_; lean_object* v_u_4451_; lean_object* v_intModuleInst_4452_; lean_object* v___x_4453_; lean_object* v___x_4455_; 
v_type_4450_ = lean_ctor_get(v_a_4436_, 2);
lean_inc_ref(v_type_4450_);
v_u_4451_ = lean_ctor_get(v_a_4436_, 3);
lean_inc(v_u_4451_);
v_intModuleInst_4452_ = lean_ctor_get(v_a_4436_, 4);
lean_inc_ref(v_intModuleInst_4452_);
lean_dec(v_a_4436_);
v___x_4453_ = lean_box(0);
if (v_isShared_4449_ == 0)
{
lean_ctor_set_tag(v___x_4448_, 1);
lean_ctor_set(v___x_4448_, 1, v___x_4453_);
lean_ctor_set(v___x_4448_, 0, v_u_4451_);
v___x_4455_ = v___x_4448_;
goto v_reusejp_4454_;
}
else
{
lean_object* v_reuseFailAlloc_4461_; 
v_reuseFailAlloc_4461_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4461_, 0, v_u_4451_);
lean_ctor_set(v_reuseFailAlloc_4461_, 1, v___x_4453_);
v___x_4455_ = v_reuseFailAlloc_4461_;
goto v_reusejp_4454_;
}
v_reusejp_4454_:
{
lean_object* v___x_4456_; lean_object* v___x_4457_; lean_object* v___x_4459_; 
v___x_4456_ = l_Lean_mkConst(v_declName_4421_, v___x_4455_);
v___x_4457_ = l_Lean_mkApp6(v___x_4456_, v_type_4450_, v_intModuleInst_4452_, v_a_4438_, v_a_4440_, v_a_4442_, v_ctx_4446_);
if (v_isShared_4445_ == 0)
{
lean_ctor_set(v___x_4444_, 0, v___x_4457_);
v___x_4459_ = v___x_4444_;
goto v_reusejp_4458_;
}
else
{
lean_object* v_reuseFailAlloc_4460_; 
v_reuseFailAlloc_4460_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4460_, 0, v___x_4457_);
v___x_4459_ = v_reuseFailAlloc_4460_;
goto v_reusejp_4458_;
}
v_reusejp_4458_:
{
return v___x_4459_;
}
}
}
}
}
else
{
lean_dec(v_a_4440_);
lean_dec(v_a_4438_);
lean_dec(v_a_4436_);
lean_dec_ref(v_a_4422_);
lean_dec(v_declName_4421_);
return v___x_4441_;
}
}
else
{
lean_dec(v_a_4438_);
lean_dec(v_a_4436_);
lean_dec_ref(v_a_4422_);
lean_dec(v_declName_4421_);
return v___x_4439_;
}
}
else
{
lean_dec(v_a_4436_);
lean_dec_ref(v_a_4422_);
lean_dec(v_declName_4421_);
return v___x_4437_;
}
}
else
{
lean_object* v_a_4465_; lean_object* v___x_4467_; uint8_t v_isShared_4468_; uint8_t v_isSharedCheck_4472_; 
lean_dec_ref(v_a_4422_);
lean_dec(v_declName_4421_);
v_a_4465_ = lean_ctor_get(v___x_4435_, 0);
v_isSharedCheck_4472_ = !lean_is_exclusive(v___x_4435_);
if (v_isSharedCheck_4472_ == 0)
{
v___x_4467_ = v___x_4435_;
v_isShared_4468_ = v_isSharedCheck_4472_;
goto v_resetjp_4466_;
}
else
{
lean_inc(v_a_4465_);
lean_dec(v___x_4435_);
v___x_4467_ = lean_box(0);
v_isShared_4468_ = v_isSharedCheck_4472_;
goto v_resetjp_4466_;
}
v_resetjp_4466_:
{
lean_object* v___x_4470_; 
if (v_isShared_4468_ == 0)
{
v___x_4470_ = v___x_4467_;
goto v_reusejp_4469_;
}
else
{
lean_object* v_reuseFailAlloc_4471_; 
v_reuseFailAlloc_4471_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4471_, 0, v_a_4465_);
v___x_4470_ = v_reuseFailAlloc_4471_;
goto v_reusejp_4469_;
}
v_reusejp_4469_:
{
return v___x_4470_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___redArg___boxed(lean_object* v_declName_4473_, lean_object* v_a_4474_, lean_object* v_a_4475_, lean_object* v_a_4476_, lean_object* v_a_4477_, lean_object* v_a_4478_, lean_object* v_a_4479_, lean_object* v_a_4480_, lean_object* v_a_4481_, lean_object* v_a_4482_, lean_object* v_a_4483_, lean_object* v_a_4484_, lean_object* v_a_4485_, lean_object* v_a_4486_){
_start:
{
lean_object* v_res_4487_; 
v_res_4487_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___redArg(v_declName_4473_, v_a_4474_, v_a_4475_, v_a_4476_, v_a_4477_, v_a_4478_, v_a_4479_, v_a_4480_, v_a_4481_, v_a_4482_, v_a_4483_, v_a_4484_, v_a_4485_);
lean_dec(v_a_4485_);
lean_dec_ref(v_a_4484_);
lean_dec(v_a_4483_);
lean_dec_ref(v_a_4482_);
lean_dec(v_a_4481_);
lean_dec_ref(v_a_4480_);
lean_dec(v_a_4479_);
lean_dec_ref(v_a_4478_);
lean_dec(v_a_4477_);
lean_dec(v_a_4476_);
lean_dec(v_a_4475_);
return v_res_4487_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix(lean_object* v_declName_4488_, lean_object* v_a_4489_, lean_object* v_a_4490_, lean_object* v_a_4491_, lean_object* v_a_4492_, lean_object* v_a_4493_, lean_object* v_a_4494_, lean_object* v_a_4495_, lean_object* v_a_4496_, lean_object* v_a_4497_, lean_object* v_a_4498_, lean_object* v_a_4499_, lean_object* v_a_4500_, lean_object* v_a_4501_){
_start:
{
lean_object* v___x_4503_; 
v___x_4503_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___redArg(v_declName_4488_, v_a_4489_, v_a_4491_, v_a_4492_, v_a_4493_, v_a_4494_, v_a_4495_, v_a_4496_, v_a_4497_, v_a_4498_, v_a_4499_, v_a_4500_, v_a_4501_);
return v___x_4503_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___boxed(lean_object* v_declName_4504_, lean_object* v_a_4505_, lean_object* v_a_4506_, lean_object* v_a_4507_, lean_object* v_a_4508_, lean_object* v_a_4509_, lean_object* v_a_4510_, lean_object* v_a_4511_, lean_object* v_a_4512_, lean_object* v_a_4513_, lean_object* v_a_4514_, lean_object* v_a_4515_, lean_object* v_a_4516_, lean_object* v_a_4517_, lean_object* v_a_4518_){
_start:
{
lean_object* v_res_4519_; 
v_res_4519_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix(v_declName_4504_, v_a_4505_, v_a_4506_, v_a_4507_, v_a_4508_, v_a_4509_, v_a_4510_, v_a_4511_, v_a_4512_, v_a_4513_, v_a_4514_, v_a_4515_, v_a_4516_, v_a_4517_);
lean_dec(v_a_4517_);
lean_dec_ref(v_a_4516_);
lean_dec(v_a_4515_);
lean_dec_ref(v_a_4514_);
lean_dec(v_a_4513_);
lean_dec_ref(v_a_4512_);
lean_dec(v_a_4511_);
lean_dec_ref(v_a_4510_);
lean_dec(v_a_4509_);
lean_dec(v_a_4508_);
lean_dec(v_a_4507_);
lean_dec(v_a_4506_);
return v_res_4519_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___redArg(lean_object* v_declName_4520_, lean_object* v_a_4521_, lean_object* v_a_4522_, lean_object* v_a_4523_, lean_object* v_a_4524_, lean_object* v_a_4525_, lean_object* v_a_4526_, lean_object* v_a_4527_, lean_object* v_a_4528_, lean_object* v_a_4529_, lean_object* v_a_4530_, lean_object* v_a_4531_, lean_object* v_a_4532_){
_start:
{
lean_object* v___x_4534_; 
v___x_4534_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_4522_, v_a_4523_, v_a_4524_, v_a_4525_, v_a_4526_, v_a_4527_, v_a_4528_, v_a_4529_, v_a_4530_, v_a_4531_, v_a_4532_);
if (lean_obj_tag(v___x_4534_) == 0)
{
lean_object* v_a_4535_; lean_object* v___x_4536_; 
v_a_4535_ = lean_ctor_get(v___x_4534_, 0);
lean_inc(v_a_4535_);
lean_dec_ref(v___x_4534_);
v___x_4536_ = l_Lean_Meta_Grind_Arith_Linear_getLEInst(v_a_4522_, v_a_4523_, v_a_4524_, v_a_4525_, v_a_4526_, v_a_4527_, v_a_4528_, v_a_4529_, v_a_4530_, v_a_4531_, v_a_4532_);
if (lean_obj_tag(v___x_4536_) == 0)
{
lean_object* v_a_4537_; lean_object* v___x_4538_; 
v_a_4537_ = lean_ctor_get(v___x_4536_, 0);
lean_inc(v_a_4537_);
lean_dec_ref(v___x_4536_);
v___x_4538_ = l_Lean_Meta_Grind_Arith_Linear_getLTInst(v_a_4522_, v_a_4523_, v_a_4524_, v_a_4525_, v_a_4526_, v_a_4527_, v_a_4528_, v_a_4529_, v_a_4530_, v_a_4531_, v_a_4532_);
if (lean_obj_tag(v___x_4538_) == 0)
{
lean_object* v_a_4539_; lean_object* v___x_4540_; 
v_a_4539_ = lean_ctor_get(v___x_4538_, 0);
lean_inc(v_a_4539_);
lean_dec_ref(v___x_4538_);
v___x_4540_ = l_Lean_Meta_Grind_Arith_Linear_getLawfulOrderLTInst(v_a_4522_, v_a_4523_, v_a_4524_, v_a_4525_, v_a_4526_, v_a_4527_, v_a_4528_, v_a_4529_, v_a_4530_, v_a_4531_, v_a_4532_);
if (lean_obj_tag(v___x_4540_) == 0)
{
lean_object* v_a_4541_; lean_object* v___x_4542_; 
v_a_4541_ = lean_ctor_get(v___x_4540_, 0);
lean_inc(v_a_4541_);
lean_dec_ref(v___x_4540_);
v___x_4542_ = l_Lean_Meta_Grind_Arith_Linear_getIsPreorderInst(v_a_4522_, v_a_4523_, v_a_4524_, v_a_4525_, v_a_4526_, v_a_4527_, v_a_4528_, v_a_4529_, v_a_4530_, v_a_4531_, v_a_4532_);
if (lean_obj_tag(v___x_4542_) == 0)
{
lean_object* v_a_4543_; lean_object* v___x_4544_; 
v_a_4543_ = lean_ctor_get(v___x_4542_, 0);
lean_inc(v_a_4543_);
lean_dec_ref(v___x_4542_);
v___x_4544_ = l_Lean_Meta_Grind_Arith_Linear_getOrderedAddInst(v_a_4522_, v_a_4523_, v_a_4524_, v_a_4525_, v_a_4526_, v_a_4527_, v_a_4528_, v_a_4529_, v_a_4530_, v_a_4531_, v_a_4532_);
if (lean_obj_tag(v___x_4544_) == 0)
{
lean_object* v_a_4545_; lean_object* v___x_4547_; uint8_t v_isShared_4548_; uint8_t v_isSharedCheck_4567_; 
v_a_4545_ = lean_ctor_get(v___x_4544_, 0);
v_isSharedCheck_4567_ = !lean_is_exclusive(v___x_4544_);
if (v_isSharedCheck_4567_ == 0)
{
v___x_4547_ = v___x_4544_;
v_isShared_4548_ = v_isSharedCheck_4567_;
goto v_resetjp_4546_;
}
else
{
lean_inc(v_a_4545_);
lean_dec(v___x_4544_);
v___x_4547_ = lean_box(0);
v_isShared_4548_ = v_isSharedCheck_4567_;
goto v_resetjp_4546_;
}
v_resetjp_4546_:
{
lean_object* v_ctx_4549_; lean_object* v___x_4551_; uint8_t v_isShared_4552_; uint8_t v_isSharedCheck_4565_; 
v_ctx_4549_ = lean_ctor_get(v_a_4521_, 0);
v_isSharedCheck_4565_ = !lean_is_exclusive(v_a_4521_);
if (v_isSharedCheck_4565_ == 0)
{
lean_object* v_unused_4566_; 
v_unused_4566_ = lean_ctor_get(v_a_4521_, 1);
lean_dec(v_unused_4566_);
v___x_4551_ = v_a_4521_;
v_isShared_4552_ = v_isSharedCheck_4565_;
goto v_resetjp_4550_;
}
else
{
lean_inc(v_ctx_4549_);
lean_dec(v_a_4521_);
v___x_4551_ = lean_box(0);
v_isShared_4552_ = v_isSharedCheck_4565_;
goto v_resetjp_4550_;
}
v_resetjp_4550_:
{
lean_object* v_type_4553_; lean_object* v_u_4554_; lean_object* v_intModuleInst_4555_; lean_object* v___x_4556_; lean_object* v___x_4558_; 
v_type_4553_ = lean_ctor_get(v_a_4535_, 2);
lean_inc_ref(v_type_4553_);
v_u_4554_ = lean_ctor_get(v_a_4535_, 3);
lean_inc(v_u_4554_);
v_intModuleInst_4555_ = lean_ctor_get(v_a_4535_, 4);
lean_inc_ref(v_intModuleInst_4555_);
lean_dec(v_a_4535_);
v___x_4556_ = lean_box(0);
if (v_isShared_4552_ == 0)
{
lean_ctor_set_tag(v___x_4551_, 1);
lean_ctor_set(v___x_4551_, 1, v___x_4556_);
lean_ctor_set(v___x_4551_, 0, v_u_4554_);
v___x_4558_ = v___x_4551_;
goto v_reusejp_4557_;
}
else
{
lean_object* v_reuseFailAlloc_4564_; 
v_reuseFailAlloc_4564_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4564_, 0, v_u_4554_);
lean_ctor_set(v_reuseFailAlloc_4564_, 1, v___x_4556_);
v___x_4558_ = v_reuseFailAlloc_4564_;
goto v_reusejp_4557_;
}
v_reusejp_4557_:
{
lean_object* v___x_4559_; lean_object* v___x_4560_; lean_object* v___x_4562_; 
v___x_4559_ = l_Lean_mkConst(v_declName_4520_, v___x_4558_);
v___x_4560_ = l_Lean_mkApp8(v___x_4559_, v_type_4553_, v_intModuleInst_4555_, v_a_4537_, v_a_4539_, v_a_4541_, v_a_4543_, v_a_4545_, v_ctx_4549_);
if (v_isShared_4548_ == 0)
{
lean_ctor_set(v___x_4547_, 0, v___x_4560_);
v___x_4562_ = v___x_4547_;
goto v_reusejp_4561_;
}
else
{
lean_object* v_reuseFailAlloc_4563_; 
v_reuseFailAlloc_4563_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4563_, 0, v___x_4560_);
v___x_4562_ = v_reuseFailAlloc_4563_;
goto v_reusejp_4561_;
}
v_reusejp_4561_:
{
return v___x_4562_;
}
}
}
}
}
else
{
lean_dec(v_a_4543_);
lean_dec(v_a_4541_);
lean_dec(v_a_4539_);
lean_dec(v_a_4537_);
lean_dec(v_a_4535_);
lean_dec_ref(v_a_4521_);
lean_dec(v_declName_4520_);
return v___x_4544_;
}
}
else
{
lean_dec(v_a_4541_);
lean_dec(v_a_4539_);
lean_dec(v_a_4537_);
lean_dec(v_a_4535_);
lean_dec_ref(v_a_4521_);
lean_dec(v_declName_4520_);
return v___x_4542_;
}
}
else
{
lean_dec(v_a_4539_);
lean_dec(v_a_4537_);
lean_dec(v_a_4535_);
lean_dec_ref(v_a_4521_);
lean_dec(v_declName_4520_);
return v___x_4540_;
}
}
else
{
lean_dec(v_a_4537_);
lean_dec(v_a_4535_);
lean_dec_ref(v_a_4521_);
lean_dec(v_declName_4520_);
return v___x_4538_;
}
}
else
{
lean_dec(v_a_4535_);
lean_dec_ref(v_a_4521_);
lean_dec(v_declName_4520_);
return v___x_4536_;
}
}
else
{
lean_object* v_a_4568_; lean_object* v___x_4570_; uint8_t v_isShared_4571_; uint8_t v_isSharedCheck_4575_; 
lean_dec_ref(v_a_4521_);
lean_dec(v_declName_4520_);
v_a_4568_ = lean_ctor_get(v___x_4534_, 0);
v_isSharedCheck_4575_ = !lean_is_exclusive(v___x_4534_);
if (v_isSharedCheck_4575_ == 0)
{
v___x_4570_ = v___x_4534_;
v_isShared_4571_ = v_isSharedCheck_4575_;
goto v_resetjp_4569_;
}
else
{
lean_inc(v_a_4568_);
lean_dec(v___x_4534_);
v___x_4570_ = lean_box(0);
v_isShared_4571_ = v_isSharedCheck_4575_;
goto v_resetjp_4569_;
}
v_resetjp_4569_:
{
lean_object* v___x_4573_; 
if (v_isShared_4571_ == 0)
{
v___x_4573_ = v___x_4570_;
goto v_reusejp_4572_;
}
else
{
lean_object* v_reuseFailAlloc_4574_; 
v_reuseFailAlloc_4574_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4574_, 0, v_a_4568_);
v___x_4573_ = v_reuseFailAlloc_4574_;
goto v_reusejp_4572_;
}
v_reusejp_4572_:
{
return v___x_4573_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___redArg___boxed(lean_object* v_declName_4576_, lean_object* v_a_4577_, lean_object* v_a_4578_, lean_object* v_a_4579_, lean_object* v_a_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_, lean_object* v_a_4586_, lean_object* v_a_4587_, lean_object* v_a_4588_, lean_object* v_a_4589_){
_start:
{
lean_object* v_res_4590_; 
v_res_4590_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___redArg(v_declName_4576_, v_a_4577_, v_a_4578_, v_a_4579_, v_a_4580_, v_a_4581_, v_a_4582_, v_a_4583_, v_a_4584_, v_a_4585_, v_a_4586_, v_a_4587_, v_a_4588_);
lean_dec(v_a_4588_);
lean_dec_ref(v_a_4587_);
lean_dec(v_a_4586_);
lean_dec_ref(v_a_4585_);
lean_dec(v_a_4584_);
lean_dec_ref(v_a_4583_);
lean_dec(v_a_4582_);
lean_dec_ref(v_a_4581_);
lean_dec(v_a_4580_);
lean_dec(v_a_4579_);
lean_dec(v_a_4578_);
return v_res_4590_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix(lean_object* v_declName_4591_, lean_object* v_a_4592_, lean_object* v_a_4593_, lean_object* v_a_4594_, lean_object* v_a_4595_, lean_object* v_a_4596_, lean_object* v_a_4597_, lean_object* v_a_4598_, lean_object* v_a_4599_, lean_object* v_a_4600_, lean_object* v_a_4601_, lean_object* v_a_4602_, lean_object* v_a_4603_, lean_object* v_a_4604_){
_start:
{
lean_object* v___x_4606_; 
v___x_4606_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___redArg(v_declName_4591_, v_a_4592_, v_a_4594_, v_a_4595_, v_a_4596_, v_a_4597_, v_a_4598_, v_a_4599_, v_a_4600_, v_a_4601_, v_a_4602_, v_a_4603_, v_a_4604_);
return v___x_4606_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___boxed(lean_object* v_declName_4607_, lean_object* v_a_4608_, lean_object* v_a_4609_, lean_object* v_a_4610_, lean_object* v_a_4611_, lean_object* v_a_4612_, lean_object* v_a_4613_, lean_object* v_a_4614_, lean_object* v_a_4615_, lean_object* v_a_4616_, lean_object* v_a_4617_, lean_object* v_a_4618_, lean_object* v_a_4619_, lean_object* v_a_4620_, lean_object* v_a_4621_){
_start:
{
lean_object* v_res_4622_; 
v_res_4622_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix(v_declName_4607_, v_a_4608_, v_a_4609_, v_a_4610_, v_a_4611_, v_a_4612_, v_a_4613_, v_a_4614_, v_a_4615_, v_a_4616_, v_a_4617_, v_a_4618_, v_a_4619_, v_a_4620_);
lean_dec(v_a_4620_);
lean_dec_ref(v_a_4619_);
lean_dec(v_a_4618_);
lean_dec_ref(v_a_4617_);
lean_dec(v_a_4616_);
lean_dec_ref(v_a_4615_);
lean_dec(v_a_4614_);
lean_dec_ref(v_a_4613_);
lean_dec(v_a_4612_);
lean_dec(v_a_4611_);
lean_dec(v_a_4610_);
lean_dec(v_a_4609_);
return v_res_4622_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix___redArg(lean_object* v_declName_4623_, lean_object* v_a_4624_, lean_object* v_a_4625_, lean_object* v_a_4626_, lean_object* v_a_4627_, lean_object* v_a_4628_, lean_object* v_a_4629_, lean_object* v_a_4630_, lean_object* v_a_4631_, lean_object* v_a_4632_, lean_object* v_a_4633_, lean_object* v_a_4634_, lean_object* v_a_4635_){
_start:
{
lean_object* v___x_4637_; 
v___x_4637_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_4625_, v_a_4626_, v_a_4627_, v_a_4628_, v_a_4629_, v_a_4630_, v_a_4631_, v_a_4632_, v_a_4633_, v_a_4634_, v_a_4635_);
if (lean_obj_tag(v___x_4637_) == 0)
{
lean_object* v_a_4638_; lean_object* v___x_4639_; 
v_a_4638_ = lean_ctor_get(v___x_4637_, 0);
lean_inc(v_a_4638_);
lean_dec_ref(v___x_4637_);
v___x_4639_ = l_Lean_Meta_Grind_Arith_Linear_getLEInst(v_a_4625_, v_a_4626_, v_a_4627_, v_a_4628_, v_a_4629_, v_a_4630_, v_a_4631_, v_a_4632_, v_a_4633_, v_a_4634_, v_a_4635_);
if (lean_obj_tag(v___x_4639_) == 0)
{
lean_object* v_a_4640_; lean_object* v___x_4641_; 
v_a_4640_ = lean_ctor_get(v___x_4639_, 0);
lean_inc(v_a_4640_);
lean_dec_ref(v___x_4639_);
v___x_4641_ = l_Lean_Meta_Grind_Arith_Linear_getLTInst(v_a_4625_, v_a_4626_, v_a_4627_, v_a_4628_, v_a_4629_, v_a_4630_, v_a_4631_, v_a_4632_, v_a_4633_, v_a_4634_, v_a_4635_);
if (lean_obj_tag(v___x_4641_) == 0)
{
lean_object* v_a_4642_; lean_object* v___x_4643_; 
v_a_4642_ = lean_ctor_get(v___x_4641_, 0);
lean_inc(v_a_4642_);
lean_dec_ref(v___x_4641_);
v___x_4643_ = l_Lean_Meta_Grind_Arith_Linear_getLawfulOrderLTInst(v_a_4625_, v_a_4626_, v_a_4627_, v_a_4628_, v_a_4629_, v_a_4630_, v_a_4631_, v_a_4632_, v_a_4633_, v_a_4634_, v_a_4635_);
if (lean_obj_tag(v___x_4643_) == 0)
{
lean_object* v_a_4644_; lean_object* v___x_4645_; 
v_a_4644_ = lean_ctor_get(v___x_4643_, 0);
lean_inc(v_a_4644_);
lean_dec_ref(v___x_4643_);
v___x_4645_ = l_Lean_Meta_Grind_Arith_Linear_getIsLinearOrderInst(v_a_4625_, v_a_4626_, v_a_4627_, v_a_4628_, v_a_4629_, v_a_4630_, v_a_4631_, v_a_4632_, v_a_4633_, v_a_4634_, v_a_4635_);
if (lean_obj_tag(v___x_4645_) == 0)
{
lean_object* v_a_4646_; lean_object* v___x_4647_; 
v_a_4646_ = lean_ctor_get(v___x_4645_, 0);
lean_inc(v_a_4646_);
lean_dec_ref(v___x_4645_);
v___x_4647_ = l_Lean_Meta_Grind_Arith_Linear_getOrderedAddInst(v_a_4625_, v_a_4626_, v_a_4627_, v_a_4628_, v_a_4629_, v_a_4630_, v_a_4631_, v_a_4632_, v_a_4633_, v_a_4634_, v_a_4635_);
if (lean_obj_tag(v___x_4647_) == 0)
{
lean_object* v_a_4648_; lean_object* v___x_4650_; uint8_t v_isShared_4651_; uint8_t v_isSharedCheck_4670_; 
v_a_4648_ = lean_ctor_get(v___x_4647_, 0);
v_isSharedCheck_4670_ = !lean_is_exclusive(v___x_4647_);
if (v_isSharedCheck_4670_ == 0)
{
v___x_4650_ = v___x_4647_;
v_isShared_4651_ = v_isSharedCheck_4670_;
goto v_resetjp_4649_;
}
else
{
lean_inc(v_a_4648_);
lean_dec(v___x_4647_);
v___x_4650_ = lean_box(0);
v_isShared_4651_ = v_isSharedCheck_4670_;
goto v_resetjp_4649_;
}
v_resetjp_4649_:
{
lean_object* v_ctx_4652_; lean_object* v___x_4654_; uint8_t v_isShared_4655_; uint8_t v_isSharedCheck_4668_; 
v_ctx_4652_ = lean_ctor_get(v_a_4624_, 0);
v_isSharedCheck_4668_ = !lean_is_exclusive(v_a_4624_);
if (v_isSharedCheck_4668_ == 0)
{
lean_object* v_unused_4669_; 
v_unused_4669_ = lean_ctor_get(v_a_4624_, 1);
lean_dec(v_unused_4669_);
v___x_4654_ = v_a_4624_;
v_isShared_4655_ = v_isSharedCheck_4668_;
goto v_resetjp_4653_;
}
else
{
lean_inc(v_ctx_4652_);
lean_dec(v_a_4624_);
v___x_4654_ = lean_box(0);
v_isShared_4655_ = v_isSharedCheck_4668_;
goto v_resetjp_4653_;
}
v_resetjp_4653_:
{
lean_object* v_type_4656_; lean_object* v_u_4657_; lean_object* v_intModuleInst_4658_; lean_object* v___x_4659_; lean_object* v___x_4661_; 
v_type_4656_ = lean_ctor_get(v_a_4638_, 2);
lean_inc_ref(v_type_4656_);
v_u_4657_ = lean_ctor_get(v_a_4638_, 3);
lean_inc(v_u_4657_);
v_intModuleInst_4658_ = lean_ctor_get(v_a_4638_, 4);
lean_inc_ref(v_intModuleInst_4658_);
lean_dec(v_a_4638_);
v___x_4659_ = lean_box(0);
if (v_isShared_4655_ == 0)
{
lean_ctor_set_tag(v___x_4654_, 1);
lean_ctor_set(v___x_4654_, 1, v___x_4659_);
lean_ctor_set(v___x_4654_, 0, v_u_4657_);
v___x_4661_ = v___x_4654_;
goto v_reusejp_4660_;
}
else
{
lean_object* v_reuseFailAlloc_4667_; 
v_reuseFailAlloc_4667_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4667_, 0, v_u_4657_);
lean_ctor_set(v_reuseFailAlloc_4667_, 1, v___x_4659_);
v___x_4661_ = v_reuseFailAlloc_4667_;
goto v_reusejp_4660_;
}
v_reusejp_4660_:
{
lean_object* v___x_4662_; lean_object* v___x_4663_; lean_object* v___x_4665_; 
v___x_4662_ = l_Lean_mkConst(v_declName_4623_, v___x_4661_);
v___x_4663_ = l_Lean_mkApp8(v___x_4662_, v_type_4656_, v_intModuleInst_4658_, v_a_4640_, v_a_4642_, v_a_4644_, v_a_4646_, v_a_4648_, v_ctx_4652_);
if (v_isShared_4651_ == 0)
{
lean_ctor_set(v___x_4650_, 0, v___x_4663_);
v___x_4665_ = v___x_4650_;
goto v_reusejp_4664_;
}
else
{
lean_object* v_reuseFailAlloc_4666_; 
v_reuseFailAlloc_4666_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4666_, 0, v___x_4663_);
v___x_4665_ = v_reuseFailAlloc_4666_;
goto v_reusejp_4664_;
}
v_reusejp_4664_:
{
return v___x_4665_;
}
}
}
}
}
else
{
lean_dec(v_a_4646_);
lean_dec(v_a_4644_);
lean_dec(v_a_4642_);
lean_dec(v_a_4640_);
lean_dec(v_a_4638_);
lean_dec_ref(v_a_4624_);
lean_dec(v_declName_4623_);
return v___x_4647_;
}
}
else
{
lean_dec(v_a_4644_);
lean_dec(v_a_4642_);
lean_dec(v_a_4640_);
lean_dec(v_a_4638_);
lean_dec_ref(v_a_4624_);
lean_dec(v_declName_4623_);
return v___x_4645_;
}
}
else
{
lean_dec(v_a_4642_);
lean_dec(v_a_4640_);
lean_dec(v_a_4638_);
lean_dec_ref(v_a_4624_);
lean_dec(v_declName_4623_);
return v___x_4643_;
}
}
else
{
lean_dec(v_a_4640_);
lean_dec(v_a_4638_);
lean_dec_ref(v_a_4624_);
lean_dec(v_declName_4623_);
return v___x_4641_;
}
}
else
{
lean_dec(v_a_4638_);
lean_dec_ref(v_a_4624_);
lean_dec(v_declName_4623_);
return v___x_4639_;
}
}
else
{
lean_object* v_a_4671_; lean_object* v___x_4673_; uint8_t v_isShared_4674_; uint8_t v_isSharedCheck_4678_; 
lean_dec_ref(v_a_4624_);
lean_dec(v_declName_4623_);
v_a_4671_ = lean_ctor_get(v___x_4637_, 0);
v_isSharedCheck_4678_ = !lean_is_exclusive(v___x_4637_);
if (v_isSharedCheck_4678_ == 0)
{
v___x_4673_ = v___x_4637_;
v_isShared_4674_ = v_isSharedCheck_4678_;
goto v_resetjp_4672_;
}
else
{
lean_inc(v_a_4671_);
lean_dec(v___x_4637_);
v___x_4673_ = lean_box(0);
v_isShared_4674_ = v_isSharedCheck_4678_;
goto v_resetjp_4672_;
}
v_resetjp_4672_:
{
lean_object* v___x_4676_; 
if (v_isShared_4674_ == 0)
{
v___x_4676_ = v___x_4673_;
goto v_reusejp_4675_;
}
else
{
lean_object* v_reuseFailAlloc_4677_; 
v_reuseFailAlloc_4677_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4677_, 0, v_a_4671_);
v___x_4676_ = v_reuseFailAlloc_4677_;
goto v_reusejp_4675_;
}
v_reusejp_4675_:
{
return v___x_4676_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix___redArg___boxed(lean_object* v_declName_4679_, lean_object* v_a_4680_, lean_object* v_a_4681_, lean_object* v_a_4682_, lean_object* v_a_4683_, lean_object* v_a_4684_, lean_object* v_a_4685_, lean_object* v_a_4686_, lean_object* v_a_4687_, lean_object* v_a_4688_, lean_object* v_a_4689_, lean_object* v_a_4690_, lean_object* v_a_4691_, lean_object* v_a_4692_){
_start:
{
lean_object* v_res_4693_; 
v_res_4693_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix___redArg(v_declName_4679_, v_a_4680_, v_a_4681_, v_a_4682_, v_a_4683_, v_a_4684_, v_a_4685_, v_a_4686_, v_a_4687_, v_a_4688_, v_a_4689_, v_a_4690_, v_a_4691_);
lean_dec(v_a_4691_);
lean_dec_ref(v_a_4690_);
lean_dec(v_a_4689_);
lean_dec_ref(v_a_4688_);
lean_dec(v_a_4687_);
lean_dec_ref(v_a_4686_);
lean_dec(v_a_4685_);
lean_dec_ref(v_a_4684_);
lean_dec(v_a_4683_);
lean_dec(v_a_4682_);
lean_dec(v_a_4681_);
return v_res_4693_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix(lean_object* v_declName_4694_, lean_object* v_a_4695_, lean_object* v_a_4696_, lean_object* v_a_4697_, lean_object* v_a_4698_, lean_object* v_a_4699_, lean_object* v_a_4700_, lean_object* v_a_4701_, lean_object* v_a_4702_, lean_object* v_a_4703_, lean_object* v_a_4704_, lean_object* v_a_4705_, lean_object* v_a_4706_, lean_object* v_a_4707_){
_start:
{
lean_object* v___x_4709_; 
v___x_4709_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix___redArg(v_declName_4694_, v_a_4695_, v_a_4697_, v_a_4698_, v_a_4699_, v_a_4700_, v_a_4701_, v_a_4702_, v_a_4703_, v_a_4704_, v_a_4705_, v_a_4706_, v_a_4707_);
return v___x_4709_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix___boxed(lean_object* v_declName_4710_, lean_object* v_a_4711_, lean_object* v_a_4712_, lean_object* v_a_4713_, lean_object* v_a_4714_, lean_object* v_a_4715_, lean_object* v_a_4716_, lean_object* v_a_4717_, lean_object* v_a_4718_, lean_object* v_a_4719_, lean_object* v_a_4720_, lean_object* v_a_4721_, lean_object* v_a_4722_, lean_object* v_a_4723_, lean_object* v_a_4724_){
_start:
{
lean_object* v_res_4725_; 
v_res_4725_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix(v_declName_4710_, v_a_4711_, v_a_4712_, v_a_4713_, v_a_4714_, v_a_4715_, v_a_4716_, v_a_4717_, v_a_4718_, v_a_4719_, v_a_4720_, v_a_4721_, v_a_4722_, v_a_4723_);
lean_dec(v_a_4723_);
lean_dec_ref(v_a_4722_);
lean_dec(v_a_4721_);
lean_dec_ref(v_a_4720_);
lean_dec(v_a_4719_);
lean_dec_ref(v_a_4718_);
lean_dec(v_a_4717_);
lean_dec_ref(v_a_4716_);
lean_dec(v_a_4715_);
lean_dec(v_a_4714_);
lean_dec(v_a_4713_);
lean_dec(v_a_4712_);
return v_res_4725_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg(lean_object* v_declName_4726_, lean_object* v_a_4727_, lean_object* v_a_4728_, lean_object* v_a_4729_, lean_object* v_a_4730_, lean_object* v_a_4731_, lean_object* v_a_4732_, lean_object* v_a_4733_, lean_object* v_a_4734_, lean_object* v_a_4735_, lean_object* v_a_4736_, lean_object* v_a_4737_, lean_object* v_a_4738_){
_start:
{
lean_object* v___x_4740_; 
v___x_4740_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_4728_, v_a_4729_, v_a_4730_, v_a_4731_, v_a_4732_, v_a_4733_, v_a_4734_, v_a_4735_, v_a_4736_, v_a_4737_, v_a_4738_);
if (lean_obj_tag(v___x_4740_) == 0)
{
lean_object* v_a_4741_; lean_object* v___x_4742_; 
v_a_4741_ = lean_ctor_get(v___x_4740_, 0);
lean_inc(v_a_4741_);
lean_dec_ref(v___x_4740_);
v___x_4742_ = l_Lean_Meta_Grind_Arith_Linear_getCommRingInst(v_a_4728_, v_a_4729_, v_a_4730_, v_a_4731_, v_a_4732_, v_a_4733_, v_a_4734_, v_a_4735_, v_a_4736_, v_a_4737_, v_a_4738_);
if (lean_obj_tag(v___x_4742_) == 0)
{
lean_object* v_a_4743_; lean_object* v___x_4745_; uint8_t v_isShared_4746_; uint8_t v_isSharedCheck_4764_; 
v_a_4743_ = lean_ctor_get(v___x_4742_, 0);
v_isSharedCheck_4764_ = !lean_is_exclusive(v___x_4742_);
if (v_isSharedCheck_4764_ == 0)
{
v___x_4745_ = v___x_4742_;
v_isShared_4746_ = v_isSharedCheck_4764_;
goto v_resetjp_4744_;
}
else
{
lean_inc(v_a_4743_);
lean_dec(v___x_4742_);
v___x_4745_ = lean_box(0);
v_isShared_4746_ = v_isSharedCheck_4764_;
goto v_resetjp_4744_;
}
v_resetjp_4744_:
{
lean_object* v_ringCtx_4747_; lean_object* v___x_4749_; uint8_t v_isShared_4750_; uint8_t v_isSharedCheck_4762_; 
v_ringCtx_4747_ = lean_ctor_get(v_a_4727_, 1);
v_isSharedCheck_4762_ = !lean_is_exclusive(v_a_4727_);
if (v_isSharedCheck_4762_ == 0)
{
lean_object* v_unused_4763_; 
v_unused_4763_ = lean_ctor_get(v_a_4727_, 0);
lean_dec(v_unused_4763_);
v___x_4749_ = v_a_4727_;
v_isShared_4750_ = v_isSharedCheck_4762_;
goto v_resetjp_4748_;
}
else
{
lean_inc(v_ringCtx_4747_);
lean_dec(v_a_4727_);
v___x_4749_ = lean_box(0);
v_isShared_4750_ = v_isSharedCheck_4762_;
goto v_resetjp_4748_;
}
v_resetjp_4748_:
{
lean_object* v_type_4751_; lean_object* v_u_4752_; lean_object* v___x_4753_; lean_object* v___x_4755_; 
v_type_4751_ = lean_ctor_get(v_a_4741_, 2);
lean_inc_ref(v_type_4751_);
v_u_4752_ = lean_ctor_get(v_a_4741_, 3);
lean_inc(v_u_4752_);
lean_dec(v_a_4741_);
v___x_4753_ = lean_box(0);
if (v_isShared_4750_ == 0)
{
lean_ctor_set_tag(v___x_4749_, 1);
lean_ctor_set(v___x_4749_, 1, v___x_4753_);
lean_ctor_set(v___x_4749_, 0, v_u_4752_);
v___x_4755_ = v___x_4749_;
goto v_reusejp_4754_;
}
else
{
lean_object* v_reuseFailAlloc_4761_; 
v_reuseFailAlloc_4761_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4761_, 0, v_u_4752_);
lean_ctor_set(v_reuseFailAlloc_4761_, 1, v___x_4753_);
v___x_4755_ = v_reuseFailAlloc_4761_;
goto v_reusejp_4754_;
}
v_reusejp_4754_:
{
lean_object* v___x_4756_; lean_object* v___x_4757_; lean_object* v___x_4759_; 
v___x_4756_ = l_Lean_mkConst(v_declName_4726_, v___x_4755_);
v___x_4757_ = l_Lean_mkApp3(v___x_4756_, v_type_4751_, v_a_4743_, v_ringCtx_4747_);
if (v_isShared_4746_ == 0)
{
lean_ctor_set(v___x_4745_, 0, v___x_4757_);
v___x_4759_ = v___x_4745_;
goto v_reusejp_4758_;
}
else
{
lean_object* v_reuseFailAlloc_4760_; 
v_reuseFailAlloc_4760_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4760_, 0, v___x_4757_);
v___x_4759_ = v_reuseFailAlloc_4760_;
goto v_reusejp_4758_;
}
v_reusejp_4758_:
{
return v___x_4759_;
}
}
}
}
}
else
{
lean_dec(v_a_4741_);
lean_dec_ref(v_a_4727_);
lean_dec(v_declName_4726_);
return v___x_4742_;
}
}
else
{
lean_object* v_a_4765_; lean_object* v___x_4767_; uint8_t v_isShared_4768_; uint8_t v_isSharedCheck_4772_; 
lean_dec_ref(v_a_4727_);
lean_dec(v_declName_4726_);
v_a_4765_ = lean_ctor_get(v___x_4740_, 0);
v_isSharedCheck_4772_ = !lean_is_exclusive(v___x_4740_);
if (v_isSharedCheck_4772_ == 0)
{
v___x_4767_ = v___x_4740_;
v_isShared_4768_ = v_isSharedCheck_4772_;
goto v_resetjp_4766_;
}
else
{
lean_inc(v_a_4765_);
lean_dec(v___x_4740_);
v___x_4767_ = lean_box(0);
v_isShared_4768_ = v_isSharedCheck_4772_;
goto v_resetjp_4766_;
}
v_resetjp_4766_:
{
lean_object* v___x_4770_; 
if (v_isShared_4768_ == 0)
{
v___x_4770_ = v___x_4767_;
goto v_reusejp_4769_;
}
else
{
lean_object* v_reuseFailAlloc_4771_; 
v_reuseFailAlloc_4771_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4771_, 0, v_a_4765_);
v___x_4770_ = v_reuseFailAlloc_4771_;
goto v_reusejp_4769_;
}
v_reusejp_4769_:
{
return v___x_4770_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg___boxed(lean_object* v_declName_4773_, lean_object* v_a_4774_, lean_object* v_a_4775_, lean_object* v_a_4776_, lean_object* v_a_4777_, lean_object* v_a_4778_, lean_object* v_a_4779_, lean_object* v_a_4780_, lean_object* v_a_4781_, lean_object* v_a_4782_, lean_object* v_a_4783_, lean_object* v_a_4784_, lean_object* v_a_4785_, lean_object* v_a_4786_){
_start:
{
lean_object* v_res_4787_; 
v_res_4787_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg(v_declName_4773_, v_a_4774_, v_a_4775_, v_a_4776_, v_a_4777_, v_a_4778_, v_a_4779_, v_a_4780_, v_a_4781_, v_a_4782_, v_a_4783_, v_a_4784_, v_a_4785_);
lean_dec(v_a_4785_);
lean_dec_ref(v_a_4784_);
lean_dec(v_a_4783_);
lean_dec_ref(v_a_4782_);
lean_dec(v_a_4781_);
lean_dec_ref(v_a_4780_);
lean_dec(v_a_4779_);
lean_dec_ref(v_a_4778_);
lean_dec(v_a_4777_);
lean_dec(v_a_4776_);
lean_dec(v_a_4775_);
return v_res_4787_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix(lean_object* v_declName_4788_, lean_object* v_a_4789_, lean_object* v_a_4790_, lean_object* v_a_4791_, lean_object* v_a_4792_, lean_object* v_a_4793_, lean_object* v_a_4794_, lean_object* v_a_4795_, lean_object* v_a_4796_, lean_object* v_a_4797_, lean_object* v_a_4798_, lean_object* v_a_4799_, lean_object* v_a_4800_, lean_object* v_a_4801_){
_start:
{
lean_object* v___x_4803_; 
v___x_4803_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg(v_declName_4788_, v_a_4789_, v_a_4791_, v_a_4792_, v_a_4793_, v_a_4794_, v_a_4795_, v_a_4796_, v_a_4797_, v_a_4798_, v_a_4799_, v_a_4800_, v_a_4801_);
return v___x_4803_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___boxed(lean_object* v_declName_4804_, lean_object* v_a_4805_, lean_object* v_a_4806_, lean_object* v_a_4807_, lean_object* v_a_4808_, lean_object* v_a_4809_, lean_object* v_a_4810_, lean_object* v_a_4811_, lean_object* v_a_4812_, lean_object* v_a_4813_, lean_object* v_a_4814_, lean_object* v_a_4815_, lean_object* v_a_4816_, lean_object* v_a_4817_, lean_object* v_a_4818_){
_start:
{
lean_object* v_res_4819_; 
v_res_4819_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix(v_declName_4804_, v_a_4805_, v_a_4806_, v_a_4807_, v_a_4808_, v_a_4809_, v_a_4810_, v_a_4811_, v_a_4812_, v_a_4813_, v_a_4814_, v_a_4815_, v_a_4816_, v_a_4817_);
lean_dec(v_a_4817_);
lean_dec_ref(v_a_4816_);
lean_dec(v_a_4815_);
lean_dec_ref(v_a_4814_);
lean_dec(v_a_4813_);
lean_dec_ref(v_a_4812_);
lean_dec(v_a_4811_);
lean_dec_ref(v_a_4810_);
lean_dec(v_a_4809_);
lean_dec(v_a_4808_);
lean_dec(v_a_4807_);
lean_dec(v_a_4806_);
return v_res_4819_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingNoNatDivThmPrefix___redArg(lean_object* v_declName_4820_, lean_object* v_a_4821_, lean_object* v_a_4822_, lean_object* v_a_4823_, lean_object* v_a_4824_, lean_object* v_a_4825_, lean_object* v_a_4826_, lean_object* v_a_4827_, lean_object* v_a_4828_, lean_object* v_a_4829_, lean_object* v_a_4830_, lean_object* v_a_4831_, lean_object* v_a_4832_){
_start:
{
lean_object* v___x_4834_; 
v___x_4834_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_4822_, v_a_4823_, v_a_4824_, v_a_4825_, v_a_4826_, v_a_4827_, v_a_4828_, v_a_4829_, v_a_4830_, v_a_4831_, v_a_4832_);
if (lean_obj_tag(v___x_4834_) == 0)
{
lean_object* v_a_4835_; lean_object* v___x_4836_; 
v_a_4835_ = lean_ctor_get(v___x_4834_, 0);
lean_inc(v_a_4835_);
lean_dec_ref(v___x_4834_);
v___x_4836_ = l_Lean_Meta_Grind_Arith_Linear_getCommRingInst(v_a_4822_, v_a_4823_, v_a_4824_, v_a_4825_, v_a_4826_, v_a_4827_, v_a_4828_, v_a_4829_, v_a_4830_, v_a_4831_, v_a_4832_);
if (lean_obj_tag(v___x_4836_) == 0)
{
lean_object* v_a_4837_; lean_object* v___x_4838_; 
v_a_4837_ = lean_ctor_get(v___x_4836_, 0);
lean_inc(v_a_4837_);
lean_dec_ref(v___x_4836_);
v___x_4838_ = l_Lean_Meta_Grind_Arith_Linear_getNoNatDivInst(v_a_4822_, v_a_4823_, v_a_4824_, v_a_4825_, v_a_4826_, v_a_4827_, v_a_4828_, v_a_4829_, v_a_4830_, v_a_4831_, v_a_4832_);
if (lean_obj_tag(v___x_4838_) == 0)
{
lean_object* v_a_4839_; lean_object* v___x_4841_; uint8_t v_isShared_4842_; uint8_t v_isSharedCheck_4860_; 
v_a_4839_ = lean_ctor_get(v___x_4838_, 0);
v_isSharedCheck_4860_ = !lean_is_exclusive(v___x_4838_);
if (v_isSharedCheck_4860_ == 0)
{
v___x_4841_ = v___x_4838_;
v_isShared_4842_ = v_isSharedCheck_4860_;
goto v_resetjp_4840_;
}
else
{
lean_inc(v_a_4839_);
lean_dec(v___x_4838_);
v___x_4841_ = lean_box(0);
v_isShared_4842_ = v_isSharedCheck_4860_;
goto v_resetjp_4840_;
}
v_resetjp_4840_:
{
lean_object* v_ringCtx_4843_; lean_object* v___x_4845_; uint8_t v_isShared_4846_; uint8_t v_isSharedCheck_4858_; 
v_ringCtx_4843_ = lean_ctor_get(v_a_4821_, 1);
v_isSharedCheck_4858_ = !lean_is_exclusive(v_a_4821_);
if (v_isSharedCheck_4858_ == 0)
{
lean_object* v_unused_4859_; 
v_unused_4859_ = lean_ctor_get(v_a_4821_, 0);
lean_dec(v_unused_4859_);
v___x_4845_ = v_a_4821_;
v_isShared_4846_ = v_isSharedCheck_4858_;
goto v_resetjp_4844_;
}
else
{
lean_inc(v_ringCtx_4843_);
lean_dec(v_a_4821_);
v___x_4845_ = lean_box(0);
v_isShared_4846_ = v_isSharedCheck_4858_;
goto v_resetjp_4844_;
}
v_resetjp_4844_:
{
lean_object* v_type_4847_; lean_object* v_u_4848_; lean_object* v___x_4849_; lean_object* v___x_4851_; 
v_type_4847_ = lean_ctor_get(v_a_4835_, 2);
lean_inc_ref(v_type_4847_);
v_u_4848_ = lean_ctor_get(v_a_4835_, 3);
lean_inc(v_u_4848_);
lean_dec(v_a_4835_);
v___x_4849_ = lean_box(0);
if (v_isShared_4846_ == 0)
{
lean_ctor_set_tag(v___x_4845_, 1);
lean_ctor_set(v___x_4845_, 1, v___x_4849_);
lean_ctor_set(v___x_4845_, 0, v_u_4848_);
v___x_4851_ = v___x_4845_;
goto v_reusejp_4850_;
}
else
{
lean_object* v_reuseFailAlloc_4857_; 
v_reuseFailAlloc_4857_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4857_, 0, v_u_4848_);
lean_ctor_set(v_reuseFailAlloc_4857_, 1, v___x_4849_);
v___x_4851_ = v_reuseFailAlloc_4857_;
goto v_reusejp_4850_;
}
v_reusejp_4850_:
{
lean_object* v___x_4852_; lean_object* v___x_4853_; lean_object* v___x_4855_; 
v___x_4852_ = l_Lean_mkConst(v_declName_4820_, v___x_4851_);
v___x_4853_ = l_Lean_mkApp4(v___x_4852_, v_type_4847_, v_a_4837_, v_a_4839_, v_ringCtx_4843_);
if (v_isShared_4842_ == 0)
{
lean_ctor_set(v___x_4841_, 0, v___x_4853_);
v___x_4855_ = v___x_4841_;
goto v_reusejp_4854_;
}
else
{
lean_object* v_reuseFailAlloc_4856_; 
v_reuseFailAlloc_4856_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4856_, 0, v___x_4853_);
v___x_4855_ = v_reuseFailAlloc_4856_;
goto v_reusejp_4854_;
}
v_reusejp_4854_:
{
return v___x_4855_;
}
}
}
}
}
else
{
lean_dec(v_a_4837_);
lean_dec(v_a_4835_);
lean_dec_ref(v_a_4821_);
lean_dec(v_declName_4820_);
return v___x_4838_;
}
}
else
{
lean_dec(v_a_4835_);
lean_dec_ref(v_a_4821_);
lean_dec(v_declName_4820_);
return v___x_4836_;
}
}
else
{
lean_object* v_a_4861_; lean_object* v___x_4863_; uint8_t v_isShared_4864_; uint8_t v_isSharedCheck_4868_; 
lean_dec_ref(v_a_4821_);
lean_dec(v_declName_4820_);
v_a_4861_ = lean_ctor_get(v___x_4834_, 0);
v_isSharedCheck_4868_ = !lean_is_exclusive(v___x_4834_);
if (v_isSharedCheck_4868_ == 0)
{
v___x_4863_ = v___x_4834_;
v_isShared_4864_ = v_isSharedCheck_4868_;
goto v_resetjp_4862_;
}
else
{
lean_inc(v_a_4861_);
lean_dec(v___x_4834_);
v___x_4863_ = lean_box(0);
v_isShared_4864_ = v_isSharedCheck_4868_;
goto v_resetjp_4862_;
}
v_resetjp_4862_:
{
lean_object* v___x_4866_; 
if (v_isShared_4864_ == 0)
{
v___x_4866_ = v___x_4863_;
goto v_reusejp_4865_;
}
else
{
lean_object* v_reuseFailAlloc_4867_; 
v_reuseFailAlloc_4867_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4867_, 0, v_a_4861_);
v___x_4866_ = v_reuseFailAlloc_4867_;
goto v_reusejp_4865_;
}
v_reusejp_4865_:
{
return v___x_4866_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingNoNatDivThmPrefix___redArg___boxed(lean_object* v_declName_4869_, lean_object* v_a_4870_, lean_object* v_a_4871_, lean_object* v_a_4872_, lean_object* v_a_4873_, lean_object* v_a_4874_, lean_object* v_a_4875_, lean_object* v_a_4876_, lean_object* v_a_4877_, lean_object* v_a_4878_, lean_object* v_a_4879_, lean_object* v_a_4880_, lean_object* v_a_4881_, lean_object* v_a_4882_){
_start:
{
lean_object* v_res_4883_; 
v_res_4883_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingNoNatDivThmPrefix___redArg(v_declName_4869_, v_a_4870_, v_a_4871_, v_a_4872_, v_a_4873_, v_a_4874_, v_a_4875_, v_a_4876_, v_a_4877_, v_a_4878_, v_a_4879_, v_a_4880_, v_a_4881_);
lean_dec(v_a_4881_);
lean_dec_ref(v_a_4880_);
lean_dec(v_a_4879_);
lean_dec_ref(v_a_4878_);
lean_dec(v_a_4877_);
lean_dec_ref(v_a_4876_);
lean_dec(v_a_4875_);
lean_dec_ref(v_a_4874_);
lean_dec(v_a_4873_);
lean_dec(v_a_4872_);
lean_dec(v_a_4871_);
return v_res_4883_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingNoNatDivThmPrefix(lean_object* v_declName_4884_, lean_object* v_a_4885_, lean_object* v_a_4886_, lean_object* v_a_4887_, lean_object* v_a_4888_, lean_object* v_a_4889_, lean_object* v_a_4890_, lean_object* v_a_4891_, lean_object* v_a_4892_, lean_object* v_a_4893_, lean_object* v_a_4894_, lean_object* v_a_4895_, lean_object* v_a_4896_, lean_object* v_a_4897_){
_start:
{
lean_object* v___x_4899_; 
v___x_4899_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingNoNatDivThmPrefix___redArg(v_declName_4884_, v_a_4885_, v_a_4887_, v_a_4888_, v_a_4889_, v_a_4890_, v_a_4891_, v_a_4892_, v_a_4893_, v_a_4894_, v_a_4895_, v_a_4896_, v_a_4897_);
return v___x_4899_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingNoNatDivThmPrefix___boxed(lean_object* v_declName_4900_, lean_object* v_a_4901_, lean_object* v_a_4902_, lean_object* v_a_4903_, lean_object* v_a_4904_, lean_object* v_a_4905_, lean_object* v_a_4906_, lean_object* v_a_4907_, lean_object* v_a_4908_, lean_object* v_a_4909_, lean_object* v_a_4910_, lean_object* v_a_4911_, lean_object* v_a_4912_, lean_object* v_a_4913_, lean_object* v_a_4914_){
_start:
{
lean_object* v_res_4915_; 
v_res_4915_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingNoNatDivThmPrefix(v_declName_4900_, v_a_4901_, v_a_4902_, v_a_4903_, v_a_4904_, v_a_4905_, v_a_4906_, v_a_4907_, v_a_4908_, v_a_4909_, v_a_4910_, v_a_4911_, v_a_4912_, v_a_4913_);
lean_dec(v_a_4913_);
lean_dec_ref(v_a_4912_);
lean_dec(v_a_4911_);
lean_dec_ref(v_a_4910_);
lean_dec(v_a_4909_);
lean_dec_ref(v_a_4908_);
lean_dec(v_a_4907_);
lean_dec_ref(v_a_4906_);
lean_dec(v_a_4905_);
lean_dec(v_a_4904_);
lean_dec(v_a_4903_);
lean_dec(v_a_4902_);
return v_res_4915_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix___redArg(lean_object* v_declName_4916_, lean_object* v_a_4917_, lean_object* v_a_4918_, lean_object* v_a_4919_, lean_object* v_a_4920_, lean_object* v_a_4921_, lean_object* v_a_4922_, lean_object* v_a_4923_, lean_object* v_a_4924_, lean_object* v_a_4925_, lean_object* v_a_4926_, lean_object* v_a_4927_, lean_object* v_a_4928_){
_start:
{
lean_object* v___x_4930_; 
v___x_4930_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_4918_, v_a_4919_, v_a_4920_, v_a_4921_, v_a_4922_, v_a_4923_, v_a_4924_, v_a_4925_, v_a_4926_, v_a_4927_, v_a_4928_);
if (lean_obj_tag(v___x_4930_) == 0)
{
lean_object* v_a_4931_; lean_object* v___x_4932_; 
v_a_4931_ = lean_ctor_get(v___x_4930_, 0);
lean_inc(v_a_4931_);
lean_dec_ref(v___x_4930_);
v___x_4932_ = l_Lean_Meta_Grind_Arith_Linear_getCommRingInst(v_a_4918_, v_a_4919_, v_a_4920_, v_a_4921_, v_a_4922_, v_a_4923_, v_a_4924_, v_a_4925_, v_a_4926_, v_a_4927_, v_a_4928_);
if (lean_obj_tag(v___x_4932_) == 0)
{
lean_object* v_a_4933_; lean_object* v___x_4934_; 
v_a_4933_ = lean_ctor_get(v___x_4932_, 0);
lean_inc(v_a_4933_);
lean_dec_ref(v___x_4932_);
v___x_4934_ = l_Lean_Meta_Grind_Arith_Linear_getLEInst(v_a_4918_, v_a_4919_, v_a_4920_, v_a_4921_, v_a_4922_, v_a_4923_, v_a_4924_, v_a_4925_, v_a_4926_, v_a_4927_, v_a_4928_);
if (lean_obj_tag(v___x_4934_) == 0)
{
lean_object* v_a_4935_; lean_object* v___x_4937_; uint8_t v_isShared_4938_; uint8_t v_isSharedCheck_4956_; 
v_a_4935_ = lean_ctor_get(v___x_4934_, 0);
v_isSharedCheck_4956_ = !lean_is_exclusive(v___x_4934_);
if (v_isSharedCheck_4956_ == 0)
{
v___x_4937_ = v___x_4934_;
v_isShared_4938_ = v_isSharedCheck_4956_;
goto v_resetjp_4936_;
}
else
{
lean_inc(v_a_4935_);
lean_dec(v___x_4934_);
v___x_4937_ = lean_box(0);
v_isShared_4938_ = v_isSharedCheck_4956_;
goto v_resetjp_4936_;
}
v_resetjp_4936_:
{
lean_object* v_ringCtx_4939_; lean_object* v___x_4941_; uint8_t v_isShared_4942_; uint8_t v_isSharedCheck_4954_; 
v_ringCtx_4939_ = lean_ctor_get(v_a_4917_, 1);
v_isSharedCheck_4954_ = !lean_is_exclusive(v_a_4917_);
if (v_isSharedCheck_4954_ == 0)
{
lean_object* v_unused_4955_; 
v_unused_4955_ = lean_ctor_get(v_a_4917_, 0);
lean_dec(v_unused_4955_);
v___x_4941_ = v_a_4917_;
v_isShared_4942_ = v_isSharedCheck_4954_;
goto v_resetjp_4940_;
}
else
{
lean_inc(v_ringCtx_4939_);
lean_dec(v_a_4917_);
v___x_4941_ = lean_box(0);
v_isShared_4942_ = v_isSharedCheck_4954_;
goto v_resetjp_4940_;
}
v_resetjp_4940_:
{
lean_object* v_type_4943_; lean_object* v_u_4944_; lean_object* v___x_4945_; lean_object* v___x_4947_; 
v_type_4943_ = lean_ctor_get(v_a_4931_, 2);
lean_inc_ref(v_type_4943_);
v_u_4944_ = lean_ctor_get(v_a_4931_, 3);
lean_inc(v_u_4944_);
lean_dec(v_a_4931_);
v___x_4945_ = lean_box(0);
if (v_isShared_4942_ == 0)
{
lean_ctor_set_tag(v___x_4941_, 1);
lean_ctor_set(v___x_4941_, 1, v___x_4945_);
lean_ctor_set(v___x_4941_, 0, v_u_4944_);
v___x_4947_ = v___x_4941_;
goto v_reusejp_4946_;
}
else
{
lean_object* v_reuseFailAlloc_4953_; 
v_reuseFailAlloc_4953_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_4953_, 0, v_u_4944_);
lean_ctor_set(v_reuseFailAlloc_4953_, 1, v___x_4945_);
v___x_4947_ = v_reuseFailAlloc_4953_;
goto v_reusejp_4946_;
}
v_reusejp_4946_:
{
lean_object* v___x_4948_; lean_object* v___x_4949_; lean_object* v___x_4951_; 
v___x_4948_ = l_Lean_mkConst(v_declName_4916_, v___x_4947_);
v___x_4949_ = l_Lean_mkApp4(v___x_4948_, v_type_4943_, v_a_4933_, v_a_4935_, v_ringCtx_4939_);
if (v_isShared_4938_ == 0)
{
lean_ctor_set(v___x_4937_, 0, v___x_4949_);
v___x_4951_ = v___x_4937_;
goto v_reusejp_4950_;
}
else
{
lean_object* v_reuseFailAlloc_4952_; 
v_reuseFailAlloc_4952_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4952_, 0, v___x_4949_);
v___x_4951_ = v_reuseFailAlloc_4952_;
goto v_reusejp_4950_;
}
v_reusejp_4950_:
{
return v___x_4951_;
}
}
}
}
}
else
{
lean_dec(v_a_4933_);
lean_dec(v_a_4931_);
lean_dec_ref(v_a_4917_);
lean_dec(v_declName_4916_);
return v___x_4934_;
}
}
else
{
lean_dec(v_a_4931_);
lean_dec_ref(v_a_4917_);
lean_dec(v_declName_4916_);
return v___x_4932_;
}
}
else
{
lean_object* v_a_4957_; lean_object* v___x_4959_; uint8_t v_isShared_4960_; uint8_t v_isSharedCheck_4964_; 
lean_dec_ref(v_a_4917_);
lean_dec(v_declName_4916_);
v_a_4957_ = lean_ctor_get(v___x_4930_, 0);
v_isSharedCheck_4964_ = !lean_is_exclusive(v___x_4930_);
if (v_isSharedCheck_4964_ == 0)
{
v___x_4959_ = v___x_4930_;
v_isShared_4960_ = v_isSharedCheck_4964_;
goto v_resetjp_4958_;
}
else
{
lean_inc(v_a_4957_);
lean_dec(v___x_4930_);
v___x_4959_ = lean_box(0);
v_isShared_4960_ = v_isSharedCheck_4964_;
goto v_resetjp_4958_;
}
v_resetjp_4958_:
{
lean_object* v___x_4962_; 
if (v_isShared_4960_ == 0)
{
v___x_4962_ = v___x_4959_;
goto v_reusejp_4961_;
}
else
{
lean_object* v_reuseFailAlloc_4963_; 
v_reuseFailAlloc_4963_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_4963_, 0, v_a_4957_);
v___x_4962_ = v_reuseFailAlloc_4963_;
goto v_reusejp_4961_;
}
v_reusejp_4961_:
{
return v___x_4962_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix___redArg___boxed(lean_object* v_declName_4965_, lean_object* v_a_4966_, lean_object* v_a_4967_, lean_object* v_a_4968_, lean_object* v_a_4969_, lean_object* v_a_4970_, lean_object* v_a_4971_, lean_object* v_a_4972_, lean_object* v_a_4973_, lean_object* v_a_4974_, lean_object* v_a_4975_, lean_object* v_a_4976_, lean_object* v_a_4977_, lean_object* v_a_4978_){
_start:
{
lean_object* v_res_4979_; 
v_res_4979_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix___redArg(v_declName_4965_, v_a_4966_, v_a_4967_, v_a_4968_, v_a_4969_, v_a_4970_, v_a_4971_, v_a_4972_, v_a_4973_, v_a_4974_, v_a_4975_, v_a_4976_, v_a_4977_);
lean_dec(v_a_4977_);
lean_dec_ref(v_a_4976_);
lean_dec(v_a_4975_);
lean_dec_ref(v_a_4974_);
lean_dec(v_a_4973_);
lean_dec_ref(v_a_4972_);
lean_dec(v_a_4971_);
lean_dec_ref(v_a_4970_);
lean_dec(v_a_4969_);
lean_dec(v_a_4968_);
lean_dec(v_a_4967_);
return v_res_4979_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix(lean_object* v_declName_4980_, lean_object* v_a_4981_, lean_object* v_a_4982_, lean_object* v_a_4983_, lean_object* v_a_4984_, lean_object* v_a_4985_, lean_object* v_a_4986_, lean_object* v_a_4987_, lean_object* v_a_4988_, lean_object* v_a_4989_, lean_object* v_a_4990_, lean_object* v_a_4991_, lean_object* v_a_4992_, lean_object* v_a_4993_){
_start:
{
lean_object* v___x_4995_; 
v___x_4995_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix___redArg(v_declName_4980_, v_a_4981_, v_a_4983_, v_a_4984_, v_a_4985_, v_a_4986_, v_a_4987_, v_a_4988_, v_a_4989_, v_a_4990_, v_a_4991_, v_a_4992_, v_a_4993_);
return v___x_4995_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix___boxed(lean_object* v_declName_4996_, lean_object* v_a_4997_, lean_object* v_a_4998_, lean_object* v_a_4999_, lean_object* v_a_5000_, lean_object* v_a_5001_, lean_object* v_a_5002_, lean_object* v_a_5003_, lean_object* v_a_5004_, lean_object* v_a_5005_, lean_object* v_a_5006_, lean_object* v_a_5007_, lean_object* v_a_5008_, lean_object* v_a_5009_, lean_object* v_a_5010_){
_start:
{
lean_object* v_res_5011_; 
v_res_5011_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix(v_declName_4996_, v_a_4997_, v_a_4998_, v_a_4999_, v_a_5000_, v_a_5001_, v_a_5002_, v_a_5003_, v_a_5004_, v_a_5005_, v_a_5006_, v_a_5007_, v_a_5008_, v_a_5009_);
lean_dec(v_a_5009_);
lean_dec_ref(v_a_5008_);
lean_dec(v_a_5007_);
lean_dec_ref(v_a_5006_);
lean_dec(v_a_5005_);
lean_dec_ref(v_a_5004_);
lean_dec(v_a_5003_);
lean_dec_ref(v_a_5002_);
lean_dec(v_a_5001_);
lean_dec(v_a_5000_);
lean_dec(v_a_4999_);
lean_dec(v_a_4998_);
return v_res_5011_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix___redArg(lean_object* v_declName_5012_, lean_object* v_a_5013_, lean_object* v_a_5014_, lean_object* v_a_5015_, lean_object* v_a_5016_, lean_object* v_a_5017_, lean_object* v_a_5018_, lean_object* v_a_5019_, lean_object* v_a_5020_, lean_object* v_a_5021_, lean_object* v_a_5022_, lean_object* v_a_5023_, lean_object* v_a_5024_){
_start:
{
lean_object* v___x_5026_; 
v___x_5026_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_5014_, v_a_5015_, v_a_5016_, v_a_5017_, v_a_5018_, v_a_5019_, v_a_5020_, v_a_5021_, v_a_5022_, v_a_5023_, v_a_5024_);
if (lean_obj_tag(v___x_5026_) == 0)
{
lean_object* v_a_5027_; lean_object* v___x_5028_; 
v_a_5027_ = lean_ctor_get(v___x_5026_, 0);
lean_inc(v_a_5027_);
lean_dec_ref(v___x_5026_);
v___x_5028_ = l_Lean_Meta_Grind_Arith_Linear_getCommRingInst(v_a_5014_, v_a_5015_, v_a_5016_, v_a_5017_, v_a_5018_, v_a_5019_, v_a_5020_, v_a_5021_, v_a_5022_, v_a_5023_, v_a_5024_);
if (lean_obj_tag(v___x_5028_) == 0)
{
lean_object* v_a_5029_; lean_object* v___x_5030_; 
v_a_5029_ = lean_ctor_get(v___x_5028_, 0);
lean_inc(v_a_5029_);
lean_dec_ref(v___x_5028_);
v___x_5030_ = l_Lean_Meta_Grind_Arith_Linear_getLTInst(v_a_5014_, v_a_5015_, v_a_5016_, v_a_5017_, v_a_5018_, v_a_5019_, v_a_5020_, v_a_5021_, v_a_5022_, v_a_5023_, v_a_5024_);
if (lean_obj_tag(v___x_5030_) == 0)
{
lean_object* v_a_5031_; lean_object* v___x_5033_; uint8_t v_isShared_5034_; uint8_t v_isSharedCheck_5052_; 
v_a_5031_ = lean_ctor_get(v___x_5030_, 0);
v_isSharedCheck_5052_ = !lean_is_exclusive(v___x_5030_);
if (v_isSharedCheck_5052_ == 0)
{
v___x_5033_ = v___x_5030_;
v_isShared_5034_ = v_isSharedCheck_5052_;
goto v_resetjp_5032_;
}
else
{
lean_inc(v_a_5031_);
lean_dec(v___x_5030_);
v___x_5033_ = lean_box(0);
v_isShared_5034_ = v_isSharedCheck_5052_;
goto v_resetjp_5032_;
}
v_resetjp_5032_:
{
lean_object* v_ringCtx_5035_; lean_object* v___x_5037_; uint8_t v_isShared_5038_; uint8_t v_isSharedCheck_5050_; 
v_ringCtx_5035_ = lean_ctor_get(v_a_5013_, 1);
v_isSharedCheck_5050_ = !lean_is_exclusive(v_a_5013_);
if (v_isSharedCheck_5050_ == 0)
{
lean_object* v_unused_5051_; 
v_unused_5051_ = lean_ctor_get(v_a_5013_, 0);
lean_dec(v_unused_5051_);
v___x_5037_ = v_a_5013_;
v_isShared_5038_ = v_isSharedCheck_5050_;
goto v_resetjp_5036_;
}
else
{
lean_inc(v_ringCtx_5035_);
lean_dec(v_a_5013_);
v___x_5037_ = lean_box(0);
v_isShared_5038_ = v_isSharedCheck_5050_;
goto v_resetjp_5036_;
}
v_resetjp_5036_:
{
lean_object* v_type_5039_; lean_object* v_u_5040_; lean_object* v___x_5041_; lean_object* v___x_5043_; 
v_type_5039_ = lean_ctor_get(v_a_5027_, 2);
lean_inc_ref(v_type_5039_);
v_u_5040_ = lean_ctor_get(v_a_5027_, 3);
lean_inc(v_u_5040_);
lean_dec(v_a_5027_);
v___x_5041_ = lean_box(0);
if (v_isShared_5038_ == 0)
{
lean_ctor_set_tag(v___x_5037_, 1);
lean_ctor_set(v___x_5037_, 1, v___x_5041_);
lean_ctor_set(v___x_5037_, 0, v_u_5040_);
v___x_5043_ = v___x_5037_;
goto v_reusejp_5042_;
}
else
{
lean_object* v_reuseFailAlloc_5049_; 
v_reuseFailAlloc_5049_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5049_, 0, v_u_5040_);
lean_ctor_set(v_reuseFailAlloc_5049_, 1, v___x_5041_);
v___x_5043_ = v_reuseFailAlloc_5049_;
goto v_reusejp_5042_;
}
v_reusejp_5042_:
{
lean_object* v___x_5044_; lean_object* v___x_5045_; lean_object* v___x_5047_; 
v___x_5044_ = l_Lean_mkConst(v_declName_5012_, v___x_5043_);
v___x_5045_ = l_Lean_mkApp4(v___x_5044_, v_type_5039_, v_a_5029_, v_a_5031_, v_ringCtx_5035_);
if (v_isShared_5034_ == 0)
{
lean_ctor_set(v___x_5033_, 0, v___x_5045_);
v___x_5047_ = v___x_5033_;
goto v_reusejp_5046_;
}
else
{
lean_object* v_reuseFailAlloc_5048_; 
v_reuseFailAlloc_5048_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5048_, 0, v___x_5045_);
v___x_5047_ = v_reuseFailAlloc_5048_;
goto v_reusejp_5046_;
}
v_reusejp_5046_:
{
return v___x_5047_;
}
}
}
}
}
else
{
lean_dec(v_a_5029_);
lean_dec(v_a_5027_);
lean_dec_ref(v_a_5013_);
lean_dec(v_declName_5012_);
return v___x_5030_;
}
}
else
{
lean_dec(v_a_5027_);
lean_dec_ref(v_a_5013_);
lean_dec(v_declName_5012_);
return v___x_5028_;
}
}
else
{
lean_object* v_a_5053_; lean_object* v___x_5055_; uint8_t v_isShared_5056_; uint8_t v_isSharedCheck_5060_; 
lean_dec_ref(v_a_5013_);
lean_dec(v_declName_5012_);
v_a_5053_ = lean_ctor_get(v___x_5026_, 0);
v_isSharedCheck_5060_ = !lean_is_exclusive(v___x_5026_);
if (v_isSharedCheck_5060_ == 0)
{
v___x_5055_ = v___x_5026_;
v_isShared_5056_ = v_isSharedCheck_5060_;
goto v_resetjp_5054_;
}
else
{
lean_inc(v_a_5053_);
lean_dec(v___x_5026_);
v___x_5055_ = lean_box(0);
v_isShared_5056_ = v_isSharedCheck_5060_;
goto v_resetjp_5054_;
}
v_resetjp_5054_:
{
lean_object* v___x_5058_; 
if (v_isShared_5056_ == 0)
{
v___x_5058_ = v___x_5055_;
goto v_reusejp_5057_;
}
else
{
lean_object* v_reuseFailAlloc_5059_; 
v_reuseFailAlloc_5059_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5059_, 0, v_a_5053_);
v___x_5058_ = v_reuseFailAlloc_5059_;
goto v_reusejp_5057_;
}
v_reusejp_5057_:
{
return v___x_5058_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix___redArg___boxed(lean_object* v_declName_5061_, lean_object* v_a_5062_, lean_object* v_a_5063_, lean_object* v_a_5064_, lean_object* v_a_5065_, lean_object* v_a_5066_, lean_object* v_a_5067_, lean_object* v_a_5068_, lean_object* v_a_5069_, lean_object* v_a_5070_, lean_object* v_a_5071_, lean_object* v_a_5072_, lean_object* v_a_5073_, lean_object* v_a_5074_){
_start:
{
lean_object* v_res_5075_; 
v_res_5075_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix___redArg(v_declName_5061_, v_a_5062_, v_a_5063_, v_a_5064_, v_a_5065_, v_a_5066_, v_a_5067_, v_a_5068_, v_a_5069_, v_a_5070_, v_a_5071_, v_a_5072_, v_a_5073_);
lean_dec(v_a_5073_);
lean_dec_ref(v_a_5072_);
lean_dec(v_a_5071_);
lean_dec_ref(v_a_5070_);
lean_dec(v_a_5069_);
lean_dec_ref(v_a_5068_);
lean_dec(v_a_5067_);
lean_dec_ref(v_a_5066_);
lean_dec(v_a_5065_);
lean_dec(v_a_5064_);
lean_dec(v_a_5063_);
return v_res_5075_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix(lean_object* v_declName_5076_, lean_object* v_a_5077_, lean_object* v_a_5078_, lean_object* v_a_5079_, lean_object* v_a_5080_, lean_object* v_a_5081_, lean_object* v_a_5082_, lean_object* v_a_5083_, lean_object* v_a_5084_, lean_object* v_a_5085_, lean_object* v_a_5086_, lean_object* v_a_5087_, lean_object* v_a_5088_, lean_object* v_a_5089_){
_start:
{
lean_object* v___x_5091_; 
v___x_5091_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix___redArg(v_declName_5076_, v_a_5077_, v_a_5079_, v_a_5080_, v_a_5081_, v_a_5082_, v_a_5083_, v_a_5084_, v_a_5085_, v_a_5086_, v_a_5087_, v_a_5088_, v_a_5089_);
return v___x_5091_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix___boxed(lean_object* v_declName_5092_, lean_object* v_a_5093_, lean_object* v_a_5094_, lean_object* v_a_5095_, lean_object* v_a_5096_, lean_object* v_a_5097_, lean_object* v_a_5098_, lean_object* v_a_5099_, lean_object* v_a_5100_, lean_object* v_a_5101_, lean_object* v_a_5102_, lean_object* v_a_5103_, lean_object* v_a_5104_, lean_object* v_a_5105_, lean_object* v_a_5106_){
_start:
{
lean_object* v_res_5107_; 
v_res_5107_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix(v_declName_5092_, v_a_5093_, v_a_5094_, v_a_5095_, v_a_5096_, v_a_5097_, v_a_5098_, v_a_5099_, v_a_5100_, v_a_5101_, v_a_5102_, v_a_5103_, v_a_5104_, v_a_5105_);
lean_dec(v_a_5105_);
lean_dec_ref(v_a_5104_);
lean_dec(v_a_5103_);
lean_dec_ref(v_a_5102_);
lean_dec(v_a_5101_);
lean_dec_ref(v_a_5100_);
lean_dec(v_a_5099_);
lean_dec_ref(v_a_5098_);
lean_dec(v_a_5097_);
lean_dec(v_a_5096_);
lean_dec(v_a_5095_);
lean_dec(v_a_5094_);
return v_res_5107_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix___redArg(lean_object* v_declName_5108_, lean_object* v_a_5109_, lean_object* v_a_5110_, lean_object* v_a_5111_, lean_object* v_a_5112_, lean_object* v_a_5113_, lean_object* v_a_5114_, lean_object* v_a_5115_, lean_object* v_a_5116_, lean_object* v_a_5117_, lean_object* v_a_5118_, lean_object* v_a_5119_, lean_object* v_a_5120_){
_start:
{
lean_object* v___x_5122_; 
v___x_5122_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_5110_, v_a_5111_, v_a_5112_, v_a_5113_, v_a_5114_, v_a_5115_, v_a_5116_, v_a_5117_, v_a_5118_, v_a_5119_, v_a_5120_);
if (lean_obj_tag(v___x_5122_) == 0)
{
lean_object* v_a_5123_; lean_object* v___x_5124_; 
v_a_5123_ = lean_ctor_get(v___x_5122_, 0);
lean_inc(v_a_5123_);
lean_dec_ref(v___x_5122_);
v___x_5124_ = l_Lean_Meta_Grind_Arith_Linear_getCommRingInst(v_a_5110_, v_a_5111_, v_a_5112_, v_a_5113_, v_a_5114_, v_a_5115_, v_a_5116_, v_a_5117_, v_a_5118_, v_a_5119_, v_a_5120_);
if (lean_obj_tag(v___x_5124_) == 0)
{
lean_object* v_a_5125_; lean_object* v___x_5126_; 
v_a_5125_ = lean_ctor_get(v___x_5124_, 0);
lean_inc(v_a_5125_);
lean_dec_ref(v___x_5124_);
v___x_5126_ = l_Lean_Meta_Grind_Arith_Linear_getLEInst(v_a_5110_, v_a_5111_, v_a_5112_, v_a_5113_, v_a_5114_, v_a_5115_, v_a_5116_, v_a_5117_, v_a_5118_, v_a_5119_, v_a_5120_);
if (lean_obj_tag(v___x_5126_) == 0)
{
lean_object* v_a_5127_; lean_object* v___x_5128_; 
v_a_5127_ = lean_ctor_get(v___x_5126_, 0);
lean_inc(v_a_5127_);
lean_dec_ref(v___x_5126_);
v___x_5128_ = l_Lean_Meta_Grind_Arith_Linear_getLTInst(v_a_5110_, v_a_5111_, v_a_5112_, v_a_5113_, v_a_5114_, v_a_5115_, v_a_5116_, v_a_5117_, v_a_5118_, v_a_5119_, v_a_5120_);
if (lean_obj_tag(v___x_5128_) == 0)
{
lean_object* v_a_5129_; lean_object* v___x_5130_; 
v_a_5129_ = lean_ctor_get(v___x_5128_, 0);
lean_inc(v_a_5129_);
lean_dec_ref(v___x_5128_);
v___x_5130_ = l_Lean_Meta_Grind_Arith_Linear_getIsPreorderInst(v_a_5110_, v_a_5111_, v_a_5112_, v_a_5113_, v_a_5114_, v_a_5115_, v_a_5116_, v_a_5117_, v_a_5118_, v_a_5119_, v_a_5120_);
if (lean_obj_tag(v___x_5130_) == 0)
{
lean_object* v_a_5131_; lean_object* v___x_5132_; 
v_a_5131_ = lean_ctor_get(v___x_5130_, 0);
lean_inc(v_a_5131_);
lean_dec_ref(v___x_5130_);
v___x_5132_ = l_Lean_Meta_Grind_Arith_Linear_getOrderedRingInst(v_a_5110_, v_a_5111_, v_a_5112_, v_a_5113_, v_a_5114_, v_a_5115_, v_a_5116_, v_a_5117_, v_a_5118_, v_a_5119_, v_a_5120_);
if (lean_obj_tag(v___x_5132_) == 0)
{
lean_object* v_a_5133_; lean_object* v___x_5135_; uint8_t v_isShared_5136_; uint8_t v_isSharedCheck_5154_; 
v_a_5133_ = lean_ctor_get(v___x_5132_, 0);
v_isSharedCheck_5154_ = !lean_is_exclusive(v___x_5132_);
if (v_isSharedCheck_5154_ == 0)
{
v___x_5135_ = v___x_5132_;
v_isShared_5136_ = v_isSharedCheck_5154_;
goto v_resetjp_5134_;
}
else
{
lean_inc(v_a_5133_);
lean_dec(v___x_5132_);
v___x_5135_ = lean_box(0);
v_isShared_5136_ = v_isSharedCheck_5154_;
goto v_resetjp_5134_;
}
v_resetjp_5134_:
{
lean_object* v_ringCtx_5137_; lean_object* v___x_5139_; uint8_t v_isShared_5140_; uint8_t v_isSharedCheck_5152_; 
v_ringCtx_5137_ = lean_ctor_get(v_a_5109_, 1);
v_isSharedCheck_5152_ = !lean_is_exclusive(v_a_5109_);
if (v_isSharedCheck_5152_ == 0)
{
lean_object* v_unused_5153_; 
v_unused_5153_ = lean_ctor_get(v_a_5109_, 0);
lean_dec(v_unused_5153_);
v___x_5139_ = v_a_5109_;
v_isShared_5140_ = v_isSharedCheck_5152_;
goto v_resetjp_5138_;
}
else
{
lean_inc(v_ringCtx_5137_);
lean_dec(v_a_5109_);
v___x_5139_ = lean_box(0);
v_isShared_5140_ = v_isSharedCheck_5152_;
goto v_resetjp_5138_;
}
v_resetjp_5138_:
{
lean_object* v_type_5141_; lean_object* v_u_5142_; lean_object* v___x_5143_; lean_object* v___x_5145_; 
v_type_5141_ = lean_ctor_get(v_a_5123_, 2);
lean_inc_ref(v_type_5141_);
v_u_5142_ = lean_ctor_get(v_a_5123_, 3);
lean_inc(v_u_5142_);
lean_dec(v_a_5123_);
v___x_5143_ = lean_box(0);
if (v_isShared_5140_ == 0)
{
lean_ctor_set_tag(v___x_5139_, 1);
lean_ctor_set(v___x_5139_, 1, v___x_5143_);
lean_ctor_set(v___x_5139_, 0, v_u_5142_);
v___x_5145_ = v___x_5139_;
goto v_reusejp_5144_;
}
else
{
lean_object* v_reuseFailAlloc_5151_; 
v_reuseFailAlloc_5151_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5151_, 0, v_u_5142_);
lean_ctor_set(v_reuseFailAlloc_5151_, 1, v___x_5143_);
v___x_5145_ = v_reuseFailAlloc_5151_;
goto v_reusejp_5144_;
}
v_reusejp_5144_:
{
lean_object* v___x_5146_; lean_object* v___x_5147_; lean_object* v___x_5149_; 
v___x_5146_ = l_Lean_mkConst(v_declName_5108_, v___x_5145_);
v___x_5147_ = l_Lean_mkApp7(v___x_5146_, v_type_5141_, v_a_5125_, v_a_5127_, v_a_5129_, v_a_5131_, v_a_5133_, v_ringCtx_5137_);
if (v_isShared_5136_ == 0)
{
lean_ctor_set(v___x_5135_, 0, v___x_5147_);
v___x_5149_ = v___x_5135_;
goto v_reusejp_5148_;
}
else
{
lean_object* v_reuseFailAlloc_5150_; 
v_reuseFailAlloc_5150_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5150_, 0, v___x_5147_);
v___x_5149_ = v_reuseFailAlloc_5150_;
goto v_reusejp_5148_;
}
v_reusejp_5148_:
{
return v___x_5149_;
}
}
}
}
}
else
{
lean_dec(v_a_5131_);
lean_dec(v_a_5129_);
lean_dec(v_a_5127_);
lean_dec(v_a_5125_);
lean_dec(v_a_5123_);
lean_dec_ref(v_a_5109_);
lean_dec(v_declName_5108_);
return v___x_5132_;
}
}
else
{
lean_dec(v_a_5129_);
lean_dec(v_a_5127_);
lean_dec(v_a_5125_);
lean_dec(v_a_5123_);
lean_dec_ref(v_a_5109_);
lean_dec(v_declName_5108_);
return v___x_5130_;
}
}
else
{
lean_dec(v_a_5127_);
lean_dec(v_a_5125_);
lean_dec(v_a_5123_);
lean_dec_ref(v_a_5109_);
lean_dec(v_declName_5108_);
return v___x_5128_;
}
}
else
{
lean_dec(v_a_5125_);
lean_dec(v_a_5123_);
lean_dec_ref(v_a_5109_);
lean_dec(v_declName_5108_);
return v___x_5126_;
}
}
else
{
lean_dec(v_a_5123_);
lean_dec_ref(v_a_5109_);
lean_dec(v_declName_5108_);
return v___x_5124_;
}
}
else
{
lean_object* v_a_5155_; lean_object* v___x_5157_; uint8_t v_isShared_5158_; uint8_t v_isSharedCheck_5162_; 
lean_dec_ref(v_a_5109_);
lean_dec(v_declName_5108_);
v_a_5155_ = lean_ctor_get(v___x_5122_, 0);
v_isSharedCheck_5162_ = !lean_is_exclusive(v___x_5122_);
if (v_isSharedCheck_5162_ == 0)
{
v___x_5157_ = v___x_5122_;
v_isShared_5158_ = v_isSharedCheck_5162_;
goto v_resetjp_5156_;
}
else
{
lean_inc(v_a_5155_);
lean_dec(v___x_5122_);
v___x_5157_ = lean_box(0);
v_isShared_5158_ = v_isSharedCheck_5162_;
goto v_resetjp_5156_;
}
v_resetjp_5156_:
{
lean_object* v___x_5160_; 
if (v_isShared_5158_ == 0)
{
v___x_5160_ = v___x_5157_;
goto v_reusejp_5159_;
}
else
{
lean_object* v_reuseFailAlloc_5161_; 
v_reuseFailAlloc_5161_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5161_, 0, v_a_5155_);
v___x_5160_ = v_reuseFailAlloc_5161_;
goto v_reusejp_5159_;
}
v_reusejp_5159_:
{
return v___x_5160_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix___redArg___boxed(lean_object* v_declName_5163_, lean_object* v_a_5164_, lean_object* v_a_5165_, lean_object* v_a_5166_, lean_object* v_a_5167_, lean_object* v_a_5168_, lean_object* v_a_5169_, lean_object* v_a_5170_, lean_object* v_a_5171_, lean_object* v_a_5172_, lean_object* v_a_5173_, lean_object* v_a_5174_, lean_object* v_a_5175_, lean_object* v_a_5176_){
_start:
{
lean_object* v_res_5177_; 
v_res_5177_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix___redArg(v_declName_5163_, v_a_5164_, v_a_5165_, v_a_5166_, v_a_5167_, v_a_5168_, v_a_5169_, v_a_5170_, v_a_5171_, v_a_5172_, v_a_5173_, v_a_5174_, v_a_5175_);
lean_dec(v_a_5175_);
lean_dec_ref(v_a_5174_);
lean_dec(v_a_5173_);
lean_dec_ref(v_a_5172_);
lean_dec(v_a_5171_);
lean_dec_ref(v_a_5170_);
lean_dec(v_a_5169_);
lean_dec_ref(v_a_5168_);
lean_dec(v_a_5167_);
lean_dec(v_a_5166_);
lean_dec(v_a_5165_);
return v_res_5177_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix(lean_object* v_declName_5178_, lean_object* v_a_5179_, lean_object* v_a_5180_, lean_object* v_a_5181_, lean_object* v_a_5182_, lean_object* v_a_5183_, lean_object* v_a_5184_, lean_object* v_a_5185_, lean_object* v_a_5186_, lean_object* v_a_5187_, lean_object* v_a_5188_, lean_object* v_a_5189_, lean_object* v_a_5190_, lean_object* v_a_5191_){
_start:
{
lean_object* v___x_5193_; 
v___x_5193_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix___redArg(v_declName_5178_, v_a_5179_, v_a_5181_, v_a_5182_, v_a_5183_, v_a_5184_, v_a_5185_, v_a_5186_, v_a_5187_, v_a_5188_, v_a_5189_, v_a_5190_, v_a_5191_);
return v___x_5193_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix___boxed(lean_object* v_declName_5194_, lean_object* v_a_5195_, lean_object* v_a_5196_, lean_object* v_a_5197_, lean_object* v_a_5198_, lean_object* v_a_5199_, lean_object* v_a_5200_, lean_object* v_a_5201_, lean_object* v_a_5202_, lean_object* v_a_5203_, lean_object* v_a_5204_, lean_object* v_a_5205_, lean_object* v_a_5206_, lean_object* v_a_5207_, lean_object* v_a_5208_){
_start:
{
lean_object* v_res_5209_; 
v_res_5209_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix(v_declName_5194_, v_a_5195_, v_a_5196_, v_a_5197_, v_a_5198_, v_a_5199_, v_a_5200_, v_a_5201_, v_a_5202_, v_a_5203_, v_a_5204_, v_a_5205_, v_a_5206_, v_a_5207_);
lean_dec(v_a_5207_);
lean_dec_ref(v_a_5206_);
lean_dec(v_a_5205_);
lean_dec_ref(v_a_5204_);
lean_dec(v_a_5203_);
lean_dec_ref(v_a_5202_);
lean_dec(v_a_5201_);
lean_dec_ref(v_a_5200_);
lean_dec(v_a_5199_);
lean_dec(v_a_5198_);
lean_dec(v_a_5197_);
lean_dec(v_a_5196_);
return v_res_5209_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix___redArg(lean_object* v_declName_5210_, lean_object* v_a_5211_, lean_object* v_a_5212_, lean_object* v_a_5213_, lean_object* v_a_5214_, lean_object* v_a_5215_, lean_object* v_a_5216_, lean_object* v_a_5217_, lean_object* v_a_5218_, lean_object* v_a_5219_, lean_object* v_a_5220_, lean_object* v_a_5221_, lean_object* v_a_5222_){
_start:
{
lean_object* v___x_5224_; 
v___x_5224_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_5212_, v_a_5213_, v_a_5214_, v_a_5215_, v_a_5216_, v_a_5217_, v_a_5218_, v_a_5219_, v_a_5220_, v_a_5221_, v_a_5222_);
if (lean_obj_tag(v___x_5224_) == 0)
{
lean_object* v_a_5225_; lean_object* v___x_5226_; 
v_a_5225_ = lean_ctor_get(v___x_5224_, 0);
lean_inc(v_a_5225_);
lean_dec_ref(v___x_5224_);
v___x_5226_ = l_Lean_Meta_Grind_Arith_Linear_getCommRingInst(v_a_5212_, v_a_5213_, v_a_5214_, v_a_5215_, v_a_5216_, v_a_5217_, v_a_5218_, v_a_5219_, v_a_5220_, v_a_5221_, v_a_5222_);
if (lean_obj_tag(v___x_5226_) == 0)
{
lean_object* v_a_5227_; lean_object* v___x_5228_; 
v_a_5227_ = lean_ctor_get(v___x_5226_, 0);
lean_inc(v_a_5227_);
lean_dec_ref(v___x_5226_);
v___x_5228_ = l_Lean_Meta_Grind_Arith_Linear_getLEInst(v_a_5212_, v_a_5213_, v_a_5214_, v_a_5215_, v_a_5216_, v_a_5217_, v_a_5218_, v_a_5219_, v_a_5220_, v_a_5221_, v_a_5222_);
if (lean_obj_tag(v___x_5228_) == 0)
{
lean_object* v_a_5229_; lean_object* v___x_5230_; 
v_a_5229_ = lean_ctor_get(v___x_5228_, 0);
lean_inc(v_a_5229_);
lean_dec_ref(v___x_5228_);
v___x_5230_ = l_Lean_Meta_Grind_Arith_Linear_getLTInst(v_a_5212_, v_a_5213_, v_a_5214_, v_a_5215_, v_a_5216_, v_a_5217_, v_a_5218_, v_a_5219_, v_a_5220_, v_a_5221_, v_a_5222_);
if (lean_obj_tag(v___x_5230_) == 0)
{
lean_object* v_a_5231_; lean_object* v___x_5232_; 
v_a_5231_ = lean_ctor_get(v___x_5230_, 0);
lean_inc(v_a_5231_);
lean_dec_ref(v___x_5230_);
v___x_5232_ = l_Lean_Meta_Grind_Arith_Linear_getLawfulOrderLTInst(v_a_5212_, v_a_5213_, v_a_5214_, v_a_5215_, v_a_5216_, v_a_5217_, v_a_5218_, v_a_5219_, v_a_5220_, v_a_5221_, v_a_5222_);
if (lean_obj_tag(v___x_5232_) == 0)
{
lean_object* v_a_5233_; lean_object* v___x_5234_; 
v_a_5233_ = lean_ctor_get(v___x_5232_, 0);
lean_inc(v_a_5233_);
lean_dec_ref(v___x_5232_);
v___x_5234_ = l_Lean_Meta_Grind_Arith_Linear_getIsPreorderInst(v_a_5212_, v_a_5213_, v_a_5214_, v_a_5215_, v_a_5216_, v_a_5217_, v_a_5218_, v_a_5219_, v_a_5220_, v_a_5221_, v_a_5222_);
if (lean_obj_tag(v___x_5234_) == 0)
{
lean_object* v_a_5235_; lean_object* v___x_5236_; 
v_a_5235_ = lean_ctor_get(v___x_5234_, 0);
lean_inc(v_a_5235_);
lean_dec_ref(v___x_5234_);
v___x_5236_ = l_Lean_Meta_Grind_Arith_Linear_getOrderedRingInst(v_a_5212_, v_a_5213_, v_a_5214_, v_a_5215_, v_a_5216_, v_a_5217_, v_a_5218_, v_a_5219_, v_a_5220_, v_a_5221_, v_a_5222_);
if (lean_obj_tag(v___x_5236_) == 0)
{
lean_object* v_a_5237_; lean_object* v___x_5239_; uint8_t v_isShared_5240_; uint8_t v_isSharedCheck_5258_; 
v_a_5237_ = lean_ctor_get(v___x_5236_, 0);
v_isSharedCheck_5258_ = !lean_is_exclusive(v___x_5236_);
if (v_isSharedCheck_5258_ == 0)
{
v___x_5239_ = v___x_5236_;
v_isShared_5240_ = v_isSharedCheck_5258_;
goto v_resetjp_5238_;
}
else
{
lean_inc(v_a_5237_);
lean_dec(v___x_5236_);
v___x_5239_ = lean_box(0);
v_isShared_5240_ = v_isSharedCheck_5258_;
goto v_resetjp_5238_;
}
v_resetjp_5238_:
{
lean_object* v_ringCtx_5241_; lean_object* v___x_5243_; uint8_t v_isShared_5244_; uint8_t v_isSharedCheck_5256_; 
v_ringCtx_5241_ = lean_ctor_get(v_a_5211_, 1);
v_isSharedCheck_5256_ = !lean_is_exclusive(v_a_5211_);
if (v_isSharedCheck_5256_ == 0)
{
lean_object* v_unused_5257_; 
v_unused_5257_ = lean_ctor_get(v_a_5211_, 0);
lean_dec(v_unused_5257_);
v___x_5243_ = v_a_5211_;
v_isShared_5244_ = v_isSharedCheck_5256_;
goto v_resetjp_5242_;
}
else
{
lean_inc(v_ringCtx_5241_);
lean_dec(v_a_5211_);
v___x_5243_ = lean_box(0);
v_isShared_5244_ = v_isSharedCheck_5256_;
goto v_resetjp_5242_;
}
v_resetjp_5242_:
{
lean_object* v_type_5245_; lean_object* v_u_5246_; lean_object* v___x_5247_; lean_object* v___x_5249_; 
v_type_5245_ = lean_ctor_get(v_a_5225_, 2);
lean_inc_ref(v_type_5245_);
v_u_5246_ = lean_ctor_get(v_a_5225_, 3);
lean_inc(v_u_5246_);
lean_dec(v_a_5225_);
v___x_5247_ = lean_box(0);
if (v_isShared_5244_ == 0)
{
lean_ctor_set_tag(v___x_5243_, 1);
lean_ctor_set(v___x_5243_, 1, v___x_5247_);
lean_ctor_set(v___x_5243_, 0, v_u_5246_);
v___x_5249_ = v___x_5243_;
goto v_reusejp_5248_;
}
else
{
lean_object* v_reuseFailAlloc_5255_; 
v_reuseFailAlloc_5255_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5255_, 0, v_u_5246_);
lean_ctor_set(v_reuseFailAlloc_5255_, 1, v___x_5247_);
v___x_5249_ = v_reuseFailAlloc_5255_;
goto v_reusejp_5248_;
}
v_reusejp_5248_:
{
lean_object* v___x_5250_; lean_object* v___x_5251_; lean_object* v___x_5253_; 
v___x_5250_ = l_Lean_mkConst(v_declName_5210_, v___x_5249_);
v___x_5251_ = l_Lean_mkApp8(v___x_5250_, v_type_5245_, v_a_5227_, v_a_5229_, v_a_5231_, v_a_5233_, v_a_5235_, v_a_5237_, v_ringCtx_5241_);
if (v_isShared_5240_ == 0)
{
lean_ctor_set(v___x_5239_, 0, v___x_5251_);
v___x_5253_ = v___x_5239_;
goto v_reusejp_5252_;
}
else
{
lean_object* v_reuseFailAlloc_5254_; 
v_reuseFailAlloc_5254_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5254_, 0, v___x_5251_);
v___x_5253_ = v_reuseFailAlloc_5254_;
goto v_reusejp_5252_;
}
v_reusejp_5252_:
{
return v___x_5253_;
}
}
}
}
}
else
{
lean_dec(v_a_5235_);
lean_dec(v_a_5233_);
lean_dec(v_a_5231_);
lean_dec(v_a_5229_);
lean_dec(v_a_5227_);
lean_dec(v_a_5225_);
lean_dec_ref(v_a_5211_);
lean_dec(v_declName_5210_);
return v___x_5236_;
}
}
else
{
lean_dec(v_a_5233_);
lean_dec(v_a_5231_);
lean_dec(v_a_5229_);
lean_dec(v_a_5227_);
lean_dec(v_a_5225_);
lean_dec_ref(v_a_5211_);
lean_dec(v_declName_5210_);
return v___x_5234_;
}
}
else
{
lean_dec(v_a_5231_);
lean_dec(v_a_5229_);
lean_dec(v_a_5227_);
lean_dec(v_a_5225_);
lean_dec_ref(v_a_5211_);
lean_dec(v_declName_5210_);
return v___x_5232_;
}
}
else
{
lean_dec(v_a_5229_);
lean_dec(v_a_5227_);
lean_dec(v_a_5225_);
lean_dec_ref(v_a_5211_);
lean_dec(v_declName_5210_);
return v___x_5230_;
}
}
else
{
lean_dec(v_a_5227_);
lean_dec(v_a_5225_);
lean_dec_ref(v_a_5211_);
lean_dec(v_declName_5210_);
return v___x_5228_;
}
}
else
{
lean_dec(v_a_5225_);
lean_dec_ref(v_a_5211_);
lean_dec(v_declName_5210_);
return v___x_5226_;
}
}
else
{
lean_object* v_a_5259_; lean_object* v___x_5261_; uint8_t v_isShared_5262_; uint8_t v_isSharedCheck_5266_; 
lean_dec_ref(v_a_5211_);
lean_dec(v_declName_5210_);
v_a_5259_ = lean_ctor_get(v___x_5224_, 0);
v_isSharedCheck_5266_ = !lean_is_exclusive(v___x_5224_);
if (v_isSharedCheck_5266_ == 0)
{
v___x_5261_ = v___x_5224_;
v_isShared_5262_ = v_isSharedCheck_5266_;
goto v_resetjp_5260_;
}
else
{
lean_inc(v_a_5259_);
lean_dec(v___x_5224_);
v___x_5261_ = lean_box(0);
v_isShared_5262_ = v_isSharedCheck_5266_;
goto v_resetjp_5260_;
}
v_resetjp_5260_:
{
lean_object* v___x_5264_; 
if (v_isShared_5262_ == 0)
{
v___x_5264_ = v___x_5261_;
goto v_reusejp_5263_;
}
else
{
lean_object* v_reuseFailAlloc_5265_; 
v_reuseFailAlloc_5265_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5265_, 0, v_a_5259_);
v___x_5264_ = v_reuseFailAlloc_5265_;
goto v_reusejp_5263_;
}
v_reusejp_5263_:
{
return v___x_5264_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix___redArg___boxed(lean_object* v_declName_5267_, lean_object* v_a_5268_, lean_object* v_a_5269_, lean_object* v_a_5270_, lean_object* v_a_5271_, lean_object* v_a_5272_, lean_object* v_a_5273_, lean_object* v_a_5274_, lean_object* v_a_5275_, lean_object* v_a_5276_, lean_object* v_a_5277_, lean_object* v_a_5278_, lean_object* v_a_5279_, lean_object* v_a_5280_){
_start:
{
lean_object* v_res_5281_; 
v_res_5281_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix___redArg(v_declName_5267_, v_a_5268_, v_a_5269_, v_a_5270_, v_a_5271_, v_a_5272_, v_a_5273_, v_a_5274_, v_a_5275_, v_a_5276_, v_a_5277_, v_a_5278_, v_a_5279_);
lean_dec(v_a_5279_);
lean_dec_ref(v_a_5278_);
lean_dec(v_a_5277_);
lean_dec_ref(v_a_5276_);
lean_dec(v_a_5275_);
lean_dec_ref(v_a_5274_);
lean_dec(v_a_5273_);
lean_dec_ref(v_a_5272_);
lean_dec(v_a_5271_);
lean_dec(v_a_5270_);
lean_dec(v_a_5269_);
return v_res_5281_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix(lean_object* v_declName_5282_, lean_object* v_a_5283_, lean_object* v_a_5284_, lean_object* v_a_5285_, lean_object* v_a_5286_, lean_object* v_a_5287_, lean_object* v_a_5288_, lean_object* v_a_5289_, lean_object* v_a_5290_, lean_object* v_a_5291_, lean_object* v_a_5292_, lean_object* v_a_5293_, lean_object* v_a_5294_, lean_object* v_a_5295_){
_start:
{
lean_object* v___x_5297_; 
v___x_5297_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix___redArg(v_declName_5282_, v_a_5283_, v_a_5285_, v_a_5286_, v_a_5287_, v_a_5288_, v_a_5289_, v_a_5290_, v_a_5291_, v_a_5292_, v_a_5293_, v_a_5294_, v_a_5295_);
return v___x_5297_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix___boxed(lean_object* v_declName_5298_, lean_object* v_a_5299_, lean_object* v_a_5300_, lean_object* v_a_5301_, lean_object* v_a_5302_, lean_object* v_a_5303_, lean_object* v_a_5304_, lean_object* v_a_5305_, lean_object* v_a_5306_, lean_object* v_a_5307_, lean_object* v_a_5308_, lean_object* v_a_5309_, lean_object* v_a_5310_, lean_object* v_a_5311_, lean_object* v_a_5312_){
_start:
{
lean_object* v_res_5313_; 
v_res_5313_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix(v_declName_5298_, v_a_5299_, v_a_5300_, v_a_5301_, v_a_5302_, v_a_5303_, v_a_5304_, v_a_5305_, v_a_5306_, v_a_5307_, v_a_5308_, v_a_5309_, v_a_5310_, v_a_5311_);
lean_dec(v_a_5311_);
lean_dec_ref(v_a_5310_);
lean_dec(v_a_5309_);
lean_dec_ref(v_a_5308_);
lean_dec(v_a_5307_);
lean_dec_ref(v_a_5306_);
lean_dec(v_a_5305_);
lean_dec_ref(v_a_5304_);
lean_dec(v_a_5303_);
lean_dec(v_a_5302_);
lean_dec(v_a_5301_);
lean_dec(v_a_5300_);
return v_res_5313_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLinOrdThmPrefix___redArg(lean_object* v_declName_5314_, lean_object* v_a_5315_, lean_object* v_a_5316_, lean_object* v_a_5317_, lean_object* v_a_5318_, lean_object* v_a_5319_, lean_object* v_a_5320_, lean_object* v_a_5321_, lean_object* v_a_5322_, lean_object* v_a_5323_, lean_object* v_a_5324_, lean_object* v_a_5325_, lean_object* v_a_5326_){
_start:
{
lean_object* v___x_5328_; 
v___x_5328_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_5316_, v_a_5317_, v_a_5318_, v_a_5319_, v_a_5320_, v_a_5321_, v_a_5322_, v_a_5323_, v_a_5324_, v_a_5325_, v_a_5326_);
if (lean_obj_tag(v___x_5328_) == 0)
{
lean_object* v_a_5329_; lean_object* v___x_5330_; 
v_a_5329_ = lean_ctor_get(v___x_5328_, 0);
lean_inc(v_a_5329_);
lean_dec_ref(v___x_5328_);
v___x_5330_ = l_Lean_Meta_Grind_Arith_Linear_getCommRingInst(v_a_5316_, v_a_5317_, v_a_5318_, v_a_5319_, v_a_5320_, v_a_5321_, v_a_5322_, v_a_5323_, v_a_5324_, v_a_5325_, v_a_5326_);
if (lean_obj_tag(v___x_5330_) == 0)
{
lean_object* v_a_5331_; lean_object* v___x_5332_; 
v_a_5331_ = lean_ctor_get(v___x_5330_, 0);
lean_inc(v_a_5331_);
lean_dec_ref(v___x_5330_);
v___x_5332_ = l_Lean_Meta_Grind_Arith_Linear_getLEInst(v_a_5316_, v_a_5317_, v_a_5318_, v_a_5319_, v_a_5320_, v_a_5321_, v_a_5322_, v_a_5323_, v_a_5324_, v_a_5325_, v_a_5326_);
if (lean_obj_tag(v___x_5332_) == 0)
{
lean_object* v_a_5333_; lean_object* v___x_5334_; 
v_a_5333_ = lean_ctor_get(v___x_5332_, 0);
lean_inc(v_a_5333_);
lean_dec_ref(v___x_5332_);
v___x_5334_ = l_Lean_Meta_Grind_Arith_Linear_getLTInst(v_a_5316_, v_a_5317_, v_a_5318_, v_a_5319_, v_a_5320_, v_a_5321_, v_a_5322_, v_a_5323_, v_a_5324_, v_a_5325_, v_a_5326_);
if (lean_obj_tag(v___x_5334_) == 0)
{
lean_object* v_a_5335_; lean_object* v___x_5336_; 
v_a_5335_ = lean_ctor_get(v___x_5334_, 0);
lean_inc(v_a_5335_);
lean_dec_ref(v___x_5334_);
v___x_5336_ = l_Lean_Meta_Grind_Arith_Linear_getLawfulOrderLTInst(v_a_5316_, v_a_5317_, v_a_5318_, v_a_5319_, v_a_5320_, v_a_5321_, v_a_5322_, v_a_5323_, v_a_5324_, v_a_5325_, v_a_5326_);
if (lean_obj_tag(v___x_5336_) == 0)
{
lean_object* v_a_5337_; lean_object* v___x_5338_; 
v_a_5337_ = lean_ctor_get(v___x_5336_, 0);
lean_inc(v_a_5337_);
lean_dec_ref(v___x_5336_);
v___x_5338_ = l_Lean_Meta_Grind_Arith_Linear_getIsLinearOrderInst(v_a_5316_, v_a_5317_, v_a_5318_, v_a_5319_, v_a_5320_, v_a_5321_, v_a_5322_, v_a_5323_, v_a_5324_, v_a_5325_, v_a_5326_);
if (lean_obj_tag(v___x_5338_) == 0)
{
lean_object* v_a_5339_; lean_object* v___x_5340_; 
v_a_5339_ = lean_ctor_get(v___x_5338_, 0);
lean_inc(v_a_5339_);
lean_dec_ref(v___x_5338_);
v___x_5340_ = l_Lean_Meta_Grind_Arith_Linear_getOrderedRingInst(v_a_5316_, v_a_5317_, v_a_5318_, v_a_5319_, v_a_5320_, v_a_5321_, v_a_5322_, v_a_5323_, v_a_5324_, v_a_5325_, v_a_5326_);
if (lean_obj_tag(v___x_5340_) == 0)
{
lean_object* v_a_5341_; lean_object* v___x_5343_; uint8_t v_isShared_5344_; uint8_t v_isSharedCheck_5362_; 
v_a_5341_ = lean_ctor_get(v___x_5340_, 0);
v_isSharedCheck_5362_ = !lean_is_exclusive(v___x_5340_);
if (v_isSharedCheck_5362_ == 0)
{
v___x_5343_ = v___x_5340_;
v_isShared_5344_ = v_isSharedCheck_5362_;
goto v_resetjp_5342_;
}
else
{
lean_inc(v_a_5341_);
lean_dec(v___x_5340_);
v___x_5343_ = lean_box(0);
v_isShared_5344_ = v_isSharedCheck_5362_;
goto v_resetjp_5342_;
}
v_resetjp_5342_:
{
lean_object* v_ringCtx_5345_; lean_object* v___x_5347_; uint8_t v_isShared_5348_; uint8_t v_isSharedCheck_5360_; 
v_ringCtx_5345_ = lean_ctor_get(v_a_5315_, 1);
v_isSharedCheck_5360_ = !lean_is_exclusive(v_a_5315_);
if (v_isSharedCheck_5360_ == 0)
{
lean_object* v_unused_5361_; 
v_unused_5361_ = lean_ctor_get(v_a_5315_, 0);
lean_dec(v_unused_5361_);
v___x_5347_ = v_a_5315_;
v_isShared_5348_ = v_isSharedCheck_5360_;
goto v_resetjp_5346_;
}
else
{
lean_inc(v_ringCtx_5345_);
lean_dec(v_a_5315_);
v___x_5347_ = lean_box(0);
v_isShared_5348_ = v_isSharedCheck_5360_;
goto v_resetjp_5346_;
}
v_resetjp_5346_:
{
lean_object* v_type_5349_; lean_object* v_u_5350_; lean_object* v___x_5351_; lean_object* v___x_5353_; 
v_type_5349_ = lean_ctor_get(v_a_5329_, 2);
lean_inc_ref(v_type_5349_);
v_u_5350_ = lean_ctor_get(v_a_5329_, 3);
lean_inc(v_u_5350_);
lean_dec(v_a_5329_);
v___x_5351_ = lean_box(0);
if (v_isShared_5348_ == 0)
{
lean_ctor_set_tag(v___x_5347_, 1);
lean_ctor_set(v___x_5347_, 1, v___x_5351_);
lean_ctor_set(v___x_5347_, 0, v_u_5350_);
v___x_5353_ = v___x_5347_;
goto v_reusejp_5352_;
}
else
{
lean_object* v_reuseFailAlloc_5359_; 
v_reuseFailAlloc_5359_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_5359_, 0, v_u_5350_);
lean_ctor_set(v_reuseFailAlloc_5359_, 1, v___x_5351_);
v___x_5353_ = v_reuseFailAlloc_5359_;
goto v_reusejp_5352_;
}
v_reusejp_5352_:
{
lean_object* v___x_5354_; lean_object* v___x_5355_; lean_object* v___x_5357_; 
v___x_5354_ = l_Lean_mkConst(v_declName_5314_, v___x_5353_);
v___x_5355_ = l_Lean_mkApp8(v___x_5354_, v_type_5349_, v_a_5331_, v_a_5333_, v_a_5335_, v_a_5337_, v_a_5339_, v_a_5341_, v_ringCtx_5345_);
if (v_isShared_5344_ == 0)
{
lean_ctor_set(v___x_5343_, 0, v___x_5355_);
v___x_5357_ = v___x_5343_;
goto v_reusejp_5356_;
}
else
{
lean_object* v_reuseFailAlloc_5358_; 
v_reuseFailAlloc_5358_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5358_, 0, v___x_5355_);
v___x_5357_ = v_reuseFailAlloc_5358_;
goto v_reusejp_5356_;
}
v_reusejp_5356_:
{
return v___x_5357_;
}
}
}
}
}
else
{
lean_dec(v_a_5339_);
lean_dec(v_a_5337_);
lean_dec(v_a_5335_);
lean_dec(v_a_5333_);
lean_dec(v_a_5331_);
lean_dec(v_a_5329_);
lean_dec_ref(v_a_5315_);
lean_dec(v_declName_5314_);
return v___x_5340_;
}
}
else
{
lean_dec(v_a_5337_);
lean_dec(v_a_5335_);
lean_dec(v_a_5333_);
lean_dec(v_a_5331_);
lean_dec(v_a_5329_);
lean_dec_ref(v_a_5315_);
lean_dec(v_declName_5314_);
return v___x_5338_;
}
}
else
{
lean_dec(v_a_5335_);
lean_dec(v_a_5333_);
lean_dec(v_a_5331_);
lean_dec(v_a_5329_);
lean_dec_ref(v_a_5315_);
lean_dec(v_declName_5314_);
return v___x_5336_;
}
}
else
{
lean_dec(v_a_5333_);
lean_dec(v_a_5331_);
lean_dec(v_a_5329_);
lean_dec_ref(v_a_5315_);
lean_dec(v_declName_5314_);
return v___x_5334_;
}
}
else
{
lean_dec(v_a_5331_);
lean_dec(v_a_5329_);
lean_dec_ref(v_a_5315_);
lean_dec(v_declName_5314_);
return v___x_5332_;
}
}
else
{
lean_dec(v_a_5329_);
lean_dec_ref(v_a_5315_);
lean_dec(v_declName_5314_);
return v___x_5330_;
}
}
else
{
lean_object* v_a_5363_; lean_object* v___x_5365_; uint8_t v_isShared_5366_; uint8_t v_isSharedCheck_5370_; 
lean_dec_ref(v_a_5315_);
lean_dec(v_declName_5314_);
v_a_5363_ = lean_ctor_get(v___x_5328_, 0);
v_isSharedCheck_5370_ = !lean_is_exclusive(v___x_5328_);
if (v_isSharedCheck_5370_ == 0)
{
v___x_5365_ = v___x_5328_;
v_isShared_5366_ = v_isSharedCheck_5370_;
goto v_resetjp_5364_;
}
else
{
lean_inc(v_a_5363_);
lean_dec(v___x_5328_);
v___x_5365_ = lean_box(0);
v_isShared_5366_ = v_isSharedCheck_5370_;
goto v_resetjp_5364_;
}
v_resetjp_5364_:
{
lean_object* v___x_5368_; 
if (v_isShared_5366_ == 0)
{
v___x_5368_ = v___x_5365_;
goto v_reusejp_5367_;
}
else
{
lean_object* v_reuseFailAlloc_5369_; 
v_reuseFailAlloc_5369_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5369_, 0, v_a_5363_);
v___x_5368_ = v_reuseFailAlloc_5369_;
goto v_reusejp_5367_;
}
v_reusejp_5367_:
{
return v___x_5368_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLinOrdThmPrefix___redArg___boxed(lean_object* v_declName_5371_, lean_object* v_a_5372_, lean_object* v_a_5373_, lean_object* v_a_5374_, lean_object* v_a_5375_, lean_object* v_a_5376_, lean_object* v_a_5377_, lean_object* v_a_5378_, lean_object* v_a_5379_, lean_object* v_a_5380_, lean_object* v_a_5381_, lean_object* v_a_5382_, lean_object* v_a_5383_, lean_object* v_a_5384_){
_start:
{
lean_object* v_res_5385_; 
v_res_5385_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLinOrdThmPrefix___redArg(v_declName_5371_, v_a_5372_, v_a_5373_, v_a_5374_, v_a_5375_, v_a_5376_, v_a_5377_, v_a_5378_, v_a_5379_, v_a_5380_, v_a_5381_, v_a_5382_, v_a_5383_);
lean_dec(v_a_5383_);
lean_dec_ref(v_a_5382_);
lean_dec(v_a_5381_);
lean_dec_ref(v_a_5380_);
lean_dec(v_a_5379_);
lean_dec_ref(v_a_5378_);
lean_dec(v_a_5377_);
lean_dec_ref(v_a_5376_);
lean_dec(v_a_5375_);
lean_dec(v_a_5374_);
lean_dec(v_a_5373_);
return v_res_5385_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLinOrdThmPrefix(lean_object* v_declName_5386_, lean_object* v_a_5387_, lean_object* v_a_5388_, lean_object* v_a_5389_, lean_object* v_a_5390_, lean_object* v_a_5391_, lean_object* v_a_5392_, lean_object* v_a_5393_, lean_object* v_a_5394_, lean_object* v_a_5395_, lean_object* v_a_5396_, lean_object* v_a_5397_, lean_object* v_a_5398_, lean_object* v_a_5399_){
_start:
{
lean_object* v___x_5401_; 
v___x_5401_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLinOrdThmPrefix___redArg(v_declName_5386_, v_a_5387_, v_a_5389_, v_a_5390_, v_a_5391_, v_a_5392_, v_a_5393_, v_a_5394_, v_a_5395_, v_a_5396_, v_a_5397_, v_a_5398_, v_a_5399_);
return v___x_5401_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLinOrdThmPrefix___boxed(lean_object* v_declName_5402_, lean_object* v_a_5403_, lean_object* v_a_5404_, lean_object* v_a_5405_, lean_object* v_a_5406_, lean_object* v_a_5407_, lean_object* v_a_5408_, lean_object* v_a_5409_, lean_object* v_a_5410_, lean_object* v_a_5411_, lean_object* v_a_5412_, lean_object* v_a_5413_, lean_object* v_a_5414_, lean_object* v_a_5415_, lean_object* v_a_5416_){
_start:
{
lean_object* v_res_5417_; 
v_res_5417_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLinOrdThmPrefix(v_declName_5402_, v_a_5403_, v_a_5404_, v_a_5405_, v_a_5406_, v_a_5407_, v_a_5408_, v_a_5409_, v_a_5410_, v_a_5411_, v_a_5412_, v_a_5413_, v_a_5414_, v_a_5415_);
lean_dec(v_a_5415_);
lean_dec_ref(v_a_5414_);
lean_dec(v_a_5413_);
lean_dec_ref(v_a_5412_);
lean_dec(v_a_5411_);
lean_dec_ref(v_a_5410_);
lean_dec(v_a_5409_);
lean_dec_ref(v_a_5408_);
lean_dec(v_a_5407_);
lean_dec(v_a_5406_);
lean_dec(v_a_5405_);
lean_dec(v_a_5404_);
return v_res_5417_;
}
}
static lean_object* _init_l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__0___closed__0(void){
_start:
{
lean_object* v___x_5418_; lean_object* v___x_5419_; lean_object* v___x_5420_; 
v___x_5418_ = lean_unsigned_to_nat(0u);
v___x_5419_ = l_Lean_instInhabitedExpr;
v___x_5420_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_5420_, 0, v___x_5419_);
lean_ctor_set(v___x_5420_, 1, v___x_5418_);
return v___x_5420_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__0(lean_object* v_msg_5421_){
_start:
{
lean_object* v___x_5422_; lean_object* v___x_5423_; 
v___x_5422_ = lean_obj_once(&l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__0___closed__0, &l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__0___closed__0_once, _init_l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__0___closed__0);
v___x_5423_ = lean_panic_fn(v___x_5422_, v_msg_5421_);
return v___x_5423_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(lean_object* v_msg_5424_){
_start:
{
lean_object* v___x_5425_; lean_object* v___x_5426_; 
v___x_5425_ = l_Lean_instInhabitedExpr;
v___x_5426_ = lean_panic_fn(v___x_5425_, v_msg_5424_);
return v___x_5426_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3(void){
_start:
{
lean_object* v___x_5430_; lean_object* v___x_5431_; lean_object* v___x_5432_; lean_object* v___x_5433_; lean_object* v___x_5434_; lean_object* v___x_5435_; 
v___x_5430_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__2));
v___x_5431_ = lean_unsigned_to_nat(14u);
v___x_5432_ = lean_unsigned_to_nat(22u);
v___x_5433_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__1));
v___x_5434_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__0));
v___x_5435_ = l_mkPanicMessageWithDecl(v___x_5434_, v___x_5433_, v___x_5432_, v___x_5431_, v___x_5430_);
return v___x_5435_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg(lean_object* v_declName_5436_, lean_object* v_a_5437_, lean_object* v_a_5438_, lean_object* v_a_5439_, lean_object* v_a_5440_, lean_object* v_a_5441_, lean_object* v_a_5442_, lean_object* v_a_5443_, lean_object* v_a_5444_, lean_object* v_a_5445_, lean_object* v_a_5446_, lean_object* v_a_5447_){
_start:
{
lean_object* v___x_5449_; 
v___x_5449_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_5437_, v_a_5438_, v_a_5439_, v_a_5440_, v_a_5441_, v_a_5442_, v_a_5443_, v_a_5444_, v_a_5445_, v_a_5446_, v_a_5447_);
if (lean_obj_tag(v___x_5449_) == 0)
{
lean_object* v_a_5450_; lean_object* v___x_5452_; uint8_t v_isShared_5453_; uint8_t v_isSharedCheck_5477_; 
v_a_5450_ = lean_ctor_get(v___x_5449_, 0);
v_isSharedCheck_5477_ = !lean_is_exclusive(v___x_5449_);
if (v_isSharedCheck_5477_ == 0)
{
v___x_5452_ = v___x_5449_;
v_isShared_5453_ = v_isSharedCheck_5477_;
goto v_resetjp_5451_;
}
else
{
lean_inc(v_a_5450_);
lean_dec(v___x_5449_);
v___x_5452_ = lean_box(0);
v_isShared_5453_ = v_isSharedCheck_5477_;
goto v_resetjp_5451_;
}
v_resetjp_5451_:
{
lean_object* v_type_5454_; lean_object* v_u_5455_; lean_object* v_fieldInst_x3f_5456_; lean_object* v_charInst_x3f_5457_; lean_object* v___x_5458_; lean_object* v___x_5459_; lean_object* v___x_5460_; lean_object* v___y_5462_; lean_object* v___y_5463_; lean_object* v___y_5470_; 
v_type_5454_ = lean_ctor_get(v_a_5450_, 2);
lean_inc_ref(v_type_5454_);
v_u_5455_ = lean_ctor_get(v_a_5450_, 3);
lean_inc(v_u_5455_);
v_fieldInst_x3f_5456_ = lean_ctor_get(v_a_5450_, 15);
lean_inc(v_fieldInst_x3f_5456_);
v_charInst_x3f_5457_ = lean_ctor_get(v_a_5450_, 16);
lean_inc(v_charInst_x3f_5457_);
lean_dec(v_a_5450_);
v___x_5458_ = lean_box(0);
v___x_5459_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_5459_, 0, v_u_5455_);
lean_ctor_set(v___x_5459_, 1, v___x_5458_);
v___x_5460_ = l_Lean_mkConst(v_declName_5436_, v___x_5459_);
if (lean_obj_tag(v_fieldInst_x3f_5456_) == 0)
{
lean_object* v___x_5474_; lean_object* v___x_5475_; 
v___x_5474_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_5475_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_5474_);
v___y_5470_ = v___x_5475_;
goto v___jp_5469_;
}
else
{
lean_object* v_val_5476_; 
v_val_5476_ = lean_ctor_get(v_fieldInst_x3f_5456_, 0);
lean_inc(v_val_5476_);
lean_dec_ref(v_fieldInst_x3f_5456_);
v___y_5470_ = v_val_5476_;
goto v___jp_5469_;
}
v___jp_5461_:
{
lean_object* v_fst_5464_; lean_object* v___x_5465_; lean_object* v___x_5467_; 
v_fst_5464_ = lean_ctor_get(v___y_5463_, 0);
lean_inc(v_fst_5464_);
lean_dec_ref(v___y_5463_);
v___x_5465_ = l_Lean_mkApp3(v___x_5460_, v_type_5454_, v___y_5462_, v_fst_5464_);
if (v_isShared_5453_ == 0)
{
lean_ctor_set(v___x_5452_, 0, v___x_5465_);
v___x_5467_ = v___x_5452_;
goto v_reusejp_5466_;
}
else
{
lean_object* v_reuseFailAlloc_5468_; 
v_reuseFailAlloc_5468_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5468_, 0, v___x_5465_);
v___x_5467_ = v_reuseFailAlloc_5468_;
goto v_reusejp_5466_;
}
v_reusejp_5466_:
{
return v___x_5467_;
}
}
v___jp_5469_:
{
if (lean_obj_tag(v_charInst_x3f_5457_) == 0)
{
lean_object* v___x_5471_; lean_object* v___x_5472_; 
v___x_5471_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_5472_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__0(v___x_5471_);
v___y_5462_ = v___y_5470_;
v___y_5463_ = v___x_5472_;
goto v___jp_5461_;
}
else
{
lean_object* v_val_5473_; 
v_val_5473_ = lean_ctor_get(v_charInst_x3f_5457_, 0);
lean_inc(v_val_5473_);
lean_dec_ref(v_charInst_x3f_5457_);
v___y_5462_ = v___y_5470_;
v___y_5463_ = v_val_5473_;
goto v___jp_5461_;
}
}
}
}
else
{
lean_object* v_a_5478_; lean_object* v___x_5480_; uint8_t v_isShared_5481_; uint8_t v_isSharedCheck_5485_; 
lean_dec(v_declName_5436_);
v_a_5478_ = lean_ctor_get(v___x_5449_, 0);
v_isSharedCheck_5485_ = !lean_is_exclusive(v___x_5449_);
if (v_isSharedCheck_5485_ == 0)
{
v___x_5480_ = v___x_5449_;
v_isShared_5481_ = v_isSharedCheck_5485_;
goto v_resetjp_5479_;
}
else
{
lean_inc(v_a_5478_);
lean_dec(v___x_5449_);
v___x_5480_ = lean_box(0);
v_isShared_5481_ = v_isSharedCheck_5485_;
goto v_resetjp_5479_;
}
v_resetjp_5479_:
{
lean_object* v___x_5483_; 
if (v_isShared_5481_ == 0)
{
v___x_5483_ = v___x_5480_;
goto v_reusejp_5482_;
}
else
{
lean_object* v_reuseFailAlloc_5484_; 
v_reuseFailAlloc_5484_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5484_, 0, v_a_5478_);
v___x_5483_ = v_reuseFailAlloc_5484_;
goto v_reusejp_5482_;
}
v_reusejp_5482_:
{
return v___x_5483_;
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___boxed(lean_object* v_declName_5486_, lean_object* v_a_5487_, lean_object* v_a_5488_, lean_object* v_a_5489_, lean_object* v_a_5490_, lean_object* v_a_5491_, lean_object* v_a_5492_, lean_object* v_a_5493_, lean_object* v_a_5494_, lean_object* v_a_5495_, lean_object* v_a_5496_, lean_object* v_a_5497_, lean_object* v_a_5498_){
_start:
{
lean_object* v_res_5499_; 
v_res_5499_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg(v_declName_5486_, v_a_5487_, v_a_5488_, v_a_5489_, v_a_5490_, v_a_5491_, v_a_5492_, v_a_5493_, v_a_5494_, v_a_5495_, v_a_5496_, v_a_5497_);
lean_dec(v_a_5497_);
lean_dec_ref(v_a_5496_);
lean_dec(v_a_5495_);
lean_dec_ref(v_a_5494_);
lean_dec(v_a_5493_);
lean_dec_ref(v_a_5492_);
lean_dec(v_a_5491_);
lean_dec_ref(v_a_5490_);
lean_dec(v_a_5489_);
lean_dec(v_a_5488_);
lean_dec(v_a_5487_);
return v_res_5499_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix(lean_object* v_declName_5500_, lean_object* v_a_5501_, lean_object* v_a_5502_, lean_object* v_a_5503_, lean_object* v_a_5504_, lean_object* v_a_5505_, lean_object* v_a_5506_, lean_object* v_a_5507_, lean_object* v_a_5508_, lean_object* v_a_5509_, lean_object* v_a_5510_, lean_object* v_a_5511_, lean_object* v_a_5512_, lean_object* v_a_5513_){
_start:
{
lean_object* v___x_5515_; 
v___x_5515_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg(v_declName_5500_, v_a_5503_, v_a_5504_, v_a_5505_, v_a_5506_, v_a_5507_, v_a_5508_, v_a_5509_, v_a_5510_, v_a_5511_, v_a_5512_, v_a_5513_);
return v___x_5515_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___boxed(lean_object* v_declName_5516_, lean_object* v_a_5517_, lean_object* v_a_5518_, lean_object* v_a_5519_, lean_object* v_a_5520_, lean_object* v_a_5521_, lean_object* v_a_5522_, lean_object* v_a_5523_, lean_object* v_a_5524_, lean_object* v_a_5525_, lean_object* v_a_5526_, lean_object* v_a_5527_, lean_object* v_a_5528_, lean_object* v_a_5529_, lean_object* v_a_5530_){
_start:
{
lean_object* v_res_5531_; 
v_res_5531_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix(v_declName_5516_, v_a_5517_, v_a_5518_, v_a_5519_, v_a_5520_, v_a_5521_, v_a_5522_, v_a_5523_, v_a_5524_, v_a_5525_, v_a_5526_, v_a_5527_, v_a_5528_, v_a_5529_);
lean_dec(v_a_5529_);
lean_dec_ref(v_a_5528_);
lean_dec(v_a_5527_);
lean_dec_ref(v_a_5526_);
lean_dec(v_a_5525_);
lean_dec_ref(v_a_5524_);
lean_dec(v_a_5523_);
lean_dec_ref(v_a_5522_);
lean_dec(v_a_5521_);
lean_dec(v_a_5520_);
lean_dec(v_a_5519_);
lean_dec(v_a_5518_);
lean_dec_ref(v_a_5517_);
return v_res_5531_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12(void){
_start:
{
lean_object* v___x_5564_; lean_object* v___x_5565_; 
v___x_5564_ = lean_unsigned_to_nat(0u);
v___x_5565_ = lean_nat_to_int(v___x_5564_);
return v___x_5565_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__16(void){
_start:
{
lean_object* v___x_5571_; lean_object* v___x_5572_; 
v___x_5571_ = lean_unsigned_to_nat(0u);
v___x_5572_ = l_Lean_Level_ofNat(v___x_5571_);
return v___x_5572_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__17(void){
_start:
{
lean_object* v___x_5573_; lean_object* v___x_5574_; lean_object* v___x_5575_; 
v___x_5573_ = lean_box(0);
v___x_5574_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__16, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__16_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__16);
v___x_5575_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v___x_5575_, 0, v___x_5574_);
lean_ctor_set(v___x_5575_, 1, v___x_5573_);
return v___x_5575_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18(void){
_start:
{
lean_object* v___x_5576_; lean_object* v___x_5577_; lean_object* v___x_5578_; 
v___x_5576_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__17, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__17_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__17);
v___x_5577_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__15));
v___x_5578_ = l_Lean_Expr_const___override(v___x_5577_, v___x_5576_);
return v___x_5578_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21(void){
_start:
{
lean_object* v___x_5582_; lean_object* v___x_5583_; lean_object* v___x_5584_; 
v___x_5582_ = lean_box(0);
v___x_5583_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__20));
v___x_5584_ = l_Lean_Expr_const___override(v___x_5583_, v___x_5582_);
return v___x_5584_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24(void){
_start:
{
lean_object* v___x_5589_; lean_object* v___x_5590_; lean_object* v___x_5591_; 
v___x_5589_ = lean_box(0);
v___x_5590_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__23));
v___x_5591_ = l_Lean_Expr_const___override(v___x_5590_, v___x_5589_);
return v___x_5591_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof(lean_object* v_c_x27_5604_, lean_object* v_a_5605_, lean_object* v_a_5606_, lean_object* v_a_5607_, lean_object* v_a_5608_, lean_object* v_a_5609_, lean_object* v_a_5610_, lean_object* v_a_5611_, lean_object* v_a_5612_, lean_object* v_a_5613_, lean_object* v_a_5614_, lean_object* v_a_5615_, lean_object* v_a_5616_, lean_object* v_a_5617_){
_start:
{
lean_object* v_h_5619_; 
v_h_5619_ = lean_ctor_get(v_c_x27_5604_, 1);
lean_inc_ref(v_h_5619_);
switch(lean_obj_tag(v_h_5619_))
{
case 0:
{
lean_object* v_p_5620_; uint8_t v_strict_5621_; lean_object* v_e_5622_; lean_object* v_lhs_5623_; lean_object* v_rhs_5624_; lean_object* v_h_x27_5626_; lean_object* v___y_5627_; lean_object* v___y_5628_; lean_object* v___y_5629_; lean_object* v___y_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_; 
v_p_5620_ = lean_ctor_get(v_c_x27_5604_, 0);
lean_inc_ref(v_p_5620_);
v_strict_5621_ = lean_ctor_get_uint8(v_c_x27_5604_, sizeof(void*)*2);
lean_dec_ref(v_c_x27_5604_);
v_e_5622_ = lean_ctor_get(v_h_5619_, 0);
lean_inc_ref(v_e_5622_);
v_lhs_5623_ = lean_ctor_get(v_h_5619_, 1);
lean_inc_ref(v_lhs_5623_);
v_rhs_5624_ = lean_ctor_get(v_h_5619_, 2);
lean_inc_ref(v_rhs_5624_);
lean_dec_ref(v_h_5619_);
if (v_strict_5621_ == 0)
{
lean_object* v___x_5658_; lean_object* v___x_5659_; 
v___x_5658_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__1));
lean_inc_ref(v_a_5605_);
v___x_5659_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix___redArg(v___x_5658_, v_a_5605_, v_a_5607_, v_a_5608_, v_a_5609_, v_a_5610_, v_a_5611_, v_a_5612_, v_a_5613_, v_a_5614_, v_a_5615_, v_a_5616_, v_a_5617_);
if (lean_obj_tag(v___x_5659_) == 0)
{
lean_object* v_a_5660_; 
v_a_5660_ = lean_ctor_get(v___x_5659_, 0);
lean_inc(v_a_5660_);
lean_dec_ref(v___x_5659_);
v_h_x27_5626_ = v_a_5660_;
v___y_5627_ = v_a_5605_;
v___y_5628_ = v_a_5606_;
v___y_5629_ = v_a_5607_;
v___y_5630_ = v_a_5608_;
v___y_5631_ = v_a_5609_;
v___y_5632_ = v_a_5610_;
v___y_5633_ = v_a_5611_;
v___y_5634_ = v_a_5612_;
v___y_5635_ = v_a_5613_;
v___y_5636_ = v_a_5614_;
v___y_5637_ = v_a_5615_;
v___y_5638_ = v_a_5616_;
v___y_5639_ = v_a_5617_;
goto v___jp_5625_;
}
else
{
lean_dec_ref(v_rhs_5624_);
lean_dec_ref(v_lhs_5623_);
lean_dec_ref(v_e_5622_);
lean_dec_ref(v_p_5620_);
lean_dec(v_a_5617_);
lean_dec_ref(v_a_5616_);
lean_dec(v_a_5615_);
lean_dec_ref(v_a_5614_);
lean_dec(v_a_5613_);
lean_dec_ref(v_a_5612_);
lean_dec(v_a_5611_);
lean_dec_ref(v_a_5610_);
lean_dec(v_a_5609_);
lean_dec(v_a_5608_);
lean_dec_ref(v_a_5605_);
return v___x_5659_;
}
}
else
{
lean_object* v___x_5661_; lean_object* v___x_5662_; 
v___x_5661_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__3));
lean_inc_ref(v_a_5605_);
v___x_5662_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix___redArg(v___x_5661_, v_a_5605_, v_a_5607_, v_a_5608_, v_a_5609_, v_a_5610_, v_a_5611_, v_a_5612_, v_a_5613_, v_a_5614_, v_a_5615_, v_a_5616_, v_a_5617_);
if (lean_obj_tag(v___x_5662_) == 0)
{
lean_object* v_a_5663_; 
v_a_5663_ = lean_ctor_get(v___x_5662_, 0);
lean_inc(v_a_5663_);
lean_dec_ref(v___x_5662_);
v_h_x27_5626_ = v_a_5663_;
v___y_5627_ = v_a_5605_;
v___y_5628_ = v_a_5606_;
v___y_5629_ = v_a_5607_;
v___y_5630_ = v_a_5608_;
v___y_5631_ = v_a_5609_;
v___y_5632_ = v_a_5610_;
v___y_5633_ = v_a_5611_;
v___y_5634_ = v_a_5612_;
v___y_5635_ = v_a_5613_;
v___y_5636_ = v_a_5614_;
v___y_5637_ = v_a_5615_;
v___y_5638_ = v_a_5616_;
v___y_5639_ = v_a_5617_;
goto v___jp_5625_;
}
else
{
lean_dec_ref(v_rhs_5624_);
lean_dec_ref(v_lhs_5623_);
lean_dec_ref(v_e_5622_);
lean_dec_ref(v_p_5620_);
lean_dec(v_a_5617_);
lean_dec_ref(v_a_5616_);
lean_dec(v_a_5615_);
lean_dec_ref(v_a_5614_);
lean_dec(v_a_5613_);
lean_dec_ref(v_a_5612_);
lean_dec(v_a_5611_);
lean_dec_ref(v_a_5610_);
lean_dec(v_a_5609_);
lean_dec(v_a_5608_);
lean_dec_ref(v_a_5605_);
return v___x_5662_;
}
}
v___jp_5625_:
{
lean_object* v___x_5640_; 
v___x_5640_ = l_Lean_Meta_Grind_Arith_Linear_mkRingExprDecl(v_lhs_5623_, v___y_5627_, v___y_5628_, v___y_5629_, v___y_5630_, 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_);
if (lean_obj_tag(v___x_5640_) == 0)
{
lean_object* v_a_5641_; lean_object* v___x_5642_; 
v_a_5641_ = lean_ctor_get(v___x_5640_, 0);
lean_inc(v_a_5641_);
lean_dec_ref(v___x_5640_);
v___x_5642_ = l_Lean_Meta_Grind_Arith_Linear_mkRingExprDecl(v_rhs_5624_, v___y_5627_, v___y_5628_, v___y_5629_, v___y_5630_, 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_);
if (lean_obj_tag(v___x_5642_) == 0)
{
lean_object* v_a_5643_; lean_object* v___x_5644_; 
v_a_5643_ = lean_ctor_get(v___x_5642_, 0);
lean_inc(v_a_5643_);
lean_dec_ref(v___x_5642_);
v___x_5644_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_5620_, v___y_5627_, v___y_5628_, v___y_5629_, v___y_5630_, 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_ref(v___y_5627_);
if (lean_obj_tag(v___x_5644_) == 0)
{
lean_object* v_a_5645_; lean_object* v___x_5646_; 
v_a_5645_ = lean_ctor_get(v___x_5644_, 0);
lean_inc(v_a_5645_);
lean_dec_ref(v___x_5644_);
lean_inc_ref(v_e_5622_);
v___x_5646_ = l_Lean_Meta_Grind_mkEqTrueProof(v_e_5622_, v___y_5630_, 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_);
if (lean_obj_tag(v___x_5646_) == 0)
{
lean_object* v_a_5647_; lean_object* v___x_5649_; uint8_t v_isShared_5650_; uint8_t v_isSharedCheck_5657_; 
v_a_5647_ = lean_ctor_get(v___x_5646_, 0);
v_isSharedCheck_5657_ = !lean_is_exclusive(v___x_5646_);
if (v_isSharedCheck_5657_ == 0)
{
v___x_5649_ = v___x_5646_;
v_isShared_5650_ = v_isSharedCheck_5657_;
goto v_resetjp_5648_;
}
else
{
lean_inc(v_a_5647_);
lean_dec(v___x_5646_);
v___x_5649_ = lean_box(0);
v_isShared_5650_ = v_isSharedCheck_5657_;
goto v_resetjp_5648_;
}
v_resetjp_5648_:
{
lean_object* v___x_5651_; lean_object* v___x_5652_; lean_object* v___x_5653_; lean_object* v___x_5655_; 
v___x_5651_ = l_Lean_eagerReflBoolTrue;
v___x_5652_ = l_Lean_Meta_mkOfEqTrueCore(v_e_5622_, v_a_5647_);
v___x_5653_ = l_Lean_mkApp5(v_h_x27_5626_, v_a_5641_, v_a_5643_, v_a_5645_, v___x_5651_, v___x_5652_);
if (v_isShared_5650_ == 0)
{
lean_ctor_set(v___x_5649_, 0, v___x_5653_);
v___x_5655_ = v___x_5649_;
goto v_reusejp_5654_;
}
else
{
lean_object* v_reuseFailAlloc_5656_; 
v_reuseFailAlloc_5656_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5656_, 0, v___x_5653_);
v___x_5655_ = v_reuseFailAlloc_5656_;
goto v_reusejp_5654_;
}
v_reusejp_5654_:
{
return v___x_5655_;
}
}
}
else
{
lean_dec(v_a_5645_);
lean_dec(v_a_5643_);
lean_dec(v_a_5641_);
lean_dec_ref(v_h_x27_5626_);
lean_dec_ref(v_e_5622_);
return v___x_5646_;
}
}
else
{
lean_dec(v_a_5643_);
lean_dec(v_a_5641_);
lean_dec(v___y_5639_);
lean_dec_ref(v___y_5638_);
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_);
lean_dec(v___y_5630_);
lean_dec_ref(v_h_x27_5626_);
lean_dec_ref(v_e_5622_);
return v___x_5644_;
}
}
else
{
lean_dec(v_a_5641_);
lean_dec(v___y_5639_);
lean_dec_ref(v___y_5638_);
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_);
lean_dec(v___y_5630_);
lean_dec_ref(v___y_5627_);
lean_dec_ref(v_h_x27_5626_);
lean_dec_ref(v_e_5622_);
lean_dec_ref(v_p_5620_);
return v___x_5642_;
}
}
else
{
lean_dec(v___y_5639_);
lean_dec_ref(v___y_5638_);
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_);
lean_dec(v___y_5630_);
lean_dec_ref(v___y_5627_);
lean_dec_ref(v_h_x27_5626_);
lean_dec_ref(v_rhs_5624_);
lean_dec_ref(v_e_5622_);
lean_dec_ref(v_p_5620_);
return v___x_5640_;
}
}
}
case 1:
{
lean_object* v_p_5664_; uint8_t v_strict_5665_; lean_object* v_e_5666_; lean_object* v_lhs_5667_; lean_object* v_rhs_5668_; lean_object* v___y_5670_; 
v_p_5664_ = lean_ctor_get(v_c_x27_5604_, 0);
lean_inc_ref(v_p_5664_);
v_strict_5665_ = lean_ctor_get_uint8(v_c_x27_5604_, sizeof(void*)*2);
lean_dec_ref(v_c_x27_5604_);
v_e_5666_ = lean_ctor_get(v_h_5619_, 0);
lean_inc_ref(v_e_5666_);
v_lhs_5667_ = lean_ctor_get(v_h_5619_, 1);
lean_inc_ref(v_lhs_5667_);
v_rhs_5668_ = lean_ctor_get(v_h_5619_, 2);
lean_inc_ref(v_rhs_5668_);
lean_dec_ref(v_h_5619_);
if (v_strict_5665_ == 0)
{
lean_object* v___x_5691_; 
v___x_5691_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__5));
v___y_5670_ = v___x_5691_;
goto v___jp_5669_;
}
else
{
lean_object* v___x_5692_; 
v___x_5692_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__7));
v___y_5670_ = v___x_5692_;
goto v___jp_5669_;
}
v___jp_5669_:
{
lean_object* v___x_5671_; 
lean_inc_ref(v_a_5605_);
v___x_5671_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLinOrdThmPrefix___redArg(v___y_5670_, v_a_5605_, v_a_5607_, v_a_5608_, v_a_5609_, v_a_5610_, v_a_5611_, v_a_5612_, v_a_5613_, v_a_5614_, v_a_5615_, v_a_5616_, v_a_5617_);
if (lean_obj_tag(v___x_5671_) == 0)
{
lean_object* v_a_5672_; lean_object* v___x_5673_; 
v_a_5672_ = lean_ctor_get(v___x_5671_, 0);
lean_inc(v_a_5672_);
lean_dec_ref(v___x_5671_);
v___x_5673_ = l_Lean_Meta_Grind_Arith_Linear_mkRingExprDecl(v_lhs_5667_, v_a_5605_, v_a_5606_, v_a_5607_, v_a_5608_, v_a_5609_, v_a_5610_, v_a_5611_, v_a_5612_, v_a_5613_, v_a_5614_, v_a_5615_, v_a_5616_, v_a_5617_);
if (lean_obj_tag(v___x_5673_) == 0)
{
lean_object* v_a_5674_; lean_object* v___x_5675_; 
v_a_5674_ = lean_ctor_get(v___x_5673_, 0);
lean_inc(v_a_5674_);
lean_dec_ref(v___x_5673_);
v___x_5675_ = l_Lean_Meta_Grind_Arith_Linear_mkRingExprDecl(v_rhs_5668_, v_a_5605_, v_a_5606_, v_a_5607_, v_a_5608_, v_a_5609_, v_a_5610_, v_a_5611_, v_a_5612_, v_a_5613_, v_a_5614_, v_a_5615_, v_a_5616_, v_a_5617_);
if (lean_obj_tag(v___x_5675_) == 0)
{
lean_object* v_a_5676_; lean_object* v___x_5677_; 
v_a_5676_ = lean_ctor_get(v___x_5675_, 0);
lean_inc(v_a_5676_);
lean_dec_ref(v___x_5675_);
v___x_5677_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_5664_, v_a_5605_, v_a_5606_, v_a_5607_, v_a_5608_, v_a_5609_, v_a_5610_, v_a_5611_, v_a_5612_, v_a_5613_, v_a_5614_, v_a_5615_, v_a_5616_, v_a_5617_);
lean_dec_ref(v_a_5605_);
if (lean_obj_tag(v___x_5677_) == 0)
{
lean_object* v_a_5678_; lean_object* v___x_5679_; 
v_a_5678_ = lean_ctor_get(v___x_5677_, 0);
lean_inc(v_a_5678_);
lean_dec_ref(v___x_5677_);
lean_inc_ref(v_e_5666_);
v___x_5679_ = l_Lean_Meta_Grind_mkEqFalseProof(v_e_5666_, v_a_5608_, v_a_5609_, v_a_5610_, v_a_5611_, v_a_5612_, v_a_5613_, v_a_5614_, v_a_5615_, v_a_5616_, v_a_5617_);
if (lean_obj_tag(v___x_5679_) == 0)
{
lean_object* v_a_5680_; lean_object* v___x_5682_; uint8_t v_isShared_5683_; uint8_t v_isSharedCheck_5690_; 
v_a_5680_ = lean_ctor_get(v___x_5679_, 0);
v_isSharedCheck_5690_ = !lean_is_exclusive(v___x_5679_);
if (v_isSharedCheck_5690_ == 0)
{
v___x_5682_ = v___x_5679_;
v_isShared_5683_ = v_isSharedCheck_5690_;
goto v_resetjp_5681_;
}
else
{
lean_inc(v_a_5680_);
lean_dec(v___x_5679_);
v___x_5682_ = lean_box(0);
v_isShared_5683_ = v_isSharedCheck_5690_;
goto v_resetjp_5681_;
}
v_resetjp_5681_:
{
lean_object* v___x_5684_; lean_object* v___x_5685_; lean_object* v___x_5686_; lean_object* v___x_5688_; 
v___x_5684_ = l_Lean_eagerReflBoolTrue;
v___x_5685_ = l_Lean_Meta_mkOfEqFalseCore(v_e_5666_, v_a_5680_);
v___x_5686_ = l_Lean_mkApp5(v_a_5672_, v_a_5674_, v_a_5676_, v_a_5678_, v___x_5684_, v___x_5685_);
if (v_isShared_5683_ == 0)
{
lean_ctor_set(v___x_5682_, 0, v___x_5686_);
v___x_5688_ = v___x_5682_;
goto v_reusejp_5687_;
}
else
{
lean_object* v_reuseFailAlloc_5689_; 
v_reuseFailAlloc_5689_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5689_, 0, v___x_5686_);
v___x_5688_ = v_reuseFailAlloc_5689_;
goto v_reusejp_5687_;
}
v_reusejp_5687_:
{
return v___x_5688_;
}
}
}
else
{
lean_dec(v_a_5678_);
lean_dec(v_a_5676_);
lean_dec(v_a_5674_);
lean_dec(v_a_5672_);
lean_dec_ref(v_e_5666_);
return v___x_5679_;
}
}
else
{
lean_dec(v_a_5676_);
lean_dec(v_a_5674_);
lean_dec(v_a_5672_);
lean_dec_ref(v_e_5666_);
lean_dec(v_a_5617_);
lean_dec_ref(v_a_5616_);
lean_dec(v_a_5615_);
lean_dec_ref(v_a_5614_);
lean_dec(v_a_5613_);
lean_dec_ref(v_a_5612_);
lean_dec(v_a_5611_);
lean_dec_ref(v_a_5610_);
lean_dec(v_a_5609_);
lean_dec(v_a_5608_);
return v___x_5677_;
}
}
else
{
lean_dec(v_a_5674_);
lean_dec(v_a_5672_);
lean_dec_ref(v_e_5666_);
lean_dec_ref(v_p_5664_);
lean_dec(v_a_5617_);
lean_dec_ref(v_a_5616_);
lean_dec(v_a_5615_);
lean_dec_ref(v_a_5614_);
lean_dec(v_a_5613_);
lean_dec_ref(v_a_5612_);
lean_dec(v_a_5611_);
lean_dec_ref(v_a_5610_);
lean_dec(v_a_5609_);
lean_dec(v_a_5608_);
lean_dec_ref(v_a_5605_);
return v___x_5675_;
}
}
else
{
lean_dec(v_a_5672_);
lean_dec_ref(v_rhs_5668_);
lean_dec_ref(v_e_5666_);
lean_dec_ref(v_p_5664_);
lean_dec(v_a_5617_);
lean_dec_ref(v_a_5616_);
lean_dec(v_a_5615_);
lean_dec_ref(v_a_5614_);
lean_dec(v_a_5613_);
lean_dec_ref(v_a_5612_);
lean_dec(v_a_5611_);
lean_dec_ref(v_a_5610_);
lean_dec(v_a_5609_);
lean_dec(v_a_5608_);
lean_dec_ref(v_a_5605_);
return v___x_5673_;
}
}
else
{
lean_dec_ref(v_rhs_5668_);
lean_dec_ref(v_lhs_5667_);
lean_dec_ref(v_e_5666_);
lean_dec_ref(v_p_5664_);
lean_dec(v_a_5617_);
lean_dec_ref(v_a_5616_);
lean_dec(v_a_5615_);
lean_dec_ref(v_a_5614_);
lean_dec(v_a_5613_);
lean_dec_ref(v_a_5612_);
lean_dec(v_a_5611_);
lean_dec_ref(v_a_5610_);
lean_dec(v_a_5609_);
lean_dec(v_a_5608_);
lean_dec_ref(v_a_5605_);
return v___x_5671_;
}
}
}
default: 
{
lean_object* v_p_5693_; lean_object* v_c_5694_; lean_object* v_val_5695_; lean_object* v_x_5696_; lean_object* v_n_5697_; lean_object* v___y_5699_; lean_object* v___y_5700_; lean_object* v___y_5701_; lean_object* v___y_5702_; lean_object* v___y_5703_; lean_object* v_h_x27_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_; lean_object* v___y_5712_; lean_object* v___y_5713_; lean_object* v___y_5714_; lean_object* v___y_5715_; lean_object* v___y_5716_; lean_object* v___y_5717_; lean_object* v___y_5731_; lean_object* v___y_5732_; lean_object* v___y_5733_; lean_object* v___y_5734_; lean_object* v___y_5735_; lean_object* v___y_5736_; lean_object* v___y_5737_; lean_object* v___y_5738_; lean_object* v___y_5739_; lean_object* v___y_5740_; lean_object* v___y_5741_; lean_object* v___y_5742_; lean_object* v___y_5743_; uint8_t v___y_5744_; lean_object* v___y_5745_; lean_object* v___y_5746_; lean_object* v___y_5747_; lean_object* v___y_5748_; lean_object* v___y_5749_; lean_object* v___y_5750_; lean_object* v___y_5751_; lean_object* v___y_5752_; lean_object* v___y_5763_; lean_object* v___y_5764_; lean_object* v___y_5765_; lean_object* v___y_5766_; lean_object* v___y_5767_; lean_object* v___y_5768_; lean_object* v___y_5769_; uint8_t v___y_5770_; lean_object* v___y_5771_; lean_object* v___y_5772_; lean_object* v___y_5773_; lean_object* v___y_5774_; lean_object* v___y_5775_; lean_object* v___y_5776_; lean_object* v___y_5777_; lean_object* v___y_5778_; lean_object* v___y_5779_; lean_object* v___y_5780_; lean_object* v___y_5781_; lean_object* v_p_5801_; uint8_t v_strict_5802_; lean_object* v_h_5804_; lean_object* v___y_5805_; lean_object* v___y_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_; lean_object* v___y_5817_; 
v_p_5693_ = lean_ctor_get(v_c_x27_5604_, 0);
lean_inc_ref(v_p_5693_);
lean_dec_ref(v_c_x27_5604_);
v_c_5694_ = lean_ctor_get(v_h_5619_, 0);
lean_inc_ref(v_c_5694_);
v_val_5695_ = lean_ctor_get(v_h_5619_, 1);
lean_inc(v_val_5695_);
v_x_5696_ = lean_ctor_get(v_h_5619_, 2);
lean_inc(v_x_5696_);
v_n_5697_ = lean_ctor_get(v_h_5619_, 3);
lean_inc(v_n_5697_);
lean_dec_ref(v_h_5619_);
v_p_5801_ = lean_ctor_get(v_c_5694_, 0);
v_strict_5802_ = lean_ctor_get_uint8(v_c_5694_, sizeof(void*)*2);
if (v_strict_5802_ == 0)
{
lean_object* v___x_5837_; lean_object* v___x_5838_; 
v___x_5837_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__26));
lean_inc_ref(v_a_5605_);
v___x_5838_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingPreOrdThmPrefix___redArg(v___x_5837_, v_a_5605_, v_a_5607_, v_a_5608_, v_a_5609_, v_a_5610_, v_a_5611_, v_a_5612_, v_a_5613_, v_a_5614_, v_a_5615_, v_a_5616_, v_a_5617_);
if (lean_obj_tag(v___x_5838_) == 0)
{
lean_object* v_a_5839_; 
v_a_5839_ = lean_ctor_get(v___x_5838_, 0);
lean_inc(v_a_5839_);
lean_dec_ref(v___x_5838_);
v_h_5804_ = v_a_5839_;
v___y_5805_ = v_a_5605_;
v___y_5806_ = v_a_5606_;
v___y_5807_ = v_a_5607_;
v___y_5808_ = v_a_5608_;
v___y_5809_ = v_a_5609_;
v___y_5810_ = v_a_5610_;
v___y_5811_ = v_a_5611_;
v___y_5812_ = v_a_5612_;
v___y_5813_ = v_a_5613_;
v___y_5814_ = v_a_5614_;
v___y_5815_ = v_a_5615_;
v___y_5816_ = v_a_5616_;
v___y_5817_ = v_a_5617_;
goto v___jp_5803_;
}
else
{
lean_dec(v_n_5697_);
lean_dec(v_x_5696_);
lean_dec(v_val_5695_);
lean_dec_ref(v_c_5694_);
lean_dec_ref(v_p_5693_);
lean_dec(v_a_5617_);
lean_dec_ref(v_a_5616_);
lean_dec(v_a_5615_);
lean_dec_ref(v_a_5614_);
lean_dec(v_a_5613_);
lean_dec_ref(v_a_5612_);
lean_dec(v_a_5611_);
lean_dec_ref(v_a_5610_);
lean_dec(v_a_5609_);
lean_dec(v_a_5608_);
lean_dec_ref(v_a_5605_);
return v___x_5838_;
}
}
else
{
lean_object* v___x_5840_; lean_object* v___x_5841_; 
v___x_5840_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__28));
lean_inc_ref(v_a_5605_);
v___x_5841_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLawfulPreOrdThmPrefix___redArg(v___x_5840_, v_a_5605_, v_a_5607_, v_a_5608_, v_a_5609_, v_a_5610_, v_a_5611_, v_a_5612_, v_a_5613_, v_a_5614_, v_a_5615_, v_a_5616_, v_a_5617_);
if (lean_obj_tag(v___x_5841_) == 0)
{
lean_object* v_a_5842_; 
v_a_5842_ = lean_ctor_get(v___x_5841_, 0);
lean_inc(v_a_5842_);
lean_dec_ref(v___x_5841_);
v_h_5804_ = v_a_5842_;
v___y_5805_ = v_a_5605_;
v___y_5806_ = v_a_5606_;
v___y_5807_ = v_a_5607_;
v___y_5808_ = v_a_5608_;
v___y_5809_ = v_a_5609_;
v___y_5810_ = v_a_5610_;
v___y_5811_ = v_a_5611_;
v___y_5812_ = v_a_5612_;
v___y_5813_ = v_a_5613_;
v___y_5814_ = v_a_5614_;
v___y_5815_ = v_a_5615_;
v___y_5816_ = v_a_5616_;
v___y_5817_ = v_a_5617_;
goto v___jp_5803_;
}
else
{
lean_dec(v_n_5697_);
lean_dec(v_x_5696_);
lean_dec(v_val_5695_);
lean_dec_ref(v_c_5694_);
lean_dec_ref(v_p_5693_);
lean_dec(v_a_5617_);
lean_dec_ref(v_a_5616_);
lean_dec(v_a_5615_);
lean_dec_ref(v_a_5614_);
lean_dec(v_a_5613_);
lean_dec_ref(v_a_5612_);
lean_dec(v_a_5611_);
lean_dec_ref(v_a_5610_);
lean_dec(v_a_5609_);
lean_dec(v_a_5608_);
lean_dec_ref(v_a_5605_);
return v___x_5841_;
}
}
v___jp_5698_:
{
lean_object* v___x_5718_; 
v___x_5718_ = l_Lean_Meta_Grind_Arith_Linear_mkRingVarDecl(v_x_5696_, v___y_5705_, v___y_5706_, v___y_5707_, v___y_5708_, v___y_5709_, v___y_5710_, v___y_5711_, v___y_5712_, v___y_5713_, v___y_5714_, v___y_5715_, v___y_5716_, v___y_5717_);
if (lean_obj_tag(v___x_5718_) == 0)
{
lean_object* v_a_5719_; lean_object* v___x_5720_; 
v_a_5719_ = lean_ctor_get(v___x_5718_, 0);
lean_inc(v_a_5719_);
lean_dec_ref(v___x_5718_);
v___x_5720_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_5693_, v___y_5705_, v___y_5706_, v___y_5707_, v___y_5708_, v___y_5709_, v___y_5710_, v___y_5711_, v___y_5712_, v___y_5713_, v___y_5714_, v___y_5715_, v___y_5716_, v___y_5717_);
lean_dec(v___y_5717_);
lean_dec_ref(v___y_5716_);
lean_dec(v___y_5715_);
lean_dec_ref(v___y_5714_);
lean_dec(v___y_5713_);
lean_dec_ref(v___y_5712_);
lean_dec(v___y_5711_);
lean_dec_ref(v___y_5710_);
lean_dec(v___y_5709_);
lean_dec(v___y_5708_);
lean_dec_ref(v___y_5705_);
if (lean_obj_tag(v___x_5720_) == 0)
{
lean_object* v_a_5721_; lean_object* v___x_5723_; uint8_t v_isShared_5724_; uint8_t v_isSharedCheck_5729_; 
v_a_5721_ = lean_ctor_get(v___x_5720_, 0);
v_isSharedCheck_5729_ = !lean_is_exclusive(v___x_5720_);
if (v_isSharedCheck_5729_ == 0)
{
v___x_5723_ = v___x_5720_;
v_isShared_5724_ = v_isSharedCheck_5729_;
goto v_resetjp_5722_;
}
else
{
lean_inc(v_a_5721_);
lean_dec(v___x_5720_);
v___x_5723_ = lean_box(0);
v_isShared_5724_ = v_isSharedCheck_5729_;
goto v_resetjp_5722_;
}
v_resetjp_5722_:
{
lean_object* v___x_5725_; lean_object* v___x_5727_; 
v___x_5725_ = l_Lean_mkApp7(v_h_x27_5704_, v___y_5699_, v_a_5719_, v___y_5702_, v_a_5721_, v___y_5700_, v___y_5703_, v___y_5701_);
if (v_isShared_5724_ == 0)
{
lean_ctor_set(v___x_5723_, 0, v___x_5725_);
v___x_5727_ = v___x_5723_;
goto v_reusejp_5726_;
}
else
{
lean_object* v_reuseFailAlloc_5728_; 
v_reuseFailAlloc_5728_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5728_, 0, v___x_5725_);
v___x_5727_ = v_reuseFailAlloc_5728_;
goto v_reusejp_5726_;
}
v_reusejp_5726_:
{
return v___x_5727_;
}
}
}
else
{
lean_dec(v_a_5719_);
lean_dec_ref(v_h_x27_5704_);
lean_dec_ref(v___y_5703_);
lean_dec_ref(v___y_5702_);
lean_dec_ref(v___y_5701_);
lean_dec_ref(v___y_5700_);
lean_dec_ref(v___y_5699_);
return v___x_5720_;
}
}
else
{
lean_dec(v___y_5717_);
lean_dec_ref(v___y_5716_);
lean_dec(v___y_5715_);
lean_dec_ref(v___y_5714_);
lean_dec(v___y_5713_);
lean_dec_ref(v___y_5712_);
lean_dec(v___y_5711_);
lean_dec_ref(v___y_5710_);
lean_dec(v___y_5709_);
lean_dec(v___y_5708_);
lean_dec_ref(v___y_5705_);
lean_dec_ref(v_h_x27_5704_);
lean_dec_ref(v___y_5703_);
lean_dec_ref(v___y_5702_);
lean_dec_ref(v___y_5701_);
lean_dec_ref(v___y_5700_);
lean_dec_ref(v___y_5699_);
lean_dec_ref(v_p_5693_);
return v___x_5718_;
}
}
v___jp_5730_:
{
lean_object* v___x_5753_; 
lean_inc_ref(v___y_5743_);
lean_inc_ref(v___y_5752_);
v___x_5753_ = l_Lean_mkAppB(v___y_5733_, v___y_5752_, v___y_5743_);
if (v___y_5744_ == 0)
{
lean_object* v___x_5754_; lean_object* v___x_5755_; lean_object* v___x_5756_; 
v___x_5754_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__8));
v___x_5755_ = l_Lean_Name_mkStr4(v___y_5739_, v___y_5734_, v___y_5740_, v___x_5754_);
lean_inc_ref(v___y_5737_);
v___x_5756_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix___redArg(v___x_5755_, v___y_5737_, v___y_5751_, v___y_5732_, v___y_5747_, v___y_5745_, v___y_5731_, v___y_5750_, v___y_5735_, v___y_5748_, v___y_5742_, v___y_5749_, v___y_5746_);
if (lean_obj_tag(v___x_5756_) == 0)
{
lean_object* v_a_5757_; 
v_a_5757_ = lean_ctor_get(v___x_5756_, 0);
lean_inc(v_a_5757_);
lean_dec_ref(v___x_5756_);
v___y_5699_ = v___y_5752_;
v___y_5700_ = v___y_5743_;
v___y_5701_ = v___y_5736_;
v___y_5702_ = v___y_5738_;
v___y_5703_ = v___x_5753_;
v_h_x27_5704_ = v_a_5757_;
v___y_5705_ = v___y_5737_;
v___y_5706_ = v___y_5741_;
v___y_5707_ = v___y_5751_;
v___y_5708_ = v___y_5732_;
v___y_5709_ = v___y_5747_;
v___y_5710_ = v___y_5745_;
v___y_5711_ = v___y_5731_;
v___y_5712_ = v___y_5750_;
v___y_5713_ = v___y_5735_;
v___y_5714_ = v___y_5748_;
v___y_5715_ = v___y_5742_;
v___y_5716_ = v___y_5749_;
v___y_5717_ = v___y_5746_;
goto v___jp_5698_;
}
else
{
lean_dec_ref(v___x_5753_);
lean_dec_ref(v___y_5752_);
lean_dec_ref(v___y_5750_);
lean_dec_ref(v___y_5749_);
lean_dec_ref(v___y_5748_);
lean_dec(v___y_5747_);
lean_dec(v___y_5746_);
lean_dec_ref(v___y_5745_);
lean_dec_ref(v___y_5743_);
lean_dec(v___y_5742_);
lean_dec_ref(v___y_5738_);
lean_dec_ref(v___y_5737_);
lean_dec_ref(v___y_5736_);
lean_dec(v___y_5735_);
lean_dec(v___y_5732_);
lean_dec(v___y_5731_);
lean_dec(v_x_5696_);
lean_dec_ref(v_p_5693_);
return v___x_5756_;
}
}
else
{
lean_object* v___x_5758_; lean_object* v___x_5759_; lean_object* v___x_5760_; 
v___x_5758_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__9));
v___x_5759_ = l_Lean_Name_mkStr4(v___y_5739_, v___y_5734_, v___y_5740_, v___x_5758_);
lean_inc_ref(v___y_5737_);
v___x_5760_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix___redArg(v___x_5759_, v___y_5737_, v___y_5751_, v___y_5732_, v___y_5747_, v___y_5745_, v___y_5731_, v___y_5750_, v___y_5735_, v___y_5748_, v___y_5742_, v___y_5749_, v___y_5746_);
if (lean_obj_tag(v___x_5760_) == 0)
{
lean_object* v_a_5761_; 
v_a_5761_ = lean_ctor_get(v___x_5760_, 0);
lean_inc(v_a_5761_);
lean_dec_ref(v___x_5760_);
v___y_5699_ = v___y_5752_;
v___y_5700_ = v___y_5743_;
v___y_5701_ = v___y_5736_;
v___y_5702_ = v___y_5738_;
v___y_5703_ = v___x_5753_;
v_h_x27_5704_ = v_a_5761_;
v___y_5705_ = v___y_5737_;
v___y_5706_ = v___y_5741_;
v___y_5707_ = v___y_5751_;
v___y_5708_ = v___y_5732_;
v___y_5709_ = v___y_5747_;
v___y_5710_ = v___y_5745_;
v___y_5711_ = v___y_5731_;
v___y_5712_ = v___y_5750_;
v___y_5713_ = v___y_5735_;
v___y_5714_ = v___y_5748_;
v___y_5715_ = v___y_5742_;
v___y_5716_ = v___y_5749_;
v___y_5717_ = v___y_5746_;
goto v___jp_5698_;
}
else
{
lean_dec_ref(v___x_5753_);
lean_dec_ref(v___y_5752_);
lean_dec_ref(v___y_5750_);
lean_dec_ref(v___y_5749_);
lean_dec_ref(v___y_5748_);
lean_dec(v___y_5747_);
lean_dec(v___y_5746_);
lean_dec_ref(v___y_5745_);
lean_dec_ref(v___y_5743_);
lean_dec(v___y_5742_);
lean_dec_ref(v___y_5738_);
lean_dec_ref(v___y_5737_);
lean_dec_ref(v___y_5736_);
lean_dec(v___y_5735_);
lean_dec(v___y_5732_);
lean_dec(v___y_5731_);
lean_dec(v_x_5696_);
lean_dec_ref(v_p_5693_);
return v___x_5760_;
}
}
}
v___jp_5762_:
{
lean_object* v___x_5782_; lean_object* v___x_5783_; lean_object* v___x_5784_; lean_object* v___x_5785_; lean_object* v___x_5786_; 
v___x_5782_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__2));
v___x_5783_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_termDeclare_x21_____00__closed__8));
v___x_5784_ = ((lean_object*)(l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkRingContext___closed__3));
v___x_5785_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__11));
v___x_5786_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg(v___x_5785_, v___y_5780_, v___y_5764_, v___y_5774_, v___y_5772_, v___y_5763_, v___y_5779_, v___y_5765_, v___y_5776_, v___y_5773_, v___y_5777_, v___y_5775_);
if (lean_obj_tag(v___x_5786_) == 0)
{
lean_object* v_a_5787_; lean_object* v___x_5788_; lean_object* v___x_5789_; lean_object* v___x_5790_; uint8_t v___x_5791_; 
v_a_5787_ = lean_ctor_get(v___x_5786_, 0);
lean_inc(v_a_5787_);
lean_dec_ref(v___x_5786_);
v___x_5788_ = l_Lean_eagerReflBoolTrue;
lean_inc_ref(v___y_5769_);
v___x_5789_ = l_Lean_mkApp5(v___y_5768_, v___y_5778_, v___y_5781_, v___y_5769_, v___x_5788_, v___y_5766_);
v___x_5790_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12);
v___x_5791_ = lean_int_dec_le(v___x_5790_, v_val_5695_);
if (v___x_5791_ == 0)
{
lean_object* v___x_5792_; lean_object* v___x_5793_; lean_object* v___x_5794_; lean_object* v___x_5795_; lean_object* v___x_5796_; lean_object* v___x_5797_; lean_object* v___x_5798_; 
v___x_5792_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18);
v___x_5793_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21);
v___x_5794_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24);
v___x_5795_ = lean_int_neg(v_val_5695_);
lean_dec(v_val_5695_);
v___x_5796_ = l_Int_toNat(v___x_5795_);
lean_dec(v___x_5795_);
v___x_5797_ = l_Lean_instToExprInt_mkNat(v___x_5796_);
v___x_5798_ = l_Lean_mkApp3(v___x_5792_, v___x_5793_, v___x_5794_, v___x_5797_);
v___y_5731_ = v___y_5763_;
v___y_5732_ = v___y_5764_;
v___y_5733_ = v_a_5787_;
v___y_5734_ = v___x_5783_;
v___y_5735_ = v___y_5765_;
v___y_5736_ = v___x_5789_;
v___y_5737_ = v___y_5767_;
v___y_5738_ = v___y_5769_;
v___y_5739_ = v___x_5782_;
v___y_5740_ = v___x_5784_;
v___y_5741_ = v___y_5771_;
v___y_5742_ = v___y_5773_;
v___y_5743_ = v___x_5788_;
v___y_5744_ = v___y_5770_;
v___y_5745_ = v___y_5772_;
v___y_5746_ = v___y_5775_;
v___y_5747_ = v___y_5774_;
v___y_5748_ = v___y_5776_;
v___y_5749_ = v___y_5777_;
v___y_5750_ = v___y_5779_;
v___y_5751_ = v___y_5780_;
v___y_5752_ = v___x_5798_;
goto v___jp_5730_;
}
else
{
lean_object* v___x_5799_; lean_object* v___x_5800_; 
v___x_5799_ = l_Int_toNat(v_val_5695_);
lean_dec(v_val_5695_);
v___x_5800_ = l_Lean_instToExprInt_mkNat(v___x_5799_);
v___y_5731_ = v___y_5763_;
v___y_5732_ = v___y_5764_;
v___y_5733_ = v_a_5787_;
v___y_5734_ = v___x_5783_;
v___y_5735_ = v___y_5765_;
v___y_5736_ = v___x_5789_;
v___y_5737_ = v___y_5767_;
v___y_5738_ = v___y_5769_;
v___y_5739_ = v___x_5782_;
v___y_5740_ = v___x_5784_;
v___y_5741_ = v___y_5771_;
v___y_5742_ = v___y_5773_;
v___y_5743_ = v___x_5788_;
v___y_5744_ = v___y_5770_;
v___y_5745_ = v___y_5772_;
v___y_5746_ = v___y_5775_;
v___y_5747_ = v___y_5774_;
v___y_5748_ = v___y_5776_;
v___y_5749_ = v___y_5777_;
v___y_5750_ = v___y_5779_;
v___y_5751_ = v___y_5780_;
v___y_5752_ = v___x_5800_;
goto v___jp_5730_;
}
}
else
{
lean_dec_ref(v___y_5781_);
lean_dec_ref(v___y_5779_);
lean_dec_ref(v___y_5778_);
lean_dec_ref(v___y_5777_);
lean_dec_ref(v___y_5776_);
lean_dec(v___y_5775_);
lean_dec(v___y_5774_);
lean_dec(v___y_5773_);
lean_dec_ref(v___y_5772_);
lean_dec_ref(v___y_5769_);
lean_dec_ref(v___y_5768_);
lean_dec_ref(v___y_5767_);
lean_dec_ref(v___y_5766_);
lean_dec(v___y_5765_);
lean_dec(v___y_5764_);
lean_dec(v___y_5763_);
lean_dec(v_x_5696_);
lean_dec(v_val_5695_);
lean_dec_ref(v_p_5693_);
return v___x_5786_;
}
}
v___jp_5803_:
{
lean_object* v___x_5818_; lean_object* v_p_u2081_5819_; lean_object* v___x_5820_; 
v___x_5818_ = l_Int_pow(v_val_5695_, v_n_5697_);
lean_dec(v_n_5697_);
lean_inc_ref(v_p_5801_);
v_p_u2081_5819_ = l_Lean_Grind_CommRing_Poly_mulConst(v___x_5818_, v_p_5801_);
v___x_5820_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_u2081_5819_, v___y_5805_, v___y_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_, v___y_5816_, v___y_5817_);
if (lean_obj_tag(v___x_5820_) == 0)
{
lean_object* v_a_5821_; lean_object* v___x_5822_; 
v_a_5821_ = lean_ctor_get(v___x_5820_, 0);
lean_inc(v_a_5821_);
lean_dec_ref(v___x_5820_);
lean_inc_ref(v_p_5801_);
v___x_5822_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_5801_, v___y_5805_, v___y_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_, v___y_5816_, v___y_5817_);
if (lean_obj_tag(v___x_5822_) == 0)
{
lean_object* v_a_5823_; lean_object* v___x_5824_; 
v_a_5823_ = lean_ctor_get(v___x_5822_, 0);
lean_inc(v_a_5823_);
lean_dec_ref(v___x_5822_);
lean_inc(v___y_5817_);
lean_inc_ref(v___y_5816_);
lean_inc(v___y_5815_);
lean_inc_ref(v___y_5814_);
lean_inc(v___y_5813_);
lean_inc_ref(v___y_5812_);
lean_inc(v___y_5811_);
lean_inc_ref(v___y_5810_);
lean_inc(v___y_5809_);
lean_inc(v___y_5808_);
lean_inc_ref(v___y_5805_);
v___x_5824_ = l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof(v_c_5694_, v___y_5805_, v___y_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_, v___y_5816_, v___y_5817_);
if (lean_obj_tag(v___x_5824_) == 0)
{
lean_object* v_a_5825_; lean_object* v___x_5826_; uint8_t v___x_5827_; 
v_a_5825_ = lean_ctor_get(v___x_5824_, 0);
lean_inc(v_a_5825_);
lean_dec_ref(v___x_5824_);
v___x_5826_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12);
v___x_5827_ = lean_int_dec_le(v___x_5826_, v___x_5818_);
if (v___x_5827_ == 0)
{
lean_object* v___x_5828_; lean_object* v___x_5829_; lean_object* v___x_5830_; lean_object* v___x_5831_; lean_object* v___x_5832_; lean_object* v___x_5833_; lean_object* v___x_5834_; 
v___x_5828_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18);
v___x_5829_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21);
v___x_5830_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24);
v___x_5831_ = lean_int_neg(v___x_5818_);
lean_dec(v___x_5818_);
v___x_5832_ = l_Int_toNat(v___x_5831_);
lean_dec(v___x_5831_);
v___x_5833_ = l_Lean_instToExprInt_mkNat(v___x_5832_);
v___x_5834_ = l_Lean_mkApp3(v___x_5828_, v___x_5829_, v___x_5830_, v___x_5833_);
v___y_5763_ = v___y_5811_;
v___y_5764_ = v___y_5808_;
v___y_5765_ = v___y_5813_;
v___y_5766_ = v_a_5825_;
v___y_5767_ = v___y_5805_;
v___y_5768_ = v_h_5804_;
v___y_5769_ = v_a_5821_;
v___y_5770_ = v_strict_5802_;
v___y_5771_ = v___y_5806_;
v___y_5772_ = v___y_5810_;
v___y_5773_ = v___y_5815_;
v___y_5774_ = v___y_5809_;
v___y_5775_ = v___y_5817_;
v___y_5776_ = v___y_5814_;
v___y_5777_ = v___y_5816_;
v___y_5778_ = v_a_5823_;
v___y_5779_ = v___y_5812_;
v___y_5780_ = v___y_5807_;
v___y_5781_ = v___x_5834_;
goto v___jp_5762_;
}
else
{
lean_object* v___x_5835_; lean_object* v___x_5836_; 
v___x_5835_ = l_Int_toNat(v___x_5818_);
lean_dec(v___x_5818_);
v___x_5836_ = l_Lean_instToExprInt_mkNat(v___x_5835_);
v___y_5763_ = v___y_5811_;
v___y_5764_ = v___y_5808_;
v___y_5765_ = v___y_5813_;
v___y_5766_ = v_a_5825_;
v___y_5767_ = v___y_5805_;
v___y_5768_ = v_h_5804_;
v___y_5769_ = v_a_5821_;
v___y_5770_ = v_strict_5802_;
v___y_5771_ = v___y_5806_;
v___y_5772_ = v___y_5810_;
v___y_5773_ = v___y_5815_;
v___y_5774_ = v___y_5809_;
v___y_5775_ = v___y_5817_;
v___y_5776_ = v___y_5814_;
v___y_5777_ = v___y_5816_;
v___y_5778_ = v_a_5823_;
v___y_5779_ = v___y_5812_;
v___y_5780_ = v___y_5807_;
v___y_5781_ = v___x_5836_;
goto v___jp_5762_;
}
}
else
{
lean_dec(v_a_5823_);
lean_dec(v_a_5821_);
lean_dec(v___x_5818_);
lean_dec(v___y_5817_);
lean_dec_ref(v___y_5816_);
lean_dec(v___y_5815_);
lean_dec_ref(v___y_5814_);
lean_dec(v___y_5813_);
lean_dec_ref(v___y_5812_);
lean_dec(v___y_5811_);
lean_dec_ref(v___y_5810_);
lean_dec(v___y_5809_);
lean_dec(v___y_5808_);
lean_dec_ref(v___y_5805_);
lean_dec_ref(v_h_5804_);
lean_dec(v_x_5696_);
lean_dec(v_val_5695_);
lean_dec_ref(v_p_5693_);
return v___x_5824_;
}
}
else
{
lean_dec(v_a_5821_);
lean_dec(v___x_5818_);
lean_dec(v___y_5817_);
lean_dec_ref(v___y_5816_);
lean_dec(v___y_5815_);
lean_dec_ref(v___y_5814_);
lean_dec(v___y_5813_);
lean_dec_ref(v___y_5812_);
lean_dec(v___y_5811_);
lean_dec_ref(v___y_5810_);
lean_dec(v___y_5809_);
lean_dec(v___y_5808_);
lean_dec_ref(v___y_5805_);
lean_dec_ref(v_h_5804_);
lean_dec(v_x_5696_);
lean_dec(v_val_5695_);
lean_dec_ref(v_c_5694_);
lean_dec_ref(v_p_5693_);
return v___x_5822_;
}
}
else
{
lean_dec(v___x_5818_);
lean_dec(v___y_5817_);
lean_dec_ref(v___y_5816_);
lean_dec(v___y_5815_);
lean_dec_ref(v___y_5814_);
lean_dec(v___y_5813_);
lean_dec_ref(v___y_5812_);
lean_dec(v___y_5811_);
lean_dec_ref(v___y_5810_);
lean_dec(v___y_5809_);
lean_dec(v___y_5808_);
lean_dec_ref(v___y_5805_);
lean_dec_ref(v_h_5804_);
lean_dec(v_x_5696_);
lean_dec(v_val_5695_);
lean_dec_ref(v_c_5694_);
lean_dec_ref(v_p_5693_);
return v___x_5820_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___boxed(lean_object* v_c_x27_5843_, lean_object* v_a_5844_, lean_object* v_a_5845_, lean_object* v_a_5846_, lean_object* v_a_5847_, lean_object* v_a_5848_, lean_object* v_a_5849_, lean_object* v_a_5850_, lean_object* v_a_5851_, lean_object* v_a_5852_, lean_object* v_a_5853_, lean_object* v_a_5854_, lean_object* v_a_5855_, lean_object* v_a_5856_, lean_object* v_a_5857_){
_start:
{
lean_object* v_res_5858_; 
v_res_5858_ = l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof(v_c_x27_5843_, v_a_5844_, v_a_5845_, v_a_5846_, v_a_5847_, v_a_5848_, v_a_5849_, v_a_5850_, v_a_5851_, v_a_5852_, v_a_5853_, v_a_5854_, v_a_5855_, v_a_5856_);
lean_dec(v_a_5846_);
lean_dec(v_a_5845_);
return v_res_5858_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof(lean_object* v_c_x27_5886_, lean_object* v_a_5887_, lean_object* v_a_5888_, lean_object* v_a_5889_, lean_object* v_a_5890_, lean_object* v_a_5891_, lean_object* v_a_5892_, lean_object* v_a_5893_, lean_object* v_a_5894_, lean_object* v_a_5895_, lean_object* v_a_5896_, lean_object* v_a_5897_, lean_object* v_a_5898_, lean_object* v_a_5899_){
_start:
{
lean_object* v_h_5901_; 
v_h_5901_ = lean_ctor_get(v_c_x27_5886_, 1);
lean_inc_ref(v_h_5901_);
switch(lean_obj_tag(v_h_5901_))
{
case 0:
{
lean_object* v_p_5902_; lean_object* v_a_5903_; lean_object* v_b_5904_; lean_object* v_ra_5905_; lean_object* v_rb_5906_; lean_object* v___x_5907_; lean_object* v___x_5908_; 
v_p_5902_ = lean_ctor_get(v_c_x27_5886_, 0);
lean_inc_ref(v_p_5902_);
lean_dec_ref(v_c_x27_5886_);
v_a_5903_ = lean_ctor_get(v_h_5901_, 0);
lean_inc_ref(v_a_5903_);
v_b_5904_ = lean_ctor_get(v_h_5901_, 1);
lean_inc_ref(v_b_5904_);
v_ra_5905_ = lean_ctor_get(v_h_5901_, 2);
lean_inc_ref(v_ra_5905_);
v_rb_5906_ = lean_ctor_get(v_h_5901_, 3);
lean_inc_ref(v_rb_5906_);
lean_dec_ref(v_h_5901_);
v___x_5907_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__1));
lean_inc_ref(v_a_5887_);
v___x_5908_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg(v___x_5907_, v_a_5887_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5908_) == 0)
{
lean_object* v_a_5909_; lean_object* v___x_5910_; 
v_a_5909_ = lean_ctor_get(v___x_5908_, 0);
lean_inc(v_a_5909_);
lean_dec_ref(v___x_5908_);
v___x_5910_ = l_Lean_Meta_Grind_Arith_Linear_mkRingExprDecl(v_ra_5905_, v_a_5887_, v_a_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5910_) == 0)
{
lean_object* v_a_5911_; lean_object* v___x_5912_; 
v_a_5911_ = lean_ctor_get(v___x_5910_, 0);
lean_inc(v_a_5911_);
lean_dec_ref(v___x_5910_);
v___x_5912_ = l_Lean_Meta_Grind_Arith_Linear_mkRingExprDecl(v_rb_5906_, v_a_5887_, v_a_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5912_) == 0)
{
lean_object* v_a_5913_; lean_object* v___x_5914_; 
v_a_5913_ = lean_ctor_get(v___x_5912_, 0);
lean_inc(v_a_5913_);
lean_dec_ref(v___x_5912_);
v___x_5914_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_5902_, v_a_5887_, v_a_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
lean_dec_ref(v_a_5887_);
if (lean_obj_tag(v___x_5914_) == 0)
{
lean_object* v_a_5915_; lean_object* v___x_5916_; 
v_a_5915_ = lean_ctor_get(v___x_5914_, 0);
lean_inc(v_a_5915_);
lean_dec_ref(v___x_5914_);
v___x_5916_ = lean_grind_mk_eq_proof(v_a_5903_, v_b_5904_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5916_) == 0)
{
lean_object* v_a_5917_; lean_object* v___x_5919_; uint8_t v_isShared_5920_; uint8_t v_isSharedCheck_5926_; 
v_a_5917_ = lean_ctor_get(v___x_5916_, 0);
v_isSharedCheck_5926_ = !lean_is_exclusive(v___x_5916_);
if (v_isSharedCheck_5926_ == 0)
{
v___x_5919_ = v___x_5916_;
v_isShared_5920_ = v_isSharedCheck_5926_;
goto v_resetjp_5918_;
}
else
{
lean_inc(v_a_5917_);
lean_dec(v___x_5916_);
v___x_5919_ = lean_box(0);
v_isShared_5920_ = v_isSharedCheck_5926_;
goto v_resetjp_5918_;
}
v_resetjp_5918_:
{
lean_object* v___x_5921_; lean_object* v___x_5922_; lean_object* v___x_5924_; 
v___x_5921_ = l_Lean_eagerReflBoolTrue;
v___x_5922_ = l_Lean_mkApp5(v_a_5909_, v_a_5911_, v_a_5913_, v_a_5915_, v___x_5921_, v_a_5917_);
if (v_isShared_5920_ == 0)
{
lean_ctor_set(v___x_5919_, 0, v___x_5922_);
v___x_5924_ = v___x_5919_;
goto v_reusejp_5923_;
}
else
{
lean_object* v_reuseFailAlloc_5925_; 
v_reuseFailAlloc_5925_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5925_, 0, v___x_5922_);
v___x_5924_ = v_reuseFailAlloc_5925_;
goto v_reusejp_5923_;
}
v_reusejp_5923_:
{
return v___x_5924_;
}
}
}
else
{
lean_dec(v_a_5915_);
lean_dec(v_a_5913_);
lean_dec(v_a_5911_);
lean_dec(v_a_5909_);
return v___x_5916_;
}
}
else
{
lean_dec(v_a_5913_);
lean_dec(v_a_5911_);
lean_dec(v_a_5909_);
lean_dec_ref(v_b_5904_);
lean_dec_ref(v_a_5903_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
return v___x_5914_;
}
}
else
{
lean_dec(v_a_5911_);
lean_dec(v_a_5909_);
lean_dec_ref(v_b_5904_);
lean_dec_ref(v_a_5903_);
lean_dec_ref(v_p_5902_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5912_;
}
}
else
{
lean_dec(v_a_5909_);
lean_dec_ref(v_rb_5906_);
lean_dec_ref(v_b_5904_);
lean_dec_ref(v_a_5903_);
lean_dec_ref(v_p_5902_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5910_;
}
}
else
{
lean_dec_ref(v_rb_5906_);
lean_dec_ref(v_ra_5905_);
lean_dec_ref(v_b_5904_);
lean_dec_ref(v_a_5903_);
lean_dec_ref(v_p_5902_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5908_;
}
}
case 1:
{
lean_object* v_p_5927_; lean_object* v_c_5928_; lean_object* v___x_5929_; 
v_p_5927_ = lean_ctor_get(v_c_x27_5886_, 0);
lean_inc_ref(v_p_5927_);
lean_dec_ref(v_c_x27_5886_);
v_c_5928_ = lean_ctor_get(v_h_5901_, 0);
lean_inc_ref(v_c_5928_);
lean_dec_ref(v_h_5901_);
lean_inc(v_a_5899_);
lean_inc_ref(v_a_5898_);
lean_inc(v_a_5897_);
lean_inc_ref(v_a_5896_);
lean_inc(v_a_5895_);
lean_inc_ref(v_a_5894_);
lean_inc(v_a_5893_);
lean_inc_ref(v_a_5892_);
lean_inc(v_a_5891_);
lean_inc(v_a_5890_);
lean_inc_ref(v_a_5887_);
lean_inc_ref(v_c_5928_);
v___x_5929_ = l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof(v_c_5928_, v_a_5887_, v_a_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5929_) == 0)
{
lean_object* v_a_5930_; lean_object* v___x_5931_; lean_object* v___x_5932_; 
v_a_5930_ = lean_ctor_get(v___x_5929_, 0);
lean_inc(v_a_5930_);
lean_dec_ref(v___x_5929_);
v___x_5931_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__4));
lean_inc_ref(v_a_5887_);
v___x_5932_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg(v___x_5931_, v_a_5887_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5932_) == 0)
{
lean_object* v_a_5933_; lean_object* v_p_5934_; lean_object* v___x_5935_; 
v_a_5933_ = lean_ctor_get(v___x_5932_, 0);
lean_inc(v_a_5933_);
lean_dec_ref(v___x_5932_);
v_p_5934_ = lean_ctor_get(v_c_5928_, 0);
lean_inc_ref(v_p_5934_);
lean_dec_ref(v_c_5928_);
v___x_5935_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_5934_, v_a_5887_, v_a_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5935_) == 0)
{
lean_object* v_a_5936_; lean_object* v___x_5937_; 
v_a_5936_ = lean_ctor_get(v___x_5935_, 0);
lean_inc(v_a_5936_);
lean_dec_ref(v___x_5935_);
v___x_5937_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_5927_, v_a_5887_, v_a_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
if (lean_obj_tag(v___x_5937_) == 0)
{
lean_object* v_a_5938_; lean_object* v___x_5940_; uint8_t v_isShared_5941_; uint8_t v_isSharedCheck_5947_; 
v_a_5938_ = lean_ctor_get(v___x_5937_, 0);
v_isSharedCheck_5947_ = !lean_is_exclusive(v___x_5937_);
if (v_isSharedCheck_5947_ == 0)
{
v___x_5940_ = v___x_5937_;
v_isShared_5941_ = v_isSharedCheck_5947_;
goto v_resetjp_5939_;
}
else
{
lean_inc(v_a_5938_);
lean_dec(v___x_5937_);
v___x_5940_ = lean_box(0);
v_isShared_5941_ = v_isSharedCheck_5947_;
goto v_resetjp_5939_;
}
v_resetjp_5939_:
{
lean_object* v___x_5942_; lean_object* v___x_5943_; lean_object* v___x_5945_; 
v___x_5942_ = l_Lean_eagerReflBoolTrue;
v___x_5943_ = l_Lean_mkApp4(v_a_5933_, v_a_5936_, v_a_5938_, v___x_5942_, v_a_5930_);
if (v_isShared_5941_ == 0)
{
lean_ctor_set(v___x_5940_, 0, v___x_5943_);
v___x_5945_ = v___x_5940_;
goto v_reusejp_5944_;
}
else
{
lean_object* v_reuseFailAlloc_5946_; 
v_reuseFailAlloc_5946_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5946_, 0, v___x_5943_);
v___x_5945_ = v_reuseFailAlloc_5946_;
goto v_reusejp_5944_;
}
v_reusejp_5944_:
{
return v___x_5945_;
}
}
}
else
{
lean_dec(v_a_5936_);
lean_dec(v_a_5933_);
lean_dec(v_a_5930_);
return v___x_5937_;
}
}
else
{
lean_dec(v_a_5933_);
lean_dec(v_a_5930_);
lean_dec_ref(v_p_5927_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5935_;
}
}
else
{
lean_dec(v_a_5930_);
lean_dec_ref(v_c_5928_);
lean_dec_ref(v_p_5927_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5932_;
}
}
else
{
lean_dec_ref(v_c_5928_);
lean_dec_ref(v_p_5927_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5929_;
}
}
default: 
{
lean_object* v_p_5948_; lean_object* v_c_5949_; lean_object* v_val_5950_; lean_object* v_x_5951_; lean_object* v_n_5952_; lean_object* v___x_5953_; lean_object* v___x_5954_; 
v_p_5948_ = lean_ctor_get(v_c_x27_5886_, 0);
lean_inc_ref(v_p_5948_);
lean_dec_ref(v_c_x27_5886_);
v_c_5949_ = lean_ctor_get(v_h_5901_, 0);
lean_inc_ref(v_c_5949_);
v_val_5950_ = lean_ctor_get(v_h_5901_, 1);
lean_inc(v_val_5950_);
v_x_5951_ = lean_ctor_get(v_h_5901_, 2);
lean_inc(v_x_5951_);
v_n_5952_ = lean_ctor_get(v_h_5901_, 3);
lean_inc(v_n_5952_);
lean_dec_ref(v_h_5901_);
v___x_5953_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__6));
lean_inc_ref(v_a_5887_);
v___x_5954_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg(v___x_5953_, v_a_5887_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5954_) == 0)
{
lean_object* v_a_5955_; lean_object* v_p_5956_; lean_object* v___x_5957_; lean_object* v___x_5958_; lean_object* v___x_5959_; 
v_a_5955_ = lean_ctor_get(v___x_5954_, 0);
lean_inc(v_a_5955_);
lean_dec_ref(v___x_5954_);
v_p_5956_ = lean_ctor_get(v_c_5949_, 0);
v___x_5957_ = l_Int_pow(v_val_5950_, v_n_5952_);
lean_dec(v_n_5952_);
lean_inc_ref(v_p_5956_);
v___x_5958_ = l_Lean_Grind_CommRing_Poly_mulConst(v___x_5957_, v_p_5956_);
v___x_5959_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v___x_5958_, v_a_5887_, v_a_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5959_) == 0)
{
lean_object* v_a_5960_; lean_object* v___y_5962_; lean_object* v___y_5963_; lean_object* v___y_5964_; lean_object* v___y_5965_; lean_object* v___x_5982_; 
v_a_5960_ = lean_ctor_get(v___x_5959_, 0);
lean_inc(v_a_5960_);
lean_dec_ref(v___x_5959_);
lean_inc_ref(v_p_5956_);
v___x_5982_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_5956_, v_a_5887_, v_a_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5982_) == 0)
{
lean_object* v_a_5983_; lean_object* v___x_5984_; 
v_a_5983_ = lean_ctor_get(v___x_5982_, 0);
lean_inc(v_a_5983_);
lean_dec_ref(v___x_5982_);
lean_inc(v_a_5899_);
lean_inc_ref(v_a_5898_);
lean_inc(v_a_5897_);
lean_inc_ref(v_a_5896_);
lean_inc(v_a_5895_);
lean_inc_ref(v_a_5894_);
lean_inc(v_a_5893_);
lean_inc_ref(v_a_5892_);
lean_inc(v_a_5891_);
lean_inc(v_a_5890_);
lean_inc_ref(v_a_5887_);
v___x_5984_ = l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof(v_c_5949_, v_a_5887_, v_a_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5984_) == 0)
{
lean_object* v_a_5985_; lean_object* v___y_5987_; lean_object* v___x_6004_; uint8_t v___x_6005_; 
v_a_5985_ = lean_ctor_get(v___x_5984_, 0);
lean_inc(v_a_5985_);
lean_dec_ref(v___x_5984_);
v___x_6004_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12);
v___x_6005_ = lean_int_dec_le(v___x_6004_, v___x_5957_);
if (v___x_6005_ == 0)
{
lean_object* v___x_6006_; lean_object* v___x_6007_; lean_object* v___x_6008_; lean_object* v___x_6009_; lean_object* v___x_6010_; lean_object* v___x_6011_; lean_object* v___x_6012_; 
v___x_6006_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18);
v___x_6007_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21);
v___x_6008_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24);
v___x_6009_ = lean_int_neg(v___x_5957_);
lean_dec(v___x_5957_);
v___x_6010_ = l_Int_toNat(v___x_6009_);
lean_dec(v___x_6009_);
v___x_6011_ = l_Lean_instToExprInt_mkNat(v___x_6010_);
v___x_6012_ = l_Lean_mkApp3(v___x_6006_, v___x_6007_, v___x_6008_, v___x_6011_);
v___y_5987_ = v___x_6012_;
goto v___jp_5986_;
}
else
{
lean_object* v___x_6013_; lean_object* v___x_6014_; 
v___x_6013_ = l_Int_toNat(v___x_5957_);
lean_dec(v___x_5957_);
v___x_6014_ = l_Lean_instToExprInt_mkNat(v___x_6013_);
v___y_5987_ = v___x_6014_;
goto v___jp_5986_;
}
v___jp_5986_:
{
lean_object* v___x_5988_; lean_object* v___x_5989_; 
v___x_5988_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__11));
v___x_5989_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg(v___x_5988_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5989_) == 0)
{
lean_object* v_a_5990_; lean_object* v___x_5991_; lean_object* v___x_5992_; lean_object* v___x_5993_; uint8_t v___x_5994_; 
v_a_5990_ = lean_ctor_get(v___x_5989_, 0);
lean_inc(v_a_5990_);
lean_dec_ref(v___x_5989_);
v___x_5991_ = l_Lean_eagerReflBoolTrue;
lean_inc(v_a_5960_);
v___x_5992_ = l_Lean_mkApp5(v_a_5955_, v_a_5983_, v___y_5987_, v_a_5960_, v___x_5991_, v_a_5985_);
v___x_5993_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12);
v___x_5994_ = lean_int_dec_le(v___x_5993_, v_val_5950_);
if (v___x_5994_ == 0)
{
lean_object* v___x_5995_; lean_object* v___x_5996_; lean_object* v___x_5997_; lean_object* v___x_5998_; lean_object* v___x_5999_; lean_object* v___x_6000_; lean_object* v___x_6001_; 
v___x_5995_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18);
v___x_5996_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21);
v___x_5997_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24);
v___x_5998_ = lean_int_neg(v_val_5950_);
lean_dec(v_val_5950_);
v___x_5999_ = l_Int_toNat(v___x_5998_);
lean_dec(v___x_5998_);
v___x_6000_ = l_Lean_instToExprInt_mkNat(v___x_5999_);
v___x_6001_ = l_Lean_mkApp3(v___x_5995_, v___x_5996_, v___x_5997_, v___x_6000_);
v___y_5962_ = v_a_5990_;
v___y_5963_ = v___x_5991_;
v___y_5964_ = v___x_5992_;
v___y_5965_ = v___x_6001_;
goto v___jp_5961_;
}
else
{
lean_object* v___x_6002_; lean_object* v___x_6003_; 
v___x_6002_ = l_Int_toNat(v_val_5950_);
lean_dec(v_val_5950_);
v___x_6003_ = l_Lean_instToExprInt_mkNat(v___x_6002_);
v___y_5962_ = v_a_5990_;
v___y_5963_ = v___x_5991_;
v___y_5964_ = v___x_5992_;
v___y_5965_ = v___x_6003_;
goto v___jp_5961_;
}
}
else
{
lean_dec_ref(v___y_5987_);
lean_dec(v_a_5985_);
lean_dec(v_a_5983_);
lean_dec(v_a_5960_);
lean_dec(v_a_5955_);
lean_dec(v_x_5951_);
lean_dec(v_val_5950_);
lean_dec_ref(v_p_5948_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5989_;
}
}
}
else
{
lean_dec(v_a_5983_);
lean_dec(v_a_5960_);
lean_dec(v___x_5957_);
lean_dec(v_a_5955_);
lean_dec(v_x_5951_);
lean_dec(v_val_5950_);
lean_dec_ref(v_p_5948_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5984_;
}
}
else
{
lean_dec(v_a_5960_);
lean_dec(v___x_5957_);
lean_dec(v_a_5955_);
lean_dec(v_x_5951_);
lean_dec(v_val_5950_);
lean_dec_ref(v_c_5949_);
lean_dec_ref(v_p_5948_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5982_;
}
v___jp_5961_:
{
lean_object* v___x_5966_; lean_object* v___x_5967_; 
v___x_5966_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___closed__8));
lean_inc_ref(v_a_5887_);
v___x_5967_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg(v___x_5966_, v_a_5887_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5967_) == 0)
{
lean_object* v_a_5968_; lean_object* v___x_5969_; 
v_a_5968_ = lean_ctor_get(v___x_5967_, 0);
lean_inc(v_a_5968_);
lean_dec_ref(v___x_5967_);
v___x_5969_ = l_Lean_Meta_Grind_Arith_Linear_mkRingVarDecl(v_x_5951_, v_a_5887_, v_a_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
if (lean_obj_tag(v___x_5969_) == 0)
{
lean_object* v_a_5970_; lean_object* v___x_5971_; 
v_a_5970_ = lean_ctor_get(v___x_5969_, 0);
lean_inc(v_a_5970_);
lean_dec_ref(v___x_5969_);
v___x_5971_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_5948_, v_a_5887_, v_a_5888_, v_a_5889_, v_a_5890_, v_a_5891_, v_a_5892_, v_a_5893_, v_a_5894_, v_a_5895_, v_a_5896_, v_a_5897_, v_a_5898_, v_a_5899_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
if (lean_obj_tag(v___x_5971_) == 0)
{
lean_object* v_a_5972_; lean_object* v___x_5974_; uint8_t v_isShared_5975_; uint8_t v_isSharedCheck_5981_; 
v_a_5972_ = lean_ctor_get(v___x_5971_, 0);
v_isSharedCheck_5981_ = !lean_is_exclusive(v___x_5971_);
if (v_isSharedCheck_5981_ == 0)
{
v___x_5974_ = v___x_5971_;
v_isShared_5975_ = v_isSharedCheck_5981_;
goto v_resetjp_5973_;
}
else
{
lean_inc(v_a_5972_);
lean_dec(v___x_5971_);
v___x_5974_ = lean_box(0);
v_isShared_5975_ = v_isSharedCheck_5981_;
goto v_resetjp_5973_;
}
v_resetjp_5973_:
{
lean_object* v___x_5976_; lean_object* v___x_5977_; lean_object* v___x_5979_; 
lean_inc_ref(v___y_5963_);
lean_inc_ref(v___y_5965_);
v___x_5976_ = l_Lean_mkAppB(v___y_5962_, v___y_5965_, v___y_5963_);
v___x_5977_ = l_Lean_mkApp7(v_a_5968_, v___y_5965_, v_a_5970_, v_a_5960_, v_a_5972_, v___y_5963_, v___x_5976_, v___y_5964_);
if (v_isShared_5975_ == 0)
{
lean_ctor_set(v___x_5974_, 0, v___x_5977_);
v___x_5979_ = v___x_5974_;
goto v_reusejp_5978_;
}
else
{
lean_object* v_reuseFailAlloc_5980_; 
v_reuseFailAlloc_5980_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_5980_, 0, v___x_5977_);
v___x_5979_ = v_reuseFailAlloc_5980_;
goto v_reusejp_5978_;
}
v_reusejp_5978_:
{
return v___x_5979_;
}
}
}
else
{
lean_dec(v_a_5970_);
lean_dec(v_a_5968_);
lean_dec_ref(v___y_5965_);
lean_dec_ref(v___y_5964_);
lean_dec_ref(v___y_5963_);
lean_dec_ref(v___y_5962_);
lean_dec(v_a_5960_);
return v___x_5971_;
}
}
else
{
lean_dec(v_a_5968_);
lean_dec_ref(v___y_5965_);
lean_dec_ref(v___y_5964_);
lean_dec_ref(v___y_5963_);
lean_dec_ref(v___y_5962_);
lean_dec(v_a_5960_);
lean_dec_ref(v_p_5948_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5969_;
}
}
else
{
lean_dec_ref(v___y_5965_);
lean_dec_ref(v___y_5964_);
lean_dec_ref(v___y_5963_);
lean_dec_ref(v___y_5962_);
lean_dec(v_a_5960_);
lean_dec(v_x_5951_);
lean_dec_ref(v_p_5948_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5967_;
}
}
}
else
{
lean_dec(v___x_5957_);
lean_dec(v_a_5955_);
lean_dec(v_x_5951_);
lean_dec(v_val_5950_);
lean_dec_ref(v_c_5949_);
lean_dec_ref(v_p_5948_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5959_;
}
}
else
{
lean_dec(v_n_5952_);
lean_dec(v_x_5951_);
lean_dec(v_val_5950_);
lean_dec_ref(v_c_5949_);
lean_dec_ref(v_p_5948_);
lean_dec(v_a_5899_);
lean_dec_ref(v_a_5898_);
lean_dec(v_a_5897_);
lean_dec_ref(v_a_5896_);
lean_dec(v_a_5895_);
lean_dec_ref(v_a_5894_);
lean_dec(v_a_5893_);
lean_dec_ref(v_a_5892_);
lean_dec(v_a_5891_);
lean_dec(v_a_5890_);
lean_dec_ref(v_a_5887_);
return v___x_5954_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof___boxed(lean_object* v_c_x27_6015_, lean_object* v_a_6016_, lean_object* v_a_6017_, lean_object* v_a_6018_, lean_object* v_a_6019_, lean_object* v_a_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_){
_start:
{
lean_object* v_res_6030_; 
v_res_6030_ = l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof(v_c_x27_6015_, v_a_6016_, v_a_6017_, v_a_6018_, v_a_6019_, v_a_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_);
lean_dec(v_a_6018_);
lean_dec(v_a_6017_);
return v_res_6030_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof(lean_object* v_c_x27_6050_, lean_object* v_a_6051_, lean_object* v_a_6052_, lean_object* v_a_6053_, lean_object* v_a_6054_, lean_object* v_a_6055_, lean_object* v_a_6056_, lean_object* v_a_6057_, lean_object* v_a_6058_, lean_object* v_a_6059_, lean_object* v_a_6060_, lean_object* v_a_6061_, lean_object* v_a_6062_, lean_object* v_a_6063_){
_start:
{
lean_object* v_h_6065_; 
v_h_6065_ = lean_ctor_get(v_c_x27_6050_, 1);
lean_inc_ref(v_h_6065_);
if (lean_obj_tag(v_h_6065_) == 0)
{
lean_object* v_p_6066_; lean_object* v_a_6067_; lean_object* v_b_6068_; lean_object* v_ra_6069_; lean_object* v_rb_6070_; lean_object* v___x_6071_; lean_object* v___x_6072_; 
v_p_6066_ = lean_ctor_get(v_c_x27_6050_, 0);
lean_inc_ref(v_p_6066_);
lean_dec_ref(v_c_x27_6050_);
v_a_6067_ = lean_ctor_get(v_h_6065_, 0);
lean_inc_ref(v_a_6067_);
v_b_6068_ = lean_ctor_get(v_h_6065_, 1);
lean_inc_ref(v_b_6068_);
v_ra_6069_ = lean_ctor_get(v_h_6065_, 2);
lean_inc_ref(v_ra_6069_);
v_rb_6070_ = lean_ctor_get(v_h_6065_, 3);
lean_inc_ref(v_rb_6070_);
lean_dec_ref(v_h_6065_);
v___x_6071_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__1));
lean_inc_ref(v_a_6051_);
v___x_6072_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg(v___x_6071_, v_a_6051_, v_a_6053_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
if (lean_obj_tag(v___x_6072_) == 0)
{
lean_object* v_a_6073_; lean_object* v___x_6074_; 
v_a_6073_ = lean_ctor_get(v___x_6072_, 0);
lean_inc(v_a_6073_);
lean_dec_ref(v___x_6072_);
v___x_6074_ = l_Lean_Meta_Grind_Arith_Linear_mkRingExprDecl(v_ra_6069_, v_a_6051_, v_a_6052_, v_a_6053_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
if (lean_obj_tag(v___x_6074_) == 0)
{
lean_object* v_a_6075_; lean_object* v___x_6076_; 
v_a_6075_ = lean_ctor_get(v___x_6074_, 0);
lean_inc(v_a_6075_);
lean_dec_ref(v___x_6074_);
v___x_6076_ = l_Lean_Meta_Grind_Arith_Linear_mkRingExprDecl(v_rb_6070_, v_a_6051_, v_a_6052_, v_a_6053_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
if (lean_obj_tag(v___x_6076_) == 0)
{
lean_object* v_a_6077_; lean_object* v___x_6078_; 
v_a_6077_ = lean_ctor_get(v___x_6076_, 0);
lean_inc(v_a_6077_);
lean_dec_ref(v___x_6076_);
v___x_6078_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_6066_, v_a_6051_, v_a_6052_, v_a_6053_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
lean_dec_ref(v_a_6051_);
if (lean_obj_tag(v___x_6078_) == 0)
{
lean_object* v_a_6079_; lean_object* v___x_6080_; 
v_a_6079_ = lean_ctor_get(v___x_6078_, 0);
lean_inc(v_a_6079_);
lean_dec_ref(v___x_6078_);
v___x_6080_ = l_Lean_Meta_Grind_mkDiseqProof(v_a_6067_, v_b_6068_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
if (lean_obj_tag(v___x_6080_) == 0)
{
lean_object* v_a_6081_; lean_object* v___x_6083_; uint8_t v_isShared_6084_; uint8_t v_isSharedCheck_6090_; 
v_a_6081_ = lean_ctor_get(v___x_6080_, 0);
v_isSharedCheck_6090_ = !lean_is_exclusive(v___x_6080_);
if (v_isSharedCheck_6090_ == 0)
{
v___x_6083_ = v___x_6080_;
v_isShared_6084_ = v_isSharedCheck_6090_;
goto v_resetjp_6082_;
}
else
{
lean_inc(v_a_6081_);
lean_dec(v___x_6080_);
v___x_6083_ = lean_box(0);
v_isShared_6084_ = v_isSharedCheck_6090_;
goto v_resetjp_6082_;
}
v_resetjp_6082_:
{
lean_object* v___x_6085_; lean_object* v___x_6086_; lean_object* v___x_6088_; 
v___x_6085_ = l_Lean_eagerReflBoolTrue;
v___x_6086_ = l_Lean_mkApp5(v_a_6073_, v_a_6075_, v_a_6077_, v_a_6079_, v___x_6085_, v_a_6081_);
if (v_isShared_6084_ == 0)
{
lean_ctor_set(v___x_6083_, 0, v___x_6086_);
v___x_6088_ = v___x_6083_;
goto v_reusejp_6087_;
}
else
{
lean_object* v_reuseFailAlloc_6089_; 
v_reuseFailAlloc_6089_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6089_, 0, v___x_6086_);
v___x_6088_ = v_reuseFailAlloc_6089_;
goto v_reusejp_6087_;
}
v_reusejp_6087_:
{
return v___x_6088_;
}
}
}
else
{
lean_dec(v_a_6079_);
lean_dec(v_a_6077_);
lean_dec(v_a_6075_);
lean_dec(v_a_6073_);
return v___x_6080_;
}
}
else
{
lean_dec(v_a_6077_);
lean_dec(v_a_6075_);
lean_dec(v_a_6073_);
lean_dec_ref(v_b_6068_);
lean_dec_ref(v_a_6067_);
lean_dec(v_a_6063_);
lean_dec_ref(v_a_6062_);
lean_dec(v_a_6061_);
lean_dec_ref(v_a_6060_);
lean_dec(v_a_6059_);
lean_dec_ref(v_a_6058_);
lean_dec(v_a_6057_);
lean_dec_ref(v_a_6056_);
lean_dec(v_a_6055_);
lean_dec(v_a_6054_);
return v___x_6078_;
}
}
else
{
lean_dec(v_a_6075_);
lean_dec(v_a_6073_);
lean_dec_ref(v_b_6068_);
lean_dec_ref(v_a_6067_);
lean_dec_ref(v_p_6066_);
lean_dec(v_a_6063_);
lean_dec_ref(v_a_6062_);
lean_dec(v_a_6061_);
lean_dec_ref(v_a_6060_);
lean_dec(v_a_6059_);
lean_dec_ref(v_a_6058_);
lean_dec(v_a_6057_);
lean_dec_ref(v_a_6056_);
lean_dec(v_a_6055_);
lean_dec(v_a_6054_);
lean_dec_ref(v_a_6051_);
return v___x_6076_;
}
}
else
{
lean_dec(v_a_6073_);
lean_dec_ref(v_rb_6070_);
lean_dec_ref(v_b_6068_);
lean_dec_ref(v_a_6067_);
lean_dec_ref(v_p_6066_);
lean_dec(v_a_6063_);
lean_dec_ref(v_a_6062_);
lean_dec(v_a_6061_);
lean_dec_ref(v_a_6060_);
lean_dec(v_a_6059_);
lean_dec_ref(v_a_6058_);
lean_dec(v_a_6057_);
lean_dec_ref(v_a_6056_);
lean_dec(v_a_6055_);
lean_dec(v_a_6054_);
lean_dec_ref(v_a_6051_);
return v___x_6074_;
}
}
else
{
lean_dec_ref(v_rb_6070_);
lean_dec_ref(v_ra_6069_);
lean_dec_ref(v_b_6068_);
lean_dec_ref(v_a_6067_);
lean_dec_ref(v_p_6066_);
lean_dec(v_a_6063_);
lean_dec_ref(v_a_6062_);
lean_dec(v_a_6061_);
lean_dec_ref(v_a_6060_);
lean_dec(v_a_6059_);
lean_dec_ref(v_a_6058_);
lean_dec(v_a_6057_);
lean_dec_ref(v_a_6056_);
lean_dec(v_a_6055_);
lean_dec(v_a_6054_);
lean_dec_ref(v_a_6051_);
return v___x_6072_;
}
}
else
{
lean_object* v_p_6091_; lean_object* v_c_6092_; lean_object* v_val_6093_; lean_object* v_x_6094_; lean_object* v_n_6095_; lean_object* v___x_6096_; lean_object* v___x_6097_; 
v_p_6091_ = lean_ctor_get(v_c_x27_6050_, 0);
lean_inc_ref(v_p_6091_);
lean_dec_ref(v_c_x27_6050_);
v_c_6092_ = lean_ctor_get(v_h_6065_, 0);
lean_inc_ref(v_c_6092_);
v_val_6093_ = lean_ctor_get(v_h_6065_, 1);
lean_inc(v_val_6093_);
v_x_6094_ = lean_ctor_get(v_h_6065_, 2);
lean_inc(v_x_6094_);
v_n_6095_ = lean_ctor_get(v_h_6065_, 3);
lean_inc(v_n_6095_);
lean_dec_ref(v_h_6065_);
v___x_6096_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__3));
lean_inc_ref(v_a_6051_);
v___x_6097_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingNoNatDivThmPrefix___redArg(v___x_6096_, v_a_6051_, v_a_6053_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
if (lean_obj_tag(v___x_6097_) == 0)
{
lean_object* v_a_6098_; lean_object* v_p_6099_; lean_object* v___x_6100_; lean_object* v___x_6101_; lean_object* v___x_6102_; 
v_a_6098_ = lean_ctor_get(v___x_6097_, 0);
lean_inc(v_a_6098_);
lean_dec_ref(v___x_6097_);
v_p_6099_ = lean_ctor_get(v_c_6092_, 0);
v___x_6100_ = l_Int_pow(v_val_6093_, v_n_6095_);
lean_dec(v_n_6095_);
lean_inc_ref(v_p_6099_);
v___x_6101_ = l_Lean_Grind_CommRing_Poly_mulConst(v___x_6100_, v_p_6099_);
v___x_6102_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v___x_6101_, v_a_6051_, v_a_6052_, v_a_6053_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
if (lean_obj_tag(v___x_6102_) == 0)
{
lean_object* v_a_6103_; lean_object* v___y_6105_; lean_object* v___y_6106_; lean_object* v___y_6107_; lean_object* v___y_6108_; lean_object* v___x_6125_; 
v_a_6103_ = lean_ctor_get(v___x_6102_, 0);
lean_inc(v_a_6103_);
lean_dec_ref(v___x_6102_);
lean_inc_ref(v_p_6099_);
v___x_6125_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_6099_, v_a_6051_, v_a_6052_, v_a_6053_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
if (lean_obj_tag(v___x_6125_) == 0)
{
lean_object* v_a_6126_; lean_object* v___x_6127_; 
v_a_6126_ = lean_ctor_get(v___x_6125_, 0);
lean_inc(v_a_6126_);
lean_dec_ref(v___x_6125_);
lean_inc(v_a_6063_);
lean_inc_ref(v_a_6062_);
lean_inc(v_a_6061_);
lean_inc_ref(v_a_6060_);
lean_inc(v_a_6059_);
lean_inc_ref(v_a_6058_);
lean_inc(v_a_6057_);
lean_inc_ref(v_a_6056_);
lean_inc(v_a_6055_);
lean_inc(v_a_6054_);
lean_inc_ref(v_a_6051_);
v___x_6127_ = l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof(v_c_6092_, v_a_6051_, v_a_6052_, v_a_6053_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
if (lean_obj_tag(v___x_6127_) == 0)
{
lean_object* v_a_6128_; lean_object* v___y_6130_; lean_object* v___x_6147_; uint8_t v___x_6148_; 
v_a_6128_ = lean_ctor_get(v___x_6127_, 0);
lean_inc(v_a_6128_);
lean_dec_ref(v___x_6127_);
v___x_6147_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12);
v___x_6148_ = lean_int_dec_le(v___x_6147_, v___x_6100_);
if (v___x_6148_ == 0)
{
lean_object* v___x_6149_; lean_object* v___x_6150_; lean_object* v___x_6151_; lean_object* v___x_6152_; lean_object* v___x_6153_; lean_object* v___x_6154_; lean_object* v___x_6155_; 
v___x_6149_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18);
v___x_6150_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21);
v___x_6151_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24);
v___x_6152_ = lean_int_neg(v___x_6100_);
lean_dec(v___x_6100_);
v___x_6153_ = l_Int_toNat(v___x_6152_);
lean_dec(v___x_6152_);
v___x_6154_ = l_Lean_instToExprInt_mkNat(v___x_6153_);
v___x_6155_ = l_Lean_mkApp3(v___x_6149_, v___x_6150_, v___x_6151_, v___x_6154_);
v___y_6130_ = v___x_6155_;
goto v___jp_6129_;
}
else
{
lean_object* v___x_6156_; lean_object* v___x_6157_; 
v___x_6156_ = l_Int_toNat(v___x_6100_);
lean_dec(v___x_6100_);
v___x_6157_ = l_Lean_instToExprInt_mkNat(v___x_6156_);
v___y_6130_ = v___x_6157_;
goto v___jp_6129_;
}
v___jp_6129_:
{
lean_object* v___x_6131_; lean_object* v___x_6132_; 
v___x_6131_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__11));
v___x_6132_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg(v___x_6131_, v_a_6053_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
if (lean_obj_tag(v___x_6132_) == 0)
{
lean_object* v_a_6133_; lean_object* v___x_6134_; lean_object* v___x_6135_; lean_object* v___x_6136_; uint8_t v___x_6137_; 
v_a_6133_ = lean_ctor_get(v___x_6132_, 0);
lean_inc(v_a_6133_);
lean_dec_ref(v___x_6132_);
v___x_6134_ = l_Lean_eagerReflBoolTrue;
lean_inc(v_a_6103_);
v___x_6135_ = l_Lean_mkApp5(v_a_6098_, v_a_6126_, v___y_6130_, v_a_6103_, v___x_6134_, v_a_6128_);
v___x_6136_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12);
v___x_6137_ = lean_int_dec_le(v___x_6136_, v_val_6093_);
if (v___x_6137_ == 0)
{
lean_object* v___x_6138_; lean_object* v___x_6139_; lean_object* v___x_6140_; lean_object* v___x_6141_; lean_object* v___x_6142_; lean_object* v___x_6143_; lean_object* v___x_6144_; 
v___x_6138_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18);
v___x_6139_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21);
v___x_6140_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24);
v___x_6141_ = lean_int_neg(v_val_6093_);
lean_dec(v_val_6093_);
v___x_6142_ = l_Int_toNat(v___x_6141_);
lean_dec(v___x_6141_);
v___x_6143_ = l_Lean_instToExprInt_mkNat(v___x_6142_);
v___x_6144_ = l_Lean_mkApp3(v___x_6138_, v___x_6139_, v___x_6140_, v___x_6143_);
v___y_6105_ = v___x_6134_;
v___y_6106_ = v_a_6133_;
v___y_6107_ = v___x_6135_;
v___y_6108_ = v___x_6144_;
goto v___jp_6104_;
}
else
{
lean_object* v___x_6145_; lean_object* v___x_6146_; 
v___x_6145_ = l_Int_toNat(v_val_6093_);
lean_dec(v_val_6093_);
v___x_6146_ = l_Lean_instToExprInt_mkNat(v___x_6145_);
v___y_6105_ = v___x_6134_;
v___y_6106_ = v_a_6133_;
v___y_6107_ = v___x_6135_;
v___y_6108_ = v___x_6146_;
goto v___jp_6104_;
}
}
else
{
lean_dec_ref(v___y_6130_);
lean_dec(v_a_6128_);
lean_dec(v_a_6126_);
lean_dec(v_a_6103_);
lean_dec(v_a_6098_);
lean_dec(v_x_6094_);
lean_dec(v_val_6093_);
lean_dec_ref(v_p_6091_);
lean_dec(v_a_6063_);
lean_dec_ref(v_a_6062_);
lean_dec(v_a_6061_);
lean_dec_ref(v_a_6060_);
lean_dec(v_a_6059_);
lean_dec_ref(v_a_6058_);
lean_dec(v_a_6057_);
lean_dec_ref(v_a_6056_);
lean_dec(v_a_6055_);
lean_dec(v_a_6054_);
lean_dec_ref(v_a_6051_);
return v___x_6132_;
}
}
}
else
{
lean_dec(v_a_6126_);
lean_dec(v_a_6103_);
lean_dec(v___x_6100_);
lean_dec(v_a_6098_);
lean_dec(v_x_6094_);
lean_dec(v_val_6093_);
lean_dec_ref(v_p_6091_);
lean_dec(v_a_6063_);
lean_dec_ref(v_a_6062_);
lean_dec(v_a_6061_);
lean_dec_ref(v_a_6060_);
lean_dec(v_a_6059_);
lean_dec_ref(v_a_6058_);
lean_dec(v_a_6057_);
lean_dec_ref(v_a_6056_);
lean_dec(v_a_6055_);
lean_dec(v_a_6054_);
lean_dec_ref(v_a_6051_);
return v___x_6127_;
}
}
else
{
lean_dec(v_a_6103_);
lean_dec(v___x_6100_);
lean_dec(v_a_6098_);
lean_dec(v_x_6094_);
lean_dec(v_val_6093_);
lean_dec_ref(v_c_6092_);
lean_dec_ref(v_p_6091_);
lean_dec(v_a_6063_);
lean_dec_ref(v_a_6062_);
lean_dec(v_a_6061_);
lean_dec_ref(v_a_6060_);
lean_dec(v_a_6059_);
lean_dec_ref(v_a_6058_);
lean_dec(v_a_6057_);
lean_dec_ref(v_a_6056_);
lean_dec(v_a_6055_);
lean_dec(v_a_6054_);
lean_dec_ref(v_a_6051_);
return v___x_6125_;
}
v___jp_6104_:
{
lean_object* v___x_6109_; lean_object* v___x_6110_; 
v___x_6109_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___closed__5));
lean_inc_ref(v_a_6051_);
v___x_6110_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg(v___x_6109_, v_a_6051_, v_a_6053_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
if (lean_obj_tag(v___x_6110_) == 0)
{
lean_object* v_a_6111_; lean_object* v___x_6112_; 
v_a_6111_ = lean_ctor_get(v___x_6110_, 0);
lean_inc(v_a_6111_);
lean_dec_ref(v___x_6110_);
v___x_6112_ = l_Lean_Meta_Grind_Arith_Linear_mkRingVarDecl(v_x_6094_, v_a_6051_, v_a_6052_, v_a_6053_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
if (lean_obj_tag(v___x_6112_) == 0)
{
lean_object* v_a_6113_; lean_object* v___x_6114_; 
v_a_6113_ = lean_ctor_get(v___x_6112_, 0);
lean_inc(v_a_6113_);
lean_dec_ref(v___x_6112_);
v___x_6114_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_6091_, v_a_6051_, v_a_6052_, v_a_6053_, v_a_6054_, v_a_6055_, v_a_6056_, v_a_6057_, v_a_6058_, v_a_6059_, v_a_6060_, v_a_6061_, v_a_6062_, v_a_6063_);
lean_dec(v_a_6063_);
lean_dec_ref(v_a_6062_);
lean_dec(v_a_6061_);
lean_dec_ref(v_a_6060_);
lean_dec(v_a_6059_);
lean_dec_ref(v_a_6058_);
lean_dec(v_a_6057_);
lean_dec_ref(v_a_6056_);
lean_dec(v_a_6055_);
lean_dec(v_a_6054_);
lean_dec_ref(v_a_6051_);
if (lean_obj_tag(v___x_6114_) == 0)
{
lean_object* v_a_6115_; lean_object* v___x_6117_; uint8_t v_isShared_6118_; uint8_t v_isSharedCheck_6124_; 
v_a_6115_ = lean_ctor_get(v___x_6114_, 0);
v_isSharedCheck_6124_ = !lean_is_exclusive(v___x_6114_);
if (v_isSharedCheck_6124_ == 0)
{
v___x_6117_ = v___x_6114_;
v_isShared_6118_ = v_isSharedCheck_6124_;
goto v_resetjp_6116_;
}
else
{
lean_inc(v_a_6115_);
lean_dec(v___x_6114_);
v___x_6117_ = lean_box(0);
v_isShared_6118_ = v_isSharedCheck_6124_;
goto v_resetjp_6116_;
}
v_resetjp_6116_:
{
lean_object* v___x_6119_; lean_object* v___x_6120_; lean_object* v___x_6122_; 
lean_inc_ref(v___y_6105_);
lean_inc_ref(v___y_6108_);
v___x_6119_ = l_Lean_mkAppB(v___y_6106_, v___y_6108_, v___y_6105_);
v___x_6120_ = l_Lean_mkApp7(v_a_6111_, v___y_6108_, v_a_6113_, v_a_6103_, v_a_6115_, v___y_6105_, v___x_6119_, v___y_6107_);
if (v_isShared_6118_ == 0)
{
lean_ctor_set(v___x_6117_, 0, v___x_6120_);
v___x_6122_ = v___x_6117_;
goto v_reusejp_6121_;
}
else
{
lean_object* v_reuseFailAlloc_6123_; 
v_reuseFailAlloc_6123_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6123_, 0, v___x_6120_);
v___x_6122_ = v_reuseFailAlloc_6123_;
goto v_reusejp_6121_;
}
v_reusejp_6121_:
{
return v___x_6122_;
}
}
}
else
{
lean_dec(v_a_6113_);
lean_dec(v_a_6111_);
lean_dec_ref(v___y_6108_);
lean_dec_ref(v___y_6107_);
lean_dec_ref(v___y_6106_);
lean_dec_ref(v___y_6105_);
lean_dec(v_a_6103_);
return v___x_6114_;
}
}
else
{
lean_dec(v_a_6111_);
lean_dec_ref(v___y_6108_);
lean_dec_ref(v___y_6107_);
lean_dec_ref(v___y_6106_);
lean_dec_ref(v___y_6105_);
lean_dec(v_a_6103_);
lean_dec_ref(v_p_6091_);
lean_dec(v_a_6063_);
lean_dec_ref(v_a_6062_);
lean_dec(v_a_6061_);
lean_dec_ref(v_a_6060_);
lean_dec(v_a_6059_);
lean_dec_ref(v_a_6058_);
lean_dec(v_a_6057_);
lean_dec_ref(v_a_6056_);
lean_dec(v_a_6055_);
lean_dec(v_a_6054_);
lean_dec_ref(v_a_6051_);
return v___x_6112_;
}
}
else
{
lean_dec_ref(v___y_6108_);
lean_dec_ref(v___y_6107_);
lean_dec_ref(v___y_6106_);
lean_dec_ref(v___y_6105_);
lean_dec(v_a_6103_);
lean_dec(v_x_6094_);
lean_dec_ref(v_p_6091_);
lean_dec(v_a_6063_);
lean_dec_ref(v_a_6062_);
lean_dec(v_a_6061_);
lean_dec_ref(v_a_6060_);
lean_dec(v_a_6059_);
lean_dec_ref(v_a_6058_);
lean_dec(v_a_6057_);
lean_dec_ref(v_a_6056_);
lean_dec(v_a_6055_);
lean_dec(v_a_6054_);
lean_dec_ref(v_a_6051_);
return v___x_6110_;
}
}
}
else
{
lean_dec(v___x_6100_);
lean_dec(v_a_6098_);
lean_dec(v_x_6094_);
lean_dec(v_val_6093_);
lean_dec_ref(v_c_6092_);
lean_dec_ref(v_p_6091_);
lean_dec(v_a_6063_);
lean_dec_ref(v_a_6062_);
lean_dec(v_a_6061_);
lean_dec_ref(v_a_6060_);
lean_dec(v_a_6059_);
lean_dec_ref(v_a_6058_);
lean_dec(v_a_6057_);
lean_dec_ref(v_a_6056_);
lean_dec(v_a_6055_);
lean_dec(v_a_6054_);
lean_dec_ref(v_a_6051_);
return v___x_6102_;
}
}
else
{
lean_dec(v_n_6095_);
lean_dec(v_x_6094_);
lean_dec(v_val_6093_);
lean_dec_ref(v_c_6092_);
lean_dec_ref(v_p_6091_);
lean_dec(v_a_6063_);
lean_dec_ref(v_a_6062_);
lean_dec(v_a_6061_);
lean_dec_ref(v_a_6060_);
lean_dec(v_a_6059_);
lean_dec_ref(v_a_6058_);
lean_dec(v_a_6057_);
lean_dec_ref(v_a_6056_);
lean_dec(v_a_6055_);
lean_dec(v_a_6054_);
lean_dec_ref(v_a_6051_);
return v___x_6097_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof___boxed(lean_object* v_c_x27_6158_, lean_object* v_a_6159_, lean_object* v_a_6160_, lean_object* v_a_6161_, lean_object* v_a_6162_, lean_object* v_a_6163_, lean_object* v_a_6164_, lean_object* v_a_6165_, lean_object* v_a_6166_, lean_object* v_a_6167_, lean_object* v_a_6168_, lean_object* v_a_6169_, lean_object* v_a_6170_, lean_object* v_a_6171_, lean_object* v_a_6172_){
_start:
{
lean_object* v_res_6173_; 
v_res_6173_ = l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof(v_c_x27_6158_, v_a_6159_, v_a_6160_, v_a_6161_, v_a_6162_, v_a_6163_, v_a_6164_, v_a_6165_, v_a_6166_, v_a_6167_, v_a_6168_, v_a_6169_, v_a_6170_, v_a_6171_);
lean_dec(v_a_6161_);
lean_dec(v_a_6160_);
return v_res_6173_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1_spec__4___redArg(uint64_t v_a_6174_, lean_object* v_x_6175_){
_start:
{
if (lean_obj_tag(v_x_6175_) == 0)
{
lean_object* v___x_6176_; 
v___x_6176_ = lean_box(0);
return v___x_6176_;
}
else
{
lean_object* v_key_6177_; lean_object* v_value_6178_; lean_object* v_tail_6179_; uint64_t v___x_6180_; uint8_t v___x_6181_; 
v_key_6177_ = lean_ctor_get(v_x_6175_, 0);
v_value_6178_ = lean_ctor_get(v_x_6175_, 1);
v_tail_6179_ = lean_ctor_get(v_x_6175_, 2);
v___x_6180_ = lean_unbox_uint64(v_key_6177_);
v___x_6181_ = lean_uint64_dec_eq(v___x_6180_, v_a_6174_);
if (v___x_6181_ == 0)
{
v_x_6175_ = v_tail_6179_;
goto _start;
}
else
{
lean_object* v___x_6183_; 
lean_inc(v_value_6178_);
v___x_6183_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_6183_, 0, v_value_6178_);
return v___x_6183_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1_spec__4___redArg___boxed(lean_object* v_a_6184_, lean_object* v_x_6185_){
_start:
{
uint64_t v_a_boxed_6186_; lean_object* v_res_6187_; 
v_a_boxed_6186_ = lean_unbox_uint64(v_a_6184_);
lean_dec_ref(v_a_6184_);
v_res_6187_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1_spec__4___redArg(v_a_boxed_6186_, v_x_6185_);
lean_dec(v_x_6185_);
return v_res_6187_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1___redArg(lean_object* v_m_6188_, uint64_t v_a_6189_){
_start:
{
lean_object* v_buckets_6190_; lean_object* v___x_6191_; uint64_t v___x_6192_; uint64_t v___x_6193_; uint64_t v_fold_6194_; uint64_t v___x_6195_; uint64_t v___x_6196_; uint64_t v___x_6197_; size_t v___x_6198_; size_t v___x_6199_; size_t v___x_6200_; size_t v___x_6201_; size_t v___x_6202_; lean_object* v___x_6203_; lean_object* v___x_6204_; 
v_buckets_6190_ = lean_ctor_get(v_m_6188_, 1);
v___x_6191_ = lean_array_get_size(v_buckets_6190_);
v___x_6192_ = 32ULL;
v___x_6193_ = lean_uint64_shift_right(v_a_6189_, v___x_6192_);
v_fold_6194_ = lean_uint64_xor(v_a_6189_, v___x_6193_);
v___x_6195_ = 16ULL;
v___x_6196_ = lean_uint64_shift_right(v_fold_6194_, v___x_6195_);
v___x_6197_ = lean_uint64_xor(v_fold_6194_, v___x_6196_);
v___x_6198_ = lean_uint64_to_usize(v___x_6197_);
v___x_6199_ = lean_usize_of_nat(v___x_6191_);
v___x_6200_ = ((size_t)1ULL);
v___x_6201_ = lean_usize_sub(v___x_6199_, v___x_6200_);
v___x_6202_ = lean_usize_land(v___x_6198_, v___x_6201_);
v___x_6203_ = lean_array_uget_borrowed(v_buckets_6190_, v___x_6202_);
v___x_6204_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1_spec__4___redArg(v_a_6189_, v___x_6203_);
return v___x_6204_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1___redArg___boxed(lean_object* v_m_6205_, lean_object* v_a_6206_){
_start:
{
uint64_t v_a_boxed_6207_; lean_object* v_res_6208_; 
v_a_boxed_6207_ = lean_unbox_uint64(v_a_6206_);
lean_dec_ref(v_a_6206_);
v_res_6208_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1___redArg(v_m_6205_, v_a_boxed_6207_);
lean_dec_ref(v_m_6205_);
return v_res_6208_;
}
}
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2_spec__6(lean_object* v_msgData_6209_, lean_object* v___y_6210_, lean_object* v___y_6211_, lean_object* v___y_6212_, lean_object* v___y_6213_){
_start:
{
lean_object* v___x_6215_; lean_object* v_env_6216_; lean_object* v___x_6217_; lean_object* v_mctx_6218_; lean_object* v_lctx_6219_; lean_object* v_options_6220_; lean_object* v___x_6221_; lean_object* v___x_6222_; lean_object* v___x_6223_; 
v___x_6215_ = lean_st_ref_get(v___y_6213_);
v_env_6216_ = lean_ctor_get(v___x_6215_, 0);
lean_inc_ref(v_env_6216_);
lean_dec(v___x_6215_);
v___x_6217_ = lean_st_ref_get(v___y_6211_);
v_mctx_6218_ = lean_ctor_get(v___x_6217_, 0);
lean_inc_ref(v_mctx_6218_);
lean_dec(v___x_6217_);
v_lctx_6219_ = lean_ctor_get(v___y_6210_, 2);
v_options_6220_ = lean_ctor_get(v___y_6212_, 2);
lean_inc_ref(v_options_6220_);
lean_inc_ref(v_lctx_6219_);
v___x_6221_ = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(v___x_6221_, 0, v_env_6216_);
lean_ctor_set(v___x_6221_, 1, v_mctx_6218_);
lean_ctor_set(v___x_6221_, 2, v_lctx_6219_);
lean_ctor_set(v___x_6221_, 3, v_options_6220_);
v___x_6222_ = lean_alloc_ctor(3, 2, 0);
lean_ctor_set(v___x_6222_, 0, v___x_6221_);
lean_ctor_set(v___x_6222_, 1, v_msgData_6209_);
v___x_6223_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6223_, 0, v___x_6222_);
return v___x_6223_;
}
}
LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2_spec__6___boxed(lean_object* v_msgData_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_res_6230_; 
v_res_6230_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2_spec__6(v_msgData_6224_, v___y_6225_, v___y_6226_, v___y_6227_, v___y_6228_);
lean_dec(v___y_6228_);
lean_dec_ref(v___y_6227_);
lean_dec(v___y_6226_);
lean_dec_ref(v___y_6225_);
return v_res_6230_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2___redArg(lean_object* v_msg_6231_, lean_object* v___y_6232_, lean_object* v___y_6233_, lean_object* v___y_6234_, lean_object* v___y_6235_){
_start:
{
lean_object* v_ref_6237_; lean_object* v___x_6238_; lean_object* v_a_6239_; lean_object* v___x_6241_; uint8_t v_isShared_6242_; uint8_t v_isSharedCheck_6247_; 
v_ref_6237_ = lean_ctor_get(v___y_6234_, 5);
v___x_6238_ = l_Lean_addMessageContextFull___at___00Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2_spec__6(v_msg_6231_, v___y_6232_, v___y_6233_, v___y_6234_, v___y_6235_);
v_a_6239_ = lean_ctor_get(v___x_6238_, 0);
v_isSharedCheck_6247_ = !lean_is_exclusive(v___x_6238_);
if (v_isSharedCheck_6247_ == 0)
{
v___x_6241_ = v___x_6238_;
v_isShared_6242_ = v_isSharedCheck_6247_;
goto v_resetjp_6240_;
}
else
{
lean_inc(v_a_6239_);
lean_dec(v___x_6238_);
v___x_6241_ = lean_box(0);
v_isShared_6242_ = v_isSharedCheck_6247_;
goto v_resetjp_6240_;
}
v_resetjp_6240_:
{
lean_object* v___x_6243_; lean_object* v___x_6245_; 
lean_inc(v_ref_6237_);
v___x_6243_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_6243_, 0, v_ref_6237_);
lean_ctor_set(v___x_6243_, 1, v_a_6239_);
if (v_isShared_6242_ == 0)
{
lean_ctor_set_tag(v___x_6241_, 1);
lean_ctor_set(v___x_6241_, 0, v___x_6243_);
v___x_6245_ = v___x_6241_;
goto v_reusejp_6244_;
}
else
{
lean_object* v_reuseFailAlloc_6246_; 
v_reuseFailAlloc_6246_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6246_, 0, v___x_6243_);
v___x_6245_ = v_reuseFailAlloc_6246_;
goto v_reusejp_6244_;
}
v_reusejp_6244_:
{
return v___x_6245_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2___redArg___boxed(lean_object* v_msg_6248_, lean_object* v___y_6249_, lean_object* v___y_6250_, lean_object* v___y_6251_, lean_object* v___y_6252_, lean_object* v___y_6253_){
_start:
{
lean_object* v_res_6254_; 
v_res_6254_ = l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2___redArg(v_msg_6248_, v___y_6249_, v___y_6250_, v___y_6251_, v___y_6252_);
lean_dec(v___y_6252_);
lean_dec_ref(v___y_6251_);
lean_dec(v___y_6250_);
lean_dec_ref(v___y_6249_);
return v_res_6254_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1_spec__2_spec__6___redArg(lean_object* v_x_6255_, lean_object* v_x_6256_){
_start:
{
if (lean_obj_tag(v_x_6256_) == 0)
{
return v_x_6255_;
}
else
{
lean_object* v_key_6257_; lean_object* v_value_6258_; lean_object* v_tail_6259_; lean_object* v___x_6261_; uint8_t v_isShared_6262_; uint8_t v_isSharedCheck_6283_; 
v_key_6257_ = lean_ctor_get(v_x_6256_, 0);
v_value_6258_ = lean_ctor_get(v_x_6256_, 1);
v_tail_6259_ = lean_ctor_get(v_x_6256_, 2);
v_isSharedCheck_6283_ = !lean_is_exclusive(v_x_6256_);
if (v_isSharedCheck_6283_ == 0)
{
v___x_6261_ = v_x_6256_;
v_isShared_6262_ = v_isSharedCheck_6283_;
goto v_resetjp_6260_;
}
else
{
lean_inc(v_tail_6259_);
lean_inc(v_value_6258_);
lean_inc(v_key_6257_);
lean_dec(v_x_6256_);
v___x_6261_ = lean_box(0);
v_isShared_6262_ = v_isSharedCheck_6283_;
goto v_resetjp_6260_;
}
v_resetjp_6260_:
{
lean_object* v___x_6263_; uint64_t v___x_6264_; uint64_t v___x_6265_; uint64_t v___x_6266_; uint64_t v___x_6267_; uint64_t v_fold_6268_; uint64_t v___x_6269_; uint64_t v___x_6270_; uint64_t v___x_6271_; size_t v___x_6272_; size_t v___x_6273_; size_t v___x_6274_; size_t v___x_6275_; size_t v___x_6276_; lean_object* v___x_6277_; lean_object* v___x_6279_; 
v___x_6263_ = lean_array_get_size(v_x_6255_);
v___x_6264_ = 32ULL;
v___x_6265_ = lean_unbox_uint64(v_key_6257_);
v___x_6266_ = lean_uint64_shift_right(v___x_6265_, v___x_6264_);
v___x_6267_ = lean_unbox_uint64(v_key_6257_);
v_fold_6268_ = lean_uint64_xor(v___x_6267_, v___x_6266_);
v___x_6269_ = 16ULL;
v___x_6270_ = lean_uint64_shift_right(v_fold_6268_, v___x_6269_);
v___x_6271_ = lean_uint64_xor(v_fold_6268_, v___x_6270_);
v___x_6272_ = lean_uint64_to_usize(v___x_6271_);
v___x_6273_ = lean_usize_of_nat(v___x_6263_);
v___x_6274_ = ((size_t)1ULL);
v___x_6275_ = lean_usize_sub(v___x_6273_, v___x_6274_);
v___x_6276_ = lean_usize_land(v___x_6272_, v___x_6275_);
v___x_6277_ = lean_array_uget_borrowed(v_x_6255_, v___x_6276_);
lean_inc(v___x_6277_);
if (v_isShared_6262_ == 0)
{
lean_ctor_set(v___x_6261_, 2, v___x_6277_);
v___x_6279_ = v___x_6261_;
goto v_reusejp_6278_;
}
else
{
lean_object* v_reuseFailAlloc_6282_; 
v_reuseFailAlloc_6282_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_6282_, 0, v_key_6257_);
lean_ctor_set(v_reuseFailAlloc_6282_, 1, v_value_6258_);
lean_ctor_set(v_reuseFailAlloc_6282_, 2, v___x_6277_);
v___x_6279_ = v_reuseFailAlloc_6282_;
goto v_reusejp_6278_;
}
v_reusejp_6278_:
{
lean_object* v___x_6280_; 
v___x_6280_ = lean_array_uset(v_x_6255_, v___x_6276_, v___x_6279_);
v_x_6255_ = v___x_6280_;
v_x_6256_ = v_tail_6259_;
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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1_spec__2___redArg(lean_object* v_i_6284_, lean_object* v_source_6285_, lean_object* v_target_6286_){
_start:
{
lean_object* v___x_6287_; uint8_t v___x_6288_; 
v___x_6287_ = lean_array_get_size(v_source_6285_);
v___x_6288_ = lean_nat_dec_lt(v_i_6284_, v___x_6287_);
if (v___x_6288_ == 0)
{
lean_dec_ref(v_source_6285_);
lean_dec(v_i_6284_);
return v_target_6286_;
}
else
{
lean_object* v_es_6289_; lean_object* v___x_6290_; lean_object* v_source_6291_; lean_object* v_target_6292_; lean_object* v___x_6293_; lean_object* v___x_6294_; 
v_es_6289_ = lean_array_fget(v_source_6285_, v_i_6284_);
v___x_6290_ = lean_box(0);
v_source_6291_ = lean_array_fset(v_source_6285_, v_i_6284_, v___x_6290_);
v_target_6292_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1_spec__2_spec__6___redArg(v_target_6286_, v_es_6289_);
v___x_6293_ = lean_unsigned_to_nat(1u);
v___x_6294_ = lean_nat_add(v_i_6284_, v___x_6293_);
lean_dec(v_i_6284_);
v_i_6284_ = v___x_6294_;
v_source_6285_ = v_source_6291_;
v_target_6286_ = v_target_6292_;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1___redArg(lean_object* v_data_6296_){
_start:
{
lean_object* v___x_6297_; lean_object* v___x_6298_; lean_object* v_nbuckets_6299_; lean_object* v___x_6300_; lean_object* v___x_6301_; lean_object* v___x_6302_; lean_object* v___x_6303_; 
v___x_6297_ = lean_array_get_size(v_data_6296_);
v___x_6298_ = lean_unsigned_to_nat(2u);
v_nbuckets_6299_ = lean_nat_mul(v___x_6297_, v___x_6298_);
v___x_6300_ = lean_unsigned_to_nat(0u);
v___x_6301_ = lean_box(0);
v___x_6302_ = lean_mk_array(v_nbuckets_6299_, v___x_6301_);
v___x_6303_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1_spec__2___redArg(v___x_6300_, v_data_6296_, v___x_6302_);
return v___x_6303_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2___redArg(uint64_t v_a_6304_, lean_object* v_b_6305_, lean_object* v_x_6306_){
_start:
{
if (lean_obj_tag(v_x_6306_) == 0)
{
lean_dec(v_b_6305_);
return v_x_6306_;
}
else
{
lean_object* v_key_6307_; lean_object* v_value_6308_; lean_object* v_tail_6309_; lean_object* v___x_6311_; uint8_t v_isShared_6312_; uint8_t v_isSharedCheck_6323_; 
v_key_6307_ = lean_ctor_get(v_x_6306_, 0);
v_value_6308_ = lean_ctor_get(v_x_6306_, 1);
v_tail_6309_ = lean_ctor_get(v_x_6306_, 2);
v_isSharedCheck_6323_ = !lean_is_exclusive(v_x_6306_);
if (v_isSharedCheck_6323_ == 0)
{
v___x_6311_ = v_x_6306_;
v_isShared_6312_ = v_isSharedCheck_6323_;
goto v_resetjp_6310_;
}
else
{
lean_inc(v_tail_6309_);
lean_inc(v_value_6308_);
lean_inc(v_key_6307_);
lean_dec(v_x_6306_);
v___x_6311_ = lean_box(0);
v_isShared_6312_ = v_isSharedCheck_6323_;
goto v_resetjp_6310_;
}
v_resetjp_6310_:
{
uint64_t v___x_6313_; uint8_t v___x_6314_; 
v___x_6313_ = lean_unbox_uint64(v_key_6307_);
v___x_6314_ = lean_uint64_dec_eq(v___x_6313_, v_a_6304_);
if (v___x_6314_ == 0)
{
lean_object* v___x_6315_; lean_object* v___x_6317_; 
v___x_6315_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2___redArg(v_a_6304_, v_b_6305_, v_tail_6309_);
if (v_isShared_6312_ == 0)
{
lean_ctor_set(v___x_6311_, 2, v___x_6315_);
v___x_6317_ = v___x_6311_;
goto v_reusejp_6316_;
}
else
{
lean_object* v_reuseFailAlloc_6318_; 
v_reuseFailAlloc_6318_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_6318_, 0, v_key_6307_);
lean_ctor_set(v_reuseFailAlloc_6318_, 1, v_value_6308_);
lean_ctor_set(v_reuseFailAlloc_6318_, 2, v___x_6315_);
v___x_6317_ = v_reuseFailAlloc_6318_;
goto v_reusejp_6316_;
}
v_reusejp_6316_:
{
return v___x_6317_;
}
}
else
{
lean_object* v___x_6319_; lean_object* v___x_6321_; 
lean_dec(v_value_6308_);
lean_dec(v_key_6307_);
v___x_6319_ = lean_box_uint64(v_a_6304_);
if (v_isShared_6312_ == 0)
{
lean_ctor_set(v___x_6311_, 1, v_b_6305_);
lean_ctor_set(v___x_6311_, 0, v___x_6319_);
v___x_6321_ = v___x_6311_;
goto v_reusejp_6320_;
}
else
{
lean_object* v_reuseFailAlloc_6322_; 
v_reuseFailAlloc_6322_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v_reuseFailAlloc_6322_, 0, v___x_6319_);
lean_ctor_set(v_reuseFailAlloc_6322_, 1, v_b_6305_);
lean_ctor_set(v_reuseFailAlloc_6322_, 2, v_tail_6309_);
v___x_6321_ = v_reuseFailAlloc_6322_;
goto v_reusejp_6320_;
}
v_reusejp_6320_:
{
return v___x_6321_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2___redArg___boxed(lean_object* v_a_6324_, lean_object* v_b_6325_, lean_object* v_x_6326_){
_start:
{
uint64_t v_a_boxed_6327_; lean_object* v_res_6328_; 
v_a_boxed_6327_ = lean_unbox_uint64(v_a_6324_);
lean_dec_ref(v_a_6324_);
v_res_6328_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2___redArg(v_a_boxed_6327_, v_b_6325_, v_x_6326_);
return v_res_6328_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__0___redArg(uint64_t v_a_6329_, lean_object* v_x_6330_){
_start:
{
if (lean_obj_tag(v_x_6330_) == 0)
{
uint8_t v___x_6331_; 
v___x_6331_ = 0;
return v___x_6331_;
}
else
{
lean_object* v_key_6332_; lean_object* v_tail_6333_; uint64_t v___x_6334_; uint8_t v___x_6335_; 
v_key_6332_ = lean_ctor_get(v_x_6330_, 0);
v_tail_6333_ = lean_ctor_get(v_x_6330_, 2);
v___x_6334_ = lean_unbox_uint64(v_key_6332_);
v___x_6335_ = lean_uint64_dec_eq(v___x_6334_, v_a_6329_);
if (v___x_6335_ == 0)
{
v_x_6330_ = v_tail_6333_;
goto _start;
}
else
{
return v___x_6335_;
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__0___redArg___boxed(lean_object* v_a_6337_, lean_object* v_x_6338_){
_start:
{
uint64_t v_a_boxed_6339_; uint8_t v_res_6340_; lean_object* v_r_6341_; 
v_a_boxed_6339_ = lean_unbox_uint64(v_a_6337_);
lean_dec_ref(v_a_6337_);
v_res_6340_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__0___redArg(v_a_boxed_6339_, v_x_6338_);
lean_dec(v_x_6338_);
v_r_6341_ = lean_box(v_res_6340_);
return v_r_6341_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0___redArg(lean_object* v_m_6342_, uint64_t v_a_6343_, lean_object* v_b_6344_){
_start:
{
lean_object* v_size_6345_; lean_object* v_buckets_6346_; lean_object* v___x_6348_; uint8_t v_isShared_6349_; uint8_t v_isSharedCheck_6389_; 
v_size_6345_ = lean_ctor_get(v_m_6342_, 0);
v_buckets_6346_ = lean_ctor_get(v_m_6342_, 1);
v_isSharedCheck_6389_ = !lean_is_exclusive(v_m_6342_);
if (v_isSharedCheck_6389_ == 0)
{
v___x_6348_ = v_m_6342_;
v_isShared_6349_ = v_isSharedCheck_6389_;
goto v_resetjp_6347_;
}
else
{
lean_inc(v_buckets_6346_);
lean_inc(v_size_6345_);
lean_dec(v_m_6342_);
v___x_6348_ = lean_box(0);
v_isShared_6349_ = v_isSharedCheck_6389_;
goto v_resetjp_6347_;
}
v_resetjp_6347_:
{
lean_object* v___x_6350_; uint64_t v___x_6351_; uint64_t v___x_6352_; uint64_t v_fold_6353_; uint64_t v___x_6354_; uint64_t v___x_6355_; uint64_t v___x_6356_; size_t v___x_6357_; size_t v___x_6358_; size_t v___x_6359_; size_t v___x_6360_; size_t v___x_6361_; lean_object* v_bkt_6362_; uint8_t v___x_6363_; 
v___x_6350_ = lean_array_get_size(v_buckets_6346_);
v___x_6351_ = 32ULL;
v___x_6352_ = lean_uint64_shift_right(v_a_6343_, v___x_6351_);
v_fold_6353_ = lean_uint64_xor(v_a_6343_, v___x_6352_);
v___x_6354_ = 16ULL;
v___x_6355_ = lean_uint64_shift_right(v_fold_6353_, v___x_6354_);
v___x_6356_ = lean_uint64_xor(v_fold_6353_, v___x_6355_);
v___x_6357_ = lean_uint64_to_usize(v___x_6356_);
v___x_6358_ = lean_usize_of_nat(v___x_6350_);
v___x_6359_ = ((size_t)1ULL);
v___x_6360_ = lean_usize_sub(v___x_6358_, v___x_6359_);
v___x_6361_ = lean_usize_land(v___x_6357_, v___x_6360_);
v_bkt_6362_ = lean_array_uget_borrowed(v_buckets_6346_, v___x_6361_);
v___x_6363_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__0___redArg(v_a_6343_, v_bkt_6362_);
if (v___x_6363_ == 0)
{
lean_object* v___x_6364_; lean_object* v_size_x27_6365_; lean_object* v___x_6366_; lean_object* v___x_6367_; lean_object* v_buckets_x27_6368_; lean_object* v___x_6369_; lean_object* v___x_6370_; lean_object* v___x_6371_; lean_object* v___x_6372_; lean_object* v___x_6373_; uint8_t v___x_6374_; 
v___x_6364_ = lean_unsigned_to_nat(1u);
v_size_x27_6365_ = lean_nat_add(v_size_6345_, v___x_6364_);
lean_dec(v_size_6345_);
v___x_6366_ = lean_box_uint64(v_a_6343_);
lean_inc(v_bkt_6362_);
v___x_6367_ = lean_alloc_ctor(1, 3, 0);
lean_ctor_set(v___x_6367_, 0, v___x_6366_);
lean_ctor_set(v___x_6367_, 1, v_b_6344_);
lean_ctor_set(v___x_6367_, 2, v_bkt_6362_);
v_buckets_x27_6368_ = lean_array_uset(v_buckets_6346_, v___x_6361_, v___x_6367_);
v___x_6369_ = lean_unsigned_to_nat(4u);
v___x_6370_ = lean_nat_mul(v_size_x27_6365_, v___x_6369_);
v___x_6371_ = lean_unsigned_to_nat(3u);
v___x_6372_ = lean_nat_div(v___x_6370_, v___x_6371_);
lean_dec(v___x_6370_);
v___x_6373_ = lean_array_get_size(v_buckets_x27_6368_);
v___x_6374_ = lean_nat_dec_le(v___x_6372_, v___x_6373_);
lean_dec(v___x_6372_);
if (v___x_6374_ == 0)
{
lean_object* v_val_6375_; lean_object* v___x_6377_; 
v_val_6375_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1___redArg(v_buckets_x27_6368_);
if (v_isShared_6349_ == 0)
{
lean_ctor_set(v___x_6348_, 1, v_val_6375_);
lean_ctor_set(v___x_6348_, 0, v_size_x27_6365_);
v___x_6377_ = v___x_6348_;
goto v_reusejp_6376_;
}
else
{
lean_object* v_reuseFailAlloc_6378_; 
v_reuseFailAlloc_6378_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6378_, 0, v_size_x27_6365_);
lean_ctor_set(v_reuseFailAlloc_6378_, 1, v_val_6375_);
v___x_6377_ = v_reuseFailAlloc_6378_;
goto v_reusejp_6376_;
}
v_reusejp_6376_:
{
return v___x_6377_;
}
}
else
{
lean_object* v___x_6380_; 
if (v_isShared_6349_ == 0)
{
lean_ctor_set(v___x_6348_, 1, v_buckets_x27_6368_);
lean_ctor_set(v___x_6348_, 0, v_size_x27_6365_);
v___x_6380_ = v___x_6348_;
goto v_reusejp_6379_;
}
else
{
lean_object* v_reuseFailAlloc_6381_; 
v_reuseFailAlloc_6381_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6381_, 0, v_size_x27_6365_);
lean_ctor_set(v_reuseFailAlloc_6381_, 1, v_buckets_x27_6368_);
v___x_6380_ = v_reuseFailAlloc_6381_;
goto v_reusejp_6379_;
}
v_reusejp_6379_:
{
return v___x_6380_;
}
}
}
else
{
lean_object* v___x_6382_; lean_object* v_buckets_x27_6383_; lean_object* v___x_6384_; lean_object* v___x_6385_; lean_object* v___x_6387_; 
lean_inc(v_bkt_6362_);
v___x_6382_ = lean_box(0);
v_buckets_x27_6383_ = lean_array_uset(v_buckets_6346_, v___x_6361_, v___x_6382_);
v___x_6384_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2___redArg(v_a_6343_, v_b_6344_, v_bkt_6362_);
v___x_6385_ = lean_array_uset(v_buckets_x27_6383_, v___x_6361_, v___x_6384_);
if (v_isShared_6349_ == 0)
{
lean_ctor_set(v___x_6348_, 1, v___x_6385_);
v___x_6387_ = v___x_6348_;
goto v_reusejp_6386_;
}
else
{
lean_object* v_reuseFailAlloc_6388_; 
v_reuseFailAlloc_6388_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6388_, 0, v_size_6345_);
lean_ctor_set(v_reuseFailAlloc_6388_, 1, v___x_6385_);
v___x_6387_ = v_reuseFailAlloc_6388_;
goto v_reusejp_6386_;
}
v_reusejp_6386_:
{
return v___x_6387_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0___redArg___boxed(lean_object* v_m_6390_, lean_object* v_a_6391_, lean_object* v_b_6392_){
_start:
{
uint64_t v_a_boxed_6393_; lean_object* v_res_6394_; 
v_a_boxed_6393_ = lean_unbox_uint64(v_a_6391_);
lean_dec_ref(v_a_6391_);
v_res_6394_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0___redArg(v_m_6390_, v_a_boxed_6393_, v_b_6392_);
return v_res_6394_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__2(void){
_start:
{
lean_object* v___x_6401_; lean_object* v___x_6402_; 
v___x_6401_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__1));
v___x_6402_ = l_Lean_stringToMessageData(v___x_6401_);
return v___x_6402_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof(lean_object* v_c_x27_6430_, lean_object* v_a_6431_, lean_object* v_a_6432_, lean_object* v_a_6433_, lean_object* v_a_6434_, lean_object* v_a_6435_, lean_object* v_a_6436_, lean_object* v_a_6437_, lean_object* v_a_6438_, lean_object* v_a_6439_, lean_object* v_a_6440_, lean_object* v_a_6441_, lean_object* v_a_6442_, lean_object* v_a_6443_){
_start:
{
lean_object* v___x_6445_; lean_object* v_cache_6446_; uint64_t v_addr_6447_; lean_object* v_a_6449_; lean_object* v___y_6469_; lean_object* v___x_6471_; 
v___x_6445_ = lean_st_ref_get(v_a_6432_);
v_cache_6446_ = lean_ctor_get(v___x_6445_, 0);
lean_inc_ref(v_cache_6446_);
lean_dec(v___x_6445_);
v_addr_6447_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___redArg(v_c_x27_6430_);
v___x_6471_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1___redArg(v_cache_6446_, v_addr_6447_);
lean_dec_ref(v_cache_6446_);
if (lean_obj_tag(v___x_6471_) == 1)
{
lean_object* v_val_6472_; lean_object* v___x_6474_; uint8_t v_isShared_6475_; uint8_t v_isSharedCheck_6479_; 
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
lean_dec_ref(v_c_x27_6430_);
v_val_6472_ = lean_ctor_get(v___x_6471_, 0);
v_isSharedCheck_6479_ = !lean_is_exclusive(v___x_6471_);
if (v_isSharedCheck_6479_ == 0)
{
v___x_6474_ = v___x_6471_;
v_isShared_6475_ = v_isSharedCheck_6479_;
goto v_resetjp_6473_;
}
else
{
lean_inc(v_val_6472_);
lean_dec(v___x_6471_);
v___x_6474_ = lean_box(0);
v_isShared_6475_ = v_isSharedCheck_6479_;
goto v_resetjp_6473_;
}
v_resetjp_6473_:
{
lean_object* v___x_6477_; 
if (v_isShared_6475_ == 0)
{
lean_ctor_set_tag(v___x_6474_, 0);
v___x_6477_ = v___x_6474_;
goto v_reusejp_6476_;
}
else
{
lean_object* v_reuseFailAlloc_6478_; 
v_reuseFailAlloc_6478_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6478_, 0, v_val_6472_);
v___x_6477_ = v_reuseFailAlloc_6478_;
goto v_reusejp_6476_;
}
v_reusejp_6476_:
{
return v___x_6477_;
}
}
}
else
{
lean_object* v_h_6480_; 
lean_dec(v___x_6471_);
v_h_6480_ = lean_ctor_get(v_c_x27_6430_, 1);
lean_inc_ref(v_h_6480_);
switch(lean_obj_tag(v_h_6480_))
{
case 0:
{
lean_object* v_p_6481_; lean_object* v_a_6482_; lean_object* v_b_6483_; lean_object* v_lhs_6484_; lean_object* v_rhs_6485_; lean_object* v___x_6486_; lean_object* v___x_6487_; 
v_p_6481_ = lean_ctor_get(v_c_x27_6430_, 0);
lean_inc(v_p_6481_);
lean_dec_ref(v_c_x27_6430_);
v_a_6482_ = lean_ctor_get(v_h_6480_, 0);
lean_inc_ref(v_a_6482_);
v_b_6483_ = lean_ctor_get(v_h_6480_, 1);
lean_inc_ref(v_b_6483_);
v_lhs_6484_ = lean_ctor_get(v_h_6480_, 2);
lean_inc(v_lhs_6484_);
v_rhs_6485_ = lean_ctor_get(v_h_6480_, 3);
lean_inc(v_rhs_6485_);
lean_dec_ref(v_h_6480_);
v___x_6486_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__0));
lean_inc_ref(v_a_6431_);
v___x_6487_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v___x_6486_, v_a_6431_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6487_) == 0)
{
lean_object* v_a_6488_; lean_object* v___x_6489_; 
v_a_6488_ = lean_ctor_get(v___x_6487_, 0);
lean_inc(v_a_6488_);
lean_dec_ref(v___x_6487_);
v___x_6489_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lhs_6484_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6489_) == 0)
{
lean_object* v_a_6490_; lean_object* v___x_6491_; 
v_a_6490_ = lean_ctor_get(v___x_6489_, 0);
lean_inc(v_a_6490_);
lean_dec_ref(v___x_6489_);
v___x_6491_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_rhs_6485_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6491_) == 0)
{
lean_object* v_a_6492_; lean_object* v___x_6493_; 
v_a_6492_ = lean_ctor_get(v___x_6491_, 0);
lean_inc(v_a_6492_);
lean_dec_ref(v___x_6491_);
v___x_6493_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6481_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
lean_dec_ref(v_a_6431_);
if (lean_obj_tag(v___x_6493_) == 0)
{
lean_object* v_a_6494_; lean_object* v___x_6495_; 
v_a_6494_ = lean_ctor_get(v___x_6493_, 0);
lean_inc(v_a_6494_);
lean_dec_ref(v___x_6493_);
v___x_6495_ = lean_grind_mk_eq_proof(v_a_6482_, v_b_6483_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6495_) == 0)
{
lean_object* v_a_6496_; lean_object* v___x_6497_; lean_object* v___x_6498_; 
v_a_6496_ = lean_ctor_get(v___x_6495_, 0);
lean_inc(v_a_6496_);
lean_dec_ref(v___x_6495_);
v___x_6497_ = l_Lean_eagerReflBoolTrue;
v___x_6498_ = l_Lean_mkApp5(v_a_6488_, v_a_6490_, v_a_6492_, v_a_6494_, v___x_6497_, v_a_6496_);
v_a_6449_ = v___x_6498_;
goto v___jp_6448_;
}
else
{
lean_dec(v_a_6494_);
lean_dec(v_a_6492_);
lean_dec(v_a_6490_);
lean_dec(v_a_6488_);
v___y_6469_ = v___x_6495_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6492_);
lean_dec(v_a_6490_);
lean_dec(v_a_6488_);
lean_dec_ref(v_b_6483_);
lean_dec_ref(v_a_6482_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
v___y_6469_ = v___x_6493_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6490_);
lean_dec(v_a_6488_);
lean_dec_ref(v_b_6483_);
lean_dec_ref(v_a_6482_);
lean_dec(v_p_6481_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6491_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6488_);
lean_dec(v_rhs_6485_);
lean_dec_ref(v_b_6483_);
lean_dec_ref(v_a_6482_);
lean_dec(v_p_6481_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6489_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_rhs_6485_);
lean_dec(v_lhs_6484_);
lean_dec_ref(v_b_6483_);
lean_dec_ref(v_a_6482_);
lean_dec(v_p_6481_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6487_;
goto v___jp_6468_;
}
}
case 1:
{
lean_object* v___x_6499_; lean_object* v___x_6500_; 
lean_dec_ref(v_h_6480_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
lean_dec_ref(v_c_x27_6430_);
v___x_6499_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__2, &l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__2_once, _init_l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__2);
v___x_6500_ = l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2___redArg(v___x_6499_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
v___y_6469_ = v___x_6500_;
goto v___jp_6468_;
}
case 2:
{
lean_object* v_p_6501_; lean_object* v_a_6502_; lean_object* v_b_6503_; lean_object* v_natStructId_6504_; lean_object* v_lhs_6505_; lean_object* v_rhs_6506_; lean_object* v_a_6508_; lean_object* v___x_6520_; 
v_p_6501_ = lean_ctor_get(v_c_x27_6430_, 0);
lean_inc(v_p_6501_);
lean_dec_ref(v_c_x27_6430_);
v_a_6502_ = lean_ctor_get(v_h_6480_, 0);
lean_inc_ref(v_a_6502_);
v_b_6503_ = lean_ctor_get(v_h_6480_, 1);
lean_inc_ref(v_b_6503_);
v_natStructId_6504_ = lean_ctor_get(v_h_6480_, 2);
lean_inc(v_natStructId_6504_);
v_lhs_6505_ = lean_ctor_get(v_h_6480_, 3);
lean_inc(v_lhs_6505_);
v_rhs_6506_ = lean_ctor_get(v_h_6480_, 4);
lean_inc(v_rhs_6506_);
lean_dec_ref(v_h_6480_);
v___x_6520_ = l_Lean_Meta_Grind_Arith_Linear_getNatStruct(v_natStructId_6504_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6520_) == 0)
{
lean_object* v_a_6521_; lean_object* v___x_6522_; 
v_a_6521_ = lean_ctor_get(v___x_6520_, 0);
lean_inc(v_a_6521_);
lean_dec_ref(v___x_6520_);
lean_inc(v_a_6443_);
lean_inc_ref(v_a_6442_);
lean_inc(v_a_6441_);
lean_inc_ref(v_a_6440_);
lean_inc(v_a_6439_);
lean_inc_ref(v_a_6438_);
lean_inc(v_a_6437_);
lean_inc_ref(v_a_6436_);
lean_inc(v_a_6435_);
lean_inc(v_a_6434_);
lean_inc(v_natStructId_6504_);
lean_inc_ref(v_a_6502_);
v___x_6522_ = l_Lean_Meta_Grind_Arith_Linear_ofNatModule(v_a_6502_, v_natStructId_6504_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6522_) == 0)
{
lean_object* v_a_6523_; lean_object* v_fst_6524_; lean_object* v_snd_6525_; lean_object* v___x_6526_; 
v_a_6523_ = lean_ctor_get(v___x_6522_, 0);
lean_inc(v_a_6523_);
lean_dec_ref(v___x_6522_);
v_fst_6524_ = lean_ctor_get(v_a_6523_, 0);
lean_inc(v_fst_6524_);
v_snd_6525_ = lean_ctor_get(v_a_6523_, 1);
lean_inc(v_snd_6525_);
lean_dec(v_a_6523_);
lean_inc(v_a_6443_);
lean_inc_ref(v_a_6442_);
lean_inc(v_a_6441_);
lean_inc_ref(v_a_6440_);
lean_inc(v_a_6439_);
lean_inc_ref(v_a_6438_);
lean_inc(v_a_6437_);
lean_inc_ref(v_a_6436_);
lean_inc(v_a_6435_);
lean_inc(v_a_6434_);
lean_inc_ref(v_b_6503_);
v___x_6526_ = l_Lean_Meta_Grind_Arith_Linear_ofNatModule(v_b_6503_, v_natStructId_6504_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6526_) == 0)
{
lean_object* v_a_6527_; lean_object* v_fst_6528_; lean_object* v_snd_6529_; lean_object* v___x_6531_; uint8_t v_isShared_6532_; uint8_t v_isSharedCheck_6546_; 
v_a_6527_ = lean_ctor_get(v___x_6526_, 0);
lean_inc(v_a_6527_);
lean_dec_ref(v___x_6526_);
v_fst_6528_ = lean_ctor_get(v_a_6527_, 0);
v_snd_6529_ = lean_ctor_get(v_a_6527_, 1);
v_isSharedCheck_6546_ = !lean_is_exclusive(v_a_6527_);
if (v_isSharedCheck_6546_ == 0)
{
v___x_6531_ = v_a_6527_;
v_isShared_6532_ = v_isSharedCheck_6546_;
goto v_resetjp_6530_;
}
else
{
lean_inc(v_snd_6529_);
lean_inc(v_fst_6528_);
lean_dec(v_a_6527_);
v___x_6531_ = lean_box(0);
v_isShared_6532_ = v_isSharedCheck_6546_;
goto v_resetjp_6530_;
}
v_resetjp_6530_:
{
lean_object* v___x_6533_; 
lean_inc(v_a_6443_);
lean_inc_ref(v_a_6442_);
lean_inc(v_a_6441_);
lean_inc_ref(v_a_6440_);
lean_inc(v_a_6439_);
lean_inc_ref(v_a_6438_);
lean_inc(v_a_6437_);
lean_inc_ref(v_a_6436_);
lean_inc(v_a_6435_);
lean_inc(v_a_6434_);
lean_inc_ref(v_b_6503_);
lean_inc_ref(v_a_6502_);
v___x_6533_ = lean_grind_mk_eq_proof(v_a_6502_, v_b_6503_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6533_) == 0)
{
lean_object* v_a_6534_; lean_object* v_type_6535_; lean_object* v_u_6536_; lean_object* v_natModuleInst_6537_; lean_object* v___x_6538_; lean_object* v___x_6539_; lean_object* v___x_6541_; 
v_a_6534_ = lean_ctor_get(v___x_6533_, 0);
lean_inc(v_a_6534_);
lean_dec_ref(v___x_6533_);
v_type_6535_ = lean_ctor_get(v_a_6521_, 2);
lean_inc_ref(v_type_6535_);
v_u_6536_ = lean_ctor_get(v_a_6521_, 3);
lean_inc(v_u_6536_);
v_natModuleInst_6537_ = lean_ctor_get(v_a_6521_, 4);
lean_inc_ref(v_natModuleInst_6537_);
lean_dec(v_a_6521_);
v___x_6538_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6));
v___x_6539_ = lean_box(0);
if (v_isShared_6532_ == 0)
{
lean_ctor_set_tag(v___x_6531_, 1);
lean_ctor_set(v___x_6531_, 1, v___x_6539_);
lean_ctor_set(v___x_6531_, 0, v_u_6536_);
v___x_6541_ = v___x_6531_;
goto v_reusejp_6540_;
}
else
{
lean_object* v_reuseFailAlloc_6544_; 
v_reuseFailAlloc_6544_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6544_, 0, v_u_6536_);
lean_ctor_set(v_reuseFailAlloc_6544_, 1, v___x_6539_);
v___x_6541_ = v_reuseFailAlloc_6544_;
goto v_reusejp_6540_;
}
v_reusejp_6540_:
{
lean_object* v___x_6542_; lean_object* v___x_6543_; 
v___x_6542_ = l_Lean_mkConst(v___x_6538_, v___x_6541_);
v___x_6543_ = l_Lean_mkApp9(v___x_6542_, v_type_6535_, v_natModuleInst_6537_, v_a_6502_, v_b_6503_, v_fst_6524_, v_fst_6528_, v_snd_6525_, v_snd_6529_, v_a_6534_);
v_a_6508_ = v___x_6543_;
goto v___jp_6507_;
}
}
else
{
lean_del_object(v___x_6531_);
lean_dec(v_snd_6529_);
lean_dec(v_fst_6528_);
lean_dec(v_snd_6525_);
lean_dec(v_fst_6524_);
lean_dec(v_a_6521_);
lean_dec_ref(v_b_6503_);
lean_dec_ref(v_a_6502_);
if (lean_obj_tag(v___x_6533_) == 0)
{
lean_object* v_a_6545_; 
v_a_6545_ = lean_ctor_get(v___x_6533_, 0);
lean_inc(v_a_6545_);
lean_dec_ref(v___x_6533_);
v_a_6508_ = v_a_6545_;
goto v___jp_6507_;
}
else
{
lean_dec(v_rhs_6506_);
lean_dec(v_lhs_6505_);
lean_dec(v_p_6501_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6533_;
goto v___jp_6468_;
}
}
}
}
else
{
lean_object* v_a_6547_; lean_object* v___x_6549_; uint8_t v_isShared_6550_; uint8_t v_isSharedCheck_6554_; 
lean_dec(v_snd_6525_);
lean_dec(v_fst_6524_);
lean_dec(v_a_6521_);
lean_dec(v_rhs_6506_);
lean_dec(v_lhs_6505_);
lean_dec_ref(v_b_6503_);
lean_dec_ref(v_a_6502_);
lean_dec(v_p_6501_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v_a_6547_ = lean_ctor_get(v___x_6526_, 0);
v_isSharedCheck_6554_ = !lean_is_exclusive(v___x_6526_);
if (v_isSharedCheck_6554_ == 0)
{
v___x_6549_ = v___x_6526_;
v_isShared_6550_ = v_isSharedCheck_6554_;
goto v_resetjp_6548_;
}
else
{
lean_inc(v_a_6547_);
lean_dec(v___x_6526_);
v___x_6549_ = lean_box(0);
v_isShared_6550_ = v_isSharedCheck_6554_;
goto v_resetjp_6548_;
}
v_resetjp_6548_:
{
lean_object* v___x_6552_; 
if (v_isShared_6550_ == 0)
{
v___x_6552_ = v___x_6549_;
goto v_reusejp_6551_;
}
else
{
lean_object* v_reuseFailAlloc_6553_; 
v_reuseFailAlloc_6553_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6553_, 0, v_a_6547_);
v___x_6552_ = v_reuseFailAlloc_6553_;
goto v_reusejp_6551_;
}
v_reusejp_6551_:
{
return v___x_6552_;
}
}
}
}
else
{
lean_object* v_a_6555_; lean_object* v___x_6557_; uint8_t v_isShared_6558_; uint8_t v_isSharedCheck_6562_; 
lean_dec(v_a_6521_);
lean_dec(v_rhs_6506_);
lean_dec(v_lhs_6505_);
lean_dec(v_natStructId_6504_);
lean_dec_ref(v_b_6503_);
lean_dec_ref(v_a_6502_);
lean_dec(v_p_6501_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v_a_6555_ = lean_ctor_get(v___x_6522_, 0);
v_isSharedCheck_6562_ = !lean_is_exclusive(v___x_6522_);
if (v_isSharedCheck_6562_ == 0)
{
v___x_6557_ = v___x_6522_;
v_isShared_6558_ = v_isSharedCheck_6562_;
goto v_resetjp_6556_;
}
else
{
lean_inc(v_a_6555_);
lean_dec(v___x_6522_);
v___x_6557_ = lean_box(0);
v_isShared_6558_ = v_isSharedCheck_6562_;
goto v_resetjp_6556_;
}
v_resetjp_6556_:
{
lean_object* v___x_6560_; 
if (v_isShared_6558_ == 0)
{
v___x_6560_ = v___x_6557_;
goto v_reusejp_6559_;
}
else
{
lean_object* v_reuseFailAlloc_6561_; 
v_reuseFailAlloc_6561_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6561_, 0, v_a_6555_);
v___x_6560_ = v_reuseFailAlloc_6561_;
goto v_reusejp_6559_;
}
v_reusejp_6559_:
{
return v___x_6560_;
}
}
}
}
else
{
lean_object* v_a_6563_; lean_object* v___x_6565_; uint8_t v_isShared_6566_; uint8_t v_isSharedCheck_6570_; 
lean_dec(v_rhs_6506_);
lean_dec(v_lhs_6505_);
lean_dec(v_natStructId_6504_);
lean_dec_ref(v_b_6503_);
lean_dec_ref(v_a_6502_);
lean_dec(v_p_6501_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v_a_6563_ = lean_ctor_get(v___x_6520_, 0);
v_isSharedCheck_6570_ = !lean_is_exclusive(v___x_6520_);
if (v_isSharedCheck_6570_ == 0)
{
v___x_6565_ = v___x_6520_;
v_isShared_6566_ = v_isSharedCheck_6570_;
goto v_resetjp_6564_;
}
else
{
lean_inc(v_a_6563_);
lean_dec(v___x_6520_);
v___x_6565_ = lean_box(0);
v_isShared_6566_ = v_isSharedCheck_6570_;
goto v_resetjp_6564_;
}
v_resetjp_6564_:
{
lean_object* v___x_6568_; 
if (v_isShared_6566_ == 0)
{
v___x_6568_ = v___x_6565_;
goto v_reusejp_6567_;
}
else
{
lean_object* v_reuseFailAlloc_6569_; 
v_reuseFailAlloc_6569_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6569_, 0, v_a_6563_);
v___x_6568_ = v_reuseFailAlloc_6569_;
goto v_reusejp_6567_;
}
v_reusejp_6567_:
{
return v___x_6568_;
}
}
}
v___jp_6507_:
{
lean_object* v___x_6509_; lean_object* v___x_6510_; 
v___x_6509_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__0));
lean_inc_ref(v_a_6431_);
v___x_6510_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v___x_6509_, v_a_6431_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6510_) == 0)
{
lean_object* v_a_6511_; lean_object* v___x_6512_; 
v_a_6511_ = lean_ctor_get(v___x_6510_, 0);
lean_inc(v_a_6511_);
lean_dec_ref(v___x_6510_);
v___x_6512_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lhs_6505_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6512_) == 0)
{
lean_object* v_a_6513_; lean_object* v___x_6514_; 
v_a_6513_ = lean_ctor_get(v___x_6512_, 0);
lean_inc(v_a_6513_);
lean_dec_ref(v___x_6512_);
v___x_6514_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_rhs_6506_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6514_) == 0)
{
lean_object* v_a_6515_; lean_object* v___x_6516_; 
v_a_6515_ = lean_ctor_get(v___x_6514_, 0);
lean_inc(v_a_6515_);
lean_dec_ref(v___x_6514_);
v___x_6516_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6501_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
if (lean_obj_tag(v___x_6516_) == 0)
{
lean_object* v_a_6517_; lean_object* v___x_6518_; lean_object* v___x_6519_; 
v_a_6517_ = lean_ctor_get(v___x_6516_, 0);
lean_inc(v_a_6517_);
lean_dec_ref(v___x_6516_);
v___x_6518_ = l_Lean_eagerReflBoolTrue;
v___x_6519_ = l_Lean_mkApp5(v_a_6511_, v_a_6513_, v_a_6515_, v_a_6517_, v___x_6518_, v_a_6508_);
v_a_6449_ = v___x_6519_;
goto v___jp_6448_;
}
else
{
lean_dec(v_a_6515_);
lean_dec(v_a_6513_);
lean_dec(v_a_6511_);
lean_dec_ref(v_a_6508_);
v___y_6469_ = v___x_6516_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6513_);
lean_dec(v_a_6511_);
lean_dec_ref(v_a_6508_);
lean_dec(v_p_6501_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6514_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6511_);
lean_dec_ref(v_a_6508_);
lean_dec(v_rhs_6506_);
lean_dec(v_p_6501_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6512_;
goto v___jp_6468_;
}
}
else
{
lean_dec_ref(v_a_6508_);
lean_dec(v_rhs_6506_);
lean_dec(v_lhs_6505_);
lean_dec(v_p_6501_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6510_;
goto v___jp_6468_;
}
}
}
case 3:
{
lean_object* v_p_6571_; lean_object* v_c_6572_; lean_object* v___x_6573_; lean_object* v___x_6574_; 
v_p_6571_ = lean_ctor_get(v_c_x27_6430_, 0);
lean_inc(v_p_6571_);
lean_dec_ref(v_c_x27_6430_);
v_c_6572_ = lean_ctor_get(v_h_6480_, 0);
lean_inc_ref(v_c_6572_);
lean_dec_ref(v_h_6480_);
v___x_6573_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__8));
lean_inc_ref(v_a_6431_);
v___x_6574_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v___x_6573_, v_a_6431_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6574_) == 0)
{
lean_object* v_a_6575_; lean_object* v_p_6576_; lean_object* v___x_6577_; 
v_a_6575_ = lean_ctor_get(v___x_6574_, 0);
lean_inc(v_a_6575_);
lean_dec_ref(v___x_6574_);
v_p_6576_ = lean_ctor_get(v_c_6572_, 0);
lean_inc(v_p_6576_);
v___x_6577_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6576_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6577_) == 0)
{
lean_object* v_a_6578_; lean_object* v___x_6579_; 
v_a_6578_ = lean_ctor_get(v___x_6577_, 0);
lean_inc(v_a_6578_);
lean_dec_ref(v___x_6577_);
v___x_6579_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6571_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6579_) == 0)
{
lean_object* v_a_6580_; lean_object* v___x_6581_; 
v_a_6580_ = lean_ctor_get(v___x_6579_, 0);
lean_inc(v_a_6580_);
lean_dec_ref(v___x_6579_);
v___x_6581_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof(v_c_6572_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6581_) == 0)
{
lean_object* v_a_6582_; lean_object* v___x_6583_; lean_object* v___x_6584_; 
v_a_6582_ = lean_ctor_get(v___x_6581_, 0);
lean_inc(v_a_6582_);
lean_dec_ref(v___x_6581_);
v___x_6583_ = l_Lean_eagerReflBoolTrue;
v___x_6584_ = l_Lean_mkApp4(v_a_6575_, v_a_6578_, v_a_6580_, v___x_6583_, v_a_6582_);
v_a_6449_ = v___x_6584_;
goto v___jp_6448_;
}
else
{
lean_dec(v_a_6580_);
lean_dec(v_a_6578_);
lean_dec(v_a_6575_);
v___y_6469_ = v___x_6581_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6578_);
lean_dec(v_a_6575_);
lean_dec_ref(v_c_6572_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6579_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6575_);
lean_dec_ref(v_c_6572_);
lean_dec(v_p_6571_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6577_;
goto v___jp_6468_;
}
}
else
{
lean_dec_ref(v_c_6572_);
lean_dec(v_p_6571_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6574_;
goto v___jp_6468_;
}
}
case 4:
{
lean_object* v_p_6585_; lean_object* v_k_6586_; lean_object* v_c_6587_; lean_object* v___x_6588_; lean_object* v___x_6589_; 
v_p_6585_ = lean_ctor_get(v_c_x27_6430_, 0);
lean_inc(v_p_6585_);
lean_dec_ref(v_c_x27_6430_);
v_k_6586_ = lean_ctor_get(v_h_6480_, 0);
lean_inc(v_k_6586_);
v_c_6587_ = lean_ctor_get(v_h_6480_, 1);
lean_inc_ref(v_c_6587_);
lean_dec_ref(v_h_6480_);
v___x_6588_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__10));
lean_inc_ref(v_a_6431_);
v___x_6589_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix___redArg(v___x_6588_, v_a_6431_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6589_) == 0)
{
lean_object* v_a_6590_; lean_object* v_p_6591_; lean_object* v___x_6592_; 
v_a_6590_ = lean_ctor_get(v___x_6589_, 0);
lean_inc(v_a_6590_);
lean_dec_ref(v___x_6589_);
v_p_6591_ = lean_ctor_get(v_c_6587_, 0);
lean_inc(v_p_6591_);
v___x_6592_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6591_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6592_) == 0)
{
lean_object* v_a_6593_; lean_object* v___x_6594_; 
v_a_6593_ = lean_ctor_get(v___x_6592_, 0);
lean_inc(v_a_6593_);
lean_dec_ref(v___x_6592_);
v___x_6594_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6585_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6594_) == 0)
{
lean_object* v_a_6595_; lean_object* v___x_6596_; 
v_a_6595_ = lean_ctor_get(v___x_6594_, 0);
lean_inc(v_a_6595_);
lean_dec_ref(v___x_6594_);
v___x_6596_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof(v_c_6587_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6596_) == 0)
{
lean_object* v_a_6597_; lean_object* v___x_6598_; lean_object* v___x_6599_; lean_object* v___x_6600_; 
v_a_6597_ = lean_ctor_get(v___x_6596_, 0);
lean_inc(v_a_6597_);
lean_dec_ref(v___x_6596_);
v___x_6598_ = l_Lean_mkNatLit(v_k_6586_);
v___x_6599_ = l_Lean_eagerReflBoolTrue;
v___x_6600_ = l_Lean_mkApp5(v_a_6590_, v_a_6593_, v_a_6595_, v___x_6598_, v___x_6599_, v_a_6597_);
v_a_6449_ = v___x_6600_;
goto v___jp_6448_;
}
else
{
lean_dec(v_a_6595_);
lean_dec(v_a_6593_);
lean_dec(v_a_6590_);
lean_dec(v_k_6586_);
v___y_6469_ = v___x_6596_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6593_);
lean_dec(v_a_6590_);
lean_dec_ref(v_c_6587_);
lean_dec(v_k_6586_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6594_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6590_);
lean_dec_ref(v_c_6587_);
lean_dec(v_k_6586_);
lean_dec(v_p_6585_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6592_;
goto v___jp_6468_;
}
}
else
{
lean_dec_ref(v_c_6587_);
lean_dec(v_k_6586_);
lean_dec(v_p_6585_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6589_;
goto v___jp_6468_;
}
}
default: 
{
lean_object* v_p_6601_; lean_object* v_x_6602_; lean_object* v_c_u2081_6603_; lean_object* v_c_u2082_6604_; lean_object* v___x_6605_; lean_object* v___x_6606_; 
v_p_6601_ = lean_ctor_get(v_c_x27_6430_, 0);
lean_inc(v_p_6601_);
lean_dec_ref(v_c_x27_6430_);
v_x_6602_ = lean_ctor_get(v_h_6480_, 0);
lean_inc(v_x_6602_);
v_c_u2081_6603_ = lean_ctor_get(v_h_6480_, 1);
lean_inc_ref(v_c_u2081_6603_);
v_c_u2082_6604_ = lean_ctor_get(v_h_6480_, 2);
lean_inc_ref(v_c_u2082_6604_);
lean_dec_ref(v_h_6480_);
v___x_6605_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__12));
lean_inc_ref(v_a_6431_);
v___x_6606_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v___x_6605_, v_a_6431_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6606_) == 0)
{
lean_object* v_a_6607_; lean_object* v___x_6608_; 
v_a_6607_ = lean_ctor_get(v___x_6606_, 0);
lean_inc(v_a_6607_);
lean_dec_ref(v___x_6606_);
v___x_6608_ = l_Lean_Meta_Grind_Arith_Linear_mkVarDecl(v_x_6602_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6608_) == 0)
{
lean_object* v_a_6609_; lean_object* v_p_6610_; lean_object* v___x_6611_; 
v_a_6609_ = lean_ctor_get(v___x_6608_, 0);
lean_inc(v_a_6609_);
lean_dec_ref(v___x_6608_);
v_p_6610_ = lean_ctor_get(v_c_u2081_6603_, 0);
lean_inc(v_p_6610_);
v___x_6611_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6610_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6611_) == 0)
{
lean_object* v_a_6612_; lean_object* v_p_6613_; lean_object* v___x_6614_; 
v_a_6612_ = lean_ctor_get(v___x_6611_, 0);
lean_inc(v_a_6612_);
lean_dec_ref(v___x_6611_);
v_p_6613_ = lean_ctor_get(v_c_u2082_6604_, 0);
lean_inc(v_p_6613_);
v___x_6614_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6613_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6614_) == 0)
{
lean_object* v_a_6615_; lean_object* v___x_6616_; 
v_a_6615_ = lean_ctor_get(v___x_6614_, 0);
lean_inc(v_a_6615_);
lean_dec_ref(v___x_6614_);
v___x_6616_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6601_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6616_) == 0)
{
lean_object* v_a_6617_; lean_object* v___x_6618_; 
v_a_6617_ = lean_ctor_get(v___x_6616_, 0);
lean_inc(v_a_6617_);
lean_dec_ref(v___x_6616_);
lean_inc(v_a_6443_);
lean_inc_ref(v_a_6442_);
lean_inc(v_a_6441_);
lean_inc_ref(v_a_6440_);
lean_inc(v_a_6439_);
lean_inc_ref(v_a_6438_);
lean_inc(v_a_6437_);
lean_inc_ref(v_a_6436_);
lean_inc(v_a_6435_);
lean_inc(v_a_6434_);
lean_inc_ref(v_a_6431_);
v___x_6618_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof(v_c_u2081_6603_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6618_) == 0)
{
lean_object* v_a_6619_; lean_object* v___x_6620_; 
v_a_6619_ = lean_ctor_get(v___x_6618_, 0);
lean_inc(v_a_6619_);
lean_dec_ref(v___x_6618_);
v___x_6620_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof(v_c_u2082_6604_, v_a_6431_, v_a_6432_, v_a_6433_, v_a_6434_, v_a_6435_, v_a_6436_, v_a_6437_, v_a_6438_, v_a_6439_, v_a_6440_, v_a_6441_, v_a_6442_, v_a_6443_);
if (lean_obj_tag(v___x_6620_) == 0)
{
lean_object* v_a_6621_; lean_object* v___x_6622_; lean_object* v___x_6623_; 
v_a_6621_ = lean_ctor_get(v___x_6620_, 0);
lean_inc(v_a_6621_);
lean_dec_ref(v___x_6620_);
v___x_6622_ = l_Lean_eagerReflBoolTrue;
v___x_6623_ = l_Lean_mkApp7(v_a_6607_, v_a_6609_, v_a_6612_, v_a_6615_, v_a_6617_, v___x_6622_, v_a_6619_, v_a_6621_);
v_a_6449_ = v___x_6623_;
goto v___jp_6448_;
}
else
{
lean_dec(v_a_6619_);
lean_dec(v_a_6617_);
lean_dec(v_a_6615_);
lean_dec(v_a_6612_);
lean_dec(v_a_6609_);
lean_dec(v_a_6607_);
v___y_6469_ = v___x_6620_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6617_);
lean_dec(v_a_6615_);
lean_dec(v_a_6612_);
lean_dec(v_a_6609_);
lean_dec(v_a_6607_);
lean_dec_ref(v_c_u2082_6604_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6618_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6615_);
lean_dec(v_a_6612_);
lean_dec(v_a_6609_);
lean_dec(v_a_6607_);
lean_dec_ref(v_c_u2082_6604_);
lean_dec_ref(v_c_u2081_6603_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6616_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6612_);
lean_dec(v_a_6609_);
lean_dec(v_a_6607_);
lean_dec_ref(v_c_u2082_6604_);
lean_dec_ref(v_c_u2081_6603_);
lean_dec(v_p_6601_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6614_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6609_);
lean_dec(v_a_6607_);
lean_dec_ref(v_c_u2082_6604_);
lean_dec_ref(v_c_u2081_6603_);
lean_dec(v_p_6601_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6611_;
goto v___jp_6468_;
}
}
else
{
lean_dec(v_a_6607_);
lean_dec_ref(v_c_u2082_6604_);
lean_dec_ref(v_c_u2081_6603_);
lean_dec(v_p_6601_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6608_;
goto v___jp_6468_;
}
}
else
{
lean_dec_ref(v_c_u2082_6604_);
lean_dec_ref(v_c_u2081_6603_);
lean_dec(v_x_6602_);
lean_dec(v_p_6601_);
lean_dec(v_a_6443_);
lean_dec_ref(v_a_6442_);
lean_dec(v_a_6441_);
lean_dec_ref(v_a_6440_);
lean_dec(v_a_6439_);
lean_dec_ref(v_a_6438_);
lean_dec(v_a_6437_);
lean_dec_ref(v_a_6436_);
lean_dec(v_a_6435_);
lean_dec(v_a_6434_);
lean_dec_ref(v_a_6431_);
v___y_6469_ = v___x_6606_;
goto v___jp_6468_;
}
}
}
}
v___jp_6448_:
{
lean_object* v___x_6450_; lean_object* v_cache_6451_; lean_object* v_varDecls_6452_; lean_object* v_polyDecls_6453_; lean_object* v_exprDecls_6454_; lean_object* v_ringPolyDecls_6455_; lean_object* v_ringExprDecls_6456_; lean_object* v_ringVarDecls_6457_; lean_object* v___x_6459_; uint8_t v_isShared_6460_; uint8_t v_isSharedCheck_6467_; 
v___x_6450_ = lean_st_ref_take(v_a_6432_);
v_cache_6451_ = lean_ctor_get(v___x_6450_, 0);
v_varDecls_6452_ = lean_ctor_get(v___x_6450_, 1);
v_polyDecls_6453_ = lean_ctor_get(v___x_6450_, 2);
v_exprDecls_6454_ = lean_ctor_get(v___x_6450_, 3);
v_ringPolyDecls_6455_ = lean_ctor_get(v___x_6450_, 4);
v_ringExprDecls_6456_ = lean_ctor_get(v___x_6450_, 5);
v_ringVarDecls_6457_ = lean_ctor_get(v___x_6450_, 6);
v_isSharedCheck_6467_ = !lean_is_exclusive(v___x_6450_);
if (v_isSharedCheck_6467_ == 0)
{
v___x_6459_ = v___x_6450_;
v_isShared_6460_ = v_isSharedCheck_6467_;
goto v_resetjp_6458_;
}
else
{
lean_inc(v_ringVarDecls_6457_);
lean_inc(v_ringExprDecls_6456_);
lean_inc(v_ringPolyDecls_6455_);
lean_inc(v_exprDecls_6454_);
lean_inc(v_polyDecls_6453_);
lean_inc(v_varDecls_6452_);
lean_inc(v_cache_6451_);
lean_dec(v___x_6450_);
v___x_6459_ = lean_box(0);
v_isShared_6460_ = v_isSharedCheck_6467_;
goto v_resetjp_6458_;
}
v_resetjp_6458_:
{
lean_object* v___x_6461_; lean_object* v___x_6463_; 
lean_inc_ref(v_a_6449_);
v___x_6461_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0___redArg(v_cache_6451_, v_addr_6447_, v_a_6449_);
if (v_isShared_6460_ == 0)
{
lean_ctor_set(v___x_6459_, 0, v___x_6461_);
v___x_6463_ = v___x_6459_;
goto v_reusejp_6462_;
}
else
{
lean_object* v_reuseFailAlloc_6466_; 
v_reuseFailAlloc_6466_ = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(v_reuseFailAlloc_6466_, 0, v___x_6461_);
lean_ctor_set(v_reuseFailAlloc_6466_, 1, v_varDecls_6452_);
lean_ctor_set(v_reuseFailAlloc_6466_, 2, v_polyDecls_6453_);
lean_ctor_set(v_reuseFailAlloc_6466_, 3, v_exprDecls_6454_);
lean_ctor_set(v_reuseFailAlloc_6466_, 4, v_ringPolyDecls_6455_);
lean_ctor_set(v_reuseFailAlloc_6466_, 5, v_ringExprDecls_6456_);
lean_ctor_set(v_reuseFailAlloc_6466_, 6, v_ringVarDecls_6457_);
v___x_6463_ = v_reuseFailAlloc_6466_;
goto v_reusejp_6462_;
}
v_reusejp_6462_:
{
lean_object* v___x_6464_; lean_object* v___x_6465_; 
v___x_6464_ = lean_st_ref_set(v_a_6432_, v___x_6463_);
v___x_6465_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6465_, 0, v_a_6449_);
return v___x_6465_;
}
}
}
v___jp_6468_:
{
if (lean_obj_tag(v___y_6469_) == 0)
{
lean_object* v_a_6470_; 
v_a_6470_ = lean_ctor_get(v___y_6469_, 0);
lean_inc(v_a_6470_);
lean_dec_ref(v___y_6469_);
v_a_6449_ = v_a_6470_;
goto v___jp_6448_;
}
else
{
return v___y_6469_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___boxed(lean_object* v_c_x27_6624_, lean_object* v_a_6625_, lean_object* v_a_6626_, lean_object* v_a_6627_, lean_object* v_a_6628_, lean_object* v_a_6629_, lean_object* v_a_6630_, lean_object* v_a_6631_, lean_object* v_a_6632_, lean_object* v_a_6633_, lean_object* v_a_6634_, lean_object* v_a_6635_, lean_object* v_a_6636_, lean_object* v_a_6637_, lean_object* v_a_6638_){
_start:
{
lean_object* v_res_6639_; 
v_res_6639_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof(v_c_x27_6624_, v_a_6625_, v_a_6626_, v_a_6627_, v_a_6628_, v_a_6629_, v_a_6630_, v_a_6631_, v_a_6632_, v_a_6633_, v_a_6634_, v_a_6635_, v_a_6636_, v_a_6637_);
lean_dec(v_a_6627_);
lean_dec(v_a_6626_);
return v_res_6639_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0(lean_object* v_00_u03b2_6640_, lean_object* v_m_6641_, uint64_t v_a_6642_, lean_object* v_b_6643_){
_start:
{
lean_object* v___x_6644_; 
v___x_6644_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0___redArg(v_m_6641_, v_a_6642_, v_b_6643_);
return v___x_6644_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0___boxed(lean_object* v_00_u03b2_6645_, lean_object* v_m_6646_, lean_object* v_a_6647_, lean_object* v_b_6648_){
_start:
{
uint64_t v_a_boxed_6649_; lean_object* v_res_6650_; 
v_a_boxed_6649_ = lean_unbox_uint64(v_a_6647_);
lean_dec_ref(v_a_6647_);
v_res_6650_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0(v_00_u03b2_6645_, v_m_6646_, v_a_boxed_6649_, v_b_6648_);
return v_res_6650_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1(lean_object* v_00_u03b2_6651_, lean_object* v_m_6652_, uint64_t v_a_6653_){
_start:
{
lean_object* v___x_6654_; 
v___x_6654_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1___redArg(v_m_6652_, v_a_6653_);
return v___x_6654_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1___boxed(lean_object* v_00_u03b2_6655_, lean_object* v_m_6656_, lean_object* v_a_6657_){
_start:
{
uint64_t v_a_boxed_6658_; lean_object* v_res_6659_; 
v_a_boxed_6658_ = lean_unbox_uint64(v_a_6657_);
lean_dec_ref(v_a_6657_);
v_res_6659_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1(v_00_u03b2_6655_, v_m_6656_, v_a_boxed_6658_);
lean_dec_ref(v_m_6656_);
return v_res_6659_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2(lean_object* v_00_u03b1_6660_, lean_object* v_msg_6661_, lean_object* v___y_6662_, lean_object* v___y_6663_, lean_object* v___y_6664_, lean_object* v___y_6665_, lean_object* v___y_6666_, lean_object* v___y_6667_, lean_object* v___y_6668_, lean_object* v___y_6669_, lean_object* v___y_6670_, lean_object* v___y_6671_, lean_object* v___y_6672_, lean_object* v___y_6673_, lean_object* v___y_6674_){
_start:
{
lean_object* v___x_6676_; 
v___x_6676_ = l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2___redArg(v_msg_6661_, v___y_6671_, v___y_6672_, v___y_6673_, v___y_6674_);
return v___x_6676_;
}
}
LEAN_EXPORT lean_object* l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2___boxed(lean_object* v_00_u03b1_6677_, lean_object* v_msg_6678_, lean_object* v___y_6679_, lean_object* v___y_6680_, lean_object* v___y_6681_, lean_object* v___y_6682_, lean_object* v___y_6683_, lean_object* v___y_6684_, lean_object* v___y_6685_, lean_object* v___y_6686_, lean_object* v___y_6687_, lean_object* v___y_6688_, lean_object* v___y_6689_, lean_object* v___y_6690_, lean_object* v___y_6691_, lean_object* v___y_6692_){
_start:
{
lean_object* v_res_6693_; 
v_res_6693_ = l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2(v_00_u03b1_6677_, v_msg_6678_, v___y_6679_, v___y_6680_, v___y_6681_, v___y_6682_, v___y_6683_, v___y_6684_, v___y_6685_, v___y_6686_, v___y_6687_, v___y_6688_, v___y_6689_, v___y_6690_, v___y_6691_);
lean_dec(v___y_6691_);
lean_dec_ref(v___y_6690_);
lean_dec(v___y_6689_);
lean_dec_ref(v___y_6688_);
lean_dec(v___y_6687_);
lean_dec_ref(v___y_6686_);
lean_dec(v___y_6685_);
lean_dec_ref(v___y_6684_);
lean_dec(v___y_6683_);
lean_dec(v___y_6682_);
lean_dec(v___y_6681_);
lean_dec(v___y_6680_);
lean_dec_ref(v___y_6679_);
return v_res_6693_;
}
}
LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__0(lean_object* v_00_u03b2_6694_, uint64_t v_a_6695_, lean_object* v_x_6696_){
_start:
{
uint8_t v___x_6697_; 
v___x_6697_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__0___redArg(v_a_6695_, v_x_6696_);
return v___x_6697_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__0___boxed(lean_object* v_00_u03b2_6698_, lean_object* v_a_6699_, lean_object* v_x_6700_){
_start:
{
uint64_t v_a_boxed_6701_; uint8_t v_res_6702_; lean_object* v_r_6703_; 
v_a_boxed_6701_ = lean_unbox_uint64(v_a_6699_);
lean_dec_ref(v_a_6699_);
v_res_6702_ = l_Std_DHashMap_Internal_AssocList_contains___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__0(v_00_u03b2_6698_, v_a_boxed_6701_, v_x_6700_);
lean_dec(v_x_6700_);
v_r_6703_ = lean_box(v_res_6702_);
return v_r_6703_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1(lean_object* v_00_u03b2_6704_, lean_object* v_data_6705_){
_start:
{
lean_object* v___x_6706_; 
v___x_6706_ = l_Std_DHashMap_Internal_Raw_u2080_expand___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1___redArg(v_data_6705_);
return v___x_6706_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2(lean_object* v_00_u03b2_6707_, uint64_t v_a_6708_, lean_object* v_b_6709_, lean_object* v_x_6710_){
_start:
{
lean_object* v___x_6711_; 
v___x_6711_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2___redArg(v_a_6708_, v_b_6709_, v_x_6710_);
return v___x_6711_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2___boxed(lean_object* v_00_u03b2_6712_, lean_object* v_a_6713_, lean_object* v_b_6714_, lean_object* v_x_6715_){
_start:
{
uint64_t v_a_boxed_6716_; lean_object* v_res_6717_; 
v_a_boxed_6716_ = lean_unbox_uint64(v_a_6713_);
lean_dec_ref(v_a_6713_);
v_res_6717_ = l_Std_DHashMap_Internal_AssocList_replace___at___00Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__2(v_00_u03b2_6712_, v_a_boxed_6716_, v_b_6714_, v_x_6715_);
return v_res_6717_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1_spec__4(lean_object* v_00_u03b2_6718_, uint64_t v_a_6719_, lean_object* v_x_6720_){
_start:
{
lean_object* v___x_6721_; 
v___x_6721_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1_spec__4___redArg(v_a_6719_, v_x_6720_);
return v___x_6721_;
}
}
LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1_spec__4___boxed(lean_object* v_00_u03b2_6722_, lean_object* v_a_6723_, lean_object* v_x_6724_){
_start:
{
uint64_t v_a_boxed_6725_; lean_object* v_res_6726_; 
v_a_boxed_6725_ = lean_unbox_uint64(v_a_6723_);
lean_dec_ref(v_a_6723_);
v_res_6726_ = l_Std_DHashMap_Internal_AssocList_get_x3f___at___00Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1_spec__4(v_00_u03b2_6722_, v_a_boxed_6725_, v_x_6724_);
lean_dec(v_x_6724_);
return v_res_6726_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1_spec__2(lean_object* v_00_u03b2_6727_, lean_object* v_i_6728_, lean_object* v_source_6729_, lean_object* v_target_6730_){
_start:
{
lean_object* v___x_6731_; 
v___x_6731_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1_spec__2___redArg(v_i_6728_, v_source_6729_, v_target_6730_);
return v___x_6731_;
}
}
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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1_spec__2_spec__6(lean_object* v_00_u03b2_6732_, lean_object* v_x_6733_, lean_object* v_x_6734_){
_start:
{
lean_object* v___x_6735_; 
v___x_6735_ = 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_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0_spec__1_spec__2_spec__6___redArg(v_x_6733_, v_x_6734_);
return v___x_6735_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof(lean_object* v_c_x27_6772_, lean_object* v_a_6773_, lean_object* v_a_6774_, lean_object* v_a_6775_, lean_object* v_a_6776_, lean_object* v_a_6777_, lean_object* v_a_6778_, lean_object* v_a_6779_, lean_object* v_a_6780_, lean_object* v_a_6781_, lean_object* v_a_6782_, lean_object* v_a_6783_, lean_object* v_a_6784_, lean_object* v_a_6785_){
_start:
{
lean_object* v___x_6787_; lean_object* v_cache_6788_; uint64_t v_addr_6789_; lean_object* v_a_6791_; lean_object* v___y_6811_; lean_object* v___x_6813_; 
v___x_6787_ = lean_st_ref_get(v_a_6774_);
v_cache_6788_ = lean_ctor_get(v___x_6787_, 0);
lean_inc_ref(v_cache_6788_);
lean_dec(v___x_6787_);
v_addr_6789_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___redArg(v_c_x27_6772_);
v___x_6813_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1___redArg(v_cache_6788_, v_addr_6789_);
lean_dec_ref(v_cache_6788_);
if (lean_obj_tag(v___x_6813_) == 1)
{
lean_object* v_val_6814_; lean_object* v___x_6816_; uint8_t v_isShared_6817_; uint8_t v_isSharedCheck_6821_; 
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
lean_dec_ref(v_c_x27_6772_);
v_val_6814_ = lean_ctor_get(v___x_6813_, 0);
v_isSharedCheck_6821_ = !lean_is_exclusive(v___x_6813_);
if (v_isSharedCheck_6821_ == 0)
{
v___x_6816_ = v___x_6813_;
v_isShared_6817_ = v_isSharedCheck_6821_;
goto v_resetjp_6815_;
}
else
{
lean_inc(v_val_6814_);
lean_dec(v___x_6813_);
v___x_6816_ = lean_box(0);
v_isShared_6817_ = v_isSharedCheck_6821_;
goto v_resetjp_6815_;
}
v_resetjp_6815_:
{
lean_object* v___x_6819_; 
if (v_isShared_6817_ == 0)
{
lean_ctor_set_tag(v___x_6816_, 0);
v___x_6819_ = v___x_6816_;
goto v_reusejp_6818_;
}
else
{
lean_object* v_reuseFailAlloc_6820_; 
v_reuseFailAlloc_6820_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6820_, 0, v_val_6814_);
v___x_6819_ = v_reuseFailAlloc_6820_;
goto v_reusejp_6818_;
}
v_reusejp_6818_:
{
return v___x_6819_;
}
}
}
else
{
lean_object* v_h_6822_; 
lean_dec(v___x_6813_);
v_h_6822_ = lean_ctor_get(v_c_x27_6772_, 1);
lean_inc(v_h_6822_);
switch(lean_obj_tag(v_h_6822_))
{
case 0:
{
lean_object* v_p_6823_; lean_object* v_a_6824_; lean_object* v_b_6825_; lean_object* v_lhs_6826_; lean_object* v_rhs_6827_; lean_object* v___x_6828_; lean_object* v___x_6829_; 
v_p_6823_ = lean_ctor_get(v_c_x27_6772_, 0);
lean_inc(v_p_6823_);
lean_dec_ref(v_c_x27_6772_);
v_a_6824_ = lean_ctor_get(v_h_6822_, 0);
lean_inc_ref(v_a_6824_);
v_b_6825_ = lean_ctor_get(v_h_6822_, 1);
lean_inc_ref(v_b_6825_);
v_lhs_6826_ = lean_ctor_get(v_h_6822_, 2);
lean_inc(v_lhs_6826_);
v_rhs_6827_ = lean_ctor_get(v_h_6822_, 3);
lean_inc(v_rhs_6827_);
lean_dec_ref(v_h_6822_);
v___x_6828_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__0));
lean_inc_ref(v_a_6773_);
v___x_6829_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v___x_6828_, v_a_6773_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6829_) == 0)
{
lean_object* v_a_6830_; lean_object* v___x_6831_; 
v_a_6830_ = lean_ctor_get(v___x_6829_, 0);
lean_inc(v_a_6830_);
lean_dec_ref(v___x_6829_);
v___x_6831_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lhs_6826_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6831_) == 0)
{
lean_object* v_a_6832_; lean_object* v___x_6833_; 
v_a_6832_ = lean_ctor_get(v___x_6831_, 0);
lean_inc(v_a_6832_);
lean_dec_ref(v___x_6831_);
v___x_6833_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_rhs_6827_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6833_) == 0)
{
lean_object* v_a_6834_; lean_object* v___x_6835_; 
v_a_6834_ = lean_ctor_get(v___x_6833_, 0);
lean_inc(v_a_6834_);
lean_dec_ref(v___x_6833_);
v___x_6835_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6823_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
lean_dec_ref(v_a_6773_);
if (lean_obj_tag(v___x_6835_) == 0)
{
lean_object* v_a_6836_; lean_object* v___x_6837_; 
v_a_6836_ = lean_ctor_get(v___x_6835_, 0);
lean_inc(v_a_6836_);
lean_dec_ref(v___x_6835_);
v___x_6837_ = l_Lean_Meta_Grind_mkDiseqProof(v_a_6824_, v_b_6825_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6837_) == 0)
{
lean_object* v_a_6838_; lean_object* v___x_6839_; lean_object* v___x_6840_; 
v_a_6838_ = lean_ctor_get(v___x_6837_, 0);
lean_inc(v_a_6838_);
lean_dec_ref(v___x_6837_);
v___x_6839_ = l_Lean_eagerReflBoolTrue;
v___x_6840_ = l_Lean_mkApp5(v_a_6830_, v_a_6832_, v_a_6834_, v_a_6836_, v___x_6839_, v_a_6838_);
v_a_6791_ = v___x_6840_;
goto v___jp_6790_;
}
else
{
lean_dec(v_a_6836_);
lean_dec(v_a_6834_);
lean_dec(v_a_6832_);
lean_dec(v_a_6830_);
v___y_6811_ = v___x_6837_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6834_);
lean_dec(v_a_6832_);
lean_dec(v_a_6830_);
lean_dec_ref(v_b_6825_);
lean_dec_ref(v_a_6824_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
v___y_6811_ = v___x_6835_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6832_);
lean_dec(v_a_6830_);
lean_dec_ref(v_b_6825_);
lean_dec_ref(v_a_6824_);
lean_dec(v_p_6823_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6833_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6830_);
lean_dec(v_rhs_6827_);
lean_dec_ref(v_b_6825_);
lean_dec_ref(v_a_6824_);
lean_dec(v_p_6823_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6831_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_rhs_6827_);
lean_dec(v_lhs_6826_);
lean_dec_ref(v_b_6825_);
lean_dec_ref(v_a_6824_);
lean_dec(v_p_6823_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6829_;
goto v___jp_6810_;
}
}
case 1:
{
lean_object* v_p_6841_; lean_object* v_c_6842_; lean_object* v_lhs_6843_; lean_object* v___x_6844_; 
v_p_6841_ = lean_ctor_get(v_c_x27_6772_, 0);
lean_inc(v_p_6841_);
lean_dec_ref(v_c_x27_6772_);
v_c_6842_ = lean_ctor_get(v_h_6822_, 0);
lean_inc_ref(v_c_6842_);
v_lhs_6843_ = lean_ctor_get(v_h_6822_, 1);
lean_inc(v_lhs_6843_);
lean_dec_ref(v_h_6822_);
lean_inc(v_a_6785_);
lean_inc_ref(v_a_6784_);
lean_inc(v_a_6783_);
lean_inc_ref(v_a_6782_);
lean_inc(v_a_6781_);
lean_inc_ref(v_a_6780_);
lean_inc(v_a_6779_);
lean_inc_ref(v_a_6778_);
lean_inc(v_a_6777_);
lean_inc(v_a_6776_);
lean_inc_ref(v_a_6773_);
lean_inc_ref(v_c_6842_);
v___x_6844_ = l_Lean_Meta_Grind_Arith_Linear_RingDiseqCnstr_toExprProof(v_c_6842_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6844_) == 0)
{
lean_object* v_a_6845_; lean_object* v___x_6846_; lean_object* v___x_6847_; 
v_a_6845_ = lean_ctor_get(v___x_6844_, 0);
lean_inc(v_a_6845_);
lean_dec_ref(v___x_6844_);
v___x_6846_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__2));
lean_inc_ref(v_a_6773_);
v___x_6847_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg(v___x_6846_, v_a_6773_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6847_) == 0)
{
lean_object* v_a_6848_; lean_object* v_p_6849_; lean_object* v___x_6850_; 
v_a_6848_ = lean_ctor_get(v___x_6847_, 0);
lean_inc(v_a_6848_);
lean_dec_ref(v___x_6847_);
v_p_6849_ = lean_ctor_get(v_c_6842_, 0);
lean_inc_ref(v_p_6849_);
lean_dec_ref(v_c_6842_);
v___x_6850_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_6849_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6850_) == 0)
{
lean_object* v_a_6851_; lean_object* v___x_6852_; lean_object* v___x_6853_; 
v_a_6851_ = lean_ctor_get(v___x_6850_, 0);
lean_inc(v_a_6851_);
lean_dec_ref(v___x_6850_);
v___x_6852_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__0));
lean_inc_ref(v_a_6773_);
v___x_6853_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v___x_6852_, v_a_6773_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6853_) == 0)
{
lean_object* v_a_6854_; lean_object* v___x_6855_; 
v_a_6854_ = lean_ctor_get(v___x_6853_, 0);
lean_inc(v_a_6854_);
lean_dec_ref(v___x_6853_);
v___x_6855_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lhs_6843_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6855_) == 0)
{
lean_object* v_a_6856_; lean_object* v___x_6857_; lean_object* v___x_6858_; 
v_a_6856_ = lean_ctor_get(v___x_6855_, 0);
lean_inc(v_a_6856_);
lean_dec_ref(v___x_6855_);
v___x_6857_ = lean_box(0);
v___x_6858_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v___x_6857_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6858_) == 0)
{
lean_object* v_a_6859_; lean_object* v___x_6860_; 
v_a_6859_ = lean_ctor_get(v___x_6858_, 0);
lean_inc(v_a_6859_);
lean_dec_ref(v___x_6858_);
v___x_6860_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6841_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
if (lean_obj_tag(v___x_6860_) == 0)
{
lean_object* v_a_6861_; lean_object* v___x_6862_; lean_object* v___x_6863_; lean_object* v___x_6864_; 
v_a_6861_ = lean_ctor_get(v___x_6860_, 0);
lean_inc(v_a_6861_);
lean_dec_ref(v___x_6860_);
v___x_6862_ = l_Lean_mkAppB(v_a_6848_, v_a_6851_, v_a_6845_);
v___x_6863_ = l_Lean_eagerReflBoolTrue;
v___x_6864_ = l_Lean_mkApp5(v_a_6854_, v_a_6856_, v_a_6859_, v_a_6861_, v___x_6863_, v___x_6862_);
v_a_6791_ = v___x_6864_;
goto v___jp_6790_;
}
else
{
lean_dec(v_a_6859_);
lean_dec(v_a_6856_);
lean_dec(v_a_6854_);
lean_dec(v_a_6851_);
lean_dec(v_a_6848_);
lean_dec(v_a_6845_);
v___y_6811_ = v___x_6860_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6856_);
lean_dec(v_a_6854_);
lean_dec(v_a_6851_);
lean_dec(v_a_6848_);
lean_dec(v_a_6845_);
lean_dec(v_p_6841_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6858_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6854_);
lean_dec(v_a_6851_);
lean_dec(v_a_6848_);
lean_dec(v_a_6845_);
lean_dec(v_p_6841_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6855_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6851_);
lean_dec(v_a_6848_);
lean_dec(v_a_6845_);
lean_dec(v_lhs_6843_);
lean_dec(v_p_6841_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6853_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6848_);
lean_dec(v_a_6845_);
lean_dec(v_lhs_6843_);
lean_dec(v_p_6841_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6850_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6845_);
lean_dec(v_lhs_6843_);
lean_dec_ref(v_c_6842_);
lean_dec(v_p_6841_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6847_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_lhs_6843_);
lean_dec_ref(v_c_6842_);
lean_dec(v_p_6841_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6844_;
goto v___jp_6810_;
}
}
case 2:
{
lean_object* v_p_6865_; lean_object* v_a_6866_; lean_object* v_b_6867_; lean_object* v_natStructId_6868_; lean_object* v_lhs_6869_; lean_object* v_rhs_6870_; lean_object* v_a_6872_; lean_object* v___x_6884_; 
v_p_6865_ = lean_ctor_get(v_c_x27_6772_, 0);
lean_inc(v_p_6865_);
lean_dec_ref(v_c_x27_6772_);
v_a_6866_ = lean_ctor_get(v_h_6822_, 0);
lean_inc_ref(v_a_6866_);
v_b_6867_ = lean_ctor_get(v_h_6822_, 1);
lean_inc_ref(v_b_6867_);
v_natStructId_6868_ = lean_ctor_get(v_h_6822_, 2);
lean_inc(v_natStructId_6868_);
v_lhs_6869_ = lean_ctor_get(v_h_6822_, 3);
lean_inc(v_lhs_6869_);
v_rhs_6870_ = lean_ctor_get(v_h_6822_, 4);
lean_inc(v_rhs_6870_);
lean_dec_ref(v_h_6822_);
v___x_6884_ = l_Lean_Meta_Grind_Arith_Linear_getNatStruct(v_natStructId_6868_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6884_) == 0)
{
lean_object* v_a_6885_; lean_object* v___x_6886_; 
v_a_6885_ = lean_ctor_get(v___x_6884_, 0);
lean_inc(v_a_6885_);
lean_dec_ref(v___x_6884_);
lean_inc(v_a_6785_);
lean_inc_ref(v_a_6784_);
lean_inc(v_a_6783_);
lean_inc_ref(v_a_6782_);
lean_inc(v_a_6781_);
lean_inc_ref(v_a_6780_);
lean_inc(v_a_6779_);
lean_inc_ref(v_a_6778_);
lean_inc(v_a_6777_);
lean_inc(v_a_6776_);
lean_inc(v_natStructId_6868_);
lean_inc_ref(v_a_6866_);
v___x_6886_ = l_Lean_Meta_Grind_Arith_Linear_ofNatModule(v_a_6866_, v_natStructId_6868_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6886_) == 0)
{
lean_object* v_a_6887_; lean_object* v_fst_6888_; lean_object* v_snd_6889_; lean_object* v___x_6890_; 
v_a_6887_ = lean_ctor_get(v___x_6886_, 0);
lean_inc(v_a_6887_);
lean_dec_ref(v___x_6886_);
v_fst_6888_ = lean_ctor_get(v_a_6887_, 0);
lean_inc(v_fst_6888_);
v_snd_6889_ = lean_ctor_get(v_a_6887_, 1);
lean_inc(v_snd_6889_);
lean_dec(v_a_6887_);
lean_inc(v_a_6785_);
lean_inc_ref(v_a_6784_);
lean_inc(v_a_6783_);
lean_inc_ref(v_a_6782_);
lean_inc(v_a_6781_);
lean_inc_ref(v_a_6780_);
lean_inc(v_a_6779_);
lean_inc_ref(v_a_6778_);
lean_inc(v_a_6777_);
lean_inc(v_a_6776_);
lean_inc_ref(v_b_6867_);
v___x_6890_ = l_Lean_Meta_Grind_Arith_Linear_ofNatModule(v_b_6867_, v_natStructId_6868_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6890_) == 0)
{
lean_object* v_a_6891_; lean_object* v_fst_6892_; lean_object* v_snd_6893_; lean_object* v___x_6895_; uint8_t v_isShared_6896_; uint8_t v_isSharedCheck_6916_; 
v_a_6891_ = lean_ctor_get(v___x_6890_, 0);
lean_inc(v_a_6891_);
lean_dec_ref(v___x_6890_);
v_fst_6892_ = lean_ctor_get(v_a_6891_, 0);
v_snd_6893_ = lean_ctor_get(v_a_6891_, 1);
v_isSharedCheck_6916_ = !lean_is_exclusive(v_a_6891_);
if (v_isSharedCheck_6916_ == 0)
{
v___x_6895_ = v_a_6891_;
v_isShared_6896_ = v_isSharedCheck_6916_;
goto v_resetjp_6894_;
}
else
{
lean_inc(v_snd_6893_);
lean_inc(v_fst_6892_);
lean_dec(v_a_6891_);
v___x_6895_ = lean_box(0);
v_isShared_6896_ = v_isSharedCheck_6916_;
goto v_resetjp_6894_;
}
v_resetjp_6894_:
{
lean_object* v___x_6897_; 
lean_inc(v_a_6785_);
lean_inc_ref(v_a_6784_);
lean_inc(v_a_6783_);
lean_inc_ref(v_a_6782_);
lean_inc(v_a_6781_);
lean_inc_ref(v_a_6780_);
lean_inc(v_a_6779_);
lean_inc_ref(v_a_6778_);
lean_inc(v_a_6777_);
lean_inc(v_a_6776_);
lean_inc_ref(v_b_6867_);
lean_inc_ref(v_a_6866_);
v___x_6897_ = l_Lean_Meta_Grind_mkDiseqProof(v_a_6866_, v_b_6867_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6897_) == 0)
{
lean_object* v_a_6898_; lean_object* v_type_6899_; lean_object* v_u_6900_; lean_object* v_natModuleInst_6901_; lean_object* v_addRightCancelInst_x3f_6902_; lean_object* v___x_6903_; lean_object* v___x_6904_; lean_object* v___x_6906_; 
v_a_6898_ = lean_ctor_get(v___x_6897_, 0);
lean_inc(v_a_6898_);
lean_dec_ref(v___x_6897_);
v_type_6899_ = lean_ctor_get(v_a_6885_, 2);
lean_inc_ref(v_type_6899_);
v_u_6900_ = lean_ctor_get(v_a_6885_, 3);
lean_inc(v_u_6900_);
v_natModuleInst_6901_ = lean_ctor_get(v_a_6885_, 4);
lean_inc_ref(v_natModuleInst_6901_);
v_addRightCancelInst_x3f_6902_ = lean_ctor_get(v_a_6885_, 11);
lean_inc(v_addRightCancelInst_x3f_6902_);
lean_dec(v_a_6885_);
v___x_6903_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__4));
v___x_6904_ = lean_box(0);
if (v_isShared_6896_ == 0)
{
lean_ctor_set_tag(v___x_6895_, 1);
lean_ctor_set(v___x_6895_, 1, v___x_6904_);
lean_ctor_set(v___x_6895_, 0, v_u_6900_);
v___x_6906_ = v___x_6895_;
goto v_reusejp_6905_;
}
else
{
lean_object* v_reuseFailAlloc_6914_; 
v_reuseFailAlloc_6914_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_6914_, 0, v_u_6900_);
lean_ctor_set(v_reuseFailAlloc_6914_, 1, v___x_6904_);
v___x_6906_ = v_reuseFailAlloc_6914_;
goto v_reusejp_6905_;
}
v_reusejp_6905_:
{
lean_object* v___x_6907_; lean_object* v___y_6909_; 
v___x_6907_ = l_Lean_mkConst(v___x_6903_, v___x_6906_);
if (lean_obj_tag(v_addRightCancelInst_x3f_6902_) == 0)
{
lean_object* v___x_6911_; lean_object* v___x_6912_; 
v___x_6911_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_6912_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_6911_);
v___y_6909_ = v___x_6912_;
goto v___jp_6908_;
}
else
{
lean_object* v_val_6913_; 
v_val_6913_ = lean_ctor_get(v_addRightCancelInst_x3f_6902_, 0);
lean_inc(v_val_6913_);
lean_dec_ref(v_addRightCancelInst_x3f_6902_);
v___y_6909_ = v_val_6913_;
goto v___jp_6908_;
}
v___jp_6908_:
{
lean_object* v___x_6910_; 
v___x_6910_ = l_Lean_mkApp10(v___x_6907_, v_type_6899_, v_natModuleInst_6901_, v___y_6909_, v_a_6866_, v_b_6867_, v_fst_6888_, v_fst_6892_, v_snd_6889_, v_snd_6893_, v_a_6898_);
v_a_6872_ = v___x_6910_;
goto v___jp_6871_;
}
}
}
else
{
lean_del_object(v___x_6895_);
lean_dec(v_snd_6893_);
lean_dec(v_fst_6892_);
lean_dec(v_snd_6889_);
lean_dec(v_fst_6888_);
lean_dec(v_a_6885_);
lean_dec_ref(v_b_6867_);
lean_dec_ref(v_a_6866_);
if (lean_obj_tag(v___x_6897_) == 0)
{
lean_object* v_a_6915_; 
v_a_6915_ = lean_ctor_get(v___x_6897_, 0);
lean_inc(v_a_6915_);
lean_dec_ref(v___x_6897_);
v_a_6872_ = v_a_6915_;
goto v___jp_6871_;
}
else
{
lean_dec(v_rhs_6870_);
lean_dec(v_lhs_6869_);
lean_dec(v_p_6865_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6897_;
goto v___jp_6810_;
}
}
}
}
else
{
lean_object* v_a_6917_; lean_object* v___x_6919_; uint8_t v_isShared_6920_; uint8_t v_isSharedCheck_6924_; 
lean_dec(v_snd_6889_);
lean_dec(v_fst_6888_);
lean_dec(v_a_6885_);
lean_dec(v_rhs_6870_);
lean_dec(v_lhs_6869_);
lean_dec_ref(v_b_6867_);
lean_dec_ref(v_a_6866_);
lean_dec(v_p_6865_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v_a_6917_ = lean_ctor_get(v___x_6890_, 0);
v_isSharedCheck_6924_ = !lean_is_exclusive(v___x_6890_);
if (v_isSharedCheck_6924_ == 0)
{
v___x_6919_ = v___x_6890_;
v_isShared_6920_ = v_isSharedCheck_6924_;
goto v_resetjp_6918_;
}
else
{
lean_inc(v_a_6917_);
lean_dec(v___x_6890_);
v___x_6919_ = lean_box(0);
v_isShared_6920_ = v_isSharedCheck_6924_;
goto v_resetjp_6918_;
}
v_resetjp_6918_:
{
lean_object* v___x_6922_; 
if (v_isShared_6920_ == 0)
{
v___x_6922_ = v___x_6919_;
goto v_reusejp_6921_;
}
else
{
lean_object* v_reuseFailAlloc_6923_; 
v_reuseFailAlloc_6923_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6923_, 0, v_a_6917_);
v___x_6922_ = v_reuseFailAlloc_6923_;
goto v_reusejp_6921_;
}
v_reusejp_6921_:
{
return v___x_6922_;
}
}
}
}
else
{
lean_object* v_a_6925_; lean_object* v___x_6927_; uint8_t v_isShared_6928_; uint8_t v_isSharedCheck_6932_; 
lean_dec(v_a_6885_);
lean_dec(v_rhs_6870_);
lean_dec(v_lhs_6869_);
lean_dec(v_natStructId_6868_);
lean_dec_ref(v_b_6867_);
lean_dec_ref(v_a_6866_);
lean_dec(v_p_6865_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v_a_6925_ = lean_ctor_get(v___x_6886_, 0);
v_isSharedCheck_6932_ = !lean_is_exclusive(v___x_6886_);
if (v_isSharedCheck_6932_ == 0)
{
v___x_6927_ = v___x_6886_;
v_isShared_6928_ = v_isSharedCheck_6932_;
goto v_resetjp_6926_;
}
else
{
lean_inc(v_a_6925_);
lean_dec(v___x_6886_);
v___x_6927_ = lean_box(0);
v_isShared_6928_ = v_isSharedCheck_6932_;
goto v_resetjp_6926_;
}
v_resetjp_6926_:
{
lean_object* v___x_6930_; 
if (v_isShared_6928_ == 0)
{
v___x_6930_ = v___x_6927_;
goto v_reusejp_6929_;
}
else
{
lean_object* v_reuseFailAlloc_6931_; 
v_reuseFailAlloc_6931_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6931_, 0, v_a_6925_);
v___x_6930_ = v_reuseFailAlloc_6931_;
goto v_reusejp_6929_;
}
v_reusejp_6929_:
{
return v___x_6930_;
}
}
}
}
else
{
lean_object* v_a_6933_; lean_object* v___x_6935_; uint8_t v_isShared_6936_; uint8_t v_isSharedCheck_6940_; 
lean_dec(v_rhs_6870_);
lean_dec(v_lhs_6869_);
lean_dec(v_natStructId_6868_);
lean_dec_ref(v_b_6867_);
lean_dec_ref(v_a_6866_);
lean_dec(v_p_6865_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v_a_6933_ = lean_ctor_get(v___x_6884_, 0);
v_isSharedCheck_6940_ = !lean_is_exclusive(v___x_6884_);
if (v_isSharedCheck_6940_ == 0)
{
v___x_6935_ = v___x_6884_;
v_isShared_6936_ = v_isSharedCheck_6940_;
goto v_resetjp_6934_;
}
else
{
lean_inc(v_a_6933_);
lean_dec(v___x_6884_);
v___x_6935_ = lean_box(0);
v_isShared_6936_ = v_isSharedCheck_6940_;
goto v_resetjp_6934_;
}
v_resetjp_6934_:
{
lean_object* v___x_6938_; 
if (v_isShared_6936_ == 0)
{
v___x_6938_ = v___x_6935_;
goto v_reusejp_6937_;
}
else
{
lean_object* v_reuseFailAlloc_6939_; 
v_reuseFailAlloc_6939_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_6939_, 0, v_a_6933_);
v___x_6938_ = v_reuseFailAlloc_6939_;
goto v_reusejp_6937_;
}
v_reusejp_6937_:
{
return v___x_6938_;
}
}
}
v___jp_6871_:
{
lean_object* v___x_6873_; lean_object* v___x_6874_; 
v___x_6873_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__0));
lean_inc_ref(v_a_6773_);
v___x_6874_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v___x_6873_, v_a_6773_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6874_) == 0)
{
lean_object* v_a_6875_; lean_object* v___x_6876_; 
v_a_6875_ = lean_ctor_get(v___x_6874_, 0);
lean_inc(v_a_6875_);
lean_dec_ref(v___x_6874_);
v___x_6876_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lhs_6869_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6876_) == 0)
{
lean_object* v_a_6877_; lean_object* v___x_6878_; 
v_a_6877_ = lean_ctor_get(v___x_6876_, 0);
lean_inc(v_a_6877_);
lean_dec_ref(v___x_6876_);
v___x_6878_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_rhs_6870_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6878_) == 0)
{
lean_object* v_a_6879_; lean_object* v___x_6880_; 
v_a_6879_ = lean_ctor_get(v___x_6878_, 0);
lean_inc(v_a_6879_);
lean_dec_ref(v___x_6878_);
v___x_6880_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6865_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
if (lean_obj_tag(v___x_6880_) == 0)
{
lean_object* v_a_6881_; lean_object* v___x_6882_; lean_object* v___x_6883_; 
v_a_6881_ = lean_ctor_get(v___x_6880_, 0);
lean_inc(v_a_6881_);
lean_dec_ref(v___x_6880_);
v___x_6882_ = l_Lean_eagerReflBoolTrue;
v___x_6883_ = l_Lean_mkApp5(v_a_6875_, v_a_6877_, v_a_6879_, v_a_6881_, v___x_6882_, v_a_6872_);
v_a_6791_ = v___x_6883_;
goto v___jp_6790_;
}
else
{
lean_dec(v_a_6879_);
lean_dec(v_a_6877_);
lean_dec(v_a_6875_);
lean_dec_ref(v_a_6872_);
v___y_6811_ = v___x_6880_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6877_);
lean_dec(v_a_6875_);
lean_dec_ref(v_a_6872_);
lean_dec(v_p_6865_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6878_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6875_);
lean_dec_ref(v_a_6872_);
lean_dec(v_rhs_6870_);
lean_dec(v_p_6865_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6876_;
goto v___jp_6810_;
}
}
else
{
lean_dec_ref(v_a_6872_);
lean_dec(v_rhs_6870_);
lean_dec(v_lhs_6869_);
lean_dec(v_p_6865_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6874_;
goto v___jp_6810_;
}
}
}
case 3:
{
lean_object* v_p_6941_; lean_object* v_c_6942_; lean_object* v___x_6943_; lean_object* v___x_6944_; 
v_p_6941_ = lean_ctor_get(v_c_x27_6772_, 0);
lean_inc(v_p_6941_);
lean_dec_ref(v_c_x27_6772_);
v_c_6942_ = lean_ctor_get(v_h_6822_, 0);
lean_inc_ref(v_c_6942_);
lean_dec_ref(v_h_6822_);
v___x_6943_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__6));
lean_inc_ref(v_a_6773_);
v___x_6944_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v___x_6943_, v_a_6773_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6944_) == 0)
{
lean_object* v_a_6945_; lean_object* v_p_6946_; lean_object* v___x_6947_; 
v_a_6945_ = lean_ctor_get(v___x_6944_, 0);
lean_inc(v_a_6945_);
lean_dec_ref(v___x_6944_);
v_p_6946_ = lean_ctor_get(v_c_6942_, 0);
lean_inc(v_p_6946_);
v___x_6947_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6946_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6947_) == 0)
{
lean_object* v_a_6948_; lean_object* v___x_6949_; 
v_a_6948_ = lean_ctor_get(v___x_6947_, 0);
lean_inc(v_a_6948_);
lean_dec_ref(v___x_6947_);
v___x_6949_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6941_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6949_) == 0)
{
lean_object* v_a_6950_; lean_object* v___x_6951_; 
v_a_6950_ = lean_ctor_get(v___x_6949_, 0);
lean_inc(v_a_6950_);
lean_dec_ref(v___x_6949_);
v___x_6951_ = l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof(v_c_6942_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6951_) == 0)
{
lean_object* v_a_6952_; lean_object* v___x_6953_; lean_object* v___x_6954_; 
v_a_6952_ = lean_ctor_get(v___x_6951_, 0);
lean_inc(v_a_6952_);
lean_dec_ref(v___x_6951_);
v___x_6953_ = l_Lean_eagerReflBoolTrue;
v___x_6954_ = l_Lean_mkApp4(v_a_6945_, v_a_6948_, v_a_6950_, v___x_6953_, v_a_6952_);
v_a_6791_ = v___x_6954_;
goto v___jp_6790_;
}
else
{
lean_dec(v_a_6950_);
lean_dec(v_a_6948_);
lean_dec(v_a_6945_);
v___y_6811_ = v___x_6951_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6948_);
lean_dec(v_a_6945_);
lean_dec_ref(v_c_6942_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6949_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6945_);
lean_dec_ref(v_c_6942_);
lean_dec(v_p_6941_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6947_;
goto v___jp_6810_;
}
}
else
{
lean_dec_ref(v_c_6942_);
lean_dec(v_p_6941_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6944_;
goto v___jp_6810_;
}
}
case 4:
{
lean_object* v_p_6955_; lean_object* v_k_u2081_6956_; lean_object* v_k_u2082_6957_; lean_object* v_c_u2081_6958_; lean_object* v_c_u2082_6959_; lean_object* v___x_6960_; lean_object* v___x_6961_; 
v_p_6955_ = lean_ctor_get(v_c_x27_6772_, 0);
lean_inc(v_p_6955_);
lean_dec_ref(v_c_x27_6772_);
v_k_u2081_6956_ = lean_ctor_get(v_h_6822_, 0);
lean_inc(v_k_u2081_6956_);
v_k_u2082_6957_ = lean_ctor_get(v_h_6822_, 1);
lean_inc(v_k_u2082_6957_);
v_c_u2081_6958_ = lean_ctor_get(v_h_6822_, 2);
lean_inc_ref(v_c_u2081_6958_);
v_c_u2082_6959_ = lean_ctor_get(v_h_6822_, 3);
lean_inc_ref(v_c_u2082_6959_);
lean_dec_ref(v_h_6822_);
v___x_6960_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__8));
lean_inc_ref(v_a_6773_);
v___x_6961_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModNoNatDivThmPrefix___redArg(v___x_6960_, v_a_6773_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6961_) == 0)
{
lean_object* v_a_6962_; lean_object* v_p_6963_; lean_object* v___x_6964_; 
v_a_6962_ = lean_ctor_get(v___x_6961_, 0);
lean_inc(v_a_6962_);
lean_dec_ref(v___x_6961_);
v_p_6963_ = lean_ctor_get(v_c_u2081_6958_, 0);
lean_inc(v_p_6963_);
v___x_6964_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6963_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6964_) == 0)
{
lean_object* v_a_6965_; lean_object* v_p_6966_; lean_object* v___x_6967_; 
v_a_6965_ = lean_ctor_get(v___x_6964_, 0);
lean_inc(v_a_6965_);
lean_dec_ref(v___x_6964_);
v_p_6966_ = lean_ctor_get(v_c_u2082_6959_, 0);
lean_inc(v_p_6966_);
v___x_6967_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6966_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6967_) == 0)
{
lean_object* v_a_6968_; lean_object* v___x_6969_; 
v_a_6968_ = lean_ctor_get(v___x_6967_, 0);
lean_inc(v_a_6968_);
lean_dec_ref(v___x_6967_);
v___x_6969_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_6955_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6969_) == 0)
{
lean_object* v_a_6970_; lean_object* v___x_6971_; 
v_a_6970_ = lean_ctor_get(v___x_6969_, 0);
lean_inc(v_a_6970_);
lean_dec_ref(v___x_6969_);
lean_inc(v_a_6785_);
lean_inc_ref(v_a_6784_);
lean_inc(v_a_6783_);
lean_inc_ref(v_a_6782_);
lean_inc(v_a_6781_);
lean_inc_ref(v_a_6780_);
lean_inc(v_a_6779_);
lean_inc_ref(v_a_6778_);
lean_inc(v_a_6777_);
lean_inc(v_a_6776_);
lean_inc_ref(v_a_6773_);
v___x_6971_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof(v_c_u2081_6958_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6971_) == 0)
{
lean_object* v_a_6972_; lean_object* v___x_6973_; 
v_a_6972_ = lean_ctor_get(v___x_6971_, 0);
lean_inc(v_a_6972_);
lean_dec_ref(v___x_6971_);
v___x_6973_ = l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof(v_c_u2082_6959_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_6973_) == 0)
{
lean_object* v_a_6974_; lean_object* v___y_6976_; lean_object* v___y_6977_; lean_object* v___y_6981_; lean_object* v___x_6993_; uint8_t v___x_6994_; 
v_a_6974_ = lean_ctor_get(v___x_6973_, 0);
lean_inc(v_a_6974_);
lean_dec_ref(v___x_6973_);
v___x_6993_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12);
v___x_6994_ = lean_int_dec_le(v___x_6993_, v_k_u2081_6956_);
if (v___x_6994_ == 0)
{
lean_object* v___x_6995_; lean_object* v___x_6996_; lean_object* v___x_6997_; lean_object* v___x_6998_; lean_object* v___x_6999_; lean_object* v___x_7000_; lean_object* v___x_7001_; 
v___x_6995_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18);
v___x_6996_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21);
v___x_6997_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24);
v___x_6998_ = lean_int_neg(v_k_u2081_6956_);
lean_dec(v_k_u2081_6956_);
v___x_6999_ = l_Int_toNat(v___x_6998_);
lean_dec(v___x_6998_);
v___x_7000_ = l_Lean_instToExprInt_mkNat(v___x_6999_);
v___x_7001_ = l_Lean_mkApp3(v___x_6995_, v___x_6996_, v___x_6997_, v___x_7000_);
v___y_6981_ = v___x_7001_;
goto v___jp_6980_;
}
else
{
lean_object* v___x_7002_; lean_object* v___x_7003_; 
v___x_7002_ = l_Int_toNat(v_k_u2081_6956_);
lean_dec(v_k_u2081_6956_);
v___x_7003_ = l_Lean_instToExprInt_mkNat(v___x_7002_);
v___y_6981_ = v___x_7003_;
goto v___jp_6980_;
}
v___jp_6975_:
{
lean_object* v___x_6978_; lean_object* v___x_6979_; 
v___x_6978_ = l_Lean_eagerReflBoolTrue;
v___x_6979_ = l_Lean_mkApp8(v_a_6962_, v___y_6976_, v___y_6977_, v_a_6965_, v_a_6968_, v_a_6970_, v___x_6978_, v_a_6972_, v_a_6974_);
v_a_6791_ = v___x_6979_;
goto v___jp_6790_;
}
v___jp_6980_:
{
lean_object* v___x_6982_; uint8_t v___x_6983_; 
v___x_6982_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12);
v___x_6983_ = lean_int_dec_le(v___x_6982_, v_k_u2082_6957_);
if (v___x_6983_ == 0)
{
lean_object* v___x_6984_; lean_object* v___x_6985_; lean_object* v___x_6986_; lean_object* v___x_6987_; lean_object* v___x_6988_; lean_object* v___x_6989_; lean_object* v___x_6990_; 
v___x_6984_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18);
v___x_6985_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21);
v___x_6986_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24);
v___x_6987_ = lean_int_neg(v_k_u2082_6957_);
lean_dec(v_k_u2082_6957_);
v___x_6988_ = l_Int_toNat(v___x_6987_);
lean_dec(v___x_6987_);
v___x_6989_ = l_Lean_instToExprInt_mkNat(v___x_6988_);
v___x_6990_ = l_Lean_mkApp3(v___x_6984_, v___x_6985_, v___x_6986_, v___x_6989_);
v___y_6976_ = v___y_6981_;
v___y_6977_ = v___x_6990_;
goto v___jp_6975_;
}
else
{
lean_object* v___x_6991_; lean_object* v___x_6992_; 
v___x_6991_ = l_Int_toNat(v_k_u2082_6957_);
lean_dec(v_k_u2082_6957_);
v___x_6992_ = l_Lean_instToExprInt_mkNat(v___x_6991_);
v___y_6976_ = v___y_6981_;
v___y_6977_ = v___x_6992_;
goto v___jp_6975_;
}
}
}
else
{
lean_dec(v_a_6972_);
lean_dec(v_a_6970_);
lean_dec(v_a_6968_);
lean_dec(v_a_6965_);
lean_dec(v_a_6962_);
lean_dec(v_k_u2082_6957_);
lean_dec(v_k_u2081_6956_);
v___y_6811_ = v___x_6973_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6970_);
lean_dec(v_a_6968_);
lean_dec(v_a_6965_);
lean_dec(v_a_6962_);
lean_dec_ref(v_c_u2082_6959_);
lean_dec(v_k_u2082_6957_);
lean_dec(v_k_u2081_6956_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6971_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6968_);
lean_dec(v_a_6965_);
lean_dec(v_a_6962_);
lean_dec_ref(v_c_u2082_6959_);
lean_dec_ref(v_c_u2081_6958_);
lean_dec(v_k_u2082_6957_);
lean_dec(v_k_u2081_6956_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6969_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6965_);
lean_dec(v_a_6962_);
lean_dec_ref(v_c_u2082_6959_);
lean_dec_ref(v_c_u2081_6958_);
lean_dec(v_k_u2082_6957_);
lean_dec(v_k_u2081_6956_);
lean_dec(v_p_6955_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6967_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_6962_);
lean_dec_ref(v_c_u2082_6959_);
lean_dec_ref(v_c_u2081_6958_);
lean_dec(v_k_u2082_6957_);
lean_dec(v_k_u2081_6956_);
lean_dec(v_p_6955_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6964_;
goto v___jp_6810_;
}
}
else
{
lean_dec_ref(v_c_u2082_6959_);
lean_dec_ref(v_c_u2081_6958_);
lean_dec(v_k_u2082_6957_);
lean_dec(v_k_u2081_6956_);
lean_dec(v_p_6955_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_6961_;
goto v___jp_6810_;
}
}
case 5:
{
lean_object* v_p_7004_; lean_object* v_k_7005_; lean_object* v_c_u2081_7006_; lean_object* v_c_u2082_7007_; lean_object* v___x_7008_; lean_object* v___x_7009_; 
v_p_7004_ = lean_ctor_get(v_c_x27_6772_, 0);
lean_inc(v_p_7004_);
lean_dec_ref(v_c_x27_6772_);
v_k_7005_ = lean_ctor_get(v_h_6822_, 0);
lean_inc(v_k_7005_);
v_c_u2081_7006_ = lean_ctor_get(v_h_6822_, 1);
lean_inc_ref(v_c_u2081_7006_);
v_c_u2082_7007_ = lean_ctor_get(v_h_6822_, 2);
lean_inc_ref(v_c_u2082_7007_);
lean_dec_ref(v_h_6822_);
v___x_7008_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___closed__10));
lean_inc_ref(v_a_6773_);
v___x_7009_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v___x_7008_, v_a_6773_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_7009_) == 0)
{
lean_object* v_a_7010_; lean_object* v_p_7011_; lean_object* v___x_7012_; 
v_a_7010_ = lean_ctor_get(v___x_7009_, 0);
lean_inc(v_a_7010_);
lean_dec_ref(v___x_7009_);
v_p_7011_ = lean_ctor_get(v_c_u2081_7006_, 0);
lean_inc(v_p_7011_);
v___x_7012_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7011_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_7012_) == 0)
{
lean_object* v_a_7013_; lean_object* v_p_7014_; lean_object* v___x_7015_; 
v_a_7013_ = lean_ctor_get(v___x_7012_, 0);
lean_inc(v_a_7013_);
lean_dec_ref(v___x_7012_);
v_p_7014_ = lean_ctor_get(v_c_u2082_7007_, 0);
lean_inc(v_p_7014_);
v___x_7015_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7014_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_7015_) == 0)
{
lean_object* v_a_7016_; lean_object* v___x_7017_; 
v_a_7016_ = lean_ctor_get(v___x_7015_, 0);
lean_inc(v_a_7016_);
lean_dec_ref(v___x_7015_);
v___x_7017_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7004_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_7017_) == 0)
{
lean_object* v_a_7018_; lean_object* v___x_7019_; 
v_a_7018_ = lean_ctor_get(v___x_7017_, 0);
lean_inc(v_a_7018_);
lean_dec_ref(v___x_7017_);
lean_inc(v_a_6785_);
lean_inc_ref(v_a_6784_);
lean_inc(v_a_6783_);
lean_inc_ref(v_a_6782_);
lean_inc(v_a_6781_);
lean_inc_ref(v_a_6780_);
lean_inc(v_a_6779_);
lean_inc_ref(v_a_6778_);
lean_inc(v_a_6777_);
lean_inc(v_a_6776_);
lean_inc_ref(v_a_6773_);
v___x_7019_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof(v_c_u2081_7006_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_7019_) == 0)
{
lean_object* v_a_7020_; lean_object* v___x_7021_; 
v_a_7020_ = lean_ctor_get(v___x_7019_, 0);
lean_inc(v_a_7020_);
lean_dec_ref(v___x_7019_);
v___x_7021_ = l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof(v_c_u2082_7007_, v_a_6773_, v_a_6774_, v_a_6775_, v_a_6776_, v_a_6777_, v_a_6778_, v_a_6779_, v_a_6780_, v_a_6781_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
if (lean_obj_tag(v___x_7021_) == 0)
{
lean_object* v_a_7022_; lean_object* v___y_7024_; lean_object* v___x_7027_; uint8_t v___x_7028_; 
v_a_7022_ = lean_ctor_get(v___x_7021_, 0);
lean_inc(v_a_7022_);
lean_dec_ref(v___x_7021_);
v___x_7027_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__12);
v___x_7028_ = lean_int_dec_le(v___x_7027_, v_k_7005_);
if (v___x_7028_ == 0)
{
lean_object* v___x_7029_; lean_object* v___x_7030_; lean_object* v___x_7031_; lean_object* v___x_7032_; lean_object* v___x_7033_; lean_object* v___x_7034_; lean_object* v___x_7035_; 
v___x_7029_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__18);
v___x_7030_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__21);
v___x_7031_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24, &l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24_once, _init_l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof___closed__24);
v___x_7032_ = lean_int_neg(v_k_7005_);
lean_dec(v_k_7005_);
v___x_7033_ = l_Int_toNat(v___x_7032_);
lean_dec(v___x_7032_);
v___x_7034_ = l_Lean_instToExprInt_mkNat(v___x_7033_);
v___x_7035_ = l_Lean_mkApp3(v___x_7029_, v___x_7030_, v___x_7031_, v___x_7034_);
v___y_7024_ = v___x_7035_;
goto v___jp_7023_;
}
else
{
lean_object* v___x_7036_; lean_object* v___x_7037_; 
v___x_7036_ = l_Int_toNat(v_k_7005_);
lean_dec(v_k_7005_);
v___x_7037_ = l_Lean_instToExprInt_mkNat(v___x_7036_);
v___y_7024_ = v___x_7037_;
goto v___jp_7023_;
}
v___jp_7023_:
{
lean_object* v___x_7025_; lean_object* v___x_7026_; 
v___x_7025_ = l_Lean_eagerReflBoolTrue;
v___x_7026_ = l_Lean_mkApp7(v_a_7010_, v___y_7024_, v_a_7013_, v_a_7016_, v_a_7018_, v___x_7025_, v_a_7020_, v_a_7022_);
v_a_6791_ = v___x_7026_;
goto v___jp_6790_;
}
}
else
{
lean_dec(v_a_7020_);
lean_dec(v_a_7018_);
lean_dec(v_a_7016_);
lean_dec(v_a_7013_);
lean_dec(v_a_7010_);
lean_dec(v_k_7005_);
v___y_6811_ = v___x_7021_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_7018_);
lean_dec(v_a_7016_);
lean_dec(v_a_7013_);
lean_dec(v_a_7010_);
lean_dec_ref(v_c_u2082_7007_);
lean_dec(v_k_7005_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_7019_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_7016_);
lean_dec(v_a_7013_);
lean_dec(v_a_7010_);
lean_dec_ref(v_c_u2082_7007_);
lean_dec_ref(v_c_u2081_7006_);
lean_dec(v_k_7005_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_7017_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_7013_);
lean_dec(v_a_7010_);
lean_dec_ref(v_c_u2082_7007_);
lean_dec_ref(v_c_u2081_7006_);
lean_dec(v_k_7005_);
lean_dec(v_p_7004_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_7015_;
goto v___jp_6810_;
}
}
else
{
lean_dec(v_a_7010_);
lean_dec_ref(v_c_u2082_7007_);
lean_dec_ref(v_c_u2081_7006_);
lean_dec(v_k_7005_);
lean_dec(v_p_7004_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_7012_;
goto v___jp_6810_;
}
}
else
{
lean_dec_ref(v_c_u2082_7007_);
lean_dec_ref(v_c_u2081_7006_);
lean_dec(v_k_7005_);
lean_dec(v_p_7004_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
v___y_6811_ = v___x_7009_;
goto v___jp_6810_;
}
}
default: 
{
lean_object* v___x_7038_; lean_object* v___x_7039_; 
lean_dec(v_a_6781_);
lean_dec_ref(v_a_6780_);
lean_dec(v_a_6779_);
lean_dec_ref(v_a_6778_);
lean_dec(v_a_6777_);
lean_dec(v_a_6776_);
lean_dec_ref(v_a_6773_);
lean_dec_ref(v_c_x27_6772_);
v___x_7038_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__2, &l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__2_once, _init_l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__2);
v___x_7039_ = l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2___redArg(v___x_7038_, v_a_6782_, v_a_6783_, v_a_6784_, v_a_6785_);
lean_dec(v_a_6785_);
lean_dec_ref(v_a_6784_);
lean_dec(v_a_6783_);
lean_dec_ref(v_a_6782_);
v___y_6811_ = v___x_7039_;
goto v___jp_6810_;
}
}
}
v___jp_6790_:
{
lean_object* v___x_6792_; lean_object* v_cache_6793_; lean_object* v_varDecls_6794_; lean_object* v_polyDecls_6795_; lean_object* v_exprDecls_6796_; lean_object* v_ringPolyDecls_6797_; lean_object* v_ringExprDecls_6798_; lean_object* v_ringVarDecls_6799_; lean_object* v___x_6801_; uint8_t v_isShared_6802_; uint8_t v_isSharedCheck_6809_; 
v___x_6792_ = lean_st_ref_take(v_a_6774_);
v_cache_6793_ = lean_ctor_get(v___x_6792_, 0);
v_varDecls_6794_ = lean_ctor_get(v___x_6792_, 1);
v_polyDecls_6795_ = lean_ctor_get(v___x_6792_, 2);
v_exprDecls_6796_ = lean_ctor_get(v___x_6792_, 3);
v_ringPolyDecls_6797_ = lean_ctor_get(v___x_6792_, 4);
v_ringExprDecls_6798_ = lean_ctor_get(v___x_6792_, 5);
v_ringVarDecls_6799_ = lean_ctor_get(v___x_6792_, 6);
v_isSharedCheck_6809_ = !lean_is_exclusive(v___x_6792_);
if (v_isSharedCheck_6809_ == 0)
{
v___x_6801_ = v___x_6792_;
v_isShared_6802_ = v_isSharedCheck_6809_;
goto v_resetjp_6800_;
}
else
{
lean_inc(v_ringVarDecls_6799_);
lean_inc(v_ringExprDecls_6798_);
lean_inc(v_ringPolyDecls_6797_);
lean_inc(v_exprDecls_6796_);
lean_inc(v_polyDecls_6795_);
lean_inc(v_varDecls_6794_);
lean_inc(v_cache_6793_);
lean_dec(v___x_6792_);
v___x_6801_ = lean_box(0);
v_isShared_6802_ = v_isSharedCheck_6809_;
goto v_resetjp_6800_;
}
v_resetjp_6800_:
{
lean_object* v___x_6803_; lean_object* v___x_6805_; 
lean_inc_ref(v_a_6791_);
v___x_6803_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0___redArg(v_cache_6793_, v_addr_6789_, v_a_6791_);
if (v_isShared_6802_ == 0)
{
lean_ctor_set(v___x_6801_, 0, v___x_6803_);
v___x_6805_ = v___x_6801_;
goto v_reusejp_6804_;
}
else
{
lean_object* v_reuseFailAlloc_6808_; 
v_reuseFailAlloc_6808_ = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(v_reuseFailAlloc_6808_, 0, v___x_6803_);
lean_ctor_set(v_reuseFailAlloc_6808_, 1, v_varDecls_6794_);
lean_ctor_set(v_reuseFailAlloc_6808_, 2, v_polyDecls_6795_);
lean_ctor_set(v_reuseFailAlloc_6808_, 3, v_exprDecls_6796_);
lean_ctor_set(v_reuseFailAlloc_6808_, 4, v_ringPolyDecls_6797_);
lean_ctor_set(v_reuseFailAlloc_6808_, 5, v_ringExprDecls_6798_);
lean_ctor_set(v_reuseFailAlloc_6808_, 6, v_ringVarDecls_6799_);
v___x_6805_ = v_reuseFailAlloc_6808_;
goto v_reusejp_6804_;
}
v_reusejp_6804_:
{
lean_object* v___x_6806_; lean_object* v___x_6807_; 
v___x_6806_ = lean_st_ref_set(v_a_6774_, v___x_6805_);
v___x_6807_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_6807_, 0, v_a_6791_);
return v___x_6807_;
}
}
}
v___jp_6810_:
{
if (lean_obj_tag(v___y_6811_) == 0)
{
lean_object* v_a_6812_; 
v_a_6812_ = lean_ctor_get(v___y_6811_, 0);
lean_inc(v_a_6812_);
lean_dec_ref(v___y_6811_);
v_a_6791_ = v_a_6812_;
goto v___jp_6790_;
}
else
{
return v___y_6811_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof___boxed(lean_object* v_c_x27_7040_, lean_object* v_a_7041_, lean_object* v_a_7042_, lean_object* v_a_7043_, lean_object* v_a_7044_, lean_object* v_a_7045_, lean_object* v_a_7046_, lean_object* v_a_7047_, lean_object* v_a_7048_, lean_object* v_a_7049_, lean_object* v_a_7050_, lean_object* v_a_7051_, lean_object* v_a_7052_, lean_object* v_a_7053_, lean_object* v_a_7054_){
_start:
{
lean_object* v_res_7055_; 
v_res_7055_ = l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof(v_c_x27_7040_, v_a_7041_, v_a_7042_, v_a_7043_, v_a_7044_, v_a_7045_, v_a_7046_, v_a_7047_, v_a_7048_, v_a_7049_, v_a_7050_, v_a_7051_, v_a_7052_, v_a_7053_);
lean_dec(v_a_7043_);
lean_dec(v_a_7042_);
return v_res_7055_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__2(lean_object* v_lhs_7056_, lean_object* v_rhs_7057_, lean_object* v_p_7058_, lean_object* v_a_7059_, lean_object* v_h_7060_, lean_object* v___y_7061_, lean_object* v___y_7062_, lean_object* v___y_7063_, lean_object* v___y_7064_, lean_object* v___y_7065_, lean_object* v___y_7066_, lean_object* v___y_7067_, lean_object* v___y_7068_, lean_object* v___y_7069_, lean_object* v___y_7070_, lean_object* v___y_7071_, lean_object* v___y_7072_, lean_object* v___y_7073_){
_start:
{
lean_object* v___x_7075_; 
v___x_7075_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lhs_7056_, v___y_7061_, v___y_7062_, v___y_7063_, v___y_7064_, v___y_7065_, v___y_7066_, v___y_7067_, v___y_7068_, v___y_7069_, v___y_7070_, v___y_7071_, v___y_7072_, v___y_7073_);
if (lean_obj_tag(v___x_7075_) == 0)
{
lean_object* v_a_7076_; lean_object* v___x_7077_; 
v_a_7076_ = lean_ctor_get(v___x_7075_, 0);
lean_inc(v_a_7076_);
lean_dec_ref(v___x_7075_);
v___x_7077_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_rhs_7057_, v___y_7061_, v___y_7062_, v___y_7063_, v___y_7064_, v___y_7065_, v___y_7066_, v___y_7067_, v___y_7068_, v___y_7069_, v___y_7070_, v___y_7071_, v___y_7072_, v___y_7073_);
if (lean_obj_tag(v___x_7077_) == 0)
{
lean_object* v_a_7078_; lean_object* v___x_7079_; 
v_a_7078_ = lean_ctor_get(v___x_7077_, 0);
lean_inc(v_a_7078_);
lean_dec_ref(v___x_7077_);
v___x_7079_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7058_, v___y_7061_, v___y_7062_, v___y_7063_, v___y_7064_, v___y_7065_, v___y_7066_, v___y_7067_, v___y_7068_, v___y_7069_, v___y_7070_, v___y_7071_, v___y_7072_, v___y_7073_);
if (lean_obj_tag(v___x_7079_) == 0)
{
lean_object* v_a_7080_; lean_object* v___x_7082_; uint8_t v_isShared_7083_; uint8_t v_isSharedCheck_7089_; 
v_a_7080_ = lean_ctor_get(v___x_7079_, 0);
v_isSharedCheck_7089_ = !lean_is_exclusive(v___x_7079_);
if (v_isSharedCheck_7089_ == 0)
{
v___x_7082_ = v___x_7079_;
v_isShared_7083_ = v_isSharedCheck_7089_;
goto v_resetjp_7081_;
}
else
{
lean_inc(v_a_7080_);
lean_dec(v___x_7079_);
v___x_7082_ = lean_box(0);
v_isShared_7083_ = v_isSharedCheck_7089_;
goto v_resetjp_7081_;
}
v_resetjp_7081_:
{
lean_object* v___x_7084_; lean_object* v___x_7085_; lean_object* v___x_7087_; 
v___x_7084_ = l_Lean_eagerReflBoolTrue;
v___x_7085_ = l_Lean_mkApp5(v_h_7060_, v_a_7076_, v_a_7078_, v_a_7080_, v___x_7084_, v_a_7059_);
if (v_isShared_7083_ == 0)
{
lean_ctor_set(v___x_7082_, 0, v___x_7085_);
v___x_7087_ = v___x_7082_;
goto v_reusejp_7086_;
}
else
{
lean_object* v_reuseFailAlloc_7088_; 
v_reuseFailAlloc_7088_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7088_, 0, v___x_7085_);
v___x_7087_ = v_reuseFailAlloc_7088_;
goto v_reusejp_7086_;
}
v_reusejp_7086_:
{
return v___x_7087_;
}
}
}
else
{
lean_dec(v_a_7078_);
lean_dec(v_a_7076_);
lean_dec_ref(v_h_7060_);
lean_dec_ref(v_a_7059_);
return v___x_7079_;
}
}
else
{
lean_dec(v_a_7076_);
lean_dec_ref(v_h_7060_);
lean_dec_ref(v_a_7059_);
lean_dec(v_p_7058_);
return v___x_7077_;
}
}
else
{
lean_dec_ref(v_h_7060_);
lean_dec_ref(v_a_7059_);
lean_dec(v_p_7058_);
lean_dec(v_rhs_7057_);
return v___x_7075_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__2___boxed(lean_object** _args){
lean_object* v_lhs_7090_ = _args[0];
lean_object* v_rhs_7091_ = _args[1];
lean_object* v_p_7092_ = _args[2];
lean_object* v_a_7093_ = _args[3];
lean_object* v_h_7094_ = _args[4];
lean_object* v___y_7095_ = _args[5];
lean_object* v___y_7096_ = _args[6];
lean_object* v___y_7097_ = _args[7];
lean_object* v___y_7098_ = _args[8];
lean_object* v___y_7099_ = _args[9];
lean_object* v___y_7100_ = _args[10];
lean_object* v___y_7101_ = _args[11];
lean_object* v___y_7102_ = _args[12];
lean_object* v___y_7103_ = _args[13];
lean_object* v___y_7104_ = _args[14];
lean_object* v___y_7105_ = _args[15];
lean_object* v___y_7106_ = _args[16];
lean_object* v___y_7107_ = _args[17];
lean_object* v___y_7108_ = _args[18];
_start:
{
lean_object* v_res_7109_; 
v_res_7109_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__2(v_lhs_7090_, v_rhs_7091_, v_p_7092_, v_a_7093_, v_h_7094_, v___y_7095_, v___y_7096_, v___y_7097_, v___y_7098_, v___y_7099_, v___y_7100_, v___y_7101_, v___y_7102_, v___y_7103_, v___y_7104_, v___y_7105_, v___y_7106_, v___y_7107_);
lean_dec(v___y_7107_);
lean_dec_ref(v___y_7106_);
lean_dec(v___y_7105_);
lean_dec_ref(v___y_7104_);
lean_dec(v___y_7103_);
lean_dec_ref(v___y_7102_);
lean_dec(v___y_7101_);
lean_dec_ref(v___y_7100_);
lean_dec(v___y_7099_);
lean_dec(v___y_7098_);
lean_dec(v___y_7097_);
lean_dec(v___y_7096_);
lean_dec_ref(v___y_7095_);
return v_res_7109_;
}
}
static lean_object* _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___closed__0(void){
_start:
{
lean_object* v___x_7110_; lean_object* v___x_7111_; 
v___x_7110_ = lean_unsigned_to_nat(1u);
v___x_7111_ = lean_nat_to_int(v___x_7110_);
return v___x_7111_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg(lean_object* v_k_7112_, lean_object* v_x_7113_, lean_object* v___y_7114_, lean_object* v___y_7115_, lean_object* v___y_7116_, lean_object* v___y_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_){
_start:
{
lean_object* v___x_7126_; uint8_t v___x_7127_; 
v___x_7126_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___closed__0, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___closed__0_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___closed__0);
v___x_7127_ = lean_int_dec_eq(v_k_7112_, v___x_7126_);
if (v___x_7127_ == 0)
{
lean_object* v___x_7128_; 
v___x_7128_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v___y_7114_, v___y_7115_, v___y_7116_, v___y_7117_, v___y_7118_, v___y_7119_, v___y_7120_, v___y_7121_, v___y_7122_, v___y_7123_, v___y_7124_);
if (lean_obj_tag(v___x_7128_) == 0)
{
lean_object* v_a_7129_; lean_object* v___x_7130_; 
v_a_7129_ = lean_ctor_get(v___x_7128_, 0);
lean_inc(v_a_7129_);
lean_dec_ref(v___x_7128_);
v___x_7130_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v___y_7114_, v___y_7115_, v___y_7116_, v___y_7117_, v___y_7118_, v___y_7119_, v___y_7120_, v___y_7121_, v___y_7122_, v___y_7123_, v___y_7124_);
if (lean_obj_tag(v___x_7130_) == 0)
{
lean_object* v_a_7131_; lean_object* v___x_7133_; uint8_t v_isShared_7134_; uint8_t v_isSharedCheck_7149_; 
v_a_7131_ = lean_ctor_get(v___x_7130_, 0);
v_isSharedCheck_7149_ = !lean_is_exclusive(v___x_7130_);
if (v_isSharedCheck_7149_ == 0)
{
v___x_7133_ = v___x_7130_;
v_isShared_7134_ = v_isSharedCheck_7149_;
goto v_resetjp_7132_;
}
else
{
lean_inc(v_a_7131_);
lean_dec(v___x_7130_);
v___x_7133_ = lean_box(0);
v_isShared_7134_ = v_isSharedCheck_7149_;
goto v_resetjp_7132_;
}
v_resetjp_7132_:
{
lean_object* v_vars_7135_; lean_object* v_zsmulFn_7136_; lean_object* v_size_7137_; lean_object* v___x_7138_; lean_object* v___y_7140_; lean_object* v___x_7145_; uint8_t v___x_7146_; 
v_vars_7135_ = lean_ctor_get(v_a_7131_, 30);
lean_inc_ref(v_vars_7135_);
lean_dec(v_a_7131_);
v_zsmulFn_7136_ = lean_ctor_get(v_a_7129_, 23);
lean_inc_ref(v_zsmulFn_7136_);
lean_dec(v_a_7129_);
v_size_7137_ = lean_ctor_get(v_vars_7135_, 2);
v___x_7138_ = l_Lean_mkIntLit(v_k_7112_);
v___x_7145_ = l_Lean_instInhabitedExpr;
v___x_7146_ = lean_nat_dec_lt(v_x_7113_, v_size_7137_);
if (v___x_7146_ == 0)
{
lean_object* v___x_7147_; 
lean_dec_ref(v_vars_7135_);
v___x_7147_ = l_outOfBounds___redArg(v___x_7145_);
v___y_7140_ = v___x_7147_;
goto v___jp_7139_;
}
else
{
lean_object* v___x_7148_; 
v___x_7148_ = l_Lean_PersistentArray_get_x21___redArg(v___x_7145_, v_vars_7135_, v_x_7113_);
v___y_7140_ = v___x_7148_;
goto v___jp_7139_;
}
v___jp_7139_:
{
lean_object* v___x_7141_; lean_object* v___x_7143_; 
v___x_7141_ = l_Lean_mkAppB(v_zsmulFn_7136_, v___x_7138_, v___y_7140_);
if (v_isShared_7134_ == 0)
{
lean_ctor_set(v___x_7133_, 0, v___x_7141_);
v___x_7143_ = v___x_7133_;
goto v_reusejp_7142_;
}
else
{
lean_object* v_reuseFailAlloc_7144_; 
v_reuseFailAlloc_7144_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7144_, 0, v___x_7141_);
v___x_7143_ = v_reuseFailAlloc_7144_;
goto v_reusejp_7142_;
}
v_reusejp_7142_:
{
return v___x_7143_;
}
}
}
}
else
{
lean_object* v_a_7150_; lean_object* v___x_7152_; uint8_t v_isShared_7153_; uint8_t v_isSharedCheck_7157_; 
lean_dec(v_a_7129_);
v_a_7150_ = lean_ctor_get(v___x_7130_, 0);
v_isSharedCheck_7157_ = !lean_is_exclusive(v___x_7130_);
if (v_isSharedCheck_7157_ == 0)
{
v___x_7152_ = v___x_7130_;
v_isShared_7153_ = v_isSharedCheck_7157_;
goto v_resetjp_7151_;
}
else
{
lean_inc(v_a_7150_);
lean_dec(v___x_7130_);
v___x_7152_ = lean_box(0);
v_isShared_7153_ = v_isSharedCheck_7157_;
goto v_resetjp_7151_;
}
v_resetjp_7151_:
{
lean_object* v___x_7155_; 
if (v_isShared_7153_ == 0)
{
v___x_7155_ = v___x_7152_;
goto v_reusejp_7154_;
}
else
{
lean_object* v_reuseFailAlloc_7156_; 
v_reuseFailAlloc_7156_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7156_, 0, v_a_7150_);
v___x_7155_ = v_reuseFailAlloc_7156_;
goto v_reusejp_7154_;
}
v_reusejp_7154_:
{
return v___x_7155_;
}
}
}
}
else
{
lean_object* v_a_7158_; lean_object* v___x_7160_; uint8_t v_isShared_7161_; uint8_t v_isSharedCheck_7165_; 
v_a_7158_ = lean_ctor_get(v___x_7128_, 0);
v_isSharedCheck_7165_ = !lean_is_exclusive(v___x_7128_);
if (v_isSharedCheck_7165_ == 0)
{
v___x_7160_ = v___x_7128_;
v_isShared_7161_ = v_isSharedCheck_7165_;
goto v_resetjp_7159_;
}
else
{
lean_inc(v_a_7158_);
lean_dec(v___x_7128_);
v___x_7160_ = lean_box(0);
v_isShared_7161_ = v_isSharedCheck_7165_;
goto v_resetjp_7159_;
}
v_resetjp_7159_:
{
lean_object* v___x_7163_; 
if (v_isShared_7161_ == 0)
{
v___x_7163_ = v___x_7160_;
goto v_reusejp_7162_;
}
else
{
lean_object* v_reuseFailAlloc_7164_; 
v_reuseFailAlloc_7164_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7164_, 0, v_a_7158_);
v___x_7163_ = v_reuseFailAlloc_7164_;
goto v_reusejp_7162_;
}
v_reusejp_7162_:
{
return v___x_7163_;
}
}
}
}
else
{
lean_object* v___x_7166_; 
v___x_7166_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v___y_7114_, v___y_7115_, v___y_7116_, v___y_7117_, v___y_7118_, v___y_7119_, v___y_7120_, v___y_7121_, v___y_7122_, v___y_7123_, v___y_7124_);
if (lean_obj_tag(v___x_7166_) == 0)
{
lean_object* v_a_7167_; lean_object* v___x_7169_; uint8_t v_isShared_7170_; uint8_t v_isSharedCheck_7183_; 
v_a_7167_ = lean_ctor_get(v___x_7166_, 0);
v_isSharedCheck_7183_ = !lean_is_exclusive(v___x_7166_);
if (v_isSharedCheck_7183_ == 0)
{
v___x_7169_ = v___x_7166_;
v_isShared_7170_ = v_isSharedCheck_7183_;
goto v_resetjp_7168_;
}
else
{
lean_inc(v_a_7167_);
lean_dec(v___x_7166_);
v___x_7169_ = lean_box(0);
v_isShared_7170_ = v_isSharedCheck_7183_;
goto v_resetjp_7168_;
}
v_resetjp_7168_:
{
lean_object* v_vars_7171_; lean_object* v_size_7172_; lean_object* v___x_7173_; uint8_t v___x_7174_; 
v_vars_7171_ = lean_ctor_get(v_a_7167_, 30);
lean_inc_ref(v_vars_7171_);
lean_dec(v_a_7167_);
v_size_7172_ = lean_ctor_get(v_vars_7171_, 2);
v___x_7173_ = l_Lean_instInhabitedExpr;
v___x_7174_ = lean_nat_dec_lt(v_x_7113_, v_size_7172_);
if (v___x_7174_ == 0)
{
lean_object* v___x_7175_; lean_object* v___x_7177_; 
lean_dec_ref(v_vars_7171_);
v___x_7175_ = l_outOfBounds___redArg(v___x_7173_);
if (v_isShared_7170_ == 0)
{
lean_ctor_set(v___x_7169_, 0, v___x_7175_);
v___x_7177_ = v___x_7169_;
goto v_reusejp_7176_;
}
else
{
lean_object* v_reuseFailAlloc_7178_; 
v_reuseFailAlloc_7178_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7178_, 0, v___x_7175_);
v___x_7177_ = v_reuseFailAlloc_7178_;
goto v_reusejp_7176_;
}
v_reusejp_7176_:
{
return v___x_7177_;
}
}
else
{
lean_object* v___x_7179_; lean_object* v___x_7181_; 
v___x_7179_ = l_Lean_PersistentArray_get_x21___redArg(v___x_7173_, v_vars_7171_, v_x_7113_);
if (v_isShared_7170_ == 0)
{
lean_ctor_set(v___x_7169_, 0, v___x_7179_);
v___x_7181_ = v___x_7169_;
goto v_reusejp_7180_;
}
else
{
lean_object* v_reuseFailAlloc_7182_; 
v_reuseFailAlloc_7182_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7182_, 0, v___x_7179_);
v___x_7181_ = v_reuseFailAlloc_7182_;
goto v_reusejp_7180_;
}
v_reusejp_7180_:
{
return v___x_7181_;
}
}
}
}
else
{
lean_object* v_a_7184_; lean_object* v___x_7186_; uint8_t v_isShared_7187_; uint8_t v_isSharedCheck_7191_; 
v_a_7184_ = lean_ctor_get(v___x_7166_, 0);
v_isSharedCheck_7191_ = !lean_is_exclusive(v___x_7166_);
if (v_isSharedCheck_7191_ == 0)
{
v___x_7186_ = v___x_7166_;
v_isShared_7187_ = v_isSharedCheck_7191_;
goto v_resetjp_7185_;
}
else
{
lean_inc(v_a_7184_);
lean_dec(v___x_7166_);
v___x_7186_ = lean_box(0);
v_isShared_7187_ = v_isSharedCheck_7191_;
goto v_resetjp_7185_;
}
v_resetjp_7185_:
{
lean_object* v___x_7189_; 
if (v_isShared_7187_ == 0)
{
v___x_7189_ = v___x_7186_;
goto v_reusejp_7188_;
}
else
{
lean_object* v_reuseFailAlloc_7190_; 
v_reuseFailAlloc_7190_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7190_, 0, v_a_7184_);
v___x_7189_ = v_reuseFailAlloc_7190_;
goto v_reusejp_7188_;
}
v_reusejp_7188_:
{
return v___x_7189_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___boxed(lean_object* v_k_7192_, lean_object* v_x_7193_, lean_object* v___y_7194_, lean_object* v___y_7195_, lean_object* v___y_7196_, lean_object* v___y_7197_, lean_object* v___y_7198_, lean_object* v___y_7199_, lean_object* v___y_7200_, lean_object* v___y_7201_, lean_object* v___y_7202_, lean_object* v___y_7203_, lean_object* v___y_7204_, lean_object* v___y_7205_){
_start:
{
lean_object* v_res_7206_; 
v_res_7206_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg(v_k_7192_, v_x_7193_, v___y_7194_, v___y_7195_, v___y_7196_, v___y_7197_, v___y_7198_, v___y_7199_, v___y_7200_, v___y_7201_, v___y_7202_, v___y_7203_, v___y_7204_);
lean_dec(v___y_7204_);
lean_dec_ref(v___y_7203_);
lean_dec(v___y_7202_);
lean_dec_ref(v___y_7201_);
lean_dec(v___y_7200_);
lean_dec_ref(v___y_7199_);
lean_dec(v___y_7198_);
lean_dec_ref(v___y_7197_);
lean_dec(v___y_7196_);
lean_dec(v___y_7195_);
lean_dec(v___y_7194_);
lean_dec(v_x_7193_);
lean_dec(v_k_7192_);
return v_res_7206_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_go___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__3(lean_object* v_p_7207_, lean_object* v_acc_7208_, lean_object* v___y_7209_, lean_object* v___y_7210_, lean_object* v___y_7211_, lean_object* v___y_7212_, lean_object* v___y_7213_, lean_object* v___y_7214_, lean_object* v___y_7215_, lean_object* v___y_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_){
_start:
{
if (lean_obj_tag(v_p_7207_) == 0)
{
lean_object* v___x_7223_; 
v___x_7223_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_7223_, 0, v_acc_7208_);
return v___x_7223_;
}
else
{
lean_object* v_k_7224_; lean_object* v_v_7225_; lean_object* v_p_7226_; lean_object* v___x_7227_; 
v_k_7224_ = lean_ctor_get(v_p_7207_, 0);
v_v_7225_ = lean_ctor_get(v_p_7207_, 1);
v_p_7226_ = lean_ctor_get(v_p_7207_, 2);
v___x_7227_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v___y_7211_, v___y_7212_, v___y_7213_, v___y_7214_, v___y_7215_, v___y_7216_, v___y_7217_, v___y_7218_, v___y_7219_, v___y_7220_, v___y_7221_);
if (lean_obj_tag(v___x_7227_) == 0)
{
lean_object* v_a_7228_; lean_object* v___x_7229_; 
v_a_7228_ = lean_ctor_get(v___x_7227_, 0);
lean_inc(v_a_7228_);
lean_dec_ref(v___x_7227_);
v___x_7229_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg(v_k_7224_, v_v_7225_, v___y_7211_, v___y_7212_, v___y_7213_, v___y_7214_, v___y_7215_, v___y_7216_, v___y_7217_, v___y_7218_, v___y_7219_, v___y_7220_, v___y_7221_);
if (lean_obj_tag(v___x_7229_) == 0)
{
lean_object* v_a_7230_; lean_object* v_addFn_7231_; lean_object* v___x_7232_; 
v_a_7230_ = lean_ctor_get(v___x_7229_, 0);
lean_inc(v_a_7230_);
lean_dec_ref(v___x_7229_);
v_addFn_7231_ = lean_ctor_get(v_a_7228_, 22);
lean_inc_ref(v_addFn_7231_);
lean_dec(v_a_7228_);
v___x_7232_ = l_Lean_mkAppB(v_addFn_7231_, v_acc_7208_, v_a_7230_);
v_p_7207_ = v_p_7226_;
v_acc_7208_ = v___x_7232_;
goto _start;
}
else
{
lean_dec(v_a_7228_);
lean_dec_ref(v_acc_7208_);
return v___x_7229_;
}
}
else
{
lean_object* v_a_7234_; lean_object* v___x_7236_; uint8_t v_isShared_7237_; uint8_t v_isSharedCheck_7241_; 
lean_dec_ref(v_acc_7208_);
v_a_7234_ = lean_ctor_get(v___x_7227_, 0);
v_isSharedCheck_7241_ = !lean_is_exclusive(v___x_7227_);
if (v_isSharedCheck_7241_ == 0)
{
v___x_7236_ = v___x_7227_;
v_isShared_7237_ = v_isSharedCheck_7241_;
goto v_resetjp_7235_;
}
else
{
lean_inc(v_a_7234_);
lean_dec(v___x_7227_);
v___x_7236_ = lean_box(0);
v_isShared_7237_ = v_isSharedCheck_7241_;
goto v_resetjp_7235_;
}
v_resetjp_7235_:
{
lean_object* v___x_7239_; 
if (v_isShared_7237_ == 0)
{
v___x_7239_ = v___x_7236_;
goto v_reusejp_7238_;
}
else
{
lean_object* v_reuseFailAlloc_7240_; 
v_reuseFailAlloc_7240_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7240_, 0, v_a_7234_);
v___x_7239_ = v_reuseFailAlloc_7240_;
goto v_reusejp_7238_;
}
v_reusejp_7238_:
{
return v___x_7239_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_go___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__3___boxed(lean_object* v_p_7242_, lean_object* v_acc_7243_, lean_object* v___y_7244_, lean_object* v___y_7245_, lean_object* v___y_7246_, lean_object* v___y_7247_, lean_object* v___y_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_){
_start:
{
lean_object* v_res_7258_; 
v_res_7258_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_go___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__3(v_p_7242_, v_acc_7243_, v___y_7244_, v___y_7245_, v___y_7246_, v___y_7247_, v___y_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_);
lean_dec(v___y_7256_);
lean_dec_ref(v___y_7255_);
lean_dec(v___y_7254_);
lean_dec_ref(v___y_7253_);
lean_dec(v___y_7252_);
lean_dec_ref(v___y_7251_);
lean_dec(v___y_7250_);
lean_dec_ref(v___y_7249_);
lean_dec(v___y_7248_);
lean_dec(v___y_7247_);
lean_dec(v___y_7246_);
lean_dec(v___y_7245_);
lean_dec_ref(v___y_7244_);
lean_dec(v_p_7242_);
return v_res_7258_;
}
}
LEAN_EXPORT lean_object* l_Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1(lean_object* v_p_7259_, lean_object* v___y_7260_, lean_object* v___y_7261_, lean_object* v___y_7262_, lean_object* v___y_7263_, lean_object* v___y_7264_, lean_object* v___y_7265_, lean_object* v___y_7266_, lean_object* v___y_7267_, lean_object* v___y_7268_, lean_object* v___y_7269_, lean_object* v___y_7270_, lean_object* v___y_7271_, lean_object* v___y_7272_){
_start:
{
if (lean_obj_tag(v_p_7259_) == 0)
{
lean_object* v___x_7274_; 
v___x_7274_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v___y_7262_, v___y_7263_, v___y_7264_, v___y_7265_, v___y_7266_, v___y_7267_, v___y_7268_, v___y_7269_, v___y_7270_, v___y_7271_, v___y_7272_);
if (lean_obj_tag(v___x_7274_) == 0)
{
lean_object* v_a_7275_; lean_object* v___x_7277_; uint8_t v_isShared_7278_; uint8_t v_isSharedCheck_7283_; 
v_a_7275_ = lean_ctor_get(v___x_7274_, 0);
v_isSharedCheck_7283_ = !lean_is_exclusive(v___x_7274_);
if (v_isSharedCheck_7283_ == 0)
{
v___x_7277_ = v___x_7274_;
v_isShared_7278_ = v_isSharedCheck_7283_;
goto v_resetjp_7276_;
}
else
{
lean_inc(v_a_7275_);
lean_dec(v___x_7274_);
v___x_7277_ = lean_box(0);
v_isShared_7278_ = v_isSharedCheck_7283_;
goto v_resetjp_7276_;
}
v_resetjp_7276_:
{
lean_object* v_zero_7279_; lean_object* v___x_7281_; 
v_zero_7279_ = lean_ctor_get(v_a_7275_, 17);
lean_inc_ref(v_zero_7279_);
lean_dec(v_a_7275_);
if (v_isShared_7278_ == 0)
{
lean_ctor_set(v___x_7277_, 0, v_zero_7279_);
v___x_7281_ = v___x_7277_;
goto v_reusejp_7280_;
}
else
{
lean_object* v_reuseFailAlloc_7282_; 
v_reuseFailAlloc_7282_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7282_, 0, v_zero_7279_);
v___x_7281_ = v_reuseFailAlloc_7282_;
goto v_reusejp_7280_;
}
v_reusejp_7280_:
{
return v___x_7281_;
}
}
}
else
{
lean_object* v_a_7284_; lean_object* v___x_7286_; uint8_t v_isShared_7287_; uint8_t v_isSharedCheck_7291_; 
v_a_7284_ = lean_ctor_get(v___x_7274_, 0);
v_isSharedCheck_7291_ = !lean_is_exclusive(v___x_7274_);
if (v_isSharedCheck_7291_ == 0)
{
v___x_7286_ = v___x_7274_;
v_isShared_7287_ = v_isSharedCheck_7291_;
goto v_resetjp_7285_;
}
else
{
lean_inc(v_a_7284_);
lean_dec(v___x_7274_);
v___x_7286_ = lean_box(0);
v_isShared_7287_ = v_isSharedCheck_7291_;
goto v_resetjp_7285_;
}
v_resetjp_7285_:
{
lean_object* v___x_7289_; 
if (v_isShared_7287_ == 0)
{
v___x_7289_ = v___x_7286_;
goto v_reusejp_7288_;
}
else
{
lean_object* v_reuseFailAlloc_7290_; 
v_reuseFailAlloc_7290_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7290_, 0, v_a_7284_);
v___x_7289_ = v_reuseFailAlloc_7290_;
goto v_reusejp_7288_;
}
v_reusejp_7288_:
{
return v___x_7289_;
}
}
}
}
else
{
lean_object* v_k_7292_; lean_object* v_v_7293_; lean_object* v_p_7294_; lean_object* v___x_7295_; 
v_k_7292_ = lean_ctor_get(v_p_7259_, 0);
v_v_7293_ = lean_ctor_get(v_p_7259_, 1);
v_p_7294_ = lean_ctor_get(v_p_7259_, 2);
v___x_7295_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg(v_k_7292_, v_v_7293_, v___y_7262_, v___y_7263_, v___y_7264_, v___y_7265_, v___y_7266_, v___y_7267_, v___y_7268_, v___y_7269_, v___y_7270_, v___y_7271_, v___y_7272_);
if (lean_obj_tag(v___x_7295_) == 0)
{
lean_object* v_a_7296_; lean_object* v___x_7297_; 
v_a_7296_ = lean_ctor_get(v___x_7295_, 0);
lean_inc(v_a_7296_);
lean_dec_ref(v___x_7295_);
v___x_7297_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_go___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__3(v_p_7294_, v_a_7296_, v___y_7260_, v___y_7261_, v___y_7262_, v___y_7263_, v___y_7264_, v___y_7265_, v___y_7266_, v___y_7267_, v___y_7268_, v___y_7269_, v___y_7270_, v___y_7271_, v___y_7272_);
return v___x_7297_;
}
else
{
return v___x_7295_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1___boxed(lean_object* v_p_7298_, lean_object* v___y_7299_, lean_object* v___y_7300_, lean_object* v___y_7301_, lean_object* v___y_7302_, lean_object* v___y_7303_, lean_object* v___y_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_){
_start:
{
lean_object* v_res_7313_; 
v_res_7313_ = l_Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1(v_p_7298_, v___y_7299_, v___y_7300_, v___y_7301_, v___y_7302_, v___y_7303_, v___y_7304_, v___y_7305_, v___y_7306_, v___y_7307_, v___y_7308_, v___y_7309_, v___y_7310_, v___y_7311_);
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_);
lean_dec_ref(v___y_7304_);
lean_dec(v___y_7303_);
lean_dec(v___y_7302_);
lean_dec(v___y_7301_);
lean_dec(v___y_7300_);
lean_dec_ref(v___y_7299_);
lean_dec(v_p_7298_);
return v_res_7313_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1(lean_object* v_c_7324_, lean_object* v_a_7325_, lean_object* v_lhs_7326_, lean_object* v_p_7327_, uint8_t v_strict_7328_, lean_object* v_h_x27_7329_, lean_object* v___y_7330_, lean_object* v___y_7331_, lean_object* v___y_7332_, lean_object* v___y_7333_, lean_object* v___y_7334_, lean_object* v___y_7335_, lean_object* v___y_7336_, lean_object* v___y_7337_, lean_object* v___y_7338_, lean_object* v___y_7339_, lean_object* v___y_7340_, lean_object* v___y_7341_, lean_object* v___y_7342_){
_start:
{
lean_object* v_p_7344_; lean_object* v___x_7345_; 
v_p_7344_ = lean_ctor_get(v_c_7324_, 0);
lean_inc_ref(v_p_7344_);
lean_dec_ref(v_c_7324_);
v___x_7345_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_7344_, v___y_7330_, v___y_7331_, v___y_7332_, v___y_7333_, v___y_7334_, v___y_7335_, v___y_7336_, v___y_7337_, v___y_7338_, v___y_7339_, v___y_7340_, v___y_7341_, v___y_7342_);
if (lean_obj_tag(v___x_7345_) == 0)
{
lean_object* v_a_7346_; lean_object* v___x_7347_; lean_object* v_h_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_; lean_object* v___y_7359_; lean_object* v___y_7360_; lean_object* v___y_7361_; lean_object* v___y_7362_; 
v_a_7346_ = lean_ctor_get(v___x_7345_, 0);
lean_inc(v_a_7346_);
lean_dec_ref(v___x_7345_);
v___x_7347_ = l_Lean_mkAppB(v_h_x27_7329_, v_a_7346_, v_a_7325_);
if (v_strict_7328_ == 0)
{
lean_object* v___x_7379_; lean_object* v___x_7380_; 
v___x_7379_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__0));
lean_inc_ref(v___y_7330_);
v___x_7380_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___redArg(v___x_7379_, v___y_7330_, v___y_7332_, v___y_7333_, v___y_7334_, v___y_7335_, v___y_7336_, v___y_7337_, v___y_7338_, v___y_7339_, v___y_7340_, v___y_7341_, v___y_7342_);
if (lean_obj_tag(v___x_7380_) == 0)
{
lean_object* v_a_7381_; 
v_a_7381_ = lean_ctor_get(v___x_7380_, 0);
lean_inc(v_a_7381_);
lean_dec_ref(v___x_7380_);
v_h_7349_ = v_a_7381_;
v___y_7350_ = v___y_7330_;
v___y_7351_ = v___y_7331_;
v___y_7352_ = v___y_7332_;
v___y_7353_ = v___y_7333_;
v___y_7354_ = v___y_7334_;
v___y_7355_ = v___y_7335_;
v___y_7356_ = v___y_7336_;
v___y_7357_ = v___y_7337_;
v___y_7358_ = v___y_7338_;
v___y_7359_ = v___y_7339_;
v___y_7360_ = v___y_7340_;
v___y_7361_ = v___y_7341_;
v___y_7362_ = v___y_7342_;
goto v___jp_7348_;
}
else
{
lean_dec_ref(v___x_7347_);
lean_dec_ref(v___y_7330_);
lean_dec(v_p_7327_);
lean_dec(v_lhs_7326_);
return v___x_7380_;
}
}
else
{
lean_object* v___x_7382_; lean_object* v___x_7383_; 
v___x_7382_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__1));
lean_inc_ref(v___y_7330_);
v___x_7383_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___redArg(v___x_7382_, v___y_7330_, v___y_7332_, v___y_7333_, v___y_7334_, v___y_7335_, v___y_7336_, v___y_7337_, v___y_7338_, v___y_7339_, v___y_7340_, v___y_7341_, v___y_7342_);
if (lean_obj_tag(v___x_7383_) == 0)
{
lean_object* v_a_7384_; 
v_a_7384_ = lean_ctor_get(v___x_7383_, 0);
lean_inc(v_a_7384_);
lean_dec_ref(v___x_7383_);
v_h_7349_ = v_a_7384_;
v___y_7350_ = v___y_7330_;
v___y_7351_ = v___y_7331_;
v___y_7352_ = v___y_7332_;
v___y_7353_ = v___y_7333_;
v___y_7354_ = v___y_7334_;
v___y_7355_ = v___y_7335_;
v___y_7356_ = v___y_7336_;
v___y_7357_ = v___y_7337_;
v___y_7358_ = v___y_7338_;
v___y_7359_ = v___y_7339_;
v___y_7360_ = v___y_7340_;
v___y_7361_ = v___y_7341_;
v___y_7362_ = v___y_7342_;
goto v___jp_7348_;
}
else
{
lean_dec_ref(v___x_7347_);
lean_dec_ref(v___y_7330_);
lean_dec(v_p_7327_);
lean_dec(v_lhs_7326_);
return v___x_7383_;
}
}
v___jp_7348_:
{
lean_object* v___x_7363_; 
v___x_7363_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lhs_7326_, v___y_7350_, v___y_7351_, v___y_7352_, v___y_7353_, v___y_7354_, v___y_7355_, v___y_7356_, v___y_7357_, v___y_7358_, v___y_7359_, v___y_7360_, v___y_7361_, v___y_7362_);
if (lean_obj_tag(v___x_7363_) == 0)
{
lean_object* v_a_7364_; lean_object* v___x_7365_; lean_object* v___x_7366_; 
v_a_7364_ = lean_ctor_get(v___x_7363_, 0);
lean_inc(v_a_7364_);
lean_dec_ref(v___x_7363_);
v___x_7365_ = lean_box(0);
v___x_7366_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v___x_7365_, v___y_7350_, v___y_7351_, v___y_7352_, v___y_7353_, v___y_7354_, v___y_7355_, v___y_7356_, v___y_7357_, v___y_7358_, v___y_7359_, v___y_7360_, v___y_7361_, v___y_7362_);
if (lean_obj_tag(v___x_7366_) == 0)
{
lean_object* v_a_7367_; lean_object* v___x_7368_; 
v_a_7367_ = lean_ctor_get(v___x_7366_, 0);
lean_inc(v_a_7367_);
lean_dec_ref(v___x_7366_);
v___x_7368_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7327_, v___y_7350_, v___y_7351_, v___y_7352_, v___y_7353_, v___y_7354_, v___y_7355_, v___y_7356_, v___y_7357_, v___y_7358_, v___y_7359_, v___y_7360_, v___y_7361_, v___y_7362_);
lean_dec_ref(v___y_7350_);
if (lean_obj_tag(v___x_7368_) == 0)
{
lean_object* v_a_7369_; lean_object* v___x_7371_; uint8_t v_isShared_7372_; uint8_t v_isSharedCheck_7378_; 
v_a_7369_ = lean_ctor_get(v___x_7368_, 0);
v_isSharedCheck_7378_ = !lean_is_exclusive(v___x_7368_);
if (v_isSharedCheck_7378_ == 0)
{
v___x_7371_ = v___x_7368_;
v_isShared_7372_ = v_isSharedCheck_7378_;
goto v_resetjp_7370_;
}
else
{
lean_inc(v_a_7369_);
lean_dec(v___x_7368_);
v___x_7371_ = lean_box(0);
v_isShared_7372_ = v_isSharedCheck_7378_;
goto v_resetjp_7370_;
}
v_resetjp_7370_:
{
lean_object* v___x_7373_; lean_object* v___x_7374_; lean_object* v___x_7376_; 
v___x_7373_ = l_Lean_eagerReflBoolTrue;
v___x_7374_ = l_Lean_mkApp5(v_h_7349_, v_a_7364_, v_a_7367_, v_a_7369_, v___x_7373_, v___x_7347_);
if (v_isShared_7372_ == 0)
{
lean_ctor_set(v___x_7371_, 0, v___x_7374_);
v___x_7376_ = v___x_7371_;
goto v_reusejp_7375_;
}
else
{
lean_object* v_reuseFailAlloc_7377_; 
v_reuseFailAlloc_7377_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7377_, 0, v___x_7374_);
v___x_7376_ = v_reuseFailAlloc_7377_;
goto v_reusejp_7375_;
}
v_reusejp_7375_:
{
return v___x_7376_;
}
}
}
else
{
lean_dec(v_a_7367_);
lean_dec(v_a_7364_);
lean_dec_ref(v_h_7349_);
lean_dec_ref(v___x_7347_);
return v___x_7368_;
}
}
else
{
lean_dec(v_a_7364_);
lean_dec_ref(v___y_7350_);
lean_dec_ref(v_h_7349_);
lean_dec_ref(v___x_7347_);
lean_dec(v_p_7327_);
return v___x_7366_;
}
}
else
{
lean_dec_ref(v___y_7350_);
lean_dec_ref(v_h_7349_);
lean_dec_ref(v___x_7347_);
lean_dec(v_p_7327_);
return v___x_7363_;
}
}
}
else
{
lean_dec_ref(v___y_7330_);
lean_dec_ref(v_h_x27_7329_);
lean_dec(v_p_7327_);
lean_dec(v_lhs_7326_);
lean_dec_ref(v_a_7325_);
return v___x_7345_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___boxed(lean_object** _args){
lean_object* v_c_7385_ = _args[0];
lean_object* v_a_7386_ = _args[1];
lean_object* v_lhs_7387_ = _args[2];
lean_object* v_p_7388_ = _args[3];
lean_object* v_strict_7389_ = _args[4];
lean_object* v_h_x27_7390_ = _args[5];
lean_object* v___y_7391_ = _args[6];
lean_object* v___y_7392_ = _args[7];
lean_object* v___y_7393_ = _args[8];
lean_object* v___y_7394_ = _args[9];
lean_object* v___y_7395_ = _args[10];
lean_object* v___y_7396_ = _args[11];
lean_object* v___y_7397_ = _args[12];
lean_object* v___y_7398_ = _args[13];
lean_object* v___y_7399_ = _args[14];
lean_object* v___y_7400_ = _args[15];
lean_object* v___y_7401_ = _args[16];
lean_object* v___y_7402_ = _args[17];
lean_object* v___y_7403_ = _args[18];
lean_object* v___y_7404_ = _args[19];
_start:
{
uint8_t v_strict_boxed_7405_; lean_object* v_res_7406_; 
v_strict_boxed_7405_ = lean_unbox(v_strict_7389_);
v_res_7406_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1(v_c_7385_, v_a_7386_, v_lhs_7387_, v_p_7388_, v_strict_boxed_7405_, v_h_x27_7390_, v___y_7391_, v___y_7392_, v___y_7393_, v___y_7394_, v___y_7395_, v___y_7396_, v___y_7397_, v___y_7398_, v___y_7399_, v___y_7400_, v___y_7401_, v___y_7402_, v___y_7403_);
lean_dec(v___y_7403_);
lean_dec_ref(v___y_7402_);
lean_dec(v___y_7401_);
lean_dec_ref(v___y_7400_);
lean_dec(v___y_7399_);
lean_dec_ref(v___y_7398_);
lean_dec(v___y_7397_);
lean_dec_ref(v___y_7396_);
lean_dec(v___y_7395_);
lean_dec(v___y_7394_);
lean_dec(v___y_7393_);
lean_dec(v___y_7392_);
return v_res_7406_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__0(lean_object* v_lhs_7407_, lean_object* v_rhs_7408_, lean_object* v_p_7409_, lean_object* v_e_7410_, lean_object* v_h_7411_, lean_object* v___y_7412_, lean_object* v___y_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_, lean_object* v___y_7424_){
_start:
{
lean_object* v___x_7426_; 
v___x_7426_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lhs_7407_, v___y_7412_, v___y_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_, v___y_7423_, v___y_7424_);
if (lean_obj_tag(v___x_7426_) == 0)
{
lean_object* v_a_7427_; lean_object* v___x_7428_; 
v_a_7427_ = lean_ctor_get(v___x_7426_, 0);
lean_inc(v_a_7427_);
lean_dec_ref(v___x_7426_);
v___x_7428_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_rhs_7408_, v___y_7412_, v___y_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_, v___y_7423_, v___y_7424_);
if (lean_obj_tag(v___x_7428_) == 0)
{
lean_object* v_a_7429_; lean_object* v___x_7430_; 
v_a_7429_ = lean_ctor_get(v___x_7428_, 0);
lean_inc(v_a_7429_);
lean_dec_ref(v___x_7428_);
v___x_7430_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7409_, v___y_7412_, v___y_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_, v___y_7423_, v___y_7424_);
if (lean_obj_tag(v___x_7430_) == 0)
{
lean_object* v_a_7431_; lean_object* v___x_7432_; 
v_a_7431_ = lean_ctor_get(v___x_7430_, 0);
lean_inc(v_a_7431_);
lean_dec_ref(v___x_7430_);
lean_inc_ref(v_e_7410_);
v___x_7432_ = l_Lean_Meta_Grind_mkEqTrueProof(v_e_7410_, v___y_7415_, v___y_7416_, v___y_7417_, v___y_7418_, v___y_7419_, v___y_7420_, v___y_7421_, v___y_7422_, v___y_7423_, v___y_7424_);
if (lean_obj_tag(v___x_7432_) == 0)
{
lean_object* v_a_7433_; lean_object* v___x_7435_; uint8_t v_isShared_7436_; uint8_t v_isSharedCheck_7443_; 
v_a_7433_ = lean_ctor_get(v___x_7432_, 0);
v_isSharedCheck_7443_ = !lean_is_exclusive(v___x_7432_);
if (v_isSharedCheck_7443_ == 0)
{
v___x_7435_ = v___x_7432_;
v_isShared_7436_ = v_isSharedCheck_7443_;
goto v_resetjp_7434_;
}
else
{
lean_inc(v_a_7433_);
lean_dec(v___x_7432_);
v___x_7435_ = lean_box(0);
v_isShared_7436_ = v_isSharedCheck_7443_;
goto v_resetjp_7434_;
}
v_resetjp_7434_:
{
lean_object* v___x_7437_; lean_object* v___x_7438_; lean_object* v___x_7439_; lean_object* v___x_7441_; 
v___x_7437_ = l_Lean_eagerReflBoolTrue;
v___x_7438_ = l_Lean_Meta_mkOfEqTrueCore(v_e_7410_, v_a_7433_);
v___x_7439_ = l_Lean_mkApp5(v_h_7411_, v_a_7427_, v_a_7429_, v_a_7431_, v___x_7437_, v___x_7438_);
if (v_isShared_7436_ == 0)
{
lean_ctor_set(v___x_7435_, 0, v___x_7439_);
v___x_7441_ = v___x_7435_;
goto v_reusejp_7440_;
}
else
{
lean_object* v_reuseFailAlloc_7442_; 
v_reuseFailAlloc_7442_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7442_, 0, v___x_7439_);
v___x_7441_ = v_reuseFailAlloc_7442_;
goto v_reusejp_7440_;
}
v_reusejp_7440_:
{
return v___x_7441_;
}
}
}
else
{
lean_dec(v_a_7431_);
lean_dec(v_a_7429_);
lean_dec(v_a_7427_);
lean_dec_ref(v_h_7411_);
lean_dec_ref(v_e_7410_);
return v___x_7432_;
}
}
else
{
lean_dec(v_a_7429_);
lean_dec(v_a_7427_);
lean_dec(v___y_7424_);
lean_dec_ref(v___y_7423_);
lean_dec(v___y_7422_);
lean_dec_ref(v___y_7421_);
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(v___y_7415_);
lean_dec_ref(v_h_7411_);
lean_dec_ref(v_e_7410_);
return v___x_7430_;
}
}
else
{
lean_dec(v_a_7427_);
lean_dec(v___y_7424_);
lean_dec_ref(v___y_7423_);
lean_dec(v___y_7422_);
lean_dec_ref(v___y_7421_);
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(v___y_7415_);
lean_dec_ref(v_h_7411_);
lean_dec_ref(v_e_7410_);
lean_dec(v_p_7409_);
return v___x_7428_;
}
}
else
{
lean_dec(v___y_7424_);
lean_dec_ref(v___y_7423_);
lean_dec(v___y_7422_);
lean_dec_ref(v___y_7421_);
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(v___y_7415_);
lean_dec_ref(v_h_7411_);
lean_dec_ref(v_e_7410_);
lean_dec(v_p_7409_);
lean_dec(v_rhs_7408_);
return v___x_7426_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__0___boxed(lean_object** _args){
lean_object* v_lhs_7444_ = _args[0];
lean_object* v_rhs_7445_ = _args[1];
lean_object* v_p_7446_ = _args[2];
lean_object* v_e_7447_ = _args[3];
lean_object* v_h_7448_ = _args[4];
lean_object* v___y_7449_ = _args[5];
lean_object* v___y_7450_ = _args[6];
lean_object* v___y_7451_ = _args[7];
lean_object* v___y_7452_ = _args[8];
lean_object* v___y_7453_ = _args[9];
lean_object* v___y_7454_ = _args[10];
lean_object* v___y_7455_ = _args[11];
lean_object* v___y_7456_ = _args[12];
lean_object* v___y_7457_ = _args[13];
lean_object* v___y_7458_ = _args[14];
lean_object* v___y_7459_ = _args[15];
lean_object* v___y_7460_ = _args[16];
lean_object* v___y_7461_ = _args[17];
lean_object* v___y_7462_ = _args[18];
_start:
{
lean_object* v_res_7463_; 
v_res_7463_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__0(v_lhs_7444_, v_rhs_7445_, v_p_7446_, v_e_7447_, v_h_7448_, v___y_7449_, v___y_7450_, v___y_7451_, v___y_7452_, v___y_7453_, v___y_7454_, v___y_7455_, v___y_7456_, v___y_7457_, v___y_7458_, v___y_7459_, v___y_7460_, v___y_7461_);
lean_dec(v___y_7451_);
lean_dec(v___y_7450_);
lean_dec_ref(v___y_7449_);
return v_res_7463_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg___closed__1(void){
_start:
{
lean_object* v___x_7465_; lean_object* v___x_7466_; 
v___x_7465_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg___closed__0));
v___x_7466_ = l_Lean_stringToMessageData(v___x_7465_);
return v___x_7466_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg(lean_object* v___y_7467_, lean_object* v___y_7468_, lean_object* v___y_7469_, lean_object* v___y_7470_, lean_object* v___y_7471_, lean_object* v___y_7472_, lean_object* v___y_7473_, lean_object* v___y_7474_, lean_object* v___y_7475_, lean_object* v___y_7476_, lean_object* v___y_7477_){
_start:
{
lean_object* v___x_7479_; 
v___x_7479_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v___y_7467_, v___y_7468_, v___y_7469_, v___y_7470_, v___y_7471_, v___y_7472_, v___y_7473_, v___y_7474_, v___y_7475_, v___y_7476_, v___y_7477_);
if (lean_obj_tag(v___x_7479_) == 0)
{
lean_object* v_a_7480_; lean_object* v___x_7482_; uint8_t v_isShared_7483_; uint8_t v_isSharedCheck_7491_; 
v_a_7480_ = lean_ctor_get(v___x_7479_, 0);
v_isSharedCheck_7491_ = !lean_is_exclusive(v___x_7479_);
if (v_isSharedCheck_7491_ == 0)
{
v___x_7482_ = v___x_7479_;
v_isShared_7483_ = v_isSharedCheck_7491_;
goto v_resetjp_7481_;
}
else
{
lean_inc(v_a_7480_);
lean_dec(v___x_7479_);
v___x_7482_ = lean_box(0);
v_isShared_7483_ = v_isSharedCheck_7491_;
goto v_resetjp_7481_;
}
v_resetjp_7481_:
{
lean_object* v_ltFn_x3f_7484_; 
v_ltFn_x3f_7484_ = lean_ctor_get(v_a_7480_, 21);
lean_inc(v_ltFn_x3f_7484_);
lean_dec(v_a_7480_);
if (lean_obj_tag(v_ltFn_x3f_7484_) == 1)
{
lean_object* v_val_7485_; lean_object* v___x_7487_; 
v_val_7485_ = lean_ctor_get(v_ltFn_x3f_7484_, 0);
lean_inc(v_val_7485_);
lean_dec_ref(v_ltFn_x3f_7484_);
if (v_isShared_7483_ == 0)
{
lean_ctor_set(v___x_7482_, 0, v_val_7485_);
v___x_7487_ = v___x_7482_;
goto v_reusejp_7486_;
}
else
{
lean_object* v_reuseFailAlloc_7488_; 
v_reuseFailAlloc_7488_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7488_, 0, v_val_7485_);
v___x_7487_ = v_reuseFailAlloc_7488_;
goto v_reusejp_7486_;
}
v_reusejp_7486_:
{
return v___x_7487_;
}
}
else
{
lean_object* v___x_7489_; lean_object* v___x_7490_; 
lean_dec(v_ltFn_x3f_7484_);
lean_del_object(v___x_7482_);
v___x_7489_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg___closed__1, &l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg___closed__1_once, _init_l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg___closed__1);
v___x_7490_ = l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2___redArg(v___x_7489_, v___y_7474_, v___y_7475_, v___y_7476_, v___y_7477_);
return v___x_7490_;
}
}
}
else
{
lean_object* v_a_7492_; lean_object* v___x_7494_; uint8_t v_isShared_7495_; uint8_t v_isSharedCheck_7499_; 
v_a_7492_ = lean_ctor_get(v___x_7479_, 0);
v_isSharedCheck_7499_ = !lean_is_exclusive(v___x_7479_);
if (v_isSharedCheck_7499_ == 0)
{
v___x_7494_ = v___x_7479_;
v_isShared_7495_ = v_isSharedCheck_7499_;
goto v_resetjp_7493_;
}
else
{
lean_inc(v_a_7492_);
lean_dec(v___x_7479_);
v___x_7494_ = lean_box(0);
v_isShared_7495_ = v_isSharedCheck_7499_;
goto v_resetjp_7493_;
}
v_resetjp_7493_:
{
lean_object* v___x_7497_; 
if (v_isShared_7495_ == 0)
{
v___x_7497_ = v___x_7494_;
goto v_reusejp_7496_;
}
else
{
lean_object* v_reuseFailAlloc_7498_; 
v_reuseFailAlloc_7498_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7498_, 0, v_a_7492_);
v___x_7497_ = v_reuseFailAlloc_7498_;
goto v_reusejp_7496_;
}
v_reusejp_7496_:
{
return v___x_7497_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg___boxed(lean_object* v___y_7500_, lean_object* v___y_7501_, lean_object* v___y_7502_, lean_object* v___y_7503_, lean_object* v___y_7504_, lean_object* v___y_7505_, lean_object* v___y_7506_, lean_object* v___y_7507_, lean_object* v___y_7508_, lean_object* v___y_7509_, lean_object* v___y_7510_, lean_object* v___y_7511_){
_start:
{
lean_object* v_res_7512_; 
v_res_7512_ = l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg(v___y_7500_, v___y_7501_, v___y_7502_, v___y_7503_, v___y_7504_, v___y_7505_, v___y_7506_, v___y_7507_, v___y_7508_, v___y_7509_, v___y_7510_);
lean_dec(v___y_7510_);
lean_dec_ref(v___y_7509_);
lean_dec(v___y_7508_);
lean_dec_ref(v___y_7507_);
lean_dec(v___y_7506_);
lean_dec_ref(v___y_7505_);
lean_dec(v___y_7504_);
lean_dec_ref(v___y_7503_);
lean_dec(v___y_7502_);
lean_dec(v___y_7501_);
lean_dec(v___y_7500_);
return v_res_7512_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__34(void){
_start:
{
lean_object* v___x_7627_; lean_object* v___x_7628_; 
v___x_7627_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__33));
v___x_7628_ = l_Lean_stringToMessageData(v___x_7627_);
return v___x_7628_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof(lean_object* v_c_x27_7629_, lean_object* v_a_7630_, lean_object* v_a_7631_, lean_object* v_a_7632_, lean_object* v_a_7633_, lean_object* v_a_7634_, lean_object* v_a_7635_, lean_object* v_a_7636_, lean_object* v_a_7637_, lean_object* v_a_7638_, lean_object* v_a_7639_, lean_object* v_a_7640_, lean_object* v_a_7641_, lean_object* v_a_7642_){
_start:
{
lean_object* v___x_7644_; lean_object* v_cache_7645_; uint64_t v_addr_7646_; lean_object* v_a_7648_; lean_object* v___y_7668_; lean_object* v___x_7670_; 
v___x_7644_ = lean_st_ref_get(v_a_7631_);
v_cache_7645_ = lean_ctor_get(v___x_7644_, 0);
lean_inc_ref(v_cache_7645_);
lean_dec(v___x_7644_);
v_addr_7646_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_caching_unsafe__1___redArg(v_c_x27_7629_);
v___x_7670_ = l_Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__1___redArg(v_cache_7645_, v_addr_7646_);
lean_dec_ref(v_cache_7645_);
if (lean_obj_tag(v___x_7670_) == 1)
{
lean_object* v_val_7671_; lean_object* v___x_7673_; uint8_t v_isShared_7674_; uint8_t v_isSharedCheck_7678_; 
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec(v_a_7631_);
lean_dec_ref(v_a_7630_);
lean_dec_ref(v_c_x27_7629_);
v_val_7671_ = lean_ctor_get(v___x_7670_, 0);
v_isSharedCheck_7678_ = !lean_is_exclusive(v___x_7670_);
if (v_isSharedCheck_7678_ == 0)
{
v___x_7673_ = v___x_7670_;
v_isShared_7674_ = v_isSharedCheck_7678_;
goto v_resetjp_7672_;
}
else
{
lean_inc(v_val_7671_);
lean_dec(v___x_7670_);
v___x_7673_ = lean_box(0);
v_isShared_7674_ = v_isSharedCheck_7678_;
goto v_resetjp_7672_;
}
v_resetjp_7672_:
{
lean_object* v___x_7676_; 
if (v_isShared_7674_ == 0)
{
lean_ctor_set_tag(v___x_7673_, 0);
v___x_7676_ = v___x_7673_;
goto v_reusejp_7675_;
}
else
{
lean_object* v_reuseFailAlloc_7677_; 
v_reuseFailAlloc_7677_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7677_, 0, v_val_7671_);
v___x_7676_ = v_reuseFailAlloc_7677_;
goto v_reusejp_7675_;
}
v_reusejp_7675_:
{
return v___x_7676_;
}
}
}
else
{
lean_object* v_p_7679_; uint8_t v_strict_7680_; lean_object* v_h_7681_; lean_object* v_fst_7683_; lean_object* v_fst_7684_; lean_object* v_snd_7685_; 
lean_dec(v___x_7670_);
v_p_7679_ = lean_ctor_get(v_c_x27_7629_, 0);
lean_inc(v_p_7679_);
v_strict_7680_ = lean_ctor_get_uint8(v_c_x27_7629_, sizeof(void*)*2);
v_h_7681_ = lean_ctor_get(v_c_x27_7629_, 1);
lean_inc(v_h_7681_);
lean_dec_ref(v_c_x27_7629_);
switch(lean_obj_tag(v_h_7681_))
{
case 0:
{
if (v_strict_7680_ == 0)
{
lean_object* v_e_7702_; lean_object* v_lhs_7703_; lean_object* v_rhs_7704_; lean_object* v___x_7705_; lean_object* v___x_7706_; 
v_e_7702_ = lean_ctor_get(v_h_7681_, 0);
lean_inc_ref(v_e_7702_);
v_lhs_7703_ = lean_ctor_get(v_h_7681_, 1);
lean_inc(v_lhs_7703_);
v_rhs_7704_ = lean_ctor_get(v_h_7681_, 2);
lean_inc(v_rhs_7704_);
lean_dec_ref(v_h_7681_);
v___x_7705_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__0));
lean_inc_ref(v_a_7630_);
v___x_7706_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___redArg(v___x_7705_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7706_) == 0)
{
lean_object* v_a_7707_; lean_object* v___x_7708_; 
v_a_7707_ = lean_ctor_get(v___x_7706_, 0);
lean_inc(v_a_7707_);
lean_dec_ref(v___x_7706_);
v___x_7708_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__0(v_lhs_7703_, v_rhs_7704_, v_p_7679_, v_e_7702_, v_a_7707_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7708_;
goto v___jp_7667_;
}
else
{
lean_dec(v_rhs_7704_);
lean_dec(v_lhs_7703_);
lean_dec_ref(v_e_7702_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7706_;
goto v___jp_7667_;
}
}
else
{
lean_object* v_e_7709_; lean_object* v_lhs_7710_; lean_object* v_rhs_7711_; lean_object* v___x_7712_; lean_object* v___x_7713_; 
v_e_7709_ = lean_ctor_get(v_h_7681_, 0);
lean_inc_ref(v_e_7709_);
v_lhs_7710_ = lean_ctor_get(v_h_7681_, 1);
lean_inc(v_lhs_7710_);
v_rhs_7711_ = lean_ctor_get(v_h_7681_, 2);
lean_inc(v_rhs_7711_);
lean_dec_ref(v_h_7681_);
v___x_7712_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__1));
lean_inc_ref(v_a_7630_);
v___x_7713_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___redArg(v___x_7712_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7713_) == 0)
{
lean_object* v_a_7714_; lean_object* v___x_7715_; 
v_a_7714_ = lean_ctor_get(v___x_7713_, 0);
lean_inc(v_a_7714_);
lean_dec_ref(v___x_7713_);
v___x_7715_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__0(v_lhs_7710_, v_rhs_7711_, v_p_7679_, v_e_7709_, v_a_7714_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7715_;
goto v___jp_7667_;
}
else
{
lean_dec(v_rhs_7711_);
lean_dec(v_lhs_7710_);
lean_dec_ref(v_e_7709_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7713_;
goto v___jp_7667_;
}
}
}
case 1:
{
lean_object* v_e_7716_; lean_object* v_lhs_7717_; lean_object* v_rhs_7718_; lean_object* v___y_7720_; 
v_e_7716_ = lean_ctor_get(v_h_7681_, 0);
lean_inc_ref(v_e_7716_);
v_lhs_7717_ = lean_ctor_get(v_h_7681_, 1);
lean_inc(v_lhs_7717_);
v_rhs_7718_ = lean_ctor_get(v_h_7681_, 2);
lean_inc(v_rhs_7718_);
lean_dec_ref(v_h_7681_);
if (v_strict_7680_ == 0)
{
lean_object* v___x_7734_; 
v___x_7734_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__0));
v___y_7720_ = v___x_7734_;
goto v___jp_7719_;
}
else
{
lean_object* v___x_7735_; 
v___x_7735_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__1));
v___y_7720_ = v___x_7735_;
goto v___jp_7719_;
}
v___jp_7719_:
{
lean_object* v___x_7721_; 
lean_inc_ref(v_a_7630_);
v___x_7721_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix___redArg(v___y_7720_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7721_) == 0)
{
lean_object* v_a_7722_; lean_object* v___x_7723_; 
v_a_7722_ = lean_ctor_get(v___x_7721_, 0);
lean_inc(v_a_7722_);
lean_dec_ref(v___x_7721_);
v___x_7723_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lhs_7717_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7723_) == 0)
{
lean_object* v_a_7724_; lean_object* v___x_7725_; 
v_a_7724_ = lean_ctor_get(v___x_7723_, 0);
lean_inc(v_a_7724_);
lean_dec_ref(v___x_7723_);
v___x_7725_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_rhs_7718_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7725_) == 0)
{
lean_object* v_a_7726_; lean_object* v___x_7727_; 
v_a_7726_ = lean_ctor_get(v___x_7725_, 0);
lean_inc(v_a_7726_);
lean_dec_ref(v___x_7725_);
v___x_7727_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7679_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
if (lean_obj_tag(v___x_7727_) == 0)
{
lean_object* v_a_7728_; lean_object* v___x_7729_; 
v_a_7728_ = lean_ctor_get(v___x_7727_, 0);
lean_inc(v_a_7728_);
lean_dec_ref(v___x_7727_);
lean_inc_ref(v_e_7716_);
v___x_7729_ = l_Lean_Meta_Grind_mkEqFalseProof(v_e_7716_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7729_) == 0)
{
lean_object* v_a_7730_; lean_object* v___x_7731_; lean_object* v___x_7732_; lean_object* v___x_7733_; 
v_a_7730_ = lean_ctor_get(v___x_7729_, 0);
lean_inc(v_a_7730_);
lean_dec_ref(v___x_7729_);
v___x_7731_ = l_Lean_eagerReflBoolTrue;
v___x_7732_ = l_Lean_Meta_mkOfEqFalseCore(v_e_7716_, v_a_7730_);
v___x_7733_ = l_Lean_mkApp5(v_a_7722_, v_a_7724_, v_a_7726_, v_a_7728_, v___x_7731_, v___x_7732_);
v_a_7648_ = v___x_7733_;
goto v___jp_7647_;
}
else
{
lean_dec(v_a_7728_);
lean_dec(v_a_7726_);
lean_dec(v_a_7724_);
lean_dec(v_a_7722_);
lean_dec_ref(v_e_7716_);
v___y_7668_ = v___x_7729_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_7726_);
lean_dec(v_a_7724_);
lean_dec(v_a_7722_);
lean_dec_ref(v_e_7716_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
v___y_7668_ = v___x_7727_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_7724_);
lean_dec(v_a_7722_);
lean_dec_ref(v_e_7716_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7725_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_7722_);
lean_dec(v_rhs_7718_);
lean_dec_ref(v_e_7716_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7723_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_rhs_7718_);
lean_dec(v_lhs_7717_);
lean_dec_ref(v_e_7716_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7721_;
goto v___jp_7667_;
}
}
}
case 2:
{
lean_object* v_c_7736_; lean_object* v_lhs_7737_; lean_object* v___x_7738_; 
v_c_7736_ = lean_ctor_get(v_h_7681_, 0);
lean_inc_ref(v_c_7736_);
v_lhs_7737_ = lean_ctor_get(v_h_7681_, 1);
lean_inc(v_lhs_7737_);
lean_dec_ref(v_h_7681_);
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc_ref(v_a_7630_);
lean_inc_ref(v_c_7736_);
v___x_7738_ = l_Lean_Meta_Grind_Arith_Linear_RingIneqCnstr_toExprProof(v_c_7736_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7738_) == 0)
{
if (v_strict_7680_ == 0)
{
lean_object* v_a_7739_; lean_object* v___x_7740_; lean_object* v___x_7741_; 
v_a_7739_ = lean_ctor_get(v___x_7738_, 0);
lean_inc(v_a_7739_);
lean_dec_ref(v___x_7738_);
v___x_7740_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__3));
lean_inc_ref(v_a_7630_);
v___x_7741_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLEThmPrefix___redArg(v___x_7740_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7741_) == 0)
{
lean_object* v_a_7742_; lean_object* v___x_7743_; 
v_a_7742_ = lean_ctor_get(v___x_7741_, 0);
lean_inc(v_a_7742_);
lean_dec_ref(v___x_7741_);
v___x_7743_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1(v_c_7736_, v_a_7739_, v_lhs_7737_, v_p_7679_, v_strict_7680_, v_a_7742_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
v___y_7668_ = v___x_7743_;
goto v___jp_7667_;
}
else
{
lean_dec(v_a_7739_);
lean_dec(v_lhs_7737_);
lean_dec_ref(v_c_7736_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7741_;
goto v___jp_7667_;
}
}
else
{
lean_object* v_a_7744_; lean_object* v___x_7745_; lean_object* v___x_7746_; 
v_a_7744_ = lean_ctor_get(v___x_7738_, 0);
lean_inc(v_a_7744_);
lean_dec_ref(v___x_7738_);
v___x_7745_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__5));
lean_inc_ref(v_a_7630_);
v___x_7746_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingLTThmPrefix___redArg(v___x_7745_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7746_) == 0)
{
lean_object* v_a_7747_; lean_object* v___x_7748_; 
v_a_7747_ = lean_ctor_get(v___x_7746_, 0);
lean_inc(v_a_7747_);
lean_dec_ref(v___x_7746_);
v___x_7748_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1(v_c_7736_, v_a_7744_, v_lhs_7737_, v_p_7679_, v_strict_7680_, v_a_7747_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
v___y_7668_ = v___x_7748_;
goto v___jp_7667_;
}
else
{
lean_dec(v_a_7744_);
lean_dec(v_lhs_7737_);
lean_dec_ref(v_c_7736_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7746_;
goto v___jp_7667_;
}
}
}
else
{
lean_dec(v_lhs_7737_);
lean_dec_ref(v_c_7736_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7738_;
goto v___jp_7667_;
}
}
case 3:
{
lean_object* v_e_7749_; lean_object* v_natStructId_7750_; lean_object* v_lhs_7751_; lean_object* v_rhs_7752_; lean_object* v_a_7754_; lean_object* v___x_7763_; 
v_e_7749_ = lean_ctor_get(v_h_7681_, 0);
lean_inc_ref(v_e_7749_);
v_natStructId_7750_ = lean_ctor_get(v_h_7681_, 1);
lean_inc(v_natStructId_7750_);
v_lhs_7751_ = lean_ctor_get(v_h_7681_, 2);
lean_inc(v_lhs_7751_);
v_rhs_7752_ = lean_ctor_get(v_h_7681_, 3);
lean_inc(v_rhs_7752_);
lean_dec_ref(v_h_7681_);
v___x_7763_ = l_Lean_Meta_Grind_Arith_Linear_getNatStruct(v_natStructId_7750_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7763_) == 0)
{
lean_object* v_a_7764_; lean_object* v___x_7765_; lean_object* v_a_7766_; lean_object* v___x_7767_; 
v_a_7764_ = lean_ctor_get(v___x_7763_, 0);
lean_inc(v_a_7764_);
lean_dec_ref(v___x_7763_);
v___x_7765_ = l_Lean_Expr_appFn_x21(v_e_7749_);
v_a_7766_ = l_Lean_Expr_appArg_x21(v___x_7765_);
lean_dec_ref(v___x_7765_);
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc(v_natStructId_7750_);
lean_inc_ref(v_a_7766_);
v___x_7767_ = l_Lean_Meta_Grind_Arith_Linear_ofNatModule(v_a_7766_, v_natStructId_7750_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7767_) == 0)
{
lean_object* v_a_7768_; lean_object* v_fst_7769_; lean_object* v_snd_7770_; lean_object* v_b_7771_; lean_object* v___x_7772_; 
v_a_7768_ = lean_ctor_get(v___x_7767_, 0);
lean_inc(v_a_7768_);
lean_dec_ref(v___x_7767_);
v_fst_7769_ = lean_ctor_get(v_a_7768_, 0);
lean_inc(v_fst_7769_);
v_snd_7770_ = lean_ctor_get(v_a_7768_, 1);
lean_inc(v_snd_7770_);
lean_dec(v_a_7768_);
v_b_7771_ = l_Lean_Expr_appArg_x21(v_e_7749_);
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc_ref(v_b_7771_);
v___x_7772_ = l_Lean_Meta_Grind_Arith_Linear_ofNatModule(v_b_7771_, v_natStructId_7750_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7772_) == 0)
{
lean_object* v_a_7773_; lean_object* v_fst_7774_; lean_object* v_snd_7775_; lean_object* v___x_7777_; uint8_t v_isShared_7778_; uint8_t v_isSharedCheck_7867_; 
v_a_7773_ = lean_ctor_get(v___x_7772_, 0);
lean_inc(v_a_7773_);
lean_dec_ref(v___x_7772_);
v_fst_7774_ = lean_ctor_get(v_a_7773_, 0);
v_snd_7775_ = lean_ctor_get(v_a_7773_, 1);
v_isSharedCheck_7867_ = !lean_is_exclusive(v_a_7773_);
if (v_isSharedCheck_7867_ == 0)
{
v___x_7777_ = v_a_7773_;
v_isShared_7778_ = v_isSharedCheck_7867_;
goto v_resetjp_7776_;
}
else
{
lean_inc(v_snd_7775_);
lean_inc(v_fst_7774_);
lean_dec(v_a_7773_);
v___x_7777_ = lean_box(0);
v_isShared_7778_ = v_isSharedCheck_7867_;
goto v_resetjp_7776_;
}
v_resetjp_7776_:
{
lean_object* v___y_7780_; 
if (v_strict_7680_ == 0)
{
lean_object* v_type_7786_; lean_object* v_u_7787_; lean_object* v_natModuleInst_7788_; lean_object* v_leInst_x3f_7789_; lean_object* v_isPreorderInst_x3f_7790_; lean_object* v_orderedAddInst_x3f_7791_; lean_object* v___x_7792_; lean_object* v___x_7793_; lean_object* v___x_7795_; 
v_type_7786_ = lean_ctor_get(v_a_7764_, 2);
lean_inc_ref(v_type_7786_);
v_u_7787_ = lean_ctor_get(v_a_7764_, 3);
lean_inc(v_u_7787_);
v_natModuleInst_7788_ = lean_ctor_get(v_a_7764_, 4);
lean_inc_ref(v_natModuleInst_7788_);
v_leInst_x3f_7789_ = lean_ctor_get(v_a_7764_, 5);
lean_inc(v_leInst_x3f_7789_);
v_isPreorderInst_x3f_7790_ = lean_ctor_get(v_a_7764_, 8);
lean_inc(v_isPreorderInst_x3f_7790_);
v_orderedAddInst_x3f_7791_ = lean_ctor_get(v_a_7764_, 9);
lean_inc(v_orderedAddInst_x3f_7791_);
lean_dec(v_a_7764_);
v___x_7792_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__7));
v___x_7793_ = lean_box(0);
if (v_isShared_7778_ == 0)
{
lean_ctor_set_tag(v___x_7777_, 1);
lean_ctor_set(v___x_7777_, 1, v___x_7793_);
lean_ctor_set(v___x_7777_, 0, v_u_7787_);
v___x_7795_ = v___x_7777_;
goto v_reusejp_7794_;
}
else
{
lean_object* v_reuseFailAlloc_7816_; 
v_reuseFailAlloc_7816_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_7816_, 0, v_u_7787_);
lean_ctor_set(v_reuseFailAlloc_7816_, 1, v___x_7793_);
v___x_7795_ = v_reuseFailAlloc_7816_;
goto v_reusejp_7794_;
}
v_reusejp_7794_:
{
lean_object* v___x_7796_; lean_object* v___y_7798_; lean_object* v___y_7799_; lean_object* v___y_7800_; lean_object* v___y_7803_; lean_object* v___y_7804_; lean_object* v___y_7809_; 
v___x_7796_ = l_Lean_mkConst(v___x_7792_, v___x_7795_);
if (lean_obj_tag(v_leInst_x3f_7789_) == 0)
{
lean_object* v___x_7813_; lean_object* v___x_7814_; 
v___x_7813_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7814_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7813_);
v___y_7809_ = v___x_7814_;
goto v___jp_7808_;
}
else
{
lean_object* v_val_7815_; 
v_val_7815_ = lean_ctor_get(v_leInst_x3f_7789_, 0);
lean_inc(v_val_7815_);
lean_dec_ref(v_leInst_x3f_7789_);
v___y_7809_ = v_val_7815_;
goto v___jp_7808_;
}
v___jp_7797_:
{
lean_object* v___x_7801_; 
v___x_7801_ = l_Lean_mkApp5(v___x_7796_, v_type_7786_, v_natModuleInst_7788_, v___y_7798_, v___y_7799_, v___y_7800_);
v___y_7780_ = v___x_7801_;
goto v___jp_7779_;
}
v___jp_7802_:
{
if (lean_obj_tag(v_orderedAddInst_x3f_7791_) == 0)
{
lean_object* v___x_7805_; lean_object* v___x_7806_; 
v___x_7805_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7806_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7805_);
v___y_7798_ = v___y_7803_;
v___y_7799_ = v___y_7804_;
v___y_7800_ = v___x_7806_;
goto v___jp_7797_;
}
else
{
lean_object* v_val_7807_; 
v_val_7807_ = lean_ctor_get(v_orderedAddInst_x3f_7791_, 0);
lean_inc(v_val_7807_);
lean_dec_ref(v_orderedAddInst_x3f_7791_);
v___y_7798_ = v___y_7803_;
v___y_7799_ = v___y_7804_;
v___y_7800_ = v_val_7807_;
goto v___jp_7797_;
}
}
v___jp_7808_:
{
if (lean_obj_tag(v_isPreorderInst_x3f_7790_) == 0)
{
lean_object* v___x_7810_; lean_object* v___x_7811_; 
v___x_7810_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7811_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7810_);
v___y_7803_ = v___y_7809_;
v___y_7804_ = v___x_7811_;
goto v___jp_7802_;
}
else
{
lean_object* v_val_7812_; 
v_val_7812_ = lean_ctor_get(v_isPreorderInst_x3f_7790_, 0);
lean_inc(v_val_7812_);
lean_dec_ref(v_isPreorderInst_x3f_7790_);
v___y_7803_ = v___y_7809_;
v___y_7804_ = v_val_7812_;
goto v___jp_7802_;
}
}
}
}
else
{
lean_object* v_type_7817_; lean_object* v_u_7818_; lean_object* v_natModuleInst_7819_; lean_object* v_leInst_x3f_7820_; lean_object* v_ltInst_x3f_7821_; lean_object* v_lawfulOrderLTInst_x3f_7822_; lean_object* v_isPreorderInst_x3f_7823_; lean_object* v_orderedAddInst_x3f_7824_; lean_object* v___x_7825_; lean_object* v___x_7826_; lean_object* v___x_7828_; 
v_type_7817_ = lean_ctor_get(v_a_7764_, 2);
lean_inc_ref(v_type_7817_);
v_u_7818_ = lean_ctor_get(v_a_7764_, 3);
lean_inc(v_u_7818_);
v_natModuleInst_7819_ = lean_ctor_get(v_a_7764_, 4);
lean_inc_ref(v_natModuleInst_7819_);
v_leInst_x3f_7820_ = lean_ctor_get(v_a_7764_, 5);
lean_inc(v_leInst_x3f_7820_);
v_ltInst_x3f_7821_ = lean_ctor_get(v_a_7764_, 6);
lean_inc(v_ltInst_x3f_7821_);
v_lawfulOrderLTInst_x3f_7822_ = lean_ctor_get(v_a_7764_, 7);
lean_inc(v_lawfulOrderLTInst_x3f_7822_);
v_isPreorderInst_x3f_7823_ = lean_ctor_get(v_a_7764_, 8);
lean_inc(v_isPreorderInst_x3f_7823_);
v_orderedAddInst_x3f_7824_ = lean_ctor_get(v_a_7764_, 9);
lean_inc(v_orderedAddInst_x3f_7824_);
lean_dec(v_a_7764_);
v___x_7825_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__9));
v___x_7826_ = lean_box(0);
if (v_isShared_7778_ == 0)
{
lean_ctor_set_tag(v___x_7777_, 1);
lean_ctor_set(v___x_7777_, 1, v___x_7826_);
lean_ctor_set(v___x_7777_, 0, v_u_7818_);
v___x_7828_ = v___x_7777_;
goto v_reusejp_7827_;
}
else
{
lean_object* v_reuseFailAlloc_7866_; 
v_reuseFailAlloc_7866_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_7866_, 0, v_u_7818_);
lean_ctor_set(v_reuseFailAlloc_7866_, 1, v___x_7826_);
v___x_7828_ = v_reuseFailAlloc_7866_;
goto v_reusejp_7827_;
}
v_reusejp_7827_:
{
lean_object* v___x_7829_; lean_object* v___y_7831_; lean_object* v___y_7832_; lean_object* v___y_7833_; lean_object* v___y_7834_; lean_object* v___y_7835_; lean_object* v___y_7838_; lean_object* v___y_7839_; lean_object* v___y_7840_; lean_object* v___y_7841_; lean_object* v___y_7846_; lean_object* v___y_7847_; lean_object* v___y_7848_; lean_object* v___y_7853_; lean_object* v___y_7854_; lean_object* v___y_7859_; 
v___x_7829_ = l_Lean_mkConst(v___x_7825_, v___x_7828_);
if (lean_obj_tag(v_leInst_x3f_7820_) == 0)
{
lean_object* v___x_7863_; lean_object* v___x_7864_; 
v___x_7863_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7864_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7863_);
v___y_7859_ = v___x_7864_;
goto v___jp_7858_;
}
else
{
lean_object* v_val_7865_; 
v_val_7865_ = lean_ctor_get(v_leInst_x3f_7820_, 0);
lean_inc(v_val_7865_);
lean_dec_ref(v_leInst_x3f_7820_);
v___y_7859_ = v_val_7865_;
goto v___jp_7858_;
}
v___jp_7830_:
{
lean_object* v___x_7836_; 
v___x_7836_ = l_Lean_mkApp7(v___x_7829_, v_type_7817_, v_natModuleInst_7819_, v___y_7832_, v___y_7833_, v___y_7834_, v___y_7831_, v___y_7835_);
v___y_7780_ = v___x_7836_;
goto v___jp_7779_;
}
v___jp_7837_:
{
if (lean_obj_tag(v_orderedAddInst_x3f_7824_) == 0)
{
lean_object* v___x_7842_; lean_object* v___x_7843_; 
v___x_7842_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7843_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7842_);
v___y_7831_ = v___y_7841_;
v___y_7832_ = v___y_7838_;
v___y_7833_ = v___y_7839_;
v___y_7834_ = v___y_7840_;
v___y_7835_ = v___x_7843_;
goto v___jp_7830_;
}
else
{
lean_object* v_val_7844_; 
v_val_7844_ = lean_ctor_get(v_orderedAddInst_x3f_7824_, 0);
lean_inc(v_val_7844_);
lean_dec_ref(v_orderedAddInst_x3f_7824_);
v___y_7831_ = v___y_7841_;
v___y_7832_ = v___y_7838_;
v___y_7833_ = v___y_7839_;
v___y_7834_ = v___y_7840_;
v___y_7835_ = v_val_7844_;
goto v___jp_7830_;
}
}
v___jp_7845_:
{
if (lean_obj_tag(v_isPreorderInst_x3f_7823_) == 0)
{
lean_object* v___x_7849_; lean_object* v___x_7850_; 
v___x_7849_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7850_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7849_);
v___y_7838_ = v___y_7846_;
v___y_7839_ = v___y_7847_;
v___y_7840_ = v___y_7848_;
v___y_7841_ = v___x_7850_;
goto v___jp_7837_;
}
else
{
lean_object* v_val_7851_; 
v_val_7851_ = lean_ctor_get(v_isPreorderInst_x3f_7823_, 0);
lean_inc(v_val_7851_);
lean_dec_ref(v_isPreorderInst_x3f_7823_);
v___y_7838_ = v___y_7846_;
v___y_7839_ = v___y_7847_;
v___y_7840_ = v___y_7848_;
v___y_7841_ = v_val_7851_;
goto v___jp_7837_;
}
}
v___jp_7852_:
{
if (lean_obj_tag(v_lawfulOrderLTInst_x3f_7822_) == 0)
{
lean_object* v___x_7855_; lean_object* v___x_7856_; 
v___x_7855_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7856_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7855_);
v___y_7846_ = v___y_7853_;
v___y_7847_ = v___y_7854_;
v___y_7848_ = v___x_7856_;
goto v___jp_7845_;
}
else
{
lean_object* v_val_7857_; 
v_val_7857_ = lean_ctor_get(v_lawfulOrderLTInst_x3f_7822_, 0);
lean_inc(v_val_7857_);
lean_dec_ref(v_lawfulOrderLTInst_x3f_7822_);
v___y_7846_ = v___y_7853_;
v___y_7847_ = v___y_7854_;
v___y_7848_ = v_val_7857_;
goto v___jp_7845_;
}
}
v___jp_7858_:
{
if (lean_obj_tag(v_ltInst_x3f_7821_) == 0)
{
lean_object* v___x_7860_; lean_object* v___x_7861_; 
v___x_7860_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7861_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7860_);
v___y_7853_ = v___y_7859_;
v___y_7854_ = v___x_7861_;
goto v___jp_7852_;
}
else
{
lean_object* v_val_7862_; 
v_val_7862_ = lean_ctor_get(v_ltInst_x3f_7821_, 0);
lean_inc(v_val_7862_);
lean_dec_ref(v_ltInst_x3f_7821_);
v___y_7853_ = v___y_7859_;
v___y_7854_ = v_val_7862_;
goto v___jp_7852_;
}
}
}
}
v___jp_7779_:
{
lean_object* v___x_7781_; 
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc_ref(v_e_7749_);
v___x_7781_ = l_Lean_Meta_Grind_mkEqTrueProof(v_e_7749_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7781_) == 0)
{
lean_object* v_a_7782_; lean_object* v___x_7783_; lean_object* v___x_7784_; 
v_a_7782_ = lean_ctor_get(v___x_7781_, 0);
lean_inc(v_a_7782_);
lean_dec_ref(v___x_7781_);
v___x_7783_ = l_Lean_Meta_mkOfEqTrueCore(v_e_7749_, v_a_7782_);
v___x_7784_ = l_Lean_mkApp7(v___y_7780_, v_a_7766_, v_b_7771_, v_fst_7769_, v_fst_7774_, v_snd_7770_, v_snd_7775_, v___x_7783_);
v_a_7754_ = v___x_7784_;
goto v___jp_7753_;
}
else
{
lean_dec_ref(v___y_7780_);
lean_dec(v_snd_7775_);
lean_dec(v_fst_7774_);
lean_dec_ref(v_b_7771_);
lean_dec(v_snd_7770_);
lean_dec(v_fst_7769_);
lean_dec_ref(v_a_7766_);
lean_dec_ref(v_e_7749_);
if (lean_obj_tag(v___x_7781_) == 0)
{
lean_object* v_a_7785_; 
v_a_7785_ = lean_ctor_get(v___x_7781_, 0);
lean_inc(v_a_7785_);
lean_dec_ref(v___x_7781_);
v_a_7754_ = v_a_7785_;
goto v___jp_7753_;
}
else
{
lean_dec(v_rhs_7752_);
lean_dec(v_lhs_7751_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7781_;
goto v___jp_7667_;
}
}
}
}
}
else
{
lean_object* v_a_7868_; lean_object* v___x_7870_; uint8_t v_isShared_7871_; uint8_t v_isSharedCheck_7875_; 
lean_dec_ref(v_b_7771_);
lean_dec(v_snd_7770_);
lean_dec(v_fst_7769_);
lean_dec_ref(v_a_7766_);
lean_dec(v_a_7764_);
lean_dec(v_rhs_7752_);
lean_dec(v_lhs_7751_);
lean_dec_ref(v_e_7749_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec(v_a_7631_);
lean_dec_ref(v_a_7630_);
v_a_7868_ = lean_ctor_get(v___x_7772_, 0);
v_isSharedCheck_7875_ = !lean_is_exclusive(v___x_7772_);
if (v_isSharedCheck_7875_ == 0)
{
v___x_7870_ = v___x_7772_;
v_isShared_7871_ = v_isSharedCheck_7875_;
goto v_resetjp_7869_;
}
else
{
lean_inc(v_a_7868_);
lean_dec(v___x_7772_);
v___x_7870_ = lean_box(0);
v_isShared_7871_ = v_isSharedCheck_7875_;
goto v_resetjp_7869_;
}
v_resetjp_7869_:
{
lean_object* v___x_7873_; 
if (v_isShared_7871_ == 0)
{
v___x_7873_ = v___x_7870_;
goto v_reusejp_7872_;
}
else
{
lean_object* v_reuseFailAlloc_7874_; 
v_reuseFailAlloc_7874_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7874_, 0, v_a_7868_);
v___x_7873_ = v_reuseFailAlloc_7874_;
goto v_reusejp_7872_;
}
v_reusejp_7872_:
{
return v___x_7873_;
}
}
}
}
else
{
lean_object* v_a_7876_; lean_object* v___x_7878_; uint8_t v_isShared_7879_; uint8_t v_isSharedCheck_7883_; 
lean_dec_ref(v_a_7766_);
lean_dec(v_a_7764_);
lean_dec(v_rhs_7752_);
lean_dec(v_lhs_7751_);
lean_dec(v_natStructId_7750_);
lean_dec_ref(v_e_7749_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec(v_a_7631_);
lean_dec_ref(v_a_7630_);
v_a_7876_ = lean_ctor_get(v___x_7767_, 0);
v_isSharedCheck_7883_ = !lean_is_exclusive(v___x_7767_);
if (v_isSharedCheck_7883_ == 0)
{
v___x_7878_ = v___x_7767_;
v_isShared_7879_ = v_isSharedCheck_7883_;
goto v_resetjp_7877_;
}
else
{
lean_inc(v_a_7876_);
lean_dec(v___x_7767_);
v___x_7878_ = lean_box(0);
v_isShared_7879_ = v_isSharedCheck_7883_;
goto v_resetjp_7877_;
}
v_resetjp_7877_:
{
lean_object* v___x_7881_; 
if (v_isShared_7879_ == 0)
{
v___x_7881_ = v___x_7878_;
goto v_reusejp_7880_;
}
else
{
lean_object* v_reuseFailAlloc_7882_; 
v_reuseFailAlloc_7882_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7882_, 0, v_a_7876_);
v___x_7881_ = v_reuseFailAlloc_7882_;
goto v_reusejp_7880_;
}
v_reusejp_7880_:
{
return v___x_7881_;
}
}
}
}
else
{
lean_object* v_a_7884_; lean_object* v___x_7886_; uint8_t v_isShared_7887_; uint8_t v_isSharedCheck_7891_; 
lean_dec(v_rhs_7752_);
lean_dec(v_lhs_7751_);
lean_dec(v_natStructId_7750_);
lean_dec_ref(v_e_7749_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec(v_a_7631_);
lean_dec_ref(v_a_7630_);
v_a_7884_ = lean_ctor_get(v___x_7763_, 0);
v_isSharedCheck_7891_ = !lean_is_exclusive(v___x_7763_);
if (v_isSharedCheck_7891_ == 0)
{
v___x_7886_ = v___x_7763_;
v_isShared_7887_ = v_isSharedCheck_7891_;
goto v_resetjp_7885_;
}
else
{
lean_inc(v_a_7884_);
lean_dec(v___x_7763_);
v___x_7886_ = lean_box(0);
v_isShared_7887_ = v_isSharedCheck_7891_;
goto v_resetjp_7885_;
}
v_resetjp_7885_:
{
lean_object* v___x_7889_; 
if (v_isShared_7887_ == 0)
{
v___x_7889_ = v___x_7886_;
goto v_reusejp_7888_;
}
else
{
lean_object* v_reuseFailAlloc_7890_; 
v_reuseFailAlloc_7890_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_7890_, 0, v_a_7884_);
v___x_7889_ = v_reuseFailAlloc_7890_;
goto v_reusejp_7888_;
}
v_reusejp_7888_:
{
return v___x_7889_;
}
}
}
v___jp_7753_:
{
if (v_strict_7680_ == 0)
{
lean_object* v___x_7755_; lean_object* v___x_7756_; 
v___x_7755_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__0));
lean_inc_ref(v_a_7630_);
v___x_7756_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___redArg(v___x_7755_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7756_) == 0)
{
lean_object* v_a_7757_; lean_object* v___x_7758_; 
v_a_7757_ = lean_ctor_get(v___x_7756_, 0);
lean_inc(v_a_7757_);
lean_dec_ref(v___x_7756_);
v___x_7758_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__2(v_lhs_7751_, v_rhs_7752_, v_p_7679_, v_a_7754_, v_a_7757_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7758_;
goto v___jp_7667_;
}
else
{
lean_dec_ref(v_a_7754_);
lean_dec(v_rhs_7752_);
lean_dec(v_lhs_7751_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7756_;
goto v___jp_7667_;
}
}
else
{
lean_object* v___x_7759_; lean_object* v___x_7760_; 
v___x_7759_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__1___closed__1));
lean_inc_ref(v_a_7630_);
v___x_7760_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLawfulPreOrdThmPrefix___redArg(v___x_7759_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7760_) == 0)
{
lean_object* v_a_7761_; lean_object* v___x_7762_; 
v_a_7761_ = lean_ctor_get(v___x_7760_, 0);
lean_inc(v_a_7761_);
lean_dec_ref(v___x_7760_);
v___x_7762_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___lam__2(v_lhs_7751_, v_rhs_7752_, v_p_7679_, v_a_7754_, v_a_7761_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7762_;
goto v___jp_7667_;
}
else
{
lean_dec_ref(v_a_7754_);
lean_dec(v_rhs_7752_);
lean_dec(v_lhs_7751_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7760_;
goto v___jp_7667_;
}
}
}
}
case 4:
{
lean_object* v_e_7892_; lean_object* v_natStructId_7893_; lean_object* v_lhs_7894_; lean_object* v_rhs_7895_; lean_object* v___y_7897_; lean_object* v___y_7898_; lean_object* v_a_7910_; lean_object* v___x_7913_; 
v_e_7892_ = lean_ctor_get(v_h_7681_, 0);
lean_inc_ref(v_e_7892_);
v_natStructId_7893_ = lean_ctor_get(v_h_7681_, 1);
lean_inc(v_natStructId_7893_);
v_lhs_7894_ = lean_ctor_get(v_h_7681_, 2);
lean_inc(v_lhs_7894_);
v_rhs_7895_ = lean_ctor_get(v_h_7681_, 3);
lean_inc(v_rhs_7895_);
lean_dec_ref(v_h_7681_);
v___x_7913_ = l_Lean_Meta_Grind_Arith_Linear_getNatStruct(v_natStructId_7893_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7913_) == 0)
{
lean_object* v_a_7914_; lean_object* v___x_7915_; lean_object* v_a_7916_; lean_object* v___x_7917_; 
v_a_7914_ = lean_ctor_get(v___x_7913_, 0);
lean_inc(v_a_7914_);
lean_dec_ref(v___x_7913_);
v___x_7915_ = l_Lean_Expr_appFn_x21(v_e_7892_);
v_a_7916_ = l_Lean_Expr_appArg_x21(v___x_7915_);
lean_dec_ref(v___x_7915_);
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc(v_natStructId_7893_);
lean_inc_ref(v_a_7916_);
v___x_7917_ = l_Lean_Meta_Grind_Arith_Linear_ofNatModule(v_a_7916_, v_natStructId_7893_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7917_) == 0)
{
lean_object* v_a_7918_; lean_object* v_fst_7919_; lean_object* v_snd_7920_; lean_object* v_b_7921_; lean_object* v___x_7922_; 
v_a_7918_ = lean_ctor_get(v___x_7917_, 0);
lean_inc(v_a_7918_);
lean_dec_ref(v___x_7917_);
v_fst_7919_ = lean_ctor_get(v_a_7918_, 0);
lean_inc(v_fst_7919_);
v_snd_7920_ = lean_ctor_get(v_a_7918_, 1);
lean_inc(v_snd_7920_);
lean_dec(v_a_7918_);
v_b_7921_ = l_Lean_Expr_appArg_x21(v_e_7892_);
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc_ref(v_b_7921_);
v___x_7922_ = l_Lean_Meta_Grind_Arith_Linear_ofNatModule(v_b_7921_, v_natStructId_7893_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7922_) == 0)
{
lean_object* v_a_7923_; lean_object* v_fst_7924_; lean_object* v_snd_7925_; lean_object* v___x_7927_; uint8_t v_isShared_7928_; uint8_t v_isSharedCheck_8017_; 
v_a_7923_ = lean_ctor_get(v___x_7922_, 0);
lean_inc(v_a_7923_);
lean_dec_ref(v___x_7922_);
v_fst_7924_ = lean_ctor_get(v_a_7923_, 0);
v_snd_7925_ = lean_ctor_get(v_a_7923_, 1);
v_isSharedCheck_8017_ = !lean_is_exclusive(v_a_7923_);
if (v_isSharedCheck_8017_ == 0)
{
v___x_7927_ = v_a_7923_;
v_isShared_7928_ = v_isSharedCheck_8017_;
goto v_resetjp_7926_;
}
else
{
lean_inc(v_snd_7925_);
lean_inc(v_fst_7924_);
lean_dec(v_a_7923_);
v___x_7927_ = lean_box(0);
v_isShared_7928_ = v_isSharedCheck_8017_;
goto v_resetjp_7926_;
}
v_resetjp_7926_:
{
lean_object* v___y_7930_; 
if (v_strict_7680_ == 0)
{
lean_object* v_type_7936_; lean_object* v_u_7937_; lean_object* v_natModuleInst_7938_; lean_object* v_leInst_x3f_7939_; lean_object* v_ltInst_x3f_7940_; lean_object* v_lawfulOrderLTInst_x3f_7941_; lean_object* v_isPreorderInst_x3f_7942_; lean_object* v_orderedAddInst_x3f_7943_; lean_object* v___x_7944_; lean_object* v___x_7945_; lean_object* v___x_7947_; 
v_type_7936_ = lean_ctor_get(v_a_7914_, 2);
lean_inc_ref(v_type_7936_);
v_u_7937_ = lean_ctor_get(v_a_7914_, 3);
lean_inc(v_u_7937_);
v_natModuleInst_7938_ = lean_ctor_get(v_a_7914_, 4);
lean_inc_ref(v_natModuleInst_7938_);
v_leInst_x3f_7939_ = lean_ctor_get(v_a_7914_, 5);
lean_inc(v_leInst_x3f_7939_);
v_ltInst_x3f_7940_ = lean_ctor_get(v_a_7914_, 6);
lean_inc(v_ltInst_x3f_7940_);
v_lawfulOrderLTInst_x3f_7941_ = lean_ctor_get(v_a_7914_, 7);
lean_inc(v_lawfulOrderLTInst_x3f_7941_);
v_isPreorderInst_x3f_7942_ = lean_ctor_get(v_a_7914_, 8);
lean_inc(v_isPreorderInst_x3f_7942_);
v_orderedAddInst_x3f_7943_ = lean_ctor_get(v_a_7914_, 9);
lean_inc(v_orderedAddInst_x3f_7943_);
lean_dec(v_a_7914_);
v___x_7944_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__11));
v___x_7945_ = lean_box(0);
if (v_isShared_7928_ == 0)
{
lean_ctor_set_tag(v___x_7927_, 1);
lean_ctor_set(v___x_7927_, 1, v___x_7945_);
lean_ctor_set(v___x_7927_, 0, v_u_7937_);
v___x_7947_ = v___x_7927_;
goto v_reusejp_7946_;
}
else
{
lean_object* v_reuseFailAlloc_7985_; 
v_reuseFailAlloc_7985_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_7985_, 0, v_u_7937_);
lean_ctor_set(v_reuseFailAlloc_7985_, 1, v___x_7945_);
v___x_7947_ = v_reuseFailAlloc_7985_;
goto v_reusejp_7946_;
}
v_reusejp_7946_:
{
lean_object* v___x_7948_; lean_object* v___y_7950_; lean_object* v___y_7951_; lean_object* v___y_7952_; lean_object* v___y_7953_; lean_object* v___y_7954_; lean_object* v___y_7957_; lean_object* v___y_7958_; lean_object* v___y_7959_; lean_object* v___y_7960_; lean_object* v___y_7965_; lean_object* v___y_7966_; lean_object* v___y_7967_; lean_object* v___y_7972_; lean_object* v___y_7973_; lean_object* v___y_7978_; 
v___x_7948_ = l_Lean_mkConst(v___x_7944_, v___x_7947_);
if (lean_obj_tag(v_leInst_x3f_7939_) == 0)
{
lean_object* v___x_7982_; lean_object* v___x_7983_; 
v___x_7982_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7983_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7982_);
v___y_7978_ = v___x_7983_;
goto v___jp_7977_;
}
else
{
lean_object* v_val_7984_; 
v_val_7984_ = lean_ctor_get(v_leInst_x3f_7939_, 0);
lean_inc(v_val_7984_);
lean_dec_ref(v_leInst_x3f_7939_);
v___y_7978_ = v_val_7984_;
goto v___jp_7977_;
}
v___jp_7949_:
{
lean_object* v___x_7955_; 
v___x_7955_ = l_Lean_mkApp7(v___x_7948_, v_type_7936_, v_natModuleInst_7938_, v___y_7950_, v___y_7952_, v___y_7951_, v___y_7953_, v___y_7954_);
v___y_7930_ = v___x_7955_;
goto v___jp_7929_;
}
v___jp_7956_:
{
if (lean_obj_tag(v_orderedAddInst_x3f_7943_) == 0)
{
lean_object* v___x_7961_; lean_object* v___x_7962_; 
v___x_7961_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7962_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7961_);
v___y_7950_ = v___y_7957_;
v___y_7951_ = v___y_7958_;
v___y_7952_ = v___y_7959_;
v___y_7953_ = v___y_7960_;
v___y_7954_ = v___x_7962_;
goto v___jp_7949_;
}
else
{
lean_object* v_val_7963_; 
v_val_7963_ = lean_ctor_get(v_orderedAddInst_x3f_7943_, 0);
lean_inc(v_val_7963_);
lean_dec_ref(v_orderedAddInst_x3f_7943_);
v___y_7950_ = v___y_7957_;
v___y_7951_ = v___y_7958_;
v___y_7952_ = v___y_7959_;
v___y_7953_ = v___y_7960_;
v___y_7954_ = v_val_7963_;
goto v___jp_7949_;
}
}
v___jp_7964_:
{
if (lean_obj_tag(v_isPreorderInst_x3f_7942_) == 0)
{
lean_object* v___x_7968_; lean_object* v___x_7969_; 
v___x_7968_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7969_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7968_);
v___y_7957_ = v___y_7965_;
v___y_7958_ = v___y_7967_;
v___y_7959_ = v___y_7966_;
v___y_7960_ = v___x_7969_;
goto v___jp_7956_;
}
else
{
lean_object* v_val_7970_; 
v_val_7970_ = lean_ctor_get(v_isPreorderInst_x3f_7942_, 0);
lean_inc(v_val_7970_);
lean_dec_ref(v_isPreorderInst_x3f_7942_);
v___y_7957_ = v___y_7965_;
v___y_7958_ = v___y_7967_;
v___y_7959_ = v___y_7966_;
v___y_7960_ = v_val_7970_;
goto v___jp_7956_;
}
}
v___jp_7971_:
{
if (lean_obj_tag(v_lawfulOrderLTInst_x3f_7941_) == 0)
{
lean_object* v___x_7974_; lean_object* v___x_7975_; 
v___x_7974_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7975_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7974_);
v___y_7965_ = v___y_7972_;
v___y_7966_ = v___y_7973_;
v___y_7967_ = v___x_7975_;
goto v___jp_7964_;
}
else
{
lean_object* v_val_7976_; 
v_val_7976_ = lean_ctor_get(v_lawfulOrderLTInst_x3f_7941_, 0);
lean_inc(v_val_7976_);
lean_dec_ref(v_lawfulOrderLTInst_x3f_7941_);
v___y_7965_ = v___y_7972_;
v___y_7966_ = v___y_7973_;
v___y_7967_ = v_val_7976_;
goto v___jp_7964_;
}
}
v___jp_7977_:
{
if (lean_obj_tag(v_ltInst_x3f_7940_) == 0)
{
lean_object* v___x_7979_; lean_object* v___x_7980_; 
v___x_7979_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_7980_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_7979_);
v___y_7972_ = v___y_7978_;
v___y_7973_ = v___x_7980_;
goto v___jp_7971_;
}
else
{
lean_object* v_val_7981_; 
v_val_7981_ = lean_ctor_get(v_ltInst_x3f_7940_, 0);
lean_inc(v_val_7981_);
lean_dec_ref(v_ltInst_x3f_7940_);
v___y_7972_ = v___y_7978_;
v___y_7973_ = v_val_7981_;
goto v___jp_7971_;
}
}
}
}
else
{
lean_object* v_type_7986_; lean_object* v_u_7987_; lean_object* v_natModuleInst_7988_; lean_object* v_leInst_x3f_7989_; lean_object* v_isPreorderInst_x3f_7990_; lean_object* v_orderedAddInst_x3f_7991_; lean_object* v___x_7992_; lean_object* v___x_7993_; lean_object* v___x_7995_; 
v_type_7986_ = lean_ctor_get(v_a_7914_, 2);
lean_inc_ref(v_type_7986_);
v_u_7987_ = lean_ctor_get(v_a_7914_, 3);
lean_inc(v_u_7987_);
v_natModuleInst_7988_ = lean_ctor_get(v_a_7914_, 4);
lean_inc_ref(v_natModuleInst_7988_);
v_leInst_x3f_7989_ = lean_ctor_get(v_a_7914_, 5);
lean_inc(v_leInst_x3f_7989_);
v_isPreorderInst_x3f_7990_ = lean_ctor_get(v_a_7914_, 8);
lean_inc(v_isPreorderInst_x3f_7990_);
v_orderedAddInst_x3f_7991_ = lean_ctor_get(v_a_7914_, 9);
lean_inc(v_orderedAddInst_x3f_7991_);
lean_dec(v_a_7914_);
v___x_7992_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__13));
v___x_7993_ = lean_box(0);
if (v_isShared_7928_ == 0)
{
lean_ctor_set_tag(v___x_7927_, 1);
lean_ctor_set(v___x_7927_, 1, v___x_7993_);
lean_ctor_set(v___x_7927_, 0, v_u_7987_);
v___x_7995_ = v___x_7927_;
goto v_reusejp_7994_;
}
else
{
lean_object* v_reuseFailAlloc_8016_; 
v_reuseFailAlloc_8016_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_8016_, 0, v_u_7987_);
lean_ctor_set(v_reuseFailAlloc_8016_, 1, v___x_7993_);
v___x_7995_ = v_reuseFailAlloc_8016_;
goto v_reusejp_7994_;
}
v_reusejp_7994_:
{
lean_object* v___x_7996_; lean_object* v___y_7998_; lean_object* v___y_7999_; lean_object* v___y_8000_; lean_object* v___y_8003_; lean_object* v___y_8004_; lean_object* v___y_8009_; 
v___x_7996_ = l_Lean_mkConst(v___x_7992_, v___x_7995_);
if (lean_obj_tag(v_leInst_x3f_7989_) == 0)
{
lean_object* v___x_8013_; lean_object* v___x_8014_; 
v___x_8013_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_8014_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_8013_);
v___y_8009_ = v___x_8014_;
goto v___jp_8008_;
}
else
{
lean_object* v_val_8015_; 
v_val_8015_ = lean_ctor_get(v_leInst_x3f_7989_, 0);
lean_inc(v_val_8015_);
lean_dec_ref(v_leInst_x3f_7989_);
v___y_8009_ = v_val_8015_;
goto v___jp_8008_;
}
v___jp_7997_:
{
lean_object* v___x_8001_; 
v___x_8001_ = l_Lean_mkApp5(v___x_7996_, v_type_7986_, v_natModuleInst_7988_, v___y_7998_, v___y_7999_, v___y_8000_);
v___y_7930_ = v___x_8001_;
goto v___jp_7929_;
}
v___jp_8002_:
{
if (lean_obj_tag(v_orderedAddInst_x3f_7991_) == 0)
{
lean_object* v___x_8005_; lean_object* v___x_8006_; 
v___x_8005_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_8006_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_8005_);
v___y_7998_ = v___y_8003_;
v___y_7999_ = v___y_8004_;
v___y_8000_ = v___x_8006_;
goto v___jp_7997_;
}
else
{
lean_object* v_val_8007_; 
v_val_8007_ = lean_ctor_get(v_orderedAddInst_x3f_7991_, 0);
lean_inc(v_val_8007_);
lean_dec_ref(v_orderedAddInst_x3f_7991_);
v___y_7998_ = v___y_8003_;
v___y_7999_ = v___y_8004_;
v___y_8000_ = v_val_8007_;
goto v___jp_7997_;
}
}
v___jp_8008_:
{
if (lean_obj_tag(v_isPreorderInst_x3f_7990_) == 0)
{
lean_object* v___x_8010_; lean_object* v___x_8011_; 
v___x_8010_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix___redArg___closed__3);
v___x_8011_ = l_panic___at___00__private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkFieldChar0ThmPrefix_spec__1(v___x_8010_);
v___y_8003_ = v___y_8009_;
v___y_8004_ = v___x_8011_;
goto v___jp_8002_;
}
else
{
lean_object* v_val_8012_; 
v_val_8012_ = lean_ctor_get(v_isPreorderInst_x3f_7990_, 0);
lean_inc(v_val_8012_);
lean_dec_ref(v_isPreorderInst_x3f_7990_);
v___y_8003_ = v___y_8009_;
v___y_8004_ = v_val_8012_;
goto v___jp_8002_;
}
}
}
}
v___jp_7929_:
{
lean_object* v___x_7931_; 
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc_ref(v_e_7892_);
v___x_7931_ = l_Lean_Meta_Grind_mkEqFalseProof(v_e_7892_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7931_) == 0)
{
lean_object* v_a_7932_; lean_object* v___x_7933_; lean_object* v___x_7934_; 
v_a_7932_ = lean_ctor_get(v___x_7931_, 0);
lean_inc(v_a_7932_);
lean_dec_ref(v___x_7931_);
v___x_7933_ = l_Lean_Meta_mkOfEqFalseCore(v_e_7892_, v_a_7932_);
v___x_7934_ = l_Lean_mkApp7(v___y_7930_, v_a_7916_, v_b_7921_, v_fst_7919_, v_fst_7924_, v_snd_7920_, v_snd_7925_, v___x_7933_);
v_a_7910_ = v___x_7934_;
goto v___jp_7909_;
}
else
{
lean_dec_ref(v___y_7930_);
lean_dec(v_snd_7925_);
lean_dec(v_fst_7924_);
lean_dec_ref(v_b_7921_);
lean_dec(v_snd_7920_);
lean_dec(v_fst_7919_);
lean_dec_ref(v_a_7916_);
lean_dec_ref(v_e_7892_);
if (lean_obj_tag(v___x_7931_) == 0)
{
lean_object* v_a_7935_; 
v_a_7935_ = lean_ctor_get(v___x_7931_, 0);
lean_inc(v_a_7935_);
lean_dec_ref(v___x_7931_);
v_a_7910_ = v_a_7935_;
goto v___jp_7909_;
}
else
{
lean_dec(v_rhs_7895_);
lean_dec(v_lhs_7894_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7931_;
goto v___jp_7667_;
}
}
}
}
}
else
{
lean_object* v_a_8018_; lean_object* v___x_8020_; uint8_t v_isShared_8021_; uint8_t v_isSharedCheck_8025_; 
lean_dec_ref(v_b_7921_);
lean_dec(v_snd_7920_);
lean_dec(v_fst_7919_);
lean_dec_ref(v_a_7916_);
lean_dec(v_a_7914_);
lean_dec(v_rhs_7895_);
lean_dec(v_lhs_7894_);
lean_dec_ref(v_e_7892_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec(v_a_7631_);
lean_dec_ref(v_a_7630_);
v_a_8018_ = lean_ctor_get(v___x_7922_, 0);
v_isSharedCheck_8025_ = !lean_is_exclusive(v___x_7922_);
if (v_isSharedCheck_8025_ == 0)
{
v___x_8020_ = v___x_7922_;
v_isShared_8021_ = v_isSharedCheck_8025_;
goto v_resetjp_8019_;
}
else
{
lean_inc(v_a_8018_);
lean_dec(v___x_7922_);
v___x_8020_ = lean_box(0);
v_isShared_8021_ = v_isSharedCheck_8025_;
goto v_resetjp_8019_;
}
v_resetjp_8019_:
{
lean_object* v___x_8023_; 
if (v_isShared_8021_ == 0)
{
v___x_8023_ = v___x_8020_;
goto v_reusejp_8022_;
}
else
{
lean_object* v_reuseFailAlloc_8024_; 
v_reuseFailAlloc_8024_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8024_, 0, v_a_8018_);
v___x_8023_ = v_reuseFailAlloc_8024_;
goto v_reusejp_8022_;
}
v_reusejp_8022_:
{
return v___x_8023_;
}
}
}
}
else
{
lean_object* v_a_8026_; lean_object* v___x_8028_; uint8_t v_isShared_8029_; uint8_t v_isSharedCheck_8033_; 
lean_dec_ref(v_a_7916_);
lean_dec(v_a_7914_);
lean_dec(v_rhs_7895_);
lean_dec(v_lhs_7894_);
lean_dec(v_natStructId_7893_);
lean_dec_ref(v_e_7892_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec(v_a_7631_);
lean_dec_ref(v_a_7630_);
v_a_8026_ = lean_ctor_get(v___x_7917_, 0);
v_isSharedCheck_8033_ = !lean_is_exclusive(v___x_7917_);
if (v_isSharedCheck_8033_ == 0)
{
v___x_8028_ = v___x_7917_;
v_isShared_8029_ = v_isSharedCheck_8033_;
goto v_resetjp_8027_;
}
else
{
lean_inc(v_a_8026_);
lean_dec(v___x_7917_);
v___x_8028_ = lean_box(0);
v_isShared_8029_ = v_isSharedCheck_8033_;
goto v_resetjp_8027_;
}
v_resetjp_8027_:
{
lean_object* v___x_8031_; 
if (v_isShared_8029_ == 0)
{
v___x_8031_ = v___x_8028_;
goto v_reusejp_8030_;
}
else
{
lean_object* v_reuseFailAlloc_8032_; 
v_reuseFailAlloc_8032_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8032_, 0, v_a_8026_);
v___x_8031_ = v_reuseFailAlloc_8032_;
goto v_reusejp_8030_;
}
v_reusejp_8030_:
{
return v___x_8031_;
}
}
}
}
else
{
lean_object* v_a_8034_; lean_object* v___x_8036_; uint8_t v_isShared_8037_; uint8_t v_isSharedCheck_8041_; 
lean_dec(v_rhs_7895_);
lean_dec(v_lhs_7894_);
lean_dec(v_natStructId_7893_);
lean_dec_ref(v_e_7892_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec(v_a_7631_);
lean_dec_ref(v_a_7630_);
v_a_8034_ = lean_ctor_get(v___x_7913_, 0);
v_isSharedCheck_8041_ = !lean_is_exclusive(v___x_7913_);
if (v_isSharedCheck_8041_ == 0)
{
v___x_8036_ = v___x_7913_;
v_isShared_8037_ = v_isSharedCheck_8041_;
goto v_resetjp_8035_;
}
else
{
lean_inc(v_a_8034_);
lean_dec(v___x_7913_);
v___x_8036_ = lean_box(0);
v_isShared_8037_ = v_isSharedCheck_8041_;
goto v_resetjp_8035_;
}
v_resetjp_8035_:
{
lean_object* v___x_8039_; 
if (v_isShared_8037_ == 0)
{
v___x_8039_ = v___x_8036_;
goto v_reusejp_8038_;
}
else
{
lean_object* v_reuseFailAlloc_8040_; 
v_reuseFailAlloc_8040_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8040_, 0, v_a_8034_);
v___x_8039_ = v_reuseFailAlloc_8040_;
goto v_reusejp_8038_;
}
v_reusejp_8038_:
{
return v___x_8039_;
}
}
}
v___jp_7896_:
{
lean_object* v___x_7899_; 
lean_inc_ref(v_a_7630_);
v___x_7899_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix___redArg(v___y_7898_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7899_) == 0)
{
lean_object* v_a_7900_; lean_object* v___x_7901_; 
v_a_7900_ = lean_ctor_get(v___x_7899_, 0);
lean_inc(v_a_7900_);
lean_dec_ref(v___x_7899_);
v___x_7901_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lhs_7894_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7901_) == 0)
{
lean_object* v_a_7902_; lean_object* v___x_7903_; 
v_a_7902_ = lean_ctor_get(v___x_7901_, 0);
lean_inc(v_a_7902_);
lean_dec_ref(v___x_7901_);
v___x_7903_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_rhs_7895_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7903_) == 0)
{
lean_object* v_a_7904_; lean_object* v___x_7905_; 
v_a_7904_ = lean_ctor_get(v___x_7903_, 0);
lean_inc(v_a_7904_);
lean_dec_ref(v___x_7903_);
v___x_7905_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7679_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
if (lean_obj_tag(v___x_7905_) == 0)
{
lean_object* v_a_7906_; lean_object* v___x_7907_; lean_object* v___x_7908_; 
v_a_7906_ = lean_ctor_get(v___x_7905_, 0);
lean_inc(v_a_7906_);
lean_dec_ref(v___x_7905_);
v___x_7907_ = l_Lean_eagerReflBoolTrue;
v___x_7908_ = l_Lean_mkApp5(v_a_7900_, v_a_7902_, v_a_7904_, v_a_7906_, v___x_7907_, v___y_7897_);
v_a_7648_ = v___x_7908_;
goto v___jp_7647_;
}
else
{
lean_dec(v_a_7904_);
lean_dec(v_a_7902_);
lean_dec(v_a_7900_);
lean_dec_ref(v___y_7897_);
v___y_7668_ = v___x_7905_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_7902_);
lean_dec(v_a_7900_);
lean_dec_ref(v___y_7897_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7903_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_7900_);
lean_dec_ref(v___y_7897_);
lean_dec(v_rhs_7895_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7901_;
goto v___jp_7667_;
}
}
else
{
lean_dec_ref(v___y_7897_);
lean_dec(v_rhs_7895_);
lean_dec(v_lhs_7894_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7899_;
goto v___jp_7667_;
}
}
v___jp_7909_:
{
if (v_strict_7680_ == 0)
{
lean_object* v___x_7911_; 
v___x_7911_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__0));
v___y_7897_ = v_a_7910_;
v___y_7898_ = v___x_7911_;
goto v___jp_7896_;
}
else
{
lean_object* v___x_7912_; 
v___x_7912_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__1));
v___y_7897_ = v_a_7910_;
v___y_7898_ = v___x_7912_;
goto v___jp_7896_;
}
}
}
case 5:
{
lean_object* v_c_u2081_8042_; uint8_t v_strict_8043_; 
v_c_u2081_8042_ = lean_ctor_get(v_h_7681_, 0);
lean_inc_ref(v_c_u2081_8042_);
v_strict_8043_ = lean_ctor_get_uint8(v_c_u2081_8042_, sizeof(void*)*2);
if (v_strict_8043_ == 0)
{
lean_object* v_c_u2082_8044_; uint8_t v_strict_8045_; 
v_c_u2082_8044_ = lean_ctor_get(v_h_7681_, 1);
lean_inc_ref(v_c_u2082_8044_);
lean_dec_ref(v_h_7681_);
v_strict_8045_ = lean_ctor_get_uint8(v_c_u2082_8044_, sizeof(void*)*2);
if (v_strict_8045_ == 0)
{
lean_object* v___x_8046_; 
v___x_8046_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__16));
v_fst_7683_ = v___x_8046_;
v_fst_7684_ = v_c_u2081_8042_;
v_snd_7685_ = v_c_u2082_8044_;
goto v___jp_7682_;
}
else
{
lean_object* v___x_8047_; 
v___x_8047_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__19));
v_fst_7683_ = v___x_8047_;
v_fst_7684_ = v_c_u2081_8042_;
v_snd_7685_ = v_c_u2082_8044_;
goto v___jp_7682_;
}
}
else
{
lean_object* v_c_u2082_8048_; uint8_t v_strict_8049_; 
v_c_u2082_8048_ = lean_ctor_get(v_h_7681_, 1);
lean_inc_ref(v_c_u2082_8048_);
lean_dec_ref(v_h_7681_);
v_strict_8049_ = lean_ctor_get_uint8(v_c_u2082_8048_, sizeof(void*)*2);
if (v_strict_8049_ == 0)
{
lean_object* v___x_8050_; 
v___x_8050_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__19));
v_fst_7683_ = v___x_8050_;
v_fst_7684_ = v_c_u2082_8048_;
v_snd_7685_ = v_c_u2081_8042_;
goto v___jp_7682_;
}
else
{
lean_object* v___x_8051_; 
v___x_8051_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__22));
v_fst_7683_ = v___x_8051_;
v_fst_7684_ = v_c_u2081_8042_;
v_snd_7685_ = v_c_u2082_8048_;
goto v___jp_7682_;
}
}
}
case 7:
{
lean_object* v_h_8052_; lean_object* v___x_8053_; 
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v_h_8052_ = lean_ctor_get(v_h_7681_, 0);
lean_inc(v_h_8052_);
lean_dec_ref(v_h_7681_);
v___x_8053_ = l_Lean_mkFVar(v_h_8052_);
v_a_7648_ = v___x_8053_;
goto v___jp_7647_;
}
case 8:
{
lean_object* v_c_u2081_8054_; lean_object* v_decVar_8055_; lean_object* v_h_8056_; lean_object* v___x_8057_; 
v_c_u2081_8054_ = lean_ctor_get(v_h_7681_, 0);
lean_inc_ref(v_c_u2081_8054_);
v_decVar_8055_ = lean_ctor_get(v_h_7681_, 1);
lean_inc(v_decVar_8055_);
v_h_8056_ = lean_ctor_get(v_h_7681_, 2);
lean_inc_ref(v_h_8056_);
lean_dec_ref(v_h_7681_);
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc(v_a_7632_);
lean_inc(v_a_7631_);
lean_inc_ref(v_a_7630_);
v___x_8057_ = l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore(v_h_8056_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8057_) == 0)
{
lean_object* v_a_8058_; lean_object* v___x_8059_; 
v_a_8058_ = lean_ctor_get(v___x_8057_, 0);
lean_inc(v_a_8058_);
lean_dec_ref(v___x_8057_);
v___x_8059_ = l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg(v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8059_) == 0)
{
lean_object* v_a_8060_; lean_object* v_p_8061_; lean_object* v___x_8062_; 
v_a_8060_ = lean_ctor_get(v___x_8059_, 0);
lean_inc(v_a_8060_);
lean_dec_ref(v___x_8059_);
v_p_8061_ = lean_ctor_get(v_c_u2081_8054_, 0);
v___x_8062_ = l_Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1(v_p_8061_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8062_) == 0)
{
lean_object* v_a_8063_; lean_object* v___x_8064_; 
v_a_8063_ = lean_ctor_get(v___x_8062_, 0);
lean_inc(v_a_8063_);
lean_dec_ref(v___x_8062_);
v___x_8064_ = l_Lean_Meta_Grind_Arith_Linear_getZero(v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8064_) == 0)
{
lean_object* v_a_8065_; lean_object* v___x_8066_; lean_object* v___x_8067_; 
v_a_8065_ = lean_ctor_get(v___x_8064_, 0);
lean_inc(v_a_8065_);
lean_dec_ref(v___x_8064_);
v___x_8066_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__24));
lean_inc_ref(v_a_7630_);
v___x_8067_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModLinOrdThmPrefix___redArg(v___x_8066_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8067_) == 0)
{
lean_object* v_a_8068_; lean_object* v___x_8069_; 
v_a_8068_ = lean_ctor_get(v___x_8067_, 0);
lean_inc(v_a_8068_);
lean_dec_ref(v___x_8067_);
lean_inc(v_p_8061_);
v___x_8069_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_8061_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8069_) == 0)
{
lean_object* v_a_8070_; lean_object* v___x_8071_; 
v_a_8070_ = lean_ctor_get(v___x_8069_, 0);
lean_inc(v_a_8070_);
lean_dec_ref(v___x_8069_);
v___x_8071_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7679_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8071_) == 0)
{
lean_object* v_a_8072_; lean_object* v___x_8073_; 
v_a_8072_ = lean_ctor_get(v___x_8071_, 0);
lean_inc(v_a_8072_);
lean_dec_ref(v___x_8071_);
v___x_8073_ = l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof(v_c_u2081_8054_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7632_);
if (lean_obj_tag(v___x_8073_) == 0)
{
lean_object* v_a_8074_; lean_object* v___x_8075_; uint8_t v___x_8076_; lean_object* v___x_8077_; lean_object* v___x_8078_; lean_object* v___x_8079_; lean_object* v___x_8080_; lean_object* v___x_8081_; lean_object* v___x_8082_; lean_object* v___x_8083_; lean_object* v___x_8084_; lean_object* v___x_8085_; 
v_a_8074_ = lean_ctor_get(v___x_8073_, 0);
lean_inc(v_a_8074_);
lean_dec_ref(v___x_8073_);
v___x_8075_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__26));
v___x_8076_ = 0;
v___x_8077_ = l_Lean_mkAppB(v_a_8060_, v_a_8063_, v_a_8065_);
v___x_8078_ = l_Lean_mkFVar(v_decVar_8055_);
v___x_8079_ = lean_unsigned_to_nat(1u);
v___x_8080_ = lean_mk_empty_array_with_capacity(v___x_8079_);
v___x_8081_ = lean_array_push(v___x_8080_, v___x_8078_);
v___x_8082_ = lean_expr_abstract(v_a_8058_, v___x_8081_);
lean_dec_ref(v___x_8081_);
lean_dec(v_a_8058_);
v___x_8083_ = l_Lean_mkLambda(v___x_8075_, v___x_8076_, v___x_8077_, v___x_8082_);
v___x_8084_ = l_Lean_eagerReflBoolTrue;
v___x_8085_ = l_Lean_mkApp5(v_a_8068_, v_a_8070_, v_a_8072_, v___x_8084_, v_a_8074_, v___x_8083_);
v_a_7648_ = v___x_8085_;
goto v___jp_7647_;
}
else
{
lean_dec(v_a_8072_);
lean_dec(v_a_8070_);
lean_dec(v_a_8068_);
lean_dec(v_a_8065_);
lean_dec(v_a_8063_);
lean_dec(v_a_8060_);
lean_dec(v_a_8058_);
lean_dec(v_decVar_8055_);
v___y_7668_ = v___x_8073_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8070_);
lean_dec(v_a_8068_);
lean_dec(v_a_8065_);
lean_dec(v_a_8063_);
lean_dec(v_a_8060_);
lean_dec(v_a_8058_);
lean_dec(v_decVar_8055_);
lean_dec_ref(v_c_u2081_8054_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8071_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8068_);
lean_dec(v_a_8065_);
lean_dec(v_a_8063_);
lean_dec(v_a_8060_);
lean_dec(v_a_8058_);
lean_dec(v_decVar_8055_);
lean_dec_ref(v_c_u2081_8054_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8069_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8065_);
lean_dec(v_a_8063_);
lean_dec(v_a_8060_);
lean_dec(v_a_8058_);
lean_dec(v_decVar_8055_);
lean_dec_ref(v_c_u2081_8054_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8067_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8063_);
lean_dec(v_a_8060_);
lean_dec(v_a_8058_);
lean_dec(v_decVar_8055_);
lean_dec_ref(v_c_u2081_8054_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8064_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8060_);
lean_dec(v_a_8058_);
lean_dec(v_decVar_8055_);
lean_dec_ref(v_c_u2081_8054_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8062_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8058_);
lean_dec(v_decVar_8055_);
lean_dec_ref(v_c_u2081_8054_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8059_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_decVar_8055_);
lean_dec_ref(v_c_u2081_8054_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8057_;
goto v___jp_7667_;
}
}
case 9:
{
lean_object* v___x_8086_; 
v___x_8086_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8086_) == 0)
{
lean_object* v_a_8087_; lean_object* v___x_8088_; 
v_a_8087_ = lean_ctor_get(v___x_8086_, 0);
lean_inc(v_a_8087_);
lean_dec_ref(v___x_8086_);
v___x_8088_ = l_Lean_Meta_Grind_Arith_Linear_getRingInst(v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8088_) == 0)
{
lean_object* v_a_8089_; lean_object* v___x_8090_; 
v_a_8089_ = lean_ctor_get(v___x_8088_, 0);
lean_inc(v_a_8089_);
lean_dec_ref(v___x_8088_);
v___x_8090_ = l_Lean_Meta_Grind_Arith_Linear_getLEInst(v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8090_) == 0)
{
lean_object* v_a_8091_; lean_object* v___x_8092_; 
v_a_8091_ = lean_ctor_get(v___x_8090_, 0);
lean_inc(v_a_8091_);
lean_dec_ref(v___x_8090_);
v___x_8092_ = l_Lean_Meta_Grind_Arith_Linear_getLTInst(v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8092_) == 0)
{
lean_object* v_a_8093_; lean_object* v___x_8094_; 
v_a_8093_ = lean_ctor_get(v___x_8092_, 0);
lean_inc(v_a_8093_);
lean_dec_ref(v___x_8092_);
v___x_8094_ = l_Lean_Meta_Grind_Arith_Linear_getLawfulOrderLTInst(v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8094_) == 0)
{
lean_object* v_a_8095_; lean_object* v___x_8096_; 
v_a_8095_ = lean_ctor_get(v___x_8094_, 0);
lean_inc(v_a_8095_);
lean_dec_ref(v___x_8094_);
v___x_8096_ = l_Lean_Meta_Grind_Arith_Linear_getIsPreorderInst(v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8096_) == 0)
{
lean_object* v_a_8097_; lean_object* v___x_8098_; 
v_a_8097_ = lean_ctor_get(v___x_8096_, 0);
lean_inc(v_a_8097_);
lean_dec_ref(v___x_8096_);
v___x_8098_ = l_Lean_Meta_Grind_Arith_Linear_getOrderedRingInst(v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8098_) == 0)
{
lean_object* v_a_8099_; lean_object* v___x_8100_; 
v_a_8099_ = lean_ctor_get(v___x_8098_, 0);
lean_inc(v_a_8099_);
lean_dec_ref(v___x_8098_);
v___x_8100_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7679_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8100_) == 0)
{
lean_object* v_a_8101_; lean_object* v___x_8102_; 
v_a_8101_ = lean_ctor_get(v___x_8100_, 0);
lean_inc(v_a_8101_);
lean_dec_ref(v___x_8100_);
v___x_8102_ = l_Lean_Meta_Grind_Arith_Linear_getOne(v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
if (lean_obj_tag(v___x_8102_) == 0)
{
lean_object* v_a_8103_; lean_object* v___x_8104_; 
v_a_8103_ = lean_ctor_get(v___x_8102_, 0);
lean_inc(v_a_8103_);
lean_dec_ref(v___x_8102_);
v___x_8104_ = l_Lean_Meta_mkEqRefl(v_a_8103_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8104_) == 0)
{
lean_object* v_a_8105_; lean_object* v_ctx_8106_; lean_object* v___x_8108_; uint8_t v_isShared_8109_; uint8_t v_isSharedCheck_8121_; 
v_a_8105_ = lean_ctor_get(v___x_8104_, 0);
lean_inc(v_a_8105_);
lean_dec_ref(v___x_8104_);
v_ctx_8106_ = lean_ctor_get(v_a_7630_, 0);
v_isSharedCheck_8121_ = !lean_is_exclusive(v_a_7630_);
if (v_isSharedCheck_8121_ == 0)
{
lean_object* v_unused_8122_; 
v_unused_8122_ = lean_ctor_get(v_a_7630_, 1);
lean_dec(v_unused_8122_);
v___x_8108_ = v_a_7630_;
v_isShared_8109_ = v_isSharedCheck_8121_;
goto v_resetjp_8107_;
}
else
{
lean_inc(v_ctx_8106_);
lean_dec(v_a_7630_);
v___x_8108_ = lean_box(0);
v_isShared_8109_ = v_isSharedCheck_8121_;
goto v_resetjp_8107_;
}
v_resetjp_8107_:
{
lean_object* v_type_8110_; lean_object* v_u_8111_; lean_object* v___x_8112_; lean_object* v___x_8113_; lean_object* v___x_8115_; 
v_type_8110_ = lean_ctor_get(v_a_8087_, 2);
lean_inc_ref(v_type_8110_);
v_u_8111_ = lean_ctor_get(v_a_8087_, 3);
lean_inc(v_u_8111_);
lean_dec(v_a_8087_);
v___x_8112_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__28));
v___x_8113_ = lean_box(0);
if (v_isShared_8109_ == 0)
{
lean_ctor_set_tag(v___x_8108_, 1);
lean_ctor_set(v___x_8108_, 1, v___x_8113_);
lean_ctor_set(v___x_8108_, 0, v_u_8111_);
v___x_8115_ = v___x_8108_;
goto v_reusejp_8114_;
}
else
{
lean_object* v_reuseFailAlloc_8120_; 
v_reuseFailAlloc_8120_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_8120_, 0, v_u_8111_);
lean_ctor_set(v_reuseFailAlloc_8120_, 1, v___x_8113_);
v___x_8115_ = v_reuseFailAlloc_8120_;
goto v_reusejp_8114_;
}
v_reusejp_8114_:
{
lean_object* v___x_8116_; lean_object* v___x_8117_; lean_object* v___x_8118_; lean_object* v___x_8119_; 
v___x_8116_ = l_Lean_mkConst(v___x_8112_, v___x_8115_);
v___x_8117_ = l_Lean_mkApp8(v___x_8116_, v_type_8110_, v_a_8089_, v_a_8091_, v_a_8093_, v_a_8095_, v_a_8097_, v_a_8099_, v_ctx_8106_);
v___x_8118_ = l_Lean_eagerReflBoolTrue;
v___x_8119_ = l_Lean_mkApp3(v___x_8117_, v_a_8101_, v___x_8118_, v_a_8105_);
v_a_7648_ = v___x_8119_;
goto v___jp_7647_;
}
}
}
else
{
lean_dec(v_a_8101_);
lean_dec(v_a_8099_);
lean_dec(v_a_8097_);
lean_dec(v_a_8095_);
lean_dec(v_a_8093_);
lean_dec(v_a_8091_);
lean_dec(v_a_8089_);
lean_dec(v_a_8087_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8104_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8101_);
lean_dec(v_a_8099_);
lean_dec(v_a_8097_);
lean_dec(v_a_8095_);
lean_dec(v_a_8093_);
lean_dec(v_a_8091_);
lean_dec(v_a_8089_);
lean_dec(v_a_8087_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8102_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8099_);
lean_dec(v_a_8097_);
lean_dec(v_a_8095_);
lean_dec(v_a_8093_);
lean_dec(v_a_8091_);
lean_dec(v_a_8089_);
lean_dec(v_a_8087_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8100_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8097_);
lean_dec(v_a_8095_);
lean_dec(v_a_8093_);
lean_dec(v_a_8091_);
lean_dec(v_a_8089_);
lean_dec(v_a_8087_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8098_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8095_);
lean_dec(v_a_8093_);
lean_dec(v_a_8091_);
lean_dec(v_a_8089_);
lean_dec(v_a_8087_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8096_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8093_);
lean_dec(v_a_8091_);
lean_dec(v_a_8089_);
lean_dec(v_a_8087_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8094_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8091_);
lean_dec(v_a_8089_);
lean_dec(v_a_8087_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8092_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8089_);
lean_dec(v_a_8087_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8090_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8087_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8088_;
goto v___jp_7667_;
}
}
else
{
lean_object* v_a_8123_; lean_object* v___x_8125_; uint8_t v_isShared_8126_; uint8_t v_isSharedCheck_8130_; 
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec(v_a_7631_);
lean_dec_ref(v_a_7630_);
v_a_8123_ = lean_ctor_get(v___x_8086_, 0);
v_isSharedCheck_8130_ = !lean_is_exclusive(v___x_8086_);
if (v_isSharedCheck_8130_ == 0)
{
v___x_8125_ = v___x_8086_;
v_isShared_8126_ = v_isSharedCheck_8130_;
goto v_resetjp_8124_;
}
else
{
lean_inc(v_a_8123_);
lean_dec(v___x_8086_);
v___x_8125_ = lean_box(0);
v_isShared_8126_ = v_isSharedCheck_8130_;
goto v_resetjp_8124_;
}
v_resetjp_8124_:
{
lean_object* v___x_8128_; 
if (v_isShared_8126_ == 0)
{
v___x_8128_ = v___x_8125_;
goto v_reusejp_8127_;
}
else
{
lean_object* v_reuseFailAlloc_8129_; 
v_reuseFailAlloc_8129_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8129_, 0, v_a_8123_);
v___x_8128_ = v_reuseFailAlloc_8129_;
goto v_reusejp_8127_;
}
v_reusejp_8127_:
{
return v___x_8128_;
}
}
}
}
case 10:
{
lean_object* v_a_8131_; lean_object* v_b_8132_; lean_object* v_la_8133_; lean_object* v_lb_8134_; lean_object* v___x_8135_; lean_object* v___x_8136_; 
v_a_8131_ = lean_ctor_get(v_h_7681_, 0);
lean_inc_ref(v_a_8131_);
v_b_8132_ = lean_ctor_get(v_h_7681_, 1);
lean_inc_ref(v_b_8132_);
v_la_8133_ = lean_ctor_get(v_h_7681_, 2);
lean_inc(v_la_8133_);
v_lb_8134_ = lean_ctor_get(v_h_7681_, 3);
lean_inc(v_lb_8134_);
lean_dec_ref(v_h_7681_);
v___x_8135_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__30));
lean_inc_ref(v_a_7630_);
v___x_8136_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___redArg(v___x_8135_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8136_) == 0)
{
lean_object* v_a_8137_; lean_object* v___x_8138_; 
v_a_8137_ = lean_ctor_get(v___x_8136_, 0);
lean_inc(v_a_8137_);
lean_dec_ref(v___x_8136_);
v___x_8138_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_la_8133_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8138_) == 0)
{
lean_object* v_a_8139_; lean_object* v___x_8140_; 
v_a_8139_ = lean_ctor_get(v___x_8138_, 0);
lean_inc(v_a_8139_);
lean_dec_ref(v___x_8138_);
v___x_8140_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lb_8134_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8140_) == 0)
{
lean_object* v_a_8141_; lean_object* v___x_8142_; 
v_a_8141_ = lean_ctor_get(v___x_8140_, 0);
lean_inc(v_a_8141_);
lean_dec_ref(v___x_8140_);
v___x_8142_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7679_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
if (lean_obj_tag(v___x_8142_) == 0)
{
lean_object* v_a_8143_; lean_object* v___x_8144_; 
v_a_8143_ = lean_ctor_get(v___x_8142_, 0);
lean_inc(v_a_8143_);
lean_dec_ref(v___x_8142_);
v___x_8144_ = lean_grind_mk_eq_proof(v_a_8131_, v_b_8132_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8144_) == 0)
{
lean_object* v_a_8145_; lean_object* v___x_8146_; lean_object* v___x_8147_; 
v_a_8145_ = lean_ctor_get(v___x_8144_, 0);
lean_inc(v_a_8145_);
lean_dec_ref(v___x_8144_);
v___x_8146_ = l_Lean_eagerReflBoolTrue;
v___x_8147_ = l_Lean_mkApp5(v_a_8137_, v_a_8139_, v_a_8141_, v_a_8143_, v___x_8146_, v_a_8145_);
v_a_7648_ = v___x_8147_;
goto v___jp_7647_;
}
else
{
lean_dec(v_a_8143_);
lean_dec(v_a_8141_);
lean_dec(v_a_8139_);
lean_dec(v_a_8137_);
v___y_7668_ = v___x_8144_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8141_);
lean_dec(v_a_8139_);
lean_dec(v_a_8137_);
lean_dec_ref(v_b_8132_);
lean_dec_ref(v_a_8131_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
v___y_7668_ = v___x_8142_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8139_);
lean_dec(v_a_8137_);
lean_dec_ref(v_b_8132_);
lean_dec_ref(v_a_8131_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8140_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8137_);
lean_dec(v_lb_8134_);
lean_dec_ref(v_b_8132_);
lean_dec_ref(v_a_8131_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8138_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_lb_8134_);
lean_dec(v_la_8133_);
lean_dec_ref(v_b_8132_);
lean_dec_ref(v_a_8131_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8136_;
goto v___jp_7667_;
}
}
case 11:
{
lean_object* v_a_8148_; lean_object* v_b_8149_; lean_object* v_natStructId_8150_; lean_object* v_la_8151_; lean_object* v_lb_8152_; lean_object* v_a_8154_; lean_object* v___x_8166_; 
v_a_8148_ = lean_ctor_get(v_h_7681_, 0);
lean_inc_ref(v_a_8148_);
v_b_8149_ = lean_ctor_get(v_h_7681_, 1);
lean_inc_ref(v_b_8149_);
v_natStructId_8150_ = lean_ctor_get(v_h_7681_, 2);
lean_inc(v_natStructId_8150_);
v_la_8151_ = lean_ctor_get(v_h_7681_, 3);
lean_inc(v_la_8151_);
v_lb_8152_ = lean_ctor_get(v_h_7681_, 4);
lean_inc(v_lb_8152_);
lean_dec_ref(v_h_7681_);
v___x_8166_ = l_Lean_Meta_Grind_Arith_Linear_getNatStruct(v_natStructId_8150_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8166_) == 0)
{
lean_object* v_a_8167_; lean_object* v___x_8168_; 
v_a_8167_ = lean_ctor_get(v___x_8166_, 0);
lean_inc(v_a_8167_);
lean_dec_ref(v___x_8166_);
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc(v_natStructId_8150_);
lean_inc_ref(v_a_8148_);
v___x_8168_ = l_Lean_Meta_Grind_Arith_Linear_ofNatModule(v_a_8148_, v_natStructId_8150_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8168_) == 0)
{
lean_object* v_a_8169_; lean_object* v_fst_8170_; lean_object* v_snd_8171_; lean_object* v___x_8172_; 
v_a_8169_ = lean_ctor_get(v___x_8168_, 0);
lean_inc(v_a_8169_);
lean_dec_ref(v___x_8168_);
v_fst_8170_ = lean_ctor_get(v_a_8169_, 0);
lean_inc(v_fst_8170_);
v_snd_8171_ = lean_ctor_get(v_a_8169_, 1);
lean_inc(v_snd_8171_);
lean_dec(v_a_8169_);
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc_ref(v_b_8149_);
v___x_8172_ = l_Lean_Meta_Grind_Arith_Linear_ofNatModule(v_b_8149_, v_natStructId_8150_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8172_) == 0)
{
lean_object* v_a_8173_; lean_object* v_fst_8174_; lean_object* v_snd_8175_; lean_object* v___x_8177_; uint8_t v_isShared_8178_; uint8_t v_isSharedCheck_8192_; 
v_a_8173_ = lean_ctor_get(v___x_8172_, 0);
lean_inc(v_a_8173_);
lean_dec_ref(v___x_8172_);
v_fst_8174_ = lean_ctor_get(v_a_8173_, 0);
v_snd_8175_ = lean_ctor_get(v_a_8173_, 1);
v_isSharedCheck_8192_ = !lean_is_exclusive(v_a_8173_);
if (v_isSharedCheck_8192_ == 0)
{
v___x_8177_ = v_a_8173_;
v_isShared_8178_ = v_isSharedCheck_8192_;
goto v_resetjp_8176_;
}
else
{
lean_inc(v_snd_8175_);
lean_inc(v_fst_8174_);
lean_dec(v_a_8173_);
v___x_8177_ = lean_box(0);
v_isShared_8178_ = v_isSharedCheck_8192_;
goto v_resetjp_8176_;
}
v_resetjp_8176_:
{
lean_object* v___x_8179_; 
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc_ref(v_b_8149_);
lean_inc_ref(v_a_8148_);
v___x_8179_ = lean_grind_mk_eq_proof(v_a_8148_, v_b_8149_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8179_) == 0)
{
lean_object* v_a_8180_; lean_object* v_type_8181_; lean_object* v_u_8182_; lean_object* v_natModuleInst_8183_; lean_object* v___x_8184_; lean_object* v___x_8185_; lean_object* v___x_8187_; 
v_a_8180_ = lean_ctor_get(v___x_8179_, 0);
lean_inc(v_a_8180_);
lean_dec_ref(v___x_8179_);
v_type_8181_ = lean_ctor_get(v_a_8167_, 2);
lean_inc_ref(v_type_8181_);
v_u_8182_ = lean_ctor_get(v_a_8167_, 3);
lean_inc(v_u_8182_);
v_natModuleInst_8183_ = lean_ctor_get(v_a_8167_, 4);
lean_inc_ref(v_natModuleInst_8183_);
lean_dec(v_a_8167_);
v___x_8184_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof___closed__6));
v___x_8185_ = lean_box(0);
if (v_isShared_8178_ == 0)
{
lean_ctor_set_tag(v___x_8177_, 1);
lean_ctor_set(v___x_8177_, 1, v___x_8185_);
lean_ctor_set(v___x_8177_, 0, v_u_8182_);
v___x_8187_ = v___x_8177_;
goto v_reusejp_8186_;
}
else
{
lean_object* v_reuseFailAlloc_8190_; 
v_reuseFailAlloc_8190_ = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(v_reuseFailAlloc_8190_, 0, v_u_8182_);
lean_ctor_set(v_reuseFailAlloc_8190_, 1, v___x_8185_);
v___x_8187_ = v_reuseFailAlloc_8190_;
goto v_reusejp_8186_;
}
v_reusejp_8186_:
{
lean_object* v___x_8188_; lean_object* v___x_8189_; 
v___x_8188_ = l_Lean_mkConst(v___x_8184_, v___x_8187_);
v___x_8189_ = l_Lean_mkApp9(v___x_8188_, v_type_8181_, v_natModuleInst_8183_, v_a_8148_, v_b_8149_, v_fst_8170_, v_fst_8174_, v_snd_8171_, v_snd_8175_, v_a_8180_);
v_a_8154_ = v___x_8189_;
goto v___jp_8153_;
}
}
else
{
lean_del_object(v___x_8177_);
lean_dec(v_snd_8175_);
lean_dec(v_fst_8174_);
lean_dec(v_snd_8171_);
lean_dec(v_fst_8170_);
lean_dec(v_a_8167_);
lean_dec_ref(v_b_8149_);
lean_dec_ref(v_a_8148_);
if (lean_obj_tag(v___x_8179_) == 0)
{
lean_object* v_a_8191_; 
v_a_8191_ = lean_ctor_get(v___x_8179_, 0);
lean_inc(v_a_8191_);
lean_dec_ref(v___x_8179_);
v_a_8154_ = v_a_8191_;
goto v___jp_8153_;
}
else
{
lean_dec(v_lb_8152_);
lean_dec(v_la_8151_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8179_;
goto v___jp_7667_;
}
}
}
}
else
{
lean_object* v_a_8193_; lean_object* v___x_8195_; uint8_t v_isShared_8196_; uint8_t v_isSharedCheck_8200_; 
lean_dec(v_snd_8171_);
lean_dec(v_fst_8170_);
lean_dec(v_a_8167_);
lean_dec(v_lb_8152_);
lean_dec(v_la_8151_);
lean_dec_ref(v_b_8149_);
lean_dec_ref(v_a_8148_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec(v_a_7631_);
lean_dec_ref(v_a_7630_);
v_a_8193_ = lean_ctor_get(v___x_8172_, 0);
v_isSharedCheck_8200_ = !lean_is_exclusive(v___x_8172_);
if (v_isSharedCheck_8200_ == 0)
{
v___x_8195_ = v___x_8172_;
v_isShared_8196_ = v_isSharedCheck_8200_;
goto v_resetjp_8194_;
}
else
{
lean_inc(v_a_8193_);
lean_dec(v___x_8172_);
v___x_8195_ = lean_box(0);
v_isShared_8196_ = v_isSharedCheck_8200_;
goto v_resetjp_8194_;
}
v_resetjp_8194_:
{
lean_object* v___x_8198_; 
if (v_isShared_8196_ == 0)
{
v___x_8198_ = v___x_8195_;
goto v_reusejp_8197_;
}
else
{
lean_object* v_reuseFailAlloc_8199_; 
v_reuseFailAlloc_8199_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8199_, 0, v_a_8193_);
v___x_8198_ = v_reuseFailAlloc_8199_;
goto v_reusejp_8197_;
}
v_reusejp_8197_:
{
return v___x_8198_;
}
}
}
}
else
{
lean_object* v_a_8201_; lean_object* v___x_8203_; uint8_t v_isShared_8204_; uint8_t v_isSharedCheck_8208_; 
lean_dec(v_a_8167_);
lean_dec(v_lb_8152_);
lean_dec(v_la_8151_);
lean_dec(v_natStructId_8150_);
lean_dec_ref(v_b_8149_);
lean_dec_ref(v_a_8148_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec(v_a_7631_);
lean_dec_ref(v_a_7630_);
v_a_8201_ = lean_ctor_get(v___x_8168_, 0);
v_isSharedCheck_8208_ = !lean_is_exclusive(v___x_8168_);
if (v_isSharedCheck_8208_ == 0)
{
v___x_8203_ = v___x_8168_;
v_isShared_8204_ = v_isSharedCheck_8208_;
goto v_resetjp_8202_;
}
else
{
lean_inc(v_a_8201_);
lean_dec(v___x_8168_);
v___x_8203_ = lean_box(0);
v_isShared_8204_ = v_isSharedCheck_8208_;
goto v_resetjp_8202_;
}
v_resetjp_8202_:
{
lean_object* v___x_8206_; 
if (v_isShared_8204_ == 0)
{
v___x_8206_ = v___x_8203_;
goto v_reusejp_8205_;
}
else
{
lean_object* v_reuseFailAlloc_8207_; 
v_reuseFailAlloc_8207_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8207_, 0, v_a_8201_);
v___x_8206_ = v_reuseFailAlloc_8207_;
goto v_reusejp_8205_;
}
v_reusejp_8205_:
{
return v___x_8206_;
}
}
}
}
else
{
lean_object* v_a_8209_; lean_object* v___x_8211_; uint8_t v_isShared_8212_; uint8_t v_isSharedCheck_8216_; 
lean_dec(v_lb_8152_);
lean_dec(v_la_8151_);
lean_dec(v_natStructId_8150_);
lean_dec_ref(v_b_8149_);
lean_dec_ref(v_a_8148_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec(v_a_7631_);
lean_dec_ref(v_a_7630_);
v_a_8209_ = lean_ctor_get(v___x_8166_, 0);
v_isSharedCheck_8216_ = !lean_is_exclusive(v___x_8166_);
if (v_isSharedCheck_8216_ == 0)
{
v___x_8211_ = v___x_8166_;
v_isShared_8212_ = v_isSharedCheck_8216_;
goto v_resetjp_8210_;
}
else
{
lean_inc(v_a_8209_);
lean_dec(v___x_8166_);
v___x_8211_ = lean_box(0);
v_isShared_8212_ = v_isSharedCheck_8216_;
goto v_resetjp_8210_;
}
v_resetjp_8210_:
{
lean_object* v___x_8214_; 
if (v_isShared_8212_ == 0)
{
v___x_8214_ = v___x_8211_;
goto v_reusejp_8213_;
}
else
{
lean_object* v_reuseFailAlloc_8215_; 
v_reuseFailAlloc_8215_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8215_, 0, v_a_8209_);
v___x_8214_ = v_reuseFailAlloc_8215_;
goto v_reusejp_8213_;
}
v_reusejp_8213_:
{
return v___x_8214_;
}
}
}
v___jp_8153_:
{
lean_object* v___x_8155_; lean_object* v___x_8156_; 
v___x_8155_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__30));
lean_inc_ref(v_a_7630_);
v___x_8156_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___redArg(v___x_8155_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8156_) == 0)
{
lean_object* v_a_8157_; lean_object* v___x_8158_; 
v_a_8157_ = lean_ctor_get(v___x_8156_, 0);
lean_inc(v_a_8157_);
lean_dec_ref(v___x_8156_);
v___x_8158_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_la_8151_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8158_) == 0)
{
lean_object* v_a_8159_; lean_object* v___x_8160_; 
v_a_8159_ = lean_ctor_get(v___x_8158_, 0);
lean_inc(v_a_8159_);
lean_dec_ref(v___x_8158_);
v___x_8160_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lb_8152_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8160_) == 0)
{
lean_object* v_a_8161_; lean_object* v___x_8162_; 
v_a_8161_ = lean_ctor_get(v___x_8160_, 0);
lean_inc(v_a_8161_);
lean_dec_ref(v___x_8160_);
v___x_8162_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7679_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
if (lean_obj_tag(v___x_8162_) == 0)
{
lean_object* v_a_8163_; lean_object* v___x_8164_; lean_object* v___x_8165_; 
v_a_8163_ = lean_ctor_get(v___x_8162_, 0);
lean_inc(v_a_8163_);
lean_dec_ref(v___x_8162_);
v___x_8164_ = l_Lean_eagerReflBoolTrue;
v___x_8165_ = l_Lean_mkApp5(v_a_8157_, v_a_8159_, v_a_8161_, v_a_8163_, v___x_8164_, v_a_8154_);
v_a_7648_ = v___x_8165_;
goto v___jp_7647_;
}
else
{
lean_dec(v_a_8161_);
lean_dec(v_a_8159_);
lean_dec(v_a_8157_);
lean_dec_ref(v_a_8154_);
v___y_7668_ = v___x_8162_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8159_);
lean_dec(v_a_8157_);
lean_dec_ref(v_a_8154_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8160_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8157_);
lean_dec_ref(v_a_8154_);
lean_dec(v_lb_8152_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8158_;
goto v___jp_7667_;
}
}
else
{
lean_dec_ref(v_a_8154_);
lean_dec(v_lb_8152_);
lean_dec(v_la_8151_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8156_;
goto v___jp_7667_;
}
}
}
case 12:
{
lean_object* v_c_8217_; lean_object* v_lhs_8218_; lean_object* v___x_8219_; 
v_c_8217_ = lean_ctor_get(v_h_7681_, 0);
lean_inc_ref(v_c_8217_);
v_lhs_8218_ = lean_ctor_get(v_h_7681_, 1);
lean_inc(v_lhs_8218_);
lean_dec_ref(v_h_7681_);
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc_ref(v_a_7630_);
lean_inc_ref(v_c_8217_);
v___x_8219_ = l_Lean_Meta_Grind_Arith_Linear_RingEqCnstr_toExprProof(v_c_8217_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8219_) == 0)
{
lean_object* v_a_8220_; lean_object* v___x_8221_; lean_object* v___x_8222_; 
v_a_8220_ = lean_ctor_get(v___x_8219_, 0);
lean_inc(v_a_8220_);
lean_dec_ref(v___x_8219_);
v___x_8221_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__32));
lean_inc_ref(v_a_7630_);
v___x_8222_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkCommRingThmPrefix___redArg(v___x_8221_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8222_) == 0)
{
lean_object* v_a_8223_; lean_object* v_p_8224_; lean_object* v___x_8225_; 
v_a_8223_ = lean_ctor_get(v___x_8222_, 0);
lean_inc(v_a_8223_);
lean_dec_ref(v___x_8222_);
v_p_8224_ = lean_ctor_get(v_c_8217_, 0);
lean_inc_ref(v_p_8224_);
lean_dec_ref(v_c_8217_);
v___x_8225_ = l_Lean_Meta_Grind_Arith_Linear_mkRingPolyDecl(v_p_8224_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8225_) == 0)
{
lean_object* v_a_8226_; lean_object* v___x_8227_; lean_object* v___x_8228_; 
v_a_8226_ = lean_ctor_get(v___x_8225_, 0);
lean_inc(v_a_8226_);
lean_dec_ref(v___x_8225_);
v___x_8227_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__30));
lean_inc_ref(v_a_7630_);
v___x_8228_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreOrdThmPrefix___redArg(v___x_8227_, v_a_7630_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8228_) == 0)
{
lean_object* v_a_8229_; lean_object* v___x_8230_; 
v_a_8229_ = lean_ctor_get(v___x_8228_, 0);
lean_inc(v_a_8229_);
lean_dec_ref(v___x_8228_);
v___x_8230_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v_lhs_8218_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8230_) == 0)
{
lean_object* v_a_8231_; lean_object* v___x_8232_; lean_object* v___x_8233_; 
v_a_8231_ = lean_ctor_get(v___x_8230_, 0);
lean_inc(v_a_8231_);
lean_dec_ref(v___x_8230_);
v___x_8232_ = lean_box(0);
v___x_8233_ = l_Lean_Meta_Grind_Arith_Linear_mkExprDecl(v___x_8232_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_8233_) == 0)
{
lean_object* v_a_8234_; lean_object* v___x_8235_; 
v_a_8234_ = lean_ctor_get(v___x_8233_, 0);
lean_inc(v_a_8234_);
lean_dec_ref(v___x_8233_);
v___x_8235_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7679_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
if (lean_obj_tag(v___x_8235_) == 0)
{
lean_object* v_a_8236_; lean_object* v___x_8237_; lean_object* v___x_8238_; lean_object* v___x_8239_; 
v_a_8236_ = lean_ctor_get(v___x_8235_, 0);
lean_inc(v_a_8236_);
lean_dec_ref(v___x_8235_);
v___x_8237_ = l_Lean_mkAppB(v_a_8223_, v_a_8226_, v_a_8220_);
v___x_8238_ = l_Lean_eagerReflBoolTrue;
v___x_8239_ = l_Lean_mkApp5(v_a_8229_, v_a_8231_, v_a_8234_, v_a_8236_, v___x_8238_, v___x_8237_);
v_a_7648_ = v___x_8239_;
goto v___jp_7647_;
}
else
{
lean_dec(v_a_8234_);
lean_dec(v_a_8231_);
lean_dec(v_a_8229_);
lean_dec(v_a_8226_);
lean_dec(v_a_8223_);
lean_dec(v_a_8220_);
v___y_7668_ = v___x_8235_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8231_);
lean_dec(v_a_8229_);
lean_dec(v_a_8226_);
lean_dec(v_a_8223_);
lean_dec(v_a_8220_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8233_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8229_);
lean_dec(v_a_8226_);
lean_dec(v_a_8223_);
lean_dec(v_a_8220_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8230_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8226_);
lean_dec(v_a_8223_);
lean_dec(v_a_8220_);
lean_dec(v_lhs_8218_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8228_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8223_);
lean_dec(v_a_8220_);
lean_dec(v_lhs_8218_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8225_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_8220_);
lean_dec(v_lhs_8218_);
lean_dec_ref(v_c_8217_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8222_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_lhs_8218_);
lean_dec_ref(v_c_8217_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_8219_;
goto v___jp_7667_;
}
}
default: 
{
lean_object* v___x_8240_; lean_object* v___x_8241_; 
lean_dec(v_h_7681_);
lean_dec(v_p_7679_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___x_8240_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__34, &l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__34_once, _init_l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___closed__34);
v___x_8241_ = l_Lean_throwError___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__2___redArg(v___x_8240_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
v___y_7668_ = v___x_8241_;
goto v___jp_7667_;
}
}
v___jp_7682_:
{
lean_object* v___x_7686_; 
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc(v_a_7632_);
lean_inc(v_a_7631_);
lean_inc_ref(v_a_7630_);
v___x_7686_ = lean_apply_14(v_fst_7683_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_, lean_box(0));
if (lean_obj_tag(v___x_7686_) == 0)
{
lean_object* v_a_7687_; lean_object* v_p_7688_; lean_object* v___x_7689_; 
v_a_7687_ = lean_ctor_get(v___x_7686_, 0);
lean_inc(v_a_7687_);
lean_dec_ref(v___x_7686_);
v_p_7688_ = lean_ctor_get(v_fst_7684_, 0);
lean_inc(v_p_7688_);
v___x_7689_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7688_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7689_) == 0)
{
lean_object* v_a_7690_; lean_object* v_p_7691_; lean_object* v___x_7692_; 
v_a_7690_ = lean_ctor_get(v___x_7689_, 0);
lean_inc(v_a_7690_);
lean_dec_ref(v___x_7689_);
v_p_7691_ = lean_ctor_get(v_snd_7685_, 0);
lean_inc(v_p_7691_);
v___x_7692_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7691_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7692_) == 0)
{
lean_object* v_a_7693_; lean_object* v___x_7694_; 
v_a_7693_ = lean_ctor_get(v___x_7692_, 0);
lean_inc(v_a_7693_);
lean_dec_ref(v___x_7692_);
v___x_7694_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_7679_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7694_) == 0)
{
lean_object* v_a_7695_; lean_object* v___x_7696_; 
v_a_7695_ = lean_ctor_get(v___x_7694_, 0);
lean_inc(v_a_7695_);
lean_dec_ref(v___x_7694_);
lean_inc(v_a_7642_);
lean_inc_ref(v_a_7641_);
lean_inc(v_a_7640_);
lean_inc_ref(v_a_7639_);
lean_inc(v_a_7638_);
lean_inc_ref(v_a_7637_);
lean_inc(v_a_7636_);
lean_inc_ref(v_a_7635_);
lean_inc(v_a_7634_);
lean_inc(v_a_7633_);
lean_inc(v_a_7632_);
lean_inc(v_a_7631_);
lean_inc_ref(v_a_7630_);
v___x_7696_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof(v_fst_7684_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7696_) == 0)
{
lean_object* v_a_7697_; lean_object* v___x_7698_; 
v_a_7697_ = lean_ctor_get(v___x_7696_, 0);
lean_inc(v_a_7697_);
lean_dec_ref(v___x_7696_);
lean_inc(v_a_7631_);
v___x_7698_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof(v_snd_7685_, v_a_7630_, v_a_7631_, v_a_7632_, v_a_7633_, v_a_7634_, v_a_7635_, v_a_7636_, v_a_7637_, v_a_7638_, v_a_7639_, v_a_7640_, v_a_7641_, v_a_7642_);
if (lean_obj_tag(v___x_7698_) == 0)
{
lean_object* v_a_7699_; lean_object* v___x_7700_; lean_object* v___x_7701_; 
v_a_7699_ = lean_ctor_get(v___x_7698_, 0);
lean_inc(v_a_7699_);
lean_dec_ref(v___x_7698_);
v___x_7700_ = l_Lean_eagerReflBoolTrue;
v___x_7701_ = l_Lean_mkApp6(v_a_7687_, v_a_7690_, v_a_7693_, v_a_7695_, v___x_7700_, v_a_7697_, v_a_7699_);
v_a_7648_ = v___x_7701_;
goto v___jp_7647_;
}
else
{
lean_dec(v_a_7697_);
lean_dec(v_a_7695_);
lean_dec(v_a_7693_);
lean_dec(v_a_7690_);
lean_dec(v_a_7687_);
v___y_7668_ = v___x_7698_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_7695_);
lean_dec(v_a_7693_);
lean_dec(v_a_7690_);
lean_dec(v_a_7687_);
lean_dec_ref(v_snd_7685_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7696_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_7693_);
lean_dec(v_a_7690_);
lean_dec(v_a_7687_);
lean_dec_ref(v_snd_7685_);
lean_dec_ref(v_fst_7684_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7694_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_7690_);
lean_dec(v_a_7687_);
lean_dec_ref(v_snd_7685_);
lean_dec_ref(v_fst_7684_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7692_;
goto v___jp_7667_;
}
}
else
{
lean_dec(v_a_7687_);
lean_dec_ref(v_snd_7685_);
lean_dec_ref(v_fst_7684_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec_ref(v_a_7630_);
v___y_7668_ = v___x_7689_;
goto v___jp_7667_;
}
}
else
{
lean_dec_ref(v_snd_7685_);
lean_dec_ref(v_fst_7684_);
lean_dec(v_p_7679_);
lean_dec(v_a_7642_);
lean_dec_ref(v_a_7641_);
lean_dec(v_a_7640_);
lean_dec_ref(v_a_7639_);
lean_dec(v_a_7638_);
lean_dec_ref(v_a_7637_);
lean_dec(v_a_7636_);
lean_dec_ref(v_a_7635_);
lean_dec(v_a_7634_);
lean_dec(v_a_7633_);
lean_dec(v_a_7632_);
lean_dec(v_a_7631_);
lean_dec_ref(v_a_7630_);
return v___x_7686_;
}
}
}
v___jp_7647_:
{
lean_object* v___x_7649_; lean_object* v_cache_7650_; lean_object* v_varDecls_7651_; lean_object* v_polyDecls_7652_; lean_object* v_exprDecls_7653_; lean_object* v_ringPolyDecls_7654_; lean_object* v_ringExprDecls_7655_; lean_object* v_ringVarDecls_7656_; lean_object* v___x_7658_; uint8_t v_isShared_7659_; uint8_t v_isSharedCheck_7666_; 
v___x_7649_ = lean_st_ref_take(v_a_7631_);
v_cache_7650_ = lean_ctor_get(v___x_7649_, 0);
v_varDecls_7651_ = lean_ctor_get(v___x_7649_, 1);
v_polyDecls_7652_ = lean_ctor_get(v___x_7649_, 2);
v_exprDecls_7653_ = lean_ctor_get(v___x_7649_, 3);
v_ringPolyDecls_7654_ = lean_ctor_get(v___x_7649_, 4);
v_ringExprDecls_7655_ = lean_ctor_get(v___x_7649_, 5);
v_ringVarDecls_7656_ = lean_ctor_get(v___x_7649_, 6);
v_isSharedCheck_7666_ = !lean_is_exclusive(v___x_7649_);
if (v_isSharedCheck_7666_ == 0)
{
v___x_7658_ = v___x_7649_;
v_isShared_7659_ = v_isSharedCheck_7666_;
goto v_resetjp_7657_;
}
else
{
lean_inc(v_ringVarDecls_7656_);
lean_inc(v_ringExprDecls_7655_);
lean_inc(v_ringPolyDecls_7654_);
lean_inc(v_exprDecls_7653_);
lean_inc(v_polyDecls_7652_);
lean_inc(v_varDecls_7651_);
lean_inc(v_cache_7650_);
lean_dec(v___x_7649_);
v___x_7658_ = lean_box(0);
v_isShared_7659_ = v_isSharedCheck_7666_;
goto v_resetjp_7657_;
}
v_resetjp_7657_:
{
lean_object* v___x_7660_; lean_object* v___x_7662_; 
lean_inc_ref(v_a_7648_);
v___x_7660_ = l_Std_DHashMap_Internal_Raw_u2080_insert___at___00Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof_spec__0___redArg(v_cache_7650_, v_addr_7646_, v_a_7648_);
if (v_isShared_7659_ == 0)
{
lean_ctor_set(v___x_7658_, 0, v___x_7660_);
v___x_7662_ = v___x_7658_;
goto v_reusejp_7661_;
}
else
{
lean_object* v_reuseFailAlloc_7665_; 
v_reuseFailAlloc_7665_ = lean_alloc_ctor(0, 7, 0);
lean_ctor_set(v_reuseFailAlloc_7665_, 0, v___x_7660_);
lean_ctor_set(v_reuseFailAlloc_7665_, 1, v_varDecls_7651_);
lean_ctor_set(v_reuseFailAlloc_7665_, 2, v_polyDecls_7652_);
lean_ctor_set(v_reuseFailAlloc_7665_, 3, v_exprDecls_7653_);
lean_ctor_set(v_reuseFailAlloc_7665_, 4, v_ringPolyDecls_7654_);
lean_ctor_set(v_reuseFailAlloc_7665_, 5, v_ringExprDecls_7655_);
lean_ctor_set(v_reuseFailAlloc_7665_, 6, v_ringVarDecls_7656_);
v___x_7662_ = v_reuseFailAlloc_7665_;
goto v_reusejp_7661_;
}
v_reusejp_7661_:
{
lean_object* v___x_7663_; lean_object* v___x_7664_; 
v___x_7663_ = lean_st_ref_set(v_a_7631_, v___x_7662_);
lean_dec(v_a_7631_);
v___x_7664_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_7664_, 0, v_a_7648_);
return v___x_7664_;
}
}
}
v___jp_7667_:
{
if (lean_obj_tag(v___y_7668_) == 0)
{
lean_object* v_a_7669_; 
v_a_7669_ = lean_ctor_get(v___y_7668_, 0);
lean_inc(v_a_7669_);
lean_dec_ref(v___y_7668_);
v_a_7648_ = v_a_7669_;
goto v___jp_7647_;
}
else
{
lean_dec(v_a_7631_);
return v___y_7668_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore(lean_object* v_h_8242_, lean_object* v_a_8243_, lean_object* v_a_8244_, lean_object* v_a_8245_, lean_object* v_a_8246_, lean_object* v_a_8247_, lean_object* v_a_8248_, lean_object* v_a_8249_, lean_object* v_a_8250_, lean_object* v_a_8251_, lean_object* v_a_8252_, lean_object* v_a_8253_, lean_object* v_a_8254_, lean_object* v_a_8255_){
_start:
{
if (lean_obj_tag(v_h_8242_) == 0)
{
lean_object* v_c_8257_; lean_object* v___x_8258_; lean_object* v___x_8259_; 
v_c_8257_ = lean_ctor_get(v_h_8242_, 0);
lean_inc_ref(v_c_8257_);
lean_dec_ref(v_h_8242_);
v___x_8258_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__1));
lean_inc_ref(v_a_8243_);
v___x_8259_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v___x_8258_, v_a_8243_, v_a_8245_, v_a_8246_, v_a_8247_, v_a_8248_, v_a_8249_, v_a_8250_, v_a_8251_, v_a_8252_, v_a_8253_, v_a_8254_, v_a_8255_);
if (lean_obj_tag(v___x_8259_) == 0)
{
lean_object* v_a_8260_; lean_object* v___x_8261_; 
v_a_8260_ = lean_ctor_get(v___x_8259_, 0);
lean_inc(v_a_8260_);
lean_dec_ref(v___x_8259_);
v___x_8261_ = l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_toExprProof(v_c_8257_, v_a_8243_, v_a_8244_, v_a_8245_, v_a_8246_, v_a_8247_, v_a_8248_, v_a_8249_, v_a_8250_, v_a_8251_, v_a_8252_, v_a_8253_, v_a_8254_, v_a_8255_);
lean_dec(v_a_8245_);
lean_dec(v_a_8244_);
if (lean_obj_tag(v___x_8261_) == 0)
{
lean_object* v_a_8262_; lean_object* v___x_8264_; uint8_t v_isShared_8265_; uint8_t v_isSharedCheck_8270_; 
v_a_8262_ = lean_ctor_get(v___x_8261_, 0);
v_isSharedCheck_8270_ = !lean_is_exclusive(v___x_8261_);
if (v_isSharedCheck_8270_ == 0)
{
v___x_8264_ = v___x_8261_;
v_isShared_8265_ = v_isSharedCheck_8270_;
goto v_resetjp_8263_;
}
else
{
lean_inc(v_a_8262_);
lean_dec(v___x_8261_);
v___x_8264_ = lean_box(0);
v_isShared_8265_ = v_isSharedCheck_8270_;
goto v_resetjp_8263_;
}
v_resetjp_8263_:
{
lean_object* v___x_8266_; lean_object* v___x_8268_; 
v___x_8266_ = l_Lean_Expr_app___override(v_a_8260_, v_a_8262_);
if (v_isShared_8265_ == 0)
{
lean_ctor_set(v___x_8264_, 0, v___x_8266_);
v___x_8268_ = v___x_8264_;
goto v_reusejp_8267_;
}
else
{
lean_object* v_reuseFailAlloc_8269_; 
v_reuseFailAlloc_8269_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8269_, 0, v___x_8266_);
v___x_8268_ = v_reuseFailAlloc_8269_;
goto v_reusejp_8267_;
}
v_reusejp_8267_:
{
return v___x_8268_;
}
}
}
else
{
lean_dec(v_a_8260_);
return v___x_8261_;
}
}
else
{
lean_dec_ref(v_c_8257_);
lean_dec(v_a_8255_);
lean_dec_ref(v_a_8254_);
lean_dec(v_a_8253_);
lean_dec_ref(v_a_8252_);
lean_dec(v_a_8251_);
lean_dec_ref(v_a_8250_);
lean_dec(v_a_8249_);
lean_dec_ref(v_a_8248_);
lean_dec(v_a_8247_);
lean_dec(v_a_8246_);
lean_dec(v_a_8245_);
lean_dec(v_a_8244_);
lean_dec_ref(v_a_8243_);
return v___x_8259_;
}
}
else
{
lean_object* v_c_8271_; lean_object* v___x_8272_; lean_object* v___x_8273_; 
v_c_8271_ = lean_ctor_get(v_h_8242_, 0);
lean_inc_ref(v_c_8271_);
lean_dec_ref(v_h_8242_);
v___x_8272_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___closed__3));
lean_inc_ref(v_a_8243_);
v___x_8273_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModPreThmPrefix___redArg(v___x_8272_, v_a_8243_, v_a_8245_, v_a_8246_, v_a_8247_, v_a_8248_, v_a_8249_, v_a_8250_, v_a_8251_, v_a_8252_, v_a_8253_, v_a_8254_, v_a_8255_);
if (lean_obj_tag(v___x_8273_) == 0)
{
lean_object* v_a_8274_; lean_object* v___x_8275_; 
v_a_8274_ = lean_ctor_get(v___x_8273_, 0);
lean_inc(v_a_8274_);
lean_dec_ref(v___x_8273_);
v___x_8275_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof(v_c_8271_, v_a_8243_, v_a_8244_, v_a_8245_, v_a_8246_, v_a_8247_, v_a_8248_, v_a_8249_, v_a_8250_, v_a_8251_, v_a_8252_, v_a_8253_, v_a_8254_, v_a_8255_);
if (lean_obj_tag(v___x_8275_) == 0)
{
lean_object* v_a_8276_; lean_object* v___x_8278_; uint8_t v_isShared_8279_; uint8_t v_isSharedCheck_8284_; 
v_a_8276_ = lean_ctor_get(v___x_8275_, 0);
v_isSharedCheck_8284_ = !lean_is_exclusive(v___x_8275_);
if (v_isSharedCheck_8284_ == 0)
{
v___x_8278_ = v___x_8275_;
v_isShared_8279_ = v_isSharedCheck_8284_;
goto v_resetjp_8277_;
}
else
{
lean_inc(v_a_8276_);
lean_dec(v___x_8275_);
v___x_8278_ = lean_box(0);
v_isShared_8279_ = v_isSharedCheck_8284_;
goto v_resetjp_8277_;
}
v_resetjp_8277_:
{
lean_object* v___x_8280_; lean_object* v___x_8282_; 
v___x_8280_ = l_Lean_Expr_app___override(v_a_8274_, v_a_8276_);
if (v_isShared_8279_ == 0)
{
lean_ctor_set(v___x_8278_, 0, v___x_8280_);
v___x_8282_ = v___x_8278_;
goto v_reusejp_8281_;
}
else
{
lean_object* v_reuseFailAlloc_8283_; 
v_reuseFailAlloc_8283_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8283_, 0, v___x_8280_);
v___x_8282_ = v_reuseFailAlloc_8283_;
goto v_reusejp_8281_;
}
v_reusejp_8281_:
{
return v___x_8282_;
}
}
}
else
{
lean_dec(v_a_8274_);
return v___x_8275_;
}
}
else
{
lean_dec_ref(v_c_8271_);
lean_dec(v_a_8255_);
lean_dec_ref(v_a_8254_);
lean_dec(v_a_8253_);
lean_dec_ref(v_a_8252_);
lean_dec(v_a_8251_);
lean_dec_ref(v_a_8250_);
lean_dec(v_a_8249_);
lean_dec_ref(v_a_8248_);
lean_dec(v_a_8247_);
lean_dec(v_a_8246_);
lean_dec(v_a_8245_);
lean_dec(v_a_8244_);
lean_dec_ref(v_a_8243_);
return v___x_8273_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___boxed(lean_object* v_h_8285_, lean_object* v_a_8286_, lean_object* v_a_8287_, lean_object* v_a_8288_, lean_object* v_a_8289_, lean_object* v_a_8290_, lean_object* v_a_8291_, lean_object* v_a_8292_, lean_object* v_a_8293_, lean_object* v_a_8294_, lean_object* v_a_8295_, lean_object* v_a_8296_, lean_object* v_a_8297_, lean_object* v_a_8298_, lean_object* v_a_8299_){
_start:
{
lean_object* v_res_8300_; 
v_res_8300_ = l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore(v_h_8285_, v_a_8286_, v_a_8287_, v_a_8288_, v_a_8289_, v_a_8290_, v_a_8291_, v_a_8292_, v_a_8293_, v_a_8294_, v_a_8295_, v_a_8296_, v_a_8297_, v_a_8298_);
return v_res_8300_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof___boxed(lean_object* v_c_x27_8301_, lean_object* v_a_8302_, lean_object* v_a_8303_, lean_object* v_a_8304_, lean_object* v_a_8305_, lean_object* v_a_8306_, lean_object* v_a_8307_, lean_object* v_a_8308_, lean_object* v_a_8309_, lean_object* v_a_8310_, lean_object* v_a_8311_, lean_object* v_a_8312_, lean_object* v_a_8313_, lean_object* v_a_8314_, lean_object* v_a_8315_){
_start:
{
lean_object* v_res_8316_; 
v_res_8316_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof(v_c_x27_8301_, v_a_8302_, v_a_8303_, v_a_8304_, v_a_8305_, v_a_8306_, v_a_8307_, v_a_8308_, v_a_8309_, v_a_8310_, v_a_8311_, v_a_8312_, v_a_8313_, v_a_8314_);
return v_res_8316_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0(lean_object* v___y_8317_, lean_object* v___y_8318_, lean_object* v___y_8319_, lean_object* v___y_8320_, lean_object* v___y_8321_, lean_object* v___y_8322_, lean_object* v___y_8323_, lean_object* v___y_8324_, lean_object* v___y_8325_, lean_object* v___y_8326_, lean_object* v___y_8327_, lean_object* v___y_8328_, lean_object* v___y_8329_){
_start:
{
lean_object* v___x_8331_; 
v___x_8331_ = l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___redArg(v___y_8319_, v___y_8320_, v___y_8321_, v___y_8322_, v___y_8323_, v___y_8324_, v___y_8325_, v___y_8326_, v___y_8327_, v___y_8328_, v___y_8329_);
return v___x_8331_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0___boxed(lean_object* v___y_8332_, lean_object* v___y_8333_, lean_object* v___y_8334_, lean_object* v___y_8335_, lean_object* v___y_8336_, lean_object* v___y_8337_, lean_object* v___y_8338_, lean_object* v___y_8339_, lean_object* v___y_8340_, lean_object* v___y_8341_, lean_object* v___y_8342_, lean_object* v___y_8343_, lean_object* v___y_8344_, lean_object* v___y_8345_){
_start:
{
lean_object* v_res_8346_; 
v_res_8346_ = l_Lean_Meta_Grind_Arith_Linear_getLtFn___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__0(v___y_8332_, v___y_8333_, v___y_8334_, v___y_8335_, v___y_8336_, v___y_8337_, v___y_8338_, v___y_8339_, v___y_8340_, v___y_8341_, v___y_8342_, v___y_8343_, v___y_8344_);
lean_dec(v___y_8344_);
lean_dec_ref(v___y_8343_);
lean_dec(v___y_8342_);
lean_dec_ref(v___y_8341_);
lean_dec(v___y_8340_);
lean_dec_ref(v___y_8339_);
lean_dec(v___y_8338_);
lean_dec_ref(v___y_8337_);
lean_dec(v___y_8336_);
lean_dec(v___y_8335_);
lean_dec(v___y_8334_);
lean_dec(v___y_8333_);
lean_dec_ref(v___y_8332_);
return v_res_8346_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2(lean_object* v_k_8347_, lean_object* v_x_8348_, lean_object* v___y_8349_, lean_object* v___y_8350_, lean_object* v___y_8351_, lean_object* v___y_8352_, lean_object* v___y_8353_, lean_object* v___y_8354_, lean_object* v___y_8355_, lean_object* v___y_8356_, lean_object* v___y_8357_, lean_object* v___y_8358_, lean_object* v___y_8359_, lean_object* v___y_8360_, lean_object* v___y_8361_){
_start:
{
lean_object* v___x_8363_; 
v___x_8363_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg(v_k_8347_, v_x_8348_, v___y_8351_, v___y_8352_, v___y_8353_, v___y_8354_, v___y_8355_, v___y_8356_, v___y_8357_, v___y_8358_, v___y_8359_, v___y_8360_, v___y_8361_);
return v___x_8363_;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___boxed(lean_object* v_k_8364_, lean_object* v_x_8365_, lean_object* v___y_8366_, lean_object* v___y_8367_, lean_object* v___y_8368_, lean_object* v___y_8369_, lean_object* v___y_8370_, lean_object* v___y_8371_, lean_object* v___y_8372_, lean_object* v___y_8373_, lean_object* v___y_8374_, lean_object* v___y_8375_, lean_object* v___y_8376_, lean_object* v___y_8377_, lean_object* v___y_8378_, lean_object* v___y_8379_){
_start:
{
lean_object* v_res_8380_; 
v_res_8380_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2(v_k_8364_, v_x_8365_, v___y_8366_, v___y_8367_, v___y_8368_, v___y_8369_, v___y_8370_, v___y_8371_, v___y_8372_, v___y_8373_, v___y_8374_, v___y_8375_, v___y_8376_, v___y_8377_, v___y_8378_);
lean_dec(v___y_8378_);
lean_dec_ref(v___y_8377_);
lean_dec(v___y_8376_);
lean_dec_ref(v___y_8375_);
lean_dec(v___y_8374_);
lean_dec_ref(v___y_8373_);
lean_dec(v___y_8372_);
lean_dec_ref(v___y_8371_);
lean_dec(v___y_8370_);
lean_dec(v___y_8369_);
lean_dec(v___y_8368_);
lean_dec(v___y_8367_);
lean_dec_ref(v___y_8366_);
lean_dec(v_x_8365_);
lean_dec(v_k_8364_);
return v_res_8380_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0_spec__0___redArg(lean_object* v___y_8381_){
_start:
{
lean_object* v___x_8383_; lean_object* v_ngen_8384_; lean_object* v_namePrefix_8385_; lean_object* v_idx_8386_; lean_object* v___x_8388_; uint8_t v_isShared_8389_; uint8_t v_isSharedCheck_8415_; 
v___x_8383_ = lean_st_ref_get(v___y_8381_);
v_ngen_8384_ = lean_ctor_get(v___x_8383_, 2);
lean_inc_ref(v_ngen_8384_);
lean_dec(v___x_8383_);
v_namePrefix_8385_ = lean_ctor_get(v_ngen_8384_, 0);
v_idx_8386_ = lean_ctor_get(v_ngen_8384_, 1);
v_isSharedCheck_8415_ = !lean_is_exclusive(v_ngen_8384_);
if (v_isSharedCheck_8415_ == 0)
{
v___x_8388_ = v_ngen_8384_;
v_isShared_8389_ = v_isSharedCheck_8415_;
goto v_resetjp_8387_;
}
else
{
lean_inc(v_idx_8386_);
lean_inc(v_namePrefix_8385_);
lean_dec(v_ngen_8384_);
v___x_8388_ = lean_box(0);
v_isShared_8389_ = v_isSharedCheck_8415_;
goto v_resetjp_8387_;
}
v_resetjp_8387_:
{
lean_object* v___x_8390_; lean_object* v_env_8391_; lean_object* v_nextMacroScope_8392_; lean_object* v_auxDeclNGen_8393_; lean_object* v_traceState_8394_; lean_object* v_cache_8395_; lean_object* v_messages_8396_; lean_object* v_infoState_8397_; lean_object* v_snapshotTasks_8398_; lean_object* v___x_8400_; uint8_t v_isShared_8401_; uint8_t v_isSharedCheck_8413_; 
v___x_8390_ = lean_st_ref_take(v___y_8381_);
v_env_8391_ = lean_ctor_get(v___x_8390_, 0);
v_nextMacroScope_8392_ = lean_ctor_get(v___x_8390_, 1);
v_auxDeclNGen_8393_ = lean_ctor_get(v___x_8390_, 3);
v_traceState_8394_ = lean_ctor_get(v___x_8390_, 4);
v_cache_8395_ = lean_ctor_get(v___x_8390_, 5);
v_messages_8396_ = lean_ctor_get(v___x_8390_, 6);
v_infoState_8397_ = lean_ctor_get(v___x_8390_, 7);
v_snapshotTasks_8398_ = lean_ctor_get(v___x_8390_, 8);
v_isSharedCheck_8413_ = !lean_is_exclusive(v___x_8390_);
if (v_isSharedCheck_8413_ == 0)
{
lean_object* v_unused_8414_; 
v_unused_8414_ = lean_ctor_get(v___x_8390_, 2);
lean_dec(v_unused_8414_);
v___x_8400_ = v___x_8390_;
v_isShared_8401_ = v_isSharedCheck_8413_;
goto v_resetjp_8399_;
}
else
{
lean_inc(v_snapshotTasks_8398_);
lean_inc(v_infoState_8397_);
lean_inc(v_messages_8396_);
lean_inc(v_cache_8395_);
lean_inc(v_traceState_8394_);
lean_inc(v_auxDeclNGen_8393_);
lean_inc(v_nextMacroScope_8392_);
lean_inc(v_env_8391_);
lean_dec(v___x_8390_);
v___x_8400_ = lean_box(0);
v_isShared_8401_ = v_isSharedCheck_8413_;
goto v_resetjp_8399_;
}
v_resetjp_8399_:
{
lean_object* v_r_8402_; lean_object* v___x_8403_; lean_object* v___x_8404_; lean_object* v___x_8406_; 
lean_inc(v_idx_8386_);
lean_inc(v_namePrefix_8385_);
v_r_8402_ = l_Lean_Name_num___override(v_namePrefix_8385_, v_idx_8386_);
v___x_8403_ = lean_unsigned_to_nat(1u);
v___x_8404_ = lean_nat_add(v_idx_8386_, v___x_8403_);
lean_dec(v_idx_8386_);
if (v_isShared_8389_ == 0)
{
lean_ctor_set(v___x_8388_, 1, v___x_8404_);
v___x_8406_ = v___x_8388_;
goto v_reusejp_8405_;
}
else
{
lean_object* v_reuseFailAlloc_8412_; 
v_reuseFailAlloc_8412_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_8412_, 0, v_namePrefix_8385_);
lean_ctor_set(v_reuseFailAlloc_8412_, 1, v___x_8404_);
v___x_8406_ = v_reuseFailAlloc_8412_;
goto v_reusejp_8405_;
}
v_reusejp_8405_:
{
lean_object* v___x_8408_; 
if (v_isShared_8401_ == 0)
{
lean_ctor_set(v___x_8400_, 2, v___x_8406_);
v___x_8408_ = v___x_8400_;
goto v_reusejp_8407_;
}
else
{
lean_object* v_reuseFailAlloc_8411_; 
v_reuseFailAlloc_8411_ = lean_alloc_ctor(0, 9, 0);
lean_ctor_set(v_reuseFailAlloc_8411_, 0, v_env_8391_);
lean_ctor_set(v_reuseFailAlloc_8411_, 1, v_nextMacroScope_8392_);
lean_ctor_set(v_reuseFailAlloc_8411_, 2, v___x_8406_);
lean_ctor_set(v_reuseFailAlloc_8411_, 3, v_auxDeclNGen_8393_);
lean_ctor_set(v_reuseFailAlloc_8411_, 4, v_traceState_8394_);
lean_ctor_set(v_reuseFailAlloc_8411_, 5, v_cache_8395_);
lean_ctor_set(v_reuseFailAlloc_8411_, 6, v_messages_8396_);
lean_ctor_set(v_reuseFailAlloc_8411_, 7, v_infoState_8397_);
lean_ctor_set(v_reuseFailAlloc_8411_, 8, v_snapshotTasks_8398_);
v___x_8408_ = v_reuseFailAlloc_8411_;
goto v_reusejp_8407_;
}
v_reusejp_8407_:
{
lean_object* v___x_8409_; lean_object* v___x_8410_; 
v___x_8409_ = lean_st_ref_set(v___y_8381_, v___x_8408_);
v___x_8410_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v___x_8410_, 0, v_r_8402_);
return v___x_8410_;
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0_spec__0___redArg___boxed(lean_object* v___y_8416_, lean_object* v___y_8417_){
_start:
{
lean_object* v_res_8418_; 
v_res_8418_ = l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0_spec__0___redArg(v___y_8416_);
lean_dec(v___y_8416_);
return v_res_8418_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0(lean_object* v___y_8419_, lean_object* v___y_8420_, lean_object* v___y_8421_, lean_object* v___y_8422_, lean_object* v___y_8423_, lean_object* v___y_8424_, lean_object* v___y_8425_, lean_object* v___y_8426_, lean_object* v___y_8427_, lean_object* v___y_8428_, lean_object* v___y_8429_){
_start:
{
lean_object* v___x_8431_; lean_object* v_a_8432_; lean_object* v___x_8434_; uint8_t v_isShared_8435_; uint8_t v_isSharedCheck_8439_; 
v___x_8431_ = l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0_spec__0___redArg(v___y_8429_);
v_a_8432_ = lean_ctor_get(v___x_8431_, 0);
v_isSharedCheck_8439_ = !lean_is_exclusive(v___x_8431_);
if (v_isSharedCheck_8439_ == 0)
{
v___x_8434_ = v___x_8431_;
v_isShared_8435_ = v_isSharedCheck_8439_;
goto v_resetjp_8433_;
}
else
{
lean_inc(v_a_8432_);
lean_dec(v___x_8431_);
v___x_8434_ = lean_box(0);
v_isShared_8435_ = v_isSharedCheck_8439_;
goto v_resetjp_8433_;
}
v_resetjp_8433_:
{
lean_object* v___x_8437_; 
if (v_isShared_8435_ == 0)
{
v___x_8437_ = v___x_8434_;
goto v_reusejp_8436_;
}
else
{
lean_object* v_reuseFailAlloc_8438_; 
v_reuseFailAlloc_8438_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8438_, 0, v_a_8432_);
v___x_8437_ = v_reuseFailAlloc_8438_;
goto v_reusejp_8436_;
}
v_reusejp_8436_:
{
return v___x_8437_;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0___boxed(lean_object* v___y_8440_, lean_object* v___y_8441_, lean_object* v___y_8442_, lean_object* v___y_8443_, lean_object* v___y_8444_, lean_object* v___y_8445_, lean_object* v___y_8446_, lean_object* v___y_8447_, lean_object* v___y_8448_, lean_object* v___y_8449_, lean_object* v___y_8450_, lean_object* v___y_8451_){
_start:
{
lean_object* v_res_8452_; 
v_res_8452_ = l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0(v___y_8440_, v___y_8441_, v___y_8442_, v___y_8443_, v___y_8444_, v___y_8445_, v___y_8446_, v___y_8447_, v___y_8448_, v___y_8449_, v___y_8450_);
lean_dec(v___y_8450_);
lean_dec_ref(v___y_8449_);
lean_dec(v___y_8448_);
lean_dec_ref(v___y_8447_);
lean_dec(v___y_8446_);
lean_dec_ref(v___y_8445_);
lean_dec(v___y_8444_);
lean_dec_ref(v___y_8443_);
lean_dec(v___y_8442_);
lean_dec(v___y_8441_);
lean_dec(v___y_8440_);
return v_res_8452_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof(lean_object* v_h_8453_, lean_object* v_a_8454_, lean_object* v_a_8455_, lean_object* v_a_8456_, lean_object* v_a_8457_, lean_object* v_a_8458_, lean_object* v_a_8459_, lean_object* v_a_8460_, lean_object* v_a_8461_, lean_object* v_a_8462_, lean_object* v_a_8463_, lean_object* v_a_8464_){
_start:
{
lean_object* v___x_8466_; 
v___x_8466_ = l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0(v_a_8454_, v_a_8455_, v_a_8456_, v_a_8457_, v_a_8458_, v_a_8459_, v_a_8460_, v_a_8461_, v_a_8462_, v_a_8463_, v_a_8464_);
if (lean_obj_tag(v___x_8466_) == 0)
{
lean_object* v_a_8467_; lean_object* v___x_8468_; 
v_a_8467_ = lean_ctor_get(v___x_8466_, 0);
lean_inc(v_a_8467_);
lean_dec_ref(v___x_8466_);
v___x_8468_ = l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0(v_a_8454_, v_a_8455_, v_a_8456_, v_a_8457_, v_a_8458_, v_a_8459_, v_a_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___x_8471_; lean_object* v___x_8472_; lean_object* v___x_8473_; lean_object* v___x_8474_; lean_object* v___x_8475_; lean_object* v___x_8476_; 
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_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__19, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__19_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__19);
v___x_8471_ = lean_st_mk_ref(v___x_8470_);
v___x_8472_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProofCore___boxed), 15, 1);
lean_closure_set(v___x_8472_, 0, v_h_8453_);
v___x_8473_ = l_Lean_mkFVar(v_a_8467_);
v___x_8474_ = l_Lean_mkFVar(v_a_8469_);
v___x_8475_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_8475_, 0, v___x_8473_);
lean_ctor_set(v___x_8475_, 1, v___x_8474_);
lean_inc(v___x_8471_);
v___x_8476_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext_go(v___x_8472_, v___x_8475_, v___x_8471_, v_a_8454_, v_a_8455_, v_a_8456_, v_a_8457_, v_a_8458_, v_a_8459_, v_a_8460_, v_a_8461_, v_a_8462_, v_a_8463_, v_a_8464_);
if (lean_obj_tag(v___x_8476_) == 0)
{
lean_object* v_a_8477_; lean_object* v___x_8479_; uint8_t v_isShared_8480_; uint8_t v_isSharedCheck_8485_; 
v_a_8477_ = lean_ctor_get(v___x_8476_, 0);
v_isSharedCheck_8485_ = !lean_is_exclusive(v___x_8476_);
if (v_isSharedCheck_8485_ == 0)
{
v___x_8479_ = v___x_8476_;
v_isShared_8480_ = v_isSharedCheck_8485_;
goto v_resetjp_8478_;
}
else
{
lean_inc(v_a_8477_);
lean_dec(v___x_8476_);
v___x_8479_ = lean_box(0);
v_isShared_8480_ = v_isSharedCheck_8485_;
goto v_resetjp_8478_;
}
v_resetjp_8478_:
{
lean_object* v___x_8481_; lean_object* v___x_8483_; 
v___x_8481_ = lean_st_ref_get(v___x_8471_);
lean_dec(v___x_8471_);
lean_dec(v___x_8481_);
if (v_isShared_8480_ == 0)
{
v___x_8483_ = v___x_8479_;
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_8477_);
v___x_8483_ = v_reuseFailAlloc_8484_;
goto v_reusejp_8482_;
}
v_reusejp_8482_:
{
return v___x_8483_;
}
}
}
else
{
lean_dec(v___x_8471_);
return v___x_8476_;
}
}
else
{
lean_object* v_a_8486_; lean_object* v___x_8488_; uint8_t v_isShared_8489_; uint8_t v_isSharedCheck_8493_; 
lean_dec(v_a_8467_);
lean_dec(v_a_8464_);
lean_dec_ref(v_a_8463_);
lean_dec(v_a_8462_);
lean_dec_ref(v_a_8461_);
lean_dec(v_a_8460_);
lean_dec_ref(v_a_8459_);
lean_dec(v_a_8458_);
lean_dec_ref(v_a_8457_);
lean_dec(v_a_8456_);
lean_dec(v_a_8455_);
lean_dec(v_a_8454_);
lean_dec_ref(v_h_8453_);
v_a_8486_ = lean_ctor_get(v___x_8468_, 0);
v_isSharedCheck_8493_ = !lean_is_exclusive(v___x_8468_);
if (v_isSharedCheck_8493_ == 0)
{
v___x_8488_ = v___x_8468_;
v_isShared_8489_ = v_isSharedCheck_8493_;
goto v_resetjp_8487_;
}
else
{
lean_inc(v_a_8486_);
lean_dec(v___x_8468_);
v___x_8488_ = lean_box(0);
v_isShared_8489_ = v_isSharedCheck_8493_;
goto v_resetjp_8487_;
}
v_resetjp_8487_:
{
lean_object* v___x_8491_; 
if (v_isShared_8489_ == 0)
{
v___x_8491_ = v___x_8488_;
goto v_reusejp_8490_;
}
else
{
lean_object* v_reuseFailAlloc_8492_; 
v_reuseFailAlloc_8492_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8492_, 0, v_a_8486_);
v___x_8491_ = v_reuseFailAlloc_8492_;
goto v_reusejp_8490_;
}
v_reusejp_8490_:
{
return v___x_8491_;
}
}
}
}
else
{
lean_object* v_a_8494_; lean_object* v___x_8496_; uint8_t v_isShared_8497_; uint8_t v_isSharedCheck_8501_; 
lean_dec(v_a_8464_);
lean_dec_ref(v_a_8463_);
lean_dec(v_a_8462_);
lean_dec_ref(v_a_8461_);
lean_dec(v_a_8460_);
lean_dec_ref(v_a_8459_);
lean_dec(v_a_8458_);
lean_dec_ref(v_a_8457_);
lean_dec(v_a_8456_);
lean_dec(v_a_8455_);
lean_dec(v_a_8454_);
lean_dec_ref(v_h_8453_);
v_a_8494_ = lean_ctor_get(v___x_8466_, 0);
v_isSharedCheck_8501_ = !lean_is_exclusive(v___x_8466_);
if (v_isSharedCheck_8501_ == 0)
{
v___x_8496_ = v___x_8466_;
v_isShared_8497_ = v_isSharedCheck_8501_;
goto v_resetjp_8495_;
}
else
{
lean_inc(v_a_8494_);
lean_dec(v___x_8466_);
v___x_8496_ = lean_box(0);
v_isShared_8497_ = v_isSharedCheck_8501_;
goto v_resetjp_8495_;
}
v_resetjp_8495_:
{
lean_object* v___x_8499_; 
if (v_isShared_8497_ == 0)
{
v___x_8499_ = v___x_8496_;
goto v_reusejp_8498_;
}
else
{
lean_object* v_reuseFailAlloc_8500_; 
v_reuseFailAlloc_8500_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8500_, 0, v_a_8494_);
v___x_8499_ = v_reuseFailAlloc_8500_;
goto v_reusejp_8498_;
}
v_reusejp_8498_:
{
return v___x_8499_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof___boxed(lean_object* v_h_8502_, lean_object* v_a_8503_, lean_object* v_a_8504_, lean_object* v_a_8505_, lean_object* v_a_8506_, lean_object* v_a_8507_, lean_object* v_a_8508_, lean_object* v_a_8509_, lean_object* v_a_8510_, lean_object* v_a_8511_, lean_object* v_a_8512_, lean_object* v_a_8513_, lean_object* v_a_8514_){
_start:
{
lean_object* v_res_8515_; 
v_res_8515_ = l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof(v_h_8502_, v_a_8503_, v_a_8504_, v_a_8505_, v_a_8506_, v_a_8507_, v_a_8508_, v_a_8509_, v_a_8510_, v_a_8511_, v_a_8512_, v_a_8513_);
return v_res_8515_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0_spec__0(lean_object* v___y_8516_, lean_object* v___y_8517_, lean_object* v___y_8518_, lean_object* v___y_8519_, lean_object* v___y_8520_, lean_object* v___y_8521_, lean_object* v___y_8522_, lean_object* v___y_8523_, lean_object* v___y_8524_, lean_object* v___y_8525_, lean_object* v___y_8526_){
_start:
{
lean_object* v___x_8528_; 
v___x_8528_ = l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0_spec__0___redArg(v___y_8526_);
return v___x_8528_;
}
}
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0_spec__0___boxed(lean_object* v___y_8529_, lean_object* v___y_8530_, lean_object* v___y_8531_, lean_object* v___y_8532_, lean_object* v___y_8533_, lean_object* v___y_8534_, lean_object* v___y_8535_, lean_object* v___y_8536_, lean_object* v___y_8537_, lean_object* v___y_8538_, lean_object* v___y_8539_, lean_object* v___y_8540_){
_start:
{
lean_object* v_res_8541_; 
v_res_8541_ = l_Lean_mkFreshId___at___00Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0_spec__0(v___y_8529_, v___y_8530_, v___y_8531_, v___y_8532_, v___y_8533_, v___y_8534_, v___y_8535_, v___y_8536_, v___y_8537_, v___y_8538_, v___y_8539_);
lean_dec(v___y_8539_);
lean_dec_ref(v___y_8538_);
lean_dec(v___y_8537_);
lean_dec_ref(v___y_8536_);
lean_dec(v___y_8535_);
lean_dec_ref(v___y_8534_);
lean_dec(v___y_8533_);
lean_dec_ref(v___y_8532_);
lean_dec(v___y_8531_);
lean_dec(v___y_8530_);
lean_dec(v___y_8529_);
return v_res_8541_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_setInconsistent___lam__0(lean_object* v_a_8542_, lean_object* v_h_8543_, lean_object* v_s_8544_){
_start:
{
lean_object* v_structs_8545_; lean_object* v_typeIdOf_8546_; lean_object* v_exprToStructId_8547_; lean_object* v_exprToStructIdEntries_8548_; lean_object* v_forbiddenNatModules_8549_; lean_object* v_natStructs_8550_; lean_object* v_natTypeIdOf_8551_; lean_object* v_exprToNatStructId_8552_; lean_object* v___x_8553_; uint8_t v___x_8554_; 
v_structs_8545_ = lean_ctor_get(v_s_8544_, 0);
v_typeIdOf_8546_ = lean_ctor_get(v_s_8544_, 1);
v_exprToStructId_8547_ = lean_ctor_get(v_s_8544_, 2);
v_exprToStructIdEntries_8548_ = lean_ctor_get(v_s_8544_, 3);
v_forbiddenNatModules_8549_ = lean_ctor_get(v_s_8544_, 4);
v_natStructs_8550_ = lean_ctor_get(v_s_8544_, 5);
v_natTypeIdOf_8551_ = lean_ctor_get(v_s_8544_, 6);
v_exprToNatStructId_8552_ = lean_ctor_get(v_s_8544_, 7);
v___x_8553_ = lean_array_get_size(v_structs_8545_);
v___x_8554_ = lean_nat_dec_lt(v_a_8542_, v___x_8553_);
if (v___x_8554_ == 0)
{
lean_dec_ref(v_h_8543_);
return v_s_8544_;
}
else
{
lean_object* v___x_8556_; uint8_t v_isShared_8557_; uint8_t v_isSharedCheck_8616_; 
lean_inc_ref(v_exprToNatStructId_8552_);
lean_inc_ref(v_natTypeIdOf_8551_);
lean_inc_ref(v_natStructs_8550_);
lean_inc_ref(v_forbiddenNatModules_8549_);
lean_inc_ref(v_exprToStructIdEntries_8548_);
lean_inc_ref(v_exprToStructId_8547_);
lean_inc_ref(v_typeIdOf_8546_);
lean_inc_ref(v_structs_8545_);
v_isSharedCheck_8616_ = !lean_is_exclusive(v_s_8544_);
if (v_isSharedCheck_8616_ == 0)
{
lean_object* v_unused_8617_; lean_object* v_unused_8618_; lean_object* v_unused_8619_; lean_object* v_unused_8620_; lean_object* v_unused_8621_; lean_object* v_unused_8622_; lean_object* v_unused_8623_; lean_object* v_unused_8624_; 
v_unused_8617_ = lean_ctor_get(v_s_8544_, 7);
lean_dec(v_unused_8617_);
v_unused_8618_ = lean_ctor_get(v_s_8544_, 6);
lean_dec(v_unused_8618_);
v_unused_8619_ = lean_ctor_get(v_s_8544_, 5);
lean_dec(v_unused_8619_);
v_unused_8620_ = lean_ctor_get(v_s_8544_, 4);
lean_dec(v_unused_8620_);
v_unused_8621_ = lean_ctor_get(v_s_8544_, 3);
lean_dec(v_unused_8621_);
v_unused_8622_ = lean_ctor_get(v_s_8544_, 2);
lean_dec(v_unused_8622_);
v_unused_8623_ = lean_ctor_get(v_s_8544_, 1);
lean_dec(v_unused_8623_);
v_unused_8624_ = lean_ctor_get(v_s_8544_, 0);
lean_dec(v_unused_8624_);
v___x_8556_ = v_s_8544_;
v_isShared_8557_ = v_isSharedCheck_8616_;
goto v_resetjp_8555_;
}
else
{
lean_dec(v_s_8544_);
v___x_8556_ = lean_box(0);
v_isShared_8557_ = v_isSharedCheck_8616_;
goto v_resetjp_8555_;
}
v_resetjp_8555_:
{
lean_object* v_v_8558_; lean_object* v_id_8559_; lean_object* v_ringId_x3f_8560_; lean_object* v_type_8561_; lean_object* v_u_8562_; lean_object* v_intModuleInst_8563_; lean_object* v_leInst_x3f_8564_; lean_object* v_ltInst_x3f_8565_; lean_object* v_lawfulOrderLTInst_x3f_8566_; lean_object* v_isPreorderInst_x3f_8567_; lean_object* v_orderedAddInst_x3f_8568_; lean_object* v_isLinearInst_x3f_8569_; lean_object* v_noNatDivInst_x3f_8570_; lean_object* v_ringInst_x3f_8571_; lean_object* v_commRingInst_x3f_8572_; lean_object* v_orderedRingInst_x3f_8573_; lean_object* v_fieldInst_x3f_8574_; lean_object* v_charInst_x3f_8575_; lean_object* v_zero_8576_; lean_object* v_ofNatZero_8577_; lean_object* v_one_x3f_8578_; lean_object* v_leFn_x3f_8579_; lean_object* v_ltFn_x3f_8580_; lean_object* v_addFn_8581_; lean_object* v_zsmulFn_8582_; lean_object* v_nsmulFn_8583_; lean_object* v_zsmulFn_x3f_8584_; lean_object* v_nsmulFn_x3f_8585_; lean_object* v_homomulFn_x3f_8586_; lean_object* v_subFn_8587_; lean_object* v_negFn_8588_; lean_object* v_vars_8589_; lean_object* v_varMap_8590_; lean_object* v_lowers_8591_; lean_object* v_uppers_8592_; lean_object* v_diseqs_8593_; lean_object* v_assignment_8594_; uint8_t v_caseSplits_8595_; lean_object* v_diseqSplits_8596_; lean_object* v_elimEqs_8597_; lean_object* v_elimStack_8598_; lean_object* v_occurs_8599_; lean_object* v_ignored_8600_; lean_object* v___x_8602_; uint8_t v_isShared_8603_; uint8_t v_isSharedCheck_8614_; 
v_v_8558_ = lean_array_fget(v_structs_8545_, v_a_8542_);
v_id_8559_ = lean_ctor_get(v_v_8558_, 0);
v_ringId_x3f_8560_ = lean_ctor_get(v_v_8558_, 1);
v_type_8561_ = lean_ctor_get(v_v_8558_, 2);
v_u_8562_ = lean_ctor_get(v_v_8558_, 3);
v_intModuleInst_8563_ = lean_ctor_get(v_v_8558_, 4);
v_leInst_x3f_8564_ = lean_ctor_get(v_v_8558_, 5);
v_ltInst_x3f_8565_ = lean_ctor_get(v_v_8558_, 6);
v_lawfulOrderLTInst_x3f_8566_ = lean_ctor_get(v_v_8558_, 7);
v_isPreorderInst_x3f_8567_ = lean_ctor_get(v_v_8558_, 8);
v_orderedAddInst_x3f_8568_ = lean_ctor_get(v_v_8558_, 9);
v_isLinearInst_x3f_8569_ = lean_ctor_get(v_v_8558_, 10);
v_noNatDivInst_x3f_8570_ = lean_ctor_get(v_v_8558_, 11);
v_ringInst_x3f_8571_ = lean_ctor_get(v_v_8558_, 12);
v_commRingInst_x3f_8572_ = lean_ctor_get(v_v_8558_, 13);
v_orderedRingInst_x3f_8573_ = lean_ctor_get(v_v_8558_, 14);
v_fieldInst_x3f_8574_ = lean_ctor_get(v_v_8558_, 15);
v_charInst_x3f_8575_ = lean_ctor_get(v_v_8558_, 16);
v_zero_8576_ = lean_ctor_get(v_v_8558_, 17);
v_ofNatZero_8577_ = lean_ctor_get(v_v_8558_, 18);
v_one_x3f_8578_ = lean_ctor_get(v_v_8558_, 19);
v_leFn_x3f_8579_ = lean_ctor_get(v_v_8558_, 20);
v_ltFn_x3f_8580_ = lean_ctor_get(v_v_8558_, 21);
v_addFn_8581_ = lean_ctor_get(v_v_8558_, 22);
v_zsmulFn_8582_ = lean_ctor_get(v_v_8558_, 23);
v_nsmulFn_8583_ = lean_ctor_get(v_v_8558_, 24);
v_zsmulFn_x3f_8584_ = lean_ctor_get(v_v_8558_, 25);
v_nsmulFn_x3f_8585_ = lean_ctor_get(v_v_8558_, 26);
v_homomulFn_x3f_8586_ = lean_ctor_get(v_v_8558_, 27);
v_subFn_8587_ = lean_ctor_get(v_v_8558_, 28);
v_negFn_8588_ = lean_ctor_get(v_v_8558_, 29);
v_vars_8589_ = lean_ctor_get(v_v_8558_, 30);
v_varMap_8590_ = lean_ctor_get(v_v_8558_, 31);
v_lowers_8591_ = lean_ctor_get(v_v_8558_, 32);
v_uppers_8592_ = lean_ctor_get(v_v_8558_, 33);
v_diseqs_8593_ = lean_ctor_get(v_v_8558_, 34);
v_assignment_8594_ = lean_ctor_get(v_v_8558_, 35);
v_caseSplits_8595_ = lean_ctor_get_uint8(v_v_8558_, sizeof(void*)*42);
v_diseqSplits_8596_ = lean_ctor_get(v_v_8558_, 37);
v_elimEqs_8597_ = lean_ctor_get(v_v_8558_, 38);
v_elimStack_8598_ = lean_ctor_get(v_v_8558_, 39);
v_occurs_8599_ = lean_ctor_get(v_v_8558_, 40);
v_ignored_8600_ = lean_ctor_get(v_v_8558_, 41);
v_isSharedCheck_8614_ = !lean_is_exclusive(v_v_8558_);
if (v_isSharedCheck_8614_ == 0)
{
lean_object* v_unused_8615_; 
v_unused_8615_ = lean_ctor_get(v_v_8558_, 36);
lean_dec(v_unused_8615_);
v___x_8602_ = v_v_8558_;
v_isShared_8603_ = v_isSharedCheck_8614_;
goto v_resetjp_8601_;
}
else
{
lean_inc(v_ignored_8600_);
lean_inc(v_occurs_8599_);
lean_inc(v_elimStack_8598_);
lean_inc(v_elimEqs_8597_);
lean_inc(v_diseqSplits_8596_);
lean_inc(v_assignment_8594_);
lean_inc(v_diseqs_8593_);
lean_inc(v_uppers_8592_);
lean_inc(v_lowers_8591_);
lean_inc(v_varMap_8590_);
lean_inc(v_vars_8589_);
lean_inc(v_negFn_8588_);
lean_inc(v_subFn_8587_);
lean_inc(v_homomulFn_x3f_8586_);
lean_inc(v_nsmulFn_x3f_8585_);
lean_inc(v_zsmulFn_x3f_8584_);
lean_inc(v_nsmulFn_8583_);
lean_inc(v_zsmulFn_8582_);
lean_inc(v_addFn_8581_);
lean_inc(v_ltFn_x3f_8580_);
lean_inc(v_leFn_x3f_8579_);
lean_inc(v_one_x3f_8578_);
lean_inc(v_ofNatZero_8577_);
lean_inc(v_zero_8576_);
lean_inc(v_charInst_x3f_8575_);
lean_inc(v_fieldInst_x3f_8574_);
lean_inc(v_orderedRingInst_x3f_8573_);
lean_inc(v_commRingInst_x3f_8572_);
lean_inc(v_ringInst_x3f_8571_);
lean_inc(v_noNatDivInst_x3f_8570_);
lean_inc(v_isLinearInst_x3f_8569_);
lean_inc(v_orderedAddInst_x3f_8568_);
lean_inc(v_isPreorderInst_x3f_8567_);
lean_inc(v_lawfulOrderLTInst_x3f_8566_);
lean_inc(v_ltInst_x3f_8565_);
lean_inc(v_leInst_x3f_8564_);
lean_inc(v_intModuleInst_8563_);
lean_inc(v_u_8562_);
lean_inc(v_type_8561_);
lean_inc(v_ringId_x3f_8560_);
lean_inc(v_id_8559_);
lean_dec(v_v_8558_);
v___x_8602_ = lean_box(0);
v_isShared_8603_ = v_isSharedCheck_8614_;
goto v_resetjp_8601_;
}
v_resetjp_8601_:
{
lean_object* v___x_8604_; lean_object* v_xs_x27_8605_; lean_object* v___x_8606_; lean_object* v___x_8608_; 
v___x_8604_ = lean_box(0);
v_xs_x27_8605_ = lean_array_fset(v_structs_8545_, v_a_8542_, v___x_8604_);
v___x_8606_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v___x_8606_, 0, v_h_8543_);
if (v_isShared_8603_ == 0)
{
lean_ctor_set(v___x_8602_, 36, v___x_8606_);
v___x_8608_ = v___x_8602_;
goto v_reusejp_8607_;
}
else
{
lean_object* v_reuseFailAlloc_8613_; 
v_reuseFailAlloc_8613_ = lean_alloc_ctor(0, 42, 1);
lean_ctor_set(v_reuseFailAlloc_8613_, 0, v_id_8559_);
lean_ctor_set(v_reuseFailAlloc_8613_, 1, v_ringId_x3f_8560_);
lean_ctor_set(v_reuseFailAlloc_8613_, 2, v_type_8561_);
lean_ctor_set(v_reuseFailAlloc_8613_, 3, v_u_8562_);
lean_ctor_set(v_reuseFailAlloc_8613_, 4, v_intModuleInst_8563_);
lean_ctor_set(v_reuseFailAlloc_8613_, 5, v_leInst_x3f_8564_);
lean_ctor_set(v_reuseFailAlloc_8613_, 6, v_ltInst_x3f_8565_);
lean_ctor_set(v_reuseFailAlloc_8613_, 7, v_lawfulOrderLTInst_x3f_8566_);
lean_ctor_set(v_reuseFailAlloc_8613_, 8, v_isPreorderInst_x3f_8567_);
lean_ctor_set(v_reuseFailAlloc_8613_, 9, v_orderedAddInst_x3f_8568_);
lean_ctor_set(v_reuseFailAlloc_8613_, 10, v_isLinearInst_x3f_8569_);
lean_ctor_set(v_reuseFailAlloc_8613_, 11, v_noNatDivInst_x3f_8570_);
lean_ctor_set(v_reuseFailAlloc_8613_, 12, v_ringInst_x3f_8571_);
lean_ctor_set(v_reuseFailAlloc_8613_, 13, v_commRingInst_x3f_8572_);
lean_ctor_set(v_reuseFailAlloc_8613_, 14, v_orderedRingInst_x3f_8573_);
lean_ctor_set(v_reuseFailAlloc_8613_, 15, v_fieldInst_x3f_8574_);
lean_ctor_set(v_reuseFailAlloc_8613_, 16, v_charInst_x3f_8575_);
lean_ctor_set(v_reuseFailAlloc_8613_, 17, v_zero_8576_);
lean_ctor_set(v_reuseFailAlloc_8613_, 18, v_ofNatZero_8577_);
lean_ctor_set(v_reuseFailAlloc_8613_, 19, v_one_x3f_8578_);
lean_ctor_set(v_reuseFailAlloc_8613_, 20, v_leFn_x3f_8579_);
lean_ctor_set(v_reuseFailAlloc_8613_, 21, v_ltFn_x3f_8580_);
lean_ctor_set(v_reuseFailAlloc_8613_, 22, v_addFn_8581_);
lean_ctor_set(v_reuseFailAlloc_8613_, 23, v_zsmulFn_8582_);
lean_ctor_set(v_reuseFailAlloc_8613_, 24, v_nsmulFn_8583_);
lean_ctor_set(v_reuseFailAlloc_8613_, 25, v_zsmulFn_x3f_8584_);
lean_ctor_set(v_reuseFailAlloc_8613_, 26, v_nsmulFn_x3f_8585_);
lean_ctor_set(v_reuseFailAlloc_8613_, 27, v_homomulFn_x3f_8586_);
lean_ctor_set(v_reuseFailAlloc_8613_, 28, v_subFn_8587_);
lean_ctor_set(v_reuseFailAlloc_8613_, 29, v_negFn_8588_);
lean_ctor_set(v_reuseFailAlloc_8613_, 30, v_vars_8589_);
lean_ctor_set(v_reuseFailAlloc_8613_, 31, v_varMap_8590_);
lean_ctor_set(v_reuseFailAlloc_8613_, 32, v_lowers_8591_);
lean_ctor_set(v_reuseFailAlloc_8613_, 33, v_uppers_8592_);
lean_ctor_set(v_reuseFailAlloc_8613_, 34, v_diseqs_8593_);
lean_ctor_set(v_reuseFailAlloc_8613_, 35, v_assignment_8594_);
lean_ctor_set(v_reuseFailAlloc_8613_, 36, v___x_8606_);
lean_ctor_set(v_reuseFailAlloc_8613_, 37, v_diseqSplits_8596_);
lean_ctor_set(v_reuseFailAlloc_8613_, 38, v_elimEqs_8597_);
lean_ctor_set(v_reuseFailAlloc_8613_, 39, v_elimStack_8598_);
lean_ctor_set(v_reuseFailAlloc_8613_, 40, v_occurs_8599_);
lean_ctor_set(v_reuseFailAlloc_8613_, 41, v_ignored_8600_);
lean_ctor_set_uint8(v_reuseFailAlloc_8613_, sizeof(void*)*42, v_caseSplits_8595_);
v___x_8608_ = v_reuseFailAlloc_8613_;
goto v_reusejp_8607_;
}
v_reusejp_8607_:
{
lean_object* v___x_8609_; lean_object* v___x_8611_; 
v___x_8609_ = lean_array_fset(v_xs_x27_8605_, v_a_8542_, v___x_8608_);
if (v_isShared_8557_ == 0)
{
lean_ctor_set(v___x_8556_, 0, v___x_8609_);
v___x_8611_ = v___x_8556_;
goto v_reusejp_8610_;
}
else
{
lean_object* v_reuseFailAlloc_8612_; 
v_reuseFailAlloc_8612_ = lean_alloc_ctor(0, 8, 0);
lean_ctor_set(v_reuseFailAlloc_8612_, 0, v___x_8609_);
lean_ctor_set(v_reuseFailAlloc_8612_, 1, v_typeIdOf_8546_);
lean_ctor_set(v_reuseFailAlloc_8612_, 2, v_exprToStructId_8547_);
lean_ctor_set(v_reuseFailAlloc_8612_, 3, v_exprToStructIdEntries_8548_);
lean_ctor_set(v_reuseFailAlloc_8612_, 4, v_forbiddenNatModules_8549_);
lean_ctor_set(v_reuseFailAlloc_8612_, 5, v_natStructs_8550_);
lean_ctor_set(v_reuseFailAlloc_8612_, 6, v_natTypeIdOf_8551_);
lean_ctor_set(v_reuseFailAlloc_8612_, 7, v_exprToNatStructId_8552_);
v___x_8611_ = v_reuseFailAlloc_8612_;
goto v_reusejp_8610_;
}
v_reusejp_8610_:
{
return v___x_8611_;
}
}
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_setInconsistent___lam__0___boxed(lean_object* v_a_8625_, lean_object* v_h_8626_, lean_object* v_s_8627_){
_start:
{
lean_object* v_res_8628_; 
v_res_8628_ = l_Lean_Meta_Grind_Arith_Linear_setInconsistent___lam__0(v_a_8625_, v_h_8626_, v_s_8627_);
lean_dec(v_a_8625_);
return v_res_8628_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_setInconsistent(lean_object* v_h_8629_, lean_object* v_a_8630_, lean_object* v_a_8631_, lean_object* v_a_8632_, lean_object* v_a_8633_, lean_object* v_a_8634_, lean_object* v_a_8635_, lean_object* v_a_8636_, lean_object* v_a_8637_, lean_object* v_a_8638_, lean_object* v_a_8639_, lean_object* v_a_8640_){
_start:
{
lean_object* v___x_8642_; 
v___x_8642_ = l_Lean_Meta_Grind_Arith_Linear_LinearM_getStruct(v_a_8630_, v_a_8631_, v_a_8632_, v_a_8633_, v_a_8634_, v_a_8635_, v_a_8636_, v_a_8637_, v_a_8638_, v_a_8639_, v_a_8640_);
if (lean_obj_tag(v___x_8642_) == 0)
{
lean_object* v_a_8643_; uint8_t v_caseSplits_8644_; 
v_a_8643_ = lean_ctor_get(v___x_8642_, 0);
lean_inc(v_a_8643_);
lean_dec_ref(v___x_8642_);
v_caseSplits_8644_ = lean_ctor_get_uint8(v_a_8643_, sizeof(void*)*42);
lean_dec(v_a_8643_);
if (v_caseSplits_8644_ == 0)
{
lean_object* v___x_8645_; 
lean_inc(v_a_8640_);
lean_inc_ref(v_a_8639_);
lean_inc(v_a_8638_);
lean_inc_ref(v_a_8637_);
lean_inc(v_a_8636_);
lean_inc_ref(v_a_8635_);
lean_inc(v_a_8634_);
lean_inc_ref(v_a_8633_);
lean_inc(v_a_8632_);
lean_inc(v_a_8631_);
v___x_8645_ = l_Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof(v_h_8629_, v_a_8630_, v_a_8631_, v_a_8632_, v_a_8633_, v_a_8634_, v_a_8635_, v_a_8636_, v_a_8637_, v_a_8638_, v_a_8639_, v_a_8640_);
if (lean_obj_tag(v___x_8645_) == 0)
{
lean_object* v_a_8646_; lean_object* v___x_8647_; 
v_a_8646_ = lean_ctor_get(v___x_8645_, 0);
lean_inc(v_a_8646_);
lean_dec_ref(v___x_8645_);
v___x_8647_ = l_Lean_Meta_Grind_closeGoal(v_a_8646_, v_a_8631_, v_a_8632_, v_a_8633_, v_a_8634_, v_a_8635_, v_a_8636_, v_a_8637_, v_a_8638_, v_a_8639_, v_a_8640_);
lean_dec(v_a_8636_);
lean_dec_ref(v_a_8635_);
lean_dec(v_a_8634_);
lean_dec_ref(v_a_8633_);
lean_dec(v_a_8632_);
lean_dec(v_a_8631_);
return v___x_8647_;
}
else
{
lean_object* v_a_8648_; lean_object* v___x_8650_; uint8_t v_isShared_8651_; uint8_t v_isSharedCheck_8655_; 
lean_dec(v_a_8640_);
lean_dec_ref(v_a_8639_);
lean_dec(v_a_8638_);
lean_dec_ref(v_a_8637_);
lean_dec(v_a_8636_);
lean_dec_ref(v_a_8635_);
lean_dec(v_a_8634_);
lean_dec_ref(v_a_8633_);
lean_dec(v_a_8632_);
lean_dec(v_a_8631_);
v_a_8648_ = lean_ctor_get(v___x_8645_, 0);
v_isSharedCheck_8655_ = !lean_is_exclusive(v___x_8645_);
if (v_isSharedCheck_8655_ == 0)
{
v___x_8650_ = v___x_8645_;
v_isShared_8651_ = v_isSharedCheck_8655_;
goto v_resetjp_8649_;
}
else
{
lean_inc(v_a_8648_);
lean_dec(v___x_8645_);
v___x_8650_ = lean_box(0);
v_isShared_8651_ = v_isSharedCheck_8655_;
goto v_resetjp_8649_;
}
v_resetjp_8649_:
{
lean_object* v___x_8653_; 
if (v_isShared_8651_ == 0)
{
v___x_8653_ = v___x_8650_;
goto v_reusejp_8652_;
}
else
{
lean_object* v_reuseFailAlloc_8654_; 
v_reuseFailAlloc_8654_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8654_, 0, v_a_8648_);
v___x_8653_ = v_reuseFailAlloc_8654_;
goto v_reusejp_8652_;
}
v_reusejp_8652_:
{
return v___x_8653_;
}
}
}
}
else
{
lean_object* v___f_8656_; lean_object* v___x_8657_; lean_object* v___x_8658_; 
lean_dec(v_a_8640_);
lean_dec_ref(v_a_8639_);
lean_dec(v_a_8638_);
lean_dec_ref(v_a_8637_);
lean_dec(v_a_8636_);
lean_dec_ref(v_a_8635_);
lean_dec(v_a_8634_);
lean_dec_ref(v_a_8633_);
lean_dec(v_a_8632_);
v___f_8656_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_setInconsistent___lam__0___boxed), 3, 2);
lean_closure_set(v___f_8656_, 0, v_a_8630_);
lean_closure_set(v___f_8656_, 1, v_h_8629_);
v___x_8657_ = l_Lean_Meta_Grind_Arith_Linear_linearExt;
v___x_8658_ = l___private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_SolverExtension_modifyStateImpl___redArg(v___x_8657_, v___f_8656_, v_a_8631_);
lean_dec(v_a_8631_);
return v___x_8658_;
}
}
else
{
lean_object* v_a_8659_; lean_object* v___x_8661_; uint8_t v_isShared_8662_; uint8_t v_isSharedCheck_8666_; 
lean_dec(v_a_8640_);
lean_dec_ref(v_a_8639_);
lean_dec(v_a_8638_);
lean_dec_ref(v_a_8637_);
lean_dec(v_a_8636_);
lean_dec_ref(v_a_8635_);
lean_dec(v_a_8634_);
lean_dec_ref(v_a_8633_);
lean_dec(v_a_8632_);
lean_dec(v_a_8631_);
lean_dec(v_a_8630_);
lean_dec_ref(v_h_8629_);
v_a_8659_ = lean_ctor_get(v___x_8642_, 0);
v_isSharedCheck_8666_ = !lean_is_exclusive(v___x_8642_);
if (v_isSharedCheck_8666_ == 0)
{
v___x_8661_ = v___x_8642_;
v_isShared_8662_ = v_isSharedCheck_8666_;
goto v_resetjp_8660_;
}
else
{
lean_inc(v_a_8659_);
lean_dec(v___x_8642_);
v___x_8661_ = lean_box(0);
v_isShared_8662_ = v_isSharedCheck_8666_;
goto v_resetjp_8660_;
}
v_resetjp_8660_:
{
lean_object* v___x_8664_; 
if (v_isShared_8662_ == 0)
{
v___x_8664_ = v___x_8661_;
goto v_reusejp_8663_;
}
else
{
lean_object* v_reuseFailAlloc_8665_; 
v_reuseFailAlloc_8665_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8665_, 0, v_a_8659_);
v___x_8664_ = v_reuseFailAlloc_8665_;
goto v_reusejp_8663_;
}
v_reusejp_8663_:
{
return v___x_8664_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_setInconsistent___boxed(lean_object* v_h_8667_, lean_object* v_a_8668_, lean_object* v_a_8669_, lean_object* v_a_8670_, lean_object* v_a_8671_, lean_object* v_a_8672_, lean_object* v_a_8673_, lean_object* v_a_8674_, lean_object* v_a_8675_, lean_object* v_a_8676_, lean_object* v_a_8677_, lean_object* v_a_8678_, lean_object* v_a_8679_){
_start:
{
lean_object* v_res_8680_; 
v_res_8680_ = l_Lean_Meta_Grind_Arith_Linear_setInconsistent(v_h_8667_, v_a_8668_, v_a_8669_, v_a_8670_, v_a_8671_, v_a_8672_, v_a_8673_, v_a_8674_, v_a_8675_, v_a_8676_, v_a_8677_, v_a_8678_);
return v_res_8680_;
}
}
static lean_object* _init_l_panic___at___00Lean_Meta_Grind_Arith_Linear_propagateImpEq_spec__0___closed__0(void){
_start:
{
lean_object* v___x_8681_; 
v___x_8681_ = l_Lean_Meta_Grind_instInhabitedGoalM(lean_box(0));
return v___x_8681_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_Meta_Grind_Arith_Linear_propagateImpEq_spec__0(lean_object* v_msg_8682_, lean_object* v___y_8683_, lean_object* v___y_8684_, lean_object* v___y_8685_, lean_object* v___y_8686_, lean_object* v___y_8687_, lean_object* v___y_8688_, lean_object* v___y_8689_, lean_object* v___y_8690_, lean_object* v___y_8691_, lean_object* v___y_8692_, lean_object* v___y_8693_){
_start:
{
lean_object* v___x_8695_; lean_object* v___f_8696_; lean_object* v___x_18516__overap_8697_; lean_object* v___x_8698_; 
v___x_8695_ = lean_obj_once(&l_panic___at___00Lean_Meta_Grind_Arith_Linear_propagateImpEq_spec__0___closed__0, &l_panic___at___00Lean_Meta_Grind_Arith_Linear_propagateImpEq_spec__0___closed__0_once, _init_l_panic___at___00Lean_Meta_Grind_Arith_Linear_propagateImpEq_spec__0___closed__0);
v___f_8696_ = lean_alloc_closure((void*)(l_instInhabitedForall___redArg___lam__0___boxed), 2, 1);
lean_closure_set(v___f_8696_, 0, v___x_8695_);
v___x_18516__overap_8697_ = lean_panic_fn(v___f_8696_, v_msg_8682_);
v___x_8698_ = lean_apply_12(v___x_18516__overap_8697_, v___y_8683_, v___y_8684_, v___y_8685_, v___y_8686_, v___y_8687_, v___y_8688_, v___y_8689_, v___y_8690_, v___y_8691_, v___y_8692_, v___y_8693_, lean_box(0));
return v___x_8698_;
}
}
LEAN_EXPORT lean_object* l_panic___at___00Lean_Meta_Grind_Arith_Linear_propagateImpEq_spec__0___boxed(lean_object* v_msg_8699_, lean_object* v___y_8700_, lean_object* v___y_8701_, lean_object* v___y_8702_, lean_object* v___y_8703_, lean_object* v___y_8704_, lean_object* v___y_8705_, lean_object* v___y_8706_, lean_object* v___y_8707_, lean_object* v___y_8708_, lean_object* v___y_8709_, lean_object* v___y_8710_, lean_object* v___y_8711_){
_start:
{
lean_object* v_res_8712_; 
v_res_8712_ = l_panic___at___00Lean_Meta_Grind_Arith_Linear_propagateImpEq_spec__0(v_msg_8699_, v___y_8700_, v___y_8701_, v___y_8702_, v___y_8703_, v___y_8704_, v___y_8705_, v___y_8706_, v___y_8707_, v___y_8708_, v___y_8709_, v___y_8710_);
return v_res_8712_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___lam__0(lean_object* v___x_8713_, lean_object* v_p_8714_, lean_object* v_v_8715_, lean_object* v_v_8716_, lean_object* v_c_8717_, lean_object* v___y_8718_, lean_object* v___y_8719_, lean_object* v___y_8720_, lean_object* v___y_8721_, lean_object* v___y_8722_, lean_object* v___y_8723_, lean_object* v___y_8724_, lean_object* v___y_8725_, lean_object* v___y_8726_, lean_object* v___y_8727_, lean_object* v___y_8728_, lean_object* v___y_8729_, lean_object* v___y_8730_){
_start:
{
lean_object* v___x_8732_; 
lean_inc_ref(v___y_8718_);
v___x_8732_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_mkIntModThmPrefix___redArg(v___x_8713_, v___y_8718_, v___y_8720_, v___y_8721_, v___y_8722_, v___y_8723_, v___y_8724_, v___y_8725_, v___y_8726_, v___y_8727_, v___y_8728_, v___y_8729_, v___y_8730_);
if (lean_obj_tag(v___x_8732_) == 0)
{
lean_object* v_a_8733_; lean_object* v___x_8734_; 
v_a_8733_ = lean_ctor_get(v___x_8732_, 0);
lean_inc(v_a_8733_);
lean_dec_ref(v___x_8732_);
v___x_8734_ = l_Lean_Meta_Grind_Arith_Linear_mkPolyDecl(v_p_8714_, v___y_8718_, v___y_8719_, v___y_8720_, v___y_8721_, v___y_8722_, v___y_8723_, v___y_8724_, v___y_8725_, v___y_8726_, v___y_8727_, v___y_8728_, v___y_8729_, v___y_8730_);
if (lean_obj_tag(v___x_8734_) == 0)
{
lean_object* v_a_8735_; lean_object* v___x_8736_; 
v_a_8735_ = lean_ctor_get(v___x_8734_, 0);
lean_inc(v_a_8735_);
lean_dec_ref(v___x_8734_);
v___x_8736_ = l_Lean_Meta_Grind_Arith_Linear_mkVarDecl(v_v_8715_, v___y_8718_, v___y_8719_, v___y_8720_, v___y_8721_, v___y_8722_, v___y_8723_, v___y_8724_, v___y_8725_, v___y_8726_, v___y_8727_, v___y_8728_, v___y_8729_, v___y_8730_);
if (lean_obj_tag(v___x_8736_) == 0)
{
lean_object* v_a_8737_; lean_object* v___x_8738_; 
v_a_8737_ = lean_ctor_get(v___x_8736_, 0);
lean_inc(v_a_8737_);
lean_dec_ref(v___x_8736_);
v___x_8738_ = l_Lean_Meta_Grind_Arith_Linear_mkVarDecl(v_v_8716_, v___y_8718_, v___y_8719_, v___y_8720_, v___y_8721_, v___y_8722_, v___y_8723_, v___y_8724_, v___y_8725_, v___y_8726_, v___y_8727_, v___y_8728_, v___y_8729_, v___y_8730_);
if (lean_obj_tag(v___x_8738_) == 0)
{
lean_object* v_a_8739_; lean_object* v___x_8740_; 
v_a_8739_ = lean_ctor_get(v___x_8738_, 0);
lean_inc(v_a_8739_);
lean_dec_ref(v___x_8738_);
v___x_8740_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_toExprProof(v_c_8717_, v___y_8718_, v___y_8719_, v___y_8720_, v___y_8721_, v___y_8722_, v___y_8723_, v___y_8724_, v___y_8725_, v___y_8726_, v___y_8727_, v___y_8728_, v___y_8729_, v___y_8730_);
if (lean_obj_tag(v___x_8740_) == 0)
{
lean_object* v_a_8741_; lean_object* v___x_8743_; uint8_t v_isShared_8744_; uint8_t v_isSharedCheck_8750_; 
v_a_8741_ = lean_ctor_get(v___x_8740_, 0);
v_isSharedCheck_8750_ = !lean_is_exclusive(v___x_8740_);
if (v_isSharedCheck_8750_ == 0)
{
v___x_8743_ = v___x_8740_;
v_isShared_8744_ = v_isSharedCheck_8750_;
goto v_resetjp_8742_;
}
else
{
lean_inc(v_a_8741_);
lean_dec(v___x_8740_);
v___x_8743_ = lean_box(0);
v_isShared_8744_ = v_isSharedCheck_8750_;
goto v_resetjp_8742_;
}
v_resetjp_8742_:
{
lean_object* v___x_8745_; lean_object* v___x_8746_; lean_object* v___x_8748_; 
v___x_8745_ = l_Lean_eagerReflBoolTrue;
v___x_8746_ = l_Lean_mkApp5(v_a_8733_, v_a_8735_, v_a_8737_, v_a_8739_, v___x_8745_, v_a_8741_);
if (v_isShared_8744_ == 0)
{
lean_ctor_set(v___x_8743_, 0, v___x_8746_);
v___x_8748_ = v___x_8743_;
goto v_reusejp_8747_;
}
else
{
lean_object* v_reuseFailAlloc_8749_; 
v_reuseFailAlloc_8749_ = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8749_, 0, v___x_8746_);
v___x_8748_ = v_reuseFailAlloc_8749_;
goto v_reusejp_8747_;
}
v_reusejp_8747_:
{
return v___x_8748_;
}
}
}
else
{
lean_dec(v_a_8739_);
lean_dec(v_a_8737_);
lean_dec(v_a_8735_);
lean_dec(v_a_8733_);
return v___x_8740_;
}
}
else
{
lean_dec(v_a_8737_);
lean_dec(v_a_8735_);
lean_dec(v_a_8733_);
lean_dec(v___y_8730_);
lean_dec_ref(v___y_8729_);
lean_dec(v___y_8728_);
lean_dec_ref(v___y_8727_);
lean_dec(v___y_8726_);
lean_dec_ref(v___y_8725_);
lean_dec(v___y_8724_);
lean_dec_ref(v___y_8723_);
lean_dec(v___y_8722_);
lean_dec(v___y_8721_);
lean_dec_ref(v___y_8718_);
lean_dec_ref(v_c_8717_);
return v___x_8738_;
}
}
else
{
lean_dec(v_a_8735_);
lean_dec(v_a_8733_);
lean_dec(v___y_8730_);
lean_dec_ref(v___y_8729_);
lean_dec(v___y_8728_);
lean_dec_ref(v___y_8727_);
lean_dec(v___y_8726_);
lean_dec_ref(v___y_8725_);
lean_dec(v___y_8724_);
lean_dec_ref(v___y_8723_);
lean_dec(v___y_8722_);
lean_dec(v___y_8721_);
lean_dec_ref(v___y_8718_);
lean_dec_ref(v_c_8717_);
lean_dec(v_v_8716_);
return v___x_8736_;
}
}
else
{
lean_dec(v_a_8733_);
lean_dec(v___y_8730_);
lean_dec_ref(v___y_8729_);
lean_dec(v___y_8728_);
lean_dec_ref(v___y_8727_);
lean_dec(v___y_8726_);
lean_dec_ref(v___y_8725_);
lean_dec(v___y_8724_);
lean_dec_ref(v___y_8723_);
lean_dec(v___y_8722_);
lean_dec(v___y_8721_);
lean_dec_ref(v___y_8718_);
lean_dec_ref(v_c_8717_);
lean_dec(v_v_8716_);
lean_dec(v_v_8715_);
return v___x_8734_;
}
}
else
{
lean_dec(v___y_8730_);
lean_dec_ref(v___y_8729_);
lean_dec(v___y_8728_);
lean_dec_ref(v___y_8727_);
lean_dec(v___y_8726_);
lean_dec_ref(v___y_8725_);
lean_dec(v___y_8724_);
lean_dec_ref(v___y_8723_);
lean_dec(v___y_8722_);
lean_dec(v___y_8721_);
lean_dec_ref(v___y_8718_);
lean_dec_ref(v_c_8717_);
lean_dec(v_v_8716_);
lean_dec(v_v_8715_);
lean_dec(v_p_8714_);
return v___x_8732_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___lam__0___boxed(lean_object** _args){
lean_object* v___x_8751_ = _args[0];
lean_object* v_p_8752_ = _args[1];
lean_object* v_v_8753_ = _args[2];
lean_object* v_v_8754_ = _args[3];
lean_object* v_c_8755_ = _args[4];
lean_object* v___y_8756_ = _args[5];
lean_object* v___y_8757_ = _args[6];
lean_object* v___y_8758_ = _args[7];
lean_object* v___y_8759_ = _args[8];
lean_object* v___y_8760_ = _args[9];
lean_object* v___y_8761_ = _args[10];
lean_object* v___y_8762_ = _args[11];
lean_object* v___y_8763_ = _args[12];
lean_object* v___y_8764_ = _args[13];
lean_object* v___y_8765_ = _args[14];
lean_object* v___y_8766_ = _args[15];
lean_object* v___y_8767_ = _args[16];
lean_object* v___y_8768_ = _args[17];
lean_object* v___y_8769_ = _args[18];
_start:
{
lean_object* v_res_8770_; 
v_res_8770_ = l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___lam__0(v___x_8751_, v_p_8752_, v_v_8753_, v_v_8754_, v_c_8755_, v___y_8756_, v___y_8757_, v___y_8758_, v___y_8759_, v___y_8760_, v___y_8761_, v___y_8762_, v___y_8763_, v___y_8764_, v___y_8765_, v___y_8766_, v___y_8767_, v___y_8768_);
lean_dec(v___y_8758_);
lean_dec(v___y_8757_);
return v_res_8770_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__3(void){
_start:
{
lean_object* v___x_8774_; lean_object* v___x_8775_; lean_object* v___x_8776_; lean_object* v___x_8777_; lean_object* v___x_8778_; lean_object* v___x_8779_; 
v___x_8774_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__2));
v___x_8775_ = lean_unsigned_to_nat(43u);
v___x_8776_ = lean_unsigned_to_nat(491u);
v___x_8777_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__1));
v___x_8778_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__0));
v___x_8779_ = l_mkPanicMessageWithDecl(v___x_8778_, v___x_8777_, v___x_8776_, v___x_8775_, v___x_8774_);
return v___x_8779_;
}
}
static lean_object* _init_l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__4(void){
_start:
{
lean_object* v___x_8780_; lean_object* v___x_8781_; 
v___x_8780_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___closed__0, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___closed__0_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___closed__0);
v___x_8781_ = lean_int_neg(v___x_8780_);
return v___x_8781_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq(lean_object* v_c_8788_, lean_object* v_a_8789_, lean_object* v_a_8790_, lean_object* v_a_8791_, lean_object* v_a_8792_, lean_object* v_a_8793_, lean_object* v_a_8794_, lean_object* v_a_8795_, lean_object* v_a_8796_, lean_object* v_a_8797_, lean_object* v_a_8798_, lean_object* v_a_8799_){
_start:
{
lean_object* v___y_8802_; lean_object* v___y_8803_; lean_object* v___y_8804_; lean_object* v___y_8805_; lean_object* v___y_8806_; lean_object* v___y_8807_; lean_object* v___y_8808_; lean_object* v___y_8809_; lean_object* v___y_8810_; lean_object* v___y_8811_; lean_object* v___y_8812_; lean_object* v_p_8815_; 
v_p_8815_ = lean_ctor_get(v_c_8788_, 0);
lean_inc(v_p_8815_);
if (lean_obj_tag(v_p_8815_) == 1)
{
lean_object* v_k_8816_; lean_object* v_v_8817_; lean_object* v_p_8818_; lean_object* v___x_8819_; uint8_t v___x_8820_; 
v_k_8816_ = lean_ctor_get(v_p_8815_, 0);
v_v_8817_ = lean_ctor_get(v_p_8815_, 1);
lean_inc(v_v_8817_);
v_p_8818_ = lean_ctor_get(v_p_8815_, 2);
v___x_8819_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___closed__0, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___closed__0_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr_0__Lean_Grind_Linarith_Poly_denoteExpr_denoteTerm___at___00Lean_Grind_Linarith_Poly_denoteExpr___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_toExprProof_spec__1_spec__2___redArg___closed__0);
v___x_8820_ = lean_int_dec_eq(v_k_8816_, v___x_8819_);
if (v___x_8820_ == 0)
{
lean_dec(v_v_8817_);
lean_dec_ref(v_p_8815_);
lean_dec_ref(v_c_8788_);
v___y_8802_ = v_a_8789_;
v___y_8803_ = v_a_8790_;
v___y_8804_ = v_a_8791_;
v___y_8805_ = v_a_8792_;
v___y_8806_ = v_a_8793_;
v___y_8807_ = v_a_8794_;
v___y_8808_ = v_a_8795_;
v___y_8809_ = v_a_8796_;
v___y_8810_ = v_a_8797_;
v___y_8811_ = v_a_8798_;
v___y_8812_ = v_a_8799_;
goto v___jp_8801_;
}
else
{
if (lean_obj_tag(v_p_8818_) == 1)
{
lean_object* v_k_8821_; lean_object* v_v_8822_; lean_object* v_p_8823_; lean_object* v___x_8824_; uint8_t v___x_8825_; 
v_k_8821_ = lean_ctor_get(v_p_8818_, 0);
v_v_8822_ = lean_ctor_get(v_p_8818_, 1);
lean_inc(v_v_8822_);
v_p_8823_ = lean_ctor_get(v_p_8818_, 2);
v___x_8824_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__4, &l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__4_once, _init_l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__4);
v___x_8825_ = lean_int_dec_eq(v_k_8821_, v___x_8824_);
if (v___x_8825_ == 0)
{
lean_dec(v_v_8822_);
lean_dec(v_v_8817_);
lean_dec_ref(v_p_8815_);
lean_dec_ref(v_c_8788_);
v___y_8802_ = v_a_8789_;
v___y_8803_ = v_a_8790_;
v___y_8804_ = v_a_8791_;
v___y_8805_ = v_a_8792_;
v___y_8806_ = v_a_8793_;
v___y_8807_ = v_a_8794_;
v___y_8808_ = v_a_8795_;
v___y_8809_ = v_a_8796_;
v___y_8810_ = v_a_8797_;
v___y_8811_ = v_a_8798_;
v___y_8812_ = v_a_8799_;
goto v___jp_8801_;
}
else
{
if (lean_obj_tag(v_p_8823_) == 0)
{
lean_object* v___x_8826_; 
v___x_8826_ = l_Lean_Meta_Grind_Arith_Linear_getVar(v_v_8817_, v_a_8789_, v_a_8790_, v_a_8791_, v_a_8792_, v_a_8793_, v_a_8794_, v_a_8795_, v_a_8796_, v_a_8797_, v_a_8798_, v_a_8799_);
if (lean_obj_tag(v___x_8826_) == 0)
{
lean_object* v_a_8827_; lean_object* v___x_8828_; 
v_a_8827_ = lean_ctor_get(v___x_8826_, 0);
lean_inc(v_a_8827_);
lean_dec_ref(v___x_8826_);
v___x_8828_ = l_Lean_Meta_Grind_Arith_Linear_getVar(v_v_8822_, v_a_8789_, v_a_8790_, v_a_8791_, v_a_8792_, v_a_8793_, v_a_8794_, v_a_8795_, v_a_8796_, v_a_8797_, v_a_8798_, v_a_8799_);
if (lean_obj_tag(v___x_8828_) == 0)
{
lean_object* v_a_8829_; lean_object* v_a_8831_; lean_object* v___x_8845_; 
v_a_8829_ = lean_ctor_get(v___x_8828_, 0);
lean_inc(v_a_8829_);
lean_dec_ref(v___x_8828_);
v___x_8845_ = l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0(v_a_8789_, v_a_8790_, v_a_8791_, v_a_8792_, v_a_8793_, v_a_8794_, v_a_8795_, v_a_8796_, v_a_8797_, v_a_8798_, v_a_8799_);
if (lean_obj_tag(v___x_8845_) == 0)
{
lean_object* v_a_8846_; lean_object* v___x_8847_; 
v_a_8846_ = lean_ctor_get(v___x_8845_, 0);
lean_inc(v_a_8846_);
lean_dec_ref(v___x_8845_);
v___x_8847_ = l_Lean_mkFreshFVarId___at___00Lean_Meta_Grind_Arith_Linear_UnsatProof_toExprProof_spec__0(v_a_8789_, v_a_8790_, v_a_8791_, v_a_8792_, v_a_8793_, v_a_8794_, v_a_8795_, v_a_8796_, v_a_8797_, v_a_8798_, v_a_8799_);
if (lean_obj_tag(v___x_8847_) == 0)
{
lean_object* v_a_8848_; lean_object* v___x_8849_; lean_object* v___x_8850_; lean_object* v___x_8851_; lean_object* v___f_8852_; lean_object* v___x_8853_; lean_object* v___x_8854_; lean_object* v___x_8855_; lean_object* v___x_8856_; 
v_a_8848_ = lean_ctor_get(v___x_8847_, 0);
lean_inc(v_a_8848_);
lean_dec_ref(v___x_8847_);
v___x_8849_ = lean_obj_once(&l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__19, &l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__19_once, _init_l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext___closed__19);
v___x_8850_ = lean_st_mk_ref(v___x_8849_);
v___x_8851_ = ((lean_object*)(l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__6));
v___f_8852_ = lean_alloc_closure((void*)(l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___lam__0___boxed), 19, 5);
lean_closure_set(v___f_8852_, 0, v___x_8851_);
lean_closure_set(v___f_8852_, 1, v_p_8815_);
lean_closure_set(v___f_8852_, 2, v_v_8817_);
lean_closure_set(v___f_8852_, 3, v_v_8822_);
lean_closure_set(v___f_8852_, 4, v_c_8788_);
v___x_8853_ = l_Lean_mkFVar(v_a_8846_);
v___x_8854_ = l_Lean_mkFVar(v_a_8848_);
v___x_8855_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_8855_, 0, v___x_8853_);
lean_ctor_set(v___x_8855_, 1, v___x_8854_);
lean_inc(v_a_8799_);
lean_inc_ref(v_a_8798_);
lean_inc(v_a_8797_);
lean_inc_ref(v_a_8796_);
lean_inc_ref(v_a_8792_);
lean_inc(v_a_8790_);
lean_inc(v___x_8850_);
v___x_8856_ = l___private_Lean_Meta_Tactic_Grind_Arith_Linear_Proof_0__Lean_Meta_Grind_Arith_Linear_withProofContext_go(v___f_8852_, v___x_8855_, v___x_8850_, v_a_8789_, v_a_8790_, v_a_8791_, v_a_8792_, v_a_8793_, v_a_8794_, v_a_8795_, v_a_8796_, v_a_8797_, v_a_8798_, v_a_8799_);
if (lean_obj_tag(v___x_8856_) == 0)
{
lean_object* v_a_8857_; lean_object* v___x_8858_; 
v_a_8857_ = lean_ctor_get(v___x_8856_, 0);
lean_inc(v_a_8857_);
lean_dec_ref(v___x_8856_);
v___x_8858_ = lean_st_ref_get(v___x_8850_);
lean_dec(v___x_8850_);
lean_dec(v___x_8858_);
v_a_8831_ = v_a_8857_;
goto v___jp_8830_;
}
else
{
lean_dec(v___x_8850_);
if (lean_obj_tag(v___x_8856_) == 0)
{
lean_object* v_a_8859_; 
v_a_8859_ = lean_ctor_get(v___x_8856_, 0);
lean_inc(v_a_8859_);
lean_dec_ref(v___x_8856_);
v_a_8831_ = v_a_8859_;
goto v___jp_8830_;
}
else
{
lean_object* v_a_8860_; lean_object* v___x_8862_; uint8_t v_isShared_8863_; uint8_t v_isSharedCheck_8867_; 
lean_dec(v_a_8829_);
lean_dec(v_a_8827_);
lean_dec(v_a_8799_);
lean_dec_ref(v_a_8798_);
lean_dec(v_a_8797_);
lean_dec_ref(v_a_8796_);
lean_dec_ref(v_a_8792_);
lean_dec(v_a_8790_);
v_a_8860_ = lean_ctor_get(v___x_8856_, 0);
v_isSharedCheck_8867_ = !lean_is_exclusive(v___x_8856_);
if (v_isSharedCheck_8867_ == 0)
{
v___x_8862_ = v___x_8856_;
v_isShared_8863_ = v_isSharedCheck_8867_;
goto v_resetjp_8861_;
}
else
{
lean_inc(v_a_8860_);
lean_dec(v___x_8856_);
v___x_8862_ = lean_box(0);
v_isShared_8863_ = v_isSharedCheck_8867_;
goto v_resetjp_8861_;
}
v_resetjp_8861_:
{
lean_object* v___x_8865_; 
if (v_isShared_8863_ == 0)
{
v___x_8865_ = v___x_8862_;
goto v_reusejp_8864_;
}
else
{
lean_object* v_reuseFailAlloc_8866_; 
v_reuseFailAlloc_8866_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8866_, 0, v_a_8860_);
v___x_8865_ = v_reuseFailAlloc_8866_;
goto v_reusejp_8864_;
}
v_reusejp_8864_:
{
return v___x_8865_;
}
}
}
}
}
else
{
lean_object* v_a_8868_; lean_object* v___x_8870_; uint8_t v_isShared_8871_; uint8_t v_isSharedCheck_8875_; 
lean_dec(v_a_8846_);
lean_dec(v_a_8829_);
lean_dec(v_a_8827_);
lean_dec(v_v_8822_);
lean_dec(v_v_8817_);
lean_dec_ref(v_p_8815_);
lean_dec(v_a_8799_);
lean_dec_ref(v_a_8798_);
lean_dec(v_a_8797_);
lean_dec_ref(v_a_8796_);
lean_dec(v_a_8795_);
lean_dec_ref(v_a_8794_);
lean_dec(v_a_8793_);
lean_dec_ref(v_a_8792_);
lean_dec(v_a_8791_);
lean_dec(v_a_8790_);
lean_dec(v_a_8789_);
lean_dec_ref(v_c_8788_);
v_a_8868_ = lean_ctor_get(v___x_8847_, 0);
v_isSharedCheck_8875_ = !lean_is_exclusive(v___x_8847_);
if (v_isSharedCheck_8875_ == 0)
{
v___x_8870_ = v___x_8847_;
v_isShared_8871_ = v_isSharedCheck_8875_;
goto v_resetjp_8869_;
}
else
{
lean_inc(v_a_8868_);
lean_dec(v___x_8847_);
v___x_8870_ = lean_box(0);
v_isShared_8871_ = v_isSharedCheck_8875_;
goto v_resetjp_8869_;
}
v_resetjp_8869_:
{
lean_object* v___x_8873_; 
if (v_isShared_8871_ == 0)
{
v___x_8873_ = v___x_8870_;
goto v_reusejp_8872_;
}
else
{
lean_object* v_reuseFailAlloc_8874_; 
v_reuseFailAlloc_8874_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8874_, 0, v_a_8868_);
v___x_8873_ = v_reuseFailAlloc_8874_;
goto v_reusejp_8872_;
}
v_reusejp_8872_:
{
return v___x_8873_;
}
}
}
}
else
{
lean_object* v_a_8876_; lean_object* v___x_8878_; uint8_t v_isShared_8879_; uint8_t v_isSharedCheck_8883_; 
lean_dec(v_a_8829_);
lean_dec(v_a_8827_);
lean_dec(v_v_8822_);
lean_dec(v_v_8817_);
lean_dec_ref(v_p_8815_);
lean_dec(v_a_8799_);
lean_dec_ref(v_a_8798_);
lean_dec(v_a_8797_);
lean_dec_ref(v_a_8796_);
lean_dec(v_a_8795_);
lean_dec_ref(v_a_8794_);
lean_dec(v_a_8793_);
lean_dec_ref(v_a_8792_);
lean_dec(v_a_8791_);
lean_dec(v_a_8790_);
lean_dec(v_a_8789_);
lean_dec_ref(v_c_8788_);
v_a_8876_ = lean_ctor_get(v___x_8845_, 0);
v_isSharedCheck_8883_ = !lean_is_exclusive(v___x_8845_);
if (v_isSharedCheck_8883_ == 0)
{
v___x_8878_ = v___x_8845_;
v_isShared_8879_ = v_isSharedCheck_8883_;
goto v_resetjp_8877_;
}
else
{
lean_inc(v_a_8876_);
lean_dec(v___x_8845_);
v___x_8878_ = lean_box(0);
v_isShared_8879_ = v_isSharedCheck_8883_;
goto v_resetjp_8877_;
}
v_resetjp_8877_:
{
lean_object* v___x_8881_; 
if (v_isShared_8879_ == 0)
{
v___x_8881_ = v___x_8878_;
goto v_reusejp_8880_;
}
else
{
lean_object* v_reuseFailAlloc_8882_; 
v_reuseFailAlloc_8882_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8882_, 0, v_a_8876_);
v___x_8881_ = v_reuseFailAlloc_8882_;
goto v_reusejp_8880_;
}
v_reusejp_8880_:
{
return v___x_8881_;
}
}
}
v___jp_8830_:
{
lean_object* v___x_8832_; 
lean_inc(v_a_8799_);
lean_inc_ref(v_a_8798_);
lean_inc(v_a_8797_);
lean_inc_ref(v_a_8796_);
lean_inc(v_a_8829_);
lean_inc(v_a_8827_);
v___x_8832_ = l_Lean_Meta_mkEq(v_a_8827_, v_a_8829_, v_a_8796_, v_a_8797_, v_a_8798_, v_a_8799_);
if (lean_obj_tag(v___x_8832_) == 0)
{
lean_object* v_a_8833_; lean_object* v___x_8834_; uint8_t v___x_8835_; lean_object* v___x_8836_; 
v_a_8833_ = lean_ctor_get(v___x_8832_, 0);
lean_inc(v_a_8833_);
lean_dec_ref(v___x_8832_);
v___x_8834_ = l_Lean_Meta_mkExpectedPropHint(v_a_8831_, v_a_8833_);
v___x_8835_ = 0;
v___x_8836_ = l_Lean_Meta_Grind_pushEqCore___redArg(v_a_8827_, v_a_8829_, v___x_8834_, v___x_8835_, v_a_8790_, v_a_8792_, v_a_8796_, v_a_8797_, v_a_8798_, v_a_8799_);
lean_dec_ref(v_a_8792_);
lean_dec(v_a_8790_);
return v___x_8836_;
}
else
{
lean_object* v_a_8837_; lean_object* v___x_8839_; uint8_t v_isShared_8840_; uint8_t v_isSharedCheck_8844_; 
lean_dec_ref(v_a_8831_);
lean_dec(v_a_8829_);
lean_dec(v_a_8827_);
lean_dec(v_a_8799_);
lean_dec_ref(v_a_8798_);
lean_dec(v_a_8797_);
lean_dec_ref(v_a_8796_);
lean_dec_ref(v_a_8792_);
lean_dec(v_a_8790_);
v_a_8837_ = lean_ctor_get(v___x_8832_, 0);
v_isSharedCheck_8844_ = !lean_is_exclusive(v___x_8832_);
if (v_isSharedCheck_8844_ == 0)
{
v___x_8839_ = v___x_8832_;
v_isShared_8840_ = v_isSharedCheck_8844_;
goto v_resetjp_8838_;
}
else
{
lean_inc(v_a_8837_);
lean_dec(v___x_8832_);
v___x_8839_ = lean_box(0);
v_isShared_8840_ = v_isSharedCheck_8844_;
goto v_resetjp_8838_;
}
v_resetjp_8838_:
{
lean_object* v___x_8842_; 
if (v_isShared_8840_ == 0)
{
v___x_8842_ = v___x_8839_;
goto v_reusejp_8841_;
}
else
{
lean_object* v_reuseFailAlloc_8843_; 
v_reuseFailAlloc_8843_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8843_, 0, v_a_8837_);
v___x_8842_ = v_reuseFailAlloc_8843_;
goto v_reusejp_8841_;
}
v_reusejp_8841_:
{
return v___x_8842_;
}
}
}
}
}
else
{
lean_object* v_a_8884_; lean_object* v___x_8886_; uint8_t v_isShared_8887_; uint8_t v_isSharedCheck_8891_; 
lean_dec(v_a_8827_);
lean_dec(v_v_8822_);
lean_dec(v_v_8817_);
lean_dec_ref(v_p_8815_);
lean_dec(v_a_8799_);
lean_dec_ref(v_a_8798_);
lean_dec(v_a_8797_);
lean_dec_ref(v_a_8796_);
lean_dec(v_a_8795_);
lean_dec_ref(v_a_8794_);
lean_dec(v_a_8793_);
lean_dec_ref(v_a_8792_);
lean_dec(v_a_8791_);
lean_dec(v_a_8790_);
lean_dec(v_a_8789_);
lean_dec_ref(v_c_8788_);
v_a_8884_ = lean_ctor_get(v___x_8828_, 0);
v_isSharedCheck_8891_ = !lean_is_exclusive(v___x_8828_);
if (v_isSharedCheck_8891_ == 0)
{
v___x_8886_ = v___x_8828_;
v_isShared_8887_ = v_isSharedCheck_8891_;
goto v_resetjp_8885_;
}
else
{
lean_inc(v_a_8884_);
lean_dec(v___x_8828_);
v___x_8886_ = lean_box(0);
v_isShared_8887_ = v_isSharedCheck_8891_;
goto v_resetjp_8885_;
}
v_resetjp_8885_:
{
lean_object* v___x_8889_; 
if (v_isShared_8887_ == 0)
{
v___x_8889_ = v___x_8886_;
goto v_reusejp_8888_;
}
else
{
lean_object* v_reuseFailAlloc_8890_; 
v_reuseFailAlloc_8890_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8890_, 0, v_a_8884_);
v___x_8889_ = v_reuseFailAlloc_8890_;
goto v_reusejp_8888_;
}
v_reusejp_8888_:
{
return v___x_8889_;
}
}
}
}
else
{
lean_object* v_a_8892_; lean_object* v___x_8894_; uint8_t v_isShared_8895_; uint8_t v_isSharedCheck_8899_; 
lean_dec(v_v_8822_);
lean_dec(v_v_8817_);
lean_dec_ref(v_p_8815_);
lean_dec(v_a_8799_);
lean_dec_ref(v_a_8798_);
lean_dec(v_a_8797_);
lean_dec_ref(v_a_8796_);
lean_dec(v_a_8795_);
lean_dec_ref(v_a_8794_);
lean_dec(v_a_8793_);
lean_dec_ref(v_a_8792_);
lean_dec(v_a_8791_);
lean_dec(v_a_8790_);
lean_dec(v_a_8789_);
lean_dec_ref(v_c_8788_);
v_a_8892_ = lean_ctor_get(v___x_8826_, 0);
v_isSharedCheck_8899_ = !lean_is_exclusive(v___x_8826_);
if (v_isSharedCheck_8899_ == 0)
{
v___x_8894_ = v___x_8826_;
v_isShared_8895_ = v_isSharedCheck_8899_;
goto v_resetjp_8893_;
}
else
{
lean_inc(v_a_8892_);
lean_dec(v___x_8826_);
v___x_8894_ = lean_box(0);
v_isShared_8895_ = v_isSharedCheck_8899_;
goto v_resetjp_8893_;
}
v_resetjp_8893_:
{
lean_object* v___x_8897_; 
if (v_isShared_8895_ == 0)
{
v___x_8897_ = v___x_8894_;
goto v_reusejp_8896_;
}
else
{
lean_object* v_reuseFailAlloc_8898_; 
v_reuseFailAlloc_8898_ = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(v_reuseFailAlloc_8898_, 0, v_a_8892_);
v___x_8897_ = v_reuseFailAlloc_8898_;
goto v_reusejp_8896_;
}
v_reusejp_8896_:
{
return v___x_8897_;
}
}
}
}
else
{
lean_dec(v_v_8822_);
lean_dec(v_v_8817_);
lean_dec_ref(v_p_8815_);
lean_dec_ref(v_c_8788_);
v___y_8802_ = v_a_8789_;
v___y_8803_ = v_a_8790_;
v___y_8804_ = v_a_8791_;
v___y_8805_ = v_a_8792_;
v___y_8806_ = v_a_8793_;
v___y_8807_ = v_a_8794_;
v___y_8808_ = v_a_8795_;
v___y_8809_ = v_a_8796_;
v___y_8810_ = v_a_8797_;
v___y_8811_ = v_a_8798_;
v___y_8812_ = v_a_8799_;
goto v___jp_8801_;
}
}
}
else
{
lean_dec(v_v_8817_);
lean_dec_ref(v_p_8815_);
lean_dec_ref(v_c_8788_);
v___y_8802_ = v_a_8789_;
v___y_8803_ = v_a_8790_;
v___y_8804_ = v_a_8791_;
v___y_8805_ = v_a_8792_;
v___y_8806_ = v_a_8793_;
v___y_8807_ = v_a_8794_;
v___y_8808_ = v_a_8795_;
v___y_8809_ = v_a_8796_;
v___y_8810_ = v_a_8797_;
v___y_8811_ = v_a_8798_;
v___y_8812_ = v_a_8799_;
goto v___jp_8801_;
}
}
}
else
{
lean_dec(v_p_8815_);
lean_dec_ref(v_c_8788_);
v___y_8802_ = v_a_8789_;
v___y_8803_ = v_a_8790_;
v___y_8804_ = v_a_8791_;
v___y_8805_ = v_a_8792_;
v___y_8806_ = v_a_8793_;
v___y_8807_ = v_a_8794_;
v___y_8808_ = v_a_8795_;
v___y_8809_ = v_a_8796_;
v___y_8810_ = v_a_8797_;
v___y_8811_ = v_a_8798_;
v___y_8812_ = v_a_8799_;
goto v___jp_8801_;
}
v___jp_8801_:
{
lean_object* v___x_8813_; lean_object* v___x_8814_; 
v___x_8813_ = lean_obj_once(&l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__3, &l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__3_once, _init_l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___closed__3);
v___x_8814_ = l_panic___at___00Lean_Meta_Grind_Arith_Linear_propagateImpEq_spec__0(v___x_8813_, v___y_8802_, v___y_8803_, v___y_8804_, v___y_8805_, v___y_8806_, v___y_8807_, v___y_8808_, v___y_8809_, v___y_8810_, v___y_8811_, v___y_8812_);
return v___x_8814_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_propagateImpEq___boxed(lean_object* v_c_8900_, lean_object* v_a_8901_, lean_object* v_a_8902_, lean_object* v_a_8903_, lean_object* v_a_8904_, lean_object* v_a_8905_, lean_object* v_a_8906_, lean_object* v_a_8907_, lean_object* v_a_8908_, lean_object* v_a_8909_, lean_object* v_a_8910_, lean_object* v_a_8911_, lean_object* v_a_8912_){
_start:
{
lean_object* v_res_8913_; 
v_res_8913_ = l_Lean_Meta_Grind_Arith_Linear_propagateImpEq(v_c_8900_, v_a_8901_, v_a_8902_, v_a_8903_, v_a_8904_, v_a_8905_, v_a_8906_, v_a_8907_, v_a_8908_, v_a_8909_, v_a_8910_, v_a_8911_);
return v_res_8913_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars___redArg(lean_object* v_c_x27_8914_, lean_object* v_a_8915_){
_start:
{
lean_object* v___x_8916_; lean_object* v_fst_8917_; uint8_t v___x_8918_; 
v___x_8916_ = l_Lean_Meta_Grind_Arith_CollectDecVars_alreadyVisited___redArg(v_c_x27_8914_, v_a_8915_);
v_fst_8917_ = lean_ctor_get(v___x_8916_, 0);
lean_inc(v_fst_8917_);
v___x_8918_ = lean_unbox(v_fst_8917_);
lean_dec(v_fst_8917_);
if (v___x_8918_ == 0)
{
lean_object* v_h_8919_; 
v_h_8919_ = lean_ctor_get(v_c_x27_8914_, 1);
switch(lean_obj_tag(v_h_8919_))
{
case 3:
{
lean_object* v_snd_8920_; lean_object* v_c_8921_; 
v_snd_8920_ = lean_ctor_get(v___x_8916_, 1);
lean_inc(v_snd_8920_);
lean_dec_ref(v___x_8916_);
v_c_8921_ = lean_ctor_get(v_h_8919_, 0);
v_c_x27_8914_ = v_c_8921_;
v_a_8915_ = v_snd_8920_;
goto _start;
}
case 4:
{
lean_object* v_snd_8923_; lean_object* v_c_8924_; 
v_snd_8923_ = lean_ctor_get(v___x_8916_, 1);
lean_inc(v_snd_8923_);
lean_dec_ref(v___x_8916_);
v_c_8924_ = lean_ctor_get(v_h_8919_, 1);
v_c_x27_8914_ = v_c_8924_;
v_a_8915_ = v_snd_8923_;
goto _start;
}
case 5:
{
lean_object* v_snd_8926_; lean_object* v_c_u2081_8927_; lean_object* v_c_u2082_8928_; lean_object* v___x_8929_; lean_object* v_snd_8930_; 
v_snd_8926_ = lean_ctor_get(v___x_8916_, 1);
lean_inc(v_snd_8926_);
lean_dec_ref(v___x_8916_);
v_c_u2081_8927_ = lean_ctor_get(v_h_8919_, 1);
v_c_u2082_8928_ = lean_ctor_get(v_h_8919_, 2);
v___x_8929_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars___redArg(v_c_u2081_8927_, v_snd_8926_);
v_snd_8930_ = lean_ctor_get(v___x_8929_, 1);
lean_inc(v_snd_8930_);
lean_dec_ref(v___x_8929_);
v_c_x27_8914_ = v_c_u2082_8928_;
v_a_8915_ = v_snd_8930_;
goto _start;
}
default: 
{
lean_object* v_snd_8932_; lean_object* v___x_8934_; uint8_t v_isShared_8935_; uint8_t v_isSharedCheck_8940_; 
v_snd_8932_ = lean_ctor_get(v___x_8916_, 1);
v_isSharedCheck_8940_ = !lean_is_exclusive(v___x_8916_);
if (v_isSharedCheck_8940_ == 0)
{
lean_object* v_unused_8941_; 
v_unused_8941_ = lean_ctor_get(v___x_8916_, 0);
lean_dec(v_unused_8941_);
v___x_8934_ = v___x_8916_;
v_isShared_8935_ = v_isSharedCheck_8940_;
goto v_resetjp_8933_;
}
else
{
lean_inc(v_snd_8932_);
lean_dec(v___x_8916_);
v___x_8934_ = lean_box(0);
v_isShared_8935_ = v_isSharedCheck_8940_;
goto v_resetjp_8933_;
}
v_resetjp_8933_:
{
lean_object* v___x_8936_; lean_object* v___x_8938_; 
v___x_8936_ = lean_box(0);
if (v_isShared_8935_ == 0)
{
lean_ctor_set(v___x_8934_, 0, v___x_8936_);
v___x_8938_ = v___x_8934_;
goto v_reusejp_8937_;
}
else
{
lean_object* v_reuseFailAlloc_8939_; 
v_reuseFailAlloc_8939_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_8939_, 0, v___x_8936_);
lean_ctor_set(v_reuseFailAlloc_8939_, 1, v_snd_8932_);
v___x_8938_ = v_reuseFailAlloc_8939_;
goto v_reusejp_8937_;
}
v_reusejp_8937_:
{
return v___x_8938_;
}
}
}
}
}
else
{
lean_object* v_snd_8942_; lean_object* v___x_8944_; uint8_t v_isShared_8945_; uint8_t v_isSharedCheck_8950_; 
v_snd_8942_ = lean_ctor_get(v___x_8916_, 1);
v_isSharedCheck_8950_ = !lean_is_exclusive(v___x_8916_);
if (v_isSharedCheck_8950_ == 0)
{
lean_object* v_unused_8951_; 
v_unused_8951_ = lean_ctor_get(v___x_8916_, 0);
lean_dec(v_unused_8951_);
v___x_8944_ = v___x_8916_;
v_isShared_8945_ = v_isSharedCheck_8950_;
goto v_resetjp_8943_;
}
else
{
lean_inc(v_snd_8942_);
lean_dec(v___x_8916_);
v___x_8944_ = lean_box(0);
v_isShared_8945_ = v_isSharedCheck_8950_;
goto v_resetjp_8943_;
}
v_resetjp_8943_:
{
lean_object* v___x_8946_; lean_object* v___x_8948_; 
v___x_8946_ = lean_box(0);
if (v_isShared_8945_ == 0)
{
lean_ctor_set(v___x_8944_, 0, v___x_8946_);
v___x_8948_ = v___x_8944_;
goto v_reusejp_8947_;
}
else
{
lean_object* v_reuseFailAlloc_8949_; 
v_reuseFailAlloc_8949_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_8949_, 0, v___x_8946_);
lean_ctor_set(v_reuseFailAlloc_8949_, 1, v_snd_8942_);
v___x_8948_ = v_reuseFailAlloc_8949_;
goto v_reusejp_8947_;
}
v_reusejp_8947_:
{
return v___x_8948_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars___redArg___boxed(lean_object* v_c_x27_8952_, lean_object* v_a_8953_){
_start:
{
lean_object* v_res_8954_; 
v_res_8954_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars___redArg(v_c_x27_8952_, v_a_8953_);
lean_dec_ref(v_c_x27_8952_);
return v_res_8954_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars(lean_object* v_c_x27_8955_, lean_object* v_a_8956_, lean_object* v_a_8957_){
_start:
{
lean_object* v___x_8958_; 
v___x_8958_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars___redArg(v_c_x27_8955_, v_a_8957_);
return v___x_8958_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars___boxed(lean_object* v_c_x27_8959_, lean_object* v_a_8960_, lean_object* v_a_8961_){
_start:
{
lean_object* v_res_8962_; 
v_res_8962_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars(v_c_x27_8959_, v_a_8960_, v_a_8961_);
lean_dec(v_a_8960_);
lean_dec_ref(v_c_x27_8959_);
return v_res_8962_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0___redArg(lean_object* v_as_8963_, size_t v_i_8964_, size_t v_stop_8965_, lean_object* v_b_8966_, lean_object* v___y_8967_){
_start:
{
uint8_t v___x_8968_; 
v___x_8968_ = lean_usize_dec_eq(v_i_8964_, v_stop_8965_);
if (v___x_8968_ == 0)
{
lean_object* v___x_8969_; lean_object* v___x_8970_; lean_object* v_fst_8971_; lean_object* v_snd_8972_; size_t v___x_8973_; size_t v___x_8974_; 
v___x_8969_ = lean_array_uget_borrowed(v_as_8963_, v_i_8964_);
lean_inc(v___x_8969_);
v___x_8970_ = l_Lean_Meta_Grind_Arith_CollectDecVars_markAsFound___redArg(v___x_8969_, v___y_8967_);
v_fst_8971_ = lean_ctor_get(v___x_8970_, 0);
lean_inc(v_fst_8971_);
v_snd_8972_ = lean_ctor_get(v___x_8970_, 1);
lean_inc(v_snd_8972_);
lean_dec_ref(v___x_8970_);
v___x_8973_ = ((size_t)1ULL);
v___x_8974_ = lean_usize_add(v_i_8964_, v___x_8973_);
v_i_8964_ = v___x_8974_;
v_b_8966_ = v_fst_8971_;
v___y_8967_ = v_snd_8972_;
goto _start;
}
else
{
lean_object* v___x_8976_; 
v___x_8976_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_8976_, 0, v_b_8966_);
lean_ctor_set(v___x_8976_, 1, v___y_8967_);
return v___x_8976_;
}
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0___redArg___boxed(lean_object* v_as_8977_, lean_object* v_i_8978_, lean_object* v_stop_8979_, lean_object* v_b_8980_, lean_object* v___y_8981_){
_start:
{
size_t v_i_boxed_8982_; size_t v_stop_boxed_8983_; lean_object* v_res_8984_; 
v_i_boxed_8982_ = lean_unbox_usize(v_i_8978_);
lean_dec(v_i_8978_);
v_stop_boxed_8983_ = lean_unbox_usize(v_stop_8979_);
lean_dec(v_stop_8979_);
v_res_8984_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0___redArg(v_as_8977_, v_i_boxed_8982_, v_stop_boxed_8983_, v_b_8980_, v___y_8981_);
lean_dec_ref(v_as_8977_);
return v_res_8984_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars(lean_object* v_c_x27_8985_, lean_object* v_a_8986_, lean_object* v_a_8987_){
_start:
{
lean_object* v___y_8989_; lean_object* v___y_8993_; lean_object* v___x_8996_; lean_object* v_fst_8997_; uint8_t v___x_8998_; 
v___x_8996_ = l_Lean_Meta_Grind_Arith_CollectDecVars_alreadyVisited___redArg(v_c_x27_8985_, v_a_8987_);
v_fst_8997_ = lean_ctor_get(v___x_8996_, 0);
lean_inc(v_fst_8997_);
v___x_8998_ = lean_unbox(v_fst_8997_);
lean_dec(v_fst_8997_);
if (v___x_8998_ == 0)
{
lean_object* v_h_8999_; 
v_h_8999_ = lean_ctor_get(v_c_x27_8985_, 1);
lean_inc(v_h_8999_);
lean_dec_ref(v_c_x27_8985_);
switch(lean_obj_tag(v_h_8999_))
{
case 0:
{
lean_object* v_snd_9000_; 
lean_dec_ref(v_h_8999_);
v_snd_9000_ = lean_ctor_get(v___x_8996_, 1);
lean_inc(v_snd_9000_);
lean_dec_ref(v___x_8996_);
v___y_8989_ = v_snd_9000_;
goto v___jp_8988_;
}
case 1:
{
lean_object* v_snd_9001_; 
lean_dec_ref(v_h_8999_);
v_snd_9001_ = lean_ctor_get(v___x_8996_, 1);
lean_inc(v_snd_9001_);
lean_dec_ref(v___x_8996_);
v___y_8989_ = v_snd_9001_;
goto v___jp_8988_;
}
case 3:
{
lean_object* v_snd_9002_; 
lean_dec_ref(v_h_8999_);
v_snd_9002_ = lean_ctor_get(v___x_8996_, 1);
lean_inc(v_snd_9002_);
lean_dec_ref(v___x_8996_);
v___y_8993_ = v_snd_9002_;
goto v___jp_8992_;
}
case 4:
{
lean_object* v_snd_9003_; 
lean_dec_ref(v_h_8999_);
v_snd_9003_ = lean_ctor_get(v___x_8996_, 1);
lean_inc(v_snd_9003_);
lean_dec_ref(v___x_8996_);
v___y_8993_ = v_snd_9003_;
goto v___jp_8992_;
}
case 5:
{
lean_object* v_snd_9004_; lean_object* v_c_u2081_9005_; lean_object* v_c_u2082_9006_; lean_object* v___x_9007_; lean_object* v_snd_9008_; 
v_snd_9004_ = lean_ctor_get(v___x_8996_, 1);
lean_inc(v_snd_9004_);
lean_dec_ref(v___x_8996_);
v_c_u2081_9005_ = lean_ctor_get(v_h_8999_, 0);
lean_inc_ref(v_c_u2081_9005_);
v_c_u2082_9006_ = lean_ctor_get(v_h_8999_, 1);
lean_inc_ref(v_c_u2082_9006_);
lean_dec_ref(v_h_8999_);
v___x_9007_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars(v_c_u2081_9005_, v_a_8986_, v_snd_9004_);
v_snd_9008_ = lean_ctor_get(v___x_9007_, 1);
lean_inc(v_snd_9008_);
lean_dec_ref(v___x_9007_);
v_c_x27_8985_ = v_c_u2082_9006_;
v_a_8987_ = v_snd_9008_;
goto _start;
}
case 6:
{
lean_object* v_snd_9010_; lean_object* v_c_u2081_9011_; 
v_snd_9010_ = lean_ctor_get(v___x_8996_, 1);
lean_inc(v_snd_9010_);
lean_dec_ref(v___x_8996_);
v_c_u2081_9011_ = lean_ctor_get(v_h_8999_, 0);
lean_inc_ref(v_c_u2081_9011_);
lean_dec_ref(v_h_8999_);
v_c_x27_8985_ = v_c_u2081_9011_;
v_a_8987_ = v_snd_9010_;
goto _start;
}
case 7:
{
lean_object* v_snd_9013_; lean_object* v_h_9014_; lean_object* v___x_9015_; 
v_snd_9013_ = lean_ctor_get(v___x_8996_, 1);
lean_inc(v_snd_9013_);
lean_dec_ref(v___x_8996_);
v_h_9014_ = lean_ctor_get(v_h_8999_, 0);
lean_inc(v_h_9014_);
lean_dec_ref(v_h_8999_);
v___x_9015_ = l_Lean_Meta_Grind_Arith_CollectDecVars_markAsFound___redArg(v_h_9014_, v_snd_9013_);
return v___x_9015_;
}
case 8:
{
lean_object* v_snd_9016_; lean_object* v___x_9018_; uint8_t v_isShared_9019_; uint8_t v_isSharedCheck_9038_; 
v_snd_9016_ = lean_ctor_get(v___x_8996_, 1);
v_isSharedCheck_9038_ = !lean_is_exclusive(v___x_8996_);
if (v_isSharedCheck_9038_ == 0)
{
lean_object* v_unused_9039_; 
v_unused_9039_ = lean_ctor_get(v___x_8996_, 0);
lean_dec(v_unused_9039_);
v___x_9018_ = v___x_8996_;
v_isShared_9019_ = v_isSharedCheck_9038_;
goto v_resetjp_9017_;
}
else
{
lean_inc(v_snd_9016_);
lean_dec(v___x_8996_);
v___x_9018_ = lean_box(0);
v_isShared_9019_ = v_isSharedCheck_9038_;
goto v_resetjp_9017_;
}
v_resetjp_9017_:
{
lean_object* v_decVars_9020_; lean_object* v___x_9021_; lean_object* v___x_9022_; lean_object* v___x_9023_; uint8_t v___x_9024_; 
v_decVars_9020_ = lean_ctor_get(v_h_8999_, 3);
lean_inc_ref(v_decVars_9020_);
lean_dec_ref(v_h_8999_);
v___x_9021_ = lean_unsigned_to_nat(0u);
v___x_9022_ = lean_array_get_size(v_decVars_9020_);
v___x_9023_ = lean_box(0);
v___x_9024_ = lean_nat_dec_lt(v___x_9021_, v___x_9022_);
if (v___x_9024_ == 0)
{
lean_object* v___x_9026_; 
lean_dec_ref(v_decVars_9020_);
if (v_isShared_9019_ == 0)
{
lean_ctor_set(v___x_9018_, 0, v___x_9023_);
v___x_9026_ = v___x_9018_;
goto v_reusejp_9025_;
}
else
{
lean_object* v_reuseFailAlloc_9027_; 
v_reuseFailAlloc_9027_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_9027_, 0, v___x_9023_);
lean_ctor_set(v_reuseFailAlloc_9027_, 1, v_snd_9016_);
v___x_9026_ = v_reuseFailAlloc_9027_;
goto v_reusejp_9025_;
}
v_reusejp_9025_:
{
return v___x_9026_;
}
}
else
{
uint8_t v___x_9028_; 
v___x_9028_ = lean_nat_dec_le(v___x_9022_, v___x_9022_);
if (v___x_9028_ == 0)
{
if (v___x_9024_ == 0)
{
lean_object* v___x_9030_; 
lean_dec_ref(v_decVars_9020_);
if (v_isShared_9019_ == 0)
{
lean_ctor_set(v___x_9018_, 0, v___x_9023_);
v___x_9030_ = v___x_9018_;
goto v_reusejp_9029_;
}
else
{
lean_object* v_reuseFailAlloc_9031_; 
v_reuseFailAlloc_9031_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_9031_, 0, v___x_9023_);
lean_ctor_set(v_reuseFailAlloc_9031_, 1, v_snd_9016_);
v___x_9030_ = v_reuseFailAlloc_9031_;
goto v_reusejp_9029_;
}
v_reusejp_9029_:
{
return v___x_9030_;
}
}
else
{
size_t v___x_9032_; size_t v___x_9033_; lean_object* v___x_9034_; 
lean_del_object(v___x_9018_);
v___x_9032_ = ((size_t)0ULL);
v___x_9033_ = lean_usize_of_nat(v___x_9022_);
v___x_9034_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0___redArg(v_decVars_9020_, v___x_9032_, v___x_9033_, v___x_9023_, v_snd_9016_);
lean_dec_ref(v_decVars_9020_);
return v___x_9034_;
}
}
else
{
size_t v___x_9035_; size_t v___x_9036_; lean_object* v___x_9037_; 
lean_del_object(v___x_9018_);
v___x_9035_ = ((size_t)0ULL);
v___x_9036_ = lean_usize_of_nat(v___x_9022_);
v___x_9037_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0___redArg(v_decVars_9020_, v___x_9035_, v___x_9036_, v___x_9023_, v_snd_9016_);
lean_dec_ref(v_decVars_9020_);
return v___x_9037_;
}
}
}
}
case 13:
{
lean_object* v_snd_9040_; lean_object* v_c_u2081_9041_; lean_object* v_c_u2082_9042_; lean_object* v___x_9043_; lean_object* v_snd_9044_; 
v_snd_9040_ = lean_ctor_get(v___x_8996_, 1);
lean_inc(v_snd_9040_);
lean_dec_ref(v___x_8996_);
v_c_u2081_9041_ = lean_ctor_get(v_h_8999_, 1);
lean_inc_ref(v_c_u2081_9041_);
v_c_u2082_9042_ = lean_ctor_get(v_h_8999_, 2);
lean_inc_ref(v_c_u2082_9042_);
lean_dec_ref(v_h_8999_);
v___x_9043_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars___redArg(v_c_u2081_9041_, v_snd_9040_);
lean_dec_ref(v_c_u2081_9041_);
v_snd_9044_ = lean_ctor_get(v___x_9043_, 1);
lean_inc(v_snd_9044_);
lean_dec_ref(v___x_9043_);
v_c_x27_8985_ = v_c_u2082_9042_;
v_a_8987_ = v_snd_9044_;
goto _start;
}
default: 
{
lean_object* v_snd_9046_; lean_object* v___x_9048_; uint8_t v_isShared_9049_; uint8_t v_isSharedCheck_9054_; 
lean_dec(v_h_8999_);
v_snd_9046_ = lean_ctor_get(v___x_8996_, 1);
v_isSharedCheck_9054_ = !lean_is_exclusive(v___x_8996_);
if (v_isSharedCheck_9054_ == 0)
{
lean_object* v_unused_9055_; 
v_unused_9055_ = lean_ctor_get(v___x_8996_, 0);
lean_dec(v_unused_9055_);
v___x_9048_ = v___x_8996_;
v_isShared_9049_ = v_isSharedCheck_9054_;
goto v_resetjp_9047_;
}
else
{
lean_inc(v_snd_9046_);
lean_dec(v___x_8996_);
v___x_9048_ = lean_box(0);
v_isShared_9049_ = v_isSharedCheck_9054_;
goto v_resetjp_9047_;
}
v_resetjp_9047_:
{
lean_object* v___x_9050_; lean_object* v___x_9052_; 
v___x_9050_ = lean_box(0);
if (v_isShared_9049_ == 0)
{
lean_ctor_set(v___x_9048_, 0, v___x_9050_);
v___x_9052_ = v___x_9048_;
goto v_reusejp_9051_;
}
else
{
lean_object* v_reuseFailAlloc_9053_; 
v_reuseFailAlloc_9053_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_9053_, 0, v___x_9050_);
lean_ctor_set(v_reuseFailAlloc_9053_, 1, v_snd_9046_);
v___x_9052_ = v_reuseFailAlloc_9053_;
goto v_reusejp_9051_;
}
v_reusejp_9051_:
{
return v___x_9052_;
}
}
}
}
}
else
{
lean_object* v_snd_9056_; lean_object* v___x_9058_; uint8_t v_isShared_9059_; uint8_t v_isSharedCheck_9064_; 
lean_dec_ref(v_c_x27_8985_);
v_snd_9056_ = lean_ctor_get(v___x_8996_, 1);
v_isSharedCheck_9064_ = !lean_is_exclusive(v___x_8996_);
if (v_isSharedCheck_9064_ == 0)
{
lean_object* v_unused_9065_; 
v_unused_9065_ = lean_ctor_get(v___x_8996_, 0);
lean_dec(v_unused_9065_);
v___x_9058_ = v___x_8996_;
v_isShared_9059_ = v_isSharedCheck_9064_;
goto v_resetjp_9057_;
}
else
{
lean_inc(v_snd_9056_);
lean_dec(v___x_8996_);
v___x_9058_ = lean_box(0);
v_isShared_9059_ = v_isSharedCheck_9064_;
goto v_resetjp_9057_;
}
v_resetjp_9057_:
{
lean_object* v___x_9060_; lean_object* v___x_9062_; 
v___x_9060_ = lean_box(0);
if (v_isShared_9059_ == 0)
{
lean_ctor_set(v___x_9058_, 0, v___x_9060_);
v___x_9062_ = v___x_9058_;
goto v_reusejp_9061_;
}
else
{
lean_object* v_reuseFailAlloc_9063_; 
v_reuseFailAlloc_9063_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_9063_, 0, v___x_9060_);
lean_ctor_set(v_reuseFailAlloc_9063_, 1, v_snd_9056_);
v___x_9062_ = v_reuseFailAlloc_9063_;
goto v_reusejp_9061_;
}
v_reusejp_9061_:
{
return v___x_9062_;
}
}
}
v___jp_8988_:
{
lean_object* v___x_8990_; lean_object* v___x_8991_; 
v___x_8990_ = lean_box(0);
v___x_8991_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_8991_, 0, v___x_8990_);
lean_ctor_set(v___x_8991_, 1, v___y_8989_);
return v___x_8991_;
}
v___jp_8992_:
{
lean_object* v___x_8994_; lean_object* v___x_8995_; 
v___x_8994_ = lean_box(0);
v___x_8995_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_8995_, 0, v___x_8994_);
lean_ctor_set(v___x_8995_, 1, v___y_8993_);
return v___x_8995_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars___boxed(lean_object* v_c_x27_9066_, lean_object* v_a_9067_, lean_object* v_a_9068_){
_start:
{
lean_object* v_res_9069_; 
v_res_9069_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars(v_c_x27_9066_, v_a_9067_, v_a_9068_);
lean_dec(v_a_9067_);
return v_res_9069_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0(lean_object* v_as_9070_, size_t v_i_9071_, size_t v_stop_9072_, lean_object* v_b_9073_, lean_object* v___y_9074_, lean_object* v___y_9075_){
_start:
{
lean_object* v___x_9076_; 
v___x_9076_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0___redArg(v_as_9070_, v_i_9071_, v_stop_9072_, v_b_9073_, v___y_9075_);
return v___x_9076_;
}
}
LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0___boxed(lean_object* v_as_9077_, lean_object* v_i_9078_, lean_object* v_stop_9079_, lean_object* v_b_9080_, lean_object* v___y_9081_, lean_object* v___y_9082_){
_start:
{
size_t v_i_boxed_9083_; size_t v_stop_boxed_9084_; lean_object* v_res_9085_; 
v_i_boxed_9083_ = lean_unbox_usize(v_i_9078_);
lean_dec(v_i_9078_);
v_stop_boxed_9084_ = lean_unbox_usize(v_stop_9079_);
lean_dec(v_stop_9079_);
v_res_9085_ = l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___00Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars_spec__0(v_as_9077_, v_i_boxed_9083_, v_stop_boxed_9084_, v_b_9080_, v___y_9081_, v___y_9082_);
lean_dec(v___y_9081_);
lean_dec_ref(v_as_9077_);
return v_res_9085_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_collectDecVars___redArg(lean_object* v_c_x27_9086_, lean_object* v_a_9087_){
_start:
{
lean_object* v___x_9088_; lean_object* v_fst_9089_; uint8_t v___x_9090_; 
v___x_9088_ = l_Lean_Meta_Grind_Arith_CollectDecVars_alreadyVisited___redArg(v_c_x27_9086_, v_a_9087_);
v_fst_9089_ = lean_ctor_get(v___x_9088_, 0);
lean_inc(v_fst_9089_);
v___x_9090_ = lean_unbox(v_fst_9089_);
lean_dec(v_fst_9089_);
if (v___x_9090_ == 0)
{
lean_object* v_h_9091_; 
v_h_9091_ = lean_ctor_get(v_c_x27_9086_, 1);
switch(lean_obj_tag(v_h_9091_))
{
case 3:
{
lean_object* v_snd_9092_; lean_object* v_c_9093_; 
v_snd_9092_ = lean_ctor_get(v___x_9088_, 1);
lean_inc(v_snd_9092_);
lean_dec_ref(v___x_9088_);
v_c_9093_ = lean_ctor_get(v_h_9091_, 0);
v_c_x27_9086_ = v_c_9093_;
v_a_9087_ = v_snd_9092_;
goto _start;
}
case 4:
{
lean_object* v_snd_9095_; lean_object* v_c_u2081_9096_; lean_object* v_c_u2082_9097_; lean_object* v___x_9098_; lean_object* v_snd_9099_; 
v_snd_9095_ = lean_ctor_get(v___x_9088_, 1);
lean_inc(v_snd_9095_);
lean_dec_ref(v___x_9088_);
v_c_u2081_9096_ = lean_ctor_get(v_h_9091_, 2);
v_c_u2082_9097_ = lean_ctor_get(v_h_9091_, 3);
v___x_9098_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars___redArg(v_c_u2081_9096_, v_snd_9095_);
v_snd_9099_ = lean_ctor_get(v___x_9098_, 1);
lean_inc(v_snd_9099_);
lean_dec_ref(v___x_9098_);
v_c_x27_9086_ = v_c_u2082_9097_;
v_a_9087_ = v_snd_9099_;
goto _start;
}
case 5:
{
lean_object* v_snd_9101_; lean_object* v_c_u2081_9102_; lean_object* v_c_u2082_9103_; lean_object* v___x_9104_; lean_object* v_snd_9105_; 
v_snd_9101_ = lean_ctor_get(v___x_9088_, 1);
lean_inc(v_snd_9101_);
lean_dec_ref(v___x_9088_);
v_c_u2081_9102_ = lean_ctor_get(v_h_9091_, 1);
v_c_u2082_9103_ = lean_ctor_get(v_h_9091_, 2);
v___x_9104_ = l_Lean_Meta_Grind_Arith_Linear_EqCnstr_collectDecVars___redArg(v_c_u2081_9102_, v_snd_9101_);
v_snd_9105_ = lean_ctor_get(v___x_9104_, 1);
lean_inc(v_snd_9105_);
lean_dec_ref(v___x_9104_);
v_c_x27_9086_ = v_c_u2082_9103_;
v_a_9087_ = v_snd_9105_;
goto _start;
}
default: 
{
lean_object* v_snd_9107_; lean_object* v___x_9109_; uint8_t v_isShared_9110_; uint8_t v_isSharedCheck_9115_; 
v_snd_9107_ = lean_ctor_get(v___x_9088_, 1);
v_isSharedCheck_9115_ = !lean_is_exclusive(v___x_9088_);
if (v_isSharedCheck_9115_ == 0)
{
lean_object* v_unused_9116_; 
v_unused_9116_ = lean_ctor_get(v___x_9088_, 0);
lean_dec(v_unused_9116_);
v___x_9109_ = v___x_9088_;
v_isShared_9110_ = v_isSharedCheck_9115_;
goto v_resetjp_9108_;
}
else
{
lean_inc(v_snd_9107_);
lean_dec(v___x_9088_);
v___x_9109_ = lean_box(0);
v_isShared_9110_ = v_isSharedCheck_9115_;
goto v_resetjp_9108_;
}
v_resetjp_9108_:
{
lean_object* v___x_9111_; lean_object* v___x_9113_; 
v___x_9111_ = lean_box(0);
if (v_isShared_9110_ == 0)
{
lean_ctor_set(v___x_9109_, 0, v___x_9111_);
v___x_9113_ = v___x_9109_;
goto v_reusejp_9112_;
}
else
{
lean_object* v_reuseFailAlloc_9114_; 
v_reuseFailAlloc_9114_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_9114_, 0, v___x_9111_);
lean_ctor_set(v_reuseFailAlloc_9114_, 1, v_snd_9107_);
v___x_9113_ = v_reuseFailAlloc_9114_;
goto v_reusejp_9112_;
}
v_reusejp_9112_:
{
return v___x_9113_;
}
}
}
}
}
else
{
lean_object* v_snd_9117_; lean_object* v___x_9119_; uint8_t v_isShared_9120_; uint8_t v_isSharedCheck_9125_; 
v_snd_9117_ = lean_ctor_get(v___x_9088_, 1);
v_isSharedCheck_9125_ = !lean_is_exclusive(v___x_9088_);
if (v_isSharedCheck_9125_ == 0)
{
lean_object* v_unused_9126_; 
v_unused_9126_ = lean_ctor_get(v___x_9088_, 0);
lean_dec(v_unused_9126_);
v___x_9119_ = v___x_9088_;
v_isShared_9120_ = v_isSharedCheck_9125_;
goto v_resetjp_9118_;
}
else
{
lean_inc(v_snd_9117_);
lean_dec(v___x_9088_);
v___x_9119_ = lean_box(0);
v_isShared_9120_ = v_isSharedCheck_9125_;
goto v_resetjp_9118_;
}
v_resetjp_9118_:
{
lean_object* v___x_9121_; lean_object* v___x_9123_; 
v___x_9121_ = lean_box(0);
if (v_isShared_9120_ == 0)
{
lean_ctor_set(v___x_9119_, 0, v___x_9121_);
v___x_9123_ = v___x_9119_;
goto v_reusejp_9122_;
}
else
{
lean_object* v_reuseFailAlloc_9124_; 
v_reuseFailAlloc_9124_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v_reuseFailAlloc_9124_, 0, v___x_9121_);
lean_ctor_set(v_reuseFailAlloc_9124_, 1, v_snd_9117_);
v___x_9123_ = v_reuseFailAlloc_9124_;
goto v_reusejp_9122_;
}
v_reusejp_9122_:
{
return v___x_9123_;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_collectDecVars___redArg___boxed(lean_object* v_c_x27_9127_, lean_object* v_a_9128_){
_start:
{
lean_object* v_res_9129_; 
v_res_9129_ = l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_collectDecVars___redArg(v_c_x27_9127_, v_a_9128_);
lean_dec_ref(v_c_x27_9127_);
return v_res_9129_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_collectDecVars(lean_object* v_c_x27_9130_, lean_object* v_a_9131_, lean_object* v_a_9132_){
_start:
{
lean_object* v___x_9133_; 
v___x_9133_ = l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_collectDecVars___redArg(v_c_x27_9130_, v_a_9132_);
return v___x_9133_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_collectDecVars___boxed(lean_object* v_c_x27_9134_, lean_object* v_a_9135_, lean_object* v_a_9136_){
_start:
{
lean_object* v_res_9137_; 
v_res_9137_ = l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_collectDecVars(v_c_x27_9134_, v_a_9135_, v_a_9136_);
lean_dec(v_a_9135_);
lean_dec_ref(v_c_x27_9134_);
return v_res_9137_;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_collectDecVars(lean_object* v_h_9138_, lean_object* v_a_9139_, lean_object* v_a_9140_){
_start:
{
if (lean_obj_tag(v_h_9138_) == 0)
{
lean_object* v_c_9141_; lean_object* v___x_9142_; 
v_c_9141_ = lean_ctor_get(v_h_9138_, 0);
lean_inc_ref(v_c_9141_);
lean_dec_ref(v_h_9138_);
v___x_9142_ = l_Lean_Meta_Grind_Arith_Linear_DiseqCnstr_collectDecVars___redArg(v_c_9141_, v_a_9140_);
lean_dec_ref(v_c_9141_);
return v___x_9142_;
}
else
{
lean_object* v_c_9143_; lean_object* v___x_9144_; 
v_c_9143_ = lean_ctor_get(v_h_9138_, 0);
lean_inc_ref(v_c_9143_);
lean_dec_ref(v_h_9138_);
v___x_9144_ = l_Lean_Meta_Grind_Arith_Linear_IneqCnstr_collectDecVars(v_c_9143_, v_a_9139_, v_a_9140_);
return v___x_9144_;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_Linear_UnsatProof_collectDecVars___boxed(lean_object* v_h_9145_, lean_object* v_a_9146_, lean_object* v_a_9147_){
_start:
{
lean_object* v_res_9148_; 
v_res_9148_ = l_Lean_Meta_Grind_Arith_Linear_UnsatProof_collectDecVars(v_h_9145_, v_a_9146_, v_a_9147_);
lean_dec(v_a_9146_);
return v_res_9148_;
}
}
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Arith_Util(uint8_t builtin);
lean_object* runtime_initialize_Init_Grind_Module_OfNatModule(uint8_t builtin);
lean_object* runtime_initialize_Lean_Data_RArray(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Arith_Linear_ToExpr(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Diseq(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_ProofUtil(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_VarRename(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_ToExpr(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Arith_Linear_VarRename(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Arith_Linear_OfNatModule(uint8_t builtin);
lean_object* runtime_initialize_Init_Data_Nat_Order(uint8_t builtin);
lean_object* runtime_initialize_Init_Data_Order_Lemmas(uint8_t builtin);
static bool _G_runtime_initialized = false;
LEAN_EXPORT lean_object* runtime_initialize_Lean_Meta_Tactic_Grind_Arith_Linear_Proof(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_Arith_Util(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Init_Grind_Module_OfNatModule(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Data_RArray(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Arith_Linear_ToExpr(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Diseq(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_ProofUtil(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_VarRename(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_ToExpr(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Arith_Linear_VarRename(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Arith_Linear_OfNatModule(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Init_Data_Nat_Order(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Init_Data_Order_Lemmas(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_Arith_Linear_Proof(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_Arith_Util(uint8_t builtin);
lean_object* initialize_Init_Grind_Module_OfNatModule(uint8_t builtin);
lean_object* initialize_Lean_Data_RArray(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_Linear_ToExpr(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Diseq(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_ProofUtil(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_VarRename(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_ToExpr(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_Linear_VarRename(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_Linear_OfNatModule(uint8_t builtin);
lean_object* initialize_Init_Data_Nat_Order(uint8_t builtin);
lean_object* initialize_Init_Data_Order_Lemmas(uint8_t builtin);
static bool _G_initialized = false;
LEAN_EXPORT lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_Linear_Proof(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_Arith_Util(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Init_Grind_Module_OfNatModule(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Data_RArray(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Arith_Linear_ToExpr(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Diseq(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_ProofUtil(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_VarRename(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_ToExpr(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Arith_Linear_VarRename(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Arith_Linear_DenoteExpr(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Grind_Arith_Linear_OfNatModule(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Init_Data_Nat_Order(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Init_Data_Order_Lemmas(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Grind_Arith_Linear_Proof(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = meta_initialize_Lean_Meta_Tactic_Grind_Arith_Linear_Proof(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return initialize_Lean_Meta_Tactic_Grind_Arith_Linear_Proof(builtin);
}
#ifdef __cplusplus
}
#endif
