chore: update stage0
This commit is contained in:
parent
e9f069146c
commit
092449adb8
39 changed files with 106315 additions and 39311 deletions
6
stage0/stdlib/Init.c
generated
6
stage0/stdlib/Init.c
generated
|
|
@ -1,6 +1,6 @@
|
|||
// Lean compiler output
|
||||
// Module: Init
|
||||
// Imports: Init.Prelude Init.Notation Init.Tactics Init.TacticsExtra Init.ByCases Init.RCases Init.Core Init.Control Init.Data.Basic Init.WF Init.WFTactics Init.Data Init.System Init.Util Init.Dynamic Init.ShareCommon Init.MetaTypes Init.Meta Init.NotationExtra Init.SimpLemmas Init.PropLemmas Init.Hints Init.Conv Init.Guard Init.Simproc Init.SizeOfLemmas Init.BinderPredicates Init.Ext Init.Omega Init.MacroTrace Init.Grind Init.While Init.Syntax
|
||||
// Imports: Init.Prelude Init.Notation Init.Tactics Init.TacticsExtra Init.ByCases Init.RCases Init.Core Init.Control Init.Data.Basic Init.WF Init.WFTactics Init.Data Init.System Init.Util Init.Dynamic Init.ShareCommon Init.MetaTypes Init.Meta Init.NotationExtra Init.SimpLemmas Init.PropLemmas Init.Hints Init.Conv Init.Guard Init.Simproc Init.SizeOfLemmas Init.BinderPredicates Init.Ext Init.Omega Init.MacroTrace Init.Grind Init.While Init.Syntax Init.Internal
|
||||
#include <lean/lean.h>
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
|
|
@ -46,6 +46,7 @@ lean_object* initialize_Init_MacroTrace(uint8_t builtin, lean_object*);
|
|||
lean_object* initialize_Init_Grind(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Init_While(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Init_Syntax(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Init_Internal(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Init(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
|
|
@ -150,6 +151,9 @@ lean_dec_ref(res);
|
|||
res = initialize_Init_Syntax(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Init_Internal(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
6
stage0/stdlib/Init/Grind/Lemmas.c
generated
6
stage0/stdlib/Init/Grind/Lemmas.c
generated
|
|
@ -1,6 +1,6 @@
|
|||
// Lean compiler output
|
||||
// Module: Init.Grind.Lemmas
|
||||
// Imports: Init.Core Init.SimpLemmas Init.Classical Init.ByCases
|
||||
// Imports: Init.Core Init.SimpLemmas Init.Classical Init.ByCases Init.Grind.Util
|
||||
#include <lean/lean.h>
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
|
|
@ -17,6 +17,7 @@ lean_object* initialize_Init_Core(uint8_t builtin, lean_object*);
|
|||
lean_object* initialize_Init_SimpLemmas(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Init_Classical(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Init_ByCases(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Init_Grind_Util(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Init_Grind_Lemmas(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
|
|
@ -34,6 +35,9 @@ lean_dec_ref(res);
|
|||
res = initialize_Init_ByCases(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Init_Grind_Util(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
191
stage0/stdlib/Init/Grind/Tactics.c
generated
191
stage0/stdlib/Init/Grind/Tactics.c
generated
|
|
@ -14,69 +14,163 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
static lean_object* l_Lean_Parser_Tactic_grind___closed__7;
|
||||
extern lean_object* l_Lean_Parser_Tactic_optConfig;
|
||||
static lean_object* l_Lean_Grind_instInhabitedConfig___closed__1;
|
||||
static lean_object* l_Lean_Parser_Tactic_grind___closed__10;
|
||||
static lean_object* l_Lean_Parser_Tactic_grind___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_grind;
|
||||
static lean_object* l_Lean_Grind_instBEqConfig___closed__1;
|
||||
static lean_object* l_Lean_Parser_Tactic_grind___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Grind_instBEqConfig;
|
||||
LEAN_EXPORT lean_object* l___private_Init_Grind_Tactics_0__Lean_Grind_beqConfig____x40_Init_Grind_Tactics___hyg_18____boxed(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Parser_Tactic_grind___closed__9;
|
||||
static lean_object* l_Lean_Parser_Tactic_grind___closed__1;
|
||||
LEAN_EXPORT uint8_t l_Lean_Grind_instInhabitedConfig;
|
||||
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Grind_instInhabitedConfig;
|
||||
static lean_object* l_Lean_Parser_Tactic_grind___closed__5;
|
||||
static lean_object* l_Lean_Parser_Tactic_grind___closed__3;
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Parser_Tactic_grind___closed__4;
|
||||
LEAN_EXPORT lean_object* l___private_Init_Grind_Tactics_0__Lean_Grind_beqConfig____x40_Init_Grind_Tactics___hyg_30____boxed(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Parser_Tactic_grind___closed__8;
|
||||
lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Init_Grind_Tactics_0__Lean_Grind_beqConfig____x40_Init_Grind_Tactics___hyg_18_(uint8_t, uint8_t);
|
||||
static uint8_t _init_l_Lean_Grind_instInhabitedConfig() {
|
||||
LEAN_EXPORT uint8_t l___private_Init_Grind_Tactics_0__Lean_Grind_beqConfig____x40_Init_Grind_Tactics___hyg_30_(lean_object*, lean_object*);
|
||||
static lean_object* _init_l_Lean_Grind_instInhabitedConfig___closed__1() {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_1;
|
||||
uint8_t x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = 0;
|
||||
x_2 = lean_unsigned_to_nat(0u);
|
||||
x_3 = lean_alloc_ctor(0, 4, 1);
|
||||
lean_ctor_set(x_3, 0, x_2);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
lean_ctor_set(x_3, 2, x_2);
|
||||
lean_ctor_set(x_3, 3, x_2);
|
||||
lean_ctor_set_uint8(x_3, sizeof(void*)*4, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Grind_instInhabitedConfig() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = l_Lean_Grind_instInhabitedConfig___closed__1;
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l___private_Init_Grind_Tactics_0__Lean_Grind_beqConfig____x40_Init_Grind_Tactics___hyg_18_(uint8_t x_1, uint8_t x_2) {
|
||||
LEAN_EXPORT uint8_t l___private_Init_Grind_Tactics_0__Lean_Grind_beqConfig____x40_Init_Grind_Tactics___hyg_30_(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
if (x_1 == 0)
|
||||
uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13;
|
||||
x_3 = lean_ctor_get_uint8(x_1, sizeof(void*)*4);
|
||||
x_4 = lean_ctor_get(x_1, 0);
|
||||
x_5 = lean_ctor_get(x_1, 1);
|
||||
x_6 = lean_ctor_get(x_1, 2);
|
||||
x_7 = lean_ctor_get(x_1, 3);
|
||||
x_8 = lean_ctor_get_uint8(x_2, sizeof(void*)*4);
|
||||
x_9 = lean_ctor_get(x_2, 0);
|
||||
x_10 = lean_ctor_get(x_2, 1);
|
||||
x_11 = lean_ctor_get(x_2, 2);
|
||||
x_12 = lean_ctor_get(x_2, 3);
|
||||
if (x_3 == 0)
|
||||
{
|
||||
if (x_2 == 0)
|
||||
if (x_8 == 0)
|
||||
{
|
||||
uint8_t x_3;
|
||||
x_3 = 1;
|
||||
return x_3;
|
||||
uint8_t x_23;
|
||||
x_23 = 1;
|
||||
x_13 = x_23;
|
||||
goto block_22;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_4;
|
||||
x_4 = 0;
|
||||
return x_4;
|
||||
uint8_t x_24;
|
||||
x_24 = 0;
|
||||
x_13 = x_24;
|
||||
goto block_22;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return x_2;
|
||||
if (x_8 == 0)
|
||||
{
|
||||
uint8_t x_25;
|
||||
x_25 = 0;
|
||||
x_13 = x_25;
|
||||
goto block_22;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_26;
|
||||
x_26 = 1;
|
||||
x_13 = x_26;
|
||||
goto block_22;
|
||||
}
|
||||
}
|
||||
block_22:
|
||||
{
|
||||
if (x_13 == 0)
|
||||
{
|
||||
uint8_t x_14;
|
||||
x_14 = 0;
|
||||
return x_14;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_15;
|
||||
x_15 = lean_nat_dec_eq(x_4, x_9);
|
||||
if (x_15 == 0)
|
||||
{
|
||||
uint8_t x_16;
|
||||
x_16 = 0;
|
||||
return x_16;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_17;
|
||||
x_17 = lean_nat_dec_eq(x_5, x_10);
|
||||
if (x_17 == 0)
|
||||
{
|
||||
uint8_t x_18;
|
||||
x_18 = 0;
|
||||
return x_18;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_19;
|
||||
x_19 = lean_nat_dec_eq(x_6, x_11);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
uint8_t x_20;
|
||||
x_20 = 0;
|
||||
return x_20;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_21;
|
||||
x_21 = lean_nat_dec_eq(x_7, x_12);
|
||||
return x_21;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l___private_Init_Grind_Tactics_0__Lean_Grind_beqConfig____x40_Init_Grind_Tactics___hyg_18____boxed(lean_object* x_1, lean_object* x_2) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l___private_Init_Grind_Tactics_0__Lean_Grind_beqConfig____x40_Init_Grind_Tactics___hyg_30____boxed(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_3; uint8_t x_4; uint8_t x_5; lean_object* x_6;
|
||||
x_3 = lean_unbox(x_1);
|
||||
lean_dec(x_1);
|
||||
x_4 = lean_unbox(x_2);
|
||||
uint8_t x_3; lean_object* x_4;
|
||||
x_3 = l___private_Init_Grind_Tactics_0__Lean_Grind_beqConfig____x40_Init_Grind_Tactics___hyg_30_(x_1, x_2);
|
||||
lean_dec(x_2);
|
||||
x_5 = l___private_Init_Grind_Tactics_0__Lean_Grind_beqConfig____x40_Init_Grind_Tactics___hyg_18_(x_3, x_4);
|
||||
x_6 = lean_box(x_5);
|
||||
return x_6;
|
||||
lean_dec(x_1);
|
||||
x_4 = lean_box(x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Grind_instBEqConfig___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l___private_Init_Grind_Tactics_0__Lean_Grind_beqConfig____x40_Init_Grind_Tactics___hyg_18____boxed), 2, 0);
|
||||
x_1 = lean_alloc_closure((void*)(l___private_Init_Grind_Tactics_0__Lean_Grind_beqConfig____x40_Init_Grind_Tactics___hyg_30____boxed), 2, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -135,6 +229,24 @@ return x_5;
|
|||
static lean_object* _init_l_Lean_Parser_Tactic_grind___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_unchecked("andthen", 7, 7);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_grind___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Parser_Tactic_grind___closed__6;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_grind___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; uint8_t x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Parser_Tactic_grind___closed__4;
|
||||
x_2 = 0;
|
||||
|
|
@ -144,13 +256,27 @@ lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_grind___closed__7() {
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_grind___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Parser_Tactic_grind___closed__7;
|
||||
x_2 = l_Lean_Parser_Tactic_grind___closed__8;
|
||||
x_3 = l_Lean_Parser_Tactic_optConfig;
|
||||
x_4 = lean_alloc_ctor(2, 3, 0);
|
||||
lean_ctor_set(x_4, 0, x_1);
|
||||
lean_ctor_set(x_4, 1, x_2);
|
||||
lean_ctor_set(x_4, 2, x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Parser_Tactic_grind___closed__10() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Parser_Tactic_grind___closed__5;
|
||||
x_2 = lean_unsigned_to_nat(1024u);
|
||||
x_3 = l_Lean_Parser_Tactic_grind___closed__6;
|
||||
x_2 = lean_unsigned_to_nat(1022u);
|
||||
x_3 = l_Lean_Parser_Tactic_grind___closed__9;
|
||||
x_4 = lean_alloc_ctor(3, 3, 0);
|
||||
lean_ctor_set(x_4, 0, x_1);
|
||||
lean_ctor_set(x_4, 1, x_2);
|
||||
|
|
@ -162,7 +288,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_grind() {
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = l_Lean_Parser_Tactic_grind___closed__7;
|
||||
x_1 = l_Lean_Parser_Tactic_grind___closed__10;
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
|
|
@ -175,7 +301,10 @@ _G_initialized = true;
|
|||
res = initialize_Init_Tactics(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Grind_instInhabitedConfig___closed__1 = _init_l_Lean_Grind_instInhabitedConfig___closed__1();
|
||||
lean_mark_persistent(l_Lean_Grind_instInhabitedConfig___closed__1);
|
||||
l_Lean_Grind_instInhabitedConfig = _init_l_Lean_Grind_instInhabitedConfig();
|
||||
lean_mark_persistent(l_Lean_Grind_instInhabitedConfig);
|
||||
l_Lean_Grind_instBEqConfig___closed__1 = _init_l_Lean_Grind_instBEqConfig___closed__1();
|
||||
lean_mark_persistent(l_Lean_Grind_instBEqConfig___closed__1);
|
||||
l_Lean_Grind_instBEqConfig = _init_l_Lean_Grind_instBEqConfig();
|
||||
|
|
@ -194,6 +323,12 @@ l_Lean_Parser_Tactic_grind___closed__6 = _init_l_Lean_Parser_Tactic_grind___clos
|
|||
lean_mark_persistent(l_Lean_Parser_Tactic_grind___closed__6);
|
||||
l_Lean_Parser_Tactic_grind___closed__7 = _init_l_Lean_Parser_Tactic_grind___closed__7();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_grind___closed__7);
|
||||
l_Lean_Parser_Tactic_grind___closed__8 = _init_l_Lean_Parser_Tactic_grind___closed__8();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_grind___closed__8);
|
||||
l_Lean_Parser_Tactic_grind___closed__9 = _init_l_Lean_Parser_Tactic_grind___closed__9();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_grind___closed__9);
|
||||
l_Lean_Parser_Tactic_grind___closed__10 = _init_l_Lean_Parser_Tactic_grind___closed__10();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_grind___closed__10);
|
||||
l_Lean_Parser_Tactic_grind = _init_l_Lean_Parser_Tactic_grind();
|
||||
lean_mark_persistent(l_Lean_Parser_Tactic_grind);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
|
|
|
|||
29
stage0/stdlib/Init/Internal.c
generated
Normal file
29
stage0/stdlib/Init/Internal.c
generated
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
// Lean compiler output
|
||||
// Module: Init.Internal
|
||||
// Imports: Init.Internal.Order
|
||||
#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* initialize_Init_Internal_Order(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Init_Internal(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
|
||||
_G_initialized = true;
|
||||
res = initialize_Init_Internal_Order(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
33
stage0/stdlib/Init/Internal/Order.c
generated
Normal file
33
stage0/stdlib/Init/Internal/Order.c
generated
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
// Lean compiler output
|
||||
// Module: Init.Internal.Order
|
||||
// Imports: Init.Internal.Order.Basic Init.Internal.Order.Tactic
|
||||
#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* initialize_Init_Internal_Order_Basic(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Init_Internal_Order_Tactic(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Init_Internal_Order(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
|
||||
_G_initialized = true;
|
||||
res = initialize_Init_Internal_Order_Basic(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Init_Internal_Order_Tactic(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
1126
stage0/stdlib/Init/Internal/Order/Basic.c
generated
Normal file
1126
stage0/stdlib/Init/Internal/Order/Basic.c
generated
Normal file
File diff suppressed because it is too large
Load diff
120
stage0/stdlib/Init/Internal/Order/Tactic.c
generated
Normal file
120
stage0/stdlib/Init/Internal/Order/Tactic.c
generated
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
// Lean compiler output
|
||||
// Module: Init.Internal.Order.Tactic
|
||||
// Imports: Init.Notation
|
||||
#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_mkStr3(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Order_monotonicity___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_Order_monotonicity;
|
||||
static lean_object* l_Lean_Order_monotonicity___closed__5;
|
||||
static lean_object* l_Lean_Order_monotonicity___closed__3;
|
||||
static lean_object* l_Lean_Order_monotonicity___closed__1;
|
||||
static lean_object* l_Lean_Order_monotonicity___closed__2;
|
||||
static lean_object* l_Lean_Order_monotonicity___closed__4;
|
||||
static lean_object* _init_l_Lean_Order_monotonicity___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_unchecked("Lean", 4, 4);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Order_monotonicity___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_unchecked("Order", 5, 5);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Order_monotonicity___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_unchecked("monotonicity", 12, 12);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Order_monotonicity___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Order_monotonicity___closed__1;
|
||||
x_2 = l_Lean_Order_monotonicity___closed__2;
|
||||
x_3 = l_Lean_Order_monotonicity___closed__3;
|
||||
x_4 = l_Lean_Name_mkStr3(x_1, x_2, x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Order_monotonicity___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; uint8_t x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Order_monotonicity___closed__3;
|
||||
x_2 = 0;
|
||||
x_3 = lean_alloc_ctor(6, 1, 1);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set_uint8(x_3, sizeof(void*)*1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Order_monotonicity___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Order_monotonicity___closed__4;
|
||||
x_2 = lean_unsigned_to_nat(1024u);
|
||||
x_3 = l_Lean_Order_monotonicity___closed__5;
|
||||
x_4 = lean_alloc_ctor(3, 3, 0);
|
||||
lean_ctor_set(x_4, 0, x_1);
|
||||
lean_ctor_set(x_4, 1, x_2);
|
||||
lean_ctor_set(x_4, 2, x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Order_monotonicity() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = l_Lean_Order_monotonicity___closed__6;
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init_Notation(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Init_Internal_Order_Tactic(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
|
||||
_G_initialized = true;
|
||||
res = initialize_Init_Notation(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Order_monotonicity___closed__1 = _init_l_Lean_Order_monotonicity___closed__1();
|
||||
lean_mark_persistent(l_Lean_Order_monotonicity___closed__1);
|
||||
l_Lean_Order_monotonicity___closed__2 = _init_l_Lean_Order_monotonicity___closed__2();
|
||||
lean_mark_persistent(l_Lean_Order_monotonicity___closed__2);
|
||||
l_Lean_Order_monotonicity___closed__3 = _init_l_Lean_Order_monotonicity___closed__3();
|
||||
lean_mark_persistent(l_Lean_Order_monotonicity___closed__3);
|
||||
l_Lean_Order_monotonicity___closed__4 = _init_l_Lean_Order_monotonicity___closed__4();
|
||||
lean_mark_persistent(l_Lean_Order_monotonicity___closed__4);
|
||||
l_Lean_Order_monotonicity___closed__5 = _init_l_Lean_Order_monotonicity___closed__5();
|
||||
lean_mark_persistent(l_Lean_Order_monotonicity___closed__5);
|
||||
l_Lean_Order_monotonicity___closed__6 = _init_l_Lean_Order_monotonicity___closed__6();
|
||||
lean_mark_persistent(l_Lean_Order_monotonicity___closed__6);
|
||||
l_Lean_Order_monotonicity = _init_l_Lean_Order_monotonicity();
|
||||
lean_mark_persistent(l_Lean_Order_monotonicity);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
96
stage0/stdlib/Lean/Data/PersistentHashSet.c
generated
96
stage0/stdlib/Lean/Data/PersistentHashSet.c
generated
|
|
@ -26,10 +26,12 @@ uint8_t lean_usize_dec_eq(size_t, size_t);
|
|||
lean_object* lean_array_fget(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_insert(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at_Lean_PersistentHashSet_fold___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_mapTR_loop___at_Lean_PersistentHashSet_toList___spec__1___rarg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_contains(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_instInhabited___rarg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at_Lean_PersistentHashSet_fold___spec__2(lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_of_nat(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_toList___rarg(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_instInhabited___rarg___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_instEmptyCollection___rarg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux_traverse___at_Lean_PersistentHashSet_fold___spec__4___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -42,8 +44,10 @@ LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_instEmptyCollection___rarg___b
|
|||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at_Lean_PersistentHashSet_fold___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_isEmpty___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at_Lean_PersistentHashSet_foldM___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_toList(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_foldM___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PersistentHashMap_erase___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_PersistentHashMap_toList___rarg(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_fold(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at_Lean_PersistentHashSet_foldM___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_fold___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -55,7 +59,9 @@ uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at_Lean_PersistentHashSet_fold___spec__1___rarg(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_PersistentHashSet_fold___spec__3___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux_traverse___at_Lean_PersistentHashSet_fold___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_toList___rarg___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_erase(lean_object*);
|
||||
lean_object* l_List_reverse___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux_traverse___at_Lean_PersistentHashSet_fold___spec__4(lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_add(size_t, size_t);
|
||||
lean_object* l_Lean_PersistentHashMap_empty(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -65,6 +71,7 @@ uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at_Lean_PersistentHashSet_fold___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_isEmpty___rarg___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_empty___rarg___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_mapTR_loop___at_Lean_PersistentHashSet_toList___spec__1(lean_object*);
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Lean_PersistentHashSet_isEmpty___rarg(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_insert___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -608,6 +615,95 @@ lean_dec(x_1);
|
|||
return x_7;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_mapTR_loop___at_Lean_PersistentHashSet_toList___spec__1___rarg(lean_object* x_1, lean_object* x_2) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 0)
|
||||
{
|
||||
lean_object* x_3;
|
||||
x_3 = l_List_reverse___rarg(x_2);
|
||||
return x_3;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_4;
|
||||
x_4 = !lean_is_exclusive(x_1);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6; lean_object* x_7;
|
||||
x_5 = lean_ctor_get(x_1, 0);
|
||||
x_6 = lean_ctor_get(x_1, 1);
|
||||
x_7 = lean_ctor_get(x_5, 0);
|
||||
lean_inc(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_ctor_set(x_1, 1, x_2);
|
||||
lean_ctor_set(x_1, 0, x_7);
|
||||
{
|
||||
lean_object* _tmp_0 = x_6;
|
||||
lean_object* _tmp_1 = x_1;
|
||||
x_1 = _tmp_0;
|
||||
x_2 = _tmp_1;
|
||||
}
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
|
||||
x_9 = lean_ctor_get(x_1, 0);
|
||||
x_10 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_dec(x_1);
|
||||
x_11 = lean_ctor_get(x_9, 0);
|
||||
lean_inc(x_11);
|
||||
lean_dec(x_9);
|
||||
x_12 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_12, 0, x_11);
|
||||
lean_ctor_set(x_12, 1, x_2);
|
||||
x_1 = x_10;
|
||||
x_2 = x_12;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_mapTR_loop___at_Lean_PersistentHashSet_toList___spec__1(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_List_mapTR_loop___at_Lean_PersistentHashSet_toList___spec__1___rarg), 2, 0);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_toList___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_4 = l_Lean_PersistentHashMap_toList___rarg(x_1, x_2, x_3);
|
||||
x_5 = lean_box(0);
|
||||
x_6 = l_List_mapTR_loop___at_Lean_PersistentHashSet_toList___spec__1___rarg(x_4, x_5);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_toList(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = lean_alloc_closure((void*)(l_Lean_PersistentHashSet_toList___rarg___boxed), 3, 0);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_toList___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = l_Lean_PersistentHashSet_toList___rarg(x_1, x_2, x_3);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Lean_Data_PersistentHashMap(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Lean_Data_PersistentHashSet(uint8_t builtin, lean_object* w) {
|
||||
|
|
|
|||
7893
stage0/stdlib/Lean/Elab/Calc.c
generated
7893
stage0/stdlib/Lean/Elab/Calc.c
generated
File diff suppressed because it is too large
Load diff
4717
stage0/stdlib/Lean/Elab/CheckTactic.c
generated
4717
stage0/stdlib/Lean/Elab/CheckTactic.c
generated
File diff suppressed because it is too large
Load diff
6
stage0/stdlib/Lean/Elab/Deriving.c
generated
6
stage0/stdlib/Lean/Elab/Deriving.c
generated
|
|
@ -1,6 +1,6 @@
|
|||
// Lean compiler output
|
||||
// Module: Lean.Elab.Deriving
|
||||
// Imports: Lean.Elab.Deriving.Basic Lean.Elab.Deriving.Util Lean.Elab.Deriving.Inhabited Lean.Elab.Deriving.Nonempty Lean.Elab.Deriving.TypeName Lean.Elab.Deriving.BEq Lean.Elab.Deriving.DecEq Lean.Elab.Deriving.Repr Lean.Elab.Deriving.FromToJson Lean.Elab.Deriving.SizeOf Lean.Elab.Deriving.Hashable Lean.Elab.Deriving.Ord
|
||||
// Imports: Lean.Elab.Deriving.Basic Lean.Elab.Deriving.Util Lean.Elab.Deriving.Inhabited Lean.Elab.Deriving.Nonempty Lean.Elab.Deriving.TypeName Lean.Elab.Deriving.BEq Lean.Elab.Deriving.DecEq Lean.Elab.Deriving.Repr Lean.Elab.Deriving.FromToJson Lean.Elab.Deriving.SizeOf Lean.Elab.Deriving.Hashable Lean.Elab.Deriving.Ord Lean.Elab.Deriving.ToExpr
|
||||
#include <lean/lean.h>
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
|
|
@ -25,6 +25,7 @@ lean_object* initialize_Lean_Elab_Deriving_FromToJson(uint8_t builtin, lean_obje
|
|||
lean_object* initialize_Lean_Elab_Deriving_SizeOf(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Elab_Deriving_Hashable(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Elab_Deriving_Ord(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Elab_Deriving_ToExpr(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Lean_Elab_Deriving(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
|
|
@ -66,6 +67,9 @@ lean_dec_ref(res);
|
|||
res = initialize_Lean_Elab_Deriving_Ord(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Elab_Deriving_ToExpr(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
16344
stage0/stdlib/Lean/Elab/Deriving/ToExpr.c
generated
Normal file
16344
stage0/stdlib/Lean/Elab/Deriving/ToExpr.c
generated
Normal file
File diff suppressed because it is too large
Load diff
2431
stage0/stdlib/Lean/Elab/Structure.c
generated
2431
stage0/stdlib/Lean/Elab/Structure.c
generated
File diff suppressed because it is too large
Load diff
6
stage0/stdlib/Lean/Elab/Tactic.c
generated
6
stage0/stdlib/Lean/Elab/Tactic.c
generated
|
|
@ -1,6 +1,6 @@
|
|||
// Lean compiler output
|
||||
// Module: Lean.Elab.Tactic
|
||||
// Imports: Lean.Elab.Term Lean.Elab.Tactic.Basic Lean.Elab.Tactic.ElabTerm Lean.Elab.Tactic.Induction Lean.Elab.Tactic.Generalize Lean.Elab.Tactic.Injection Lean.Elab.Tactic.Match Lean.Elab.Tactic.Rewrite Lean.Elab.Tactic.Location Lean.Elab.Tactic.SimpTrace Lean.Elab.Tactic.Simp Lean.Elab.Tactic.Simproc Lean.Elab.Tactic.BuiltinTactic Lean.Elab.Tactic.Split Lean.Elab.Tactic.Conv Lean.Elab.Tactic.Delta Lean.Elab.Tactic.Meta Lean.Elab.Tactic.Unfold Lean.Elab.Tactic.Cache Lean.Elab.Tactic.Calc Lean.Elab.Tactic.Congr Lean.Elab.Tactic.Guard Lean.Elab.Tactic.RCases Lean.Elab.Tactic.Repeat Lean.Elab.Tactic.Ext Lean.Elab.Tactic.Change Lean.Elab.Tactic.FalseOrByContra Lean.Elab.Tactic.Omega Lean.Elab.Tactic.Simpa Lean.Elab.Tactic.NormCast Lean.Elab.Tactic.Symm Lean.Elab.Tactic.SolveByElim Lean.Elab.Tactic.LibrarySearch Lean.Elab.Tactic.ShowTerm Lean.Elab.Tactic.Rfl Lean.Elab.Tactic.Rewrites Lean.Elab.Tactic.DiscrTreeKey Lean.Elab.Tactic.BVDecide Lean.Elab.Tactic.BoolToPropSimps Lean.Elab.Tactic.Classical Lean.Elab.Tactic.Grind
|
||||
// Imports: Lean.Elab.Term Lean.Elab.Tactic.Basic Lean.Elab.Tactic.ElabTerm Lean.Elab.Tactic.Induction Lean.Elab.Tactic.Generalize Lean.Elab.Tactic.Injection Lean.Elab.Tactic.Match Lean.Elab.Tactic.Rewrite Lean.Elab.Tactic.Location Lean.Elab.Tactic.SimpTrace Lean.Elab.Tactic.Simp Lean.Elab.Tactic.Simproc Lean.Elab.Tactic.BuiltinTactic Lean.Elab.Tactic.Split Lean.Elab.Tactic.Conv Lean.Elab.Tactic.Delta Lean.Elab.Tactic.Meta Lean.Elab.Tactic.Unfold Lean.Elab.Tactic.Cache Lean.Elab.Tactic.Calc Lean.Elab.Tactic.Congr Lean.Elab.Tactic.Guard Lean.Elab.Tactic.RCases Lean.Elab.Tactic.Repeat Lean.Elab.Tactic.Ext Lean.Elab.Tactic.Change Lean.Elab.Tactic.FalseOrByContra Lean.Elab.Tactic.Omega Lean.Elab.Tactic.Simpa Lean.Elab.Tactic.NormCast Lean.Elab.Tactic.Symm Lean.Elab.Tactic.SolveByElim Lean.Elab.Tactic.LibrarySearch Lean.Elab.Tactic.ShowTerm Lean.Elab.Tactic.Rfl Lean.Elab.Tactic.Rewrites Lean.Elab.Tactic.DiscrTreeKey Lean.Elab.Tactic.BVDecide Lean.Elab.Tactic.BoolToPropSimps Lean.Elab.Tactic.Classical Lean.Elab.Tactic.Grind Lean.Elab.Tactic.Monotonicity
|
||||
#include <lean/lean.h>
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
|
|
@ -54,6 +54,7 @@ lean_object* initialize_Lean_Elab_Tactic_BVDecide(uint8_t builtin, lean_object*)
|
|||
lean_object* initialize_Lean_Elab_Tactic_BoolToPropSimps(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Elab_Tactic_Classical(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Elab_Tactic_Grind(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Elab_Tactic_Monotonicity(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Lean_Elab_Tactic(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
|
|
@ -182,6 +183,9 @@ lean_dec_ref(res);
|
|||
res = initialize_Lean_Elab_Tactic_Grind(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Elab_Tactic_Monotonicity(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
1731
stage0/stdlib/Lean/Elab/Tactic/Grind.c
generated
1731
stage0/stdlib/Lean/Elab/Tactic/Grind.c
generated
File diff suppressed because it is too large
Load diff
12007
stage0/stdlib/Lean/Elab/Tactic/Monotonicity.c
generated
Normal file
12007
stage0/stdlib/Lean/Elab/Tactic/Monotonicity.c
generated
Normal file
File diff suppressed because it is too large
Load diff
189
stage0/stdlib/Lean/Elab/Tactic/NormCast.c
generated
189
stage0/stdlib/Lean/Elab/Tactic/NormCast.c
generated
|
|
@ -448,6 +448,7 @@ static lean_object* l_Lean_Elab_Tactic_NormCast_proveEqUsing___closed__4;
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_NormCast_evalConvNormCast_declRange__1___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_NormCast_upwardAndElim___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_Meta_Simp_defaultMaxSteps;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_NormCast_isNumeral_x3f___boxed(lean_object*);
|
||||
lean_object* l_Lean_Meta_Simp_Result_mkEqTrans(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_NormCast_derive___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_NormCast_elabAddElim_declRange__1___closed__4;
|
||||
|
|
@ -501,6 +502,7 @@ static lean_object* l_Lean_Elab_Tactic_NormCast_derive___lambda__12___closed__1;
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_NormCast_evalNormCast0_declRange__1___closed__5;
|
||||
static lean_object* l_Lean_Elab_Tactic_NormCast_initFn____x40_Lean_Elab_Tactic_NormCast___hyg_5____closed__6;
|
||||
uint64_t l___private_Lean_Meta_Basic_0__Lean_Meta_Config_toKey(lean_object*);
|
||||
lean_object* l_Lean_Expr_consumeMData(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_NormCast_derive___lambda__8___closed__4;
|
||||
static lean_object* l_Lean_Elab_Tactic_NormCast_proveEqUsing___closed__8;
|
||||
lean_object* l_Lean_MessageData_ofName(lean_object*);
|
||||
|
|
@ -4524,155 +4526,146 @@ x_2 = l_Lean_Elab_Tactic_NormCast_isNumeral_x3f___closed__3;
|
|||
x_3 = l_Lean_Expr_isConstOf(x_1, x_2);
|
||||
if (x_3 == 0)
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 5)
|
||||
{
|
||||
lean_object* x_4;
|
||||
x_4 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_4);
|
||||
lean_dec(x_1);
|
||||
x_4 = l_Lean_Expr_consumeMData(x_1);
|
||||
if (lean_obj_tag(x_4) == 5)
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = lean_ctor_get(x_4, 0);
|
||||
lean_inc(x_5);
|
||||
lean_dec(x_4);
|
||||
if (lean_obj_tag(x_5) == 5)
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = lean_ctor_get(x_5, 0);
|
||||
lean_inc(x_6);
|
||||
if (lean_obj_tag(x_6) == 4)
|
||||
if (lean_obj_tag(x_6) == 5)
|
||||
{
|
||||
lean_object* x_7;
|
||||
x_7 = lean_ctor_get(x_6, 0);
|
||||
lean_inc(x_7);
|
||||
lean_dec(x_6);
|
||||
if (lean_obj_tag(x_7) == 1)
|
||||
if (lean_obj_tag(x_7) == 4)
|
||||
{
|
||||
lean_object* x_8;
|
||||
x_8 = lean_ctor_get(x_7, 0);
|
||||
lean_inc(x_8);
|
||||
lean_dec(x_7);
|
||||
if (lean_obj_tag(x_8) == 1)
|
||||
{
|
||||
lean_object* x_9;
|
||||
x_9 = lean_ctor_get(x_8, 0);
|
||||
lean_inc(x_9);
|
||||
if (lean_obj_tag(x_9) == 0)
|
||||
if (lean_obj_tag(x_9) == 1)
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15;
|
||||
x_10 = lean_ctor_get(x_4, 1);
|
||||
lean_object* x_10;
|
||||
x_10 = lean_ctor_get(x_9, 0);
|
||||
lean_inc(x_10);
|
||||
lean_dec(x_4);
|
||||
if (lean_obj_tag(x_10) == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16;
|
||||
x_11 = lean_ctor_get(x_5, 1);
|
||||
lean_inc(x_11);
|
||||
lean_dec(x_5);
|
||||
x_12 = lean_ctor_get(x_7, 1);
|
||||
x_12 = lean_ctor_get(x_6, 1);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
x_13 = lean_ctor_get(x_8, 1);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_8);
|
||||
x_14 = l_Lean_Elab_Tactic_NormCast_isNumeral_x3f___closed__4;
|
||||
x_15 = lean_string_dec_eq(x_13, x_14);
|
||||
x_14 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_14);
|
||||
lean_dec(x_9);
|
||||
x_15 = l_Lean_Elab_Tactic_NormCast_isNumeral_x3f___closed__4;
|
||||
x_16 = lean_string_dec_eq(x_14, x_15);
|
||||
lean_dec(x_14);
|
||||
if (x_16 == 0)
|
||||
{
|
||||
lean_object* x_17;
|
||||
lean_dec(x_13);
|
||||
if (x_15 == 0)
|
||||
{
|
||||
lean_object* x_16;
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
x_16 = lean_box(0);
|
||||
return x_16;
|
||||
x_17 = lean_box(0);
|
||||
return x_17;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_17; uint8_t x_18;
|
||||
x_17 = l_Lean_Elab_Tactic_NormCast_isNumeral_x3f___closed__5;
|
||||
x_18 = lean_string_dec_eq(x_12, x_17);
|
||||
lean_dec(x_12);
|
||||
if (x_18 == 0)
|
||||
{
|
||||
lean_object* x_19;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
x_19 = lean_box(0);
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (lean_obj_tag(x_10) == 9)
|
||||
lean_object* x_18; uint8_t x_19;
|
||||
x_18 = l_Lean_Elab_Tactic_NormCast_isNumeral_x3f___closed__5;
|
||||
x_19 = lean_string_dec_eq(x_13, x_18);
|
||||
lean_dec(x_13);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
lean_object* x_20;
|
||||
x_20 = lean_ctor_get(x_10, 0);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_10);
|
||||
if (lean_obj_tag(x_20) == 0)
|
||||
{
|
||||
uint8_t x_21;
|
||||
x_21 = !lean_is_exclusive(x_20);
|
||||
if (x_21 == 0)
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23;
|
||||
x_22 = lean_ctor_get(x_20, 0);
|
||||
x_23 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_23, 0, x_11);
|
||||
lean_ctor_set(x_23, 1, x_22);
|
||||
lean_ctor_set_tag(x_20, 1);
|
||||
lean_ctor_set(x_20, 0, x_23);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
x_20 = lean_box(0);
|
||||
return x_20;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_20, 0);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_20);
|
||||
x_25 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_25, 0, x_11);
|
||||
lean_ctor_set(x_25, 1, x_24);
|
||||
x_26 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_26, 0, x_25);
|
||||
return x_26;
|
||||
}
|
||||
if (lean_obj_tag(x_11) == 9)
|
||||
{
|
||||
lean_object* x_21;
|
||||
x_21 = lean_ctor_get(x_11, 0);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_11);
|
||||
if (lean_obj_tag(x_21) == 0)
|
||||
{
|
||||
uint8_t x_22;
|
||||
x_22 = !lean_is_exclusive(x_21);
|
||||
if (x_22 == 0)
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24;
|
||||
x_23 = lean_ctor_get(x_21, 0);
|
||||
x_24 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_24, 0, x_12);
|
||||
lean_ctor_set(x_24, 1, x_23);
|
||||
lean_ctor_set_tag(x_21, 1);
|
||||
lean_ctor_set(x_21, 0, x_24);
|
||||
return x_21;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_27;
|
||||
lean_dec(x_20);
|
||||
lean_dec(x_11);
|
||||
x_27 = lean_box(0);
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_25 = lean_ctor_get(x_21, 0);
|
||||
lean_inc(x_25);
|
||||
lean_dec(x_21);
|
||||
x_26 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_26, 0, x_12);
|
||||
lean_ctor_set(x_26, 1, x_25);
|
||||
x_27 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_27, 0, x_26);
|
||||
return x_27;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_28;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_21);
|
||||
lean_dec(x_12);
|
||||
x_28 = lean_box(0);
|
||||
return x_28;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_29;
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
x_29 = lean_box(0);
|
||||
return x_29;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_30;
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_30 = lean_box(0);
|
||||
return x_30;
|
||||
}
|
||||
|
|
@ -4680,9 +4673,10 @@ return x_30;
|
|||
else
|
||||
{
|
||||
lean_object* x_31;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_31 = lean_box(0);
|
||||
return x_31;
|
||||
}
|
||||
|
|
@ -4690,9 +4684,9 @@ return x_31;
|
|||
else
|
||||
{
|
||||
lean_object* x_32;
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_32 = lean_box(0);
|
||||
return x_32;
|
||||
}
|
||||
|
|
@ -4700,8 +4694,9 @@ return x_32;
|
|||
else
|
||||
{
|
||||
lean_object* x_33;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_33 = lean_box(0);
|
||||
return x_33;
|
||||
}
|
||||
|
|
@ -4709,7 +4704,8 @@ return x_33;
|
|||
else
|
||||
{
|
||||
lean_object* x_34;
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
x_34 = lean_box(0);
|
||||
return x_34;
|
||||
}
|
||||
|
|
@ -4717,7 +4713,7 @@ return x_34;
|
|||
else
|
||||
{
|
||||
lean_object* x_35;
|
||||
lean_dec(x_1);
|
||||
lean_dec(x_5);
|
||||
x_35 = lean_box(0);
|
||||
return x_35;
|
||||
}
|
||||
|
|
@ -4725,11 +4721,27 @@ return x_35;
|
|||
else
|
||||
{
|
||||
lean_object* x_36;
|
||||
lean_dec(x_1);
|
||||
x_36 = l_Lean_Elab_Tactic_NormCast_isNumeral_x3f___closed__9;
|
||||
lean_dec(x_4);
|
||||
x_36 = lean_box(0);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37;
|
||||
x_37 = l_Lean_Elab_Tactic_NormCast_isNumeral_x3f___closed__9;
|
||||
return x_37;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_NormCast_isNumeral_x3f___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2;
|
||||
x_2 = l_Lean_Elab_Tactic_NormCast_isNumeral_x3f(x_1);
|
||||
lean_dec(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_NormCast_splittingProcedure___spec__1(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:
|
||||
|
|
@ -7287,7 +7299,6 @@ if (x_73 == 0)
|
|||
{
|
||||
lean_object* x_74;
|
||||
lean_dec(x_70);
|
||||
lean_inc(x_1);
|
||||
x_74 = l_Lean_Elab_Tactic_NormCast_isNumeral_x3f(x_1);
|
||||
if (lean_obj_tag(x_74) == 0)
|
||||
{
|
||||
|
|
@ -7686,7 +7697,6 @@ if (x_142 == 0)
|
|||
{
|
||||
lean_object* x_143;
|
||||
lean_dec(x_139);
|
||||
lean_inc(x_3);
|
||||
x_143 = l_Lean_Elab_Tactic_NormCast_isNumeral_x3f(x_3);
|
||||
if (lean_obj_tag(x_143) == 0)
|
||||
{
|
||||
|
|
@ -11643,7 +11653,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_NormCast_numeralToCoe(lean_object* x
|
|||
_start:
|
||||
{
|
||||
lean_object* x_7;
|
||||
lean_inc(x_1);
|
||||
x_7 = l_Lean_Elab_Tactic_NormCast_isNumeral_x3f(x_1);
|
||||
if (lean_obj_tag(x_7) == 0)
|
||||
{
|
||||
|
|
|
|||
950
stage0/stdlib/Lean/Meta/Check.c
generated
950
stage0/stdlib/Lean/Meta/Check.c
generated
File diff suppressed because it is too large
Load diff
1260
stage0/stdlib/Lean/Meta/Tactic/Grind.c
generated
1260
stage0/stdlib/Lean/Meta/Tactic/Grind.c
generated
File diff suppressed because it is too large
Load diff
7266
stage0/stdlib/Lean/Meta/Tactic/Grind/Canon.c
generated
7266
stage0/stdlib/Lean/Meta/Tactic/Grind/Canon.c
generated
File diff suppressed because it is too large
Load diff
3633
stage0/stdlib/Lean/Meta/Tactic/Grind/Core.c
generated
3633
stage0/stdlib/Lean/Meta/Tactic/Grind/Core.c
generated
File diff suppressed because it is too large
Load diff
14724
stage0/stdlib/Lean/Meta/Tactic/Grind/EMatch.c
generated
Normal file
14724
stage0/stdlib/Lean/Meta/Tactic/Grind/EMatch.c
generated
Normal file
File diff suppressed because it is too large
Load diff
18515
stage0/stdlib/Lean/Meta/Tactic/Grind/EMatchTheorem.c
generated
Normal file
18515
stage0/stdlib/Lean/Meta/Tactic/Grind/EMatchTheorem.c
generated
Normal file
File diff suppressed because it is too large
Load diff
574
stage0/stdlib/Lean/Meta/Tactic/Grind/ForallProp.c
generated
Normal file
574
stage0/stdlib/Lean/Meta/Tactic/Grind/ForallProp.c
generated
Normal file
|
|
@ -0,0 +1,574 @@
|
|||
// Lean compiler output
|
||||
// Module: Lean.Meta.Tactic.Grind.ForallProp
|
||||
// Imports: Init.Grind.Lemmas Lean.Meta.Tactic.Grind.Types Lean.Meta.Tactic.Grind.Internalize Lean.Meta.Tactic.Grind.Simp
|
||||
#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_Expr_const___override(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_Simp_Result_getProof(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_Grind_pushEqCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__6;
|
||||
static lean_object* l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__2;
|
||||
static lean_object* l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__8;
|
||||
lean_object* l_Lean_Meta_Grind_simp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__5;
|
||||
static lean_object* l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__3;
|
||||
static lean_object* l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__1;
|
||||
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_Grind_getGeneration(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_Lean_Meta_Grind_propagateForallProp___lambda__1___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*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__4;
|
||||
lean_object* l_Lean_Meta_Grind_mkEqTrueProof(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_Lean_Meta_Grind_propagateForallProp(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_Grind_isEqTrue(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_Lean_Meta_Grind_propagateForallProp___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, 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_Expr_lam___override(lean_object*, lean_object*, lean_object*, uint8_t);
|
||||
lean_object* l_Lean_mkApp5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_expr_instantiate1(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__7;
|
||||
lean_object* l_Lean_Meta_Grind_internalize(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_unchecked("of_eq_true", 10, 10);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__1;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__2;
|
||||
x_3 = l_Lean_Expr_const___override(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_unchecked("Lean", 4, 4);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_unchecked("Grind", 5, 5);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_unchecked("forall_propagator", 17, 17);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__4;
|
||||
x_2 = l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__5;
|
||||
x_3 = l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__6;
|
||||
x_4 = l_Lean_Name_mkStr3(x_1, x_2, x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__7;
|
||||
x_3 = l_Lean_Expr_const___override(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateForallProp___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t 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, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_16;
|
||||
lean_inc(x_14);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_1);
|
||||
x_16 = l_Lean_Meta_Grind_mkEqTrueProof(x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__3;
|
||||
lean_inc(x_17);
|
||||
lean_inc(x_1);
|
||||
x_20 = l_Lean_mkAppB(x_19, x_1, x_17);
|
||||
x_21 = lean_expr_instantiate1(x_2, x_20);
|
||||
lean_dec(x_20);
|
||||
lean_inc(x_14);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_9);
|
||||
x_22 = l_Lean_Meta_Grind_simp(x_21, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_18);
|
||||
if (lean_obj_tag(x_22) == 0)
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
x_23 = lean_ctor_get(x_22, 0);
|
||||
lean_inc(x_23);
|
||||
x_24 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_22);
|
||||
lean_inc(x_1);
|
||||
x_25 = l_Lean_Expr_lam___override(x_3, x_1, x_2, x_4);
|
||||
x_26 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_26);
|
||||
lean_inc(x_5);
|
||||
x_27 = l_Lean_Meta_Grind_getGeneration(x_5, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_24);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_28 = lean_ctor_get(x_27, 0);
|
||||
lean_inc(x_28);
|
||||
x_29 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_29);
|
||||
lean_dec(x_27);
|
||||
lean_inc(x_14);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_26);
|
||||
x_30 = l_Lean_Meta_Grind_internalize(x_26, x_28, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_29);
|
||||
if (lean_obj_tag(x_30) == 0)
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32;
|
||||
x_31 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_31);
|
||||
lean_dec(x_30);
|
||||
lean_inc(x_14);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
x_32 = l_Lean_Meta_Simp_Result_getProof(x_23, x_11, x_12, x_13, x_14, x_31);
|
||||
if (lean_obj_tag(x_32) == 0)
|
||||
{
|
||||
lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; lean_object* x_38;
|
||||
x_33 = lean_ctor_get(x_32, 0);
|
||||
lean_inc(x_33);
|
||||
x_34 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_32);
|
||||
x_35 = l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__8;
|
||||
lean_inc(x_26);
|
||||
x_36 = l_Lean_mkApp5(x_35, x_1, x_25, x_26, x_17, x_33);
|
||||
x_37 = 0;
|
||||
x_38 = l_Lean_Meta_Grind_pushEqCore(x_5, x_26, x_36, x_37, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_34);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
return x_38;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_39;
|
||||
lean_dec(x_26);
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_17);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_1);
|
||||
x_39 = !lean_is_exclusive(x_32);
|
||||
if (x_39 == 0)
|
||||
{
|
||||
return x_32;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_40; lean_object* x_41; lean_object* x_42;
|
||||
x_40 = lean_ctor_get(x_32, 0);
|
||||
x_41 = lean_ctor_get(x_32, 1);
|
||||
lean_inc(x_41);
|
||||
lean_inc(x_40);
|
||||
lean_dec(x_32);
|
||||
x_42 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_42, 0, x_40);
|
||||
lean_ctor_set(x_42, 1, x_41);
|
||||
return x_42;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_43;
|
||||
lean_dec(x_26);
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
lean_dec(x_17);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_1);
|
||||
x_43 = !lean_is_exclusive(x_30);
|
||||
if (x_43 == 0)
|
||||
{
|
||||
return x_30;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_44; lean_object* x_45; lean_object* x_46;
|
||||
x_44 = lean_ctor_get(x_30, 0);
|
||||
x_45 = lean_ctor_get(x_30, 1);
|
||||
lean_inc(x_45);
|
||||
lean_inc(x_44);
|
||||
lean_dec(x_30);
|
||||
x_46 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_46, 0, x_44);
|
||||
lean_ctor_set(x_46, 1, x_45);
|
||||
return x_46;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_47;
|
||||
lean_dec(x_26);
|
||||
lean_dec(x_25);
|
||||
lean_dec(x_23);
|
||||
lean_dec(x_17);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_1);
|
||||
x_47 = !lean_is_exclusive(x_27);
|
||||
if (x_47 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_48; lean_object* x_49; lean_object* x_50;
|
||||
x_48 = lean_ctor_get(x_27, 0);
|
||||
x_49 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_49);
|
||||
lean_inc(x_48);
|
||||
lean_dec(x_27);
|
||||
x_50 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_50, 0, x_48);
|
||||
lean_ctor_set(x_50, 1, x_49);
|
||||
return x_50;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_51;
|
||||
lean_dec(x_17);
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_51 = !lean_is_exclusive(x_22);
|
||||
if (x_51 == 0)
|
||||
{
|
||||
return x_22;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54;
|
||||
x_52 = lean_ctor_get(x_22, 0);
|
||||
x_53 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_53);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_22);
|
||||
x_54 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_54, 0, x_52);
|
||||
lean_ctor_set(x_54, 1, x_53);
|
||||
return x_54;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_55;
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_55 = !lean_is_exclusive(x_16);
|
||||
if (x_55 == 0)
|
||||
{
|
||||
return x_16;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_56 = lean_ctor_get(x_16, 0);
|
||||
x_57 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_57);
|
||||
lean_inc(x_56);
|
||||
lean_dec(x_16);
|
||||
x_58 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_58, 0, x_56);
|
||||
lean_ctor_set(x_58, 1, x_57);
|
||||
return x_58;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateForallProp(lean_object* x_1, lean_object* x_2, 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) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 7)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15;
|
||||
x_11 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_13);
|
||||
x_14 = lean_ctor_get_uint8(x_1, sizeof(void*)*3 + 8);
|
||||
lean_inc(x_12);
|
||||
x_15 = l_Lean_Meta_Grind_isEqTrue(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
if (lean_obj_tag(x_15) == 0)
|
||||
{
|
||||
lean_object* x_16; uint8_t x_17;
|
||||
x_16 = lean_ctor_get(x_15, 0);
|
||||
lean_inc(x_16);
|
||||
x_17 = lean_unbox(x_16);
|
||||
lean_dec(x_16);
|
||||
if (x_17 == 0)
|
||||
{
|
||||
uint8_t x_18;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_18 = !lean_is_exclusive(x_15);
|
||||
if (x_18 == 0)
|
||||
{
|
||||
lean_object* x_19; lean_object* x_20;
|
||||
x_19 = lean_ctor_get(x_15, 0);
|
||||
lean_dec(x_19);
|
||||
x_20 = lean_box(0);
|
||||
lean_ctor_set(x_15, 0, x_20);
|
||||
return x_15;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_21 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_15);
|
||||
x_22 = lean_box(0);
|
||||
x_23 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_23, 0, x_22);
|
||||
lean_ctor_set(x_23, 1, x_21);
|
||||
return x_23;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_15);
|
||||
x_25 = lean_box(0);
|
||||
x_26 = l_Lean_Meta_Grind_propagateForallProp___lambda__1(x_12, x_13, x_11, x_14, x_1, x_25, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_24);
|
||||
return x_26;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_27;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_27 = !lean_is_exclusive(x_15);
|
||||
if (x_27 == 0)
|
||||
{
|
||||
return x_15;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_28 = lean_ctor_get(x_15, 0);
|
||||
x_29 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_29);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_15);
|
||||
x_30 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_28);
|
||||
lean_ctor_set(x_30, 1, x_29);
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32;
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_31 = lean_box(0);
|
||||
x_32 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_32, 0, x_31);
|
||||
lean_ctor_set(x_32, 1, x_10);
|
||||
return x_32;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateForallProp___lambda__1___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, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_16; lean_object* x_17;
|
||||
x_16 = lean_unbox(x_4);
|
||||
lean_dec(x_4);
|
||||
x_17 = l_Lean_Meta_Grind_propagateForallProp___lambda__1(x_1, x_2, x_3, x_16, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15);
|
||||
lean_dec(x_6);
|
||||
return x_17;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init_Grind_Lemmas(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_Grind_Types(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_Grind_Internalize(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_Grind_Simp(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Lean_Meta_Tactic_Grind_ForallProp(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
|
||||
_G_initialized = true;
|
||||
res = initialize_Init_Grind_Lemmas(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Meta_Tactic_Grind_Types(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Meta_Tactic_Grind_Internalize(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Meta_Tactic_Grind_Simp(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__1 = _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__1();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__1);
|
||||
l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__2 = _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__2();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__2);
|
||||
l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__3 = _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__3();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__3);
|
||||
l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__4 = _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__4();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__4);
|
||||
l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__5 = _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__5();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__5);
|
||||
l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__6 = _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__6();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__6);
|
||||
l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__7 = _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__7();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__7);
|
||||
l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__8 = _init_l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__8();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateForallProp___lambda__1___closed__8);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
9526
stage0/stdlib/Lean/Meta/Tactic/Grind/Internalize.c
generated
9526
stage0/stdlib/Lean/Meta/Tactic/Grind/Internalize.c
generated
File diff suppressed because it is too large
Load diff
4860
stage0/stdlib/Lean/Meta/Tactic/Grind/Intro.c
generated
Normal file
4860
stage0/stdlib/Lean/Meta/Tactic/Grind/Intro.c
generated
Normal file
File diff suppressed because it is too large
Load diff
1165
stage0/stdlib/Lean/Meta/Tactic/Grind/Inv.c
generated
1165
stage0/stdlib/Lean/Meta/Tactic/Grind/Inv.c
generated
File diff suppressed because it is too large
Load diff
3559
stage0/stdlib/Lean/Meta/Tactic/Grind/Main.c
generated
Normal file
3559
stage0/stdlib/Lean/Meta/Tactic/Grind/Main.c
generated
Normal file
File diff suppressed because it is too large
Load diff
331
stage0/stdlib/Lean/Meta/Tactic/Grind/MarkNestedProofs.c
generated
331
stage0/stdlib/Lean/Meta/Tactic/Grind/MarkNestedProofs.c
generated
|
|
@ -24,7 +24,9 @@ size_t lean_uint64_to_usize(uint64_t);
|
|||
lean_object* l_Lean_Expr_sort___override(lean_object*);
|
||||
lean_object* lean_mk_array(lean_object*, lean_object*);
|
||||
uint8_t lean_usize_dec_eq(size_t, size_t);
|
||||
lean_object* l_Lean_Expr_mdata___override(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_markNestedProofs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_proj___override(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_fget(lean_object*, lean_object*);
|
||||
lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_Grind_markNestedProofsImpl_visit___spec__2___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*);
|
||||
|
|
@ -5542,57 +5544,262 @@ return x_65;
|
|||
}
|
||||
}
|
||||
}
|
||||
default:
|
||||
case 10:
|
||||
{
|
||||
uint8_t x_66;
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_66 = !lean_is_exclusive(x_8);
|
||||
if (x_66 == 0)
|
||||
lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
|
||||
x_66 = lean_ctor_get(x_8, 1);
|
||||
lean_inc(x_66);
|
||||
lean_dec(x_8);
|
||||
x_67 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_67);
|
||||
x_68 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_68);
|
||||
lean_inc(x_68);
|
||||
x_69 = l_Lean_Meta_Grind_markNestedProofsImpl_visit(x_68, x_2, x_3, x_4, x_5, x_6, x_66);
|
||||
if (lean_obj_tag(x_69) == 0)
|
||||
{
|
||||
lean_object* x_67;
|
||||
x_67 = lean_ctor_get(x_8, 0);
|
||||
lean_dec(x_67);
|
||||
lean_ctor_set(x_8, 0, x_1);
|
||||
return x_8;
|
||||
uint8_t x_70;
|
||||
x_70 = !lean_is_exclusive(x_69);
|
||||
if (x_70 == 0)
|
||||
{
|
||||
lean_object* x_71; size_t x_72; size_t x_73; uint8_t x_74;
|
||||
x_71 = lean_ctor_get(x_69, 0);
|
||||
x_72 = lean_ptr_addr(x_68);
|
||||
lean_dec(x_68);
|
||||
x_73 = lean_ptr_addr(x_71);
|
||||
x_74 = lean_usize_dec_eq(x_72, x_73);
|
||||
if (x_74 == 0)
|
||||
{
|
||||
lean_object* x_75;
|
||||
lean_dec(x_1);
|
||||
x_75 = l_Lean_Expr_mdata___override(x_67, x_71);
|
||||
lean_ctor_set(x_69, 0, x_75);
|
||||
return x_69;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_68; lean_object* x_69;
|
||||
x_68 = lean_ctor_get(x_8, 1);
|
||||
lean_inc(x_68);
|
||||
lean_dec(x_8);
|
||||
x_69 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_dec(x_71);
|
||||
lean_dec(x_67);
|
||||
lean_ctor_set(x_69, 0, x_1);
|
||||
lean_ctor_set(x_69, 1, x_68);
|
||||
return x_69;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_76; lean_object* x_77; size_t x_78; size_t x_79; uint8_t x_80;
|
||||
x_76 = lean_ctor_get(x_69, 0);
|
||||
x_77 = lean_ctor_get(x_69, 1);
|
||||
lean_inc(x_77);
|
||||
lean_inc(x_76);
|
||||
lean_dec(x_69);
|
||||
x_78 = lean_ptr_addr(x_68);
|
||||
lean_dec(x_68);
|
||||
x_79 = lean_ptr_addr(x_76);
|
||||
x_80 = lean_usize_dec_eq(x_78, x_79);
|
||||
if (x_80 == 0)
|
||||
{
|
||||
lean_object* x_81; lean_object* x_82;
|
||||
lean_dec(x_1);
|
||||
x_81 = l_Lean_Expr_mdata___override(x_67, x_76);
|
||||
x_82 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_82, 0, x_81);
|
||||
lean_ctor_set(x_82, 1, x_77);
|
||||
return x_82;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_83;
|
||||
lean_dec(x_76);
|
||||
lean_dec(x_67);
|
||||
x_83 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_83, 0, x_1);
|
||||
lean_ctor_set(x_83, 1, x_77);
|
||||
return x_83;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_70;
|
||||
x_70 = !lean_is_exclusive(x_8);
|
||||
if (x_70 == 0)
|
||||
uint8_t x_84;
|
||||
lean_dec(x_68);
|
||||
lean_dec(x_67);
|
||||
lean_dec(x_1);
|
||||
x_84 = !lean_is_exclusive(x_69);
|
||||
if (x_84 == 0)
|
||||
{
|
||||
lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74;
|
||||
x_71 = lean_ctor_get(x_8, 1);
|
||||
x_72 = lean_ctor_get(x_8, 0);
|
||||
lean_dec(x_72);
|
||||
x_73 = l_Lean_Meta_Grind_markNestedProofsImpl_visit___lambda__2___closed__4;
|
||||
x_74 = l_Lean_Expr_isAppOf(x_1, x_73);
|
||||
if (x_74 == 0)
|
||||
return x_69;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_75; lean_object* x_76;
|
||||
lean_free_object(x_8);
|
||||
x_75 = lean_box(0);
|
||||
x_76 = l_Lean_Meta_Grind_markNestedProofsImpl_visit___lambda__3(x_1, x_75, x_2, x_3, x_4, x_5, x_6, x_71);
|
||||
lean_object* x_85; lean_object* x_86; lean_object* x_87;
|
||||
x_85 = lean_ctor_get(x_69, 0);
|
||||
x_86 = lean_ctor_get(x_69, 1);
|
||||
lean_inc(x_86);
|
||||
lean_inc(x_85);
|
||||
lean_dec(x_69);
|
||||
x_87 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_87, 0, x_85);
|
||||
lean_ctor_set(x_87, 1, x_86);
|
||||
return x_87;
|
||||
}
|
||||
}
|
||||
}
|
||||
case 11:
|
||||
{
|
||||
lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92;
|
||||
x_88 = lean_ctor_get(x_8, 1);
|
||||
lean_inc(x_88);
|
||||
lean_dec(x_8);
|
||||
x_89 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_89);
|
||||
x_90 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_90);
|
||||
x_91 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_91);
|
||||
lean_inc(x_91);
|
||||
x_92 = l_Lean_Meta_Grind_markNestedProofsImpl_visit(x_91, x_2, x_3, x_4, x_5, x_6, x_88);
|
||||
if (lean_obj_tag(x_92) == 0)
|
||||
{
|
||||
uint8_t x_93;
|
||||
x_93 = !lean_is_exclusive(x_92);
|
||||
if (x_93 == 0)
|
||||
{
|
||||
lean_object* x_94; size_t x_95; size_t x_96; uint8_t x_97;
|
||||
x_94 = lean_ctor_get(x_92, 0);
|
||||
x_95 = lean_ptr_addr(x_91);
|
||||
lean_dec(x_91);
|
||||
x_96 = lean_ptr_addr(x_94);
|
||||
x_97 = lean_usize_dec_eq(x_95, x_96);
|
||||
if (x_97 == 0)
|
||||
{
|
||||
lean_object* x_98;
|
||||
lean_dec(x_1);
|
||||
x_98 = l_Lean_Expr_proj___override(x_89, x_90, x_94);
|
||||
lean_ctor_set(x_92, 0, x_98);
|
||||
return x_92;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_dec(x_94);
|
||||
lean_dec(x_90);
|
||||
lean_dec(x_89);
|
||||
lean_ctor_set(x_92, 0, x_1);
|
||||
return x_92;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_99; lean_object* x_100; size_t x_101; size_t x_102; uint8_t x_103;
|
||||
x_99 = lean_ctor_get(x_92, 0);
|
||||
x_100 = lean_ctor_get(x_92, 1);
|
||||
lean_inc(x_100);
|
||||
lean_inc(x_99);
|
||||
lean_dec(x_92);
|
||||
x_101 = lean_ptr_addr(x_91);
|
||||
lean_dec(x_91);
|
||||
x_102 = lean_ptr_addr(x_99);
|
||||
x_103 = lean_usize_dec_eq(x_101, x_102);
|
||||
if (x_103 == 0)
|
||||
{
|
||||
lean_object* x_104; lean_object* x_105;
|
||||
lean_dec(x_1);
|
||||
x_104 = l_Lean_Expr_proj___override(x_89, x_90, x_99);
|
||||
x_105 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_105, 0, x_104);
|
||||
lean_ctor_set(x_105, 1, x_100);
|
||||
return x_105;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_106;
|
||||
lean_dec(x_99);
|
||||
lean_dec(x_90);
|
||||
lean_dec(x_89);
|
||||
x_106 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_106, 0, x_1);
|
||||
lean_ctor_set(x_106, 1, x_100);
|
||||
return x_106;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_107;
|
||||
lean_dec(x_91);
|
||||
lean_dec(x_90);
|
||||
lean_dec(x_89);
|
||||
lean_dec(x_1);
|
||||
x_107 = !lean_is_exclusive(x_92);
|
||||
if (x_107 == 0)
|
||||
{
|
||||
return x_92;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_108; lean_object* x_109; lean_object* x_110;
|
||||
x_108 = lean_ctor_get(x_92, 0);
|
||||
x_109 = lean_ctor_get(x_92, 1);
|
||||
lean_inc(x_109);
|
||||
lean_inc(x_108);
|
||||
lean_dec(x_92);
|
||||
x_110 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_110, 0, x_108);
|
||||
lean_ctor_set(x_110, 1, x_109);
|
||||
return x_110;
|
||||
}
|
||||
}
|
||||
}
|
||||
default:
|
||||
{
|
||||
uint8_t x_111;
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_76;
|
||||
x_111 = !lean_is_exclusive(x_8);
|
||||
if (x_111 == 0)
|
||||
{
|
||||
lean_object* x_112;
|
||||
x_112 = lean_ctor_get(x_8, 0);
|
||||
lean_dec(x_112);
|
||||
lean_ctor_set(x_8, 0, x_1);
|
||||
return x_8;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_113; lean_object* x_114;
|
||||
x_113 = lean_ctor_get(x_8, 1);
|
||||
lean_inc(x_113);
|
||||
lean_dec(x_8);
|
||||
x_114 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_114, 0, x_1);
|
||||
lean_ctor_set(x_114, 1, x_113);
|
||||
return x_114;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_115;
|
||||
x_115 = !lean_is_exclusive(x_8);
|
||||
if (x_115 == 0)
|
||||
{
|
||||
lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119;
|
||||
x_116 = lean_ctor_get(x_8, 1);
|
||||
x_117 = lean_ctor_get(x_8, 0);
|
||||
lean_dec(x_117);
|
||||
x_118 = l_Lean_Meta_Grind_markNestedProofsImpl_visit___lambda__2___closed__4;
|
||||
x_119 = l_Lean_Expr_isAppOf(x_1, x_118);
|
||||
if (x_119 == 0)
|
||||
{
|
||||
lean_object* x_120; lean_object* x_121;
|
||||
lean_free_object(x_8);
|
||||
x_120 = lean_box(0);
|
||||
x_121 = l_Lean_Meta_Grind_markNestedProofsImpl_visit___lambda__3(x_1, x_120, x_2, x_3, x_4, x_5, x_6, x_116);
|
||||
lean_dec(x_2);
|
||||
return x_121;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -5607,62 +5814,62 @@ return x_8;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_77; lean_object* x_78; uint8_t x_79;
|
||||
x_77 = lean_ctor_get(x_8, 1);
|
||||
lean_inc(x_77);
|
||||
lean_object* x_122; lean_object* x_123; uint8_t x_124;
|
||||
x_122 = lean_ctor_get(x_8, 1);
|
||||
lean_inc(x_122);
|
||||
lean_dec(x_8);
|
||||
x_78 = l_Lean_Meta_Grind_markNestedProofsImpl_visit___lambda__2___closed__4;
|
||||
x_79 = l_Lean_Expr_isAppOf(x_1, x_78);
|
||||
if (x_79 == 0)
|
||||
x_123 = l_Lean_Meta_Grind_markNestedProofsImpl_visit___lambda__2___closed__4;
|
||||
x_124 = l_Lean_Expr_isAppOf(x_1, x_123);
|
||||
if (x_124 == 0)
|
||||
{
|
||||
lean_object* x_80; lean_object* x_81;
|
||||
x_80 = lean_box(0);
|
||||
x_81 = l_Lean_Meta_Grind_markNestedProofsImpl_visit___lambda__3(x_1, x_80, x_2, x_3, x_4, x_5, x_6, x_77);
|
||||
lean_object* x_125; lean_object* x_126;
|
||||
x_125 = lean_box(0);
|
||||
x_126 = l_Lean_Meta_Grind_markNestedProofsImpl_visit___lambda__3(x_1, x_125, x_2, x_3, x_4, x_5, x_6, x_122);
|
||||
lean_dec(x_2);
|
||||
return x_81;
|
||||
return x_126;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_82;
|
||||
lean_object* x_127;
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_82 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_82, 0, x_1);
|
||||
lean_ctor_set(x_82, 1, x_77);
|
||||
return x_82;
|
||||
x_127 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_127, 0, x_1);
|
||||
lean_ctor_set(x_127, 1, x_122);
|
||||
return x_127;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_83;
|
||||
uint8_t x_128;
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_83 = !lean_is_exclusive(x_8);
|
||||
if (x_83 == 0)
|
||||
x_128 = !lean_is_exclusive(x_8);
|
||||
if (x_128 == 0)
|
||||
{
|
||||
return x_8;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_84; lean_object* x_85; lean_object* x_86;
|
||||
x_84 = lean_ctor_get(x_8, 0);
|
||||
x_85 = lean_ctor_get(x_8, 1);
|
||||
lean_inc(x_85);
|
||||
lean_inc(x_84);
|
||||
lean_object* x_129; lean_object* x_130; lean_object* x_131;
|
||||
x_129 = lean_ctor_get(x_8, 0);
|
||||
x_130 = lean_ctor_get(x_8, 1);
|
||||
lean_inc(x_130);
|
||||
lean_inc(x_129);
|
||||
lean_dec(x_8);
|
||||
x_86 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_86, 0, x_84);
|
||||
lean_ctor_set(x_86, 1, x_85);
|
||||
return x_86;
|
||||
x_131 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_131, 0, x_129);
|
||||
lean_ctor_set(x_131, 1, x_130);
|
||||
return x_131;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
429
stage0/stdlib/Lean/Meta/Tactic/Grind/PP.c
generated
429
stage0/stdlib/Lean/Meta/Tactic/Grind/PP.c
generated
|
|
@ -14,12 +14,14 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
static lean_object* l_Lean_Meta_Grind_ppENodeRef___closed__3;
|
||||
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__4(lean_object*, lean_object*, lean_object*, 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_ppExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Grind_ppState___spec__1___closed__1;
|
||||
static lean_object* l_Lean_Meta_Grind_ppENodeDecl___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__4___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*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
|
||||
lean_object* l_ReaderT_bind___at_Lean_Meta_Grind_GoalM_run___spec__1___rarg(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_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Grind_ppState___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__2___closed__4;
|
||||
static lean_object* l_Lean_Meta_Grind_ppENodeDecl___closed__3;
|
||||
|
|
@ -45,6 +47,8 @@ static lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__3___closed__2;
|
|||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppENodeDeclValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__2___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__1___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* lean_st_ref_get(lean_object*, lean_object*);
|
||||
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_ppENodeDecl___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__2___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*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -53,6 +57,7 @@ static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Grind_ppState___
|
|||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppState(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Grind_ppState___spec__1___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*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__4___closed__2;
|
||||
static lean_object* l_Lean_Meta_Grind_ppENodeDecl___closed__2;
|
||||
uint8_t l_Lean_Meta_Grind_isSameExpr_unsafe__1(lean_object*, lean_object*);
|
||||
|
|
@ -60,20 +65,24 @@ static lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppState___spec__3
|
|||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Option_get___at___private_Lean_Util_Profile_0__Lean_get__profiler___spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_Grind_ppENodeDeclValue___spec__2___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*);
|
||||
static lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppState___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, 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_Grind_getENodes(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Grind_ppENodeDeclValue___spec__1___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*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__3___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppENodeDeclValue___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_MVarId_withContext___at_Lean_Meta_Grind_GoalM_run___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__2___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppENodeDecl___lambda__3___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*, lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
|
||||
static lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppState___spec__3___closed__4;
|
||||
static lean_object* l_Lean_Meta_Grind_ppState___closed__2;
|
||||
static lean_object* l_Lean_Meta_Grind_ppENodeDeclValue___closed__1;
|
||||
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1(lean_object*, lean_object*, lean_object*, 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_Std_Format_joinSep___at_Prod_repr___spec__1(lean_object*, lean_object*);
|
||||
lean_object* lean_array_set(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_nat_sub(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___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*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_Grind_ppENodeDeclValue___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppState___spec__3___closed__5;
|
||||
lean_object* l_Lean_Meta_Grind_getENode_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -86,6 +95,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppENodeDecl(lean_object*, lean_object
|
|||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppENodeRef___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_add(size_t, size_t);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppState___spec__3___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*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_uget(lean_object*, size_t);
|
||||
size_t lean_array_size(lean_object*);
|
||||
uint8_t lean_usize_dec_lt(size_t, size_t);
|
||||
|
|
@ -93,6 +103,7 @@ static lean_object* l_Lean_Meta_Grind_ppENodeRef___closed__4;
|
|||
LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_Grind_ppENodeDeclValue___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Grind_ppENodeDeclValue___spec__1___closed__2;
|
||||
uint8_t l_Lean_Expr_isConst(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppGoals(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_ppState___closed__1;
|
||||
lean_object* l___private_Init_Data_Repr_0__Nat_reprFast(lean_object*);
|
||||
lean_object* l_Lean_Meta_isLitValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -1943,6 +1954,422 @@ lean_dec(x_1);
|
|||
return x_16;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, 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) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10; uint8_t x_11;
|
||||
x_10 = lean_st_mk_ref(x_1, x_9);
|
||||
x_11 = !lean_is_exclusive(x_10);
|
||||
if (x_11 == 0)
|
||||
{
|
||||
return x_10;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14;
|
||||
x_12 = lean_ctor_get(x_10, 0);
|
||||
x_13 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_10);
|
||||
x_14 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_14, 0, x_12);
|
||||
lean_ctor_set(x_14, 1, x_13);
|
||||
return x_14;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___lambda__2(lean_object* x_1, lean_object* x_2, 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) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10;
|
||||
lean_inc(x_1);
|
||||
x_10 = l_Lean_Meta_Grind_ppState(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
if (lean_obj_tag(x_10) == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14;
|
||||
x_11 = lean_ctor_get(x_10, 0);
|
||||
lean_inc(x_11);
|
||||
x_12 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_10);
|
||||
x_13 = lean_st_ref_get(x_1, x_12);
|
||||
lean_dec(x_1);
|
||||
x_14 = !lean_is_exclusive(x_13);
|
||||
if (x_14 == 0)
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16;
|
||||
x_15 = lean_ctor_get(x_13, 0);
|
||||
x_16 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_16, 0, x_11);
|
||||
lean_ctor_set(x_16, 1, x_15);
|
||||
lean_ctor_set(x_13, 0, x_16);
|
||||
return x_13;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20;
|
||||
x_17 = lean_ctor_get(x_13, 0);
|
||||
x_18 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_18);
|
||||
lean_inc(x_17);
|
||||
lean_dec(x_13);
|
||||
x_19 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_19, 0, x_11);
|
||||
lean_ctor_set(x_19, 1, x_17);
|
||||
x_20 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_20, 0, x_19);
|
||||
lean_ctor_set(x_20, 1, x_18);
|
||||
return x_20;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_21;
|
||||
lean_dec(x_1);
|
||||
x_21 = !lean_is_exclusive(x_10);
|
||||
if (x_21 == 0)
|
||||
{
|
||||
return x_10;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_22 = lean_ctor_get(x_10, 0);
|
||||
x_23 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_23);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_10);
|
||||
x_24 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_24, 0, x_22);
|
||||
lean_ctor_set(x_24, 1, x_23);
|
||||
return x_24;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___lambda__2), 9, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1(lean_object* x_1, lean_object* x_2, 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, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_4) == 0)
|
||||
{
|
||||
lean_object* x_15;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
x_15 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_15, 0, x_5);
|
||||
lean_ctor_set(x_15, 1, x_14);
|
||||
return x_15;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_16;
|
||||
x_16 = !lean_is_exclusive(x_4);
|
||||
if (x_16 == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
|
||||
x_17 = lean_ctor_get(x_4, 0);
|
||||
x_18 = lean_ctor_get(x_4, 1);
|
||||
x_19 = lean_ctor_get(x_17, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___lambda__1___boxed), 9, 1);
|
||||
lean_closure_set(x_20, 0, x_17);
|
||||
x_21 = l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___closed__1;
|
||||
x_22 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Grind_GoalM_run___spec__1___rarg), 10, 2);
|
||||
lean_closure_set(x_22, 0, x_20);
|
||||
lean_closure_set(x_22, 1, x_21);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
x_23 = l_Lean_MVarId_withContext___at_Lean_Meta_Grind_GoalM_run___spec__2___rarg(x_19, x_22, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_24; lean_object* x_25; uint8_t x_26;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
lean_dec(x_23);
|
||||
x_26 = !lean_is_exclusive(x_24);
|
||||
if (x_26 == 0)
|
||||
{
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
x_27 = lean_ctor_get(x_24, 0);
|
||||
x_28 = lean_ctor_get(x_24, 1);
|
||||
lean_dec(x_28);
|
||||
x_29 = lean_box(1);
|
||||
lean_ctor_set_tag(x_24, 5);
|
||||
lean_ctor_set(x_24, 1, x_29);
|
||||
lean_ctor_set(x_24, 0, x_5);
|
||||
lean_ctor_set_tag(x_4, 5);
|
||||
lean_ctor_set(x_4, 1, x_27);
|
||||
lean_ctor_set(x_4, 0, x_24);
|
||||
{
|
||||
lean_object* _tmp_3 = x_18;
|
||||
lean_object* _tmp_4 = x_4;
|
||||
lean_object* _tmp_5 = lean_box(0);
|
||||
lean_object* _tmp_13 = x_25;
|
||||
x_4 = _tmp_3;
|
||||
x_5 = _tmp_4;
|
||||
x_6 = _tmp_5;
|
||||
x_14 = _tmp_13;
|
||||
}
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33;
|
||||
x_31 = lean_ctor_get(x_24, 0);
|
||||
lean_inc(x_31);
|
||||
lean_dec(x_24);
|
||||
x_32 = lean_box(1);
|
||||
x_33 = lean_alloc_ctor(5, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_5);
|
||||
lean_ctor_set(x_33, 1, x_32);
|
||||
lean_ctor_set_tag(x_4, 5);
|
||||
lean_ctor_set(x_4, 1, x_31);
|
||||
lean_ctor_set(x_4, 0, x_33);
|
||||
{
|
||||
lean_object* _tmp_3 = x_18;
|
||||
lean_object* _tmp_4 = x_4;
|
||||
lean_object* _tmp_5 = lean_box(0);
|
||||
lean_object* _tmp_13 = x_25;
|
||||
x_4 = _tmp_3;
|
||||
x_5 = _tmp_4;
|
||||
x_6 = _tmp_5;
|
||||
x_14 = _tmp_13;
|
||||
}
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_35;
|
||||
lean_free_object(x_4);
|
||||
lean_dec(x_18);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
x_35 = !lean_is_exclusive(x_23);
|
||||
if (x_35 == 0)
|
||||
{
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_36; lean_object* x_37; lean_object* x_38;
|
||||
x_36 = lean_ctor_get(x_23, 0);
|
||||
x_37 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_37);
|
||||
lean_inc(x_36);
|
||||
lean_dec(x_23);
|
||||
x_38 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_38, 0, x_36);
|
||||
lean_ctor_set(x_38, 1, x_37);
|
||||
return x_38;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
|
||||
x_39 = lean_ctor_get(x_4, 0);
|
||||
x_40 = lean_ctor_get(x_4, 1);
|
||||
lean_inc(x_40);
|
||||
lean_inc(x_39);
|
||||
lean_dec(x_4);
|
||||
x_41 = lean_ctor_get(x_39, 0);
|
||||
lean_inc(x_41);
|
||||
x_42 = lean_alloc_closure((void*)(l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___lambda__1___boxed), 9, 1);
|
||||
lean_closure_set(x_42, 0, x_39);
|
||||
x_43 = l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___closed__1;
|
||||
x_44 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_Meta_Grind_GoalM_run___spec__1___rarg), 10, 2);
|
||||
lean_closure_set(x_44, 0, x_42);
|
||||
lean_closure_set(x_44, 1, x_43);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
x_45 = l_Lean_MVarId_withContext___at_Lean_Meta_Grind_GoalM_run___spec__2___rarg(x_41, x_44, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
|
||||
if (lean_obj_tag(x_45) == 0)
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_46 = lean_ctor_get(x_45, 0);
|
||||
lean_inc(x_46);
|
||||
x_47 = lean_ctor_get(x_45, 1);
|
||||
lean_inc(x_47);
|
||||
lean_dec(x_45);
|
||||
x_48 = lean_ctor_get(x_46, 0);
|
||||
lean_inc(x_48);
|
||||
if (lean_is_exclusive(x_46)) {
|
||||
lean_ctor_release(x_46, 0);
|
||||
lean_ctor_release(x_46, 1);
|
||||
x_49 = x_46;
|
||||
} else {
|
||||
lean_dec_ref(x_46);
|
||||
x_49 = lean_box(0);
|
||||
}
|
||||
x_50 = lean_box(1);
|
||||
if (lean_is_scalar(x_49)) {
|
||||
x_51 = lean_alloc_ctor(5, 2, 0);
|
||||
} else {
|
||||
x_51 = x_49;
|
||||
lean_ctor_set_tag(x_51, 5);
|
||||
}
|
||||
lean_ctor_set(x_51, 0, x_5);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
x_52 = lean_alloc_ctor(5, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_51);
|
||||
lean_ctor_set(x_52, 1, x_48);
|
||||
x_4 = x_40;
|
||||
x_5 = x_52;
|
||||
x_6 = lean_box(0);
|
||||
x_14 = x_47;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57;
|
||||
lean_dec(x_40);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
x_54 = lean_ctor_get(x_45, 0);
|
||||
lean_inc(x_54);
|
||||
x_55 = lean_ctor_get(x_45, 1);
|
||||
lean_inc(x_55);
|
||||
if (lean_is_exclusive(x_45)) {
|
||||
lean_ctor_release(x_45, 0);
|
||||
lean_ctor_release(x_45, 1);
|
||||
x_56 = x_45;
|
||||
} else {
|
||||
lean_dec_ref(x_45);
|
||||
x_56 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_56)) {
|
||||
x_57 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_57 = x_56;
|
||||
}
|
||||
lean_ctor_set(x_57, 0, x_54);
|
||||
lean_ctor_set(x_57, 1, x_55);
|
||||
return x_57;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_ppGoals(lean_object* x_1, lean_object* x_2, 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) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12;
|
||||
x_10 = lean_box(0);
|
||||
x_11 = l_Lean_Meta_Grind_ppENodeRef___closed__6;
|
||||
lean_inc(x_1);
|
||||
x_12 = l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1(x_1, x_10, x_1, x_1, x_11, lean_box(0), x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
lean_dec(x_1);
|
||||
if (lean_obj_tag(x_12) == 0)
|
||||
{
|
||||
uint8_t x_13;
|
||||
x_13 = !lean_is_exclusive(x_12);
|
||||
if (x_13 == 0)
|
||||
{
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_14 = lean_ctor_get(x_12, 0);
|
||||
x_15 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_15);
|
||||
lean_inc(x_14);
|
||||
lean_dec(x_12);
|
||||
x_16 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_16, 0, x_14);
|
||||
lean_ctor_set(x_16, 1, x_15);
|
||||
return x_16;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_17;
|
||||
x_17 = !lean_is_exclusive(x_12);
|
||||
if (x_17 == 0)
|
||||
{
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19; lean_object* x_20;
|
||||
x_18 = lean_ctor_get(x_12, 0);
|
||||
x_19 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_19);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_12);
|
||||
x_20 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_20, 0, x_18);
|
||||
lean_ctor_set(x_20, 1, x_19);
|
||||
return x_20;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___lambda__1___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, lean_object* x_7, lean_object* x_8, lean_object* x_9) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_10;
|
||||
x_10 = l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_10;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___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, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_15;
|
||||
x_15 = l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init_Grind_Util(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Tactic_Grind_Types(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
|
|
@ -2018,6 +2445,8 @@ l_Lean_Meta_Grind_ppState___closed__1 = _init_l_Lean_Meta_Grind_ppState___closed
|
|||
lean_mark_persistent(l_Lean_Meta_Grind_ppState___closed__1);
|
||||
l_Lean_Meta_Grind_ppState___closed__2 = _init_l_Lean_Meta_Grind_ppState___closed__2();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_ppState___closed__2);
|
||||
l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___closed__1 = _init_l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___closed__1();
|
||||
lean_mark_persistent(l_List_forIn_x27_loop___at_Lean_Meta_Grind_ppGoals___spec__1___closed__1);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
8623
stage0/stdlib/Lean/Meta/Tactic/Grind/Preprocessor.c
generated
8623
stage0/stdlib/Lean/Meta/Tactic/Grind/Preprocessor.c
generated
File diff suppressed because it is too large
Load diff
457
stage0/stdlib/Lean/Meta/Tactic/Grind/Proj.c
generated
457
stage0/stdlib/Lean/Meta/Tactic/Grind/Proj.c
generated
|
|
@ -14,27 +14,42 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__1;
|
||||
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__2___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*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, 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_Lean_Meta_Grind_propagateProjEq___lambda__2___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*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__6___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*);
|
||||
lean_object* l_Lean_Meta_Grind_pushEqCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_isAppOf(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__3___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*);
|
||||
lean_object* l_Lean_stringToMessageData(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__5___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*);
|
||||
lean_object* l_Lean_Meta_Grind_isCongrRoot(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_appArg_x21(lean_object*);
|
||||
static lean_object* l_Lean_getProjectionFnInfo_x3f___at_Lean_Meta_Grind_propagateProjEq___spec__1___closed__1;
|
||||
extern lean_object* l_Lean_projectionFnInfoExt;
|
||||
lean_object* l_Lean_Meta_Grind_getRoot(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_getRevArg_x21(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, 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_Lean_Meta_Grind_propagateProjEq___lambda__6(lean_object*, lean_object*, 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_Lean_Meta_Grind_propagateProjEq___lambda__2(lean_object*, lean_object*, lean_object*, 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_Lean_Meta_Grind_propagateProjEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__3;
|
||||
static lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__4;
|
||||
lean_object* l_Lean_addTrace___at_Lean_Meta_Grind_addCongrTable___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_getProjectionFnInfo_x3f___at_Lean_Meta_Grind_propagateProjEq___spec__1(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_Lean_getProjectionFnInfo_x3f___at_Lean_Meta_Grind_propagateProjEq___spec__1___boxed(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_Grind_getGeneration(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Meta_Grind_isSameExpr_unsafe__1(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_MapDeclarationExtension_find_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_appFn_x21(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_instInhabitedProjectionFunctionInfo;
|
||||
lean_object* l_Lean_MessageData_ofExpr(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__6;
|
||||
lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_Grind_shareCommon(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -42,9 +57,12 @@ uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_Meta_mkEqRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_nat_sub(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_getAppFn(lean_object*);
|
||||
lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_addCongrTable___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__2;
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__1___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*, lean_object*);
|
||||
lean_object* l_Lean_Meta_Grind_internalize(lean_object*, 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_Lean_Meta_Grind_propagateProjEq___lambda__4___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*, lean_object*, lean_object*);
|
||||
static lean_object* _init_l_Lean_getProjectionFnInfo_x3f___at_Lean_Meta_Grind_propagateProjEq___spec__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -159,15 +177,181 @@ return x_28;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__2(lean_object* x_1, lean_object* x_2, 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, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__2(lean_object* x_1, lean_object* x_2, 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, lean_object* x_12, lean_object* x_13) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19;
|
||||
x_14 = lean_ctor_get(x_1, 1);
|
||||
x_15 = lean_ctor_get(x_1, 2);
|
||||
x_16 = lean_nat_add(x_14, x_15);
|
||||
x_17 = lean_unsigned_to_nat(0u);
|
||||
x_18 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_2, x_17);
|
||||
x_19 = lean_nat_dec_lt(x_16, x_18);
|
||||
lean_dec(x_18);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
lean_object* x_20; lean_object* x_21;
|
||||
lean_dec(x_16);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_3);
|
||||
x_20 = lean_box(0);
|
||||
x_21 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_20);
|
||||
lean_ctor_set(x_21, 1, x_13);
|
||||
return x_21;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23;
|
||||
x_22 = lean_box(0);
|
||||
x_23 = l_Lean_Meta_Grind_propagateProjEq___lambda__1(x_2, x_16, x_3, x_22, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
|
||||
lean_dec(x_16);
|
||||
return x_23;
|
||||
}
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_unchecked("grind", 5, 5);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_unchecked("debug", 5, 5);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_unchecked("proj", 4, 4);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__1;
|
||||
x_2 = l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__2;
|
||||
x_3 = l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__3;
|
||||
x_4 = l_Lean_Name_mkStr3(x_1, x_2, x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_unchecked("", 0, 0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__5;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__3(lean_object* x_1, lean_object* x_2, 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, lean_object* x_12) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16;
|
||||
x_13 = l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__4;
|
||||
x_14 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_addCongrTable___spec__8(x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
x_15 = lean_ctor_get(x_14, 0);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_unbox(x_15);
|
||||
lean_dec(x_15);
|
||||
if (x_16 == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19;
|
||||
x_17 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_17);
|
||||
lean_dec(x_14);
|
||||
x_18 = lean_box(0);
|
||||
x_19 = l_Lean_Meta_Grind_propagateProjEq___lambda__2(x_1, x_2, x_3, x_18, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_17);
|
||||
return x_19;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_20;
|
||||
x_20 = !lean_is_exclusive(x_14);
|
||||
if (x_20 == 0)
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
x_21 = lean_ctor_get(x_14, 1);
|
||||
x_22 = lean_ctor_get(x_14, 0);
|
||||
lean_dec(x_22);
|
||||
lean_inc(x_3);
|
||||
x_23 = l_Lean_MessageData_ofExpr(x_3);
|
||||
x_24 = l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__6;
|
||||
lean_ctor_set_tag(x_14, 7);
|
||||
lean_ctor_set(x_14, 1, x_23);
|
||||
lean_ctor_set(x_14, 0, x_24);
|
||||
x_25 = lean_alloc_ctor(7, 2, 0);
|
||||
lean_ctor_set(x_25, 0, x_14);
|
||||
lean_ctor_set(x_25, 1, x_24);
|
||||
x_26 = l_Lean_addTrace___at_Lean_Meta_Grind_addCongrTable___spec__9(x_13, x_25, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_21);
|
||||
x_27 = lean_ctor_get(x_26, 0);
|
||||
lean_inc(x_27);
|
||||
x_28 = lean_ctor_get(x_26, 1);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_26);
|
||||
x_29 = l_Lean_Meta_Grind_propagateProjEq___lambda__2(x_1, x_2, x_3, x_27, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_28);
|
||||
lean_dec(x_27);
|
||||
return x_29;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
|
||||
x_30 = lean_ctor_get(x_14, 1);
|
||||
lean_inc(x_30);
|
||||
lean_dec(x_14);
|
||||
lean_inc(x_3);
|
||||
x_31 = l_Lean_MessageData_ofExpr(x_3);
|
||||
x_32 = l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__6;
|
||||
x_33 = lean_alloc_ctor(7, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_32);
|
||||
lean_ctor_set(x_33, 1, x_31);
|
||||
x_34 = lean_alloc_ctor(7, 2, 0);
|
||||
lean_ctor_set(x_34, 0, x_33);
|
||||
lean_ctor_set(x_34, 1, x_32);
|
||||
x_35 = l_Lean_addTrace___at_Lean_Meta_Grind_addCongrTable___spec__9(x_13, x_34, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_30);
|
||||
x_36 = lean_ctor_get(x_35, 0);
|
||||
lean_inc(x_36);
|
||||
x_37 = lean_ctor_get(x_35, 1);
|
||||
lean_inc(x_37);
|
||||
lean_dec(x_35);
|
||||
x_38 = l_Lean_Meta_Grind_propagateProjEq___lambda__2(x_1, x_2, x_3, x_36, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_37);
|
||||
lean_dec(x_36);
|
||||
return x_38;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__4(lean_object* x_1, lean_object* x_2, 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, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_15;
|
||||
x_15 = l_Lean_Meta_Grind_isSameExpr_unsafe__1(x_1, x_2);
|
||||
x_15 = l_Lean_Meta_Grind_isSameExpr_unsafe__1(x_3, x_2);
|
||||
if (x_15 == 0)
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_16 = l_Lean_Expr_appFn_x21(x_3);
|
||||
x_16 = l_Lean_Expr_appFn_x21(x_4);
|
||||
lean_inc(x_2);
|
||||
x_17 = l_Lean_Expr_app___override(x_16, x_2);
|
||||
x_18 = l_Lean_Meta_Grind_shareCommon(x_17, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
|
||||
x_19 = lean_ctor_get(x_18, 0);
|
||||
|
|
@ -175,7 +359,7 @@ lean_inc(x_19);
|
|||
x_20 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_18);
|
||||
x_21 = l_Lean_Meta_Grind_getGeneration(x_3, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_20);
|
||||
x_21 = l_Lean_Meta_Grind_getGeneration(x_4, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_20);
|
||||
if (lean_obj_tag(x_21) == 0)
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
|
|
@ -184,12 +368,33 @@ lean_inc(x_22);
|
|||
x_23 = lean_ctor_get(x_21, 1);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_21);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_19);
|
||||
x_24 = l_Lean_Meta_Grind_internalize(x_19, x_22, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_23);
|
||||
return x_24;
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26;
|
||||
x_25 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_25);
|
||||
lean_dec(x_24);
|
||||
x_26 = l_Lean_Meta_Grind_propagateProjEq___lambda__3(x_1, x_2, x_19, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_25);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_2);
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_25;
|
||||
uint8_t x_27;
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
|
|
@ -199,40 +404,31 @@ lean_dec(x_9);
|
|||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
x_25 = !lean_is_exclusive(x_21);
|
||||
if (x_25 == 0)
|
||||
lean_dec(x_2);
|
||||
x_27 = !lean_is_exclusive(x_24);
|
||||
if (x_27 == 0)
|
||||
{
|
||||
return x_21;
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27; lean_object* x_28;
|
||||
x_26 = lean_ctor_get(x_21, 0);
|
||||
x_27 = lean_ctor_get(x_21, 1);
|
||||
lean_inc(x_27);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_21);
|
||||
x_28 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_28, 0, x_26);
|
||||
lean_ctor_set(x_28, 1, x_27);
|
||||
return x_28;
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_28 = lean_ctor_get(x_24, 0);
|
||||
x_29 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_29);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_24);
|
||||
x_30 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_28);
|
||||
lean_ctor_set(x_30, 1, x_29);
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34;
|
||||
x_29 = lean_ctor_get(x_4, 1);
|
||||
x_30 = lean_ctor_get(x_4, 2);
|
||||
x_31 = lean_nat_add(x_29, x_30);
|
||||
x_32 = lean_unsigned_to_nat(0u);
|
||||
x_33 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_2, x_32);
|
||||
x_34 = lean_nat_dec_lt(x_31, x_33);
|
||||
lean_dec(x_33);
|
||||
if (x_34 == 0)
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36;
|
||||
lean_dec(x_31);
|
||||
uint8_t x_31;
|
||||
lean_dec(x_19);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
|
|
@ -241,31 +437,41 @@ lean_dec(x_9);
|
|||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_35 = lean_box(0);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_35);
|
||||
lean_ctor_set(x_36, 1, x_14);
|
||||
return x_36;
|
||||
x_31 = !lean_is_exclusive(x_21);
|
||||
if (x_31 == 0)
|
||||
{
|
||||
return x_21;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_37; lean_object* x_38;
|
||||
x_37 = lean_box(0);
|
||||
x_38 = l_Lean_Meta_Grind_propagateProjEq___lambda__1(x_2, x_31, x_3, x_37, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
|
||||
lean_object* x_32; lean_object* x_33; lean_object* x_34;
|
||||
x_32 = lean_ctor_get(x_21, 0);
|
||||
x_33 = lean_ctor_get(x_21, 1);
|
||||
lean_inc(x_33);
|
||||
lean_inc(x_32);
|
||||
lean_dec(x_21);
|
||||
x_34 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_34, 0, x_32);
|
||||
lean_ctor_set(x_34, 1, x_33);
|
||||
return x_34;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35;
|
||||
x_35 = l_Lean_Meta_Grind_propagateProjEq___lambda__3(x_1, x_2, x_4, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_31);
|
||||
lean_dec(x_2);
|
||||
return x_38;
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__3(lean_object* x_1, lean_object* x_2, 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, lean_object* x_12) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__5(lean_object* x_1, lean_object* x_2, 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, lean_object* x_12) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_13; lean_object* x_14;
|
||||
|
|
@ -306,7 +512,7 @@ else
|
|||
lean_object* x_21; lean_object* x_22;
|
||||
lean_free_object(x_14);
|
||||
x_21 = lean_box(0);
|
||||
x_22 = l_Lean_Meta_Grind_propagateProjEq___lambda__2(x_13, x_16, x_1, x_2, x_21, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_17);
|
||||
x_22 = l_Lean_Meta_Grind_propagateProjEq___lambda__4(x_2, x_16, x_13, x_1, x_21, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_17);
|
||||
lean_dec(x_13);
|
||||
return x_22;
|
||||
}
|
||||
|
|
@ -345,7 +551,7 @@ else
|
|||
{
|
||||
lean_object* x_29; lean_object* x_30;
|
||||
x_29 = lean_box(0);
|
||||
x_30 = l_Lean_Meta_Grind_propagateProjEq___lambda__2(x_13, x_23, x_1, x_2, x_29, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_24);
|
||||
x_30 = l_Lean_Meta_Grind_propagateProjEq___lambda__4(x_2, x_23, x_13, x_1, x_29, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_24);
|
||||
lean_dec(x_13);
|
||||
return x_30;
|
||||
}
|
||||
|
|
@ -385,6 +591,98 @@ return x_34;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__6(lean_object* x_1, lean_object* x_2, 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, lean_object* x_12) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_13;
|
||||
lean_inc(x_1);
|
||||
x_13 = l_Lean_Meta_Grind_isCongrRoot(x_1, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
if (lean_obj_tag(x_13) == 0)
|
||||
{
|
||||
lean_object* x_14; uint8_t x_15;
|
||||
x_14 = lean_ctor_get(x_13, 0);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_unbox(x_14);
|
||||
lean_dec(x_14);
|
||||
if (x_15 == 0)
|
||||
{
|
||||
uint8_t x_16;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_1);
|
||||
x_16 = !lean_is_exclusive(x_13);
|
||||
if (x_16 == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18;
|
||||
x_17 = lean_ctor_get(x_13, 0);
|
||||
lean_dec(x_17);
|
||||
x_18 = lean_box(0);
|
||||
lean_ctor_set(x_13, 0, x_18);
|
||||
return x_13;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_19 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_13);
|
||||
x_20 = lean_box(0);
|
||||
x_21 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_20);
|
||||
lean_ctor_set(x_21, 1, x_19);
|
||||
return x_21;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_22 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_13);
|
||||
x_23 = lean_box(0);
|
||||
x_24 = l_Lean_Meta_Grind_propagateProjEq___lambda__5(x_1, x_2, x_23, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_22);
|
||||
return x_24;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_25;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_1);
|
||||
x_25 = !lean_is_exclusive(x_13);
|
||||
if (x_25 == 0)
|
||||
{
|
||||
return x_13;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27; lean_object* x_28;
|
||||
x_26 = lean_ctor_get(x_13, 0);
|
||||
x_27 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_27);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_13);
|
||||
x_28 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_28, 0, x_26);
|
||||
lean_ctor_set(x_28, 1, x_27);
|
||||
return x_28;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq(lean_object* x_1, lean_object* x_2, 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) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -479,7 +777,7 @@ else
|
|||
lean_object* x_32; lean_object* x_33;
|
||||
lean_free_object(x_13);
|
||||
x_32 = lean_box(0);
|
||||
x_33 = l_Lean_Meta_Grind_propagateProjEq___lambda__3(x_1, x_24, x_32, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_22);
|
||||
x_33 = l_Lean_Meta_Grind_propagateProjEq___lambda__6(x_1, x_24, x_32, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_22);
|
||||
lean_dec(x_24);
|
||||
return x_33;
|
||||
}
|
||||
|
|
@ -526,7 +824,7 @@ else
|
|||
{
|
||||
lean_object* x_44; lean_object* x_45;
|
||||
x_44 = lean_box(0);
|
||||
x_45 = l_Lean_Meta_Grind_propagateProjEq___lambda__3(x_1, x_35, x_44, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_34);
|
||||
x_45 = l_Lean_Meta_Grind_propagateProjEq___lambda__6(x_1, x_35, x_44, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_34);
|
||||
lean_dec(x_35);
|
||||
return x_45;
|
||||
}
|
||||
|
|
@ -585,15 +883,19 @@ lean_dec(x_1);
|
|||
return x_14;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__2___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, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__2___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, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_15;
|
||||
x_15 = l_Lean_Meta_Grind_propagateProjEq___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
|
||||
lean_object* x_14;
|
||||
x_14 = l_Lean_Meta_Grind_propagateProjEq___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_15;
|
||||
return x_14;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__3___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, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
|
||||
|
|
@ -601,6 +903,41 @@ _start:
|
|||
{
|
||||
lean_object* x_13;
|
||||
x_13 = l_Lean_Meta_Grind_propagateProjEq___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
return x_13;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__4___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, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_15;
|
||||
x_15 = l_Lean_Meta_Grind_propagateProjEq___lambda__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_1);
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__5___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, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_13;
|
||||
x_13 = l_Lean_Meta_Grind_propagateProjEq___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_13;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateProjEq___lambda__6___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, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_13;
|
||||
x_13 = l_Lean_Meta_Grind_propagateProjEq___lambda__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_13;
|
||||
|
|
@ -625,6 +962,18 @@ if (lean_io_result_is_error(res)) return res;
|
|||
lean_dec_ref(res);
|
||||
l_Lean_getProjectionFnInfo_x3f___at_Lean_Meta_Grind_propagateProjEq___spec__1___closed__1 = _init_l_Lean_getProjectionFnInfo_x3f___at_Lean_Meta_Grind_propagateProjEq___spec__1___closed__1();
|
||||
lean_mark_persistent(l_Lean_getProjectionFnInfo_x3f___at_Lean_Meta_Grind_propagateProjEq___spec__1___closed__1);
|
||||
l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__1 = _init_l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__1();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__1);
|
||||
l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__2 = _init_l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__2();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__2);
|
||||
l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__3 = _init_l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__3();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__3);
|
||||
l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__4 = _init_l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__4();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__4);
|
||||
l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__5 = _init_l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__5();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__5);
|
||||
l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__6 = _init_l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__6();
|
||||
lean_mark_persistent(l_Lean_Meta_Grind_propagateProjEq___lambda__3___closed__6);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
1678
stage0/stdlib/Lean/Meta/Tactic/Grind/Proof.c
generated
1678
stage0/stdlib/Lean/Meta/Tactic/Grind/Proof.c
generated
File diff suppressed because it is too large
Load diff
75
stage0/stdlib/Lean/Meta/Tactic/Grind/Propagate.c
generated
75
stage0/stdlib/Lean/Meta/Tactic/Grind/Propagate.c
generated
|
|
@ -29,7 +29,6 @@ static lean_object* l_Lean_Meta_Grind_propagateAndUp___lambda__1___closed__5;
|
|||
static lean_object* l___regBuiltin_Lean_Meta_Grind_propagateNotUp_declare__1____x40_Lean_Meta_Tactic_Grind_Propagate___hyg_1426____closed__1;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Meta_Grind_propagateAndUp_declare__1____x40_Lean_Meta_Tactic_Grind_Propagate___hyg_383_(lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateOrUp___lambda__1___closed__10;
|
||||
lean_object* l___private_Lean_Meta_Tactic_Grind_Proof_0__Lean_Meta_Grind_mkEqProofCore(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateAndDown___lambda__1___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateEqUp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateEqDown___lambda__1___closed__2;
|
||||
|
|
@ -118,6 +117,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Grind_propagateOrDown___lambda__1(lean_obje
|
|||
static lean_object* l_Lean_Meta_Grind_propagateNotUp___lambda__1___closed__4;
|
||||
lean_object* lean_grind_mk_eq_proof(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateEqUp___closed__1;
|
||||
lean_object* lean_grind_mk_heq_proof(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_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_Grind_mkEqFalseProof(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Meta_Grind_propagateOrUp___closed__1;
|
||||
|
|
@ -5137,11 +5137,10 @@ return x_21;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_22; uint8_t x_23; lean_object* x_24;
|
||||
lean_object* x_22; lean_object* x_23;
|
||||
x_22 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_13);
|
||||
x_23 = 1;
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
|
|
@ -5150,19 +5149,19 @@ lean_inc(x_7);
|
|||
lean_inc(x_6);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_4);
|
||||
x_24 = l___private_Lean_Meta_Tactic_Grind_Proof_0__Lean_Meta_Grind_mkEqProofCore(x_2, x_3, x_23, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_22);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
x_23 = lean_grind_mk_heq_proof(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_22);
|
||||
if (lean_obj_tag(x_23) == 0)
|
||||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
x_25 = lean_ctor_get(x_24, 0);
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
|
||||
x_24 = lean_ctor_get(x_23, 0);
|
||||
lean_inc(x_24);
|
||||
x_25 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_25);
|
||||
x_26 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_24);
|
||||
x_27 = l_Lean_Meta_Grind_propagateEqUp___lambda__1___closed__3;
|
||||
lean_dec(x_23);
|
||||
x_26 = l_Lean_Meta_Grind_propagateEqUp___lambda__1___closed__3;
|
||||
lean_inc(x_1);
|
||||
x_28 = l_Lean_mkAppB(x_27, x_1, x_25);
|
||||
x_29 = l_Lean_Meta_Grind_pushEqTrue(x_1, x_28, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_26);
|
||||
x_27 = l_Lean_mkAppB(x_26, x_1, x_24);
|
||||
x_28 = l_Lean_Meta_Grind_pushEqTrue(x_1, x_27, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_25);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
|
|
@ -5171,11 +5170,11 @@ lean_dec(x_7);
|
|||
lean_dec(x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
return x_29;
|
||||
return x_28;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_30;
|
||||
uint8_t x_29;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
|
|
@ -5185,30 +5184,30 @@ lean_dec(x_6);
|
|||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_1);
|
||||
x_30 = !lean_is_exclusive(x_24);
|
||||
if (x_30 == 0)
|
||||
x_29 = !lean_is_exclusive(x_23);
|
||||
if (x_29 == 0)
|
||||
{
|
||||
return x_24;
|
||||
return x_23;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33;
|
||||
x_31 = lean_ctor_get(x_24, 0);
|
||||
x_32 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_32);
|
||||
lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_30 = lean_ctor_get(x_23, 0);
|
||||
x_31 = lean_ctor_get(x_23, 1);
|
||||
lean_inc(x_31);
|
||||
lean_dec(x_24);
|
||||
x_33 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_31);
|
||||
lean_ctor_set(x_33, 1, x_32);
|
||||
return x_33;
|
||||
lean_inc(x_30);
|
||||
lean_dec(x_23);
|
||||
x_32 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_32, 0, x_30);
|
||||
lean_ctor_set(x_32, 1, x_31);
|
||||
return x_32;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_34;
|
||||
uint8_t x_33;
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
|
|
@ -5220,23 +5219,23 @@ lean_dec(x_4);
|
|||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_34 = !lean_is_exclusive(x_13);
|
||||
if (x_34 == 0)
|
||||
x_33 = !lean_is_exclusive(x_13);
|
||||
if (x_33 == 0)
|
||||
{
|
||||
return x_13;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36; lean_object* x_37;
|
||||
x_35 = lean_ctor_get(x_13, 0);
|
||||
x_36 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_36);
|
||||
lean_object* x_34; lean_object* x_35; lean_object* x_36;
|
||||
x_34 = lean_ctor_get(x_13, 0);
|
||||
x_35 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_35);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_13);
|
||||
x_37 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_35);
|
||||
lean_ctor_set(x_37, 1, x_36);
|
||||
return x_37;
|
||||
x_36 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_34);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1827
stage0/stdlib/Lean/Meta/Tactic/Grind/Run.c
generated
1827
stage0/stdlib/Lean/Meta/Tactic/Grind/Run.c
generated
File diff suppressed because it is too large
Load diff
1479
stage0/stdlib/Lean/Meta/Tactic/Grind/Simp.c
generated
1479
stage0/stdlib/Lean/Meta/Tactic/Grind/Simp.c
generated
File diff suppressed because it is too large
Load diff
8928
stage0/stdlib/Lean/Meta/Tactic/Grind/TheoremPatterns.c
generated
8928
stage0/stdlib/Lean/Meta/Tactic/Grind/TheoremPatterns.c
generated
File diff suppressed because it is too large
Load diff
8834
stage0/stdlib/Lean/Meta/Tactic/Grind/Types.c
generated
8834
stage0/stdlib/Lean/Meta/Tactic/Grind/Types.c
generated
File diff suppressed because it is too large
Load diff
2
stage0/stdlib/Lean/ToExpr.c
generated
2
stage0/stdlib/Lean/ToExpr.c
generated
|
|
@ -2030,7 +2030,7 @@ _start:
|
|||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l___private_Lean_ToExpr_0__Lean_Name_toExprAux_mkStr___closed__5;
|
||||
x_2 = l___private_Lean_ToExpr_0__Lean_Name_toExprAux_mkStr___closed__6;
|
||||
x_3 = lean_unsigned_to_nat(131u);
|
||||
x_3 = lean_unsigned_to_nat(136u);
|
||||
x_4 = lean_unsigned_to_nat(11u);
|
||||
x_5 = l___private_Lean_ToExpr_0__Lean_Name_toExprAux_mkStr___closed__7;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue