You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lean4game/server/nng/build/ir/NNG/MyNat/Definition.c

800 lines
27 KiB
C

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// Lean compiler output
// Module: NNG.MyNat.Definition
// Imports: Init
#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
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