chore: update stage0

This commit is contained in:
Lean stage0 autoupdater 2024-07-20 02:35:13 +00:00
parent 726e162527
commit 696f70bb4e
43 changed files with 853 additions and 2678 deletions

View file

@ -1,41 +0,0 @@
/*
Copyright (c) 2013 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Author: Leonardo de Moura
*/
#pragma once
#include <vector>
#include <memory>
#include "runtime/debug.h"
/** \brief Macro for creating a stack of objects of type Cache in thread local storage.
The argument \c Arg is provided to every new instance of Cache.
The macro provides the helper class Cache_ref that "reuses" cache objects from the stack.
*/
#define MK_CACHE_STACK(Cache, Arg) \
struct Cache ## _stack { \
unsigned m_top; \
std::vector<std::unique_ptr<Cache>> m_cache_stack; \
Cache ## _stack():m_top(0) {} \
}; \
MK_THREAD_LOCAL_GET_DEF(Cache ## _stack, get_ ## Cache ## _stack); \
class Cache ## _ref { \
Cache * m_cache; \
public: \
Cache ## _ref() { \
Cache ## _stack & s = get_ ## Cache ## _stack(); \
lean_assert(s.m_top <= s.m_cache_stack.size()); \
if (s.m_top == s.m_cache_stack.size()) \
s.m_cache_stack.push_back(std::unique_ptr<Cache>(new Cache(Arg))); \
m_cache = s.m_cache_stack[s.m_top].get(); \
s.m_top++; \
} \
~Cache ## _ref() { \
Cache ## _stack & s = get_ ## Cache ## _stack(); \
lean_assert(s.m_top > 0); \
s.m_top--; \
m_cache->clear(); \
} \
Cache * operator->() const { return m_cache; } \
};

View file

@ -6,75 +6,35 @@ Author: Leonardo de Moura
*/
#include <vector>
#include <memory>
#include <unordered_map>
#include "kernel/replace_fn.h"
#include "kernel/cache_stack.h"
#ifndef LEAN_DEFAULT_REPLACE_CACHE_CAPACITY
#define LEAN_DEFAULT_REPLACE_CACHE_CAPACITY 1024*8
#endif
namespace lean {
struct replace_cache {
struct entry {
object * m_cell;
unsigned m_offset;
expr m_result;
entry():m_cell(nullptr) {}
};
unsigned m_capacity;
std::vector<entry> m_cache;
std::vector<unsigned> m_used;
replace_cache(unsigned c):m_capacity(c), m_cache(c) {}
expr * find(expr const & e, unsigned offset) {
unsigned i = hash(hash(e), offset) % m_capacity;
if (m_cache[i].m_cell == e.raw() && m_cache[i].m_offset == offset)
return &m_cache[i].m_result;
else
return nullptr;
}
void insert(expr const & e, unsigned offset, expr const & v) {
unsigned i = hash(hash(e), offset) % m_capacity;
if (m_cache[i].m_cell == nullptr)
m_used.push_back(i);
m_cache[i].m_cell = e.raw();
m_cache[i].m_offset = offset;
m_cache[i].m_result = v;
}
void clear() {
for (unsigned i : m_used) {
m_cache[i].m_cell = nullptr;
m_cache[i].m_result = expr();
}
m_used.clear();
}
};
/* CACHE_RESET: NO */
MK_CACHE_STACK(replace_cache, LEAN_DEFAULT_REPLACE_CACHE_CAPACITY)
class replace_rec_fn {
replace_cache_ref m_cache;
struct key_hasher {
std::size_t operator()(std::pair<lean_object *, unsigned> const & p) const {
return hash((size_t)p.first, p.second);
}
};
std::unordered_map<std::pair<lean_object *, unsigned>, expr, key_hasher> m_cache;
std::function<optional<expr>(expr const &, unsigned)> m_f;
bool m_use_cache;
expr save_result(expr const & e, unsigned offset, expr const & r, bool shared) {
if (shared)
m_cache->insert(e, offset, r);
m_cache.insert(mk_pair(mk_pair(e.raw(), offset), r));
return r;
}
expr apply(expr const & e, unsigned offset) {
bool shared = false;
if (m_use_cache && is_shared(e)) {
if (auto r = m_cache->find(e, offset))
return *r;
auto it = m_cache.find(mk_pair(e.raw(), offset));
if (it != m_cache.end())
return it->second;
shared = true;
}
check_system("replace");
if (optional<expr> r = m_f(e, offset)) {
return save_result(e, offset, *r, shared);
} else {
@ -121,4 +81,73 @@ public:
expr replace(expr const & e, std::function<optional<expr>(expr const &, unsigned)> const & f, bool use_cache) {
return replace_rec_fn(f, use_cache)(e);
}
class replace_fn {
std::unordered_map<lean_object *, expr> m_cache;
lean_object * m_f;
expr save_result(expr const & e, expr const & r, bool shared) {
if (shared)
m_cache.insert(mk_pair(e.raw(), r));
return r;
}
expr apply(expr const & e) {
bool shared = false;
if (is_shared(e)) {
auto it = m_cache.find(e.raw());
if (it != m_cache.end())
return it->second;
shared = true;
}
lean_inc(e.raw());
lean_inc_ref(m_f);
lean_object * r = lean_apply_1(m_f, e.raw());
if (!lean_is_scalar(r)) {
expr e_new(lean_ctor_get(r, 0));
lean_dec_ref(r);
return save_result(e, e_new, shared);
}
switch (e.kind()) {
case expr_kind::Const: case expr_kind::Sort:
case expr_kind::BVar: case expr_kind::Lit:
case expr_kind::MVar: case expr_kind::FVar:
return save_result(e, e, shared);
case expr_kind::MData: {
expr new_e = apply(mdata_expr(e));
return save_result(e, update_mdata(e, new_e), shared);
}
case expr_kind::Proj: {
expr new_e = apply(proj_expr(e));
return save_result(e, update_proj(e, new_e), shared);
}
case expr_kind::App: {
expr new_f = apply(app_fn(e));
expr new_a = apply(app_arg(e));
return save_result(e, update_app(e, new_f, new_a), shared);
}
case expr_kind::Pi: case expr_kind::Lambda: {
expr new_d = apply(binding_domain(e));
expr new_b = apply(binding_body(e));
return save_result(e, update_binding(e, new_d, new_b), shared);
}
case expr_kind::Let: {
expr new_t = apply(let_type(e));
expr new_v = apply(let_value(e));
expr new_b = apply(let_body(e));
return save_result(e, update_let(e, new_t, new_v, new_b), shared);
}}
lean_unreachable();
}
public:
replace_fn(lean_object * f):m_f(f) {}
expr operator()(expr const & e) { return apply(e); }
};
extern "C" LEAN_EXPORT obj_res lean_replace_expr(b_obj_arg f, b_obj_arg e) {
expr r = replace_fn(f)(TO_REF(expr, e));
return r.steal();
}
}

View file

@ -2761,14 +2761,12 @@ if (x_9 == 0)
{
uint8_t x_10; uint8_t x_11;
x_10 = 0;
lean_inc(x_1);
x_11 = l_Lean_Declaration_foldExprM___at_Lean_Declaration_hasSorry___spec__1(x_1, x_10);
if (x_11 == 0)
{
lean_object* x_12; lean_object* x_13;
x_12 = lean_box(0);
x_13 = l_Lean_addDecl___lambda__2(x_1, x_12, x_2, x_3, x_7);
lean_dec(x_1);
return x_13;
}
else
@ -2784,7 +2782,6 @@ lean_inc(x_17);
lean_dec(x_15);
x_18 = l_Lean_addDecl___lambda__2(x_1, x_16, x_2, x_3, x_17);
lean_dec(x_16);
lean_dec(x_1);
return x_18;
}
}
@ -2793,7 +2790,6 @@ else
lean_object* x_19; lean_object* x_20;
x_19 = lean_box(0);
x_20 = l_Lean_addDecl___lambda__2(x_1, x_19, x_2, x_3, x_7);
lean_dec(x_1);
return x_20;
}
}
@ -3053,6 +3049,7 @@ _start:
lean_object* x_5;
x_5 = l_Lean_addDecl___lambda__3(x_1, x_2, x_3, x_4);
lean_dec(x_3);
lean_dec(x_1);
return x_5;
}
}

View file

