// Lean compiler output // Module: NNG.MyNat.Definition // Imports: Init #include #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 static lean_object* l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__2; LEAN_EXPORT lean_object* l___private_NNG_MyNat_Definition_0__decEqMyNat____x40_NNG_MyNat_Definition___hyg_99____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_MyNat_instInhabitedMyNat; static lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__10; static lean_object* l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__6; static lean_object* l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__7; lean_object* lean_mk_empty_array_with_capacity(lean_object*); static lean_object* l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__1; static lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__9; static lean_object* l_term_u2115___closed__5; LEAN_EXPORT lean_object* l_instInhabitedMyNat; static lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__3; LEAN_EXPORT uint8_t l___private_NNG_MyNat_Definition_0__decEqMyNat____x40_NNG_MyNat_Definition___hyg_99_(lean_object*, lean_object*); static lean_object* l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__4; static lean_object* l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__3; LEAN_EXPORT lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); static lean_object* l_term_u2115___closed__1; lean_object* l_Lean_replaceRef(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_MyNat_instToStringMyNat___boxed(lean_object*); uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_MyNat_one; LEAN_EXPORT lean_object* l___private_NNG_MyNat_Definition_0__beqMyNat____x40_NNG_MyNat_Definition___hyg_15____boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_term_u2115; lean_object* l_Lean_SourceInfo_fromRef(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_MyNat_ofNat(lean_object*); static lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__5; static lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__4; LEAN_EXPORT lean_object* l_MyNat_myNatFromNat(lean_object*); static lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__7; LEAN_EXPORT lean_object* l_MyNat_natFromMyNat(lean_object*); LEAN_EXPORT uint8_t l___private_NNG_MyNat_Definition_0__beqMyNat____x40_NNG_MyNat_Definition___hyg_15_(lean_object*, lean_object*); lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_MyNat_instToStringMyNat(lean_object*); lean_object* l_Lean_Syntax_node2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); static lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__8; static lean_object* l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__5; static lean_object* l_MyNat_one___closed__2; static lean_object* l_MyNat_one___closed__1; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_instBEqMyNat___closed__1; lean_object* l_Lean_Syntax_node1(lean_object*, lean_object*, lean_object*); static lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__6; lean_object* lean_nat_sub(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_MyNat_myNatFromNat___boxed(lean_object*); static lean_object* l_term_u2115___closed__4; LEAN_EXPORT lean_object* l_MyNat_natFromMyNat___boxed(lean_object*); LEAN_EXPORT lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_instDecidableEqMyNat(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_instDecidableEqMyNat___boxed(lean_object*, lean_object*); static lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__1; lean_object* lean_nat_add(lean_object*, lean_object*); static lean_object* l_term_u2115___closed__3; static lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__2; LEAN_EXPORT lean_object* l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1(lean_object*, lean_object*, lean_object*); lean_object* l_String_toSubstring_x27(lean_object*); lean_object* l_Nat_repr(lean_object*); static lean_object* l_term_u2115___closed__2; LEAN_EXPORT lean_object* l_instBEqMyNat; LEAN_EXPORT lean_object* l_MyNat_ofNat___boxed(lean_object*); LEAN_EXPORT uint8_t l___private_NNG_MyNat_Definition_0__beqMyNat____x40_NNG_MyNat_Definition___hyg_15_(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_1) == 0) { if (lean_obj_tag(x_2) == 0) { uint8_t x_3; x_3 = 1; return x_3; } else { uint8_t x_4; x_4 = 0; return x_4; } } else { if (lean_obj_tag(x_2) == 0) { uint8_t x_5; x_5 = 0; return x_5; } else { lean_object* x_6; lean_object* x_7; x_6 = lean_ctor_get(x_1, 0); x_7 = lean_ctor_get(x_2, 0); x_1 = x_6; x_2 = x_7; goto _start; } } } } LEAN_EXPORT lean_object* l___private_NNG_MyNat_Definition_0__beqMyNat____x40_NNG_MyNat_Definition___hyg_15____boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; x_3 = l___private_NNG_MyNat_Definition_0__beqMyNat____x40_NNG_MyNat_Definition___hyg_15_(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); return x_4; } } static lean_object* _init_l_instBEqMyNat___closed__1() { _start: { lean_object* x_1; x_1 = lean_alloc_closure((void*)(l___private_NNG_MyNat_Definition_0__beqMyNat____x40_NNG_MyNat_Definition___hyg_15____boxed), 2, 0); return x_1; } } static lean_object* _init_l_instBEqMyNat() { _start: { lean_object* x_1; x_1 = l_instBEqMyNat___closed__1; return x_1; } } LEAN_EXPORT uint8_t l___private_NNG_MyNat_Definition_0__decEqMyNat____x40_NNG_MyNat_Definition___hyg_99_(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_1) == 0) { if (lean_obj_tag(x_2) == 0) { uint8_t x_3; x_3 = 1; return x_3; } else { uint8_t x_4; x_4 = 0; return x_4; } } else { if (lean_obj_tag(x_2) == 0) { uint8_t x_5; x_5 = 0; return x_5; } else { lean_object* x_6; lean_object* x_7; x_6 = lean_ctor_get(x_1, 0); x_7 = lean_ctor_get(x_2, 0); x_1 = x_6; x_2 = x_7; goto _start; } } } } LEAN_EXPORT lean_object* l___private_NNG_MyNat_Definition_0__decEqMyNat____x40_NNG_MyNat_Definition___hyg_99____boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; x_3 = l___private_NNG_MyNat_Definition_0__decEqMyNat____x40_NNG_MyNat_Definition___hyg_99_(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); return x_4; } } LEAN_EXPORT uint8_t l_instDecidableEqMyNat(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; x_3 = l___private_NNG_MyNat_Definition_0__decEqMyNat____x40_NNG_MyNat_Definition___hyg_99_(x_1, x_2); return x_3; } } LEAN_EXPORT lean_object* l_instDecidableEqMyNat___boxed(lean_object* x_1, lean_object* x_2) { _start: { uint8_t x_3; lean_object* x_4; x_3 = l_instDecidableEqMyNat(x_1, x_2); lean_dec(x_2); lean_dec(x_1); x_4 = lean_box(x_3); return x_4; } } static lean_object* _init_l_instInhabitedMyNat() { _start: { lean_object* x_1; x_1 = lean_box(0); return x_1; } } static lean_object* _init_l_term_u2115___closed__1() { _start: { lean_object* x_1; x_1 = lean_mk_string_from_bytes("termℕ", 7); return x_1; } } static lean_object* _init_l_term_u2115___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = l_term_u2115___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } static lean_object* _init_l_term_u2115___closed__3() { _start: { lean_object* x_1; x_1 = lean_mk_string_from_bytes("ℕ", 3); return x_1; } } static lean_object* _init_l_term_u2115___closed__4() { _start: { lean_object* x_1; lean_object* x_2; x_1 = l_term_u2115___closed__3; x_2 = lean_alloc_ctor(5, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } static lean_object* _init_l_term_u2115___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_term_u2115___closed__2; x_2 = lean_unsigned_to_nat(1024u); x_3 = l_term_u2115___closed__4; x_4 = lean_alloc_ctor(3, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); lean_ctor_set(x_4, 2, x_3); return x_4; } } static lean_object* _init_l_term_u2115() { _start: { lean_object* x_1; x_1 = l_term_u2115___closed__5; return x_1; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__1() { _start: { lean_object* x_1; x_1 = lean_mk_string_from_bytes("MyNat", 5); return x_1; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; x_1 = l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__1; x_2 = l_String_toSubstring_x27(x_1); return x_2; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__3; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__5() { _start: { lean_object* x_1; lean_object* x_2; x_1 = l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__3; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__5; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__4; x_2 = l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__6; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } LEAN_EXPORT lean_object* l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; x_4 = l_term_u2115___closed__2; x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); if (x_5 == 0) { lean_object* x_6; lean_object* x_7; lean_dec(x_2); x_6 = lean_box(1); x_7 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_7, 0, x_6); lean_ctor_set(x_7, 1, x_3); return x_7; } else { lean_object* x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; x_8 = lean_ctor_get(x_2, 5); lean_inc(x_8); x_9 = 0; x_10 = l_Lean_SourceInfo_fromRef(x_8, x_9); x_11 = lean_ctor_get(x_2, 2); lean_inc(x_11); x_12 = lean_ctor_get(x_2, 1); lean_inc(x_12); lean_dec(x_2); x_13 = l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__3; x_14 = l_Lean_addMacroScope(x_12, x_13, x_11); x_15 = l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__2; x_16 = l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__7; x_17 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_17, 0, x_10); lean_ctor_set(x_17, 1, x_15); lean_ctor_set(x_17, 2, x_14); lean_ctor_set(x_17, 3, x_16); x_18 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_18, 0, x_17); lean_ctor_set(x_18, 1, x_3); return x_18; } } } static lean_object* _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__1() { _start: { lean_object* x_1; x_1 = lean_mk_string_from_bytes("ident", 5); return x_1; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__3() { _start: { lean_object* x_1; x_1 = lean_mk_string_from_bytes("Lean", 4); return x_1; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__4() { _start: { lean_object* x_1; x_1 = lean_mk_string_from_bytes("Parser", 6); return x_1; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__5() { _start: { lean_object* x_1; x_1 = lean_mk_string_from_bytes("Term", 4); return x_1; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__6() { _start: { lean_object* x_1; x_1 = lean_mk_string_from_bytes("app", 3); return x_1; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__3; x_2 = l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__4; x_3 = l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__5; x_4 = l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__6; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__8() { _start: { lean_object* x_1; x_1 = lean_mk_string_from_bytes("null", 4); return x_1; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); x_2 = l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__8; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } static lean_object* _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__10() { _start: { lean_object* x_1; lean_object* x_2; x_1 = lean_unsigned_to_nat(0u); x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } LEAN_EXPORT lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; x_4 = l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__2; lean_inc(x_1); x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); if (x_5 == 0) { lean_object* x_6; uint8_t x_7; x_6 = l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__7; lean_inc(x_1); x_7 = l_Lean_Syntax_isOfKind(x_1, x_6); if (x_7 == 0) { lean_object* x_8; lean_object* x_9; lean_dec(x_1); x_8 = lean_box(0); x_9 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_9, 0, x_8); lean_ctor_set(x_9, 1, x_3); return x_9; } else { lean_object* x_10; lean_object* x_11; uint8_t x_12; x_10 = lean_unsigned_to_nat(0u); x_11 = l_Lean_Syntax_getArg(x_1, x_10); lean_inc(x_11); x_12 = l_Lean_Syntax_isOfKind(x_11, x_4); if (x_12 == 0) { lean_object* x_13; lean_object* x_14; lean_dec(x_11); lean_dec(x_1); x_13 = lean_box(0); x_14 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_14, 0, x_13); lean_ctor_set(x_14, 1, x_3); return x_14; } else { lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; x_15 = lean_unsigned_to_nat(1u); x_16 = l_Lean_Syntax_getArg(x_1, x_15); lean_dec(x_1); x_17 = l_Lean_Syntax_getArgs(x_16); lean_dec(x_16); x_18 = l_Lean_replaceRef(x_11, x_2); lean_dec(x_11); x_19 = 0; x_20 = l_Lean_SourceInfo_fromRef(x_18, x_19); x_21 = l_term_u2115___closed__3; lean_inc(x_20); x_22 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_22, 0, x_20); lean_ctor_set(x_22, 1, x_21); x_23 = l_term_u2115___closed__2; lean_inc(x_20); x_24 = l_Lean_Syntax_node1(x_20, x_23, x_22); x_25 = l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__10; x_26 = l_Array_append___rarg(x_25, x_17); x_27 = l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__9; lean_inc(x_20); x_28 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_28, 0, x_20); lean_ctor_set(x_28, 1, x_27); lean_ctor_set(x_28, 2, x_26); x_29 = l_Lean_Syntax_node2(x_20, x_6, x_24, x_28); x_30 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_30, 0, x_29); lean_ctor_set(x_30, 1, x_3); return x_30; } } } else { lean_object* x_31; uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; x_31 = l_Lean_replaceRef(x_1, x_2); lean_dec(x_1); x_32 = 0; x_33 = l_Lean_SourceInfo_fromRef(x_31, x_32); x_34 = l_term_u2115___closed__3; lean_inc(x_33); x_35 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_35, 0, x_33); lean_ctor_set(x_35, 1, x_34); x_36 = l_term_u2115___closed__2; x_37 = l_Lean_Syntax_node1(x_33, x_36, x_35); x_38 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_38, 0, x_37); lean_ctor_set(x_38, 1, x_3); return x_38; } } } LEAN_EXPORT lean_object* l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; x_4 = l___aux__NNG__MyNat__Definition______unexpand__MyNat__1(x_1, x_2, x_3); lean_dec(x_2); return x_4; } } static lean_object* _init_l_MyNat_instInhabitedMyNat() { _start: { lean_object* x_1; x_1 = lean_box(0); return x_1; } } LEAN_EXPORT lean_object* l_MyNat_myNatFromNat(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; x_2 = lean_unsigned_to_nat(0u); x_3 = lean_nat_dec_eq(x_1, x_2); if (x_3 == 0) { lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; x_4 = lean_unsigned_to_nat(1u); x_5 = lean_nat_sub(x_1, x_4); x_6 = l_MyNat_myNatFromNat(x_5); lean_dec(x_5); x_7 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_7, 0, x_6); return x_7; } else { lean_object* x_8; x_8 = lean_box(0); return x_8; } } } LEAN_EXPORT lean_object* l_MyNat_myNatFromNat___boxed(lean_object* x_1) { _start: { lean_object* x_2; x_2 = l_MyNat_myNatFromNat(x_1); lean_dec(x_1); return x_2; } } LEAN_EXPORT lean_object* l_MyNat_natFromMyNat(lean_object* x_1) { _start: { if (lean_obj_tag(x_1) == 0) { lean_object* x_2; x_2 = lean_unsigned_to_nat(0u); return x_2; } else { lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_3 = lean_ctor_get(x_1, 0); x_4 = l_MyNat_natFromMyNat(x_3); x_5 = lean_unsigned_to_nat(1u); x_6 = lean_nat_add(x_4, x_5); lean_dec(x_4); return x_6; } } } LEAN_EXPORT lean_object* l_MyNat_natFromMyNat___boxed(lean_object* x_1) { _start: { lean_object* x_2; x_2 = l_MyNat_natFromMyNat(x_1); lean_dec(x_1); return x_2; } } LEAN_EXPORT lean_object* l_MyNat_ofNat(lean_object* x_1) { _start: { lean_object* x_2; x_2 = l_MyNat_myNatFromNat(x_1); return x_2; } } LEAN_EXPORT lean_object* l_MyNat_ofNat___boxed(lean_object* x_1) { _start: { lean_object* x_2; x_2 = l_MyNat_ofNat(x_1); lean_dec(x_1); return x_2; } } LEAN_EXPORT lean_object* l_MyNat_instToStringMyNat(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; x_2 = l_MyNat_natFromMyNat(x_1); x_3 = l_Nat_repr(x_2); return x_3; } } LEAN_EXPORT lean_object* l_MyNat_instToStringMyNat___boxed(lean_object* x_1) { _start: { lean_object* x_2; x_2 = l_MyNat_instToStringMyNat(x_1); lean_dec(x_1); return x_2; } } static lean_object* _init_l_MyNat_one___closed__1() { _start: { lean_object* x_1; lean_object* x_2; x_1 = lean_unsigned_to_nat(0u); x_2 = l_MyNat_myNatFromNat(x_1); return x_2; } } static lean_object* _init_l_MyNat_one___closed__2() { _start: { lean_object* x_1; lean_object* x_2; x_1 = l_MyNat_one___closed__1; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } static lean_object* _init_l_MyNat_one() { _start: { lean_object* x_1; x_1 = l_MyNat_one___closed__2; return x_1; } } lean_object* initialize_Init(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_NNG_MyNat_Definition(uint8_t builtin, lean_object* w) { lean_object * res; if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); _G_initialized = true; res = initialize_Init(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_instBEqMyNat___closed__1 = _init_l_instBEqMyNat___closed__1(); lean_mark_persistent(l_instBEqMyNat___closed__1); l_instBEqMyNat = _init_l_instBEqMyNat(); lean_mark_persistent(l_instBEqMyNat); l_instInhabitedMyNat = _init_l_instInhabitedMyNat(); lean_mark_persistent(l_instInhabitedMyNat); l_term_u2115___closed__1 = _init_l_term_u2115___closed__1(); lean_mark_persistent(l_term_u2115___closed__1); l_term_u2115___closed__2 = _init_l_term_u2115___closed__2(); lean_mark_persistent(l_term_u2115___closed__2); l_term_u2115___closed__3 = _init_l_term_u2115___closed__3(); lean_mark_persistent(l_term_u2115___closed__3); l_term_u2115___closed__4 = _init_l_term_u2115___closed__4(); lean_mark_persistent(l_term_u2115___closed__4); l_term_u2115___closed__5 = _init_l_term_u2115___closed__5(); lean_mark_persistent(l_term_u2115___closed__5); l_term_u2115 = _init_l_term_u2115(); lean_mark_persistent(l_term_u2115); l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__1 = _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__1(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__1); l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__2 = _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__2(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__2); l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__3 = _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__3(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__3); l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__4 = _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__4(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__4); l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__5 = _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__5(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__5); l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__6 = _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__6(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__6); l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__7 = _init_l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__7(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______macroRules__term_u2115__1___closed__7); l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__1 = _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__1(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__1); l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__2 = _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__2(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__2); l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__3 = _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__3(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__3); l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__4 = _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__4(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__4); l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__5 = _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__5(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__5); l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__6 = _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__6(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__6); l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__7 = _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__7(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__7); l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__8 = _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__8(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__8); l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__9 = _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__9(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__9); l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__10 = _init_l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__10(); lean_mark_persistent(l___aux__NNG__MyNat__Definition______unexpand__MyNat__1___closed__10); l_MyNat_instInhabitedMyNat = _init_l_MyNat_instInhabitedMyNat(); lean_mark_persistent(l_MyNat_instInhabitedMyNat); l_MyNat_one___closed__1 = _init_l_MyNat_one___closed__1(); lean_mark_persistent(l_MyNat_one___closed__1); l_MyNat_one___closed__2 = _init_l_MyNat_one___closed__2(); lean_mark_persistent(l_MyNat_one___closed__2); l_MyNat_one = _init_l_MyNat_one(); lean_mark_persistent(l_MyNat_one); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus } #endif