chore: update stage0

This commit is contained in:
Lean stage0 autoupdater 2026-03-11 08:49:43 +00:00
parent 220a242f65
commit 7acf5710c4
13 changed files with 4666 additions and 3570 deletions

View file

@ -1,5 +1,5 @@
#include "util/options.h"
//update stage0 to make @[mvcgen_invariant_type] attribute available
namespace lean {
options get_default_options() {
options opts;

View file

@ -123,27 +123,23 @@ LEAN_EXPORT uint8_t l_Lean_Name_isNum(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Name_isNum___boxed(lean_object*);
LEAN_EXPORT uint8_t l_Lean_Name_anyS(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Name_anyS___boxed(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Option_instBEq_beq___at___00Lean_Name_isMetaprogramming_spec__0(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Option_instBEq_beq___at___00Lean_Name_isMetaprogramming_spec__0___boxed(lean_object*, lean_object*);
static const lean_string_object l_Lean_Name_isMetaprogramming___lam__0___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "Tactic"};
static const lean_object* l_Lean_Name_isMetaprogramming___lam__0___closed__0 = (const lean_object*)&l_Lean_Name_isMetaprogramming___lam__0___closed__0_value;
lean_object* l_Lean_Name_mkStr1(lean_object*);
static const lean_ctor_object l_Lean_Name_isMetaprogramming___lam__0___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_Lean_Name_isMetaprogramming___lam__0___closed__0_value),LEAN_SCALAR_PTR_LITERAL(186, 205, 46, 93, 234, 75, 44, 75)}};
static const lean_string_object l_Lean_Name_isMetaprogramming___lam__0___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "Linter"};
static const lean_object* l_Lean_Name_isMetaprogramming___lam__0___closed__1 = (const lean_object*)&l_Lean_Name_isMetaprogramming___lam__0___closed__1_value;
static const lean_string_object l_Lean_Name_isMetaprogramming___lam__0___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 7, .m_capacity = 7, .m_length = 6, .m_data = "Linter"};
static const lean_string_object l_Lean_Name_isMetaprogramming___lam__0___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 = "Simproc"};
static const lean_object* l_Lean_Name_isMetaprogramming___lam__0___closed__2 = (const lean_object*)&l_Lean_Name_isMetaprogramming___lam__0___closed__2_value;
static const lean_ctor_object l_Lean_Name_isMetaprogramming___lam__0___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_Lean_Name_isMetaprogramming___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(121, 50, 177, 192, 218, 101, 157, 15)}};
static const lean_string_object l_Lean_Name_isMetaprogramming___lam__0___closed__3_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 = "Meta"};
static const lean_object* l_Lean_Name_isMetaprogramming___lam__0___closed__3 = (const lean_object*)&l_Lean_Name_isMetaprogramming___lam__0___closed__3_value;
LEAN_EXPORT uint8_t l_Lean_Name_isMetaprogramming___lam__0(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Name_isMetaprogramming___lam__0___boxed(lean_object*);
static const lean_string_object l_Lean_Name_isMetaprogramming___closed__0_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 = "Lean"};
static const lean_closure_object l_Lean_Name_isMetaprogramming___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_Lean_Name_isMetaprogramming___lam__0___boxed, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Name_isMetaprogramming___closed__0 = (const lean_object*)&l_Lean_Name_isMetaprogramming___closed__0_value;
static const lean_ctor_object l_Lean_Name_isMetaprogramming___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_Lean_Name_isMetaprogramming___closed__0_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_string_object l_Lean_Name_isMetaprogramming___closed__1_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 = "Lean"};
static const lean_object* l_Lean_Name_isMetaprogramming___closed__1 = (const lean_object*)&l_Lean_Name_isMetaprogramming___closed__1_value;
static const lean_ctor_object l_Lean_Name_isMetaprogramming___closed__2_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 1}, .m_objs = {((lean_object*)&l_Lean_Name_isMetaprogramming___closed__1_value)}};
lean_object* l_Lean_Name_mkStr1(lean_object*);
static const lean_ctor_object l_Lean_Name_isMetaprogramming___closed__2_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_Lean_Name_isMetaprogramming___closed__1_value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_object* l_Lean_Name_isMetaprogramming___closed__2 = (const lean_object*)&l_Lean_Name_isMetaprogramming___closed__2_value;
static const lean_closure_object l_Lean_Name_isMetaprogramming___closed__3_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_Lean_Name_isMetaprogramming___lam__0___boxed, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Name_isMetaprogramming___closed__3 = (const lean_object*)&l_Lean_Name_isMetaprogramming___closed__3_value;
lean_object* l_List_head_x3f___redArg(lean_object*);
uint8_t l_List_any___redArg(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_Name_isMetaprogramming(lean_object*);
@ -1672,70 +1668,63 @@ x_4 = lean_box(x_3);
return x_4;
}
}
LEAN_EXPORT uint8_t l_Option_instBEq_beq___at___00Lean_Name_isMetaprogramming_spec__0(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; uint8_t x_8;
x_6 = lean_ctor_get(x_1, 0);
x_7 = lean_ctor_get(x_2, 0);
x_8 = lean_name_eq(x_6, x_7);
return x_8;
}
}
}
}
LEAN_EXPORT lean_object* l_Option_instBEq_beq___at___00Lean_Name_isMetaprogramming_spec__0___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_Option_instBEq_beq___at___00Lean_Name_isMetaprogramming_spec__0(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_Lean_Name_isMetaprogramming___lam__0(lean_object* x_1) {
_start:
{
lean_object* x_2; uint8_t x_3;
x_2 = ((lean_object*)(l_Lean_Name_isMetaprogramming___lam__0___closed__1));
x_3 = lean_name_eq(x_1, x_2);
if (x_3 == 0)
if (lean_obj_tag(x_1) == 1)
{
lean_object* x_4; uint8_t x_5;
x_4 = ((lean_object*)(l_Lean_Name_isMetaprogramming___lam__0___closed__3));
x_5 = lean_name_eq(x_1, x_4);
return x_5;
lean_object* x_2;
x_2 = lean_ctor_get(x_1, 0);
if (lean_obj_tag(x_2) == 0)
{
lean_object* x_3; lean_object* x_4; uint8_t x_5;
x_3 = lean_ctor_get(x_1, 1);
x_4 = ((lean_object*)(l_Lean_Name_isMetaprogramming___lam__0___closed__0));
x_5 = lean_string_dec_eq(x_3, x_4);
if (x_5 == 0)
{
lean_object* x_6; uint8_t x_7;
x_6 = ((lean_object*)(l_Lean_Name_isMetaprogramming___lam__0___closed__1));
x_7 = lean_string_dec_eq(x_3, x_6);
if (x_7 == 0)
{
lean_object* x_8; uint8_t x_9;
x_8 = ((lean_object*)(l_Lean_Name_isMetaprogramming___lam__0___closed__2));
x_9 = lean_string_dec_eq(x_3, x_8);
if (x_9 == 0)
{
lean_object* x_10; uint8_t x_11;
x_10 = ((lean_object*)(l_Lean_Name_isMetaprogramming___lam__0___closed__3));
x_11 = lean_string_dec_eq(x_3, x_10);
return x_11;
}
else
{
return x_3;
return x_9;
}
}
else
{
return x_7;
}
}
else
{
return x_5;
}
}
else
{
uint8_t x_12;
x_12 = 0;
return x_12;
}
}
else
{
uint8_t x_13;
x_13 = 0;
return x_13;
}
}
}
@ -1752,23 +1741,36 @@ return x_3;
LEAN_EXPORT uint8_t l_Lean_Name_isMetaprogramming(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5;
x_2 = l_Lean_Name_components(x_1);
x_3 = l_List_head_x3f___redArg(x_2);
x_4 = ((lean_object*)(l_Lean_Name_isMetaprogramming___closed__2));
x_5 = l_Option_instBEq_beq___at___00Lean_Name_isMetaprogramming_spec__0(x_3, x_4);
lean_dec(x_3);
if (x_5 == 0)
lean_object* x_2; lean_object* x_3; lean_object* x_4;
x_2 = ((lean_object*)(l_Lean_Name_isMetaprogramming___closed__0));
x_3 = l_Lean_Name_components(x_1);
x_4 = l_List_head_x3f___redArg(x_3);
if (lean_obj_tag(x_4) == 0)
{
lean_object* x_6; uint8_t x_7;
x_6 = ((lean_object*)(l_Lean_Name_isMetaprogramming___closed__3));
x_7 = l_List_any___redArg(x_2, x_6);
return x_7;
uint8_t x_5;
x_5 = l_List_any___redArg(x_3, x_2);
return x_5;
}
else
{
lean_dec(x_2);
return x_5;
lean_object* x_6; lean_object* x_7; uint8_t x_8;
x_6 = lean_ctor_get(x_4, 0);
lean_inc(x_6);
lean_dec_ref(x_4);
x_7 = ((lean_object*)(l_Lean_Name_isMetaprogramming___closed__2));
x_8 = lean_name_eq(x_6, x_7);
lean_dec(x_6);
if (x_8 == 0)
{
uint8_t x_9;
x_9 = l_List_any___redArg(x_3, x_2);
return x_9;
}
else
{
lean_dec(x_3);
return x_8;
}
}
}
}

