// Lean compiler output
// Module: Std.Data.Iterators.Lemmas.Equivalence.Basic
// Imports: public import Init.Internal.Order public import Init.Data.Iterators.Basic public import Std.Data.Iterators.Lemmas.Equivalence.HetT
#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_EXPORT lean_object* l_Std_BundledIterM_ofIterM___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_BundledIterM_ofIterM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_instIterator_u03b1___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Std_instIterator_u03b1___redArg___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Std_instIterator_u03b1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_instIterator_u03b1___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_Iterators_Lemmas_Equivalence_Basic_0__Std_quotOfQuot___redArg(lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_Iterators_Lemmas_Equivalence_Basic_0__Std_quotOfQuot___redArg___boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_Iterators_Lemmas_Equivalence_Basic_0__Std_quotOfQuot(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Data_Iterators_Lemmas_Equivalence_Basic_0__Std_quotOfQuot___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_BundledIterM_ofIterM___redArg(lean_object* v_inst_1_, lean_object* v_it_2_){
_start:
{
lean_object* v___x_3_; 
v___x_3_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_3_, 0, v_inst_1_);
lean_ctor_set(v___x_3_, 1, v_it_2_);
return v___x_3_;
}
}
LEAN_EXPORT lean_object* l_Std_BundledIterM_ofIterM(lean_object* v_m_4_, lean_object* v_00_u03b2_5_, lean_object* v_00_u03b1_6_, lean_object* v_inst_7_, lean_object* v_it_8_){
_start:
{
lean_object* v___x_9_; 
v___x_9_ = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(v___x_9_, 0, v_inst_7_);
lean_ctor_set(v___x_9_, 1, v_it_8_);
return v___x_9_;
}
}
LEAN_EXPORT lean_object* l_Std_instIterator_u03b1___redArg(lean_object* v_bit_10_){
_start:
{
lean_object* v_inst_11_; 
v_inst_11_ = lean_ctor_get(v_bit_10_, 0);
lean_inc(v_inst_11_);
return v_inst_11_;
}
}
LEAN_EXPORT lean_object* l_Std_instIterator_u03b1___redArg___boxed(lean_object* v_bit_12_){
_start:
{
lean_object* v_res_13_; 
v_res_13_ = l_Std_instIterator_u03b1___redArg(v_bit_12_);
lean_dec_ref(v_bit_12_);
return v_res_13_;
}
}
LEAN_EXPORT lean_object* l_Std_instIterator_u03b1(lean_object* v_m_14_, lean_object* v_00_u03b2_15_, lean_object* v_bit_16_){
_start:
{
lean_object* v_inst_17_; 
v_inst_17_ = lean_ctor_get(v_bit_16_, 0);
lean_inc(v_inst_17_);
return v_inst_17_;
}
}
LEAN_EXPORT lean_object* l_Std_instIterator_u03b1___boxed(lean_object* v_m_18_, lean_object* v_00_u03b2_19_, lean_object* v_bit_20_){
_start:
{
lean_object* v_res_21_; 
v_res_21_ = l_Std_instIterator_u03b1(v_m_18_, v_00_u03b2_19_, v_bit_20_);
lean_dec_ref(v_bit_20_);
return v_res_21_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_Iterators_Lemmas_Equivalence_Basic_0__Std_quotOfQuot___redArg(lean_object* v_a_22_){
_start:
{
lean_inc(v_a_22_);
return v_a_22_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_Iterators_Lemmas_Equivalence_Basic_0__Std_quotOfQuot___redArg___boxed(lean_object* v_a_23_){
_start:
{
lean_object* v_res_24_; 
v_res_24_ = l___private_Std_Data_Iterators_Lemmas_Equivalence_Basic_0__Std_quotOfQuot___redArg(v_a_23_);
lean_dec(v_a_23_);
return v_res_24_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_Iterators_Lemmas_Equivalence_Basic_0__Std_quotOfQuot(lean_object* v_00_u03b1_25_, lean_object* v_R_26_, lean_object* v_S_27_, lean_object* v_h_28_, lean_object* v_a_29_){
_start:
{
lean_inc(v_a_29_);
return v_a_29_;
}
}
LEAN_EXPORT lean_object* l___private_Std_Data_Iterators_Lemmas_Equivalence_Basic_0__Std_quotOfQuot___boxed(lean_object* v_00_u03b1_30_, lean_object* v_R_31_, lean_object* v_S_32_, lean_object* v_h_33_, lean_object* v_a_34_){
_start:
{
lean_object* v_res_35_; 
v_res_35_ = l___private_Std_Data_Iterators_Lemmas_Equivalence_Basic_0__Std_quotOfQuot(v_00_u03b1_30_, v_R_31_, v_S_32_, v_h_33_, v_a_34_);
lean_dec(v_a_34_);
return v_res_35_;
}
}
lean_object* runtime_initialize_Init_Internal_Order(uint8_t builtin);
lean_object* runtime_initialize_Init_Data_Iterators_Basic(uint8_t builtin);
lean_object* runtime_initialize_Std_Data_Iterators_Lemmas_Equivalence_HetT(uint8_t builtin);
static bool _G_runtime_initialized = false;
LEAN_EXPORT lean_object* runtime_initialize_Std_Data_Iterators_Lemmas_Equivalence_Basic(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_Internal_Order(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Init_Data_Iterators_Basic(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Std_Data_Iterators_Lemmas_Equivalence_HetT(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return lean_io_result_mk_ok(lean_box(0));
}
static bool _G_meta_initialized = false;
LEAN_EXPORT lean_object* meta_initialize_Std_Data_Iterators_Lemmas_Equivalence_Basic(uint8_t builtin) {
lean_object * res;
if (_G_meta_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_meta_initialized = true;
return lean_io_result_mk_ok(lean_box(0));
}
lean_object* initialize_Init_Internal_Order(uint8_t builtin);
lean_object* initialize_Init_Data_Iterators_Basic(uint8_t builtin);
lean_object* initialize_Std_Data_Iterators_Lemmas_Equivalence_HetT(uint8_t builtin);
static bool _G_initialized = false;
LEAN_EXPORT lean_object* initialize_Std_Data_Iterators_Lemmas_Equivalence_Basic(uint8_t builtin) {
lean_object * res;
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_initialized = true;
res = initialize_Init_Internal_Order(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Init_Data_Iterators_Basic(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Std_Data_Iterators_Lemmas_Equivalence_HetT(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Std_Data_Iterators_Lemmas_Equivalence_Basic(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = meta_initialize_Std_Data_Iterators_Lemmas_Equivalence_Basic(builtin);
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
return initialize_Std_Data_Iterators_Lemmas_Equivalence_Basic(builtin);
}
#ifdef __cplusplus
}
#endif