@ -103,7 +103,6 @@ lean_object* l_Lean_MessageData_ofExpr(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_267____lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_267____lambda__1___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux___boxed(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_hasInlineAttrAux(lean_object*, uint8_t, lean_object*);
static lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_267____closed__15;
static lean_object* l_Lean_Compiler_setInlineAttribute___closed__1;
@ -137,6 +136,7 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_InlineAttributeKind_noConfusion(lean_ob
static lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_267____closed__30;
static lean_object* l_Lean_getConstInfo___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_isValidMacroInline___spec__1___closed__4;
uint8_t l_Lean_isAuxRecursorWithSuffix(lean_object*, lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Compiler_getInlineAttribute_x3f(lean_object*, lean_object*);
uint8_t lean_is_eager_lambda_lifting_name(lean_object*);
static lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_InlineAttrs___hyg_267____closed__1;
@ -665,9 +665,8 @@ x_13 = lean_alloc_closure((void*)(l___private_Lean_Compiler_InlineAttrs_0__Lean_
lean_closure_set(x_13, 0, x_11);
lean_closure_set(x_13, 1, x_1);
x_14 = lean_ctor_get(x_2, 1);
lean_inc(x_14);
lean_dec(x_2);
x_15 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_13, x_14);
x_15 = lean_find_expr(x_13, x_14);
lean_dec(x_13);
if (lean_obj_tag(x_15) == 0)
{
lean_object* x_16; lean_object* x_17;
@ -704,9 +703,8 @@ x_24 = lean_alloc_closure((void*)(l___private_Lean_Compiler_InlineAttrs_0__Lean_
lean_closure_set(x_24, 0, x_22);
lean_closure_set(x_24, 1, x_1);
x_25 = lean_ctor_get(x_2, 1);
lean_inc(x_25);
lean_dec(x_2);
x_26 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_24, x_25);
x_26 = lean_find_expr(x_24, x_25);
lean_dec(x_24);
if (lean_obj_tag(x_26) == 0)
{
lean_object* x_27; lean_object* x_28;
@ -779,6 +777,7 @@ lean_object* x_17; lean_object* x_18;
lean_free_object(x_5);
x_17 = lean_box(0);
x_18 = l___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_isValidMacroInline___lambda__3(x_1, x_10, x_17, x_2, x_3, x_8);
lean_dec(x_10);
return x_18;
}
}
@ -817,6 +816,7 @@ else
lean_object* x_28; lean_object* x_29;
x_28 = lean_box(0);
x_29 = l___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_isValidMacroInline___lambda__3(x_1, x_20, x_28, x_2, x_3, x_19);
lean_dec(x_20);
return x_29;
}
}
@ -928,6 +928,7 @@ _start:
lean_object* x_7;
x_7 = l___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_isValidMacroInline___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6);
lean_dec(x_3);
lean_dec(x_2);
return x_7;
}
}

View file

@ -435,7 +435,6 @@ static lean_object* l_Lean_withTraceNode___at_Lean_compileDecl___spec__2___lambd
static lean_object* l_Lean_initFn____x40_Lean_CoreM___hyg_43____closed__5;
static lean_object* l_Lean_initFn____x40_Lean_CoreM___hyg_43____closed__3;
static lean_object* l_Lean_withTraceNode___at_Lean_compileDecl___spec__2___lambda__3___closed__2;
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
static lean_object* l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__2___closed__4;
static lean_object* l_Lean_useDiagnosticMsg___closed__2;
LEAN_EXPORT lean_object* l_Lean_Core_instMonadLogCoreM___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -618,6 +617,7 @@ LEAN_EXPORT lean_object* l_Lean_Core_withCurrHeartbeats___rarg(lean_object*, lea
LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull(lean_object*);
LEAN_EXPORT lean_object* l_Lean_ImportM_runCoreM(lean_object*);
uint8_t lean_level_eq(lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
LEAN_EXPORT lean_object* l_Lean_Core_instInhabitedCache;
@ -13223,9 +13223,7 @@ _start:
{
lean_object* x_6; lean_object* x_7;
x_6 = lean_ctor_get(x_1, 1);
lean_inc(x_6);
lean_dec(x_1);
x_7 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_2, x_6);
x_7 = lean_find_expr(x_2, x_6);
if (lean_obj_tag(x_7) == 0)
{
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
@ -13327,8 +13325,8 @@ lean_dec(x_13);
lean_inc(x_3);
x_15 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_15, 0, x_3);
lean_inc(x_15);
x_16 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_15, x_14);
x_16 = lean_find_expr(x_15, x_14);
lean_dec(x_14);
lean_inc(x_2);
lean_inc(x_1);
x_17 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__2___boxed), 5, 4);
@ -13427,8 +13425,8 @@ lean_dec(x_43);
lean_inc(x_3);
x_45 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_45, 0, x_3);
lean_inc(x_45);
x_46 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_45, x_44);
x_46 = lean_find_expr(x_45, x_44);
lean_dec(x_44);
lean_inc(x_2);
lean_inc(x_1);
x_47 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__2___boxed), 5, 4);
@ -13558,8 +13556,8 @@ lean_inc(x_12);
x_13 = lean_ctor_get(x_10, 1);
lean_inc(x_13);
lean_dec(x_10);
lean_inc(x_3);
x_14 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_3, x_13);
x_14 = lean_find_expr(x_3, x_13);
lean_dec(x_13);
lean_inc(x_2);
lean_inc(x_1);
x_15 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__3___rarg___lambda__1), 5, 4);
@ -13640,8 +13638,8 @@ lean_inc(x_36);
x_37 = lean_ctor_get(x_34, 1);
lean_inc(x_37);
lean_dec(x_34);
lean_inc(x_3);
x_38 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_3, x_37);
x_38 = lean_find_expr(x_3, x_37);
lean_dec(x_37);
lean_inc(x_2);
lean_inc(x_1);
x_39 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__3___rarg___lambda__1), 5, 4);
@ -13771,8 +13769,8 @@ lean_inc(x_13);
lean_inc(x_3);
x_14 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_14, 0, x_3);
lean_inc(x_14);
x_15 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_14, x_13);
x_15 = lean_find_expr(x_14, x_13);
lean_dec(x_13);
lean_inc(x_2);
lean_inc(x_1);
x_16 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__4___rarg___lambda__1), 5, 4);
@ -13868,8 +13866,8 @@ lean_inc(x_42);
lean_inc(x_3);
x_43 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_43, 0, x_3);
lean_inc(x_43);
x_44 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_43, x_42);
x_44 = lean_find_expr(x_43, x_42);
lean_dec(x_42);
lean_inc(x_2);
lean_inc(x_1);
x_45 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__4___rarg___lambda__1), 5, 4);
@ -13963,7 +13961,7 @@ LEAN_EXPORT lean_object* l_Lean_Declaration_foldExprM___at___private_Lean_CoreM_
_start:
{
lean_object* x_6;
x_6 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_1, x_2);
x_6 = lean_find_expr(x_1, x_2);
if (lean_obj_tag(x_6) == 0)
{
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10;
@ -14039,7 +14037,9 @@ lean_inc(x_8);
lean_dec(x_7);
x_9 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_9, 0, x_3);
x_10 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_9, x_8);
x_10 = lean_find_expr(x_9, x_8);
lean_dec(x_8);
lean_dec(x_9);
if (lean_obj_tag(x_10) == 0)
{
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
@ -14146,8 +14146,8 @@ x_38 = lean_ctor_get(x_1, 1);
lean_inc(x_38);
x_39 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_39, 0, x_3);
lean_inc(x_39);
x_40 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_39, x_37);
x_40 = lean_find_expr(x_39, x_37);
lean_dec(x_37);
lean_inc(x_2);
lean_inc(x_1);
x_41 = lean_alloc_closure((void*)(l_Lean_Declaration_foldExprM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__1___rarg___lambda__1___boxed), 5, 4);
@ -14273,6 +14273,8 @@ _start:
lean_object* x_6;
x_6 = l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__2(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_5);
lean_dec(x_2);
lean_dec(x_1);
return x_6;
}
}
@ -14282,6 +14284,8 @@ _start:
lean_object* x_6;
x_6 = l_Lean_Declaration_foldExprM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__1___rarg___lambda__1(x_1, x_2, x_3, x_4, x_5);
lean_dec(x_5);
lean_dec(x_2);
lean_dec(x_1);
return x_6;
}
}
@ -16254,7 +16258,9 @@ lean_dec(x_32);
lean_inc(x_1);
x_34 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_34, 0, x_1);
x_35 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_34, x_33);
x_35 = lean_find_expr(x_34, x_33);
lean_dec(x_33);
lean_dec(x_34);
if (lean_obj_tag(x_35) == 0)
{
x_11 = x_6;
@ -16321,7 +16327,9 @@ lean_dec(x_8);
lean_inc(x_1);
x_13 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_13, 0, x_1);
x_14 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_13, x_12);
x_14 = lean_find_expr(x_13, x_12);
lean_dec(x_12);
lean_dec(x_13);
if (lean_obj_tag(x_14) == 0)
{
lean_object* x_15;
@ -16424,7 +16432,9 @@ lean_dec(x_9);
lean_inc(x_1);
x_12 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_12, 0, x_1);
x_13 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_12, x_11);
x_13 = lean_find_expr(x_12, x_11);
lean_dec(x_11);
lean_dec(x_12);
if (lean_obj_tag(x_13) == 0)
{
lean_object* x_14;
@ -16503,7 +16513,9 @@ lean_dec(x_29);
lean_inc(x_1);
x_32 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_32, 0, x_1);
x_33 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_32, x_31);
x_33 = lean_find_expr(x_32, x_31);
lean_dec(x_31);
lean_dec(x_32);
if (lean_obj_tag(x_33) == 0)
{
lean_object* x_34;
@ -16598,7 +16610,9 @@ lean_inc(x_20);
lean_inc(x_1);
x_21 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_21, 0, x_1);
x_22 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_21, x_20);
x_22 = lean_find_expr(x_21, x_20);
lean_dec(x_20);
lean_dec(x_21);
if (lean_obj_tag(x_22) == 0)
{
lean_object* x_23; lean_object* x_24; lean_object* x_25;
@ -16725,7 +16739,9 @@ lean_inc(x_51);
lean_inc(x_1);
x_52 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_52, 0, x_1);
x_53 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_52, x_51);
x_53 = lean_find_expr(x_52, x_51);
lean_dec(x_51);
lean_dec(x_52);
if (lean_obj_tag(x_53) == 0)
{
lean_object* x_54; lean_object* x_55; lean_object* x_56;
@ -16862,7 +16878,9 @@ lean_inc(x_9);
lean_dec(x_8);
x_10 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_10, 0, x_1);
x_11 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_10, x_9);
x_11 = lean_find_expr(x_10, x_9);
lean_dec(x_9);
lean_dec(x_10);
if (lean_obj_tag(x_11) == 0)
{
lean_object* x_12; lean_object* x_13;
@ -16926,7 +16944,9 @@ lean_dec(x_25);
lean_inc(x_1);
x_44 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_44, 0, x_1);
x_45 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_44, x_27);
x_45 = lean_find_expr(x_44, x_27);
lean_dec(x_27);
lean_dec(x_44);
if (lean_obj_tag(x_45) == 0)
{
x_28 = x_6;
@ -16987,7 +17007,9 @@ block_43:
lean_object* x_29; lean_object* x_30;
x_29 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_29, 0, x_1);
x_30 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_29, x_26);
x_30 = lean_find_expr(x_29, x_26);
lean_dec(x_26);
lean_dec(x_29);
if (lean_obj_tag(x_30) == 0)
{
lean_object* x_31; lean_object* x_32;
@ -17052,7 +17074,9 @@ lean_dec(x_59);
lean_inc(x_1);
x_78 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_78, 0, x_1);
x_79 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_78, x_61);
x_79 = lean_find_expr(x_78, x_61);
lean_dec(x_61);
lean_dec(x_78);
if (lean_obj_tag(x_79) == 0)
{
x_62 = x_6;
@ -17113,7 +17137,9 @@ block_77:
lean_object* x_63; lean_object* x_64;
x_63 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_63, 0, x_1);
x_64 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_63, x_60);
x_64 = lean_find_expr(x_63, x_60);
lean_dec(x_60);
lean_dec(x_63);
if (lean_obj_tag(x_64) == 0)
{
lean_object* x_65; lean_object* x_66;
@ -17178,7 +17204,9 @@ lean_dec(x_93);
lean_inc(x_1);
x_112 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_112, 0, x_1);
x_113 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_112, x_95);
x_113 = lean_find_expr(x_112, x_95);
lean_dec(x_95);
lean_dec(x_112);
if (lean_obj_tag(x_113) == 0)
{
x_96 = x_6;
@ -17239,7 +17267,9 @@ block_111:
lean_object* x_97; lean_object* x_98;
x_97 = lean_alloc_closure((void*)(l_List_foldlM___at___private_Lean_CoreM_0__Lean_checkUnsupported___spec__2___rarg___lambda__1___boxed), 2, 1);
lean_closure_set(x_97, 0, x_1);
x_98 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_97, x_94);
x_98 = lean_find_expr(x_97, x_94);
lean_dec(x_94);
lean_dec(x_97);
if (lean_obj_tag(x_98) == 0)
{
lean_object* x_99; lean_object* x_100;

View file

@ -841,7 +841,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs
LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_elabAppFnId_toLVals(lean_object*, lean_object*, uint8_t);
LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_throwInvalidFieldNotation___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_ElabAppArgs_trySynthesizeAppInstMVars___spec__2___closed__1;
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_map___at_Lean_Elab_Term_elabAppArgs___spec__1___at_Lean_Elab_Term_elabAppArgs___spec__2(lean_object*, lean_object*, lean_object*);
static lean_object* l___regBuiltin_Lean_Elab_Term_elabChoice__1___closed__2;
LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__19(lean_object*);
@ -1159,6 +1158,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs
LEAN_EXPORT lean_object* l_Lean_Elab_Term_mkFreshBinderName___at_Lean_Elab_Term_ElabElim_mkMotive___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_App_0__Lean_Elab_Term_resolveDotName_go___closed__4;
lean_object* lean_find_expr(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_PersistentArray_anyM___at___private_Lean_Elab_App_0__Lean_Elab_Term_ElabAppArgs_anyNamedArgDependsOnCurrent___spec__13(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAppArgs_elabAsElim_x3f___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*);
@ -27985,7 +27985,7 @@ _start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Lean_Elab_Term_elabAppArgs_isFirstOrder___closed__1;
x_3 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_2, x_1);
x_3 = lean_find_expr(x_2, x_1);
if (lean_obj_tag(x_3) == 0)
{
uint8_t x_4;
@ -28016,6 +28016,7 @@ _start:
{
uint8_t x_2; lean_object* x_3;
x_2 = l_Lean_Elab_Term_elabAppArgs_isFirstOrder(x_1);
lean_dec(x_1);
x_3 = lean_box(x_2);
return x_3;
}
@ -28078,7 +28079,6 @@ lean_inc(x_32);
x_33 = lean_ctor_get(x_31, 1);
lean_inc(x_33);
lean_dec(x_31);
lean_inc(x_32);
x_34 = l_Lean_Elab_Term_elabAppArgs_isFirstOrder(x_32);
if (x_34 == 0)
{
@ -28096,7 +28096,9 @@ lean_object* x_36; lean_object* x_37;
lean_inc(x_3);
x_36 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAppArgs_getElabAsElimExtraArgsPos___spec__1___lambda__1___boxed), 2, 1);
lean_closure_set(x_36, 0, x_3);
x_37 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_36, x_32);
x_37 = lean_find_expr(x_36, x_32);
lean_dec(x_32);
lean_dec(x_36);
if (lean_obj_tag(x_37) == 0)
{
lean_object* x_38;
@ -28197,7 +28199,6 @@ lean_inc(x_51);
x_52 = lean_ctor_get(x_50, 1);
lean_inc(x_52);
lean_dec(x_50);
lean_inc(x_51);
x_53 = l_Lean_Elab_Term_elabAppArgs_isFirstOrder(x_51);
if (x_53 == 0)
{
@ -28215,7 +28216,9 @@ lean_object* x_55; lean_object* x_56;
lean_inc(x_3);
x_55 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at_Lean_Elab_Term_elabAppArgs_getElabAsElimExtraArgsPos___spec__1___lambda__1___boxed), 2, 1);
lean_closure_set(x_55, 0, x_3);
x_56 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_55, x_51);
x_56 = lean_find_expr(x_55, x_51);
lean_dec(x_51);
lean_dec(x_55);
if (lean_obj_tag(x_56) == 0)
{
lean_object* x_57;

View file

@ -1177,7 +1177,6 @@ if (x_52 == 0)
lean_object* x_53; lean_object* x_54; uint8_t x_55;
x_53 = lean_ctor_get(x_51, 0);
x_54 = lean_ctor_get(x_51, 1);
lean_inc(x_53);
lean_inc(x_1);
x_55 = l_Lean_Expr_occurs(x_1, x_53);
if (x_55 == 0)
@ -1285,7 +1284,6 @@ x_70 = lean_ctor_get(x_51, 1);
lean_inc(x_70);
lean_inc(x_69);
lean_dec(x_51);
lean_inc(x_69);
lean_inc(x_1);
x_71 = l_Lean_Expr_occurs(x_1, x_69);
if (x_71 == 0)
@ -1435,7 +1433,6 @@ if (x_91 == 0)
lean_object* x_92; lean_object* x_93; uint8_t x_94;
x_92 = lean_ctor_get(x_90, 0);
x_93 = lean_ctor_get(x_90, 1);
lean_inc(x_92);
lean_inc(x_1);
x_94 = l_Lean_Expr_occurs(x_1, x_92);
if (x_94 == 0)
@ -1543,7 +1540,6 @@ x_109 = lean_ctor_get(x_90, 1);
lean_inc(x_109);
lean_inc(x_108);
lean_dec(x_90);
lean_inc(x_108);
lean_inc(x_1);
x_110 = l_Lean_Expr_occurs(x_1, x_108);
if (x_110 == 0)
@ -1693,7 +1689,6 @@ if (x_130 == 0)
lean_object* x_131; lean_object* x_132; uint8_t x_133;
x_131 = lean_ctor_get(x_129, 0);
x_132 = lean_ctor_get(x_129, 1);
lean_inc(x_131);
lean_inc(x_1);
x_133 = l_Lean_Expr_occurs(x_1, x_131);
if (x_133 == 0)
@ -1801,7 +1796,6 @@ x_148 = lean_ctor_get(x_129, 1);
lean_inc(x_148);
lean_inc(x_147);
lean_dec(x_129);
lean_inc(x_147);
lean_inc(x_1);
x_149 = l_Lean_Expr_occurs(x_1, x_147);
if (x_149 == 0)
@ -1960,7 +1954,6 @@ if (x_171 == 0)
lean_object* x_172; lean_object* x_173; uint8_t x_174;
x_172 = lean_ctor_get(x_170, 0);
x_173 = lean_ctor_get(x_170, 1);
lean_inc(x_172);
lean_inc(x_1);
x_174 = l_Lean_Expr_occurs(x_1, x_172);
if (x_174 == 0)
@ -2068,7 +2061,6 @@ x_189 = lean_ctor_get(x_170, 1);
lean_inc(x_189);
lean_inc(x_188);
lean_dec(x_170);
lean_inc(x_188);
lean_inc(x_1);
x_190 = l_Lean_Expr_occurs(x_1, x_188);
if (x_190 == 0)
@ -2320,7 +2312,6 @@ if (x_11 == 0)
lean_object* x_12; lean_object* x_13; uint8_t x_14;
x_12 = lean_ctor_get(x_10, 0);
x_13 = lean_ctor_get(x_10, 1);
lean_inc(x_12);
x_14 = l_Lean_Expr_occurs(x_1, x_12);
if (x_14 == 0)
{
@ -2354,7 +2345,6 @@ x_18 = lean_ctor_get(x_10, 1);
lean_inc(x_18);
lean_inc(x_17);
lean_dec(x_10);
lean_inc(x_17);
x_19 = l_Lean_Expr_occurs(x_1, x_17);
if (x_19 == 0)
{

View file

@ -706,7 +706,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Mutua
LEAN_EXPORT lean_object* l_Lean_RBNode_find___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__4___boxed(lean_object*, lean_object*);
static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__2___closed__5;
lean_object* l_Lean_LocalDecl_fvarId(lean_object*);
lean_object* l_Lean_Expr_FindExtImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_resetModified___rarg(lean_object*);
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -719,6 +718,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Mutua
static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__3___closed__1;
LEAN_EXPORT lean_object* l_Lean_Elab_instInhabitedDefViewElabHeader;
lean_object* l_Lean_CollectFVars_main(lean_object*, lean_object*);
lean_object* lean_find_ext_expr(lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15660____closed__13;
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_preprocess(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -806,7 +806,6 @@ lean_object* l_Lean_Elab_TerminationHints_rememberExtraParams(lean_object*, lean
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___lambda__4___boxed(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_Elab_Term_checkForHiddenUnivLevels_visitLevel___closed__12;
lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Elab_Term_checkForHiddenUnivLevels_visit___spec__4___rarg___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_EXPORT lean_object* l_Nat_foldM_loop___at_Lean_Elab_Term_MutualClosure_pushMain___spec__1___lambda__1(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*, lean_object*);
extern lean_object* l_Lean_Parser_Term_type;
@ -1123,6 +1122,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_El
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__5___closed__1;
static lean_object* l_Lean_Elab_Term_checkForHiddenUnivLevels___closed__1;
@ -1220,6 +1220,7 @@ static lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualD
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabMutualDef___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15660____closed__11;
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_isModified(lean_object*);
LEAN_EXPORT lean_object* l_Nat_foldTR_loop___at_Lean_Elab_Term_MutualClosure_insertReplacementForMainFns___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Elab_Command_elabMutualDef___spec__12___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -22972,7 +22973,8 @@ lean_object* x_4; lean_object* x_5;
x_4 = lean_alloc_closure((void*)(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun___lambda__2___boxed), 3, 2);
lean_closure_set(x_4, 0, x_2);
lean_closure_set(x_4, 1, x_3);
x_5 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_4, x_1);
x_5 = lean_find_expr(x_4, x_1);
lean_dec(x_4);
if (lean_obj_tag(x_5) == 0)
{
lean_object* x_6;
@ -23053,6 +23055,15 @@ x_5 = lean_box(x_4);
return x_5;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun(x_1, x_2, x_3);
lean_dec(x_1);
return x_4;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___lambda__1(lean_object* x_1, lean_object* x_2) {
_start:
{
@ -23295,6 +23306,7 @@ lean_inc(x_16);
lean_inc(x_2);
lean_inc(x_1);
x_17 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun(x_16, x_1, x_2);
lean_dec(x_16);
if (lean_obj_tag(x_17) == 0)
{
lean_free_object(x_3);
@ -23397,6 +23409,7 @@ lean_inc(x_39);
lean_inc(x_2);
lean_inc(x_1);
x_40 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_typeHasRecFun(x_39, x_1, x_2);
lean_dec(x_39);
if (lean_obj_tag(x_40) == 0)
{
lean_dec(x_37);
@ -31259,7 +31272,8 @@ _start:
lean_object* x_3; lean_object* x_4;
x_3 = lean_alloc_closure((void*)(l_Lean_Elab_Term_MutualClosure_isApplicable___lambda__1___boxed), 2, 1);
lean_closure_set(x_3, 0, x_1);
x_4 = l_Lean_Expr_FindExtImpl_findUnsafe_x3f(x_3, x_2);
x_4 = lean_find_ext_expr(x_3, x_2);
lean_dec(x_3);
if (lean_obj_tag(x_4) == 0)
{
uint8_t x_5;
@ -31301,6 +31315,7 @@ _start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_Lean_Elab_Term_MutualClosure_isApplicable(x_1, x_2);
lean_dec(x_2);
x_4 = lean_box(x_3);
return x_4;
}
@ -32271,7 +32286,6 @@ return x_6;
else
{
uint8_t x_7;
lean_inc(x_2);
lean_inc(x_1);
x_7 = l_Lean_Elab_Term_MutualClosure_isApplicable(x_1, x_2);
if (x_7 == 0)

View file

@ -240,7 +240,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_withSaveInfoContext___at___private_Lean_Ela
lean_object* l_Lean_Elab_Term_addTermInfo_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Core_transform___at_Lean_Core_betaReduce___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__7;
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_MonadExcept_ofExcept___at_Lean_Elab_shareCommonPreDefs___spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux___lambda__4___closed__2;
static lean_object* l_Lean_Elab_fixLevelParams___closed__6;
@ -331,6 +330,7 @@ static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_checkCodomainsLevel___
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_checkCodomainsLevel___spec__2___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*);
static lean_object* l_Lean_Elab_shareCommonPreDefs___lambda__1___closed__1;
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_getLevelParamsPreDecls___closed__1;
LEAN_EXPORT lean_object* l_Lean_Elab_fixLevelParams___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -10410,7 +10410,8 @@ _start:
lean_object* x_3; lean_object* x_4;
x_3 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_containsRecFn___lambda__1___boxed), 2, 1);
lean_closure_set(x_3, 0, x_1);
x_4 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_3, x_2);
x_4 = lean_find_expr(x_3, x_2);
lean_dec(x_3);
if (lean_obj_tag(x_4) == 0)
{
uint8_t x_5;
@ -10442,6 +10443,7 @@ _start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_containsRecFn(x_1, x_2);
lean_dec(x_2);
x_4 = lean_box(x_3);
return x_4;
}
@ -10528,7 +10530,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_ensureNoRecFn(lean_object* x_1, lean_object
_start:
{
uint8_t x_8;
lean_inc(x_2);
lean_inc(x_1);
x_8 = l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_containsRecFn(x_1, x_2);
if (x_8 == 0)

View file

@ -39,6 +39,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Eqns_whnfReducibleLHS_x3f___lambda__1(lean_
static lean_object* l_Lean_Elab_Eqns_deltaLHS___lambda__2___closed__6;
LEAN_EXPORT lean_object* l_Lean_Elab_Eqns_initFn____x40_Lean_Elab_PreDefinition_Eqns___hyg_6521_(lean_object*);
lean_object* l_Lean_commitWhen___at___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_elimEmptyInductive___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Eqns_splitMatch_x3f_go___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_mkFreshId___at_Lean_Elab_Eqns_removeUnusedEqnHypotheses_go___spec__14(lean_object*);
LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn___spec__22___boxed(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_Array_foldrMUnsafe_fold___at___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -335,7 +336,7 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Eqns_removeUnus
lean_object* l_Lean_Meta_saveState___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
extern lean_object* l_Lean_diagnostics;
lean_object* l_Lean_LocalDecl_fvarId(lean_object*);
lean_object* l_Lean_Expr_FindExtImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_findMatchToSplit_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_appFn_x21(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Eqns_simpIf_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_ForEachExpr_visit___at___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_shouldUseSimpMatch___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -347,6 +348,7 @@ lean_object* l_Lean_CollectFVars_main(lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Eqns_initFn____x40_Lean_Elab_PreDefinition_Eqns___hyg_6521____closed__19;
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Eqns_simpEqnType___spec__1___lambda__1___closed__1;
LEAN_EXPORT lean_object* l_Lean_Elab_Eqns_mkEqnTypes(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_find_ext_expr(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_foldrMAux___at___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn___spec__21___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Eqns_simpEqnType___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_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_findMatchToSplit_x3f___lambda__1___boxed(lean_object*);
@ -388,7 +390,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Eqns_removeUnus
static lean_object* l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn___closed__1;
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Eqns_removeUnusedEqnHypotheses_go___spec__9___at_Lean_Elab_Eqns_removeUnusedEqnHypotheses_go___spec__10(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_ForEachExprWhere_checked___at_Lean_Elab_Eqns_simpEqnType_collect___spec__5(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentArray_0__Lean_PersistentArray_foldrMAux___at___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_isConstructorApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -524,6 +525,7 @@ LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at___private_Lean_Elab_PreD
static lean_object* l_Lean_Elab_Eqns_splitMatch_x3f_go___closed__2;
static lean_object* l_Lean_Elab_Eqns_initFn____x40_Lean_Elab_PreDefinition_Eqns___hyg_6521____closed__17;
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at_Lean_Elab_Eqns_mkUnfoldProof___spec__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Eqns_mkUnfoldProof_go___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
@ -2090,7 +2092,9 @@ if (x_15 == 0)
lean_object* x_17; lean_object* x_18; lean_object* x_19;
x_17 = l_Lean_instInhabitedExpr;
x_18 = l_outOfBounds___rarg(x_17);
x_19 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_16, x_18);
x_19 = lean_find_expr(x_16, x_18);
lean_dec(x_18);
lean_dec(x_16);
if (lean_obj_tag(x_19) == 0)
{
lean_object* x_20;
@ -2121,7 +2125,9 @@ else
{
lean_object* x_23; lean_object* x_24;
x_23 = lean_array_fget(x_2, x_5);
x_24 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_16, x_23);
x_24 = lean_find_expr(x_16, x_23);
lean_dec(x_23);
lean_dec(x_16);
if (lean_obj_tag(x_24) == 0)
{
lean_object* x_25;
@ -2417,7 +2423,8 @@ x_5 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Eqns_0__Lea
lean_closure_set(x_5, 0, x_4);
lean_closure_set(x_5, 1, x_1);
lean_closure_set(x_5, 2, x_3);
x_6 = l_Lean_Expr_FindExtImpl_findUnsafe_x3f(x_5, x_2);
x_6 = lean_find_ext_expr(x_5, x_2);
lean_dec(x_5);
return x_6;
}
}
@ -2504,6 +2511,15 @@ lean_dec(x_1);
return x_5;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_findMatchToSplit_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
_start:
{
lean_object* x_5;
x_5 = l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_findMatchToSplit_x3f(x_1, x_2, x_3, x_4);
lean_dec(x_2);
return x_5;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Eqns_splitMatch_x3f_go___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) {
_start:
{
@ -2608,13 +2624,11 @@ lean_inc(x_14);
lean_dec(x_12);
lean_inc(x_4);
lean_inc(x_2);
lean_inc(x_3);
x_15 = l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_findMatchToSplit_x3f(x_14, x_3, x_2, x_4);
if (lean_obj_tag(x_15) == 0)
{
lean_object* x_16; lean_object* x_17; uint8_t x_18;
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_16 = l_Lean_Elab_Eqns_splitMatch_x3f_go___closed__4;
x_17 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_16, x_5, x_6, x_7, x_8, x_13);
@ -2729,7 +2743,6 @@ 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_49 = !lean_is_exclusive(x_48);
@ -2789,7 +2802,6 @@ 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);
return x_48;
@ -2803,7 +2815,6 @@ 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);
return x_48;
@ -2840,7 +2851,6 @@ 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_67 = lean_alloc_ctor(1, 2, 0);
@ -2858,7 +2868,6 @@ 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_68 = lean_alloc_ctor(1, 2, 0);
@ -2891,7 +2900,6 @@ 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_71 = lean_ctor_get(x_70, 0);
@ -2956,7 +2964,6 @@ 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);
if (lean_is_scalar(x_78)) {
@ -2978,7 +2985,6 @@ 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);
if (lean_is_scalar(x_78)) {
@ -3007,13 +3013,11 @@ lean_inc(x_87);
lean_dec(x_85);
lean_inc(x_4);
lean_inc(x_2);
lean_inc(x_3);
x_88 = l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_findMatchToSplit_x3f(x_87, x_3, x_2, x_4);
if (lean_obj_tag(x_88) == 0)
{
lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95;
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_89 = l_Lean_Elab_Eqns_splitMatch_x3f_go___closed__4;
x_90 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_89, x_5, x_6, x_7, x_8, x_86);
@ -3097,7 +3101,6 @@ 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_110 = lean_ctor_get(x_109, 0);
@ -3167,7 +3170,6 @@ 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);
if (lean_is_scalar(x_117)) {
@ -3189,7 +3191,6 @@ 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);
if (lean_is_scalar(x_117)) {
@ -3219,6 +3220,15 @@ lean_dec(x_1);
return x_7;
}
}
LEAN_EXPORT lean_object* l_Lean_Elab_Eqns_splitMatch_x3f_go___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_Lean_Elab_Eqns_splitMatch_x3f_go(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_3);
return x_10;
}
}
static lean_object* _init_l_Lean_Elab_Eqns_splitMatch_x3f___lambda__1___closed__1() {
_start:
{
@ -3248,6 +3258,7 @@ lean_inc(x_10);
lean_dec(x_8);
x_11 = l_Lean_Elab_Eqns_splitMatch_x3f___lambda__1___closed__1;
x_12 = l_Lean_Elab_Eqns_splitMatch_x3f_go(x_1, x_2, x_9, x_11, x_3, x_4, x_5, x_6, x_10);
lean_dec(x_9);
return x_12;
}
else
@ -8744,12 +8755,11 @@ lean_object* x_8; lean_object* x_9;
lean_inc(x_1);
x_8 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn_isIrrelevant___lambda__1___boxed), 2, 1);
lean_closure_set(x_8, 0, x_1);
lean_inc(x_2);
x_9 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_8, x_2);
x_9 = lean_find_expr(x_8, x_2);
lean_dec(x_8);
if (lean_obj_tag(x_9) == 0)
{
uint8_t x_10; lean_object* x_11; lean_object* x_12;
lean_dec(x_2);
lean_dec(x_1);
x_10 = 1;
x_11 = lean_box(x_10);
@ -8768,7 +8778,6 @@ x_15 = l_Lean_Expr_isAppOfArity(x_2, x_13, x_14);
if (x_15 == 0)
{
uint8_t x_16; lean_object* x_17; lean_object* x_18;
lean_dec(x_2);
lean_dec(x_1);
x_16 = 0;
x_17 = lean_box(x_16);
@ -8784,7 +8793,6 @@ x_19 = l_Lean_Expr_appFn_x21(x_2);
x_20 = l_Lean_Expr_appArg_x21(x_19);
lean_dec(x_19);
x_21 = l_Lean_Expr_appArg_x21(x_2);
lean_dec(x_2);
x_36 = l_Lean_Expr_isFVar(x_20);
if (x_36 == 0)
{
@ -8894,6 +8902,7 @@ lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
return x_8;
}
}
@ -11724,6 +11733,7 @@ lean_inc(x_54);
lean_dec(x_52);
lean_inc(x_39);
x_55 = l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn_isIrrelevant(x_39, x_53, x_8, x_9, x_10, x_11, x_54);
lean_dec(x_53);
x_56 = lean_ctor_get(x_55, 0);
lean_inc(x_56);
x_57 = lean_unbox(x_56);
@ -11931,6 +11941,7 @@ lean_inc(x_91);
lean_dec(x_89);
lean_inc(x_39);
x_92 = l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn_isIrrelevant(x_39, x_90, x_8, x_9, x_10, x_11, x_91);
lean_dec(x_90);
x_93 = lean_ctor_get(x_92, 0);
lean_inc(x_93);
x_94 = lean_unbox(x_93);
@ -12163,6 +12174,7 @@ lean_inc(x_134);
lean_dec(x_132);
lean_inc(x_118);
x_135 = l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn_isIrrelevant(x_118, x_133, x_8, x_9, x_10, x_11, x_134);
lean_dec(x_133);
x_136 = lean_ctor_get(x_135, 0);
lean_inc(x_136);
x_137 = lean_unbox(x_136);
@ -12426,6 +12438,7 @@ lean_inc(x_182);
lean_dec(x_180);
lean_inc(x_164);
x_183 = l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn_isIrrelevant(x_164, x_181, x_8, x_9, x_10, x_11, x_182);
lean_dec(x_181);
x_184 = lean_ctor_get(x_183, 0);
lean_inc(x_184);
x_185 = lean_unbox(x_184);
@ -13006,6 +13019,7 @@ lean_inc(x_54);
lean_dec(x_52);
lean_inc(x_39);
x_55 = l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn_isIrrelevant(x_39, x_53, x_8, x_9, x_10, x_11, x_54);
lean_dec(x_53);
x_56 = lean_ctor_get(x_55, 0);
lean_inc(x_56);
x_57 = lean_unbox(x_56);
@ -13213,6 +13227,7 @@ lean_inc(x_91);
lean_dec(x_89);
lean_inc(x_39);
x_92 = l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn_isIrrelevant(x_39, x_90, x_8, x_9, x_10, x_11, x_91);
lean_dec(x_90);
x_93 = lean_ctor_get(x_92, 0);
lean_inc(x_93);
x_94 = lean_unbox(x_93);
@ -13445,6 +13460,7 @@ lean_inc(x_134);
lean_dec(x_132);
lean_inc(x_118);
x_135 = l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn_isIrrelevant(x_118, x_133, x_8, x_9, x_10, x_11, x_134);
lean_dec(x_133);
x_136 = lean_ctor_get(x_135, 0);
lean_inc(x_136);
x_137 = lean_unbox(x_136);
@ -13708,6 +13724,7 @@ lean_inc(x_182);
lean_dec(x_180);
lean_inc(x_164);
x_183 = l___private_Lean_Elab_PreDefinition_Eqns_0__Lean_Elab_Eqns_saveEqn_isIrrelevant(x_164, x_181, x_8, x_9, x_10, x_11, x_182);
lean_dec(x_181);
x_184 = lean_ctor_get(x_183, 0);
lean_inc(x_184);
x_185 = lean_unbox(x_184);

View file

@ -311,7 +311,6 @@ LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_addPreDefinitio
lean_object* l_Lean_Elab_Term_addTermInfo_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__25___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___lambda__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
static lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAndCompilePartial___spec__2___lambda__3___closed__1;
static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_betaReduceLetRecApps___spec__9___rarg___closed__2;
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_checkTerminationByHints___spec__3___lambda__3___closed__3;
@ -445,6 +444,7 @@ static lean_object* l___private_Lean_Util_SCC_0__Lean_SCC_resetOnStack___at___pr
lean_object* lean_array_get_size(lean_object*);
lean_object* l_Lean_Meta_collectMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_ReaderT_bind___at_Lean_Meta_zetaReduce___spec__14___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_Main___hyg_3053____closed__6;
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_addAsAxioms(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -1431,7 +1431,9 @@ lean_closure_set(x_2, 0, x_1);
x_3 = lean_ctor_get(x_1, 5);
lean_inc(x_3);
lean_dec(x_1);
x_4 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_2, x_3);
x_4 = lean_find_expr(x_2, x_3);
lean_dec(x_3);
lean_dec(x_2);
if (lean_obj_tag(x_4) == 0)
{
uint8_t x_5;

View file

@ -21270,7 +21270,6 @@ lean_inc(x_7);
x_8 = lean_ctor_get(x_6, 2);
lean_inc(x_8);
lean_dec(x_6);
lean_inc(x_1);
x_9 = l_Lean_Elab_Structural_recArgHasLooseBVarsAt(x_7, x_8, x_1);
if (x_9 == 0)
{
@ -21283,7 +21282,6 @@ goto _start;
else
{
uint8_t x_13;
lean_dec(x_1);
x_13 = 1;
return x_13;
}
@ -21291,7 +21289,6 @@ return x_13;
else
{
uint8_t x_14;
lean_dec(x_1);
x_14 = 0;
return x_14;
}
@ -28464,7 +28461,6 @@ else
size_t x_40; size_t x_41; uint8_t x_42;
x_40 = 0;
x_41 = lean_usize_of_nat(x_36);
lean_inc(x_1);
x_42 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__28(x_1, x_3, x_40, x_41);
if (x_42 == 0)
{
@ -29971,6 +29967,7 @@ x_6 = lean_unbox_usize(x_4);
lean_dec(x_4);
x_7 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_Structural_BRecOn_0__Lean_Elab_Structural_replaceRecApps_loop___spec__28(x_1, x_2, x_5, x_6);
lean_dec(x_2);
lean_dec(x_1);
x_8 = lean_box(x_7);
return x_8;
}

View file

@ -91,7 +91,6 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Structural_instInhabit
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_Positions_groupAndSort___spec__1___rarg___boxed(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_panic___at_Lean_Elab_Structural_Positions_mapMwith___spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Structural_Positions_groupAndSort___spec__1(lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at_Lean_Elab_Structural_Positions_groupAndSort___spec__4(lean_object*);
LEAN_EXPORT uint8_t l_Array_isEqvAux___at_Lean_Elab_Structural_Positions_groupAndSort___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_panic___at_Lean_Elab_Structural_Positions_mapMwith___spec__2(lean_object*, lean_object*);
@ -124,6 +123,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Structural_Positi
lean_object* lean_string_append(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_Structural_Basic___hyg_382____closed__20;
lean_object* lean_find_expr(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_Structural_Basic___hyg_382____closed__11;
@ -439,7 +439,8 @@ lean_object* x_4; lean_object* x_5;
x_4 = lean_alloc_closure((void*)(l_Lean_Elab_Structural_recArgHasLooseBVarsAt___lambda__1___boxed), 3, 2);
lean_closure_set(x_4, 0, x_1);
lean_closure_set(x_4, 1, x_2);
x_5 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_4, x_3);
x_5 = lean_find_expr(x_4, x_3);
lean_dec(x_4);
if (lean_obj_tag(x_5) == 0)
{
uint8_t x_6;
@ -472,6 +473,7 @@ _start:
{
uint8_t x_4; lean_object* x_5;
x_4 = l_Lean_Elab_Structural_recArgHasLooseBVarsAt(x_1, x_2, x_3);
lean_dec(x_3);
x_5 = lean_box(x_4);
return x_5;
}

View file

@ -4896,7 +4896,6 @@ x_24 = lean_ctor_get(x_1, 0);
lean_inc(x_24);
x_25 = lean_ctor_get(x_1, 2);
lean_inc(x_25);
lean_inc(x_4);
lean_inc(x_24);
x_26 = l_Lean_Elab_Structural_recArgHasLooseBVarsAt(x_24, x_25, x_4);
if (x_26 == 0)

View file

@ -40,7 +40,6 @@ lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_
LEAN_EXPORT lean_object* l_Lean_Elab_Structural_preprocess___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Elab_Structural_preprocess___lambda__3___closed__6;
lean_object* l_Lean_Core_transform___at_Lean_Core_betaReduce___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
uint8_t l_Array_contains___at_Lean_registerInternalExceptionId___spec__1(lean_object*, lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
lean_object* lean_nat_sub(lean_object*, lean_object*);
@ -52,6 +51,7 @@ static lean_object* l_Lean_Elab_Structural_preprocess___closed__1;
LEAN_EXPORT lean_object* l_Lean_Elab_Structural_preprocess___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_headBeta(lean_object*);
uint8_t l_Lean_Expr_isMData(lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Structural_preprocess___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_Expr_isConst(lean_object*);
lean_object* l_Lean_Expr_beta(lean_object*, lean_object*);
@ -96,7 +96,9 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_6 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_Structural_Preprocess_0__Lean_Elab_Structural_shouldBetaReduce___lambda__1___boxed), 2, 1);
lean_closure_set(x_6, 0, x_2);
x_7 = l_Lean_Expr_getAppFn(x_1);
x_8 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_6, x_7);
x_8 = lean_find_expr(x_6, x_7);
lean_dec(x_7);
lean_dec(x_6);
if (lean_obj_tag(x_8) == 0)
{
uint8_t x_9;

View file

@ -86,7 +86,6 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartU
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__9___lambda__3___closed__6;
lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*);
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__9___lambda__3___closed__1;
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___lambda__4___boxed(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_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__1___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -122,6 +121,7 @@ lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean
uint8_t l_Lean_isAuxRecursorWithSuffix(lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__9___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_find_expr(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -2123,8 +2123,7 @@ x_13 = lean_ctor_get(x_11, 1);
lean_inc(x_13);
lean_dec(x_11);
x_14 = l_Array_forInUnsafe_loop___at_Lean_Elab_Structural_addSmartUnfoldingDefAux_visit___spec__9___lambda__2___closed__1;
lean_inc(x_12);
x_15 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_14, x_12);
x_15 = lean_find_expr(x_14, x_12);
if (lean_obj_tag(x_15) == 0)
{
lean_object* x_16; uint8_t x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20;
@ -2944,7 +2943,6 @@ lean_inc(x_21);
lean_dec(x_11);
x_22 = lean_ctor_get(x_1, 3);
lean_inc(x_22);
lean_inc(x_3);
lean_inc(x_2);
x_23 = l_Lean_Elab_Structural_recArgHasLooseBVarsAt(x_22, x_2, x_3);
if (x_23 == 0)

View file

@ -40,7 +40,6 @@ lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_
static lean_object* l_Lean_Elab_WF_preprocess___closed__1;
static lean_object* l_panic___at_Lean_Elab_WF_preprocess___spec__1___closed__1;
lean_object* l_Lean_Core_transform___at_Lean_Core_betaReduce___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*);
lean_object* lean_panic_fn(lean_object*, lean_object*);
@ -57,6 +56,7 @@ static lean_object* l_Lean_Elab_WF_preprocess___lambda__2___closed__5;
LEAN_EXPORT uint8_t l___private_Lean_Elab_PreDefinition_WF_Preprocess_0__Lean_Elab_WF_shouldBetaReduce___lambda__1(lean_object*, lean_object*);
lean_object* lean_array_get_size(lean_object*);
uint8_t l_Lean_Expr_isMData(lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
lean_object* l_Lean_Expr_beta(lean_object*, lean_object*);
uint8_t l_Lean_KVMap_contains(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_PreDefinition_WF_Preprocess_0__Lean_Elab_WF_shouldBetaReduce___spec__1(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) {
@ -137,7 +137,9 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8;
x_6 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Preprocess_0__Lean_Elab_WF_shouldBetaReduce___lambda__1___boxed), 2, 1);
lean_closure_set(x_6, 0, x_2);
x_7 = l_Lean_Expr_getAppFn(x_1);
x_8 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_6, x_7);
x_8 = lean_find_expr(x_6, x_7);
lean_dec(x_7);
lean_dec(x_6);
if (lean_obj_tag(x_8) == 0)
{
uint8_t x_9;

View file

@ -614,7 +614,6 @@ static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructIn
static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStruct___spec__3___lambda__1___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isSimpleField_x3f___boxed(lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_step(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_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7;
LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSource___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__1___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -846,6 +845,7 @@ static lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___
LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_formatStruct(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSource(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__2;
static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__6;
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValueAux_x3f___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*);
@ -29073,8 +29073,7 @@ x_69 = lean_ctor_get(x_67, 1);
lean_inc(x_69);
lean_dec(x_67);
x_70 = l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefault_loop___closed__1;
lean_inc(x_68);
x_71 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_70, x_68);
x_71 = lean_find_expr(x_70, x_68);
if (lean_obj_tag(x_71) == 0)
{
lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
@ -29295,8 +29294,7 @@ x_122 = lean_ctor_get(x_120, 1);
lean_inc(x_122);
lean_dec(x_120);
x_123 = l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefault_loop___closed__1;
lean_inc(x_121);
x_124 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_123, x_121);
x_124 = lean_find_expr(x_123, x_121);
if (lean_obj_tag(x_124) == 0)
{
lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131;

View file

@ -1206,6 +1206,7 @@ _start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_Lean_Elab_LibrarySearch_exact_x3f___lambda__2(x_1, x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}

View file

@ -54993,6 +54993,7 @@ x_29 = lean_ctor_get(x_27, 1);
lean_inc(x_29);
lean_dec(x_27);
x_30 = l_Lean_Expr_hasSyntheticSorry(x_28);
lean_dec(x_28);
if (x_30 == 0)
{
lean_object* x_31; lean_object* x_32;

View file

@ -494,7 +494,6 @@ LEAN_EXPORT uint8_t l_Lean_Environment_getModuleIdx_x3f___lambda__1(lean_object*
LEAN_EXPORT lean_object* l_Lean_mkModuleData___lambda__2(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Kernel_instInhabitedDiagnostics;
LEAN_EXPORT lean_object* l___private_Lean_Environment_0__Lean_EnvExtensionInterfaceUnsafe_invalidExtMsg;
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_EnvExtensionInterfaceUnsafe_imp;
LEAN_EXPORT lean_object* l_Lean_Environment_hasUnsafe___lambda__1___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Environment_displayStats___spec__6___lambda__1(lean_object*, lean_object*, lean_object*);
@ -732,6 +731,7 @@ LEAN_EXPORT lean_object* l_Lean_mkHashMap___at_Lean_mkExtNameMap___spec__1___box
static lean_object* l_Lean_Environment_displayStats___closed__2;
LEAN_EXPORT lean_object* l_Lean_saveModuleData___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_instMonadEnvOfMonadLift___rarg(lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
lean_object* l_Lean_SMap_insert___at_Lean_NameSSet_insert___spec__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Kernel_Diagnostics_recordUnfold___spec__7(lean_object*, lean_object*, lean_object*, lean_object*);
@ -17368,7 +17368,8 @@ _start:
lean_object* x_3; lean_object* x_4;
x_3 = lean_alloc_closure((void*)(l_Lean_Environment_hasUnsafe___lambda__1___boxed), 2, 1);
lean_closure_set(x_3, 0, x_1);
x_4 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_3, x_2);
x_4 = lean_find_expr(x_3, x_2);
lean_dec(x_3);
if (lean_obj_tag(x_4) == 0)
{
uint8_t x_5;
@ -17398,6 +17399,7 @@ _start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_Lean_Environment_hasUnsafe(x_1, x_2);
lean_dec(x_2);
x_4 = lean_box(x_3);
return x_4;
}
@ -17492,7 +17494,6 @@ LEAN_EXPORT lean_object* l_Lean_mkDefinitionValInferrringUnsafe___rarg___lambda_
_start:
{
uint8_t x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
lean_inc(x_1);
lean_inc(x_7);
x_8 = l_Lean_Environment_hasUnsafe(x_7, x_1);
x_9 = lean_ctor_get(x_2, 0);
@ -17513,7 +17514,6 @@ lean_ctor_set(x_13, 1, x_12);
if (x_8 == 0)
{
uint8_t x_14;
lean_inc(x_5);
x_14 = l_Lean_Environment_hasUnsafe(x_7, x_5);
if (x_14 == 0)
{

View file

@ -1855,6 +1855,7 @@ x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
lean_dec(x_3);
x_5 = l_Lean_Expr_hasSyntheticSorry(x_4);
lean_dec(x_4);
return x_5;
}
}

View file

@ -11563,7 +11563,6 @@ x_13 = lean_ctor_get(x_11, 0);
x_14 = lean_ctor_get(x_13, 0);
lean_inc(x_14);
lean_dec(x_13);
lean_inc(x_3);
lean_inc(x_14);
x_15 = l_Lean_Environment_hasUnsafe(x_14, x_3);
lean_inc(x_1);
@ -11578,7 +11577,6 @@ lean_ctor_set(x_18, 1, x_17);
if (x_15 == 0)
{
uint8_t x_19;
lean_inc(x_4);
x_19 = l_Lean_Environment_hasUnsafe(x_14, x_4);
if (x_19 == 0)
{
@ -11633,7 +11631,6 @@ lean_dec(x_11);
x_28 = lean_ctor_get(x_26, 0);
lean_inc(x_28);
lean_dec(x_26);
lean_inc(x_3);
lean_inc(x_28);
x_29 = l_Lean_Environment_hasUnsafe(x_28, x_3);
lean_inc(x_1);
@ -11648,7 +11645,6 @@ lean_ctor_set(x_32, 1, x_31);
if (x_29 == 0)
{
uint8_t x_33;
lean_inc(x_4);
x_33 = l_Lean_Environment_hasUnsafe(x_28, x_4);
if (x_33 == 0)
{
@ -12031,7 +12027,6 @@ lean_inc(x_17);
lean_dec(x_15);
x_18 = lean_ctor_get(x_11, 1);
lean_inc(x_18);
lean_inc(x_18);
lean_inc(x_17);
x_19 = l_Lean_Environment_hasUnsafe(x_17, x_18);
if (x_19 == 0)
@ -12039,7 +12034,6 @@ if (x_19 == 0)
lean_object* x_20; uint8_t x_21;
x_20 = lean_ctor_get(x_11, 2);
lean_inc(x_20);
lean_inc(x_20);
x_21 = l_Lean_Environment_hasUnsafe(x_17, x_20);
if (x_21 == 0)
{
@ -12337,7 +12331,6 @@ lean_inc(x_104);
lean_dec(x_102);
x_105 = lean_ctor_get(x_11, 1);
lean_inc(x_105);
lean_inc(x_105);
lean_inc(x_104);
x_106 = l_Lean_Environment_hasUnsafe(x_104, x_105);
if (x_106 == 0)
@ -12345,7 +12338,6 @@ if (x_106 == 0)
lean_object* x_107; uint8_t x_108;
x_107 = lean_ctor_get(x_11, 2);
lean_inc(x_107);
lean_inc(x_107);
x_108 = l_Lean_Environment_hasUnsafe(x_104, x_107);
if (x_108 == 0)
{

View file

@ -2932,7 +2932,6 @@ x_13 = lean_ctor_get(x_11, 0);
x_14 = lean_ctor_get(x_13, 0);
lean_inc(x_14);
lean_dec(x_13);
lean_inc(x_3);
lean_inc(x_14);
x_15 = l_Lean_Environment_hasUnsafe(x_14, x_3);
lean_inc(x_1);
@ -2947,7 +2946,6 @@ lean_ctor_set(x_18, 1, x_17);
if (x_15 == 0)
{
uint8_t x_19;
lean_inc(x_4);
x_19 = l_Lean_Environment_hasUnsafe(x_14, x_4);
if (x_19 == 0)
{
@ -3002,7 +3000,6 @@ lean_dec(x_11);
x_28 = lean_ctor_get(x_26, 0);
lean_inc(x_28);
lean_dec(x_26);
lean_inc(x_3);
lean_inc(x_28);
x_29 = l_Lean_Environment_hasUnsafe(x_28, x_3);
lean_inc(x_1);
@ -3017,7 +3014,6 @@ lean_ctor_set(x_32, 1, x_31);
if (x_29 == 0)
{
uint8_t x_33;
lean_inc(x_4);
x_33 = l_Lean_Environment_hasUnsafe(x_28, x_4);
if (x_33 == 0)
{

View file

@ -116,7 +116,6 @@ x_13 = lean_ctor_get(x_11, 0);
x_14 = lean_ctor_get(x_13, 0);
lean_inc(x_14);
lean_dec(x_13);
lean_inc(x_3);
lean_inc(x_14);
x_15 = l_Lean_Environment_hasUnsafe(x_14, x_3);
lean_inc(x_1);
@ -131,7 +130,6 @@ lean_ctor_set(x_18, 1, x_17);
if (x_15 == 0)
{
uint8_t x_19;
lean_inc(x_4);
x_19 = l_Lean_Environment_hasUnsafe(x_14, x_4);
if (x_19 == 0)
{
@ -186,7 +184,6 @@ lean_dec(x_11);
x_28 = lean_ctor_get(x_26, 0);
lean_inc(x_28);
lean_dec(x_26);
lean_inc(x_3);
lean_inc(x_28);
x_29 = l_Lean_Environment_hasUnsafe(x_28, x_3);
lean_inc(x_1);
@ -201,7 +198,6 @@ lean_ctor_set(x_32, 1, x_31);
if (x_29 == 0)
{
uint8_t x_33;
lean_inc(x_4);
x_33 = l_Lean_Environment_hasUnsafe(x_28, x_4);
if (x_33 == 0)
{

View file

@ -200,10 +200,10 @@ uint8_t l_Array_contains___at___private_Lean_Class_0__Lean_checkOutParam___spec_
static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickOther___lambda__2___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeftRight(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_instMonadQuotationOfMonadFunctorOfMonadLift___rarg(lean_object*, lean_object*, lean_object*);
uint8_t l_Lean_HashSetImp_contains___at_Lean_Expr_FindImpl_checkVisited___spec__8(lean_object*, lean_object*);
lean_object* l_Lean_Expr_mdata___override(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__19(lean_object*, lean_object*, size_t, size_t);
LEAN_EXPORT lean_object* l_Lean_Meta_isDefEqStringLit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__8___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Meta_checkAssignment___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_withProofIrrelTransparency(lean_object*);
lean_object* l_Lean_exceptBoolEmoji___rarg(lean_object*);
@ -220,6 +220,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqPro
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_expandDelayedAssigned_x3f___lambda__2___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_LocalContext_foldlM___at_Lean_Meta_CheckAssignment_checkMVar___spec__52___boxed(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_checkpointDefEq___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqApp___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__8(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isAssignable(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickOther___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* l_Lean_Expr_proj___override(lean_object*, lean_object*, lean_object*);
@ -437,6 +438,7 @@ lean_object* l_ReaderT_instMonadFunctor(lean_object*, lean_object*, lean_object*
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_checkAssignment___spec__6___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqQuickMVarMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_instantiateMVars___at___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visitMain___spec__7(lean_object*, lean_object*);
uint64_t lean_usize_to_uint64(size_t);
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProjDelta_tryReduceProjs___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_getExprMVarAssignment_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_occursCheck___spec__4___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__27(lean_object*, lean_object*, size_t, size_t);
@ -509,6 +511,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unfoldNonP
LEAN_EXPORT lean_object* l_Lean_Meta_DefEqCache_update___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_forallE___override(lean_object*, lean_object*, lean_object*, uint8_t);
lean_object* l_outOfBounds___rarg(lean_object*);
LEAN_EXPORT lean_object* l_Lean_HashSetImp_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__1___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_CheckAssignment_initFn____x40_Lean_Meta_ExprDefEq___hyg_5827_(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_MetavarContext_0__Lean_DependsOn_dep_visit___at_Lean_Meta_CheckAssignment_checkMVar___spec__12___boxed(lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_ExprDefEq___hyg_6____closed__10;
@ -662,6 +665,7 @@ LEAN_EXPORT lean_object* l_Lean_AssocList_find_x3f___at___private_Lean_Meta_Expr
LEAN_EXPORT lean_object* l_Lean_occursCheck_visit___at_Lean_Meta_CheckAssignment_checkMVar___spec__69(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_instMonadMetaM;
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unstuckMVar___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_HashSetImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__4(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_withTraceNodeBefore___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_checkTypesAndAssign___spec__1___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_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqEtaStruct_go___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqUnitLike(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -746,6 +750,7 @@ static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_assignConst___l
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Meta_CheckAssignment_checkMVar___spec__18(lean_object*, lean_object*, size_t, size_t);
static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_ExprDefEq___hyg_48____closed__1;
LEAN_EXPORT uint8_t l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeclsFrom_visit___spec__10(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_foldl___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__6___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__7(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Meta_DefEqCache_update___spec__2(lean_object*, size_t, size_t, lean_object*, uint8_t);
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProj_isDefEqSingleton___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArgsFirstPass(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -821,7 +826,6 @@ LEAN_EXPORT uint8_t l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_etaEq(lean_obje
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unfoldNonProjFnDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Meta_isExprDefEqAuxImpl___lambda__3___closed__12;
lean_object* l_Lean_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*);
lean_object* l_Lean_HashSetImp_insert___at_Lean_Expr_FindImpl_checkVisited___spec__1(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArgsFirstPass___spec__1___lambda__3(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_PersistentArray_anyMAux___at_Lean_Meta_CheckAssignment_checkMVar___spec__48___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_getCachedResult___spec__1___boxed(lean_object*, lean_object*);
@ -871,6 +875,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqPro
lean_object* lean_nat_sub(lean_object*, lean_object*);
lean_object* l_Lean_Option_register___at_Lean_initFn____x40_Lean_Util_Profile___hyg_6____spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_CheckAssignment_checkMVar___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_EXPORT lean_object* l_List_foldl___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__6(lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_getAppFn(lean_object*);
LEAN_EXPORT lean_object* lean_is_expr_def_eq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isAssignable___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -1054,7 +1059,9 @@ uint8_t l_Lean_Exception_isRuntime(lean_object*);
lean_object* l_Lean_Expr_lam___override(lean_object*, lean_object*, lean_object*, uint8_t);
static lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_unstuckMVar___closed__16;
lean_object* l_instMonadLiftTOfMonadLift___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_HashSetImp_moveEntries___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__5(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Meta_CheckAssignment_checkMVar___spec__67___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__2(lean_object*, lean_object*);
uint8_t l_Lean_Expr_isFVar(lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqProjInst___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processConstApprox_go___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@ -1063,6 +1070,7 @@ LEAN_EXPORT uint8_t l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_sameHeadSymbol(
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheck_unsafe__1(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_CheckAssignment_checkMVar___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*);
lean_object* l_Lean_Expr_mvarId_x21(lean_object*);
LEAN_EXPORT lean_object* l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__2___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_isEtaUnassignedMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_is_class(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_checkpointDefEq___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqApp___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -1077,6 +1085,7 @@ lean_object* lean_array_uset(lean_object*, size_t, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_expandDelayedAssigned_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqLeft___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_MessageData_ofName(lean_object*);
LEAN_EXPORT lean_object* l_Lean_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__3(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqArgs___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_isProjectionFn___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isNonTrivialRegular___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
@ -1086,6 +1095,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_isDefEqPro
LEAN_EXPORT lean_object* l_Lean_mkHashSet___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_mkLambdaFVarsWithLetDeps_collectLetDeps___spec__1(lean_object*);
lean_object* l_Lean_Meta_getPostponed___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_instantiateForallAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_HashSetImp_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__1(lean_object*, lean_object*);
static lean_object* l_Lean_occursCheck_visitMVar___at_Lean_Meta_CheckAssignment_checkMVar___spec__70___closed__1;
static lean_object* l_Lean_Meta_isExprDefEqAuxImpl___lambda__3___closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_processAssignmentFOApprox(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -43528,15 +43538,414 @@ return x_1;
}
}
}
LEAN_EXPORT uint8_t l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__2(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
{
uint8_t x_3;
x_3 = 0;
return x_3;
}
else
{
lean_object* x_4; lean_object* x_5; size_t x_6; size_t x_7; uint8_t x_8;
x_4 = lean_ctor_get(x_2, 0);
x_5 = lean_ctor_get(x_2, 1);
x_6 = lean_ptr_addr(x_1);
x_7 = lean_ptr_addr(x_4);
x_8 = lean_usize_dec_eq(x_6, x_7);
if (x_8 == 0)
{
x_2 = x_5;
goto _start;
}
else
{
uint8_t x_10;
x_10 = 1;
return x_10;
}
}
}
}
LEAN_EXPORT uint8_t l_Lean_HashSetImp_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__1(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3; lean_object* x_4; size_t x_5; uint64_t x_6; uint64_t x_7; uint64_t x_8; size_t x_9; lean_object* x_10; uint8_t x_11;
x_3 = lean_ctor_get(x_1, 1);
x_4 = lean_array_get_size(x_3);
x_5 = lean_ptr_addr(x_2);
x_6 = lean_usize_to_uint64(x_5);
x_7 = 11;
x_8 = lean_uint64_mix_hash(x_6, x_7);
x_9 = lean_hashset_mk_idx(x_4, x_8);
x_10 = lean_array_uget(x_3, x_9);
x_11 = l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__2(x_2, x_10);
lean_dec(x_10);
return x_11;
}
}
LEAN_EXPORT lean_object* l_List_foldl___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_3) == 0)
{
lean_dec(x_1);
return x_2;
}
else
{
uint8_t x_4;
x_4 = !lean_is_exclusive(x_3);
if (x_4 == 0)
{
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; uint64_t x_9; size_t x_10; lean_object* x_11; lean_object* x_12;
x_5 = lean_ctor_get(x_3, 0);
x_6 = lean_ctor_get(x_3, 1);
x_7 = lean_array_get_size(x_2);
lean_inc(x_1);
lean_inc(x_5);
x_8 = lean_apply_1(x_1, x_5);
x_9 = lean_unbox_uint64(x_8);
lean_dec(x_8);
x_10 = lean_hashset_mk_idx(x_7, x_9);
x_11 = lean_array_uget(x_2, x_10);
lean_ctor_set(x_3, 1, x_11);
x_12 = lean_array_uset(x_2, x_10, x_3);
x_2 = x_12;
x_3 = x_6;
goto _start;
}
else
{
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint64_t x_18; size_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
x_14 = lean_ctor_get(x_3, 0);
x_15 = lean_ctor_get(x_3, 1);
lean_inc(x_15);
lean_inc(x_14);
lean_dec(x_3);
x_16 = lean_array_get_size(x_2);
lean_inc(x_1);
lean_inc(x_14);
x_17 = lean_apply_1(x_1, x_14);
x_18 = lean_unbox_uint64(x_17);
lean_dec(x_17);
x_19 = lean_hashset_mk_idx(x_16, x_18);
x_20 = lean_array_uget(x_2, x_19);
x_21 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_21, 0, x_14);
lean_ctor_set(x_21, 1, x_20);
x_22 = lean_array_uset(x_2, x_19, x_21);
x_2 = x_22;
x_3 = x_15;
goto _start;
}
}
}
}
LEAN_EXPORT lean_object* l_List_foldl___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__6___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__7(lean_object* x_1, lean_object* x_2) {
_start:
{
if (lean_obj_tag(x_2) == 0)
{
return x_1;
}
else
{
uint8_t x_3;
x_3 = !lean_is_exclusive(x_2);
if (x_3 == 0)
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; size_t x_7; uint64_t x_8; uint64_t x_9; uint64_t x_10; size_t x_11; lean_object* x_12; lean_object* x_13;
x_4 = lean_ctor_get(x_2, 0);
x_5 = lean_ctor_get(x_2, 1);
x_6 = lean_array_get_size(x_1);
x_7 = lean_ptr_addr(x_4);
x_8 = lean_usize_to_uint64(x_7);
x_9 = 11;
x_10 = lean_uint64_mix_hash(x_8, x_9);
x_11 = lean_hashset_mk_idx(x_6, x_10);
x_12 = lean_array_uget(x_1, x_11);
lean_ctor_set(x_2, 1, x_12);
x_13 = lean_array_uset(x_1, x_11, x_2);
x_1 = x_13;
x_2 = x_5;
goto _start;
}
else
{
lean_object* x_15; lean_object* x_16; lean_object* x_17; size_t x_18; uint64_t x_19; uint64_t x_20; uint64_t x_21; size_t x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
x_15 = lean_ctor_get(x_2, 0);
x_16 = lean_ctor_get(x_2, 1);
lean_inc(x_16);
lean_inc(x_15);
lean_dec(x_2);
x_17 = lean_array_get_size(x_1);
x_18 = lean_ptr_addr(x_15);
x_19 = lean_usize_to_uint64(x_18);
x_20 = 11;
x_21 = lean_uint64_mix_hash(x_19, x_20);
x_22 = lean_hashset_mk_idx(x_17, x_21);
x_23 = lean_array_uget(x_1, x_22);
x_24 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_24, 0, x_15);
lean_ctor_set(x_24, 1, x_23);
x_25 = lean_array_uset(x_1, x_22, x_24);
x_1 = x_25;
x_2 = x_16;
goto _start;
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_HashSetImp_moveEntries___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__5(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4; uint8_t x_5;
x_4 = lean_array_get_size(x_2);
x_5 = lean_nat_dec_lt(x_1, x_4);
lean_dec(x_4);
if (x_5 == 0)
{
lean_dec(x_2);
lean_dec(x_1);
return x_3;
}
else
{
lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
x_6 = lean_array_fget(x_2, x_1);
x_7 = lean_box(0);
x_8 = lean_array_fset(x_2, x_1, x_7);
x_9 = l_List_foldl___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__6___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__7(x_3, x_6);
x_10 = lean_unsigned_to_nat(1u);
x_11 = lean_nat_add(x_1, x_10);
lean_dec(x_1);
x_1 = x_11;
x_2 = x_8;
x_3 = x_9;
goto _start;
}
}
}
LEAN_EXPORT lean_object* l_Lean_HashSetImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__4(lean_object* x_1, lean_object* x_2) {
_start:
{
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;
x_3 = lean_array_get_size(x_2);
x_4 = lean_unsigned_to_nat(2u);
x_5 = lean_nat_mul(x_3, x_4);
lean_dec(x_3);
x_6 = lean_box(0);
x_7 = lean_mk_array(x_5, x_6);
x_8 = lean_unsigned_to_nat(0u);
x_9 = l_Lean_HashSetImp_moveEntries___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__5(x_8, x_2, x_7);
x_10 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_10, 0, x_1);
lean_ctor_set(x_10, 1, x_9);
return x_10;
}
}
LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
if (lean_obj_tag(x_1) == 0)
{
lean_object* x_4;
lean_dec(x_3);
x_4 = lean_box(0);
return x_4;
}
else
{
uint8_t x_5;
x_5 = !lean_is_exclusive(x_1);
if (x_5 == 0)
{
lean_object* x_6; lean_object* x_7; size_t x_8; size_t x_9; uint8_t x_10;
x_6 = lean_ctor_get(x_1, 0);
x_7 = lean_ctor_get(x_1, 1);
x_8 = lean_ptr_addr(x_2);
x_9 = lean_ptr_addr(x_6);
x_10 = lean_usize_dec_eq(x_8, x_9);
if (x_10 == 0)
{
lean_object* x_11;
x_11 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__8(x_7, x_2, x_3);
lean_ctor_set(x_1, 1, x_11);
return x_1;
}
else
{
lean_dec(x_6);
lean_ctor_set(x_1, 0, x_3);
return x_1;
}
}
else
{
lean_object* x_12; lean_object* x_13; size_t x_14; size_t x_15; uint8_t x_16;
x_12 = lean_ctor_get(x_1, 0);
x_13 = lean_ctor_get(x_1, 1);
lean_inc(x_13);
lean_inc(x_12);
lean_dec(x_1);
x_14 = lean_ptr_addr(x_2);
x_15 = lean_ptr_addr(x_12);
x_16 = lean_usize_dec_eq(x_14, x_15);
if (x_16 == 0)
{
lean_object* x_17; lean_object* x_18;
x_17 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__8(x_13, x_2, x_3);
x_18 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_18, 0, x_12);
lean_ctor_set(x_18, 1, x_17);
return x_18;
}
else
{
lean_object* x_19;
lean_dec(x_12);
x_19 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_19, 0, x_3);
lean_ctor_set(x_19, 1, x_13);
return x_19;
}
}
}
}
}
LEAN_EXPORT lean_object* l_Lean_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__3(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3;
x_3 = !lean_is_exclusive(x_1);
if (x_3 == 0)
{
lean_object* x_4; lean_object* x_5; lean_object* x_6; size_t x_7; uint64_t x_8; uint64_t x_9; uint64_t x_10; size_t x_11; lean_object* x_12; uint8_t x_13;
x_4 = lean_ctor_get(x_1, 0);
x_5 = lean_ctor_get(x_1, 1);
x_6 = lean_array_get_size(x_5);
x_7 = lean_ptr_addr(x_2);
x_8 = lean_usize_to_uint64(x_7);
x_9 = 11;
x_10 = lean_uint64_mix_hash(x_8, x_9);
lean_inc(x_6);
x_11 = lean_hashset_mk_idx(x_6, x_10);
x_12 = lean_array_uget(x_5, x_11);
x_13 = l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__2(x_2, x_12);
if (x_13 == 0)
{
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18;
x_14 = lean_unsigned_to_nat(1u);
x_15 = lean_nat_add(x_4, x_14);
lean_dec(x_4);
x_16 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_16, 0, x_2);
lean_ctor_set(x_16, 1, x_12);
x_17 = lean_array_uset(x_5, x_11, x_16);
x_18 = lean_nat_dec_le(x_15, x_6);
lean_dec(x_6);
if (x_18 == 0)
{
lean_object* x_19;
lean_free_object(x_1);
x_19 = l_Lean_HashSetImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__4(x_15, x_17);
return x_19;
}
else
{
lean_ctor_set(x_1, 1, x_17);
lean_ctor_set(x_1, 0, x_15);
return x_1;
}
}
else
{
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23;
lean_dec(x_6);
x_20 = lean_box(0);
x_21 = lean_array_uset(x_5, x_11, x_20);
lean_inc(x_2);
x_22 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__8(x_12, x_2, x_2);
lean_dec(x_2);
x_23 = lean_array_uset(x_21, x_11, x_22);
lean_ctor_set(x_1, 1, x_23);
return x_1;
}
}
else
{
lean_object* x_24; lean_object* x_25; lean_object* x_26; size_t x_27; uint64_t x_28; uint64_t x_29; uint64_t x_30; size_t x_31; lean_object* x_32; uint8_t x_33;
x_24 = lean_ctor_get(x_1, 0);
x_25 = lean_ctor_get(x_1, 1);
lean_inc(x_25);
lean_inc(x_24);
lean_dec(x_1);
x_26 = lean_array_get_size(x_25);
x_27 = lean_ptr_addr(x_2);
x_28 = lean_usize_to_uint64(x_27);
x_29 = 11;
x_30 = lean_uint64_mix_hash(x_28, x_29);
lean_inc(x_26);
x_31 = lean_hashset_mk_idx(x_26, x_30);
x_32 = lean_array_uget(x_25, x_31);
x_33 = l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__2(x_2, x_32);
if (x_33 == 0)
{
lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38;
x_34 = lean_unsigned_to_nat(1u);
x_35 = lean_nat_add(x_24, x_34);
lean_dec(x_24);
x_36 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_36, 0, x_2);
lean_ctor_set(x_36, 1, x_32);
x_37 = lean_array_uset(x_25, x_31, x_36);
x_38 = lean_nat_dec_le(x_35, x_26);
lean_dec(x_26);
if (x_38 == 0)
{
lean_object* x_39;
x_39 = l_Lean_HashSetImp_expand___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__4(x_35, x_37);
return x_39;
}
else
{
lean_object* x_40;
x_40 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_40, 0, x_35);
lean_ctor_set(x_40, 1, x_37);
return x_40;
}
}
else
{
lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45;
lean_dec(x_26);
x_41 = lean_box(0);
x_42 = lean_array_uset(x_25, x_31, x_41);
lean_inc(x_2);
x_43 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__8(x_32, x_2, x_2);
lean_dec(x_2);
x_44 = lean_array_uset(x_42, x_31, x_43);
x_45 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_45, 0, x_24);
lean_ctor_set(x_45, 1, x_44);
return x_45;
}
}
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3;
x_3 = l_Lean_HashSetImp_contains___at_Lean_Expr_FindImpl_checkVisited___spec__8(x_2, x_1);
x_3 = l_Lean_HashSetImp_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__1(x_2, x_1);
if (x_3 == 0)
{
lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7;
x_4 = l_Lean_HashSetImp_insert___at_Lean_Expr_FindImpl_checkVisited___spec__1(x_2, x_1);
x_4 = l_Lean_HashSetImp_insert___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__3(x_2, x_1);
x_5 = 0;
x_6 = lean_box(x_5);
x_7 = lean_alloc_ctor(0, 2, 0);
@ -43557,6 +43966,37 @@ return x_10;
}
}
}
LEAN_EXPORT lean_object* l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__2___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_List_elem___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__2(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}
}
LEAN_EXPORT lean_object* l_Lean_HashSetImp_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__1___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_Lean_HashSetImp_contains___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__1(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}
}
LEAN_EXPORT lean_object* l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{
lean_object* x_4;
x_4 = l_List_replace___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_alreadyVisited___spec__8(x_1, x_2, x_3);
lean_dec(x_2);
return x_4;
}
}
LEAN_EXPORT lean_object* l_Lean_getExprMVarAssignment_x3f___at___private_Lean_Meta_ExprDefEq_0__Lean_Meta_typeOccursCheckImp_occursCheck___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
_start:
{

View file

@ -92,7 +92,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_FunInfo_getArity___boxed(lean_object*);
lean_object* l_instMonadControlTOfPure___rarg(lean_object*);
static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__3___lambda__1___closed__2;
LEAN_EXPORT lean_object* l___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_FunInfo_0__Lean_Meta_whenHasVar___rarg___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__3___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__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_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
@ -135,6 +134,7 @@ lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean
lean_object* lean_array_get_size(lean_object*);
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__3___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__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_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Array_contains___at___private_Lean_Meta_FunInfo_0__Lean_Meta_collectDeps_visit___spec__2(lean_object*, lean_object*);
lean_object* lean_nat_add(lean_object*, lean_object*);
@ -2814,8 +2814,8 @@ lean_object* x_161; lean_object* x_162;
lean_inc(x_26);
x_161 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__3___lambda__2___boxed), 2, 1);
lean_closure_set(x_161, 0, x_26);
lean_inc(x_33);
x_162 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_161, x_33);
x_162 = lean_find_expr(x_161, x_33);
lean_dec(x_161);
if (lean_obj_tag(x_162) == 0)
{
if (lean_obj_tag(x_152) == 0)
@ -3729,8 +3729,8 @@ lean_object* x_160; lean_object* x_161;
lean_inc(x_25);
x_160 = lean_alloc_closure((void*)(l_Std_Range_forIn_loop___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__3___lambda__2___boxed), 2, 1);
lean_closure_set(x_160, 0, x_25);
lean_inc(x_32);
x_161 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_160, x_32);
x_161 = lean_find_expr(x_160, x_32);
lean_dec(x_160);
if (lean_obj_tag(x_161) == 0)
{
if (lean_obj_tag(x_151) == 0)

View file

@ -195,7 +195,6 @@ static lean_object* l___private_Lean_Util_Trace_0__Lean_getResetTraces___at_Lean
static double l_Lean_withTraceNode___at_Lean_Meta_mkInjectiveTheorems___spec__5___lambda__2___closed__1;
lean_object* l_Lean_Core_transform___at_Lean_Core_betaReduce___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
static lean_object* l_Lean_getConstInfo___at_Lean_Meta_mkInjectiveTheorems___spec__2___closed__1;
LEAN_EXPORT lean_object* l_Lean_withTraceNode___at_Lean_Meta_mkInjectiveTheorems___spec__5___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, double, double, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Injective_0__Lean_Meta_mkInjectiveEqTheoremValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -261,6 +260,7 @@ static lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_mkInjectiveTheorem
LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Meta_mkInjectiveTheorems___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_List_forIn_loop___at_Lean_Meta_mkInjectiveTheorems___spec__10___closed__1;
lean_object* lean_find_expr(lean_object*, lean_object*);
static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Injective___hyg_2306____closed__1;
uint8_t lean_usize_dec_lt(size_t, size_t);
lean_object* l_Lean_Meta_intro1Core(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -546,6 +546,7 @@ lean_object* x_9; uint8_t x_10;
x_9 = l_Lean_LocalDecl_type(x_7);
lean_dec(x_7);
x_10 = l_Lean_Expr_occurs(x_2, x_9);
lean_dec(x_9);
return x_10;
}
else
@ -585,7 +586,8 @@ lean_object* x_4; lean_object* x_5;
x_4 = lean_alloc_closure((void*)(l_Lean_Meta_occursOrInType_go___boxed), 3, 2);
lean_closure_set(x_4, 0, x_1);
lean_closure_set(x_4, 1, x_2);
x_5 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_4, x_3);
x_5 = lean_find_expr(x_4, x_3);
lean_dec(x_4);
if (lean_obj_tag(x_5) == 0)
{
uint8_t x_6;
@ -606,6 +608,7 @@ _start:
{
uint8_t x_4; lean_object* x_5;
x_4 = l_Lean_Meta_occursOrInType(x_1, x_2, x_3);
lean_dec(x_3);
x_5 = lean_box(x_4);
return x_5;
}
@ -743,7 +746,6 @@ lean_dec(x_19);
x_24 = lean_array_fget(x_3, x_6);
x_25 = lean_ctor_get(x_10, 1);
lean_inc(x_25);
lean_inc(x_4);
lean_inc(x_24);
x_26 = l_Lean_Meta_occursOrInType(x_25, x_24, x_4);
if (x_26 == 0)

View file

@ -38551,12 +38551,10 @@ if (x_66 == 0)
lean_object* x_67; lean_object* x_68; uint8_t x_69;
x_67 = lean_ctor_get(x_61, 0);
x_68 = lean_ctor_get(x_61, 1);
lean_inc(x_67);
x_69 = l_Lean_Expr_hasSorry(x_67);
if (x_69 == 0)
{
uint8_t x_70;
lean_inc(x_59);
x_70 = l_Lean_Expr_hasSorry(x_59);
if (x_70 == 0)
{
@ -38667,12 +38665,10 @@ x_90 = lean_ctor_get(x_61, 1);
lean_inc(x_90);
lean_inc(x_89);
lean_dec(x_61);
lean_inc(x_89);
x_91 = l_Lean_Expr_hasSorry(x_89);
if (x_91 == 0)
{
uint8_t x_92;
lean_inc(x_59);
x_92 = l_Lean_Expr_hasSorry(x_59);
if (x_92 == 0)
{
@ -38816,12 +38812,10 @@ if (lean_is_exclusive(x_115)) {
lean_dec_ref(x_115);
x_122 = lean_box(0);
}
lean_inc(x_120);
x_123 = l_Lean_Expr_hasSorry(x_120);
if (x_123 == 0)
{
uint8_t x_124;
lean_inc(x_113);
x_124 = l_Lean_Expr_hasSorry(x_113);
if (x_124 == 0)
{
@ -39961,12 +39955,10 @@ if (x_63 == 0)
lean_object* x_64; lean_object* x_65; uint8_t x_66;
x_64 = lean_ctor_get(x_58, 0);
x_65 = lean_ctor_get(x_58, 1);
lean_inc(x_64);
x_66 = l_Lean_Expr_hasSorry(x_64);
if (x_66 == 0)
{
uint8_t x_67;
lean_inc(x_56);
x_67 = l_Lean_Expr_hasSorry(x_56);
if (x_67 == 0)
{
@ -40079,12 +40071,10 @@ x_87 = lean_ctor_get(x_58, 1);
lean_inc(x_87);
lean_inc(x_86);
lean_dec(x_58);
lean_inc(x_86);
x_88 = l_Lean_Expr_hasSorry(x_86);
if (x_88 == 0)
{
uint8_t x_89;
lean_inc(x_56);
x_89 = l_Lean_Expr_hasSorry(x_56);
if (x_89 == 0)
{
@ -40230,12 +40220,10 @@ if (lean_is_exclusive(x_112)) {
lean_dec_ref(x_112);
x_119 = lean_box(0);
}
lean_inc(x_117);
x_120 = l_Lean_Expr_hasSorry(x_117);
if (x_120 == 0)
{
uint8_t x_121;
lean_inc(x_110);
x_121 = l_Lean_Expr_hasSorry(x_110);
if (x_121 == 0)
{

View file

@ -574,7 +574,6 @@ lean_object* l_Subarray_get___rarg(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_addTrace___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_convertCastEqRec_go___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLeveErrorMessageCore___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_substSomeVar___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_convertCastEqRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Meta_casesOnStuckLHS___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_injectionAnyCandidate_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -797,6 +796,7 @@ LEAN_EXPORT lean_object* l_Lean_PersistentArray_forIn___at___private_Lean_Meta_M
static lean_object* l_Lean_Meta_Match_forallAltTelescope_go___rarg___closed__4;
static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_convertCastEqRec___spec__8___lambda__11___closed__3;
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_injectionAnyCandidate_x3f___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Match_MatchEqs_0__Lean_Meta_Match_mkSplitterProof_mkMap(lean_object*, lean_object*, lean_object*, lean_object*);
@ -5960,7 +5960,8 @@ _start:
lean_object* x_3; lean_object* x_4;
x_3 = lean_alloc_closure((void*)(l_Lean_Meta_Match_forallAltTelescope_isNamedPatternProof___lambda__1___boxed), 2, 1);
lean_closure_set(x_3, 0, x_2);
x_4 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_3, x_1);
x_4 = lean_find_expr(x_3, x_1);
lean_dec(x_3);
if (lean_obj_tag(x_4) == 0)
{
uint8_t x_5;
@ -5992,6 +5993,7 @@ _start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_Lean_Meta_Match_forallAltTelescope_isNamedPatternProof(x_1, x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}
@ -6788,7 +6790,6 @@ else
{
uint8_t x_38;
lean_inc(x_12);
lean_inc(x_18);
x_38 = l_Lean_Meta_Match_forallAltTelescope_isNamedPatternProof(x_18, x_12);
if (x_38 == 0)
{

View file

@ -222,7 +222,6 @@ static lean_object* l_Lean_Expr_withAppAux___at___private_Lean_Meta_RecursorInfo
LEAN_EXPORT lean_object* l___private_Lean_Meta_RecursorInfo_0__Lean_Meta_checkMotiveResultType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_RecursorInfo___hyg_2934____lambda__2___closed__10;
static lean_object* l_List_toString___at_Lean_Meta_RecursorInfo_instToString___spec__7___closed__1;
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getParamsPos___closed__1;
LEAN_EXPORT lean_object* l___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getParamsPos___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_Expr_withAppAux___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_mkRecursorInfoAux___spec__2___boxed(lean_object**);
@ -307,6 +306,7 @@ static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_RecursorInfo___hyg_2934_
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_RecursorInfo_0__Lean_Meta_checkMotive___closed__4;
uint8_t lean_level_eq(lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_RecursorInfo_0__Lean_Meta_checkMotive(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
@ -5168,7 +5168,9 @@ x_15 = lean_ctor_get(x_12, 1);
lean_inc(x_1);
x_16 = lean_alloc_closure((void*)(l_Array_getIdx_x3f___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMajorPosDepElim___spec__1___lambda__1___boxed), 2, 1);
lean_closure_set(x_16, 0, x_1);
x_17 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_16, x_14);
x_17 = lean_find_expr(x_16, x_14);
lean_dec(x_14);
lean_dec(x_16);
if (lean_obj_tag(x_17) == 0)
{
size_t x_18; size_t x_19;
@ -5205,7 +5207,9 @@ lean_dec(x_12);
lean_inc(x_1);
x_25 = lean_alloc_closure((void*)(l_Array_getIdx_x3f___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMajorPosDepElim___spec__1___lambda__1___boxed), 2, 1);
lean_closure_set(x_25, 0, x_1);
x_26 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_25, x_23);
x_26 = lean_find_expr(x_25, x_23);
lean_dec(x_23);
lean_dec(x_25);
if (lean_obj_tag(x_26) == 0)
{
size_t x_27; size_t x_28;

View file

@ -144,7 +144,6 @@ return x_11;
else
{
uint8_t x_12;
lean_inc(x_2);
x_12 = l_Lean_Expr_occurs(x_1, x_2);
if (x_12 == 0)
{

View file

@ -195,7 +195,6 @@ static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Contradiction___h
static lean_object* l_Lean_Meta_ElimEmptyInductive_elim___lambda__3___closed__4;
LEAN_EXPORT lean_object* l_Lean_PersistentArray_forInAux___at_Lean_MVarId_contradictionCore___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Contradiction___hyg_4434____closed__11;
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Contradiction___hyg_4434____closed__8;
static lean_object* l_Lean_Meta_ElimEmptyInductive_elim___lambda__7___closed__1;
static lean_object* l_Lean_MVarId_contradictionCore___closed__4;
@ -263,6 +262,7 @@ lean_object* lean_array_get_size(lean_object*);
lean_object* l_Lean_LocalDecl_toExpr(lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_MVarId_contradictionCore___spec__4___lambda__1(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_processGenDiseq___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
uint8_t lean_usize_dec_lt(size_t, size_t);
LEAN_EXPORT uint8_t l_Lean_Meta_Contradiction_Config_useDecide___default;
@ -400,7 +400,8 @@ lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12;
x_9 = lean_ctor_get(x_7, 0);
x_10 = lean_ctor_get(x_7, 1);
x_11 = l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_nestedFalseElim___closed__1;
x_12 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_11, x_9);
x_12 = lean_find_expr(x_11, x_9);
lean_dec(x_9);
if (lean_obj_tag(x_12) == 0)
{
uint8_t x_13; lean_object* x_14;
@ -543,7 +544,8 @@ lean_inc(x_41);
lean_inc(x_40);
lean_dec(x_7);
x_42 = l___private_Lean_Meta_Tactic_Contradiction_0__Lean_Meta_nestedFalseElim___closed__1;
x_43 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_42, x_40);
x_43 = lean_find_expr(x_42, x_40);
lean_dec(x_40);
if (lean_obj_tag(x_43) == 0)
{
uint8_t x_44; lean_object* x_45; lean_object* x_46;

View file

@ -258,7 +258,6 @@ LEAN_EXPORT lean_object* l_Lean_HashMapImp_find_x3f___at_Lean_Meta_SimpCongrTheo
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_mkSimpCongrTheorem___spec__6___closed__4;
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_mkSimpCongrTheorem___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpCongrTheorems___hyg_1872____lambda__1___closed__5;
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_AssocList_contains___at_Lean_Meta_addSimpCongrTheoremEntry___spec__7(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Simp_SimpCongrTheorems___hyg_1872____lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_HashMapImp_moveEntries___at_Lean_Meta_addSimpCongrTheoremEntry___spec__9(lean_object*, lean_object*, lean_object*);
@ -346,6 +345,7 @@ lean_object* l_List_map___at_Lean_mkConstWithLevelParams___spec__1(lean_object*)
lean_object* lean_array_get_size(lean_object*);
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_mkSimpCongrTheorem___spec__7___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_find_expr(lean_object*, lean_object*);
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Meta_mkSimpCongrTheorem___spec__7___lambda__5___closed__6;
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
static lean_object* l___private_Lean_Meta_Tactic_Simp_SimpCongrTheorems_0__Lean_Meta_reprSimpCongrTheorem____x40_Lean_Meta_Tactic_Simp_SimpCongrTheorems___hyg_53____closed__26;
@ -3687,7 +3687,8 @@ _start:
lean_object* x_3; lean_object* x_4;
x_3 = lean_alloc_closure((void*)(l_Lean_Meta_mkSimpCongrTheorem_onlyMVarsAt___lambda__1___boxed), 2, 1);
lean_closure_set(x_3, 0, x_2);
x_4 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_3, x_1);
x_4 = lean_find_expr(x_3, x_1);
lean_dec(x_3);
if (lean_obj_tag(x_4) == 0)
{
uint8_t x_5;
@ -3719,6 +3720,7 @@ _start:
{
uint8_t x_3; lean_object* x_4;
x_3 = l_Lean_Meta_mkSimpCongrTheorem_onlyMVarsAt(x_1, x_2);
lean_dec(x_1);
x_4 = lean_box(x_3);
return x_4;
}
@ -4042,7 +4044,6 @@ lean_inc(x_17);
lean_dec(x_15);
x_18 = l_Array_forInUnsafe_loop___at_Lean_Meta_mkSimpCongrTheorem___spec__5___closed__1;
lean_inc(x_1);
lean_inc(x_16);
x_19 = l_Lean_Meta_mkSimpCongrTheorem_onlyMVarsAt(x_16, x_1);
if (x_19 == 0)
{
@ -4797,7 +4798,6 @@ x_19 = lean_ctor_get(x_18, 1);
lean_inc(x_19);
lean_dec(x_18);
lean_inc(x_1);
lean_inc(x_13);
x_20 = l_Lean_Meta_mkSimpCongrTheorem_onlyMVarsAt(x_13, x_1);
if (x_20 == 0)
{
@ -4921,7 +4921,6 @@ x_50 = lean_ctor_get(x_49, 1);
lean_inc(x_50);
lean_dec(x_49);
lean_inc(x_1);
lean_inc(x_44);
x_51 = l_Lean_Meta_mkSimpCongrTheorem_onlyMVarsAt(x_44, x_1);
if (x_51 == 0)
{

View file

@ -333,7 +333,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_s
static lean_object* l_Lean_Meta_Split_initFn____x40_Lean_Meta_Tactic_Split___hyg_906____closed__1;
lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_substDiscrEqs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
static lean_object* l_List_foldlM___at_Lean_Meta_Split_applyMatchSplitter___spec__2___closed__2;
lean_object* l_Lean_instAddErrorMessageContextOfAddMessageContextOfMonad___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_heqToEq(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -458,6 +457,7 @@ static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_genera
static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__3___closed__7;
static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__4___closed__1;
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
extern lean_object* l_Lean_Meta_instAddMessageContextMetaM;
LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
@ -13654,12 +13654,11 @@ x_6 = lean_alloc_closure((void*)(l_Lean_Meta_Split_findSplit_x3f_isCandidate___b
lean_closure_set(x_6, 0, x_1);
lean_closure_set(x_6, 1, x_5);
lean_closure_set(x_6, 2, x_3);
lean_inc(x_4);
x_7 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_6, x_4);
x_7 = lean_find_expr(x_6, x_4);
lean_dec(x_6);
if (lean_obj_tag(x_7) == 0)
{
lean_object* x_8;
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_8 = lean_box(0);
@ -13678,7 +13677,6 @@ if (x_11 == 0)
{
uint8_t x_12;
x_12 = l_Lean_Expr_isDIte(x_4);
lean_dec(x_4);
if (x_12 == 0)
{
lean_dec(x_3);
@ -13691,6 +13689,7 @@ lean_object* x_13; lean_object* x_14; lean_object* x_15;
x_13 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5;
x_14 = l_Lean_Expr_getRevArg_x21(x_10, x_13);
x_15 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_2, x_3, x_14);
lean_dec(x_14);
if (lean_obj_tag(x_15) == 0)
{
return x_7;
@ -13721,10 +13720,10 @@ return x_18;
else
{
lean_object* x_19; lean_object* x_20; lean_object* x_21;
lean_dec(x_4);
x_19 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5;
x_20 = l_Lean_Expr_getRevArg_x21(x_10, x_19);
x_21 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_2, x_3, x_20);
lean_dec(x_20);
if (lean_obj_tag(x_21) == 0)
{
return x_7;
@ -13763,7 +13762,6 @@ if (x_26 == 0)
{
uint8_t x_27;
x_27 = l_Lean_Expr_isDIte(x_4);
lean_dec(x_4);
if (x_27 == 0)
{
lean_object* x_28;
@ -13779,6 +13777,7 @@ lean_object* x_29; lean_object* x_30; lean_object* x_31;
x_29 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5;
x_30 = l_Lean_Expr_getRevArg_x21(x_25, x_29);
x_31 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_2, x_3, x_30);
lean_dec(x_30);
if (lean_obj_tag(x_31) == 0)
{
lean_object* x_32;
@ -13812,10 +13811,10 @@ return x_35;
else
{
lean_object* x_36; lean_object* x_37; lean_object* x_38;
lean_dec(x_4);
x_36 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5;
x_37 = l_Lean_Expr_getRevArg_x21(x_25, x_36);
x_38 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_2, x_3, x_37);
lean_dec(x_37);
if (lean_obj_tag(x_38) == 0)
{
lean_object* x_39;
@ -13856,6 +13855,7 @@ uint8_t x_5; lean_object* x_6;
x_5 = lean_unbox(x_2);
lean_dec(x_2);
x_6 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_5, x_3, x_4);
lean_dec(x_4);
return x_6;
}
}
@ -13874,6 +13874,7 @@ uint8_t x_5; lean_object* x_6;
x_5 = lean_unbox(x_3);
lean_dec(x_3);
x_6 = l_Lean_Meta_Split_findSplit_x3f(x_1, x_2, x_5, x_4);
lean_dec(x_2);
return x_6;
}
}
@ -13969,14 +13970,12 @@ x_13 = lean_ctor_get(x_10, 1);
x_14 = lean_ctor_get(x_12, 0);
lean_inc(x_14);
lean_dec(x_12);
lean_inc(x_3);
lean_inc(x_4);
x_15 = l_Lean_Meta_Split_findSplit_x3f_go(x_14, x_2, x_4, x_3);
if (lean_obj_tag(x_15) == 0)
{
lean_object* x_16; lean_object* x_17; uint8_t x_18;
lean_dec(x_4);
lean_dec(x_3);
x_16 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__4___closed__3;
x_17 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_16, x_5, x_6, x_7, x_8, x_13);
x_18 = !lean_is_exclusive(x_17);
@ -14098,7 +14097,6 @@ lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_51 = !lean_is_exclusive(x_50);
if (x_51 == 0)
@ -14289,7 +14287,6 @@ lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
return x_50;
}
@ -14303,7 +14300,6 @@ lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
return x_50;
}
@ -14444,7 +14440,6 @@ lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_148 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_148, 0, x_109);
@ -14462,7 +14457,6 @@ lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_149 = lean_alloc_ctor(1, 2, 0);
lean_ctor_set(x_149, 0, x_109);
@ -14479,7 +14473,6 @@ lean_free_object(x_15);
lean_dec(x_47);
lean_free_object(x_10);
lean_dec(x_4);
lean_dec(x_3);
x_150 = lean_box(0);
x_151 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_150, x_5, x_6, x_7, x_8, x_13);
if (lean_obj_tag(x_151) == 0)
@ -14750,7 +14743,6 @@ lean_free_object(x_15);
lean_dec(x_47);
lean_free_object(x_10);
lean_dec(x_4);
lean_dec(x_3);
x_204 = lean_box(0);
x_205 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_204, x_5, x_6, x_7, x_8, x_13);
if (lean_obj_tag(x_205) == 0)
@ -15045,7 +15037,6 @@ lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_262 = lean_ctor_get(x_261, 0);
lean_inc(x_262);
@ -15214,7 +15205,6 @@ lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
if (lean_is_scalar(x_269)) {
x_307 = lean_alloc_ctor(1, 2, 0);
@ -15236,7 +15226,6 @@ lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
if (lean_is_scalar(x_269)) {
x_308 = lean_alloc_ctor(1, 2, 0);
@ -15255,7 +15244,6 @@ lean_object* x_309; lean_object* x_310;
lean_dec(x_258);
lean_free_object(x_10);
lean_dec(x_4);
lean_dec(x_3);
x_309 = lean_box(0);
x_310 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_309, x_5, x_6, x_7, x_8, x_13);
if (lean_obj_tag(x_310) == 0)
@ -15397,7 +15385,6 @@ lean_object* x_334; lean_object* x_335;
lean_dec(x_258);
lean_free_object(x_10);
lean_dec(x_4);
lean_dec(x_3);
x_334 = lean_box(0);
x_335 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_334, x_5, x_6, x_7, x_8, x_13);
if (lean_obj_tag(x_335) == 0)
@ -15546,14 +15533,12 @@ lean_dec(x_10);
x_361 = lean_ctor_get(x_359, 0);
lean_inc(x_361);
lean_dec(x_359);
lean_inc(x_3);
lean_inc(x_4);
x_362 = l_Lean_Meta_Split_findSplit_x3f_go(x_361, x_2, x_4, x_3);
if (lean_obj_tag(x_362) == 0)
{
lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; uint8_t x_369;
lean_dec(x_4);
lean_dec(x_3);
x_363 = l_Array_forInUnsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__4___closed__3;
x_364 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_363, x_5, x_6, x_7, x_8, x_360);
x_365 = lean_ctor_get(x_364, 0);
@ -15644,7 +15629,6 @@ lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
x_386 = lean_ctor_get(x_385, 0);
lean_inc(x_386);
@ -15815,7 +15799,6 @@ lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
if (lean_is_scalar(x_393)) {
x_432 = lean_alloc_ctor(1, 2, 0);
@ -15836,7 +15819,6 @@ lean_dec(x_7);
lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_1);
if (lean_is_scalar(x_393)) {
x_433 = lean_alloc_ctor(1, 2, 0);
@ -15855,7 +15837,6 @@ lean_object* x_434; lean_object* x_435;
lean_dec(x_382);
lean_dec(x_381);
lean_dec(x_4);
lean_dec(x_3);
x_434 = lean_box(0);
x_435 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_434, x_5, x_6, x_7, x_8, x_360);
if (lean_obj_tag(x_435) == 0)
@ -15997,7 +15978,6 @@ lean_object* x_459; lean_object* x_460;
lean_dec(x_382);
lean_dec(x_381);
lean_dec(x_4);
lean_dec(x_3);
x_459 = lean_box(0);
x_460 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_459, x_5, x_6, x_7, x_8, x_360);
if (lean_obj_tag(x_460) == 0)
@ -16144,6 +16124,7 @@ x_12 = lean_unbox(x_4);
lean_dec(x_4);
x_13 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_1, x_2, x_3, x_12, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
lean_dec(x_6);
lean_dec(x_5);
return x_13;
}
}
@ -16154,6 +16135,7 @@ uint8_t x_10; lean_object* x_11;
x_10 = lean_unbox(x_2);
lean_dec(x_2);
x_11 = l_Lean_Meta_splitTarget_x3f_go(x_1, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_3);
return x_11;
}
}
@ -16402,6 +16384,7 @@ lean_inc(x_13);
lean_dec(x_11);
x_14 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__1;
x_15 = l_Lean_Meta_splitTarget_x3f_go(x_1, x_2, x_12, x_14, x_3, x_4, x_5, x_6, x_13);
lean_dec(x_12);
return x_15;
}
else
@ -17407,6 +17390,7 @@ x_20 = lean_ctor_get(x_17, 1);
x_21 = 1;
x_22 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__1;
x_23 = l_Lean_Meta_Split_findSplit_x3f_go(x_12, x_21, x_22, x_19);
lean_dec(x_19);
if (lean_obj_tag(x_23) == 0)
{
lean_object* x_24;
@ -17941,6 +17925,7 @@ lean_dec(x_17);
x_128 = 1;
x_129 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__1;
x_130 = l_Lean_Meta_Split_findSplit_x3f_go(x_12, x_128, x_129, x_126);
lean_dec(x_126);
if (lean_obj_tag(x_130) == 0)
{
lean_object* x_131; lean_object* x_132;
@ -18384,6 +18369,7 @@ if (lean_is_exclusive(x_204)) {
x_208 = 1;
x_209 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__1;
x_210 = l_Lean_Meta_Split_findSplit_x3f_go(x_199, x_208, x_209, x_205);
lean_dec(x_205);
if (lean_obj_tag(x_210) == 0)
{
lean_object* x_211; lean_object* x_212;

View file

@ -126,6 +126,7 @@ static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_di
static lean_object* l_Lean_Meta_simpIfLocalDecl___closed__2;
LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Meta_mkDecide(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___boxed(lean_object*);
static uint32_t l_Lean_Meta_SplitIf_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_5____lambda__1___closed__8;
uint8_t lean_name_eq(lean_object*, lean_object*);
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
@ -144,7 +145,6 @@ lean_object* l_Lean_MessageData_ofExpr(lean_object*);
static lean_object* l_Lean_Meta_simpIfTarget___closed__7;
static lean_object* l_Lean_LazyInitExtension_get___at_Lean_Meta_SplitIf_getSimpContext___spec__1___closed__1;
LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__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*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
static lean_object* l_Lean_Meta_SplitIf_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_5____closed__1;
static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1615____closed__3;
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(lean_object*);
@ -198,6 +198,7 @@ lean_object* l_Lean_LocalDecl_toExpr(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___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*);
static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1615____closed__4;
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1615____closed__7;
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___boxed(lean_object*);
@ -3673,7 +3674,7 @@ _start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__1;
x_3 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_2, x_1);
x_3 = lean_find_expr(x_2, x_1);
if (lean_obj_tag(x_3) == 0)
{
lean_object* x_4;
@ -3693,7 +3694,6 @@ x_8 = l_Lean_Expr_getRevArg_x21(x_6, x_7);
x_9 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__3;
x_10 = l_Lean_Expr_getRevArg_x21(x_6, x_9);
lean_dec(x_6);
lean_inc(x_8);
x_11 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(x_8);
if (lean_obj_tag(x_11) == 0)
{
@ -3738,7 +3738,6 @@ x_18 = l_Lean_Expr_getRevArg_x21(x_16, x_17);
x_19 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__3;
x_20 = l_Lean_Expr_getRevArg_x21(x_16, x_19);
lean_dec(x_16);
lean_inc(x_18);
x_21 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(x_18);
if (lean_obj_tag(x_21) == 0)
{
@ -3786,6 +3785,15 @@ x_3 = lean_box(x_2);
return x_3;
}
}
LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___boxed(lean_object* x_1) {
_start:
{
lean_object* x_2;
x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(x_1);
lean_dec(x_1);
return x_2;
}
}
LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f___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, lean_object* x_10) {
_start:
{
@ -3970,6 +3978,7 @@ lean_object* x_11; lean_object* x_12; lean_object* x_13;
x_11 = lean_ctor_get(x_9, 0);
x_12 = lean_ctor_get(x_9, 1);
x_13 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(x_11);
lean_dec(x_11);
if (lean_obj_tag(x_13) == 0)
{
lean_object* x_14;
@ -4033,6 +4042,7 @@ lean_inc(x_28);
lean_inc(x_27);
lean_dec(x_9);
x_29 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(x_27);
lean_dec(x_27);
if (lean_obj_tag(x_29) == 0)
{
lean_object* x_30; lean_object* x_31;

View file

@ -4460,6 +4460,7 @@ x_8 = lean_ctor_get(x_7, 0);
lean_inc(x_8);
lean_dec(x_7);
x_9 = l_Lean_Expr_hasSyntheticSorry(x_8);
lean_dec(x_8);
if (x_9 == 0)
{
size_t x_10; size_t x_11;

View file

@ -40,6 +40,7 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_OmissionReason_toCtorI
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_delabCore___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__9;
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_getUnusedName_bodyUsesSuggestion___boxed(lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_getUnusedName___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_PrettyPrinter_Delaborator_SubExpr_getExpr___at_Lean_PrettyPrinter_Delaborator_getExprKind___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_getPos___at_Lean_PrettyPrinter_Delaborator_getOptionsAtCurrPos___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
static lean_object* l_Lean_PrettyPrinter_Delaborator_omission___closed__5;
@ -291,7 +292,6 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__7;
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_delabCore(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_mkAnnotatedIdent(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Core_transform___at_Lean_Core_betaReduce___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_instAlternativeDelabM___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabFailureId;
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_PrettyPrinter_Delaborator_withBindingBodyUnusedName___spec__3___rarg___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*);
@ -409,6 +409,7 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_withBindingBodyUnusedN
uint8_t l_Lean_Expr_isMData(lean_object*);
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_nextExtraPos___at_Lean_PrettyPrinter_Delaborator_mkAnnotatedIdent___spec__1___boxed(lean_object*);
lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
static lean_object* l_Lean_PrettyPrinter_Delaborator_omission___closed__3;
static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__6;
@ -6351,7 +6352,8 @@ lean_object* x_4; lean_object* x_5;
x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Delaborator_getUnusedName_bodyUsesSuggestion___lambda__1___boxed), 3, 2);
lean_closure_set(x_4, 0, x_2);
lean_closure_set(x_4, 1, x_3);
x_5 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_4, x_1);
x_5 = lean_find_expr(x_4, x_1);
lean_dec(x_4);
if (lean_obj_tag(x_5) == 0)
{
uint8_t x_6;
@ -6382,6 +6384,7 @@ _start:
{
uint8_t x_4; lean_object* x_5;
x_4 = l_Lean_PrettyPrinter_Delaborator_getUnusedName_bodyUsesSuggestion(x_1, x_2, x_3);
lean_dec(x_1);
x_5 = lean_box(x_4);
return x_5;
}
@ -6443,7 +6446,6 @@ lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_14 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_14, 0, x_12);
lean_ctor_set(x_14, 1, x_9);
@ -6464,7 +6466,6 @@ lean_dec(x_17);
if (x_18 == 0)
{
uint8_t x_19;
lean_dec(x_2);
x_19 = !lean_is_exclusive(x_16);
if (x_19 == 0)
{
@ -6553,7 +6554,6 @@ else
uint8_t x_34;
lean_dec(x_12);
lean_dec(x_11);
lean_dec(x_2);
x_34 = !lean_is_exclusive(x_16);
if (x_34 == 0)
{
@ -6593,7 +6593,6 @@ lean_dec(x_6);
lean_dec(x_5);
lean_dec(x_4);
lean_dec(x_3);
lean_dec(x_2);
x_41 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_41, 0, x_39);
lean_ctor_set(x_41, 1, x_9);
@ -6614,7 +6613,6 @@ lean_dec(x_44);
if (x_45 == 0)
{
uint8_t x_46;
lean_dec(x_2);
x_46 = !lean_is_exclusive(x_43);
if (x_46 == 0)
{
@ -6700,7 +6698,6 @@ else
{
uint8_t x_61;
lean_dec(x_38);
lean_dec(x_2);
x_61 = !lean_is_exclusive(x_43);
if (x_61 == 0)
{
@ -6724,6 +6721,15 @@ return x_64;
}
}
}
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_getUnusedName___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_Lean_PrettyPrinter_Delaborator_getUnusedName(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9);
lean_dec(x_2);
return x_10;
}
}
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_nextExtraPos___at_Lean_PrettyPrinter_Delaborator_mkAnnotatedIdent___spec__1___rarg(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:
{
@ -7149,6 +7155,7 @@ lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
x_17 = l_Lean_PrettyPrinter_Delaborator_getUnusedName(x_15, x_16, x_2, x_3, x_4, x_5, x_6, x_7, x_14);
lean_dec(x_16);
if (lean_obj_tag(x_17) == 0)
{
lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;

View file

@ -23079,7 +23079,6 @@ lean_inc(x_8);
lean_inc(x_7);
lean_inc(x_6);
lean_inc(x_5);
lean_inc(x_2);
x_21 = l_Lean_PrettyPrinter_Delaborator_getUnusedName(x_20, x_2, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
if (lean_obj_tag(x_21) == 0)
{
@ -28735,6 +28734,7 @@ lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
x_17 = l_Lean_PrettyPrinter_Delaborator_getUnusedName(x_15, x_16, x_2, x_3, x_4, x_5, x_6, x_7, x_13);
lean_dec(x_16);
if (lean_obj_tag(x_17) == 0)
{
lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
@ -34916,7 +34916,6 @@ lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_1);
lean_inc(x_15);
x_16 = l_Lean_PrettyPrinter_Delaborator_getUnusedName(x_12, x_15, x_1, x_2, x_3, x_4, x_5, x_6, x_10);
if (lean_obj_tag(x_16) == 0)
{
@ -43777,7 +43776,6 @@ lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_1);
lean_inc(x_66);
x_67 = l_Lean_PrettyPrinter_Delaborator_getUnusedName(x_63, x_66, x_1, x_2, x_3, x_4, x_5, x_6, x_62);
if (lean_obj_tag(x_67) == 0)
{
@ -44265,7 +44263,6 @@ lean_inc(x_4);
lean_inc(x_3);
lean_inc(x_2);
lean_inc(x_1);
lean_inc(x_174);
x_175 = l_Lean_PrettyPrinter_Delaborator_getUnusedName(x_171, x_174, x_1, x_2, x_3, x_4, x_5, x_6, x_170);
if (lean_obj_tag(x_175) == 0)
{

View file

@ -18291,6 +18291,7 @@ if (x_18 == 0)
lean_object* x_19; uint8_t x_20; lean_object* x_21;
x_19 = lean_ctor_get(x_17, 0);
x_20 = l_Lean_Expr_hasSorry(x_19);
lean_dec(x_19);
x_21 = lean_box(x_20);
lean_ctor_set(x_17, 0, x_21);
return x_17;
@ -18304,6 +18305,7 @@ lean_inc(x_23);
lean_inc(x_22);
lean_dec(x_17);
x_24 = l_Lean_Expr_hasSorry(x_22);
lean_dec(x_22);
x_25 = lean_box(x_24);
x_26 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_26, 0, x_25);
@ -18460,6 +18462,7 @@ if (x_55 == 0)
lean_object* x_56; uint8_t x_57; lean_object* x_58;
x_56 = lean_ctor_get(x_54, 0);
x_57 = l_Lean_Expr_hasSorry(x_56);
lean_dec(x_56);
x_58 = lean_box(x_57);
lean_ctor_set(x_54, 0, x_58);
return x_54;
@ -18473,6 +18476,7 @@ lean_inc(x_60);
lean_inc(x_59);
lean_dec(x_54);
x_61 = l_Lean_Expr_hasSorry(x_59);
lean_dec(x_59);
x_62 = lean_box(x_61);
x_63 = lean_alloc_ctor(0, 2, 0);
lean_ctor_set(x_63, 0, x_62);

File diff suppressed because it is too large Load diff

View file

@ -31,7 +31,9 @@ LEAN_EXPORT lean_object* l_Lean_Expr_ReplaceImpl_cache(lean_object*, uint8_t, le
LEAN_EXPORT lean_object* l_Lean_Expr_ReplaceImpl_replaceUnsafe(lean_object*, lean_object*);
size_t lean_ptr_addr(lean_object*);
uint8_t lean_is_exclusive_obj(lean_object*);
lean_object* lean_replace_expr(lean_object*, lean_object*);
uint64_t lean_usize_to_uint64(size_t);
LEAN_EXPORT lean_object* l_Lean_Expr_replaceImpl___boxed(lean_object*, lean_object*);
lean_object* l_Lean_Expr_forallE___override(lean_object*, lean_object*, lean_object*, uint8_t);
LEAN_EXPORT lean_object* l_Lean_Expr_ReplaceImpl_cache___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_AssocList_contains___at_Lean_Expr_ReplaceImpl_cache___spec__2___boxed(lean_object*, lean_object*);
@ -1380,6 +1382,16 @@ return x_85;
}
}
}
LEAN_EXPORT lean_object* l_Lean_Expr_replaceImpl___boxed(lean_object* x_1, lean_object* x_2) {
_start:
{
lean_object* x_3;
x_3 = lean_replace_expr(x_1, x_2);
lean_dec(x_2);
lean_dec(x_1);
return x_3;
}
}
lean_object* initialize_Lean_Expr(uint8_t builtin, lean_object*);
lean_object* initialize_Lean_Util_PtrSet(uint8_t builtin, lean_object*);
static bool _G_initialized = false;

View file

@ -42,7 +42,6 @@ LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_hasSorry___spec__4_
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_hasNonSyntheticSorry___spec__2___boxed(lean_object*, lean_object*);
static lean_object* l_Lean_Expr_isSyntheticSorry___closed__2;
lean_object* l_Lean_Expr_FindImpl_findUnsafe_x3f(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_Lean_Declaration_foldExprM___at_Lean_Declaration_hasNonSyntheticSorry___spec__1(lean_object*, uint8_t);
LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_hasSorry___spec__3___boxed(lean_object*, lean_object*);
uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*);
@ -53,6 +52,7 @@ LEAN_EXPORT uint8_t l_List_foldlM___at_Lean_Declaration_hasNonSyntheticSorry___s
LEAN_EXPORT lean_object* l_Lean_Expr_hasSorry___lambda__1___boxed(lean_object*);
LEAN_EXPORT uint8_t l_Lean_Expr_hasNonSyntheticSorry(lean_object*);
LEAN_EXPORT uint8_t l_List_foldlM___at_Lean_Declaration_hasSorry___spec__2(uint8_t, lean_object*);
lean_object* lean_find_expr(lean_object*, lean_object*);
LEAN_EXPORT uint8_t l_List_foldlM___at_Lean_Declaration_hasSorry___spec__3(uint8_t, lean_object*);
LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Declaration_hasNonSyntheticSorry___spec__4___boxed(lean_object*, lean_object*);
LEAN_EXPORT lean_object* l_Lean_Expr_hasNonSyntheticSorry___boxed(lean_object*);
@ -480,7 +480,7 @@ _start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Lean_Expr_hasSorry___closed__1;
x_3 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_2, x_1);
x_3 = lean_find_expr(x_2, x_1);
if (lean_obj_tag(x_3) == 0)
{
uint8_t x_4;
@ -511,6 +511,7 @@ _start:
{
uint8_t x_2; lean_object* x_3;
x_2 = l_Lean_Expr_hasSorry(x_1);
lean_dec(x_1);
x_3 = lean_box(x_2);
return x_3;
}
@ -528,7 +529,7 @@ _start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Lean_Expr_hasSyntheticSorry___closed__1;
x_3 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_2, x_1);
x_3 = lean_find_expr(x_2, x_1);
if (lean_obj_tag(x_3) == 0)
{
uint8_t x_4;
@ -549,6 +550,7 @@ _start:
{
uint8_t x_2; lean_object* x_3;
x_2 = l_Lean_Expr_hasSyntheticSorry(x_1);
lean_dec(x_1);
x_3 = lean_box(x_2);
return x_3;
}
@ -566,7 +568,7 @@ _start:
{
lean_object* x_2; lean_object* x_3;
x_2 = l_Lean_Expr_hasNonSyntheticSorry___closed__1;
x_3 = l_Lean_Expr_FindImpl_findUnsafe_x3f(x_2, x_1);
x_3 = lean_find_expr(x_2, x_1);
if (lean_obj_tag(x_3) == 0)
{
uint8_t x_4;
@ -587,6 +589,7 @@ _start:
{
uint8_t x_2; lean_object* x_3;
x_2 = l_Lean_Expr_hasNonSyntheticSorry(x_1);
lean_dec(x_1);
x_3 = lean_box(x_2);
return x_3;
}
@ -604,22 +607,14 @@ if (x_1 == 0)
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
x_4 = lean_ctor_get(x_2, 1);
lean_inc(x_4);
lean_dec(x_2);
x_5 = lean_ctor_get(x_3, 0);
lean_inc(x_5);
x_6 = lean_ctor_get(x_5, 2);
lean_inc(x_6);
lean_dec(x_5);
x_7 = l_Lean_Expr_hasSorry(x_6);
if (x_7 == 0)
{
lean_object* x_8; uint8_t x_9;
x_8 = lean_ctor_get(x_3, 1);
lean_inc(x_8);
lean_dec(x_3);
x_9 = l_Lean_Expr_hasSorry(x_8);
x_1 = x_9;
x_2 = x_4;
@ -628,7 +623,6 @@ goto _start;
else
{
uint8_t x_11;
lean_dec(x_3);
x_11 = 1;
x_1 = x_11;
x_2 = x_4;
@ -639,8 +633,6 @@ else
{
lean_object* x_13; uint8_t x_14;
x_13 = lean_ctor_get(x_2, 1);
lean_inc(x_13);
lean_dec(x_2);
x_14 = 1;
x_1 = x_14;
x_2 = x_13;
@ -662,13 +654,8 @@ if (x_1 == 0)
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
x_4 = lean_ctor_get(x_2, 1);
lean_inc(x_4);
lean_dec(x_2);
x_5 = lean_ctor_get(x_3, 1);
lean_inc(x_5);
lean_dec(x_3);
x_6 = l_Lean_Expr_hasSorry(x_5);
x_1 = x_6;
x_2 = x_4;
@ -678,8 +665,6 @@ else
{
lean_object* x_8; uint8_t x_9;
x_8 = lean_ctor_get(x_2, 1);
lean_inc(x_8);
lean_dec(x_2);
x_9 = 1;
x_1 = x_9;
x_2 = x_8;
@ -701,15 +686,9 @@ if (x_1 == 0)
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7; uint8_t x_8;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
x_4 = lean_ctor_get(x_2, 1);
lean_inc(x_4);
lean_dec(x_2);
x_5 = lean_ctor_get(x_3, 2);
lean_inc(x_5);
x_6 = lean_ctor_get(x_3, 1);
lean_inc(x_6);
lean_dec(x_3);
x_7 = l_Lean_Expr_hasSorry(x_6);
x_8 = l_List_foldlM___at_Lean_Declaration_hasSorry___spec__3(x_7, x_5);
x_1 = x_8;
@ -720,13 +699,8 @@ else
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; uint8_t x_14;
x_10 = lean_ctor_get(x_2, 0);
lean_inc(x_10);
x_11 = lean_ctor_get(x_2, 1);
lean_inc(x_11);
lean_dec(x_2);
x_12 = lean_ctor_get(x_10, 2);
lean_inc(x_12);
lean_dec(x_10);
x_13 = 1;
x_14 = l_List_foldlM___at_Lean_Declaration_hasSorry___spec__3(x_13, x_12);
x_1 = x_14;
@ -742,26 +716,18 @@ _start:
switch (lean_obj_tag(x_1)) {
case 0:
{
lean_object* x_3; lean_object* x_4;
x_3 = lean_ctor_get(x_1, 0);
lean_inc(x_3);
lean_dec(x_1);
x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
lean_dec(x_3);
if (x_2 == 0)
{
lean_object* x_5; uint8_t x_6;
lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
x_3 = lean_ctor_get(x_1, 0);
x_4 = lean_ctor_get(x_3, 0);
x_5 = lean_ctor_get(x_4, 2);
lean_inc(x_5);
lean_dec(x_4);
x_6 = l_Lean_Expr_hasSorry(x_5);
return x_6;
}
else
{
uint8_t x_7;
lean_dec(x_4);
x_7 = 1;
return x_7;
}
@ -774,8 +740,6 @@ case 5:
{
lean_object* x_8; uint8_t x_9;
x_8 = lean_ctor_get(x_1, 0);
lean_inc(x_8);
lean_dec(x_1);
x_9 = l_List_foldlM___at_Lean_Declaration_hasSorry___spec__2(x_2, x_8);
return x_9;
}
@ -783,28 +747,18 @@ case 6:
{
lean_object* x_10; uint8_t x_11;
x_10 = lean_ctor_get(x_1, 2);
lean_inc(x_10);
lean_dec(x_1);
x_11 = l_List_foldlM___at_Lean_Declaration_hasSorry___spec__4(x_2, x_10);
return x_11;
}
default:
{
lean_object* x_12; lean_object* x_13;
x_12 = lean_ctor_get(x_1, 0);
lean_inc(x_12);
lean_dec(x_1);
x_13 = lean_ctor_get(x_12, 0);
lean_inc(x_13);
if (x_2 == 0)
{
lean_object* x_14; lean_object* x_15; uint8_t x_16;
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16;
x_12 = lean_ctor_get(x_1, 0);
x_13 = lean_ctor_get(x_12, 0);
x_14 = lean_ctor_get(x_12, 1);
lean_inc(x_14);
lean_dec(x_12);
x_15 = lean_ctor_get(x_13, 2);
lean_inc(x_15);
lean_dec(x_13);
x_16 = l_Lean_Expr_hasSorry(x_15);
if (x_16 == 0)
{
@ -815,7 +769,6 @@ return x_17;
else
{
uint8_t x_18;
lean_dec(x_14);
x_18 = 1;
return x_18;
}
@ -823,8 +776,6 @@ return x_18;
else
{
uint8_t x_19;
lean_dec(x_13);
lean_dec(x_12);
x_19 = 1;
return x_19;
}
@ -848,6 +799,7 @@ uint8_t x_3; uint8_t x_4; lean_object* x_5;
x_3 = lean_unbox(x_1);
lean_dec(x_1);
x_4 = l_List_foldlM___at_Lean_Declaration_hasSorry___spec__2(x_3, x_2);
lean_dec(x_2);
x_5 = lean_box(x_4);
return x_5;
}
@ -859,6 +811,7 @@ uint8_t x_3; uint8_t x_4; lean_object* x_5;
x_3 = lean_unbox(x_1);
lean_dec(x_1);
x_4 = l_List_foldlM___at_Lean_Declaration_hasSorry___spec__3(x_3, x_2);
lean_dec(x_2);
x_5 = lean_box(x_4);
return x_5;
}
@ -870,6 +823,7 @@ uint8_t x_3; uint8_t x_4; lean_object* x_5;
x_3 = lean_unbox(x_1);
lean_dec(x_1);
x_4 = l_List_foldlM___at_Lean_Declaration_hasSorry___spec__4(x_3, x_2);
lean_dec(x_2);
x_5 = lean_box(x_4);
return x_5;
}
@ -881,6 +835,7 @@ uint8_t x_3; uint8_t x_4; lean_object* x_5;
x_3 = lean_unbox(x_2);
lean_dec(x_2);
x_4 = l_Lean_Declaration_foldExprM___at_Lean_Declaration_hasSorry___spec__1(x_1, x_3);
lean_dec(x_1);
x_5 = lean_box(x_4);
return x_5;
}
@ -890,6 +845,7 @@ _start:
{
uint8_t x_2; lean_object* x_3;
x_2 = l_Lean_Declaration_hasSorry(x_1);
lean_dec(x_1);
x_3 = lean_box(x_2);
return x_3;
}
@ -907,22 +863,14 @@ if (x_1 == 0)
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
x_4 = lean_ctor_get(x_2, 1);
lean_inc(x_4);
lean_dec(x_2);
x_5 = lean_ctor_get(x_3, 0);
lean_inc(x_5);
x_6 = lean_ctor_get(x_5, 2);
lean_inc(x_6);
lean_dec(x_5);
x_7 = l_Lean_Expr_hasNonSyntheticSorry(x_6);
if (x_7 == 0)
{
lean_object* x_8; uint8_t x_9;
x_8 = lean_ctor_get(x_3, 1);
lean_inc(x_8);
lean_dec(x_3);
x_9 = l_Lean_Expr_hasNonSyntheticSorry(x_8);
x_1 = x_9;
x_2 = x_4;
@ -931,7 +879,6 @@ goto _start;
else
{
uint8_t x_11;
lean_dec(x_3);
x_11 = 1;
x_1 = x_11;
x_2 = x_4;
@ -942,8 +889,6 @@ else
{
lean_object* x_13; uint8_t x_14;
x_13 = lean_ctor_get(x_2, 1);
lean_inc(x_13);
lean_dec(x_2);
x_14 = 1;
x_1 = x_14;
x_2 = x_13;
@ -965,13 +910,8 @@ if (x_1 == 0)
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
x_4 = lean_ctor_get(x_2, 1);
lean_inc(x_4);
lean_dec(x_2);
x_5 = lean_ctor_get(x_3, 1);
lean_inc(x_5);
lean_dec(x_3);
x_6 = l_Lean_Expr_hasNonSyntheticSorry(x_5);
x_1 = x_6;
x_2 = x_4;
@ -981,8 +921,6 @@ else
{
lean_object* x_8; uint8_t x_9;
x_8 = lean_ctor_get(x_2, 1);
lean_inc(x_8);
lean_dec(x_2);
x_9 = 1;
x_1 = x_9;
x_2 = x_8;
@ -1004,15 +942,9 @@ if (x_1 == 0)
{
lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7; uint8_t x_8;
x_3 = lean_ctor_get(x_2, 0);
lean_inc(x_3);
x_4 = lean_ctor_get(x_2, 1);
lean_inc(x_4);
lean_dec(x_2);
x_5 = lean_ctor_get(x_3, 2);
lean_inc(x_5);
x_6 = lean_ctor_get(x_3, 1);
lean_inc(x_6);
lean_dec(x_3);
x_7 = l_Lean_Expr_hasNonSyntheticSorry(x_6);
x_8 = l_List_foldlM___at_Lean_Declaration_hasNonSyntheticSorry___spec__3(x_7, x_5);
x_1 = x_8;
@ -1023,13 +955,8 @@ else
{
lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; uint8_t x_14;
x_10 = lean_ctor_get(x_2, 0);
lean_inc(x_10);
x_11 = lean_ctor_get(x_2, 1);
lean_inc(x_11);
lean_dec(x_2);
x_12 = lean_ctor_get(x_10, 2);
lean_inc(x_12);
lean_dec(x_10);
x_13 = 1;
x_14 = l_List_foldlM___at_Lean_Declaration_hasNonSyntheticSorry___spec__3(x_13, x_12);
x_1 = x_14;
@ -1045,26 +972,18 @@ _start:
switch (lean_obj_tag(x_1)) {
case 0:
{
lean_object* x_3; lean_object* x_4;
x_3 = lean_ctor_get(x_1, 0);
lean_inc(x_3);
lean_dec(x_1);
x_4 = lean_ctor_get(x_3, 0);
lean_inc(x_4);
lean_dec(x_3);
if (x_2 == 0)
{
lean_object* x_5; uint8_t x_6;
lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6;
x_3 = lean_ctor_get(x_1, 0);
x_4 = lean_ctor_get(x_3, 0);
x_5 = lean_ctor_get(x_4, 2);
lean_inc(x_5);
lean_dec(x_4);
x_6 = l_Lean_Expr_hasNonSyntheticSorry(x_5);
return x_6;
}
else
{
uint8_t x_7;
lean_dec(x_4);
x_7 = 1;
return x_7;
}
@ -1077,8 +996,6 @@ case 5:
{
lean_object* x_8; uint8_t x_9;
x_8 = lean_ctor_get(x_1, 0);
lean_inc(x_8);
lean_dec(x_1);
x_9 = l_List_foldlM___at_Lean_Declaration_hasNonSyntheticSorry___spec__2(x_2, x_8);
return x_9;
}
@ -1086,28 +1003,18 @@ case 6:
{
lean_object* x_10; uint8_t x_11;
x_10 = lean_ctor_get(x_1, 2);
lean_inc(x_10);
lean_dec(x_1);
x_11 = l_List_foldlM___at_Lean_Declaration_hasNonSyntheticSorry___spec__4(x_2, x_10);
return x_11;
}
default:
{
lean_object* x_12; lean_object* x_13;
x_12 = lean_ctor_get(x_1, 0);
lean_inc(x_12);
lean_dec(x_1);
x_13 = lean_ctor_get(x_12, 0);
lean_inc(x_13);
if (x_2 == 0)
{
lean_object* x_14; lean_object* x_15; uint8_t x_16;
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16;
x_12 = lean_ctor_get(x_1, 0);
x_13 = lean_ctor_get(x_12, 0);
x_14 = lean_ctor_get(x_12, 1);
lean_inc(x_14);
lean_dec(x_12);
x_15 = lean_ctor_get(x_13, 2);
lean_inc(x_15);
lean_dec(x_13);
x_16 = l_Lean_Expr_hasNonSyntheticSorry(x_15);
if (x_16 == 0)
{
@ -1118,7 +1025,6 @@ return x_17;
else
{
uint8_t x_18;
lean_dec(x_14);
x_18 = 1;
return x_18;
}
@ -1126,8 +1032,6 @@ return x_18;
else
{
uint8_t x_19;
lean_dec(x_13);
lean_dec(x_12);
x_19 = 1;
return x_19;
}
@ -1151,6 +1055,7 @@ uint8_t x_3; uint8_t x_4; lean_object* x_5;
x_3 = lean_unbox(x_1);
lean_dec(x_1);
x_4 = l_List_foldlM___at_Lean_Declaration_hasNonSyntheticSorry___spec__2(x_3, x_2);
lean_dec(x_2);
x_5 = lean_box(x_4);
return x_5;
}
@ -1162,6 +1067,7 @@ uint8_t x_3; uint8_t x_4; lean_object* x_5;
x_3 = lean_unbox(x_1);
lean_dec(x_1);
x_4 = l_List_foldlM___at_Lean_Declaration_hasNonSyntheticSorry___spec__3(x_3, x_2);
lean_dec(x_2);
x_5 = lean_box(x_4);
return x_5;
}
@ -1173,6 +1079,7 @@ uint8_t x_3; uint8_t x_4; lean_object* x_5;
x_3 = lean_unbox(x_1);
lean_dec(x_1);
x_4 = l_List_foldlM___at_Lean_Declaration_hasNonSyntheticSorry___spec__4(x_3, x_2);
lean_dec(x_2);
x_5 = lean_box(x_4);
return x_5;
}
@ -1184,6 +1091,7 @@ uint8_t x_3; uint8_t x_4; lean_object* x_5;
x_3 = lean_unbox(x_2);
lean_dec(x_2);
x_4 = l_Lean_Declaration_foldExprM___at_Lean_Declaration_hasNonSyntheticSorry___spec__1(x_1, x_3);
lean_dec(x_1);
x_5 = lean_box(x_4);
return x_5;
}
@ -1193,6 +1101,7 @@ _start:
{
uint8_t x_2; lean_object* x_3;
x_2 = l_Lean_Declaration_hasNonSyntheticSorry(x_1);
lean_dec(x_1);
x_3 = lean_box(x_2);
return x_3;
}