View file

@ -762,6 +762,39 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_getSpecTheorems___redArg
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_getSpecTheorems___redArg___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_getSpecTheorems(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_getSpecTheorems___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn___lam__0_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn___lam__0_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2____boxed(lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_closure_object l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__0_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__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_Lean_Elab_Tactic_Do_SpecAttr_initFn___lam__0_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2____boxed, .m_arity = 4, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__0_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__0_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value;
static const lean_string_object l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__1_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 22, .m_capacity = 22, .m_length = 21, .m_data = "mvcgen_invariant_type"};
static const lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__1_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__1_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value;
static const lean_ctor_object l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__2_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__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_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__1_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(60, 10, 73, 86, 132, 163, 253, 140)}};
static const lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__2_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__2_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value;
static const lean_string_object l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__3_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 58, .m_capacity = 58, .m_length = 57, .m_data = "marks a type as an invariant type for the `mvcgen` tactic"};
static const lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__3_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__3_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value;
static const lean_string_object l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__4_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 20, .m_capacity = 20, .m_length = 19, .m_data = "mvcgenInvariantAttr"};
static const lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__4_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__4_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value;
static const lean_ctor_object l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value_aux_0 = {.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___private_Lean_Elab_Tactic_Do_Attr_0__Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__7_00___x40_Lean_Elab_Tactic_Do_Attr_1315642830____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(70, 193, 83, 126, 233, 67, 208, 165)}};
static const lean_ctor_object l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value_aux_1 = {.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*)&l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value_aux_0),((lean_object*)&l___private_Lean_Elab_Tactic_Do_Attr_0__Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__0_00___x40_Lean_Elab_Tactic_Do_Attr_1315642830____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(52, 247, 248, 201, 92, 23, 188, 159)}};
static const lean_ctor_object l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value_aux_2 = {.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*)&l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value_aux_1),((lean_object*)&l___private_Lean_Elab_Tactic_Do_Attr_0__Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__1_00___x40_Lean_Elab_Tactic_Do_Attr_1315642830____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(161, 230, 229, 85, 182, 144, 182, 176)}};
static const lean_ctor_object l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value_aux_3 = {.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*)&l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value_aux_2),((lean_object*)&l___private_Lean_Elab_Tactic_Do_Attr_0__Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__2_00___x40_Lean_Elab_Tactic_Do_Attr_1315642830____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(101, 141, 64, 183, 187, 157, 254, 157)}};
static const lean_ctor_object l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value_aux_4 = {.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*)&l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value_aux_3),((lean_object*)&l___private_Lean_Elab_Tactic_Do_Attr_0__Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__19_00___x40_Lean_Elab_Tactic_Do_Attr_1315642830____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(134, 109, 122, 82, 215, 148, 2, 116)}};
static const lean_ctor_object l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__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*)&l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value_aux_4),((lean_object*)&l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__4_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(56, 244, 136, 137, 73, 53, 158, 220)}};
static const lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_ = (const lean_object*)&l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2__value;
lean_object* l_Lean_registerTagAttribute(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_();
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2____boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_mvcgenInvariantAttr;
static const lean_string_object l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 10, .m_capacity = 10, .m_length = 9, .m_data = "Invariant"};
static const lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___closed__0 = (const lean_object*)&l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___closed__0_value;
static const lean_ctor_object l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___closed__1_value_aux_0 = {.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___private_Lean_Elab_Tactic_Do_Attr_0__Lean_Elab_Tactic_Do_SpecAttr_mkSpecTheorem___lam__0___closed__2_value),LEAN_SCALAR_PTR_LITERAL(48, 144, 193, 124, 159, 137, 91, 218)}};
static const lean_ctor_object l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___closed__1_value_aux_1 = {.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*)&l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___closed__1_value_aux_0),((lean_object*)&l___private_Lean_Elab_Tactic_Do_Attr_0__Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__2_00___x40_Lean_Elab_Tactic_Do_Attr_1315642830____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(0, 110, 135, 113, 195, 226, 80, 101)}};
static const lean_ctor_object l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___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*)&l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___closed__1_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___closed__0_value),LEAN_SCALAR_PTR_LITERAL(246, 189, 77, 192, 11, 129, 81, 25)}};
static const lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___closed__1 = (const lean_object*)&l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___closed__1_value;
lean_object* l_Lean_Expr_getAppFn(lean_object*);
uint8_t l_Lean_TagAttribute_hasTag(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Do_Attr_0__Lean_Elab_Tactic_Do_SpecAttr_initFn_00___x40_Lean_Elab_Tactic_Do_Attr_1315642830____hygCtx___hyg_2_() {
_start:
{
@ -10742,6 +10775,97 @@ lean_dec_ref(x_1);
return x_4;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn___lam__0_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_5; lean_object* x_6;
x_5 = lean_box(0);
x_6 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_6, 0, x_5);
return x_6;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn___lam__0_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2____boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
x_5 = l_Lean_Elab_Tactic_Do_SpecAttr_initFn___lam__0_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_(x_1, x_2, x_3);
lean_dec(x_3);
lean_dec_ref(x_2);
lean_dec(x_1);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_() {
_start:
{
lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; lean_object* x_8;
x_2 = ((lean_object*)(l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__0_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_));
x_3 = ((lean_object*)(l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__2_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_));
x_4 = ((lean_object*)(l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__3_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_));
x_5 = ((lean_object*)(l_Lean_Elab_Tactic_Do_SpecAttr_initFn___closed__5_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_));
x_6 = 0;
x_7 = lean_box(2);
x_8 = l_Lean_registerTagAttribute(x_3, x_4, x_2, x_5, x_6, x_7);
return x_8;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_initFn_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2____boxed(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = l_Lean_Elab_Tactic_Do_SpecAttr_initFn_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_();
return x_2;
}
}
LEAN_EXPORT uint8_t l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = l_Lean_Expr_getAppFn(x_2);
if (lean_obj_tag(x_3) == 4)
{
lean_object* x_4; lean_object* x_5; uint8_t x_6;
x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
lean_dec_ref(x_3);
x_5 = l_Lean_Elab_Tactic_Do_SpecAttr_mvcgenInvariantAttr;
lean_inc(x_4);
x_6 = l_Lean_TagAttribute_hasTag(x_5, x_1, x_4);
if (x_6 == 0)
{
lean_object* x_7; uint8_t x_8;
x_7 = ((lean_object*)(l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___closed__1));
x_8 = lean_name_eq(x_4, x_7);
lean_dec(x_4);
return x_8;
}
else
{
lean_dec(x_4);
return x_6;
}
}
else
{
uint8_t x_9;
lean_dec_ref(x_3);
lean_dec_ref(x_1);
x_9 = 0;
return x_9;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType(x_1, x_2);
lean_dec_ref(x_2);
x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* runtime_initialize_Lean_Meta_Tactic_Simp(uint8_t builtin);
lean_object* runtime_initialize_Std_Tactic_Do_Syntax(uint8_t builtin);
lean_object* runtime_initialize_Init_While(uint8_t builtin);
@ -10799,6 +10923,12 @@ res = l___private_Lean_Elab_Tactic_Do_Attr_0__Lean_Elab_Tactic_Do_SpecAttr_initF
;
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = l_Lean_Elab_Tactic_Do_SpecAttr_initFn_00___x40_Lean_Elab_Tactic_Do_Attr_2603982925____hygCtx___hyg_2_()
;
if (lean_io_result_is_error(res)) return res;
l_Lean_Elab_Tactic_Do_SpecAttr_mvcgenInvariantAttr = lean_io_result_get_value(res);
lean_mark_persistent(l_Lean_Elab_Tactic_Do_SpecAttr_mvcgenInvariantAttr);
lean_dec_ref(res);
return lean_io_result_mk_ok(lean_box(0));
}
static bool _G_meta_initialized = false;

View file

@ -439,18 +439,9 @@ static lean_object* l_Lean_MVarId_freshenLCtxUserNamesSinceIdx___at___00Lean_Ela
lean_object* l_Lean_MetavarContext_findDecl_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_freshenLCtxUserNamesSinceIdx___at___00Lean_Elab_Tactic_Do_addSubGoalAsVC_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_MVarId_freshenLCtxUserNamesSinceIdx___at___00Lean_Elab_Tactic_Do_addSubGoalAsVC_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static const lean_string_object l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 4, .m_capacity = 4, .m_length = 3, .m_data = "Std"};
static const lean_object* l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__0 = (const lean_object*)&l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__0_value;
static const lean_string_object l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 10, .m_capacity = 10, .m_length = 9, .m_data = "Invariant"};
static const lean_object* l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__1 = (const lean_object*)&l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__1_value;
lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, lean_object*);
static const lean_ctor_object l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__2_value_aux_0 = {.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_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__0_value),LEAN_SCALAR_PTR_LITERAL(48, 144, 193, 124, 159, 137, 91, 218)}};
static const lean_ctor_object l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__2_value_aux_1 = {.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*)&l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__2_value_aux_0),((lean_object*)&l___private_Lean_Elab_Tactic_Do_VCGen_Basic_0__Lean_Elab_Tactic_Do_initFn___closed__2_00___x40_Lean_Elab_Tactic_Do_VCGen_Basic_540456248____hygCtx___hyg_2__value),LEAN_SCALAR_PTR_LITERAL(0, 110, 135, 113, 195, 226, 80, 101)}};
static const lean_ctor_object l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__2_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*)&l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__2_value_aux_1),((lean_object*)&l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__1_value),LEAN_SCALAR_PTR_LITERAL(246, 189, 77, 192, 11, 129, 81, 25)}};
static const lean_object* l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__2 = (const lean_object*)&l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__2_value;
lean_object* l_Lean_MVarId_getType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MVarId_setKind___redArg(lean_object*, uint8_t, lean_object*);
uint8_t l_Lean_Expr_isAppOf(lean_object*, lean_object*);
uint8_t l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_addSubGoalAsVC(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_addSubGoalAsVC___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___00Lean_MVarId_freshenLCtxUserNamesSinceIdx___at___00Lean_Elab_Tactic_Do_addSubGoalAsVC_spec__0_spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
@ -501,6 +492,7 @@ static const lean_object* l_Lean_Elab_Tactic_Do_isDuplicable___closed__1 = (cons
static const lean_ctor_object l_Lean_Elab_Tactic_Do_isDuplicable___closed__2_value_aux_0 = {.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_Lean_Elab_Tactic_Do_isDuplicable___closed__0_value),LEAN_SCALAR_PTR_LITERAL(135, 241, 166, 108, 243, 216, 193, 244)}};
static const lean_ctor_object l_Lean_Elab_Tactic_Do_isDuplicable___closed__2_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*)&l_Lean_Elab_Tactic_Do_isDuplicable___closed__2_value_aux_0),((lean_object*)&l_Lean_Elab_Tactic_Do_isDuplicable___closed__1_value),LEAN_SCALAR_PTR_LITERAL(2, 108, 58, 34, 100, 49, 50, 216)}};
static const lean_object* l_Lean_Elab_Tactic_Do_isDuplicable___closed__2 = (const lean_object*)&l_Lean_Elab_Tactic_Do_isDuplicable___closed__2_value;
uint8_t l_Lean_Expr_isAppOf(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_Elab_Tactic_Do_isDuplicable(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Do_isDuplicable___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at___00Lean_Elab_Tactic_Do_withLetDeclShared_spec__0___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -5028,7 +5020,6 @@ lean_object* x_11;
lean_dec_ref(x_10);
lean_inc(x_1);
x_11 = l_Lean_MVarId_getType(x_1, x_4, x_5, x_6, x_7);
lean_dec(x_7);
lean_dec_ref(x_6);
if (lean_obj_tag(x_11) == 0)
{
@ -5041,172 +5032,176 @@ lean_inc(x_1);
x_14 = l_Lean_MVarId_setKind___redArg(x_1, x_13, x_5);
if (lean_obj_tag(x_14) == 0)
{
lean_object* x_15; uint8_t x_16; uint8_t x_56;
x_56 = !lean_is_exclusive(x_14);
if (x_56 == 0)
lean_object* x_15; uint8_t x_16; uint8_t x_57;
x_57 = !lean_is_exclusive(x_14);
if (x_57 == 0)
{
lean_object* x_57;
x_57 = lean_ctor_get(x_14, 0);
lean_dec(x_57);
lean_object* x_58;
x_58 = lean_ctor_get(x_14, 0);
lean_dec(x_58);
x_15 = x_14;
x_16 = x_56;
goto block_55;
x_16 = x_57;
goto block_56;
}
else
{
lean_dec(x_14);
x_15 = lean_box(0);
x_16 = x_56;
goto block_55;
x_16 = x_57;
goto block_56;
}
block_55:
block_56:
{
lean_object* x_17; uint8_t x_18;
x_17 = ((lean_object*)(l_Lean_Elab_Tactic_Do_addSubGoalAsVC___closed__2));
x_18 = l_Lean_Expr_isAppOf(x_12, x_17);
lean_object* x_17; lean_object* x_18; uint8_t x_19;
x_17 = lean_st_ref_get(x_7);
lean_dec(x_7);
x_18 = lean_ctor_get(x_17, 0);
lean_inc_ref(x_18);
lean_dec(x_17);
x_19 = l_Lean_Elab_Tactic_Do_SpecAttr_isMVCGenInvariantType(x_18, x_12);
lean_dec(x_12);
if (x_18 == 0)
if (x_19 == 0)
{
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; uint8_t x_36;
x_19 = lean_st_ref_take(x_3);
x_20 = lean_ctor_get(x_19, 0);
x_21 = lean_ctor_get(x_19, 1);
x_22 = lean_ctor_get(x_19, 2);
x_23 = lean_ctor_get(x_19, 3);
x_36 = !lean_is_exclusive(x_19);
if (x_36 == 0)
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; uint8_t x_37;
x_20 = lean_st_ref_take(x_3);
x_21 = lean_ctor_get(x_20, 0);
x_22 = lean_ctor_get(x_20, 1);
x_23 = lean_ctor_get(x_20, 2);
x_24 = lean_ctor_get(x_20, 3);
x_37 = !lean_is_exclusive(x_20);
if (x_37 == 0)
{
x_24 = x_19;
x_25 = x_36;
goto block_35;
x_25 = x_20;
x_26 = x_37;
goto block_36;
}
else
{
lean_inc(x_24);
lean_inc(x_23);
lean_inc(x_22);
lean_inc(x_21);
lean_inc(x_20);
lean_dec(x_19);
x_24 = lean_box(0);
x_25 = x_36;
goto block_35;
lean_dec(x_20);
x_25 = lean_box(0);
x_26 = x_37;
goto block_36;
}
block_35:
block_36:
{
lean_object* x_26; lean_object* x_27;
x_26 = lean_array_push(x_23, x_1);
if (x_25 == 0)
lean_object* x_27; lean_object* x_28;
x_27 = lean_array_push(x_24, x_1);
if (x_26 == 0)
{
lean_ctor_set(x_24, 3, x_26);
x_27 = x_24;
goto block_33;
lean_ctor_set(x_25, 3, x_27);
x_28 = x_25;
goto block_34;
}
else
{
lean_object* x_34;
x_34 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_34, 0, x_20);
lean_ctor_set(x_34, 1, x_21);
lean_ctor_set(x_34, 2, x_22);
lean_ctor_set(x_34, 3, x_26);
x_27 = x_34;
goto block_33;
lean_object* x_35;
x_35 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_35, 0, x_21);
lean_ctor_set(x_35, 1, x_22);
lean_ctor_set(x_35, 2, x_23);
lean_ctor_set(x_35, 3, x_27);
x_28 = x_35;
goto block_34;
}
block_33:
block_34:
{
lean_object* x_28; lean_object* x_29; lean_object* x_30;
x_28 = lean_st_ref_set(x_3, x_27);
x_29 = lean_box(0);
lean_object* x_29; lean_object* x_30; lean_object* x_31;
x_29 = lean_st_ref_set(x_3, x_28);
x_30 = lean_box(0);
if (x_16 == 0)
{
lean_ctor_set(x_15, 0, x_29);
x_30 = x_15;
goto block_31;
lean_ctor_set(x_15, 0, x_30);
x_31 = x_15;
goto block_32;
}
else
{
lean_object* x_32;
x_32 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_32, 0, x_29);
x_30 = x_32;
goto block_31;
lean_object* x_33;
x_33 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_33, 0, x_30);
x_31 = x_33;
goto block_32;
}
block_31:
block_32:
{
return x_30;
return x_31;
}
}
}
}
else
{
lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; uint8_t x_54;
x_37 = lean_st_ref_take(x_3);
x_38 = lean_ctor_get(x_37, 0);
x_39 = lean_ctor_get(x_37, 1);
x_40 = lean_ctor_get(x_37, 2);
x_41 = lean_ctor_get(x_37, 3);
x_54 = !lean_is_exclusive(x_37);
if (x_54 == 0)
lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; uint8_t x_55;
x_38 = lean_st_ref_take(x_3);
x_39 = lean_ctor_get(x_38, 0);
x_40 = lean_ctor_get(x_38, 1);
x_41 = lean_ctor_get(x_38, 2);
x_42 = lean_ctor_get(x_38, 3);
x_55 = !lean_is_exclusive(x_38);
if (x_55 == 0)
{
x_42 = x_37;
x_43 = x_54;
goto block_53;
x_43 = x_38;
x_44 = x_55;
goto block_54;
}
else
{
lean_inc(x_42);
lean_inc(x_41);
lean_inc(x_40);
lean_inc(x_39);
lean_inc(x_38);
lean_dec(x_37);
x_42 = lean_box(0);
x_43 = x_54;
goto block_53;
lean_dec(x_38);
x_43 = lean_box(0);
x_44 = x_55;
goto block_54;
}
block_53:
block_54:
{
lean_object* x_44; lean_object* x_45;
x_44 = lean_array_push(x_40, x_1);
if (x_43 == 0)
lean_object* x_45; lean_object* x_46;
x_45 = lean_array_push(x_41, x_1);
if (x_44 == 0)
{
lean_ctor_set(x_42, 2, x_44);
x_45 = x_42;
goto block_51;
lean_ctor_set(x_43, 2, x_45);
x_46 = x_43;
goto block_52;
}
else
{
lean_object* x_52;
x_52 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_52, 0, x_38);
lean_ctor_set(x_52, 1, x_39);
lean_ctor_set(x_52, 2, x_44);
lean_ctor_set(x_52, 3, x_41);
x_45 = x_52;
goto block_51;
lean_object* x_53;
x_53 = lean_alloc_ctor(0, 4, 0);
lean_ctor_set(x_53, 0, x_39);
lean_ctor_set(x_53, 1, x_40);
lean_ctor_set(x_53, 2, x_45);
lean_ctor_set(x_53, 3, x_42);
x_46 = x_53;
goto block_52;
}
block_51:
block_52:
{
lean_object* x_46; lean_object* x_47; lean_object* x_48;
x_46 = lean_st_ref_set(x_3, x_45);
x_47 = lean_box(0);
lean_object* x_47; lean_object* x_48; lean_object* x_49;
x_47 = lean_st_ref_set(x_3, x_46);
x_48 = lean_box(0);
if (x_16 == 0)
{
lean_ctor_set(x_15, 0, x_47);
x_48 = x_15;
goto block_49;
lean_ctor_set(x_15, 0, x_48);
x_49 = x_15;
goto block_50;
}
else
{
lean_object* x_50;
x_50 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_50, 0, x_47);
x_48 = x_50;
goto block_49;
lean_object* x_51;
x_51 = lean_alloc_ctor(0, 1, 0);
lean_ctor_set(x_51, 0, x_48);
x_49 = x_51;
goto block_50;
}
block_49:
block_50:
{
return x_48;
return x_49;
}
}
}
@ -5216,49 +5211,51 @@ return x_48;
else
{
lean_dec(x_12);
lean_dec(x_7);
lean_dec(x_1);
return x_14;
}
}
else
{
lean_object* x_58; lean_object* x_59; uint8_t x_60; uint8_t x_65;
lean_object* x_59; lean_object* x_60; uint8_t x_61; uint8_t x_66;
lean_dec(x_7);
lean_dec(x_1);
x_58 = lean_ctor_get(x_11, 0);
x_65 = !lean_is_exclusive(x_11);
if (x_65 == 0)
x_59 = lean_ctor_get(x_11, 0);
x_66 = !lean_is_exclusive(x_11);
if (x_66 == 0)
{
x_59 = x_11;
x_60 = x_65;
goto block_64;
x_60 = x_11;
x_61 = x_66;
goto block_65;
}
else
{
lean_inc(x_58);
lean_inc(x_59);
lean_dec(x_11);
x_59 = lean_box(0);
x_60 = x_65;
goto block_64;
x_60 = lean_box(0);
x_61 = x_66;
goto block_65;
}
block_64:
block_65:
{
lean_object* x_61;
if (x_60 == 0)
lean_object* x_62;
if (x_61 == 0)
{
x_61 = x_59;
goto block_62;
x_62 = x_60;
goto block_63;
}
else
{
lean_object* x_63;
x_63 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_63, 0, x_58);
x_61 = x_63;
goto block_62;
lean_object* x_64;
x_64 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_64, 0, x_59);
x_62 = x_64;
goto block_63;
}
block_62:
block_63:
{
return x_61;
return x_62;
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
// Lean compiler output
// Module: Lean.Meta.Tactic.Cbv.Main
// Imports: public import Lean.Meta.Sym.Simp.SimpM public import Lean.Meta.Tactic.Cbv.Opaque public import Lean.Meta.Tactic.Cbv.ControlFlow import Lean.Meta.Tactic.Cbv.Util import Lean.Meta.Tactic.Cbv.TheoremsLookup import Lean.Meta.Tactic.Cbv.CbvEvalExt import Lean.Meta.Tactic.Cbv.CbvSimproc import Lean.Meta.Sym import Lean.Meta.Tactic.Refl import Lean.Meta.Tactic.Replace import Lean.Meta.Tactic.Assert
// Imports: public import Lean.Meta.Sym.Simp.SimpM public import Lean.Meta.Tactic.Cbv.Opaque public import Lean.Meta.Tactic.Cbv.ControlFlow import Lean.Meta.Tactic.Cbv.BuiltinCbvSimprocs.Core import Lean.Meta.Tactic.Cbv.Util import Lean.Meta.Tactic.Cbv.TheoremsLookup import Lean.Meta.Tactic.Cbv.CbvEvalExt import Lean.Meta.Tactic.Cbv.CbvSimproc import Lean.Meta.Sym import Lean.Meta.Tactic.Refl import Lean.Meta.Tactic.Replace import Lean.Meta.Tactic.Assert
#include <lean/lean.h>
#if defined(__clang__)
#pragma clang diagnostic ignored "-Wunused-parameter"
@ -272,7 +272,7 @@ uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Cbv_Main_0__Lean_Meta_Tactic_Cbv_handleConst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Cbv_Main_0__Lean_Meta_Tactic_Cbv_handleConst___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Sym_Simp_mkEqTrans___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Tactic_Cbv_simpControlCbv(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_Tactic_Cbv_tryMatcher(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_letNondep_x21(lean_object*);
lean_object* l_Lean_Meta_Sym_Simp_toBetaApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Cbv_Main_0__Lean_Meta_Tactic_Cbv_cbvPreStep(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -6645,7 +6645,7 @@ lean_inc(x_4);
lean_inc_ref(x_3);
lean_inc(x_2);
lean_inc_ref(x_1);
x_68 = l_Lean_Meta_Tactic_Cbv_simpControlCbv(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
x_68 = l_Lean_Meta_Tactic_Cbv_tryMatcher(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
if (lean_obj_tag(x_68) == 0)
{
lean_object* x_69;
@ -11160,6 +11160,7 @@ return x_10;
lean_object* runtime_initialize_Lean_Meta_Sym_Simp_SimpM(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Cbv_Opaque(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Cbv_ControlFlow(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Cbv_BuiltinCbvSimprocs_Core(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Cbv_Util(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Cbv_TheoremsLookup(uint8_t builtin);
lean_object* runtime_initialize_Lean_Meta_Tactic_Cbv_CbvEvalExt(uint8_t builtin);
@ -11185,6 +11186,10 @@ res = runtime_initialize_Lean_Meta_Tactic_Cbv_ControlFlow(builtin)
;
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Cbv_BuiltinCbvSimprocs_Core(builtin)
;
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Lean_Meta_Tactic_Cbv_Util(builtin)
;
if (lean_io_result_is_error(res)) return res;
@ -11241,6 +11246,7 @@ return lean_io_result_mk_ok(lean_box(0));
lean_object* initialize_Lean_Meta_Sym_Simp_SimpM(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Cbv_Opaque(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Cbv_ControlFlow(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Cbv_BuiltinCbvSimprocs_Core(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Cbv_Util(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Cbv_TheoremsLookup(uint8_t builtin);
lean_object* initialize_Lean_Meta_Tactic_Cbv_CbvEvalExt(uint8_t builtin);
@ -11266,6 +11272,10 @@ res = initialize_Lean_Meta_Tactic_Cbv_ControlFlow(builtin)
;
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Cbv_BuiltinCbvSimprocs_Core(builtin)
;
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Lean_Meta_Tactic_Cbv_Util(builtin)
;
if (lean_io_result_is_error(res)) return res;

View file

@ -4917,8 +4917,9 @@ lean_inc_ref(x_179);
lean_inc(x_29);
x_213 = l_Lean_Syntax_node3(x_29, x_30, x_179, x_189, x_212);
lean_inc_ref(x_134);
lean_inc_ref(x_38);
lean_inc(x_29);
x_214 = l_Lean_Syntax_node4(x_29, x_191, x_131, x_134, x_195, x_213);
x_214 = l_Lean_Syntax_node5(x_29, x_191, x_131, x_38, x_134, x_195, x_213);
lean_inc_ref(x_38);
lean_inc_ref(x_110);
lean_inc(x_29);
@ -5355,9 +5356,10 @@ lean_inc(x_29);
x_374 = l_Lean_Syntax_node3(x_29, x_30, x_179, x_323, x_373);
lean_inc(x_348);
lean_inc_ref(x_134);
lean_inc_ref(x_38);
lean_inc(x_340);
lean_inc(x_29);
x_375 = l_Lean_Syntax_node4(x_29, x_191, x_340, x_134, x_348, x_374);
x_375 = l_Lean_Syntax_node5(x_29, x_191, x_340, x_38, x_134, x_348, x_374);
lean_inc_ref(x_38);
lean_inc_ref(x_110);
lean_inc(x_29);
@ -5377,9 +5379,10 @@ lean_inc(x_29);
x_381 = l_Lean_Syntax_node3(x_29, x_30, x_179, x_323, x_380);
lean_inc(x_334);
lean_inc_ref(x_134);
lean_inc_ref(x_38);
lean_inc(x_326);
lean_inc(x_29);
x_382 = l_Lean_Syntax_node4(x_29, x_191, x_326, x_134, x_334, x_381);
x_382 = l_Lean_Syntax_node5(x_29, x_191, x_326, x_38, x_134, x_334, x_381);
lean_inc_ref(x_38);
lean_inc_ref(x_110);
lean_inc(x_29);
@ -5510,8 +5513,9 @@ lean_inc(x_29);
x_428 = l_Lean_Syntax_node3(x_29, x_30, x_179, x_323, x_427);
lean_inc(x_348);
lean_inc_ref(x_134);
lean_inc_ref(x_38);
lean_inc(x_29);
x_429 = l_Lean_Syntax_node4(x_29, x_191, x_340, x_134, x_348, x_428);
x_429 = l_Lean_Syntax_node5(x_29, x_191, x_340, x_38, x_134, x_348, x_428);
lean_inc_ref(x_38);
lean_inc_ref(x_110);
lean_inc(x_29);
@ -5530,8 +5534,9 @@ lean_inc_ref(x_179);
lean_inc(x_29);
x_435 = l_Lean_Syntax_node3(x_29, x_30, x_179, x_323, x_434);
lean_inc_ref(x_134);
lean_inc_ref(x_38);
lean_inc(x_29);
x_436 = l_Lean_Syntax_node4(x_29, x_191, x_326, x_134, x_334, x_435);
x_436 = l_Lean_Syntax_node5(x_29, x_191, x_326, x_38, x_134, x_334, x_435);
lean_inc_ref(x_38);
lean_inc_ref(x_110);
lean_inc(x_29);
@ -5808,9 +5813,10 @@ lean_inc_ref(x_179);
lean_inc(x_29);
x_538 = l_Lean_Syntax_node3(x_29, x_30, x_179, x_323, x_537);
lean_inc_ref(x_134);
lean_inc_ref(x_38);
lean_inc(x_522);
lean_inc(x_29);
x_539 = l_Lean_Syntax_node4(x_29, x_191, x_522, x_134, x_526, x_538);
x_539 = l_Lean_Syntax_node5(x_29, x_191, x_522, x_38, x_134, x_526, x_538);
lean_inc_ref(x_38);
lean_inc_ref(x_110);
lean_inc(x_29);
@ -6821,9 +6827,10 @@ lean_inc(x_29);
x_935 = l_Lean_Syntax_node3(x_29, x_30, x_179, x_323, x_934);
lean_inc(x_935);
lean_inc_ref(x_134);
lean_inc_ref(x_38);
lean_inc(x_904);
lean_inc(x_29);
x_936 = l_Lean_Syntax_node4(x_29, x_191, x_904, x_134, x_916, x_935);
x_936 = l_Lean_Syntax_node5(x_29, x_191, x_904, x_38, x_134, x_916, x_935);
lean_inc_ref(x_38);
lean_inc_ref(x_110);
lean_inc(x_29);
@ -6931,9 +6938,10 @@ lean_inc_ref(x_179);
lean_inc(x_29);
x_976 = l_Lean_Syntax_node3(x_29, x_30, x_179, x_323, x_975);
lean_inc_ref(x_134);
lean_inc_ref(x_38);
lean_inc(x_904);
lean_inc(x_29);
x_977 = l_Lean_Syntax_node4(x_29, x_191, x_904, x_134, x_967, x_976);
x_977 = l_Lean_Syntax_node5(x_29, x_191, x_904, x_38, x_134, x_967, x_976);
lean_inc_ref(x_38);
lean_inc_ref(x_110);
lean_inc(x_29);
@ -6995,8 +7003,9 @@ x_999 = l_Lean_Syntax_node2(x_29, x_68, x_909, x_345);
lean_inc(x_29);
x_1000 = l_Lean_Syntax_node1(x_29, x_192, x_999);
lean_inc_ref(x_134);
lean_inc_ref(x_38);
lean_inc(x_29);
x_1001 = l_Lean_Syntax_node4(x_29, x_191, x_904, x_134, x_1000, x_935);
x_1001 = l_Lean_Syntax_node5(x_29, x_191, x_904, x_38, x_134, x_1000, x_935);
lean_inc_ref(x_38);
lean_inc_ref(x_110);
lean_inc(x_29);
@ -7098,9 +7107,10 @@ lean_inc(x_29);
x_1038 = l_Lean_Syntax_node3(x_29, x_30, x_179, x_323, x_1037);
lean_inc(x_348);
lean_inc_ref(x_134);
lean_inc_ref(x_38);
lean_inc(x_522);
lean_inc(x_29);
x_1039 = l_Lean_Syntax_node4(x_29, x_191, x_522, x_134, x_348, x_1038);
x_1039 = l_Lean_Syntax_node5(x_29, x_191, x_522, x_38, x_134, x_348, x_1038);
lean_inc_ref(x_38);
lean_inc_ref(x_110);
lean_inc(x_29);
@ -7182,8 +7192,9 @@ x_1069 = l_Lean_Syntax_node1(x_29, x_30, x_1068);
lean_inc(x_323);
lean_inc(x_29);
x_1070 = l_Lean_Syntax_node3(x_29, x_30, x_179, x_323, x_1069);
lean_inc_ref(x_38);
lean_inc(x_29);
x_1071 = l_Lean_Syntax_node4(x_29, x_191, x_522, x_134, x_348, x_1070);
x_1071 = l_Lean_Syntax_node5(x_29, x_191, x_522, x_38, x_134, x_348, x_1070);
lean_inc_ref(x_38);
lean_inc(x_29);
x_1072 = l_Lean_Syntax_node3(x_29, x_190, x_110, x_38, x_1071);

View file

@ -4152,8 +4152,9 @@ lean_inc_ref(x_138);
lean_inc(x_24);
x_161 = l_Lean_Syntax_node3(x_24, x_25, x_138, x_151, x_160);
lean_inc_ref(x_126);
lean_inc_ref(x_33);
lean_inc(x_24);
x_162 = l_Lean_Syntax_node4(x_24, x_103, x_124, x_126, x_136, x_161);
x_162 = l_Lean_Syntax_node5(x_24, x_103, x_124, x_33, x_126, x_136, x_161);
lean_inc_ref(x_33);
lean_inc_ref(x_102);
lean_inc(x_24);
@ -4576,9 +4577,10 @@ lean_inc(x_24);
x_317 = l_Lean_Syntax_node3(x_24, x_25, x_138, x_266, x_316);
lean_inc(x_291);
lean_inc_ref(x_126);
lean_inc_ref(x_33);
lean_inc(x_283);
lean_inc(x_24);
x_318 = l_Lean_Syntax_node4(x_24, x_103, x_283, x_126, x_291, x_317);
x_318 = l_Lean_Syntax_node5(x_24, x_103, x_283, x_33, x_126, x_291, x_317);
lean_inc_ref(x_33);
lean_inc_ref(x_102);
lean_inc(x_24);
@ -4598,9 +4600,10 @@ lean_inc(x_24);
x_324 = l_Lean_Syntax_node3(x_24, x_25, x_138, x_266, x_323);
lean_inc(x_277);
lean_inc_ref(x_126);
lean_inc_ref(x_33);
lean_inc(x_269);
lean_inc(x_24);
x_325 = l_Lean_Syntax_node4(x_24, x_103, x_269, x_126, x_277, x_324);
x_325 = l_Lean_Syntax_node5(x_24, x_103, x_269, x_33, x_126, x_277, x_324);
lean_inc_ref(x_33);
lean_inc_ref(x_102);
lean_inc(x_24);
@ -4730,8 +4733,9 @@ lean_inc(x_24);
x_371 = l_Lean_Syntax_node3(x_24, x_25, x_138, x_266, x_370);
lean_inc(x_291);
lean_inc_ref(x_126);
lean_inc_ref(x_33);
lean_inc(x_24);
x_372 = l_Lean_Syntax_node4(x_24, x_103, x_283, x_126, x_291, x_371);
x_372 = l_Lean_Syntax_node5(x_24, x_103, x_283, x_33, x_126, x_291, x_371);
lean_inc_ref(x_33);
lean_inc_ref(x_102);
lean_inc(x_24);
@ -4750,8 +4754,9 @@ lean_inc_ref(x_138);
lean_inc(x_24);
x_378 = l_Lean_Syntax_node3(x_24, x_25, x_138, x_266, x_377);
lean_inc_ref(x_126);
lean_inc_ref(x_33);
lean_inc(x_24);
x_379 = l_Lean_Syntax_node4(x_24, x_103, x_269, x_126, x_277, x_378);
x_379 = l_Lean_Syntax_node5(x_24, x_103, x_269, x_33, x_126, x_277, x_378);
lean_inc_ref(x_33);
lean_inc_ref(x_102);
lean_inc(x_24);
@ -5811,9 +5816,10 @@ lean_inc(x_24);
x_797 = l_Lean_Syntax_node3(x_24, x_25, x_138, x_266, x_796);
lean_inc(x_797);
lean_inc_ref(x_126);
lean_inc_ref(x_33);
lean_inc(x_771);
lean_inc(x_24);
x_798 = l_Lean_Syntax_node4(x_24, x_103, x_771, x_126, x_778, x_797);
x_798 = l_Lean_Syntax_node5(x_24, x_103, x_771, x_33, x_126, x_778, x_797);
lean_inc_ref(x_33);
lean_inc_ref(x_102);
lean_inc(x_24);
@ -5882,8 +5888,9 @@ x_823 = l_Lean_Syntax_node2(x_24, x_63, x_776, x_288);
lean_inc(x_24);
x_824 = l_Lean_Syntax_node1(x_24, x_127, x_823);
lean_inc_ref(x_126);
lean_inc_ref(x_33);
lean_inc(x_24);
x_825 = l_Lean_Syntax_node4(x_24, x_103, x_771, x_126, x_824, x_797);
x_825 = l_Lean_Syntax_node5(x_24, x_103, x_771, x_33, x_126, x_824, x_797);
lean_inc_ref(x_33);
lean_inc_ref(x_102);
lean_inc(x_24);
@ -5996,8 +6003,9 @@ x_867 = l_Lean_Syntax_node1(x_24, x_25, x_866);
lean_inc(x_266);
lean_inc(x_24);
x_868 = l_Lean_Syntax_node3(x_24, x_25, x_138, x_266, x_867);
lean_inc_ref(x_33);
lean_inc(x_24);
x_869 = l_Lean_Syntax_node4(x_24, x_103, x_853, x_126, x_291, x_868);
x_869 = l_Lean_Syntax_node5(x_24, x_103, x_853, x_33, x_126, x_291, x_868);
lean_inc_ref(x_33);
lean_inc(x_24);
x_870 = l_Lean_Syntax_node3(x_24, x_100, x_102, x_33, x_869);

View file

@ -166,8 +166,8 @@ static const lean_object* l_Std_Http_Chunk_ExtensionName_ofString_x21___closed__
lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* l_mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_Http_Chunk_ExtensionName_ofString_x21(lean_object*);
LEAN_EXPORT lean_object* l_Std_Http_Chunk_ExtensionValue_validExtensionValue___autoParam;
static const lean_string_object l_Std_Http_Chunk_instReprExtensionValue_repr___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 20, .m_capacity = 20, .m_length = 19, .m_data = "validExtensionValue"};
LEAN_EXPORT lean_object* l_Std_Http_Chunk_ExtensionValue_isValidExtensionValue___autoParam;
static const lean_string_object l_Std_Http_Chunk_instReprExtensionValue_repr___redArg___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 22, .m_capacity = 22, .m_length = 21, .m_data = "isValidExtensionValue"};
static const lean_object* l_Std_Http_Chunk_instReprExtensionValue_repr___redArg___closed__0 = (const lean_object*)&l_Std_Http_Chunk_instReprExtensionValue_repr___redArg___closed__0_value;
static const lean_ctor_object l_Std_Http_Chunk_instReprExtensionValue_repr___redArg___closed__1_value = {.m_header = {.m_rc = 0, .m_cs_sz = sizeof(lean_ctor_object) + sizeof(void*)*1 + 0, .m_other = 1, .m_tag = 3}, .m_objs = {((lean_object*)&l_Std_Http_Chunk_instReprExtensionValue_repr___redArg___closed__0_value)}};
static const lean_object* l_Std_Http_Chunk_instReprExtensionValue_repr___redArg___closed__1 = (const lean_object*)&l_Std_Http_Chunk_instReprExtensionValue_repr___redArg___closed__1_value;
@ -194,8 +194,16 @@ LEAN_EXPORT lean_object* l_Std_Http_Chunk_ExtensionValue_instToString___lam__0__
static const lean_closure_object l_Std_Http_Chunk_ExtensionValue_instToString___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_Std_Http_Chunk_ExtensionValue_instToString___lam__0___boxed, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Std_Http_Chunk_ExtensionValue_instToString___closed__0 = (const lean_object*)&l_Std_Http_Chunk_ExtensionValue_instToString___closed__0_value;
LEAN_EXPORT const lean_object* l_Std_Http_Chunk_ExtensionValue_instToString = (const lean_object*)&l_Std_Http_Chunk_ExtensionValue_instToString___closed__0_value;
lean_object* l_Std_Http_Internal_quoteHttpString_x3f(lean_object*);
lean_object* l_Std_Http_Internal_quoteHttpString___redArg(lean_object*);
LEAN_EXPORT lean_object* l_Std_Http_Chunk_ExtensionValue_quote(lean_object*);
uint8_t lean_uint32_dec_eq(uint32_t, uint32_t);
uint8_t lean_uint32_dec_le(uint32_t, uint32_t);
LEAN_EXPORT uint8_t l_Std_Http_Chunk_ExtensionValue_ofString_x3f___lam__0(uint32_t);
LEAN_EXPORT lean_object* l_Std_Http_Chunk_ExtensionValue_ofString_x3f___lam__0___boxed(lean_object*);
static const lean_closure_object l_Std_Http_Chunk_ExtensionValue_ofString_x3f___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_Std_Http_Chunk_ExtensionValue_ofString_x3f___lam__0___boxed, .m_arity = 1, .m_num_fixed = 0, .m_objs = {} };
static const lean_object* l_Std_Http_Chunk_ExtensionValue_ofString_x3f___closed__0 = (const lean_object*)&l_Std_Http_Chunk_ExtensionValue_ofString_x3f___closed__0_value;
lean_object* lean_string_data(lean_object*);
uint8_t l_List_all___redArg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_Http_Chunk_ExtensionValue_ofString_x3f(lean_object*);
LEAN_EXPORT lean_object* l_panic___at___00Std_Http_Chunk_ExtensionValue_ofString_x21_spec__0(lean_object*);
static const lean_string_object l_Std_Http_Chunk_ExtensionValue_ofString_x21___closed__0_value = {.m_header = {.m_rc = 0, .m_cs_sz = 0, .m_other = 0, .m_tag = 249}, .m_size = 40, .m_capacity = 40, .m_length = 39, .m_data = "Std.Http.Chunk.ExtensionValue.ofString!"};
@ -677,7 +685,7 @@ return x_12;
}
}
}
static lean_object* _init_l_Std_Http_Chunk_ExtensionValue_validExtensionValue___autoParam(void) {
static lean_object* _init_l_Std_Http_Chunk_ExtensionValue_isValidExtensionValue___autoParam(void) {
_start:
{
lean_object* x_1;
@ -835,72 +843,163 @@ return x_2;
LEAN_EXPORT lean_object* l_Std_Http_Chunk_ExtensionValue_quote(lean_object* x_1) {
_start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Std_Http_Internal_quoteHttpString_x3f(x_1);
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
lean_dec(x_2);
lean_object* x_2;
x_2 = l_Std_Http_Internal_quoteHttpString___redArg(x_1);
return x_2;
}
}
LEAN_EXPORT uint8_t l_Std_Http_Chunk_ExtensionValue_ofString_x3f___lam__0(uint32_t x_1) {
_start:
{
uint32_t x_16; uint8_t x_17;
x_16 = 9;
x_17 = lean_uint32_dec_eq(x_1, x_16);
if (x_17 == 0)
{
uint32_t x_18; uint8_t x_19;
x_18 = 32;
x_19 = lean_uint32_dec_eq(x_1, x_18);
if (x_19 == 0)
{
uint32_t x_20; uint8_t x_21;
x_20 = 33;
x_21 = lean_uint32_dec_eq(x_1, x_20);
if (x_21 == 0)
{
uint32_t x_22; uint8_t x_23;
x_22 = 35;
x_23 = lean_uint32_dec_le(x_22, x_1);
if (x_23 == 0)
{
goto block_15;
}
else
{
uint32_t x_24; uint8_t x_25;
x_24 = 91;
x_25 = lean_uint32_dec_le(x_1, x_24);
if (x_25 == 0)
{
goto block_15;
}
else
{
return x_25;
}
}
}
else
{
return x_21;
}
}
else
{
return x_19;
}
}
else
{
return x_17;
}
block_10:
{
uint32_t x_2; uint8_t x_3;
x_2 = 9;
x_3 = lean_uint32_dec_eq(x_1, x_2);
if (x_3 == 0)
{
uint32_t x_4; uint8_t x_5;
x_4 = 32;
x_5 = lean_uint32_dec_eq(x_1, x_4);
if (x_5 == 0)
{
uint32_t x_6; uint8_t x_7;
x_6 = 33;
x_7 = lean_uint32_dec_le(x_6, x_1);
if (x_7 == 0)
{
return x_7;
}
else
{
uint32_t x_8; uint8_t x_9;
x_8 = 126;
x_9 = lean_uint32_dec_le(x_1, x_8);
return x_9;
}
}
else
{
return x_5;
}
}
else
{
return x_3;
}
}
block_15:
{
uint32_t x_11; uint8_t x_12;
x_11 = 93;
x_12 = lean_uint32_dec_le(x_11, x_1);
if (x_12 == 0)
{
goto block_10;
}
else
{
uint32_t x_13; uint8_t x_14;
x_13 = 126;
x_14 = lean_uint32_dec_le(x_1, x_13);
if (x_14 == 0)
{
goto block_10;
}
else
{
return x_14;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Std_Http_Chunk_ExtensionValue_ofString_x3f___lam__0___boxed(lean_object* x_1) {
_start:
{
uint32_t x_2; uint8_t x_3; lean_object* x_4;
x_2 = lean_unbox_uint32(x_1);
lean_dec(x_1);
x_3 = l_Std_Http_Chunk_ExtensionValue_ofString_x3f___lam__0(x_2);
x_4 = lean_box(x_3);
return x_4;
}
}
LEAN_EXPORT lean_object* l_Std_Http_Chunk_ExtensionValue_ofString_x3f(lean_object* x_1) {
_start:
{
lean_object* x_2;
lean_object* x_2; lean_object* x_3; uint8_t x_4;
x_2 = ((lean_object*)(l_Std_Http_Chunk_ExtensionValue_ofString_x3f___closed__0));
lean_inc_ref(x_1);
x_2 = l_Std_Http_Internal_quoteHttpString_x3f(x_1);
if (lean_obj_tag(x_2) == 0)
x_3 = lean_string_data(x_1);
x_4 = l_List_all___redArg(x_3, x_2);
if (x_4 == 0)
{
lean_object* x_3;
lean_object* x_5;
lean_dec_ref(x_1);
x_3 = lean_box(0);
return x_3;
x_5 = lean_box(0);
return x_5;
}
else
{
lean_object* x_4; uint8_t x_5; uint8_t x_10;
x_10 = !lean_is_exclusive(x_2);
if (x_10 == 0)
{
lean_object* x_11;
x_11 = lean_ctor_get(x_2, 0);
lean_dec(x_11);
x_4 = x_2;
x_5 = x_10;
goto block_9;
}
else
{
lean_dec(x_2);
x_4 = lean_box(0);
x_5 = x_10;
goto block_9;
}
block_9:
{
lean_object* x_6;
if (x_5 == 0)
{
lean_ctor_set(x_4, 0, x_1);
x_6 = x_4;
goto block_7;
}
else
{
lean_object* x_8;
x_8 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_8, 0, x_1);
x_6 = x_8;
goto block_7;
}
block_7:
{
x_6 = lean_alloc_ctor(1, 1, 0);
lean_ctor_set(x_6, 0, x_1);
return x_6;
}
}
}
}
}
LEAN_EXPORT lean_object* l_panic___at___00Std_Http_Chunk_ExtensionValue_ofString_x21_spec__0(lean_object* x_1) {
_start:
{
@ -921,7 +1020,7 @@ if (lean_obj_tag(x_2) == 0)
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_3 = ((lean_object*)(l_Std_Http_Chunk_ExtensionName_ofString_x21___closed__0));
x_4 = ((lean_object*)(l_Std_Http_Chunk_ExtensionValue_ofString_x21___closed__0));
x_5 = lean_unsigned_to_nat(153u);
x_5 = lean_unsigned_to_nat(152u);
x_6 = lean_unsigned_to_nat(12u);
x_7 = ((lean_object*)(l_Std_Http_Chunk_ExtensionValue_ofString_x21___closed__1));
x_8 = l_String_quote(x_1);
@ -1123,7 +1222,7 @@ x_8 = lean_ctor_get(x_4, 0);
lean_inc(x_8);
lean_dec_ref(x_4);
x_9 = ((lean_object*)(l_Std_Http_Chunk_instEncodeV11___lam__1___closed__1));
x_10 = l_Std_Http_Chunk_ExtensionValue_quote(x_8);
x_10 = l_Std_Http_Internal_quoteHttpString___redArg(x_8);
x_11 = lean_string_append(x_9, x_10);
lean_dec_ref(x_10);
x_12 = lean_string_append(x_7, x_11);
@ -1442,8 +1541,8 @@ if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
l_Std_Http_Chunk_ExtensionName_isValidExtensionName___autoParam = _init_l_Std_Http_Chunk_ExtensionName_isValidExtensionName___autoParam();
lean_mark_persistent(l_Std_Http_Chunk_ExtensionName_isValidExtensionName___autoParam);
l_Std_Http_Chunk_ExtensionValue_validExtensionValue___autoParam = _init_l_Std_Http_Chunk_ExtensionValue_validExtensionValue___autoParam();
lean_mark_persistent(l_Std_Http_Chunk_ExtensionValue_validExtensionValue___autoParam);
l_Std_Http_Chunk_ExtensionValue_isValidExtensionValue___autoParam = _init_l_Std_Http_Chunk_ExtensionValue_isValidExtensionValue___autoParam();
lean_mark_persistent(l_Std_Http_Chunk_ExtensionValue_isValidExtensionValue___autoParam);
return lean_io_result_mk_ok(lean_box(0));
}
lean_object* initialize_Std_Internal_Http_Internal(uint8_t builtin);

View file

@ -1146,11 +1146,11 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_obj
x_6 = lean_string_to_utf8(x_5);
lean_dec_ref(x_5);
lean_inc_ref(x_6);
x_7 = lean_array_push(x_4, x_6);
x_7 = lean_array_push(x_3, x_6);
x_8 = lean_byte_array_size(x_6);
lean_dec_ref(x_6);
x_9 = lean_nat_add(x_3, x_8);
lean_dec(x_3);
x_9 = lean_nat_add(x_4, x_8);
lean_dec(x_4);
x_10 = lean_obj_once(&l_Std_Http_Request_instEncodeV11Head___lam__0___closed__0, &l_Std_Http_Request_instEncodeV11Head___lam__0___closed__0_once, _init_l_Std_Http_Request_instEncodeV11Head___lam__0___closed__0);
x_11 = lean_array_push(x_7, x_10);
x_12 = lean_obj_once(&l_Std_Http_Request_instEncodeV11Head___lam__0___closed__1, &l_Std_Http_Request_instEncodeV11Head___lam__0___closed__1_once, _init_l_Std_Http_Request_instEncodeV11Head___lam__0___closed__1);
@ -1197,8 +1197,8 @@ case 0:
{
lean_object* x_36;
x_36 = ((lean_object*)(l_Std_Http_Request_instToStringHead___lam__0___closed__2));
x_3 = x_35;
x_4 = x_34;
x_3 = x_34;
x_4 = x_35;
x_5 = x_36;
goto block_15;
}
@ -1206,8 +1206,8 @@ case 1:
{
lean_object* x_37;
x_37 = ((lean_object*)(l_Std_Http_Request_instToStringHead___lam__0___closed__3));
x_3 = x_35;
x_4 = x_34;
x_3 = x_34;
x_4 = x_35;
x_5 = x_37;
goto block_15;
}
@ -1215,8 +1215,8 @@ case 2:
{
lean_object* x_38;
x_38 = ((lean_object*)(l_Std_Http_Request_instToStringHead___lam__0___closed__4));
x_3 = x_35;
x_4 = x_34;
x_3 = x_34;
x_4 = x_35;
x_5 = x_38;
goto block_15;
}
@ -1224,8 +1224,8 @@ default:
{
lean_object* x_39;
x_39 = ((lean_object*)(l_Std_Http_Request_instToStringHead___lam__0___closed__5));
x_3 = x_35;
x_4 = x_34;
x_3 = x_34;
x_4 = x_35;
x_5 = x_39;
goto block_15;
}

View file

@ -1,6 +1,6 @@
// Lean compiler output
// Module: Std.Internal.Http.Internal.Char
// Imports: public import Init.Data.String
// Imports: public import Init.Data.Char public import Init.Data.String public import Init.Data.Int public import Init.Grind
#include <lean/lean.h>
#if defined(__clang__)
#pragma clang diagnostic ignored "-Wunused-parameter"
@ -50,6 +50,14 @@ LEAN_EXPORT uint8_t l_Std_Http_Internal_Char_quotedPairChar(uint32_t);
LEAN_EXPORT lean_object* l_Std_Http_Internal_Char_quotedPairChar___boxed(lean_object*);
LEAN_EXPORT uint8_t l_Std_Http_Internal_Char_quotedStringChar(uint32_t);
LEAN_EXPORT lean_object* l_Std_Http_Internal_Char_quotedStringChar___boxed(lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_qdtext_match__1_splitter___redArg(uint32_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_qdtext_match__1_splitter___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_qdtext_match__1_splitter(lean_object*, uint32_t, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_qdtext_match__1_splitter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_quotedPairChar_match__1_splitter___redArg(uint32_t, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_quotedPairChar_match__1_splitter___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_quotedPairChar_match__1_splitter(lean_object*, uint32_t, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_quotedPairChar_match__1_splitter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Std_Http_Internal_Char_fieldVchar(uint32_t);
LEAN_EXPORT lean_object* l_Std_Http_Internal_Char_fieldVchar___boxed(lean_object*);
LEAN_EXPORT uint8_t l_Std_Http_Internal_Char_fieldContent(uint32_t);
@ -837,6 +845,240 @@ x_4 = lean_box(x_3);
return x_4;
}
}
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_qdtext_match__1_splitter___redArg(uint32_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
uint32_t x_6; uint8_t x_7;
x_6 = 9;
x_7 = lean_uint32_dec_eq(x_1, x_6);
if (x_7 == 0)
{
uint32_t x_8; uint8_t x_9;
lean_dec(x_2);
x_8 = 32;
x_9 = lean_uint32_dec_eq(x_1, x_8);
if (x_9 == 0)
{
uint32_t x_10; uint8_t x_11;
lean_dec(x_3);
x_10 = 33;
x_11 = lean_uint32_dec_eq(x_1, x_10);
if (x_11 == 0)
{
lean_object* x_12; lean_object* x_13;
lean_dec(x_4);
x_12 = lean_box_uint32(x_1);
x_13 = lean_apply_4(x_5, x_12, lean_box(0), lean_box(0), lean_box(0));
return x_13;
}
else
{
lean_object* x_14; lean_object* x_15;
lean_dec(x_5);
x_14 = lean_box(0);
x_15 = lean_apply_1(x_4, x_14);
return x_15;
}
}
else
{
lean_object* x_16; lean_object* x_17;
lean_dec(x_5);
lean_dec(x_4);
x_16 = lean_box(0);
x_17 = lean_apply_1(x_3, x_16);
return x_17;
}
}
else
{
lean_object* x_18; lean_object* x_19;
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
x_18 = lean_box(0);
x_19 = lean_apply_1(x_2, x_18);
return x_19;
}
}
}
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_qdtext_match__1_splitter___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
uint32_t x_6; lean_object* x_7;
x_6 = lean_unbox_uint32(x_1);
lean_dec(x_1);
x_7 = l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_qdtext_match__1_splitter___redArg(x_6, x_2, x_3, x_4, x_5);
return x_7;
}
}
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_qdtext_match__1_splitter(lean_object* x_1, uint32_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
uint32_t x_7; uint8_t x_8;
x_7 = 9;
x_8 = lean_uint32_dec_eq(x_2, x_7);
if (x_8 == 0)
{
uint32_t x_9; uint8_t x_10;
lean_dec(x_3);
x_9 = 32;
x_10 = lean_uint32_dec_eq(x_2, x_9);
if (x_10 == 0)
{
uint32_t x_11; uint8_t x_12;
lean_dec(x_4);
x_11 = 33;
x_12 = lean_uint32_dec_eq(x_2, x_11);
if (x_12 == 0)
{
lean_object* x_13; lean_object* x_14;
lean_dec(x_5);
x_13 = lean_box_uint32(x_2);
x_14 = lean_apply_4(x_6, x_13, lean_box(0), lean_box(0), lean_box(0));
return x_14;
}
else
{
lean_object* x_15; lean_object* x_16;
lean_dec(x_6);
x_15 = lean_box(0);
x_16 = lean_apply_1(x_5, x_15);
return x_16;
}
}
else
{
lean_object* x_17; lean_object* x_18;
lean_dec(x_6);
lean_dec(x_5);
x_17 = lean_box(0);
x_18 = lean_apply_1(x_4, x_17);
return x_18;
}
}
else
{
lean_object* x_19; lean_object* x_20;
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
x_19 = lean_box(0);
x_20 = lean_apply_1(x_3, x_19);
return x_20;
}
}
}
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_qdtext_match__1_splitter___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
_start:
{
uint32_t x_7; lean_object* x_8;
x_7 = lean_unbox_uint32(x_2);
lean_dec(x_2);
x_8 = l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_qdtext_match__1_splitter(x_1, x_7, x_3, x_4, x_5, x_6);
return x_8;
}
}
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_quotedPairChar_match__1_splitter___redArg(uint32_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
uint32_t x_5; uint8_t x_6;
x_5 = 9;
x_6 = lean_uint32_dec_eq(x_1, x_5);
if (x_6 == 0)
{
uint32_t x_7; uint8_t x_8;
lean_dec(x_2);
x_7 = 32;
x_8 = lean_uint32_dec_eq(x_1, x_7);
if (x_8 == 0)
{
lean_object* x_9; lean_object* x_10;
lean_dec(x_3);
x_9 = lean_box_uint32(x_1);
x_10 = lean_apply_3(x_4, x_9, lean_box(0), lean_box(0));
return x_10;
}
else
{
lean_object* x_11; lean_object* x_12;
lean_dec(x_4);
x_11 = lean_box(0);
x_12 = lean_apply_1(x_3, x_11);
return x_12;
}
}
else
{
lean_object* x_13; lean_object* x_14;
lean_dec(x_4);
lean_dec(x_3);
x_13 = lean_box(0);
x_14 = lean_apply_1(x_2, x_13);
return x_14;
}
}
}
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_quotedPairChar_match__1_splitter___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
uint32_t x_5; lean_object* x_6;
x_5 = lean_unbox_uint32(x_1);
lean_dec(x_1);
x_6 = l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_quotedPairChar_match__1_splitter___redArg(x_5, x_2, x_3, x_4);
return x_6;
}
}
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_quotedPairChar_match__1_splitter(lean_object* x_1, uint32_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
uint32_t x_6; uint8_t x_7;
x_6 = 9;
x_7 = lean_uint32_dec_eq(x_2, x_6);
if (x_7 == 0)
{
uint32_t x_8; uint8_t x_9;
lean_dec(x_3);
x_8 = 32;
x_9 = lean_uint32_dec_eq(x_2, x_8);
if (x_9 == 0)
{
lean_object* x_10; lean_object* x_11;
lean_dec(x_4);
x_10 = lean_box_uint32(x_2);
x_11 = lean_apply_3(x_5, x_10, lean_box(0), lean_box(0));
return x_11;
}
else
{
lean_object* x_12; lean_object* x_13;
lean_dec(x_5);
x_12 = lean_box(0);
x_13 = lean_apply_1(x_4, x_12);
return x_13;
}
}
else
{
lean_object* x_14; lean_object* x_15;
lean_dec(x_5);
lean_dec(x_4);
x_14 = lean_box(0);
x_15 = lean_apply_1(x_3, x_14);
return x_15;
}
}
}
LEAN_EXPORT lean_object* l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_quotedPairChar_match__1_splitter___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
_start:
{
uint32_t x_6; lean_object* x_7;
x_6 = lean_unbox_uint32(x_2);
lean_dec(x_2);
x_7 = l___private_Std_Internal_Http_Internal_Char_0__Std_Http_Internal_Char_quotedPairChar_match__1_splitter(x_1, x_6, x_3, x_4, x_5);
return x_7;
}
}
LEAN_EXPORT uint8_t l_Std_Http_Internal_Char_fieldVchar(uint32_t x_1) {
_start:
{
@ -3537,16 +3779,31 @@ x_4 = lean_box(x_3);
return x_4;
}
}
lean_object* runtime_initialize_Init_Data_Char(uint8_t builtin);
lean_object* runtime_initialize_Init_Data_String(uint8_t builtin);
lean_object* runtime_initialize_Init_Data_Int(uint8_t builtin);
lean_object* runtime_initialize_Init_Grind(uint8_t builtin);
static bool _G_runtime_initialized = false;
LEAN_EXPORT lean_object* runtime_initialize_Std_Internal_Http_Internal_Char(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_Data_Char(builtin)
;
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Init_Data_String(builtin)
;
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Init_Data_Int(builtin)
;
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Init_Grind(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;
@ -3556,16 +3813,31 @@ 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_Data_Char(uint8_t builtin);
lean_object* initialize_Init_Data_String(uint8_t builtin);
lean_object* initialize_Init_Data_Int(uint8_t builtin);
lean_object* initialize_Init_Grind(uint8_t builtin);
static bool _G_initialized = false;
LEAN_EXPORT lean_object* initialize_Std_Internal_Http_Internal_Char(uint8_t builtin) {
lean_object * res;
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
_G_initialized = true;
res = initialize_Init_Data_Char(builtin)
;
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Init_Data_String(builtin)
;
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Init_Data_Int(builtin)
;
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = initialize_Init_Grind(builtin)
;
if (lean_io_result_is_error(res)) return res;
lean_dec_ref(res);
res = runtime_initialize_Std_Internal_Http_Internal_Char(builtin)
;
if (lean_io_result_is_error(res)) return res;

File diff suppressed because it is too large Load diff