// Lean compiler output // Module: init.data.uint // Imports: init.data.fin.basic #include "runtime/object.h" #include "runtime/apply.h" typedef lean::object obj; typedef lean::usize usize; typedef lean::uint8 uint8; typedef lean::uint16 uint16; typedef lean::uint32 uint32; typedef lean::uint64 uint64; #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 obj* l_uint32_mul___boxed(obj*, obj*); obj* l_uint8_div___boxed(obj*, obj*); namespace lean { uint64 uint64_modn(uint64, obj*); } obj* l_uint8_has__le; obj* l_uint16_inhabited___boxed; obj* l_uint32_has__decidable__le___boxed(obj*, obj*); uint8 l_uint32_has__decidable__lt(uint32, uint32); uint8 l_uint8_has__decidable__lt(uint8, uint8); obj* l_uint64_has__sub; obj* l_uint8_inhabited___boxed; obj* l_uint8_mod___boxed(obj*, obj*); obj* l_uint32_lt; namespace lean { obj* uint16_to_nat(uint16); } obj* l_uint16_has__decidable__le___boxed(obj*, obj*); obj* l_uint16_sub___boxed(obj*, obj*); obj* l_uint16_has__sub; obj* l_uint32_has__le; obj* l_uint16_lt; uint8 l_uint16_has__decidable__le(uint16, uint16); obj* l_uint64_add___boxed(obj*, obj*); obj* l_uint16_has__decidable__lt___boxed(obj*, obj*); obj* l_uint8_add___boxed(obj*, obj*); obj* l_uint16_dec__lt___boxed(obj*, obj*); obj* l_uint64_inhabited___boxed; obj* l_uint16_has__add; uint8 l_uint32_has__decidable__le(uint32, uint32); uint32 l_uint32_inhabited; obj* l_uint32_decidable__eq; obj* l_uint32_has__mul; obj* l_uint64_div___boxed(obj*, obj*); obj* l_uint64_dec__eq___boxed(obj*, obj*); uint8 l_uint64_has__decidable__lt(uint64, uint64); obj* l_uint32_has__sub; uint8 l_uint8_inhabited; obj* l_uint16_add___boxed(obj*, obj*); obj* l_uint16_modn___boxed(obj*, obj*); obj* l_uint32_mod___boxed(obj*, obj*); obj* l_uint32_has__lt; obj* l_uint32_has__zero___boxed; obj* l_uint16_has__le; obj* l_uint32_sub___boxed(obj*, obj*); obj* l_uint32_has__div; obj* l_uint32_has__modn; obj* l_uint64_has__decidable__le___boxed(obj*, obj*); obj* l_uint8__sz; namespace lean { uint32 uint32_modn(uint32, obj*); } obj* l_uint64_has__mul; namespace lean { uint8 uint8_modn(uint8, obj*); } obj* l_uint8_has__decidable__le___boxed(obj*, obj*); uint8 l_uint16_has__decidable__lt(uint16, uint16); uint64 l_uint64_inhabited; uint64 l_uint64_has__zero; obj* l_uint8_has__mod; obj* l_uint16_div___boxed(obj*, obj*); uint8 l_uint8_has__one; obj* l_uint64_of__nat___boxed(obj*); namespace lean { uint16 uint16_of_nat(obj*); } obj* l_uint16_has__zero___boxed; obj* l_uint8_has__zero___boxed; obj* l_uint8_has__decidable__lt___boxed(obj*, obj*); obj* l_uint8_sub___boxed(obj*, obj*); obj* l_uint32__sz; obj* l_uint8_has__add; obj* l_uint8_le; obj* l_uint8_lt; obj* l_uint8_has__mul; obj* l_uint8_has__modn; obj* l_uint8_dec__le___boxed(obj*, obj*); obj* l_uint32_has__mod; obj* l_uint8_to__nat___boxed(obj*); namespace lean { uint16 uint16_modn(uint16, obj*); } obj* l_uint64_mul___boxed(obj*, obj*); obj* l_uint16_to__nat___boxed(obj*); obj* l_uint16_has__lt; obj* l_uint8_has__sub; uint32 l_uint32_has__zero; obj* l_uint32_of__nat___boxed(obj*); obj* l_uint8_mul___boxed(obj*, obj*); obj* l_uint16_has__div; obj* l_uint64_has__mod; uint16 l_uint16_inhabited; obj* l_uint32_le; obj* l_uint16_has__modn; obj* l_uint64__sz; namespace lean { obj* uint32_to_nat(uint32); } obj* l_uint8_of__nat___boxed(obj*); obj* l_uint8_has__div; uint64 l_uint64_has__one; obj* l_uint16_decidable__eq; obj* l_uint64_dec__lt___boxed(obj*, obj*); obj* l_uint64_has__lt; obj* l_uint64_has__div; obj* l_uint16_mul___boxed(obj*, obj*); obj* l_uint16_le; obj* l_uint16_mod___boxed(obj*, obj*); obj* l_uint32_dec__eq___boxed(obj*, obj*); obj* l_uint64_has__one___boxed; namespace lean { uint64 uint64_of_nat(obj*); } obj* l_uint64_lt; uint8 l_uint8_has__zero; obj* l_uint16_of__nat___boxed(obj*); obj* l_uint32_has__decidable__lt___boxed(obj*, obj*); obj* l_uint32_modn___boxed(obj*, obj*); namespace lean { obj* uint8_to_nat(uint8); } obj* l_uint32_add___boxed(obj*, obj*); obj* l_uint64_has__le; obj* l_uint32_div___boxed(obj*, obj*); namespace lean { obj* uint64_to_nat(uint64); } obj* l_uint16_has__one___boxed; obj* l_uint32_has__one___boxed; obj* l_uint64_has__decidable__lt___boxed(obj*, obj*); obj* l_uint64_mod___boxed(obj*, obj*); obj* l_uint32_dec__lt___boxed(obj*, obj*); obj* l_uint16_dec__eq___boxed(obj*, obj*); obj* l_uint8_dec__eq___boxed(obj*, obj*); obj* l_uint16_dec__le___boxed(obj*, obj*); obj* l_uint8_decidable__eq; obj* l_uint64_decidable__eq; uint16 l_uint16_has__one; obj* l_uint8_has__lt; obj* l_uint8_dec__lt___boxed(obj*, obj*); obj* l_uint64_to__nat___boxed(obj*); obj* l_uint8_has__one___boxed; obj* l_uint16_has__mod; obj* l_uint64_modn___boxed(obj*, obj*); obj* l_uint8_modn___boxed(obj*, obj*); namespace lean { uint32 uint32_of_nat(obj*); } obj* l_uint32_inhabited___boxed; obj* l_uint64_le; obj* l_uint32_to__nat___boxed(obj*); obj* l_uint16__sz; obj* l_uint16_has__mul; obj* l_uint64_has__modn; obj* l_uint64_has__add; obj* l_uint64_has__zero___boxed; uint16 l_uint16_has__zero; uint8 l_uint8_has__decidable__le(uint8, uint8); obj* l_uint32_dec__le___boxed(obj*, obj*); obj* l_uint64_dec__le___boxed(obj*, obj*); uint32 l_uint32_has__one; obj* l_uint64_sub___boxed(obj*, obj*); obj* l_uint32_has__add; uint8 l_uint64_has__decidable__le(uint64, uint64); namespace lean { uint8 uint8_of_nat(obj*); } obj* _init_l_uint8__sz() { _start: { obj* x_0; x_0 = lean::mk_nat_obj(256u); return x_0; } } obj* l_uint8_of__nat___boxed(obj* x_0) { _start: { uint8 x_1; obj* x_2; x_1 = lean::uint8_of_nat(x_0); x_2 = lean::box(x_1); return x_2; } } obj* l_uint8_to__nat___boxed(obj* x_0) { _start: { uint8 x_1; obj* x_2; x_1 = lean::unbox(x_0); x_2 = lean::uint8_to_nat(x_1); return x_2; } } obj* l_uint8_add___boxed(obj* x_0, obj* x_1) { _start: { uint8 x_2; uint8 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_2 + x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint8_sub___boxed(obj* x_0, obj* x_1) { _start: { uint8 x_2; uint8 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_2 - x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint8_mul___boxed(obj* x_0, obj* x_1) { _start: { uint8 x_2; uint8 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_2 * x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint8_div___boxed(obj* x_0, obj* x_1) { _start: { uint8 x_2; uint8 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_3 == 0 ? 0 : x_2 / x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint8_mod___boxed(obj* x_0, obj* x_1) { _start: { uint8 x_2; uint8 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_3 == 0 ? 0 : x_2 % x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint8_modn___boxed(obj* x_0, obj* x_1) { _start: { uint8 x_2; uint8 x_3; obj* x_4; x_2 = lean::unbox(x_0); x_3 = lean::uint8_modn(x_2, x_1); x_4 = lean::box(x_3); return x_4; } } obj* _init_l_uint8_lt() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } obj* _init_l_uint8_le() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } uint8 _init_l_uint8_has__zero() { _start: { uint8 x_0; x_0 = 0; return x_0; } } obj* _init_l_uint8_has__zero___boxed() { _start: { uint8 x_0; obj* x_1; x_0 = l_uint8_has__zero; x_1 = lean::box(x_0); return x_1; } } uint8 _init_l_uint8_has__one() { _start: { uint8 x_0; x_0 = 1; return x_0; } } obj* _init_l_uint8_has__one___boxed() { _start: { uint8 x_0; obj* x_1; x_0 = l_uint8_has__one; x_1 = lean::box(x_0); return x_1; } } obj* _init_l_uint8_has__add() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint8_add___boxed), 2, 0); return x_0; } } obj* _init_l_uint8_has__sub() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint8_sub___boxed), 2, 0); return x_0; } } obj* _init_l_uint8_has__mul() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint8_mul___boxed), 2, 0); return x_0; } } obj* _init_l_uint8_has__mod() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint8_mod___boxed), 2, 0); return x_0; } } obj* _init_l_uint8_has__modn() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint8_modn___boxed), 2, 0); return x_0; } } obj* _init_l_uint8_has__div() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint8_div___boxed), 2, 0); return x_0; } } obj* _init_l_uint8_has__lt() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } obj* _init_l_uint8_has__le() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } uint8 _init_l_uint8_inhabited() { _start: { uint8 x_0; x_0 = 0; return x_0; } } obj* _init_l_uint8_inhabited___boxed() { _start: { uint8 x_0; obj* x_1; x_0 = l_uint8_inhabited; x_1 = lean::box(x_0); return x_1; } } obj* l_uint8_dec__eq___boxed(obj* x_0, obj* x_1) { _start: { uint8 x_2; uint8 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_2 == x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint8_dec__lt___boxed(obj* x_0, obj* x_1) { _start: { uint8 x_2; uint8 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_2 < x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint8_dec__le___boxed(obj* x_0, obj* x_1) { _start: { uint8 x_2; uint8 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_2 <= x_3; x_5 = lean::box(x_4); return x_5; } } obj* _init_l_uint8_decidable__eq() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint8_dec__eq___boxed), 2, 0); return x_0; } } uint8 l_uint8_has__decidable__lt(uint8 x_0, uint8 x_1) { _start: { uint8 x_2; x_2 = x_0 < x_1; return x_2; } } obj* l_uint8_has__decidable__lt___boxed(obj* x_0, obj* x_1) { _start: { uint8 x_2; uint8 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = l_uint8_has__decidable__lt(x_2, x_3); x_5 = lean::box(x_4); return x_5; } } uint8 l_uint8_has__decidable__le(uint8 x_0, uint8 x_1) { _start: { uint8 x_2; x_2 = x_0 <= x_1; return x_2; } } obj* l_uint8_has__decidable__le___boxed(obj* x_0, obj* x_1) { _start: { uint8 x_2; uint8 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = l_uint8_has__decidable__le(x_2, x_3); x_5 = lean::box(x_4); return x_5; } } obj* _init_l_uint16__sz() { _start: { obj* x_0; x_0 = lean::mk_nat_obj(65536u); return x_0; } } obj* l_uint16_of__nat___boxed(obj* x_0) { _start: { uint16 x_1; obj* x_2; x_1 = lean::uint16_of_nat(x_0); x_2 = lean::box(x_1); return x_2; } } obj* l_uint16_to__nat___boxed(obj* x_0) { _start: { uint16 x_1; obj* x_2; x_1 = lean::unbox(x_0); x_2 = lean::uint16_to_nat(x_1); return x_2; } } obj* l_uint16_add___boxed(obj* x_0, obj* x_1) { _start: { uint16 x_2; uint16 x_3; uint16 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_2 + x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint16_sub___boxed(obj* x_0, obj* x_1) { _start: { uint16 x_2; uint16 x_3; uint16 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_2 - x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint16_mul___boxed(obj* x_0, obj* x_1) { _start: { uint16 x_2; uint16 x_3; uint16 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_2 * x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint16_div___boxed(obj* x_0, obj* x_1) { _start: { uint16 x_2; uint16 x_3; uint16 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_3 == 0 ? 0 : x_2 / x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint16_mod___boxed(obj* x_0, obj* x_1) { _start: { uint16 x_2; uint16 x_3; uint16 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_3 == 0 ? 0 : x_2 % x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint16_modn___boxed(obj* x_0, obj* x_1) { _start: { uint16 x_2; uint16 x_3; obj* x_4; x_2 = lean::unbox(x_0); x_3 = lean::uint16_modn(x_2, x_1); x_4 = lean::box(x_3); return x_4; } } obj* _init_l_uint16_lt() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } obj* _init_l_uint16_le() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } uint16 _init_l_uint16_has__zero() { _start: { uint16 x_0; x_0 = 0; return x_0; } } obj* _init_l_uint16_has__zero___boxed() { _start: { uint16 x_0; obj* x_1; x_0 = l_uint16_has__zero; x_1 = lean::box(x_0); return x_1; } } uint16 _init_l_uint16_has__one() { _start: { uint16 x_0; x_0 = 1; return x_0; } } obj* _init_l_uint16_has__one___boxed() { _start: { uint16 x_0; obj* x_1; x_0 = l_uint16_has__one; x_1 = lean::box(x_0); return x_1; } } obj* _init_l_uint16_has__add() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint16_add___boxed), 2, 0); return x_0; } } obj* _init_l_uint16_has__sub() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint16_sub___boxed), 2, 0); return x_0; } } obj* _init_l_uint16_has__mul() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint16_mul___boxed), 2, 0); return x_0; } } obj* _init_l_uint16_has__mod() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint16_mod___boxed), 2, 0); return x_0; } } obj* _init_l_uint16_has__modn() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint16_modn___boxed), 2, 0); return x_0; } } obj* _init_l_uint16_has__div() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint16_div___boxed), 2, 0); return x_0; } } obj* _init_l_uint16_has__lt() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } obj* _init_l_uint16_has__le() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } uint16 _init_l_uint16_inhabited() { _start: { uint16 x_0; x_0 = 0; return x_0; } } obj* _init_l_uint16_inhabited___boxed() { _start: { uint16 x_0; obj* x_1; x_0 = l_uint16_inhabited; x_1 = lean::box(x_0); return x_1; } } obj* l_uint16_dec__eq___boxed(obj* x_0, obj* x_1) { _start: { uint16 x_2; uint16 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_2 == x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint16_dec__lt___boxed(obj* x_0, obj* x_1) { _start: { uint16 x_2; uint16 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_2 < x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint16_dec__le___boxed(obj* x_0, obj* x_1) { _start: { uint16 x_2; uint16 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = x_2 <= x_3; x_5 = lean::box(x_4); return x_5; } } obj* _init_l_uint16_decidable__eq() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint16_dec__eq___boxed), 2, 0); return x_0; } } uint8 l_uint16_has__decidable__lt(uint16 x_0, uint16 x_1) { _start: { uint8 x_2; x_2 = x_0 < x_1; return x_2; } } obj* l_uint16_has__decidable__lt___boxed(obj* x_0, obj* x_1) { _start: { uint16 x_2; uint16 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = l_uint16_has__decidable__lt(x_2, x_3); x_5 = lean::box(x_4); return x_5; } } uint8 l_uint16_has__decidable__le(uint16 x_0, uint16 x_1) { _start: { uint8 x_2; x_2 = x_0 <= x_1; return x_2; } } obj* l_uint16_has__decidable__le___boxed(obj* x_0, obj* x_1) { _start: { uint16 x_2; uint16 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox(x_0); x_3 = lean::unbox(x_1); x_4 = l_uint16_has__decidable__le(x_2, x_3); x_5 = lean::box(x_4); return x_5; } } obj* _init_l_uint32__sz() { _start: { obj* x_0; x_0 = lean::mk_nat_obj(lean::mpz("4294967296")); return x_0; } } obj* l_uint32_of__nat___boxed(obj* x_0) { _start: { uint32 x_1; obj* x_2; x_1 = lean::uint32_of_nat(x_0); x_2 = lean::box_uint32(x_1); return x_2; } } obj* l_uint32_to__nat___boxed(obj* x_0) { _start: { uint32 x_1; obj* x_2; x_1 = lean::unbox_uint32(x_0); x_2 = lean::uint32_to_nat(x_1); return x_2; } } obj* l_uint32_add___boxed(obj* x_0, obj* x_1) { _start: { uint32 x_2; uint32 x_3; uint32 x_4; obj* x_5; x_2 = lean::unbox_uint32(x_0); x_3 = lean::unbox_uint32(x_1); x_4 = x_2 + x_3; x_5 = lean::box_uint32(x_4); return x_5; } } obj* l_uint32_sub___boxed(obj* x_0, obj* x_1) { _start: { uint32 x_2; uint32 x_3; uint32 x_4; obj* x_5; x_2 = lean::unbox_uint32(x_0); x_3 = lean::unbox_uint32(x_1); x_4 = x_2 - x_3; x_5 = lean::box_uint32(x_4); return x_5; } } obj* l_uint32_mul___boxed(obj* x_0, obj* x_1) { _start: { uint32 x_2; uint32 x_3; uint32 x_4; obj* x_5; x_2 = lean::unbox_uint32(x_0); x_3 = lean::unbox_uint32(x_1); x_4 = x_2 * x_3; x_5 = lean::box_uint32(x_4); return x_5; } } obj* l_uint32_div___boxed(obj* x_0, obj* x_1) { _start: { uint32 x_2; uint32 x_3; uint32 x_4; obj* x_5; x_2 = lean::unbox_uint32(x_0); x_3 = lean::unbox_uint32(x_1); x_4 = x_3 == 0 ? 0 : x_2 / x_3; x_5 = lean::box_uint32(x_4); return x_5; } } obj* l_uint32_mod___boxed(obj* x_0, obj* x_1) { _start: { uint32 x_2; uint32 x_3; uint32 x_4; obj* x_5; x_2 = lean::unbox_uint32(x_0); x_3 = lean::unbox_uint32(x_1); x_4 = x_3 == 0 ? 0 : x_2 % x_3; x_5 = lean::box_uint32(x_4); return x_5; } } obj* l_uint32_modn___boxed(obj* x_0, obj* x_1) { _start: { uint32 x_2; uint32 x_3; obj* x_4; x_2 = lean::unbox_uint32(x_0); x_3 = lean::uint32_modn(x_2, x_1); x_4 = lean::box_uint32(x_3); return x_4; } } obj* _init_l_uint32_lt() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } obj* _init_l_uint32_le() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } uint32 _init_l_uint32_has__zero() { _start: { uint32 x_0; x_0 = 0; return x_0; } } obj* _init_l_uint32_has__zero___boxed() { _start: { uint32 x_0; obj* x_1; x_0 = l_uint32_has__zero; x_1 = lean::box_uint32(x_0); return x_1; } } uint32 _init_l_uint32_has__one() { _start: { uint32 x_0; x_0 = 1; return x_0; } } obj* _init_l_uint32_has__one___boxed() { _start: { uint32 x_0; obj* x_1; x_0 = l_uint32_has__one; x_1 = lean::box_uint32(x_0); return x_1; } } obj* _init_l_uint32_has__add() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint32_add___boxed), 2, 0); return x_0; } } obj* _init_l_uint32_has__sub() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint32_sub___boxed), 2, 0); return x_0; } } obj* _init_l_uint32_has__mul() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint32_mul___boxed), 2, 0); return x_0; } } obj* _init_l_uint32_has__mod() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint32_mod___boxed), 2, 0); return x_0; } } obj* _init_l_uint32_has__modn() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint32_modn___boxed), 2, 0); return x_0; } } obj* _init_l_uint32_has__div() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint32_div___boxed), 2, 0); return x_0; } } obj* _init_l_uint32_has__lt() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } obj* _init_l_uint32_has__le() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } uint32 _init_l_uint32_inhabited() { _start: { uint32 x_0; x_0 = 0; return x_0; } } obj* _init_l_uint32_inhabited___boxed() { _start: { uint32 x_0; obj* x_1; x_0 = l_uint32_inhabited; x_1 = lean::box_uint32(x_0); return x_1; } } obj* l_uint32_dec__eq___boxed(obj* x_0, obj* x_1) { _start: { uint32 x_2; uint32 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox_uint32(x_0); x_3 = lean::unbox_uint32(x_1); x_4 = x_2 == x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint32_dec__lt___boxed(obj* x_0, obj* x_1) { _start: { uint32 x_2; uint32 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox_uint32(x_0); x_3 = lean::unbox_uint32(x_1); x_4 = x_2 < x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint32_dec__le___boxed(obj* x_0, obj* x_1) { _start: { uint32 x_2; uint32 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox_uint32(x_0); x_3 = lean::unbox_uint32(x_1); x_4 = x_2 <= x_3; x_5 = lean::box(x_4); return x_5; } } obj* _init_l_uint32_decidable__eq() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint32_dec__eq___boxed), 2, 0); return x_0; } } uint8 l_uint32_has__decidable__lt(uint32 x_0, uint32 x_1) { _start: { uint8 x_2; x_2 = x_0 < x_1; return x_2; } } obj* l_uint32_has__decidable__lt___boxed(obj* x_0, obj* x_1) { _start: { uint32 x_2; uint32 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox_uint32(x_0); x_3 = lean::unbox_uint32(x_1); x_4 = l_uint32_has__decidable__lt(x_2, x_3); x_5 = lean::box(x_4); return x_5; } } uint8 l_uint32_has__decidable__le(uint32 x_0, uint32 x_1) { _start: { uint8 x_2; x_2 = x_0 <= x_1; return x_2; } } obj* l_uint32_has__decidable__le___boxed(obj* x_0, obj* x_1) { _start: { uint32 x_2; uint32 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox_uint32(x_0); x_3 = lean::unbox_uint32(x_1); x_4 = l_uint32_has__decidable__le(x_2, x_3); x_5 = lean::box(x_4); return x_5; } } obj* _init_l_uint64__sz() { _start: { obj* x_0; x_0 = lean::mk_nat_obj(lean::mpz("18446744073709551616")); return x_0; } } obj* l_uint64_of__nat___boxed(obj* x_0) { _start: { uint64 x_1; obj* x_2; x_1 = lean::uint64_of_nat(x_0); x_2 = lean::box_uint64(x_1); return x_2; } } obj* l_uint64_to__nat___boxed(obj* x_0) { _start: { uint64 x_1; obj* x_2; x_1 = lean::unbox_uint64(x_0); x_2 = lean::uint64_to_nat(x_1); return x_2; } } obj* l_uint64_add___boxed(obj* x_0, obj* x_1) { _start: { uint64 x_2; uint64 x_3; uint64 x_4; obj* x_5; x_2 = lean::unbox_uint64(x_0); x_3 = lean::unbox_uint64(x_1); x_4 = x_2 + x_3; x_5 = lean::box_uint64(x_4); return x_5; } } obj* l_uint64_sub___boxed(obj* x_0, obj* x_1) { _start: { uint64 x_2; uint64 x_3; uint64 x_4; obj* x_5; x_2 = lean::unbox_uint64(x_0); x_3 = lean::unbox_uint64(x_1); x_4 = x_2 - x_3; x_5 = lean::box_uint64(x_4); return x_5; } } obj* l_uint64_mul___boxed(obj* x_0, obj* x_1) { _start: { uint64 x_2; uint64 x_3; uint64 x_4; obj* x_5; x_2 = lean::unbox_uint64(x_0); x_3 = lean::unbox_uint64(x_1); x_4 = x_2 * x_3; x_5 = lean::box_uint64(x_4); return x_5; } } obj* l_uint64_div___boxed(obj* x_0, obj* x_1) { _start: { uint64 x_2; uint64 x_3; uint64 x_4; obj* x_5; x_2 = lean::unbox_uint64(x_0); x_3 = lean::unbox_uint64(x_1); x_4 = x_3 == 0 ? 0 : x_2 / x_3; x_5 = lean::box_uint64(x_4); return x_5; } } obj* l_uint64_mod___boxed(obj* x_0, obj* x_1) { _start: { uint64 x_2; uint64 x_3; uint64 x_4; obj* x_5; x_2 = lean::unbox_uint64(x_0); x_3 = lean::unbox_uint64(x_1); x_4 = x_3 == 0 ? 0 : x_2 % x_3; x_5 = lean::box_uint64(x_4); return x_5; } } obj* l_uint64_modn___boxed(obj* x_0, obj* x_1) { _start: { uint64 x_2; uint64 x_3; obj* x_4; x_2 = lean::unbox_uint64(x_0); x_3 = lean::uint64_modn(x_2, x_1); x_4 = lean::box_uint64(x_3); return x_4; } } obj* _init_l_uint64_lt() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } obj* _init_l_uint64_le() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } uint64 _init_l_uint64_has__zero() { _start: { uint64 x_0; x_0 = 0; return x_0; } } obj* _init_l_uint64_has__zero___boxed() { _start: { uint64 x_0; obj* x_1; x_0 = l_uint64_has__zero; x_1 = lean::box_uint64(x_0); return x_1; } } uint64 _init_l_uint64_has__one() { _start: { uint64 x_0; x_0 = 1; return x_0; } } obj* _init_l_uint64_has__one___boxed() { _start: { uint64 x_0; obj* x_1; x_0 = l_uint64_has__one; x_1 = lean::box_uint64(x_0); return x_1; } } obj* _init_l_uint64_has__add() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint64_add___boxed), 2, 0); return x_0; } } obj* _init_l_uint64_has__sub() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint64_sub___boxed), 2, 0); return x_0; } } obj* _init_l_uint64_has__mul() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint64_mul___boxed), 2, 0); return x_0; } } obj* _init_l_uint64_has__mod() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint64_mod___boxed), 2, 0); return x_0; } } obj* _init_l_uint64_has__modn() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint64_modn___boxed), 2, 0); return x_0; } } obj* _init_l_uint64_has__div() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint64_div___boxed), 2, 0); return x_0; } } obj* _init_l_uint64_has__lt() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } obj* _init_l_uint64_has__le() { _start: { obj* x_0; x_0 = lean::box(0); return x_0; } } uint64 _init_l_uint64_inhabited() { _start: { uint64 x_0; x_0 = 0; return x_0; } } obj* _init_l_uint64_inhabited___boxed() { _start: { uint64 x_0; obj* x_1; x_0 = l_uint64_inhabited; x_1 = lean::box_uint64(x_0); return x_1; } } obj* l_uint64_dec__eq___boxed(obj* x_0, obj* x_1) { _start: { uint64 x_2; uint64 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox_uint64(x_0); x_3 = lean::unbox_uint64(x_1); x_4 = x_2 == x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint64_dec__lt___boxed(obj* x_0, obj* x_1) { _start: { uint64 x_2; uint64 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox_uint64(x_0); x_3 = lean::unbox_uint64(x_1); x_4 = x_2 < x_3; x_5 = lean::box(x_4); return x_5; } } obj* l_uint64_dec__le___boxed(obj* x_0, obj* x_1) { _start: { uint64 x_2; uint64 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox_uint64(x_0); x_3 = lean::unbox_uint64(x_1); x_4 = x_2 <= x_3; x_5 = lean::box(x_4); return x_5; } } obj* _init_l_uint64_decidable__eq() { _start: { obj* x_0; x_0 = lean::alloc_closure(reinterpret_cast(l_uint64_dec__eq___boxed), 2, 0); return x_0; } } uint8 l_uint64_has__decidable__lt(uint64 x_0, uint64 x_1) { _start: { uint8 x_2; x_2 = x_0 < x_1; return x_2; } } obj* l_uint64_has__decidable__lt___boxed(obj* x_0, obj* x_1) { _start: { uint64 x_2; uint64 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox_uint64(x_0); x_3 = lean::unbox_uint64(x_1); x_4 = l_uint64_has__decidable__lt(x_2, x_3); x_5 = lean::box(x_4); return x_5; } } uint8 l_uint64_has__decidable__le(uint64 x_0, uint64 x_1) { _start: { uint8 x_2; x_2 = x_0 <= x_1; return x_2; } } obj* l_uint64_has__decidable__le___boxed(obj* x_0, obj* x_1) { _start: { uint64 x_2; uint64 x_3; uint8 x_4; obj* x_5; x_2 = lean::unbox_uint64(x_0); x_3 = lean::unbox_uint64(x_1); x_4 = l_uint64_has__decidable__le(x_2, x_3); x_5 = lean::box(x_4); return x_5; } } void initialize_init_data_fin_basic(); static bool _G_initialized = false; void initialize_init_data_uint() { if (_G_initialized) return; _G_initialized = true; initialize_init_data_fin_basic(); l_uint8__sz = _init_l_uint8__sz(); lean::mark_persistent(l_uint8__sz); l_uint8_lt = _init_l_uint8_lt(); lean::mark_persistent(l_uint8_lt); l_uint8_le = _init_l_uint8_le(); lean::mark_persistent(l_uint8_le); l_uint8_has__zero = _init_l_uint8_has__zero(); l_uint8_has__zero___boxed = _init_l_uint8_has__zero___boxed(); lean::mark_persistent(l_uint8_has__zero___boxed); l_uint8_has__one = _init_l_uint8_has__one(); l_uint8_has__one___boxed = _init_l_uint8_has__one___boxed(); lean::mark_persistent(l_uint8_has__one___boxed); l_uint8_has__add = _init_l_uint8_has__add(); lean::mark_persistent(l_uint8_has__add); l_uint8_has__sub = _init_l_uint8_has__sub(); lean::mark_persistent(l_uint8_has__sub); l_uint8_has__mul = _init_l_uint8_has__mul(); lean::mark_persistent(l_uint8_has__mul); l_uint8_has__mod = _init_l_uint8_has__mod(); lean::mark_persistent(l_uint8_has__mod); l_uint8_has__modn = _init_l_uint8_has__modn(); lean::mark_persistent(l_uint8_has__modn); l_uint8_has__div = _init_l_uint8_has__div(); lean::mark_persistent(l_uint8_has__div); l_uint8_has__lt = _init_l_uint8_has__lt(); lean::mark_persistent(l_uint8_has__lt); l_uint8_has__le = _init_l_uint8_has__le(); lean::mark_persistent(l_uint8_has__le); l_uint8_inhabited = _init_l_uint8_inhabited(); l_uint8_inhabited___boxed = _init_l_uint8_inhabited___boxed(); lean::mark_persistent(l_uint8_inhabited___boxed); l_uint8_decidable__eq = _init_l_uint8_decidable__eq(); lean::mark_persistent(l_uint8_decidable__eq); l_uint16__sz = _init_l_uint16__sz(); lean::mark_persistent(l_uint16__sz); l_uint16_lt = _init_l_uint16_lt(); lean::mark_persistent(l_uint16_lt); l_uint16_le = _init_l_uint16_le(); lean::mark_persistent(l_uint16_le); l_uint16_has__zero = _init_l_uint16_has__zero(); l_uint16_has__zero___boxed = _init_l_uint16_has__zero___boxed(); lean::mark_persistent(l_uint16_has__zero___boxed); l_uint16_has__one = _init_l_uint16_has__one(); l_uint16_has__one___boxed = _init_l_uint16_has__one___boxed(); lean::mark_persistent(l_uint16_has__one___boxed); l_uint16_has__add = _init_l_uint16_has__add(); lean::mark_persistent(l_uint16_has__add); l_uint16_has__sub = _init_l_uint16_has__sub(); lean::mark_persistent(l_uint16_has__sub); l_uint16_has__mul = _init_l_uint16_has__mul(); lean::mark_persistent(l_uint16_has__mul); l_uint16_has__mod = _init_l_uint16_has__mod(); lean::mark_persistent(l_uint16_has__mod); l_uint16_has__modn = _init_l_uint16_has__modn(); lean::mark_persistent(l_uint16_has__modn); l_uint16_has__div = _init_l_uint16_has__div(); lean::mark_persistent(l_uint16_has__div); l_uint16_has__lt = _init_l_uint16_has__lt(); lean::mark_persistent(l_uint16_has__lt); l_uint16_has__le = _init_l_uint16_has__le(); lean::mark_persistent(l_uint16_has__le); l_uint16_inhabited = _init_l_uint16_inhabited(); l_uint16_inhabited___boxed = _init_l_uint16_inhabited___boxed(); lean::mark_persistent(l_uint16_inhabited___boxed); l_uint16_decidable__eq = _init_l_uint16_decidable__eq(); lean::mark_persistent(l_uint16_decidable__eq); l_uint32__sz = _init_l_uint32__sz(); lean::mark_persistent(l_uint32__sz); l_uint32_lt = _init_l_uint32_lt(); lean::mark_persistent(l_uint32_lt); l_uint32_le = _init_l_uint32_le(); lean::mark_persistent(l_uint32_le); l_uint32_has__zero = _init_l_uint32_has__zero(); l_uint32_has__zero___boxed = _init_l_uint32_has__zero___boxed(); lean::mark_persistent(l_uint32_has__zero___boxed); l_uint32_has__one = _init_l_uint32_has__one(); l_uint32_has__one___boxed = _init_l_uint32_has__one___boxed(); lean::mark_persistent(l_uint32_has__one___boxed); l_uint32_has__add = _init_l_uint32_has__add(); lean::mark_persistent(l_uint32_has__add); l_uint32_has__sub = _init_l_uint32_has__sub(); lean::mark_persistent(l_uint32_has__sub); l_uint32_has__mul = _init_l_uint32_has__mul(); lean::mark_persistent(l_uint32_has__mul); l_uint32_has__mod = _init_l_uint32_has__mod(); lean::mark_persistent(l_uint32_has__mod); l_uint32_has__modn = _init_l_uint32_has__modn(); lean::mark_persistent(l_uint32_has__modn); l_uint32_has__div = _init_l_uint32_has__div(); lean::mark_persistent(l_uint32_has__div); l_uint32_has__lt = _init_l_uint32_has__lt(); lean::mark_persistent(l_uint32_has__lt); l_uint32_has__le = _init_l_uint32_has__le(); lean::mark_persistent(l_uint32_has__le); l_uint32_inhabited = _init_l_uint32_inhabited(); l_uint32_inhabited___boxed = _init_l_uint32_inhabited___boxed(); lean::mark_persistent(l_uint32_inhabited___boxed); l_uint32_decidable__eq = _init_l_uint32_decidable__eq(); lean::mark_persistent(l_uint32_decidable__eq); l_uint64__sz = _init_l_uint64__sz(); lean::mark_persistent(l_uint64__sz); l_uint64_lt = _init_l_uint64_lt(); lean::mark_persistent(l_uint64_lt); l_uint64_le = _init_l_uint64_le(); lean::mark_persistent(l_uint64_le); l_uint64_has__zero = _init_l_uint64_has__zero(); l_uint64_has__zero___boxed = _init_l_uint64_has__zero___boxed(); lean::mark_persistent(l_uint64_has__zero___boxed); l_uint64_has__one = _init_l_uint64_has__one(); l_uint64_has__one___boxed = _init_l_uint64_has__one___boxed(); lean::mark_persistent(l_uint64_has__one___boxed); l_uint64_has__add = _init_l_uint64_has__add(); lean::mark_persistent(l_uint64_has__add); l_uint64_has__sub = _init_l_uint64_has__sub(); lean::mark_persistent(l_uint64_has__sub); l_uint64_has__mul = _init_l_uint64_has__mul(); lean::mark_persistent(l_uint64_has__mul); l_uint64_has__mod = _init_l_uint64_has__mod(); lean::mark_persistent(l_uint64_has__mod); l_uint64_has__modn = _init_l_uint64_has__modn(); lean::mark_persistent(l_uint64_has__modn); l_uint64_has__div = _init_l_uint64_has__div(); lean::mark_persistent(l_uint64_has__div); l_uint64_has__lt = _init_l_uint64_has__lt(); lean::mark_persistent(l_uint64_has__lt); l_uint64_has__le = _init_l_uint64_has__le(); lean::mark_persistent(l_uint64_has__le); l_uint64_inhabited = _init_l_uint64_inhabited(); l_uint64_inhabited___boxed = _init_l_uint64_inhabited___boxed(); lean::mark_persistent(l_uint64_inhabited___boxed); l_uint64_decidable__eq = _init_l_uint64_decidable__eq(); lean::mark_persistent(l_uint64_decidable__eq); }