// Lean compiler output
// Module: Init.Coe
// Imports: public import Init.Prelude public meta import Init.Prelude
#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* l_Lean_Name_mkStr1(lean_object*);
LEAN_EXPORT lean_object* l_instCoeTCOfCoe___redArg___lam__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeTCOfCoe___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeTCOfCoe(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeTCOfCoe__1___redArg___lam__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeTCOfCoe__1___redArg(lean_object*);
LEAN_EXPORT lean_object* l_instCoeTCOfCoe__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeTC___lam__0(lean_object*);
LEAN_EXPORT lean_object* l_instCoeTC___lam__0___boxed(lean_object*);
static const lean_closure_object l_instCoeTC___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_instCoeTC___lam__0___boxed, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_instCoeTC___closed__0 = (const lean_object*)&l_instCoeTC___closed__0_value;
LEAN_EXPORT lean_object* l_instCoeTC(lean_object*);
LEAN_EXPORT lean_object* l_instCoeOTCOfCoeOut___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeOTCOfCoeOut(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeOTCOfCoeTC___redArg(lean_object*);
LEAN_EXPORT lean_object* l_instCoeOTCOfCoeTC(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeOTC(lean_object*);
LEAN_EXPORT lean_object* l_instCoeHTCOfCoeHeadOfCoeOTC___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeHTCOfCoeHeadOfCoeOTC(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeHTCOfCoeOTC___redArg(lean_object*);
LEAN_EXPORT lean_object* l_instCoeHTCOfCoeOTC(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeHTC(lean_object*);
LEAN_EXPORT lean_object* l_instCoeHTCTOfCoeTailOfCoeHTC___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeHTCTOfCoeTailOfCoeHTC(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeHTCTOfCoeHTC___redArg(lean_object*);
LEAN_EXPORT lean_object* l_instCoeHTCTOfCoeHTC(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeHTCT(lean_object*);
LEAN_EXPORT lean_object* l_instCoeTOfCoeHTCT___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeTOfCoeHTCT(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeTOfCoeDep___redArg(lean_object*);
LEAN_EXPORT lean_object* l_instCoeTOfCoeDep___redArg___boxed(lean_object*);
LEAN_EXPORT lean_object* l_instCoeTOfCoeDep(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeTOfCoeDep___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeT___redArg(lean_object*);
LEAN_EXPORT lean_object* l_instCoeT___redArg___boxed(lean_object*);
LEAN_EXPORT lean_object* l_instCoeT(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeT___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeOutOfCoeFun___redArg(lean_object*);
LEAN_EXPORT lean_object* l_instCoeOutOfCoeFun(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeOutOfCoeSort___redArg(lean_object*);
LEAN_EXPORT lean_object* l_instCoeOutOfCoeSort(lean_object*, lean_object*, lean_object*);
static const lean_string_object l_coeNotation___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 = "coeNotation"};
static const lean_object* l_coeNotation___closed__0 = (const lean_object*)&l_coeNotation___closed__0_value;
static const lean_ctor_object l_coeNotation___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_coeNotation___closed__0_value),LEAN_SCALAR_PTR_LITERAL(40, 100, 71, 170, 251, 12, 50, 58)}};
static const lean_object* l_coeNotation___closed__1 = (const lean_object*)&l_coeNotation___closed__1_value;
static const lean_string_object l_coeNotation___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 = "andthen"};
static const lean_object* l_coeNotation___closed__2 = (const lean_object*)&l_coeNotation___closed__2_value;
static const lean_ctor_object l_coeNotation___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*)(((size_t)(0) << 1) | 1)),((lean_object*)&l_coeNotation___closed__2_value),LEAN_SCALAR_PTR_LITERAL(40, 255, 78, 30, 143, 119, 117, 174)}};
static const lean_object* l_coeNotation___closed__3 = (const lean_object*)&l_coeNotation___closed__3_value;
static const lean_string_object l_coeNotation___closed__4_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_coeNotation___closed__4 = (const lean_object*)&l_coeNotation___closed__4_value;
static const lean_ctor_object l_coeNotation___closed__5_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_coeNotation___closed__4_value)}};
static const lean_object* l_coeNotation___closed__5 = (const lean_object*)&l_coeNotation___closed__5_value;
static const lean_string_object l_coeNotation___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 = "term"};
static const lean_object* l_coeNotation___closed__6 = (const lean_object*)&l_coeNotation___closed__6_value;
static const lean_ctor_object l_coeNotation___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_coeNotation___closed__6_value),LEAN_SCALAR_PTR_LITERAL(187, 230, 181, 162, 253, 146, 122, 119)}};
static const lean_object* l_coeNotation___closed__7 = (const lean_object*)&l_coeNotation___closed__7_value;
static const lean_ctor_object l_coeNotation___closed__8_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*2 + 0, .m_other = 2, .m_tag = 7}, .m_objs = {((lean_object*)&l_coeNotation___closed__7_value),((lean_object*)(((size_t)(1024) << 1) | 1))}};
static const lean_object* l_coeNotation___closed__8 = (const lean_object*)&l_coeNotation___closed__8_value;
static const lean_ctor_object l_coeNotation___closed__9_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_coeNotation___closed__3_value),((lean_object*)&l_coeNotation___closed__5_value),((lean_object*)&l_coeNotation___closed__8_value)}};
static const lean_object* l_coeNotation___closed__9 = (const lean_object*)&l_coeNotation___closed__9_value;
static const lean_ctor_object l_coeNotation___closed__10_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_coeNotation___closed__1_value),((lean_object*)(((size_t)(1024) << 1) | 1)),((lean_object*)&l_coeNotation___closed__9_value)}};
static const lean_object* l_coeNotation___closed__10 = (const lean_object*)&l_coeNotation___closed__10_value;
LEAN_EXPORT const lean_object* l_coeNotation = (const lean_object*)&l_coeNotation___closed__10_value;
static const lean_string_object l_coeFunNotation___closed__0_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 = "coeFunNotation"};
static const lean_object* l_coeFunNotation___closed__0 = (const lean_object*)&l_coeFunNotation___closed__0_value;
static const lean_ctor_object l_coeFunNotation___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_coeFunNotation___closed__0_value),LEAN_SCALAR_PTR_LITERAL(162, 100, 119, 10, 124, 40, 121, 250)}};
static const lean_object* l_coeFunNotation___closed__1 = (const lean_object*)&l_coeFunNotation___closed__1_value;
static const lean_string_object l_coeFunNotation___closed__2_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_coeFunNotation___closed__2 = (const lean_object*)&l_coeFunNotation___closed__2_value;
static const lean_ctor_object l_coeFunNotation___closed__3_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_coeFunNotation___closed__2_value)}};
static const lean_object* l_coeFunNotation___closed__3 = (const lean_object*)&l_coeFunNotation___closed__3_value;
static const lean_ctor_object l_coeFunNotation___closed__4_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_coeNotation___closed__3_value),((lean_object*)&l_coeFunNotation___closed__3_value),((lean_object*)&l_coeNotation___closed__8_value)}};
static const lean_object* l_coeFunNotation___closed__4 = (const lean_object*)&l_coeFunNotation___closed__4_value;
static const lean_ctor_object l_coeFunNotation___closed__5_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_coeFunNotation___closed__1_value),((lean_object*)(((size_t)(1024) << 1) | 1)),((lean_object*)&l_coeFunNotation___closed__4_value)}};
static const lean_object* l_coeFunNotation___closed__5 = (const lean_object*)&l_coeFunNotation___closed__5_value;
LEAN_EXPORT const lean_object* l_coeFunNotation = (const lean_object*)&l_coeFunNotation___closed__5_value;
static const lean_string_object l_coeSortNotation___closed__0_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 = "coeSortNotation"};
static const lean_object* l_coeSortNotation___closed__0 = (const lean_object*)&l_coeSortNotation___closed__0_value;
static const lean_ctor_object l_coeSortNotation___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_coeSortNotation___closed__0_value),LEAN_SCALAR_PTR_LITERAL(24, 190, 27, 248, 164, 200, 2, 94)}};
static const lean_object* l_coeSortNotation___closed__1 = (const lean_object*)&l_coeSortNotation___closed__1_value;
static const lean_string_object l_coeSortNotation___closed__2_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_coeSortNotation___closed__2 = (const lean_object*)&l_coeSortNotation___closed__2_value;
static const lean_ctor_object l_coeSortNotation___closed__3_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_coeSortNotation___closed__2_value)}};
static const lean_object* l_coeSortNotation___closed__3 = (const lean_object*)&l_coeSortNotation___closed__3_value;
static const lean_ctor_object l_coeSortNotation___closed__4_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_coeNotation___closed__3_value),((lean_object*)&l_coeSortNotation___closed__3_value),((lean_object*)&l_coeNotation___closed__8_value)}};
static const lean_object* l_coeSortNotation___closed__4 = (const lean_object*)&l_coeSortNotation___closed__4_value;
static const lean_ctor_object l_coeSortNotation___closed__5_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_coeSortNotation___closed__1_value),((lean_object*)(((size_t)(1024) << 1) | 1)),((lean_object*)&l_coeSortNotation___closed__4_value)}};
static const lean_object* l_coeSortNotation___closed__5 = (const lean_object*)&l_coeSortNotation___closed__5_value;
LEAN_EXPORT const lean_object* l_coeSortNotation = (const lean_object*)&l_coeSortNotation___closed__5_value;
LEAN_EXPORT lean_object* l_boolToProp;
LEAN_EXPORT lean_object* l_boolToSort;
LEAN_EXPORT uint8_t l_decPropToBool___redArg(uint8_t);
LEAN_EXPORT lean_object* l_decPropToBool___redArg___boxed(lean_object*);
LEAN_EXPORT uint8_t l_decPropToBool(lean_object*, uint8_t);
LEAN_EXPORT lean_object* l_decPropToBool___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_subtypeCoe___lam__0(lean_object*);
LEAN_EXPORT lean_object* l_subtypeCoe___lam__0___boxed(lean_object*);
static const lean_closure_object l_subtypeCoe___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_subtypeCoe___lam__0___boxed, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_subtypeCoe___closed__0 = (const lean_object*)&l_subtypeCoe___closed__0_value;
LEAN_EXPORT lean_object* l_subtypeCoe(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Internal_liftCoeM___redArg___lam__0(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Internal_liftCoeM___redArg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Internal_liftCoeM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Internal_coeM___redArg(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Internal_coeM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_instCoeTCOfCoe___redArg___lam__0(lean_object* v_inst_1_, lean_object* v_inst_2_, lean_object* v_a_3_){
_start:
{
lean_object* v___x_4_; lean_object* v___x_5_; 
v___x_4_ = lean_apply_1(v_inst_1_, v_a_3_);
v___x_5_ = lean_apply_1(v_inst_2_, v___x_4_);
return v___x_5_;
}
}
LEAN_EXPORT lean_object* l_instCoeTCOfCoe___redArg(lean_object* v_inst_6_, lean_object* v_inst_7_){
_start:
{
lean_object* v___f_8_; 
v___f_8_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe___redArg___lam__0), 3, 2);
lean_closure_set(v___f_8_, 0, v_inst_7_);
lean_closure_set(v___f_8_, 1, v_inst_6_);
return v___f_8_;
}
}
LEAN_EXPORT lean_object* l_instCoeTCOfCoe(lean_object* v_00_u03b2_9_, lean_object* v_00_u03b3_10_, lean_object* v_00_u03b1_11_, lean_object* v_inst_12_, lean_object* v_inst_13_){
_start:
{
lean_object* v___f_14_; 
v___f_14_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe___redArg___lam__0), 3, 2);
lean_closure_set(v___f_14_, 0, v_inst_13_);
lean_closure_set(v___f_14_, 1, v_inst_12_);
return v___f_14_;
}
}
LEAN_EXPORT lean_object* l_instCoeTCOfCoe__1___redArg___lam__0(lean_object* v_inst_15_, lean_object* v_a_16_){
_start:
{
lean_object* v___x_17_; 
v___x_17_ = lean_apply_1(v_inst_15_, v_a_16_);
return v___x_17_;
}
}
LEAN_EXPORT lean_object* l_instCoeTCOfCoe__1___redArg(lean_object* v_inst_18_){
_start:
{
lean_object* v___f_19_; 
v___f_19_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe__1___redArg___lam__0), 2, 1);
lean_closure_set(v___f_19_, 0, v_inst_18_);
return v___f_19_;
}
}
LEAN_EXPORT lean_object* l_instCoeTCOfCoe__1(lean_object* v_00_u03b1_20_, lean_object* v_00_u03b2_21_, lean_object* v_inst_22_){
_start:
{
lean_object* v___f_23_; 
v___f_23_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe__1___redArg___lam__0), 2, 1);
lean_closure_set(v___f_23_, 0, v_inst_22_);
return v___f_23_;
}
}
LEAN_EXPORT lean_object* l_instCoeTC___lam__0(lean_object* v_a_24_){
_start:
{
lean_inc(v_a_24_);
return v_a_24_;
}
}
LEAN_EXPORT lean_object* l_instCoeTC___lam__0___boxed(lean_object* v_a_25_){
_start:
{
lean_object* v_res_26_; 
v_res_26_ = l_instCoeTC___lam__0(v_a_25_);
lean_dec(v_a_25_);
return v_res_26_;
}
}
LEAN_EXPORT lean_object* l_instCoeTC(lean_object* v_00_u03b1_28_){
_start:
{
lean_object* v___f_29_; 
v___f_29_ = ((lean_object*)(l_instCoeTC___closed__0));
return v___f_29_;
}
}
LEAN_EXPORT lean_object* l_instCoeOTCOfCoeOut___redArg(lean_object* v_inst_30_, lean_object* v_inst_31_){
_start:
{
lean_object* v___f_32_; 
v___f_32_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe___redArg___lam__0), 3, 2);
lean_closure_set(v___f_32_, 0, v_inst_30_);
lean_closure_set(v___f_32_, 1, v_inst_31_);
return v___f_32_;
}
}
LEAN_EXPORT lean_object* l_instCoeOTCOfCoeOut(lean_object* v_00_u03b1_33_, lean_object* v_00_u03b2_34_, lean_object* v_00_u03b3_35_, lean_object* v_inst_36_, lean_object* v_inst_37_){
_start:
{
lean_object* v___f_38_; 
v___f_38_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe___redArg___lam__0), 3, 2);
lean_closure_set(v___f_38_, 0, v_inst_36_);
lean_closure_set(v___f_38_, 1, v_inst_37_);
return v___f_38_;
}
}
LEAN_EXPORT lean_object* l_instCoeOTCOfCoeTC___redArg(lean_object* v_inst_39_){
_start:
{
lean_object* v___f_40_; 
v___f_40_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe__1___redArg___lam__0), 2, 1);
lean_closure_set(v___f_40_, 0, v_inst_39_);
return v___f_40_;
}
}
LEAN_EXPORT lean_object* l_instCoeOTCOfCoeTC(lean_object* v_00_u03b1_41_, lean_object* v_00_u03b2_42_, lean_object* v_inst_43_){
_start:
{
lean_object* v___f_44_; 
v___f_44_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe__1___redArg___lam__0), 2, 1);
lean_closure_set(v___f_44_, 0, v_inst_43_);
return v___f_44_;
}
}
LEAN_EXPORT lean_object* l_instCoeOTC(lean_object* v_00_u03b1_45_){
_start:
{
lean_object* v___f_46_; 
v___f_46_ = ((lean_object*)(l_instCoeTC___closed__0));
return v___f_46_;
}
}
LEAN_EXPORT lean_object* l_instCoeHTCOfCoeHeadOfCoeOTC___redArg(lean_object* v_inst_47_, lean_object* v_inst_48_){
_start:
{
lean_object* v___f_49_; 
v___f_49_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe___redArg___lam__0), 3, 2);
lean_closure_set(v___f_49_, 0, v_inst_47_);
lean_closure_set(v___f_49_, 1, v_inst_48_);
return v___f_49_;
}
}
LEAN_EXPORT lean_object* l_instCoeHTCOfCoeHeadOfCoeOTC(lean_object* v_00_u03b1_50_, lean_object* v_00_u03b2_51_, lean_object* v_00_u03b3_52_, lean_object* v_inst_53_, lean_object* v_inst_54_){
_start:
{
lean_object* v___f_55_; 
v___f_55_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe___redArg___lam__0), 3, 2);
lean_closure_set(v___f_55_, 0, v_inst_53_);
lean_closure_set(v___f_55_, 1, v_inst_54_);
return v___f_55_;
}
}
LEAN_EXPORT lean_object* l_instCoeHTCOfCoeOTC___redArg(lean_object* v_inst_56_){
_start:
{
lean_object* v___f_57_; 
v___f_57_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe__1___redArg___lam__0), 2, 1);
lean_closure_set(v___f_57_, 0, v_inst_56_);
return v___f_57_;
}
}
LEAN_EXPORT lean_object* l_instCoeHTCOfCoeOTC(lean_object* v_00_u03b1_58_, lean_object* v_00_u03b2_59_, lean_object* v_inst_60_){
_start:
{
lean_object* v___f_61_; 
v___f_61_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe__1___redArg___lam__0), 2, 1);
lean_closure_set(v___f_61_, 0, v_inst_60_);
return v___f_61_;
}
}
LEAN_EXPORT lean_object* l_instCoeHTC(lean_object* v_00_u03b1_62_){
_start:
{
lean_object* v___f_63_; 
v___f_63_ = ((lean_object*)(l_instCoeTC___closed__0));
return v___f_63_;
}
}
LEAN_EXPORT lean_object* l_instCoeHTCTOfCoeTailOfCoeHTC___redArg(lean_object* v_inst_64_, lean_object* v_inst_65_){
_start:
{
lean_object* v___f_66_; 
v___f_66_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe___redArg___lam__0), 3, 2);
lean_closure_set(v___f_66_, 0, v_inst_65_);
lean_closure_set(v___f_66_, 1, v_inst_64_);
return v___f_66_;
}
}
LEAN_EXPORT lean_object* l_instCoeHTCTOfCoeTailOfCoeHTC(lean_object* v_00_u03b2_67_, lean_object* v_00_u03b3_68_, lean_object* v_00_u03b1_69_, lean_object* v_inst_70_, lean_object* v_inst_71_){
_start:
{
lean_object* v___f_72_; 
v___f_72_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe___redArg___lam__0), 3, 2);
lean_closure_set(v___f_72_, 0, v_inst_71_);
lean_closure_set(v___f_72_, 1, v_inst_70_);
return v___f_72_;
}
}
LEAN_EXPORT lean_object* l_instCoeHTCTOfCoeHTC___redArg(lean_object* v_inst_73_){
_start:
{
lean_object* v___f_74_; 
v___f_74_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe__1___redArg___lam__0), 2, 1);
lean_closure_set(v___f_74_, 0, v_inst_73_);
return v___f_74_;
}
}
LEAN_EXPORT lean_object* l_instCoeHTCTOfCoeHTC(lean_object* v_00_u03b1_75_, lean_object* v_00_u03b2_76_, lean_object* v_inst_77_){
_start:
{
lean_object* v___f_78_; 
v___f_78_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe__1___redArg___lam__0), 2, 1);
lean_closure_set(v___f_78_, 0, v_inst_77_);
return v___f_78_;
}
}
LEAN_EXPORT lean_object* l_instCoeHTCT(lean_object* v_00_u03b1_79_){
_start:
{
lean_object* v___f_80_; 
v___f_80_ = ((lean_object*)(l_instCoeTC___closed__0));
return v___f_80_;
}
}
LEAN_EXPORT lean_object* l_instCoeTOfCoeHTCT___redArg(lean_object* v_a_81_, lean_object* v_inst_82_){
_start:
{
lean_object* v___x_83_; 
v___x_83_ = lean_apply_1(v_inst_82_, v_a_81_);
return v___x_83_;
}
}
LEAN_EXPORT lean_object* l_instCoeTOfCoeHTCT(lean_object* v_00_u03b1_84_, lean_object* v_00_u03b2_85_, lean_object* v_a_86_, lean_object* v_inst_87_){
_start:
{
lean_object* v___x_88_; 
v___x_88_ = lean_apply_1(v_inst_87_, v_a_86_);
return v___x_88_;
}
}
LEAN_EXPORT lean_object* l_instCoeTOfCoeDep___redArg(lean_object* v_inst_89_){
_start:
{
lean_inc(v_inst_89_);
return v_inst_89_;
}
}
LEAN_EXPORT lean_object* l_instCoeTOfCoeDep___redArg___boxed(lean_object* v_inst_90_){
_start:
{
lean_object* v_res_91_; 
v_res_91_ = l_instCoeTOfCoeDep___redArg(v_inst_90_);
lean_dec(v_inst_90_);
return v_res_91_;
}
}
LEAN_EXPORT lean_object* l_instCoeTOfCoeDep(lean_object* v_00_u03b1_92_, lean_object* v_a_93_, lean_object* v_00_u03b2_94_, lean_object* v_inst_95_){
_start:
{
lean_inc(v_inst_95_);
return v_inst_95_;
}
}
LEAN_EXPORT lean_object* l_instCoeTOfCoeDep___boxed(lean_object* v_00_u03b1_96_, lean_object* v_a_97_, lean_object* v_00_u03b2_98_, lean_object* v_inst_99_){
_start:
{
lean_object* v_res_100_; 
v_res_100_ = l_instCoeTOfCoeDep(v_00_u03b1_96_, v_a_97_, v_00_u03b2_98_, v_inst_99_);
lean_dec(v_inst_99_);
lean_dec(v_a_97_);
return v_res_100_;
}
}
LEAN_EXPORT lean_object* l_instCoeT___redArg(lean_object* v_a_101_){
_start:
{
lean_inc(v_a_101_);
return v_a_101_;
}
}
LEAN_EXPORT lean_object* l_instCoeT___redArg___boxed(lean_object* v_a_102_){
_start:
{
lean_object* v_res_103_; 
v_res_103_ = l_instCoeT___redArg(v_a_102_);
lean_dec(v_a_102_);
return v_res_103_;
}
}
LEAN_EXPORT lean_object* l_instCoeT(lean_object* v_00_u03b1_104_, lean_object* v_a_105_){
_start:
{
lean_inc(v_a_105_);
return v_a_105_;
}
}
LEAN_EXPORT lean_object* l_instCoeT___boxed(lean_object* v_00_u03b1_106_, lean_object* v_a_107_){
_start:
{
lean_object* v_res_108_; 
v_res_108_ = l_instCoeT(v_00_u03b1_106_, v_a_107_);
lean_dec(v_a_107_);
return v_res_108_;
}
}
LEAN_EXPORT lean_object* l_instCoeOutOfCoeFun___redArg(lean_object* v_inst_109_){
_start:
{
lean_object* v___f_110_; 
v___f_110_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe__1___redArg___lam__0), 2, 1);
lean_closure_set(v___f_110_, 0, v_inst_109_);
return v___f_110_;
}
}
LEAN_EXPORT lean_object* l_instCoeOutOfCoeFun(lean_object* v_00_u03b1_111_, lean_object* v_00_u03b2_112_, lean_object* v_inst_113_){
_start:
{
lean_object* v___f_114_; 
v___f_114_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe__1___redArg___lam__0), 2, 1);
lean_closure_set(v___f_114_, 0, v_inst_113_);
return v___f_114_;
}
}
LEAN_EXPORT lean_object* l_instCoeOutOfCoeSort___redArg(lean_object* v_inst_115_){
_start:
{
lean_object* v___f_116_; 
v___f_116_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe__1___redArg___lam__0), 2, 1);
lean_closure_set(v___f_116_, 0, v_inst_115_);
return v___f_116_;
}
}
LEAN_EXPORT lean_object* l_instCoeOutOfCoeSort(lean_object* v_00_u03b1_117_, lean_object* v_00_u03b2_118_, lean_object* v_inst_119_){
_start:
{
lean_object* v___f_120_; 
v___f_120_ = lean_alloc_closure((void*)(l_instCoeTCOfCoe__1___redArg___lam__0), 2, 1);
lean_closure_set(v___f_120_, 0, v_inst_119_);
return v___f_120_;
}
}
static lean_object* _init_l_boolToProp(void){
_start:
{
lean_object* v___x_175_; 
v___x_175_ = lean_box(0);
return v___x_175_;
}
}
static lean_object* _init_l_boolToSort(void){
_start:
{
lean_object* v___x_176_; 
v___x_176_ = lean_box(0);
return v___x_176_;
}
}
LEAN_EXPORT uint8_t l_decPropToBool___redArg(uint8_t v_inst_177_){
_start:
{
return v_inst_177_;
}
}
LEAN_EXPORT lean_object* l_decPropToBool___redArg___boxed(lean_object* v_inst_178_){
_start:
{
uint8_t v_inst_7__boxed_179_; uint8_t v_res_180_; lean_object* v_r_181_; 
v_inst_7__boxed_179_ = lean_unbox(v_inst_178_);
v_res_180_ = l_decPropToBool___redArg(v_inst_7__boxed_179_);
v_r_181_ = lean_box(v_res_180_);
return v_r_181_;
}
}
LEAN_EXPORT uint8_t l_decPropToBool(lean_object* v_p_182_, uint8_t v_inst_183_){
_start:
{
return v_inst_183_;
}
}
LEAN_EXPORT lean_object* l_decPropToBool___boxed(lean_object* v_p_184_, lean_object* v_inst_185_){
_start:
{
uint8_t v_inst_10__boxed_186_; uint8_t v_res_187_; lean_object* v_r_188_; 
v_inst_10__boxed_186_ = lean_unbox(v_inst_185_);
v_res_187_ = l_decPropToBool(v_p_184_, v_inst_10__boxed_186_);
v_r_188_ = lean_box(v_res_187_);
return v_r_188_;
}
}
LEAN_EXPORT lean_object* l_subtypeCoe___lam__0(lean_object* v_v_189_){
_start:
{
lean_inc(v_v_189_);
return v_v_189_;
}
}
LEAN_EXPORT lean_object* l_subtypeCoe___lam__0___boxed(lean_object* v_v_190_){
_start:
{
lean_object* v_res_191_; 
v_res_191_ = l_subtypeCoe___lam__0(v_v_190_);
lean_dec(v_v_190_);
return v_res_191_;
}
}
LEAN_EXPORT lean_object* l_subtypeCoe(lean_object* v_00_u03b1_193_, lean_object* v_p_194_){
_start:
{
lean_object* v___f_195_; 
v___f_195_ = ((lean_object*)(l_subtypeCoe___closed__0));
return v___f_195_;
}
}
LEAN_EXPORT lean_object* l_Lean_Internal_liftCoeM___redArg___lam__0(lean_object* v_inst_196_, lean_object* v_toPure_197_, lean_object* v_a_198_){
_start:
{
lean_object* v___x_199_; lean_object* v___x_200_; 
v___x_199_ = lean_apply_1(v_inst_196_, v_a_198_);
v___x_200_ = lean_apply_2(v_toPure_197_, lean_box(0), v___x_199_);
return v___x_200_;
}
}
LEAN_EXPORT lean_object* l_Lean_Internal_liftCoeM___redArg(lean_object* v_inst_201_, lean_object* v_inst_202_, lean_object* v_inst_203_, lean_object* v_x_204_){
_start:
{
lean_object* v_toApplicative_205_; lean_object* v_toBind_206_; lean_object* v_toPure_207_; lean_object* v___x_208_; lean_object* v___f_209_; lean_object* v___x_210_; 
v_toApplicative_205_ = lean_ctor_get(v_inst_203_, 0);
lean_inc_ref(v_toApplicative_205_);
v_toBind_206_ = lean_ctor_get(v_inst_203_, 1);
lean_inc(v_toBind_206_);
lean_dec_ref(v_inst_203_);
v_toPure_207_ = lean_ctor_get(v_toApplicative_205_, 1);
lean_inc(v_toPure_207_);
lean_dec_ref(v_toApplicative_205_);
v___x_208_ = lean_apply_2(v_inst_201_, lean_box(0), v_x_204_);
v___f_209_ = lean_alloc_closure((void*)(l_Lean_Internal_liftCoeM___redArg___lam__0), 3, 2);
lean_closure_set(v___f_209_, 0, v_inst_202_);
lean_closure_set(v___f_209_, 1, v_toPure_207_);
v___x_210_ = lean_apply_4(v_toBind_206_, lean_box(0), lean_box(0), v___x_208_, v___f_209_);
return v___x_210_;
}
}
LEAN_EXPORT lean_object* l_Lean_Internal_liftCoeM(lean_object* v_m_211_, lean_object* v_n_212_, lean_object* v_00_u03b1_213_, lean_object* v_00_u03b2_214_, lean_object* v_inst_215_, lean_object* v_inst_216_, lean_object* v_inst_217_, lean_object* v_x_218_){
_start:
{
lean_object* v_toApplicative_219_; lean_object* v_toBind_220_; lean_object* v_toPure_221_; lean_object* v___x_222_; lean_object* v___f_223_; lean_object* v___x_224_; 
v_toApplicative_219_ = lean_ctor_get(v_inst_217_, 0);
lean_inc_ref(v_toApplicative_219_);
v_toBind_220_ = lean_ctor_get(v_inst_217_, 1);
lean_inc(v_toBind_220_);
lean_dec_ref(v_inst_217_);
v_toPure_221_ = lean_ctor_get(v_toApplicative_219_, 1);
lean_inc(v_toPure_221_);
lean_dec_ref(v_toApplicative_219_);
v___x_222_ = lean_apply_2(v_inst_215_, lean_box(0), v_x_218_);
v___f_223_ = lean_alloc_closure((void*)(l_Lean_Internal_liftCoeM___redArg___lam__0), 3, 2);
lean_closure_set(v___f_223_, 0, v_inst_216_);
lean_closure_set(v___f_223_, 1, v_toPure_221_);
v___x_224_ = lean_apply_4(v_toBind_220_, lean_box(0), lean_box(0), v___x_222_, v___f_223_);
return v___x_224_;
}
}
LEAN_EXPORT lean_object* l_Lean_Internal_coeM___redArg(lean_object* v_inst_225_, lean_object* v_inst_226_, lean_object* v_x_227_){
_start:
{
lean_object* v_toApplicative_228_; lean_object* v_toBind_229_; lean_object* v_toPure_230_; lean_object* v___f_231_; lean_object* v___x_232_; 
v_toApplicative_228_ = lean_ctor_get(v_inst_226_, 0);
lean_inc_ref(v_toApplicative_228_);
v_toBind_229_ = lean_ctor_get(v_inst_226_, 1);
lean_inc(v_toBind_229_);
lean_dec_ref(v_inst_226_);
v_toPure_230_ = lean_ctor_get(v_toApplicative_228_, 1);
lean_inc(v_toPure_230_);
lean_dec_ref(v_toApplicative_228_);
v___f_231_ = lean_alloc_closure((void*)(l_Lean_Internal_liftCoeM___redArg___lam__0), 3, 2);
lean_closure_set(v___f_231_, 0, v_inst_225_);
lean_closure_set(v___f_231_, 1, v_toPure_230_);
v___x_232_ = lean_apply_4(v_toBind_229_, lean_box(0), lean_box(0), v_x_227_, v___f_231_);
return v___x_232_;
}
}
LEAN_EXPORT lean_object* l_Lean_Internal_coeM(lean_object* v_m_233_, lean_object* v_00_u03b1_234_, lean_object* v_00_u03b2_235_, lean_object* v_inst_236_, lean_object* v_inst_237_, lean_object* v_x_238_){
_start:
{
lean_object* v_toApplicative_239_; lean_object* v_toBind_240_; lean_object* v_toPure_241_; lean_object* v___f_242_; lean_object* v___x_243_; 
v_toApplicative_239_ = lean_ctor_get(v_inst_237_, 0);
lean_inc_ref(v_toApplicative_239_);
v_toBind_240_ = lean_ctor_get(v_inst_237_, 1);
lean_inc(v_toBind_240_);
lean_dec_ref(v_inst_237_);
v_toPure_241_ = lean_ctor_get(v_toApplicative_239_, 1);
lean_inc(v_toPure_241_);
lean_dec_ref(v_toApplicative_239_);
v___f_242_ = lean_alloc_closure((void*)(l_Lean_Internal_liftCoeM___redArg___lam__0), 3, 2);
lean_closure_set(v___f_242_, 0, v_inst_236_);
lean_closure_set(v___f_242_, 1, v_toPure_241_);
v___x_243_ = lean_apply_4(v_toBind_240_, lean_box(0), lean_box(0), v_x_238_, v___f_242_);
return v___x_243_;
}
}
lean_object* runtime_initialize_Init_Prelude(uint8_t builtin);
static bool _G_runtime_initialized = false;
LEAN_EXPORT lean_object* runtime_initialize_Init_Coe(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_Init_Prelude(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_boolToProp = _init_l_boolToProp();
l_boolToSort = _init_l_boolToSort();
return lean_io_result_mk_ok(lean_box(0));
}
lean_object* runtime_initialize_Init_Prelude(uint8_t builtin);
static bool _G_meta_initialized = false;
LEAN_EXPORT lean_object* meta_initialize_Init_Coe(uint8_t builtin) {
lean_object * res;
if (_G_meta_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_meta_initialized = true;
res = runtime_initialize_Init_Prelude(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return lean_io_result_mk_ok(lean_box(0));
}
lean_object* initialize_Init_Prelude(uint8_t builtin);
lean_object* initialize_Init_Prelude(uint8_t builtin);
static bool _G_initialized = false;
LEAN_EXPORT lean_object* initialize_Init_Coe(uint8_t builtin) {
lean_object * res;
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_initialized = true;
res = initialize_Init_Prelude(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Init_Prelude(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Init_Coe(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = meta_initialize_Init_Coe(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return initialize_Init_Coe(builtin);
}
#ifdef __cplusplus
}
#endif
