diff --git a/stage0/src/runtime/compact.cpp b/stage0/src/runtime/compact.cpp index 715c7e2493..786eca5d06 100644 --- a/stage0/src/runtime/compact.cpp +++ b/stage0/src/runtime/compact.cpp @@ -387,15 +387,10 @@ compacted_region::compacted_region(size_t sz, void * data, void * base_addr, boo m_end(static_cast(data)+sz) { } -compacted_region::compacted_region(object_compactor const & c): - m_begin(malloc(c.size())), - m_next(m_begin), - m_end(static_cast(m_begin) + c.size()) { - memcpy(m_begin, c.data(), c.size()); -} - compacted_region::~compacted_region() { - m_free_data(); + if (m_free_data) { + m_free_data(); + } } inline object * compacted_region::fix_object_ptr(object * o) { diff --git a/stage0/src/stdlib_flags.h b/stage0/src/stdlib_flags.h index b64fc2dae6..3205214e2e 100644 --- a/stage0/src/stdlib_flags.h +++ b/stage0/src/stdlib_flags.h @@ -1,5 +1,7 @@ #include "util/options.h" +// please update + namespace lean { options get_default_options() { options opts; diff --git a/stage0/stdlib/Init/Data/Array/Basic.c b/stage0/stdlib/Init/Data/Array/Basic.c index 324bc6d5ce..32f826029f 100644 --- a/stage0/stdlib/Init/Data/Array/Basic.c +++ b/stage0/stdlib/Init/Data/Array/Basic.c @@ -2343,7 +2343,7 @@ x_9 = l_Array_swapAt_x21___rarg___closed__2; x_10 = lean_string_append(x_8, x_9); x_11 = l_Array_swapAt_x21___rarg___closed__3; x_12 = l_Array_swapAt_x21___rarg___closed__4; -x_13 = lean_unsigned_to_nat(436u); +x_13 = lean_unsigned_to_nat(438u); x_14 = lean_unsigned_to_nat(4u); x_15 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_11, x_12, x_13, x_14, x_10); lean_dec(x_10); @@ -7817,7 +7817,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_swapAt_x21___rarg___closed__3; x_2 = l_Array_findSome_x21___rarg___closed__1; -x_3 = lean_unsigned_to_nat(1219u); +x_3 = lean_unsigned_to_nat(1221u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Array_findSome_x21___rarg___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11642,7 +11642,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_swapAt_x21___rarg___closed__3; x_2 = l_Array_eraseIdx_x21___rarg___closed__1; -x_3 = lean_unsigned_to_nat(1819u); +x_3 = lean_unsigned_to_nat(1821u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_Array_eraseIdx_x21___rarg___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -11872,7 +11872,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_swapAt_x21___rarg___closed__3; x_2 = l_Array_insertIdx_x21___rarg___closed__1; -x_3 = lean_unsigned_to_nat(1904u); +x_3 = lean_unsigned_to_nat(1906u); x_4 = lean_unsigned_to_nat(7u); x_5 = l_Array_eraseIdx_x21___rarg___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Init/Data/ByteArray/Basic.c b/stage0/stdlib/Init/Data/ByteArray/Basic.c index 4c0e7d03e8..e6c9d9adfe 100644 --- a/stage0/stdlib/Init/Data/ByteArray/Basic.c +++ b/stage0/stdlib/Init/Data/ByteArray/Basic.c @@ -2322,7 +2322,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_ByteArray_toUInt64LE_x21___closed__4; x_2 = l_ByteArray_toUInt64LE_x21___closed__5; -x_3 = lean_unsigned_to_nat(353u); +x_3 = lean_unsigned_to_nat(355u); x_4 = lean_unsigned_to_nat(2u); x_5 = l_ByteArray_toUInt64LE_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -2420,7 +2420,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_ByteArray_toUInt64LE_x21___closed__4; x_2 = l_ByteArray_toUInt64BE_x21___closed__1; -x_3 = lean_unsigned_to_nat(365u); +x_3 = lean_unsigned_to_nat(367u); x_4 = lean_unsigned_to_nat(2u); x_5 = l_ByteArray_toUInt64LE_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Init/Data/List/BasicAux.c b/stage0/stdlib/Init/Data/List/BasicAux.c index b3bfde1cfd..6d91658d58 100644 --- a/stage0/stdlib/Init/Data/List/BasicAux.c +++ b/stage0/stdlib/Init/Data/List/BasicAux.c @@ -260,7 +260,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_get_x21___rarg___closed__1; x_2 = l_List_get_x21___rarg___closed__2; -x_3 = lean_unsigned_to_nat(66u); +x_3 = lean_unsigned_to_nat(68u); x_4 = lean_unsigned_to_nat(18u); x_5 = l_List_get_x21___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -382,7 +382,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_get_x21___rarg___closed__1; x_2 = l_List_getLast_x21___rarg___closed__1; -x_3 = lean_unsigned_to_nat(113u); +x_3 = lean_unsigned_to_nat(115u); x_4 = lean_unsigned_to_nat(13u); x_5 = l_List_getLast_x21___rarg___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -449,7 +449,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_get_x21___rarg___closed__1; x_2 = l_List_head_x21___rarg___closed__1; -x_3 = lean_unsigned_to_nat(129u); +x_3 = lean_unsigned_to_nat(131u); x_4 = lean_unsigned_to_nat(12u); x_5 = l_List_getLast_x21___rarg___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -524,7 +524,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_get_x21___rarg___closed__1; x_2 = l_List_tail_x21___rarg___closed__1; -x_3 = lean_unsigned_to_nat(148u); +x_3 = lean_unsigned_to_nat(150u); x_4 = lean_unsigned_to_nat(13u); x_5 = l_List_getLast_x21___rarg___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Init/Data/Option/BasicAux.c b/stage0/stdlib/Init/Data/Option/BasicAux.c index ec701dd97f..1967dd5b21 100644 --- a/stage0/stdlib/Init/Data/Option/BasicAux.c +++ b/stage0/stdlib/Init/Data/Option/BasicAux.c @@ -52,7 +52,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Option_get_x21___rarg___closed__1; x_2 = l_Option_get_x21___rarg___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Option_get_x21___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Init/Data/String/Extra.c b/stage0/stdlib/Init/Data/String/Extra.c index 6aa22548f5..3a3989ff8e 100644 --- a/stage0/stdlib/Init/Data/String/Extra.c +++ b/stage0/stdlib/Init/Data/String/Extra.c @@ -191,7 +191,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_String_toNat_x21___closed__1; x_2 = l_String_toNat_x21___closed__2; -x_3 = lean_unsigned_to_nat(31u); +x_3 = lean_unsigned_to_nat(33u); x_4 = lean_unsigned_to_nat(4u); x_5 = l_String_toNat_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -864,7 +864,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_String_toNat_x21___closed__1; x_2 = l_String_fromUTF8_x21___closed__1; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_String_fromUTF8_x21___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Init/Data/Vector/Basic.c b/stage0/stdlib/Init/Data/Vector/Basic.c index 29131970d7..4fc953f16b 100644 --- a/stage0/stdlib/Init/Data/Vector/Basic.c +++ b/stage0/stdlib/Init/Data/Vector/Basic.c @@ -5056,7 +5056,7 @@ x_10 = l_Vector_swapAt_x21___rarg___closed__2; x_11 = lean_string_append(x_9, x_10); x_12 = l_Vector_swapAt_x21___rarg___closed__3; x_13 = l_Vector_swapAt_x21___rarg___closed__4; -x_14 = lean_unsigned_to_nat(436u); +x_14 = lean_unsigned_to_nat(438u); x_15 = lean_unsigned_to_nat(4u); x_16 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_12, x_13, x_14, x_15, x_11); lean_dec(x_11); @@ -5388,7 +5388,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Vector_eraseIdx_x21___rarg___closed__1; x_2 = l_Vector_eraseIdx_x21___rarg___closed__2; -x_3 = lean_unsigned_to_nat(370u); +x_3 = lean_unsigned_to_nat(372u); x_4 = lean_unsigned_to_nat(4u); x_5 = l_Vector_eraseIdx_x21___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -5517,7 +5517,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Vector_eraseIdx_x21___rarg___closed__1; x_2 = l_Vector_insertIdx_x21___rarg___closed__1; -x_3 = lean_unsigned_to_nat(383u); +x_3 = lean_unsigned_to_nat(385u); x_4 = lean_unsigned_to_nat(4u); x_5 = l_Vector_eraseIdx_x21___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Init/GetElem.c b/stage0/stdlib/Init/GetElem.c index 7a3ec396c4..715d259fb5 100644 --- a/stage0/stdlib/Init/GetElem.c +++ b/stage0/stdlib/Init/GetElem.c @@ -353,7 +353,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_outOfBounds___rarg___closed__1; x_2 = l_outOfBounds___rarg___closed__2; -x_3 = lean_unsigned_to_nat(11u); +x_3 = lean_unsigned_to_nat(13u); x_4 = lean_unsigned_to_nat(2u); x_5 = l_outOfBounds___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -3550,7 +3550,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_outOfBounds___rarg___closed__1; x_2 = l___private_Init_GetElem_0__List_get_x21Internal___rarg___closed__1; -x_3 = lean_unsigned_to_nat(272u); +x_3 = lean_unsigned_to_nat(274u); x_4 = lean_unsigned_to_nat(18u); x_5 = l___private_Init_GetElem_0__List_get_x21Internal___rarg___closed__2; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Init/Meta.c b/stage0/stdlib/Init/Meta.c index 0be5a4478d..71fd8b40a3 100644 --- a/stage0/stdlib/Init/Meta.c +++ b/stage0/stdlib/Init/Meta.c @@ -14851,7 +14851,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_foldr___at_Substring_toName___spec__1___closed__1; x_2 = l_List_foldr___at_Substring_toName___spec__1___closed__2; -x_3 = lean_unsigned_to_nat(1039u); +x_3 = lean_unsigned_to_nat(1041u); x_4 = lean_unsigned_to_nat(10u); x_5 = l_List_foldr___at_Substring_toName___spec__1___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Init/System/IO.c b/stage0/stdlib/Init/System/IO.c index 5f165c5308..0d7abb45f4 100644 --- a/stage0/stdlib/Init/System/IO.c +++ b/stage0/stdlib/Init/System/IO.c @@ -11027,7 +11027,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___rarg___lambda__1___closed__1; x_2 = l_IO_FS_withIsolatedStreams___rarg___lambda__1___closed__2; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___rarg___lambda__1___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Init/System/Uri.c b/stage0/stdlib/Init/System/Uri.c index 53f0c56c7e..a968675572 100644 --- a/stage0/stdlib/Init/System/Uri.c +++ b/stage0/stdlib/Init/System/Uri.c @@ -643,7 +643,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_System_Uri_UriEscape_decodeUri___closed__2; x_2 = l_System_Uri_UriEscape_decodeUri___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_System_Uri_UriEscape_decodeUri___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/Build/Common.c b/stage0/stdlib/Lake/Build/Common.c index 48bb0588de..281f12b1a8 100644 --- a/stage0/stdlib/Lake/Build/Common.c +++ b/stage0/stdlib/Lake/Build/Common.c @@ -13247,7 +13247,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lake_buildFileAfterDep___spec__2___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lake_buildFileAfterDep___spec__2___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lake_buildFileAfterDep___spec__2___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/Build/Executable.c b/stage0/stdlib/Lake/Build/Executable.c index c376a71d9b..d9f4b817dd 100644 --- a/stage0/stdlib/Lake/Build/Executable.c +++ b/stage0/stdlib/Lake/Build/Executable.c @@ -4577,7 +4577,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lake_LeanExe_recBuildExe___spec__22___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lake_LeanExe_recBuildExe___spec__22___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lake_LeanExe_recBuildExe___spec__22___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/Build/ExternLib.c b/stage0/stdlib/Lake/Build/ExternLib.c index 65050acfd0..4a37b62a6c 100644 --- a/stage0/stdlib/Lake/Build/ExternLib.c +++ b/stage0/stdlib/Lake/Build/ExternLib.c @@ -1537,7 +1537,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lake_ExternLib_recBuildStatic___spec__3___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lake_ExternLib_recBuildStatic___spec__3___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lake_ExternLib_recBuildStatic___spec__3___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/Build/InputFile.c b/stage0/stdlib/Lake/Build/InputFile.c index 73cc32a489..956ef45de9 100644 --- a/stage0/stdlib/Lake/Build/InputFile.c +++ b/stage0/stdlib/Lake/Build/InputFile.c @@ -1305,7 +1305,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at___private_Lake_Build_InputFile_0__Lake_InputFile_recFetch___spec__2___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at___private_Lake_Build_InputFile_0__Lake_InputFile_recFetch___spec__2___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at___private_Lake_Build_InputFile_0__Lake_InputFile_recFetch___spec__2___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/Build/Job/Monad.c b/stage0/stdlib/Lake/Build/Job/Monad.c index 6a44cbd43a..5657c64189 100644 --- a/stage0/stdlib/Lake/Build/Job/Monad.c +++ b/stage0/stdlib/Lake/Build/Job/Monad.c @@ -7503,7 +7503,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lake_Job_async___spec__1___rarg___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lake_Job_async___spec__1___rarg___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lake_Job_async___spec__1___rarg___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/Build/Job/Register.c b/stage0/stdlib/Lake/Build/Job/Register.c index 61138b0fe8..e1399b9e3d 100644 --- a/stage0/stdlib/Lake/Build/Job/Register.c +++ b/stage0/stdlib/Lake/Build/Job/Register.c @@ -2498,7 +2498,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lake_ensureJob___spec__1___rarg___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lake_ensureJob___spec__1___rarg___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lake_ensureJob___spec__1___rarg___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/Build/Library.c b/stage0/stdlib/Lake/Build/Library.c index dff584a364..a2499e2c74 100644 --- a/stage0/stdlib/Lake/Build/Library.c +++ b/stage0/stdlib/Lake/Build/Library.c @@ -4159,7 +4159,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lake_LeanLib_recCollectLocalModules___spec__4___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lake_LeanLib_recCollectLocalModules___spec__4___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lake_LeanLib_recCollectLocalModules___spec__4___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/Build/Module.c b/stage0/stdlib/Lake/Build/Module.c index 37c0d0cea7..6d7357ad05 100644 --- a/stage0/stdlib/Lake/Build/Module.c +++ b/stage0/stdlib/Lake/Build/Module.c @@ -4851,7 +4851,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lake_Module_recParseImports___spec__9___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lake_Module_recParseImports___spec__9___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lake_Module_recParseImports___spec__9___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/Build/Package.c b/stage0/stdlib/Lake/Build/Package.c index d4dd7b44ee..199ccd5b50 100644 --- a/stage0/stdlib/Lake/Build/Package.c +++ b/stage0/stdlib/Lake/Build/Package.c @@ -1957,7 +1957,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lake_Package_recFetchDeps___spec__4___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lake_Package_recFetchDeps___spec__4___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lake_Package_recFetchDeps___spec__4___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/Build/Run.c b/stage0/stdlib/Lake/Build/Run.c index 620e403c3a..55c5e5e367 100644 --- a/stage0/stdlib/Lake/Build/Run.c +++ b/stage0/stdlib/Lake/Build/Run.c @@ -11049,7 +11049,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lake_Workspace_runFetchM___spec__1___rarg___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lake_Workspace_runFetchM___spec__1___rarg___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lake_Workspace_runFetchM___spec__1___rarg___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/Build/Target/Fetch.c b/stage0/stdlib/Lake/Build/Target/Fetch.c index d0ba6c7f3f..95448ee928 100644 --- a/stage0/stdlib/Lake/Build/Target/Fetch.c +++ b/stage0/stdlib/Lake/Build/Target/Fetch.c @@ -4526,7 +4526,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at___private_Lake_Build_Target_Fetch_0__Lake_PartialBuildKey_fetchInCoreAux___spec__2___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at___private_Lake_Build_Target_Fetch_0__Lake_PartialBuildKey_fetchInCoreAux___spec__2___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at___private_Lake_Build_Target_Fetch_0__Lake_PartialBuildKey_fetchInCoreAux___spec__2___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/DSL/Meta.c b/stage0/stdlib/Lake/DSL/Meta.c index fd97533c2d..114f5460e3 100644 --- a/stage0/stdlib/Lake/DSL/Meta.c +++ b/stage0/stdlib/Lake/DSL/Meta.c @@ -1043,7 +1043,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lake_DSL_elabRunIO___spec__1___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lake_DSL_elabRunIO___spec__1___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lake_DSL_elabRunIO___spec__1___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lake/Load/Toml.c b/stage0/stdlib/Lake/Load/Toml.c index 6a2c3b29c9..f60e1e8e5b 100644 --- a/stage0/stdlib/Lake/Load/Toml.c +++ b/stage0/stdlib/Lake/Load/Toml.c @@ -2044,7 +2044,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lake_takeNamePart___closed__1; x_2 = l_Lake_takeNamePart___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lake_takeNamePart___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/BuiltinDocAttr.c b/stage0/stdlib/Lean/BuiltinDocAttr.c index 07815f1c0c..fcc74b031b 100644 --- a/stage0/stdlib/Lean/BuiltinDocAttr.c +++ b/stage0/stdlib/Lean/BuiltinDocAttr.c @@ -162,7 +162,7 @@ lean_inc(x_8); lean_dec(x_7); x_9 = l_Lean_instInhabitedDeclarationRanges; x_10 = l_Lean_findDeclarationRangesCore_x3f___at_Lean_declareBuiltinDocStringAndRanges___spec__3___closed__1; -x_11 = 0; +x_11 = 1; x_12 = l_Lean_MapDeclarationExtension_find_x3f___rarg(x_9, x_10, x_8, x_1, x_11); lean_ctor_set(x_5, 0, x_12); return x_5; @@ -180,7 +180,7 @@ lean_inc(x_15); lean_dec(x_13); x_16 = l_Lean_instInhabitedDeclarationRanges; x_17 = l_Lean_findDeclarationRangesCore_x3f___at_Lean_declareBuiltinDocStringAndRanges___spec__3___closed__1; -x_18 = 0; +x_18 = 1; x_19 = l_Lean_MapDeclarationExtension_find_x3f___rarg(x_16, x_17, x_15, x_1, x_18); x_20 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_20, 0, x_19); diff --git a/stage0/stdlib/Lean/Class.c b/stage0/stdlib/Lean/Class.c index f54d02b7db..4b42f6dabd 100644 --- a/stage0/stdlib/Lean/Class.c +++ b/stage0/stdlib/Lean/Class.c @@ -1665,21 +1665,23 @@ return x_1; static lean_object* _init_l_Lean_initFn____x40_Lean_Class___hyg_83____closed__7() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; x_1 = lean_box(0); x_2 = l_Lean_initFn____x40_Lean_Class___hyg_83____closed__3; x_3 = l_Lean_initFn____x40_Lean_Class___hyg_83____closed__4; x_4 = l_Lean_initFn____x40_Lean_Class___hyg_83____closed__5; x_5 = l_Lean_initFn____x40_Lean_Class___hyg_83____closed__6; x_6 = 2; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_2); -lean_ctor_set(x_7, 1, x_3); -lean_ctor_set(x_7, 2, x_4); -lean_ctor_set(x_7, 3, x_5); -lean_ctor_set(x_7, 4, x_1); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_6); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_2); +lean_ctor_set(x_8, 1, x_3); +lean_ctor_set(x_8, 2, x_4); +lean_ctor_set(x_8, 3, x_5); +lean_ctor_set(x_8, 4, x_1); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Class___hyg_83_(lean_object* x_1) { diff --git a/stage0/stdlib/Lean/Compiler/IR/Basic.c b/stage0/stdlib/Lean/Compiler/IR/Basic.c index fccf322a84..14f436e4a1 100644 --- a/stage0/stdlib/Lean/Compiler/IR/Basic.c +++ b/stage0/stdlib/Lean/Compiler/IR/Basic.c @@ -5332,7 +5332,7 @@ x_13 = l_Lean_IR_reshapeAux___closed__2; x_14 = lean_string_append(x_12, x_13); x_15 = l_Lean_IR_reshapeAux___closed__3; x_16 = l_Lean_IR_reshapeAux___closed__4; -x_17 = lean_unsigned_to_nat(436u); +x_17 = lean_unsigned_to_nat(438u); x_18 = lean_unsigned_to_nat(4u); x_19 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_15, x_16, x_17, x_18, x_14); lean_dec(x_14); diff --git a/stage0/stdlib/Lean/Compiler/IR/CompilerM.c b/stage0/stdlib/Lean/Compiler/IR/CompilerM.c index fdee684626..59bb68dba1 100644 --- a/stage0/stdlib/Lean/Compiler/IR/CompilerM.c +++ b/stage0/stdlib/Lean/Compiler/IR/CompilerM.c @@ -2146,21 +2146,23 @@ return x_1; static lean_object* _init_l_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_464____closed__11() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; uint8_t x_7; lean_object* x_8; x_1 = l_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_464____closed__4; x_2 = l_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_464____closed__6; x_3 = l_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_464____closed__9; x_4 = l_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_464____closed__10; x_5 = 0; x_6 = l_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_464____closed__8; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_1); -lean_ctor_set(x_7, 1, x_2); -lean_ctor_set(x_7, 2, x_3); -lean_ctor_set(x_7, 3, x_4); -lean_ctor_set(x_7, 4, x_6); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_5); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_1); +lean_ctor_set(x_8, 1, x_2); +lean_ctor_set(x_8, 2, x_3); +lean_ctor_set(x_8, 3, x_4); +lean_ctor_set(x_8, 4, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_5); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_IR_initFn____x40_Lean_Compiler_IR_CompilerM___hyg_464_(lean_object* x_1) { diff --git a/stage0/stdlib/Lean/Compiler/IR/ElimDeadBranches.c b/stage0/stdlib/Lean/Compiler/IR/ElimDeadBranches.c index c4d28e45bd..2405dff3e4 100644 --- a/stage0/stdlib/Lean/Compiler/IR/ElimDeadBranches.c +++ b/stage0/stdlib/Lean/Compiler/IR/ElimDeadBranches.c @@ -5238,21 +5238,23 @@ return x_1; static lean_object* _init_l_Lean_IR_UnreachableBranches_initFn____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_1177____closed__12() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; uint8_t x_7; lean_object* x_8; x_1 = l_Lean_IR_UnreachableBranches_initFn____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_1177____closed__5; x_2 = l_Lean_IR_UnreachableBranches_initFn____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_1177____closed__7; x_3 = l_Lean_IR_UnreachableBranches_initFn____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_1177____closed__10; x_4 = l_Lean_IR_UnreachableBranches_initFn____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_1177____closed__11; x_5 = 0; x_6 = l_Lean_IR_UnreachableBranches_initFn____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_1177____closed__9; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_1); -lean_ctor_set(x_7, 1, x_2); -lean_ctor_set(x_7, 2, x_3); -lean_ctor_set(x_7, 3, x_4); -lean_ctor_set(x_7, 4, x_6); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_5); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_1); +lean_ctor_set(x_8, 1, x_2); +lean_ctor_set(x_8, 2, x_3); +lean_ctor_set(x_8, 3, x_4); +lean_ctor_set(x_8, 4, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_5); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_IR_UnreachableBranches_initFn____x40_Lean_Compiler_IR_ElimDeadBranches___hyg_1177_(lean_object* x_1) { @@ -9775,7 +9777,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_IR_UnreachableBranches_interpFnBody___closed__1; x_2 = l_Lean_IR_UnreachableBranches_interpFnBody___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_IR_UnreachableBranches_interpFnBody___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Compiler/IR/EmitC.c b/stage0/stdlib/Lean/Compiler/IR/EmitC.c index 78ca664da0..329af6c8e0 100644 --- a/stage0/stdlib/Lean/Compiler/IR/EmitC.c +++ b/stage0/stdlib/Lean/Compiler/IR/EmitC.c @@ -3018,7 +3018,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_IR_EmitC_emitMainFn___lambda__1___closed__17; x_2 = l_Lean_IR_EmitC_emitMainFn___lambda__1___closed__18; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_IR_EmitC_emitMainFn___lambda__1___closed__19; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Compiler/IR/EmitLLVM.c b/stage0/stdlib/Lean/Compiler/IR/EmitLLVM.c index ff599654fc..4f319956fc 100644 --- a/stage0/stdlib/Lean/Compiler/IR/EmitLLVM.c +++ b/stage0/stdlib/Lean/Compiler/IR/EmitLLVM.c @@ -58446,7 +58446,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_IR_EmitLLVM_emitMainFn___lambda__6___closed__5; x_2 = l_Lean_IR_EmitLLVM_emitMainFn___lambda__6___closed__6; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_IR_EmitLLVM_emitMainFn___lambda__6___closed__7; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/ElimDeadBranches.c b/stage0/stdlib/Lean/Compiler/LCNF/ElimDeadBranches.c index f294bbd0f3..dc41d04fd1 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/ElimDeadBranches.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/ElimDeadBranches.c @@ -7727,21 +7727,23 @@ return x_1; static lean_object* _init_l_Lean_Compiler_LCNF_UnreachableBranches_initFn____x40_Lean_Compiler_LCNF_ElimDeadBranches___hyg_1933____closed__13() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; uint8_t x_7; lean_object* x_8; x_1 = l_Lean_Compiler_LCNF_UnreachableBranches_initFn____x40_Lean_Compiler_LCNF_ElimDeadBranches___hyg_1933____closed__6; x_2 = l_Lean_Compiler_LCNF_UnreachableBranches_initFn____x40_Lean_Compiler_LCNF_ElimDeadBranches___hyg_1933____closed__8; x_3 = l_Lean_Compiler_LCNF_UnreachableBranches_initFn____x40_Lean_Compiler_LCNF_ElimDeadBranches___hyg_1933____closed__11; x_4 = l_Lean_Compiler_LCNF_UnreachableBranches_initFn____x40_Lean_Compiler_LCNF_ElimDeadBranches___hyg_1933____closed__12; x_5 = 0; x_6 = l_Lean_Compiler_LCNF_UnreachableBranches_initFn____x40_Lean_Compiler_LCNF_ElimDeadBranches___hyg_1933____closed__10; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_1); -lean_ctor_set(x_7, 1, x_2); -lean_ctor_set(x_7, 2, x_3); -lean_ctor_set(x_7, 3, x_4); -lean_ctor_set(x_7, 4, x_6); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_5); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_1); +lean_ctor_set(x_8, 1, x_2); +lean_ctor_set(x_8, 2, x_3); +lean_ctor_set(x_8, 3, x_4); +lean_ctor_set(x_8, 4, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_5); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_UnreachableBranches_initFn____x40_Lean_Compiler_LCNF_ElimDeadBranches___hyg_1933_(lean_object* x_1) { diff --git a/stage0/stdlib/Lean/Compiler/LCNF/PhaseExt.c b/stage0/stdlib/Lean/Compiler/LCNF/PhaseExt.c index 31409887b0..1d123fd058 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/PhaseExt.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/PhaseExt.c @@ -1682,21 +1682,23 @@ return x_1; LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_mkDeclExt(lean_object* x_1, lean_object* x_2) { _start: { -lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10; x_3 = l_Lean_Compiler_LCNF_mkDeclExt___closed__2; x_4 = l_Lean_Compiler_LCNF_mkDeclExt___closed__5; x_5 = l_Lean_Compiler_LCNF_mkDeclExt___closed__6; x_6 = 0; x_7 = l_Lean_Compiler_LCNF_mkDeclExt___closed__4; -x_8 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_8, 0, x_1); -lean_ctor_set(x_8, 1, x_3); -lean_ctor_set(x_8, 2, x_4); -lean_ctor_set(x_8, 3, x_5); -lean_ctor_set(x_8, 4, x_7); -lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_6); -x_9 = l_Lean_registerSimplePersistentEnvExtension___rarg(x_8, x_2); -return x_9; +x_8 = 1; +x_9 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_9, 0, x_1); +lean_ctor_set(x_9, 1, x_3); +lean_ctor_set(x_9, 2, x_4); +lean_ctor_set(x_9, 3, x_5); +lean_ctor_set(x_9, 4, x_7); +lean_ctor_set_uint8(x_9, sizeof(void*)*5, x_6); +lean_ctor_set_uint8(x_9, sizeof(void*)*5 + 1, x_8); +x_10 = l_Lean_registerSimplePersistentEnvExtension___rarg(x_9, x_2); +return x_10; } } LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Compiler_LCNF_mkDeclExt___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { diff --git a/stage0/stdlib/Lean/Compiler/LCNF/SpecInfo.c b/stage0/stdlib/Lean/Compiler/LCNF/SpecInfo.c index 34db414679..63fdb67506 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/SpecInfo.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/SpecInfo.c @@ -2275,21 +2275,23 @@ return x_1; static lean_object* _init_l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_SpecInfo___hyg_370____closed__12() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; uint8_t x_7; lean_object* x_8; x_1 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_SpecInfo___hyg_370____closed__5; x_2 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_SpecInfo___hyg_370____closed__7; x_3 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_SpecInfo___hyg_370____closed__10; x_4 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_SpecInfo___hyg_370____closed__11; x_5 = 0; x_6 = l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_SpecInfo___hyg_370____closed__9; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_1); -lean_ctor_set(x_7, 1, x_2); -lean_ctor_set(x_7, 2, x_3); -lean_ctor_set(x_7, 3, x_4); -lean_ctor_set(x_7, 4, x_6); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_5); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_1); +lean_ctor_set(x_8, 1, x_2); +lean_ctor_set(x_8, 2, x_3); +lean_ctor_set(x_8, 3, x_4); +lean_ctor_set(x_8, 4, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_5); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_initFn____x40_Lean_Compiler_LCNF_SpecInfo___hyg_370_(lean_object* x_1) { diff --git a/stage0/stdlib/Lean/Compiler/LCNF/Specialize.c b/stage0/stdlib/Lean/Compiler/LCNF/Specialize.c index 80f5874d7f..0c3d31b01a 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/Specialize.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/Specialize.c @@ -753,21 +753,23 @@ return x_1; static lean_object* _init_l_Lean_Compiler_LCNF_Specialize_initFn____x40_Lean_Compiler_LCNF_Specialize___hyg_49____closed__13() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; uint8_t x_7; lean_object* x_8; x_1 = l_Lean_Compiler_LCNF_Specialize_initFn____x40_Lean_Compiler_LCNF_Specialize___hyg_49____closed__6; x_2 = l_Lean_Compiler_LCNF_Specialize_initFn____x40_Lean_Compiler_LCNF_Specialize___hyg_49____closed__8; x_3 = l_Lean_Compiler_LCNF_Specialize_initFn____x40_Lean_Compiler_LCNF_Specialize___hyg_49____closed__11; x_4 = l_Lean_Compiler_LCNF_Specialize_initFn____x40_Lean_Compiler_LCNF_Specialize___hyg_49____closed__12; x_5 = 0; x_6 = l_Lean_Compiler_LCNF_Specialize_initFn____x40_Lean_Compiler_LCNF_Specialize___hyg_49____closed__10; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_1); -lean_ctor_set(x_7, 1, x_2); -lean_ctor_set(x_7, 2, x_3); -lean_ctor_set(x_7, 3, x_4); -lean_ctor_set(x_7, 4, x_6); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_5); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_1); +lean_ctor_set(x_8, 1, x_2); +lean_ctor_set(x_8, 2, x_3); +lean_ctor_set(x_8, 3, x_4); +lean_ctor_set(x_8, 4, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_5); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_Compiler_LCNF_Specialize_initFn____x40_Lean_Compiler_LCNF_Specialize___hyg_49_(lean_object* x_1) { diff --git a/stage0/stdlib/Lean/Compiler/Specialize.c b/stage0/stdlib/Lean/Compiler/Specialize.c index 746b86f236..16e4a420ca 100644 --- a/stage0/stdlib/Lean/Compiler/Specialize.c +++ b/stage0/stdlib/Lean/Compiler/Specialize.c @@ -5642,21 +5642,23 @@ return x_1; static lean_object* _init_l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_1123____closed__9() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; uint8_t x_7; lean_object* x_8; x_1 = l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_1123____closed__2; x_2 = l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_1123____closed__4; x_3 = l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_1123____closed__7; x_4 = l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_1123____closed__8; x_5 = 0; x_6 = l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_1123____closed__6; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_1); -lean_ctor_set(x_7, 1, x_2); -lean_ctor_set(x_7, 2, x_3); -lean_ctor_set(x_7, 3, x_4); -lean_ctor_set(x_7, 4, x_6); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_5); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_1); +lean_ctor_set(x_8, 1, x_2); +lean_ctor_set(x_8, 2, x_3); +lean_ctor_set(x_8, 3, x_4); +lean_ctor_set(x_8, 4, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_5); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_Compiler_initFn____x40_Lean_Compiler_Specialize___hyg_1123_(lean_object* x_1) { diff --git a/stage0/stdlib/Lean/CoreM.c b/stage0/stdlib/Lean/CoreM.c index 2f40c23142..0b205aeeb7 100644 --- a/stage0/stdlib/Lean/CoreM.c +++ b/stage0/stdlib/Lean/CoreM.c @@ -17643,7 +17643,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lean_Core_wrapAsyncAsSnapshot___spec__15___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lean_Core_wrapAsyncAsSnapshot___spec__15___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lean_Core_wrapAsyncAsSnapshot___spec__15___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/DeclarationRange.c b/stage0/stdlib/Lean/DeclarationRange.c index 364735c8ee..b64a0eb3b4 100644 --- a/stage0/stdlib/Lean/DeclarationRange.c +++ b/stage0/stdlib/Lean/DeclarationRange.c @@ -14,33 +14,28 @@ extern "C" { #endif lean_object* l_Lean_MapDeclarationExtension_insert___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_RBMap_toArray___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__1(lean_object*); static lean_object* l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____closed__1; -LEAN_EXPORT lean_object* l_Lean_RBMap_toArray___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__1___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_declRangeExt; static lean_object* l_Lean_addDeclarationRanges___rarg___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____closed__2; LEAN_EXPORT lean_object* l_Lean_findDeclarationRanges_x3f___rarg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____lambda__1___closed__1; static lean_object* l_Lean_findDeclarationRanges_x3f___rarg___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Lean_findDeclarationRanges_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* lean_array_push(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_findDeclarationRanges_x3f___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_DeclarationRange___hyg_4_(lean_object*); lean_object* l_ST_Prim_Ref_get___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____closed__4; LEAN_EXPORT lean_object* l_Lean_addBuiltinDeclarationRanges(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_RBNode_fold___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__2___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addDeclarationRanges(lean_object*, lean_object*); uint8_t l_Lean_TagDeclarationExtension_isTagged(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addBuiltinDeclarationRanges___closed__1; -static lean_object* l_Lean_RBMap_toArray___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__1___closed__1; LEAN_EXPORT lean_object* l_Lean_findDeclarationRangesCore_x3f(lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); static lean_object* l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____closed__3; uint8_t lean_is_aux_recursor(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_RBNode_fold___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_builtinDeclRanges; lean_object* l_Lean_Name_getPrefix(lean_object*); LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45_(lean_object*); @@ -48,10 +43,12 @@ lean_object* lean_st_mk_ref(lean_object*, lean_object*); lean_object* l_Lean_RBNode_insert___at_Lean_NameMap_insert___spec__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MapDeclarationExtension_find_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_findDeclarationRanges_x3f___rarg___lambda__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____lambda__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_findDeclarationRanges_x3f___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*); static lean_object* l_Lean_findDeclarationRanges_x3f___rarg___lambda__3___closed__1; lean_object* l_Lean_mkMapDeclarationExtension___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____lambda__1___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_findDeclarationRanges_x3f(lean_object*); extern lean_object* l_Lean_instInhabitedDeclarationRanges; LEAN_EXPORT lean_object* l_Lean_findDeclarationRangesCore_x3f___rarg___lambda__1(lean_object*, lean_object*, lean_object*); @@ -90,34 +87,7 @@ return x_7; } } } -LEAN_EXPORT lean_object* l_Lean_RBNode_fold___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__2(lean_object* x_1, lean_object* x_2) { -_start: -{ -if (lean_obj_tag(x_2) == 0) -{ -return x_1; -} -else -{ -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; -x_3 = lean_ctor_get(x_2, 0); -x_4 = lean_ctor_get(x_2, 1); -x_5 = lean_ctor_get(x_2, 2); -x_6 = lean_ctor_get(x_2, 3); -x_7 = l_Lean_RBNode_fold___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__2(x_1, x_3); -lean_inc(x_5); -lean_inc(x_4); -x_8 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_8, 0, x_4); -lean_ctor_set(x_8, 1, x_5); -x_9 = lean_array_push(x_7, x_8); -x_1 = x_9; -x_2 = x_6; -goto _start; -} -} -} -static lean_object* _init_l_Lean_RBMap_toArray___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__1___closed__1() { +static lean_object* _init_l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____lambda__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; @@ -126,13 +96,12 @@ x_2 = lean_array_mk(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_RBMap_toArray___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____lambda__1(lean_object* x_1) { _start: { -lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_RBMap_toArray___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__1___closed__1; -x_3 = l_Lean_RBNode_fold___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__2(x_2, x_1); -return x_3; +lean_object* x_2; +x_2 = l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____lambda__1___closed__1; +return x_2; } } static lean_object* _init_l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____closed__1() { @@ -165,7 +134,7 @@ static lean_object* _init_l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45___ _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_RBMap_toArray___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__1___boxed), 1, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____lambda__1___boxed), 1, 0); return x_1; } } @@ -179,20 +148,11 @@ x_4 = l_Lean_mkMapDeclarationExtension___rarg(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_RBNode_fold___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__2___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Lean_RBNode_fold___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__2(x_1, x_2); -lean_dec(x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Lean_RBMap_toArray___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__1___boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____lambda__1___boxed(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l_Lean_RBMap_toArray___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__1(x_1); +x_2 = l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____lambda__1(x_1); lean_dec(x_1); return x_2; } @@ -298,7 +258,7 @@ lean_inc(x_5); lean_dec(x_4); x_6 = l_Lean_instInhabitedDeclarationRanges; x_7 = l_Lean_addDeclarationRanges___rarg___lambda__1___closed__1; -x_8 = 0; +x_8 = 1; x_9 = l_Lean_MapDeclarationExtension_find_x3f___rarg(x_6, x_7, x_3, x_2, x_8); x_10 = lean_apply_2(x_5, lean_box(0), x_9); return x_10; @@ -541,8 +501,8 @@ if (lean_io_result_is_error(res)) return res; l_Lean_builtinDeclRanges = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_builtinDeclRanges); lean_dec_ref(res); -}l_Lean_RBMap_toArray___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__1___closed__1 = _init_l_Lean_RBMap_toArray___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__1___closed__1(); -lean_mark_persistent(l_Lean_RBMap_toArray___at_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____spec__1___closed__1); +}l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____lambda__1___closed__1 = _init_l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____lambda__1___closed__1(); +lean_mark_persistent(l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____lambda__1___closed__1); l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____closed__1 = _init_l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____closed__1(); lean_mark_persistent(l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____closed__1); l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____closed__2 = _init_l_Lean_initFn____x40_Lean_DeclarationRange___hyg_45____closed__2(); diff --git a/stage0/stdlib/Lean/DocString/Extension.c b/stage0/stdlib/Lean/DocString/Extension.c index 8b2a758835..56ee7e74ea 100644 --- a/stage0/stdlib/Lean/DocString/Extension.c +++ b/stage0/stdlib/Lean/DocString/Extension.c @@ -790,21 +790,23 @@ return x_1; static lean_object* _init_l_Lean_initFn____x40_Lean_DocString_Extension___hyg_377____closed__15() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; x_1 = lean_box(0); x_2 = l_Lean_initFn____x40_Lean_DocString_Extension___hyg_377____closed__11; x_3 = l_Lean_initFn____x40_Lean_DocString_Extension___hyg_377____closed__12; x_4 = l_Lean_initFn____x40_Lean_DocString_Extension___hyg_377____closed__13; x_5 = l_Lean_initFn____x40_Lean_DocString_Extension___hyg_377____closed__14; x_6 = 2; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_2); -lean_ctor_set(x_7, 1, x_3); -lean_ctor_set(x_7, 2, x_4); -lean_ctor_set(x_7, 3, x_5); -lean_ctor_set(x_7, 4, x_1); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_6); -return x_7; +x_7 = 0; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_2); +lean_ctor_set(x_8, 1, x_3); +lean_ctor_set(x_8, 2, x_4); +lean_ctor_set(x_8, 3, x_5); +lean_ctor_set(x_8, 4, x_1); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_DocString_Extension___hyg_377_(lean_object* x_1) { @@ -898,7 +900,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; lean_object* x_6 = lean_ctor_get(x_3, 0); x_7 = l_Lean_getModuleDoc_x3f___closed__1; x_8 = l_Lean_addMainModuleDoc___closed__1; -x_9 = 0; +x_9 = 1; x_10 = l_Lean_PersistentEnvExtension_getModuleEntries___rarg(x_7, x_8, x_1, x_6, x_9); lean_dec(x_6); lean_ctor_set(x_3, 0, x_10); @@ -912,7 +914,7 @@ lean_inc(x_11); lean_dec(x_3); x_12 = l_Lean_getModuleDoc_x3f___closed__1; x_13 = l_Lean_addMainModuleDoc___closed__1; -x_14 = 0; +x_14 = 1; x_15 = l_Lean_PersistentEnvExtension_getModuleEntries___rarg(x_12, x_13, x_1, x_11, x_14); lean_dec(x_11); x_16 = lean_alloc_ctor(1, 1, 0); diff --git a/stage0/stdlib/Lean/Elab/BuiltinCommand.c b/stage0/stdlib/Lean/Elab/BuiltinCommand.c index cc026cf32a..3a7cb02e83 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinCommand.c +++ b/stage0/stdlib/Lean/Elab/BuiltinCommand.c @@ -29085,7 +29085,7 @@ lean_inc(x_8); lean_dec(x_7); x_9 = l_Lean_instInhabitedDeclarationRanges; x_10 = l_Lean_findDeclarationRangesCore_x3f___at_Lean_Elab_Command_elabAddDeclDoc___spec__1___closed__1; -x_11 = 0; +x_11 = 1; x_12 = l_Lean_MapDeclarationExtension_find_x3f___rarg(x_9, x_10, x_8, x_1, x_11); lean_ctor_set(x_5, 0, x_12); return x_5; @@ -29103,7 +29103,7 @@ lean_inc(x_15); lean_dec(x_13); x_16 = l_Lean_instInhabitedDeclarationRanges; x_17 = l_Lean_findDeclarationRangesCore_x3f___at_Lean_Elab_Command_elabAddDeclDoc___spec__1___closed__1; -x_18 = 0; +x_18 = 1; x_19 = l_Lean_MapDeclarationExtension_find_x3f___rarg(x_16, x_17, x_15, x_1, x_18); x_20 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_20, 0, x_19); diff --git a/stage0/stdlib/Lean/Elab/BuiltinEvalCommand.c b/stage0/stdlib/Lean/Elab/BuiltinEvalCommand.c index d63d658fab..89d19287b1 100644 --- a/stage0/stdlib/Lean/Elab/BuiltinEvalCommand.c +++ b/stage0/stdlib/Lean/Elab/BuiltinEvalCommand.c @@ -7918,7 +7918,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lean_Elab_Command_elabEvalCoreUnsafe___spec__7___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lean_Elab_Command_elabEvalCoreUnsafe___spec__7___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lean_Elab_Command_elabEvalCoreUnsafe___spec__7___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/Calc.c b/stage0/stdlib/Lean/Elab/Calc.c index f0b707e797..3aa3cdb62d 100644 --- a/stage0/stdlib/Lean/Elab/Calc.c +++ b/stage0/stdlib/Lean/Elab/Calc.c @@ -19263,7 +19263,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Elab_Term_elabCalcSteps___closed__2; x_2 = l_Lean_Elab_Term_elabCalcSteps___closed__3; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Elab_Term_elabCalcSteps___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/Command.c b/stage0/stdlib/Lean/Elab/Command.c index a353400e2a..af8d67ae17 100644 --- a/stage0/stdlib/Lean/Elab/Command.c +++ b/stage0/stdlib/Lean/Elab/Command.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.Command -// Imports: Lean.Meta.Diagnostics Lean.Elab.Binders Lean.Elab.SyntheticMVars Lean.Elab.SetOption Lean.Language.Basic +// Imports: Lean.Meta.Diagnostics Lean.Elab.Binders Lean.Elab.SyntheticMVars Lean.Elab.SetOption Lean.Language.Basic Lean.Meta.ForEachExpr #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -165,6 +165,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_instMonadLogCommandElabM___lambda__ lean_object* lean_array_push(lean_object*, lean_object*); static double l_Lean_withTraceNode___at_Lean_Elab_Command_runLinters___spec__4___lambda__4___closed__5; lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___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_EXPORT lean_object* l_MonadExcept_ofExcept___at_Lean_Elab_Command_liftTermElabM___spec__13(lean_object*); static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_Command___hyg_631____closed__12; static lean_object* l_Lean_Elab_Command_elabCommand_go___closed__3; @@ -346,6 +347,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabCommandTopLevel___lambda__1___b LEAN_EXPORT lean_object* l_Lean_withTraceNode___at_Lean_Elab_Command_runLinters___spec__10___lambda__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, double, double, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Elab_Command_runLinters___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Environment_unlockAsync(lean_object*); +lean_object* l_Lean_Meta_withLCtx___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_instToSnapshotTreeMacroExpandedSnapshot___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_IO_CancelToken_new(lean_object*); static lean_object* l___private_Lean_Elab_Command_0__Lean_Elab_Command_elabCommandUsing___closed__5; @@ -643,6 +645,7 @@ lean_object* lean_mk_thunk(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_runTermElabM___rarg___lambda__1___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_addTraceAsMessages___at_Lean_Elab_Command_wrapAsyncAsSnapshot___spec__3___lambda__1___closed__1; lean_object* l_Lean_MessageData_ofConstName(lean_object*, uint8_t); +lean_object* l_Lean_Meta_mkForallFVars_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); uint8_t l_Lean_Environment_contains(lean_object*, lean_object*, uint8_t); static lean_object* l_Lean_addTraceAsMessages___at_Lean_Elab_Command_wrapAsyncAsSnapshot___spec__3___closed__2; @@ -690,6 +693,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_elabSetOption___at_Lean_withSetOptionIn___s LEAN_EXPORT lean_object* l_Lean_Language_DynamicSnapshot_ofTyped___at_Lean_Elab_Command_elabCommand_go___spec__16(lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Command_withoutCommandIncrementality___rarg___closed__3; +lean_object* l_Lean_Elab_Term_addAutoBoundImplicits(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_withTraceNode___at_Lean_Elab_Command_runLinters___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabCommand_go___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___auto____x40_Lean_Elab_Command___hyg_2185____closed__6; @@ -721,6 +725,7 @@ static lean_object* l_Lean_Elab_Command_instMonadLogCommandElabM___closed__5; static lean_object* l_Lean_Elab_throwAlreadyDeclaredUniverseLevel___at_Lean_Elab_Command_addUnivLevel___spec__1___closed__4; LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Command_elabCommand_go___spec__7(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Command_elabCommand_go___spec__9(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__1(lean_object*, size_t, size_t); static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Command_elabCommand_go___spec__1___closed__1; lean_object* l_Lean_Elab_getResetInfoTrees___at_Lean_Elab_Term_withDeclName___spec__3___rarg(lean_object*, lean_object*); lean_object* l_Lean_Language_SnapshotTask_cancelRec___rarg(lean_object*, lean_object*, lean_object*); @@ -904,7 +909,6 @@ lean_object* lean_io_error_to_string(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabCommand_go___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Command_runLinters___spec__9___lambda__2___closed__4; lean_object* l_Lean_KeyedDeclsAttribute_getEntries___rarg(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(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_elabSetOption_setOption___at_Lean_withSetOptionIn___spec__6___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Command_withoutCommandIncrementality___rarg___lambda__2___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabCommand_go(lean_object*, lean_object*, lean_object*, lean_object*); @@ -19266,7 +19270,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lean_Elab_Command_wrapAsyncAsSnapshot___spec__10___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lean_Elab_Command_wrapAsyncAsSnapshot___spec__10___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lean_Elab_Command_wrapAsyncAsSnapshot___spec__10___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -39304,7 +39308,7 @@ lean_dec(x_25); x_28 = !lean_is_exclusive(x_4); if (x_28 == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; x_29 = lean_ctor_get(x_4, 5); lean_dec(x_29); lean_ctor_set(x_4, 5, x_27); @@ -39312,76 +39316,332 @@ x_30 = l_Lean_Core_resetMessageLog(x_8, x_9, x_26); x_31 = lean_ctor_get(x_30, 1); lean_inc(x_31); lean_dec(x_30); -x_32 = lean_alloc_closure((void*)(l_Lean_Elab_Command_runTermElabM___rarg___lambda__1___boxed), 10, 1); -lean_closure_set(x_32, 0, x_2); -x_33 = lean_box(0); -x_34 = l_Lean_Elab_Command_runTermElabM___rarg___lambda__2___closed__1; -x_35 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_3, x_34, x_32, x_33, x_4, x_5, x_6, x_7, x_8, x_9, x_31); +x_32 = lean_box(0); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_4); +x_33 = l_Lean_Elab_Term_addAutoBoundImplicits(x_3, x_32, x_4, x_5, x_6, x_7, x_8, x_9, x_31); lean_dec(x_3); -return x_35; +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +lean_dec(x_33); +x_36 = lean_array_get_size(x_34); +x_37 = lean_nat_dec_lt(x_17, x_36); +if (x_37 == 0) +{ +lean_object* x_38; lean_object* x_39; +lean_dec(x_36); +x_38 = lean_apply_1(x_2, x_34); +x_39 = l_Lean_Elab_Term_withoutAutoBoundImplicit___rarg(x_38, x_4, x_5, x_6, x_7, x_8, x_9, x_35); +return x_39; } else { -lean_object* x_36; lean_object* x_37; uint8_t x_38; uint8_t x_39; uint8_t x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; uint8_t x_45; uint8_t x_46; uint8_t x_47; uint8_t x_48; lean_object* x_49; uint8_t x_50; uint8_t x_51; uint8_t x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; -x_36 = lean_ctor_get(x_4, 0); -x_37 = lean_ctor_get(x_4, 1); -x_38 = lean_ctor_get_uint8(x_4, sizeof(void*)*7); -x_39 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 1); -x_40 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 2); -x_41 = lean_ctor_get(x_4, 2); -x_42 = lean_ctor_get(x_4, 3); -x_43 = lean_ctor_get(x_4, 4); -x_44 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 3); -x_45 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 4); -x_46 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 5); -x_47 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 6); -x_48 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 7); -x_49 = lean_ctor_get(x_4, 6); -x_50 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 8); -x_51 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 9); -x_52 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 10); -lean_inc(x_49); -lean_inc(x_43); -lean_inc(x_42); -lean_inc(x_41); -lean_inc(x_37); -lean_inc(x_36); +size_t x_40; uint8_t x_41; +x_40 = lean_usize_of_nat(x_36); +x_41 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__1(x_34, x_23, x_40); +if (x_41 == 0) +{ +lean_object* x_42; lean_object* x_43; +lean_dec(x_36); +x_42 = lean_apply_1(x_2, x_34); +x_43 = l_Lean_Elab_Term_withoutAutoBoundImplicit___rarg(x_42, x_4, x_5, x_6, x_7, x_8, x_9, x_35); +return x_43; +} +else +{ +lean_object* x_44; lean_object* x_45; +x_44 = l_Lean_Elab_Command_runTermElabM___rarg___lambda__2___closed__1; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_45 = l_Lean_Meta_mkForallFVars_x27(x_34, x_44, x_6, x_7, x_8, x_9, x_35); +if (lean_obj_tag(x_45) == 0) +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_46 = lean_ctor_get(x_45, 0); +lean_inc(x_46); +x_47 = lean_ctor_get(x_45, 1); +lean_inc(x_47); +lean_dec(x_45); +x_48 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_48, 0, x_36); +x_49 = lean_alloc_closure((void*)(l_Lean_Elab_Command_runTermElabM___rarg___lambda__1___boxed), 10, 1); +lean_closure_set(x_49, 0, x_2); +x_50 = lean_box(x_12); +x_51 = lean_alloc_closure((void*)(l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg___boxed), 11, 4); +lean_closure_set(x_51, 0, x_46); +lean_closure_set(x_51, 1, x_48); +lean_closure_set(x_51, 2, x_49); +lean_closure_set(x_51, 3, x_50); +x_52 = l_Lean_Elab_Command_mkMetaContext___closed__3; +x_53 = l_Lean_Elab_Command_instInhabitedScope___closed__1; +x_54 = l_Lean_Meta_withLCtx___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__3___rarg(x_52, x_53, x_51, x_4, x_5, x_6, x_7, x_8, x_9, x_47); +return x_54; +} +else +{ +uint8_t x_55; +lean_dec(x_36); lean_dec(x_4); -x_53 = lean_alloc_ctor(0, 7, 11); -lean_ctor_set(x_53, 0, x_36); -lean_ctor_set(x_53, 1, x_37); -lean_ctor_set(x_53, 2, x_41); -lean_ctor_set(x_53, 3, x_42); -lean_ctor_set(x_53, 4, x_43); -lean_ctor_set(x_53, 5, x_27); -lean_ctor_set(x_53, 6, x_49); -lean_ctor_set_uint8(x_53, sizeof(void*)*7, x_38); -lean_ctor_set_uint8(x_53, sizeof(void*)*7 + 1, x_39); -lean_ctor_set_uint8(x_53, sizeof(void*)*7 + 2, x_40); -lean_ctor_set_uint8(x_53, sizeof(void*)*7 + 3, x_44); -lean_ctor_set_uint8(x_53, sizeof(void*)*7 + 4, x_45); -lean_ctor_set_uint8(x_53, sizeof(void*)*7 + 5, x_46); -lean_ctor_set_uint8(x_53, sizeof(void*)*7 + 6, x_47); -lean_ctor_set_uint8(x_53, sizeof(void*)*7 + 7, x_48); -lean_ctor_set_uint8(x_53, sizeof(void*)*7 + 8, x_50); -lean_ctor_set_uint8(x_53, sizeof(void*)*7 + 9, x_51); -lean_ctor_set_uint8(x_53, sizeof(void*)*7 + 10, x_52); -x_54 = l_Lean_Core_resetMessageLog(x_8, x_9, x_26); -x_55 = lean_ctor_get(x_54, 1); -lean_inc(x_55); -lean_dec(x_54); -x_56 = lean_alloc_closure((void*)(l_Lean_Elab_Command_runTermElabM___rarg___lambda__1___boxed), 10, 1); -lean_closure_set(x_56, 0, x_2); -x_57 = lean_box(0); -x_58 = l_Lean_Elab_Command_runTermElabM___rarg___lambda__2___closed__1; -x_59 = l_Lean_Elab_Term_addAutoBoundImplicits_x27___rarg(x_3, x_58, x_56, x_57, x_53, x_5, x_6, x_7, x_8, x_9, x_55); -lean_dec(x_3); -return x_59; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +x_55 = !lean_is_exclusive(x_45); +if (x_55 == 0) +{ +return x_45; +} +else +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_45, 0); +x_57 = lean_ctor_get(x_45, 1); +lean_inc(x_57); +lean_inc(x_56); +lean_dec(x_45); +x_58 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_58, 0, x_56); +lean_ctor_set(x_58, 1, x_57); +return x_58; +} +} +} } } else { -uint8_t x_60; +uint8_t x_59; +lean_dec(x_4); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +x_59 = !lean_is_exclusive(x_33); +if (x_59 == 0) +{ +return x_33; +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_33, 0); +x_61 = lean_ctor_get(x_33, 1); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_33); +x_62 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_62, 0, x_60); +lean_ctor_set(x_62, 1, x_61); +return x_62; +} +} +} +else +{ +lean_object* x_63; lean_object* x_64; uint8_t x_65; uint8_t x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; uint8_t x_72; uint8_t x_73; uint8_t x_74; uint8_t x_75; lean_object* x_76; uint8_t x_77; uint8_t x_78; uint8_t x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; +x_63 = lean_ctor_get(x_4, 0); +x_64 = lean_ctor_get(x_4, 1); +x_65 = lean_ctor_get_uint8(x_4, sizeof(void*)*7); +x_66 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 1); +x_67 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 2); +x_68 = lean_ctor_get(x_4, 2); +x_69 = lean_ctor_get(x_4, 3); +x_70 = lean_ctor_get(x_4, 4); +x_71 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 3); +x_72 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 4); +x_73 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 5); +x_74 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 6); +x_75 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 7); +x_76 = lean_ctor_get(x_4, 6); +x_77 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 8); +x_78 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 9); +x_79 = lean_ctor_get_uint8(x_4, sizeof(void*)*7 + 10); +lean_inc(x_76); +lean_inc(x_70); +lean_inc(x_69); +lean_inc(x_68); +lean_inc(x_64); +lean_inc(x_63); +lean_dec(x_4); +x_80 = lean_alloc_ctor(0, 7, 11); +lean_ctor_set(x_80, 0, x_63); +lean_ctor_set(x_80, 1, x_64); +lean_ctor_set(x_80, 2, x_68); +lean_ctor_set(x_80, 3, x_69); +lean_ctor_set(x_80, 4, x_70); +lean_ctor_set(x_80, 5, x_27); +lean_ctor_set(x_80, 6, x_76); +lean_ctor_set_uint8(x_80, sizeof(void*)*7, x_65); +lean_ctor_set_uint8(x_80, sizeof(void*)*7 + 1, x_66); +lean_ctor_set_uint8(x_80, sizeof(void*)*7 + 2, x_67); +lean_ctor_set_uint8(x_80, sizeof(void*)*7 + 3, x_71); +lean_ctor_set_uint8(x_80, sizeof(void*)*7 + 4, x_72); +lean_ctor_set_uint8(x_80, sizeof(void*)*7 + 5, x_73); +lean_ctor_set_uint8(x_80, sizeof(void*)*7 + 6, x_74); +lean_ctor_set_uint8(x_80, sizeof(void*)*7 + 7, x_75); +lean_ctor_set_uint8(x_80, sizeof(void*)*7 + 8, x_77); +lean_ctor_set_uint8(x_80, sizeof(void*)*7 + 9, x_78); +lean_ctor_set_uint8(x_80, sizeof(void*)*7 + 10, x_79); +x_81 = l_Lean_Core_resetMessageLog(x_8, x_9, x_26); +x_82 = lean_ctor_get(x_81, 1); +lean_inc(x_82); +lean_dec(x_81); +x_83 = lean_box(0); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_80); +x_84 = l_Lean_Elab_Term_addAutoBoundImplicits(x_3, x_83, x_80, x_5, x_6, x_7, x_8, x_9, x_82); +lean_dec(x_3); +if (lean_obj_tag(x_84) == 0) +{ +lean_object* x_85; lean_object* x_86; lean_object* x_87; uint8_t x_88; +x_85 = lean_ctor_get(x_84, 0); +lean_inc(x_85); +x_86 = lean_ctor_get(x_84, 1); +lean_inc(x_86); +lean_dec(x_84); +x_87 = lean_array_get_size(x_85); +x_88 = lean_nat_dec_lt(x_17, x_87); +if (x_88 == 0) +{ +lean_object* x_89; lean_object* x_90; +lean_dec(x_87); +x_89 = lean_apply_1(x_2, x_85); +x_90 = l_Lean_Elab_Term_withoutAutoBoundImplicit___rarg(x_89, x_80, x_5, x_6, x_7, x_8, x_9, x_86); +return x_90; +} +else +{ +size_t x_91; uint8_t x_92; +x_91 = lean_usize_of_nat(x_87); +x_92 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__1(x_85, x_23, x_91); +if (x_92 == 0) +{ +lean_object* x_93; lean_object* x_94; +lean_dec(x_87); +x_93 = lean_apply_1(x_2, x_85); +x_94 = l_Lean_Elab_Term_withoutAutoBoundImplicit___rarg(x_93, x_80, x_5, x_6, x_7, x_8, x_9, x_86); +return x_94; +} +else +{ +lean_object* x_95; lean_object* x_96; +x_95 = l_Lean_Elab_Command_runTermElabM___rarg___lambda__2___closed__1; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_96 = l_Lean_Meta_mkForallFVars_x27(x_85, x_95, x_6, x_7, x_8, x_9, x_86); +if (lean_obj_tag(x_96) == 0) +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; +x_97 = lean_ctor_get(x_96, 0); +lean_inc(x_97); +x_98 = lean_ctor_get(x_96, 1); +lean_inc(x_98); +lean_dec(x_96); +x_99 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_99, 0, x_87); +x_100 = lean_alloc_closure((void*)(l_Lean_Elab_Command_runTermElabM___rarg___lambda__1___boxed), 10, 1); +lean_closure_set(x_100, 0, x_2); +x_101 = lean_box(x_12); +x_102 = lean_alloc_closure((void*)(l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg___boxed), 11, 4); +lean_closure_set(x_102, 0, x_97); +lean_closure_set(x_102, 1, x_99); +lean_closure_set(x_102, 2, x_100); +lean_closure_set(x_102, 3, x_101); +x_103 = l_Lean_Elab_Command_mkMetaContext___closed__3; +x_104 = l_Lean_Elab_Command_instInhabitedScope___closed__1; +x_105 = l_Lean_Meta_withLCtx___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__3___rarg(x_103, x_104, x_102, x_80, x_5, x_6, x_7, x_8, x_9, x_98); +return x_105; +} +else +{ +lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; +lean_dec(x_87); +lean_dec(x_80); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +x_106 = lean_ctor_get(x_96, 0); +lean_inc(x_106); +x_107 = lean_ctor_get(x_96, 1); +lean_inc(x_107); +if (lean_is_exclusive(x_96)) { + lean_ctor_release(x_96, 0); + lean_ctor_release(x_96, 1); + x_108 = x_96; +} else { + lean_dec_ref(x_96); + x_108 = lean_box(0); +} +if (lean_is_scalar(x_108)) { + x_109 = lean_alloc_ctor(1, 2, 0); +} else { + x_109 = x_108; +} +lean_ctor_set(x_109, 0, x_106); +lean_ctor_set(x_109, 1, x_107); +return x_109; +} +} +} +} +else +{ +lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; +lean_dec(x_80); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +x_110 = lean_ctor_get(x_84, 0); +lean_inc(x_110); +x_111 = lean_ctor_get(x_84, 1); +lean_inc(x_111); +if (lean_is_exclusive(x_84)) { + lean_ctor_release(x_84, 0); + lean_ctor_release(x_84, 1); + x_112 = x_84; +} else { + lean_dec_ref(x_84); + x_112 = lean_box(0); +} +if (lean_is_scalar(x_112)) { + x_113 = lean_alloc_ctor(1, 2, 0); +} else { + x_113 = x_112; +} +lean_ctor_set(x_113, 0, x_110); +lean_ctor_set(x_113, 1, x_111); +return x_113; +} +} +} +else +{ +uint8_t x_114; lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); @@ -39390,23 +39650,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_60 = !lean_is_exclusive(x_13); -if (x_60 == 0) +x_114 = !lean_is_exclusive(x_13); +if (x_114 == 0) { return x_13; } else { -lean_object* x_61; lean_object* x_62; lean_object* x_63; -x_61 = lean_ctor_get(x_13, 0); -x_62 = lean_ctor_get(x_13, 1); -lean_inc(x_62); -lean_inc(x_61); +lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_115 = lean_ctor_get(x_13, 0); +x_116 = lean_ctor_get(x_13, 1); +lean_inc(x_116); +lean_inc(x_115); lean_dec(x_13); -x_63 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_63, 0, x_61); -lean_ctor_set(x_63, 1, x_62); -return x_63; +x_117 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_117, 0, x_115); +lean_ctor_set(x_117, 1, x_116); +return x_117; } } } @@ -39617,7 +39877,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Elab_Command_modifyScope___closed__1; x_2 = l_Lean_Elab_Command_modifyScope___closed__2; -x_3 = lean_unsigned_to_nat(741u); +x_3 = lean_unsigned_to_nat(749u); x_4 = lean_unsigned_to_nat(16u); x_5 = l_Lean_Elab_Command_modifyScope___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -44385,6 +44645,7 @@ lean_object* initialize_Lean_Elab_Binders(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_SyntheticMVars(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_SetOption(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Language_Basic(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_ForEachExpr(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_Command(uint8_t builtin, lean_object* w) { lean_object * res; @@ -44405,6 +44666,9 @@ lean_dec_ref(res); res = initialize_Lean_Language_Basic(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_ForEachExpr(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l_Lean_Elab_Command_instInhabitedScope___closed__1 = _init_l_Lean_Elab_Command_instInhabitedScope___closed__1(); lean_mark_persistent(l_Lean_Elab_Command_instInhabitedScope___closed__1); l_Lean_Elab_Command_instInhabitedScope___closed__2 = _init_l_Lean_Elab_Command_instInhabitedScope___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/MacroArgUtil.c b/stage0/stdlib/Lean/Elab/MacroArgUtil.c index f9ba6c31f4..fd84825860 100644 --- a/stage0/stdlib/Lean/Elab/MacroArgUtil.c +++ b/stage0/stdlib/Lean/Elab/MacroArgUtil.c @@ -3126,7 +3126,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___lambda__2___closed__3; x_2 = l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___lambda__2___closed__4; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Elab_Command_expandMacroArg_mkSyntaxAndPat___lambda__2___closed__5; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/MutualDef.c b/stage0/stdlib/Lean/Elab/MutualDef.c index 6663e72993..24f3474ae8 100644 --- a/stage0/stdlib/Lean/Elab/MutualDef.c +++ b/stage0/stdlib/Lean/Elab/MutualDef.c @@ -496,7 +496,6 @@ lean_object* l_Lean_LocalDecl_setUserName(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__5___lambda__1___boxed(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabMutualDef___spec__10(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -uint8_t l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_instantiateMVarsProfiling(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__1___closed__4; @@ -1077,6 +1076,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_withRestoreOrSaveFull___at___private_Lean_E LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5732_(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__6___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabMutualDef___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_Array_contains___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMajorPosDepElim___spec__4(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___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_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*); @@ -31054,7 +31054,7 @@ if (lean_obj_tag(x_3) == 1) lean_object* x_4; uint8_t x_5; x_4 = lean_ctor_get(x_3, 0); lean_inc(x_4); -x_5 = l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(x_1, x_3); +x_5 = l_Array_contains___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_getMajorPosDepElim___spec__4(x_1, x_3); lean_dec(x_3); if (x_5 == 0) { @@ -34009,7 +34009,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5___rarg___closed__1; x_2 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5___rarg___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/Main.c index cd6f75815a..70ef99cde3 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Main.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Main.c @@ -3748,7 +3748,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___closed__4; x_2 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___closed__5; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_PreDefinition_Main_0__Lean_Elab_partitionPreDefs___spec__22___closed__6; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/Mutual.c b/stage0/stdlib/Lean/Elab/PreDefinition/Mutual.c index 258b396ca8..260f96d3bc 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/Mutual.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/Mutual.c @@ -14,6 +14,7 @@ extern "C" { #endif lean_object* l_Lean_Expr_bindingName_x21(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_cleanPreDef(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_withEnableInfoTree___at_Lean_Elab_Mutual_addPreDefsFromUnary___spec__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_addPreDefsFromUnary___lambda__1___boxed(lean_object*); extern lean_object* l_Lean_Elab_instInhabitedPreDefinition; @@ -34,10 +35,8 @@ uint8_t lean_usize_dec_eq(size_t, size_t); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Mutual_withCommonTelescope___spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_addPreDefsFromUnary___lambda__2___boxed(lean_object**); static lean_object* l_Lean_Elab_Mutual_addPreDefsFromUnary___lambda__1___closed__1; -LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_cleanPreDefs(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_withEnableInfoTree___at_Lean_Elab_Mutual_addPreDefsFromUnary___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Mutual_addPreDefAttributes___spec__2(lean_object*, size_t, size_t); -lean_object* l_Lean_Elab_addAndCompilePartialRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_withCommonTelescope_go(lean_object*); lean_object* l_Lean_Elab_PreDefinition_filterAttrs(lean_object*, lean_object*); static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Mutual_addPreDefAttributes___spec__2___closed__4; @@ -56,12 +55,12 @@ static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Mutual_addPreDefAttrib LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_withCommonTelescope_go___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Option_get___at_Lean_profiler_threshold_getSecs___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Elab_addNonRec___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_mapMUnsafe_map___at_Lean_Elab_Mutual_cleanPreDefs___spec__1(uint8_t, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Mutual_addPreDefAttributes___spec__2___closed__3; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Mutual_withCommonTelescope_go___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_to_list(lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_Mutual_addPreDefsFromUnary___lambda__1(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_cleanPreDef___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Mutual_addPreDefsFromUnary___closed__6; lean_object* l_Lean_Elab_abstractNestedProofs(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedExpr; @@ -76,14 +75,13 @@ LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Mutual_addP extern lean_object* l_Lean_diagnostics; lean_object* l___private_Lean_ReducibilityAttrs_0__Lean_setReducibilityStatusCore(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*); uint8_t l_Lean_Expr_binderInfo(lean_object*); -lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_addAndCompileUnsafe___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_Array_mapMUnsafe_map___at_Lean_Elab_Mutual_cleanPreDefs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_mapTR_loop___at_Lean_Elab_addAndCompileUnsafe___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Mutual_addPreDefsFromUnary___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_withCommonTelescope(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Mutual_addPreDefAttributes___spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +lean_object* l_Lean_Elab_eraseRecAppSyntax(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Mutual_addPreDefsFromUnary___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_addPreDefsFromUnary___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_PreDefinition_Basic_0__Lean_Elab_addNonRecAux(lean_object*, uint8_t, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -104,7 +102,6 @@ LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Mutual_addPreDefA lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_addPPExplicitToExposeDiff_visit___spec__4___rarg(lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Mutual_withCommonTelescope_go___spec__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_Array_anyMUnsafe_any___at_Lean_Elab_Mutual_withCommonTelescope_go___spec__3___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_cleanPreDefs___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); @@ -1471,244 +1468,103 @@ lean_dec(x_2); return x_13; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Mutual_cleanPreDefs___spec__1(uint8_t x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_cleanPreDef(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -uint8_t x_12; -x_12 = lean_usize_dec_lt(x_3, x_2); -if (x_12 == 0) -{ -lean_object* x_13; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -x_13 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_13, 0, x_4); -lean_ctor_set(x_13, 1, x_11); -return x_13; -} -else -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_14 = lean_array_uget(x_4, x_3); -x_15 = lean_unsigned_to_nat(0u); -x_16 = lean_array_uset(x_4, x_3, x_15); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_17 = l_Lean_Elab_abstractNestedProofs(x_14, x_1, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_17) == 0) -{ -lean_object* x_18; lean_object* x_19; size_t x_20; size_t x_21; lean_object* x_22; -x_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_17, 1); -lean_inc(x_19); -lean_dec(x_17); -x_20 = 1; -x_21 = lean_usize_add(x_3, x_20); -x_22 = lean_array_uset(x_16, x_3, x_18); -x_3 = x_21; -x_4 = x_22; -x_11 = x_19; -goto _start; -} -else -{ -uint8_t x_24; -lean_dec(x_16); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -x_24 = !lean_is_exclusive(x_17); -if (x_24 == 0) -{ -return x_17; -} -else -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; -x_25 = lean_ctor_get(x_17, 0); -x_26 = lean_ctor_get(x_17, 1); -lean_inc(x_26); -lean_inc(x_25); -lean_dec(x_17); -x_27 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -return x_27; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_cleanPreDefs(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; -lean_inc(x_8); -lean_inc(x_7); +lean_object* x_8; lean_inc(x_6); lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_1); -x_10 = l_Lean_Elab_addAndCompilePartialRec(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_10) == 0) +x_8 = l_Lean_Elab_eraseRecAppSyntax(x_1, x_5, x_6, x_7); +if (lean_obj_tag(x_8) == 0) { -lean_object* x_11; size_t x_12; size_t x_13; lean_object* x_14; -x_11 = lean_ctor_get(x_10, 1); -lean_inc(x_11); -lean_dec(x_10); -x_12 = lean_array_size(x_1); -x_13 = 0; -lean_inc(x_8); -lean_inc(x_7); -x_14 = l_Array_mapMUnsafe_map___at_Lean_Elab_addAndCompileUnsafe___spec__1(x_12, x_13, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_11); -if (lean_obj_tag(x_14) == 0) -{ -lean_object* x_15; lean_object* x_16; size_t x_17; lean_object* x_18; -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); -lean_inc(x_16); -lean_dec(x_14); -x_17 = lean_array_size(x_15); -x_18 = l_Array_mapMUnsafe_map___at_Lean_Elab_Mutual_cleanPreDefs___spec__1(x_2, x_17, x_13, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_16); -lean_dec(x_4); -lean_dec(x_3); -if (lean_obj_tag(x_18) == 0) -{ -uint8_t x_19; -x_19 = !lean_is_exclusive(x_18); -if (x_19 == 0) -{ -return x_18; -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_18, 0); -x_21 = lean_ctor_get(x_18, 1); -lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_18); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_21); -return x_22; -} -} -else -{ -uint8_t x_23; -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -return x_18; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_18, 0); -x_25 = lean_ctor_get(x_18, 1); -lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_18); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; -} -} -} -else -{ -uint8_t x_27; +lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +x_10 = lean_ctor_get(x_8, 1); +lean_inc(x_10); lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_27 = !lean_is_exclusive(x_14); -if (x_27 == 0) +x_11 = l_Lean_Elab_abstractNestedProofs(x_9, x_2, x_3, x_4, x_5, x_6, x_10); +if (lean_obj_tag(x_11) == 0) { -return x_14; +uint8_t x_12; +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +return x_11; } else { -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_14, 0); -x_29 = lean_ctor_get(x_14, 1); -lean_inc(x_29); -lean_inc(x_28); -lean_dec(x_14); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; -} -} -} -else -{ -uint8_t x_31; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_31 = !lean_is_exclusive(x_10); -if (x_31 == 0) -{ -return x_10; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_10, 0); -x_33 = lean_ctor_get(x_10, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_10); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; -} -} -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Mutual_cleanPreDefs___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; size_t x_13; size_t x_14; lean_object* x_15; -x_12 = lean_unbox(x_1); -lean_dec(x_1); -x_13 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_14 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_15 = l_Array_mapMUnsafe_map___at_Lean_Elab_Mutual_cleanPreDefs___spec__1(x_12, x_13, x_14, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_6); -lean_dec(x_5); +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_11, 1); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_11); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_13); +lean_ctor_set(x_15, 1, x_14); return x_15; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_cleanPreDefs___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) { +else +{ +uint8_t x_16; +x_16 = !lean_is_exclusive(x_11); +if (x_16 == 0) +{ +return x_11; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_11, 0); +x_18 = lean_ctor_get(x_11, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_11); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +return x_19; +} +} +} +else +{ +uint8_t x_20; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_20 = !lean_is_exclusive(x_8); +if (x_20 == 0) +{ +return x_8; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_8, 0); +x_22 = lean_ctor_get(x_8, 1); +lean_inc(x_22); +lean_inc(x_21); +lean_dec(x_8); +x_23 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_23, 0, x_21); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Mutual_cleanPreDef___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) { _start: { -uint8_t x_10; lean_object* x_11; -x_10 = lean_unbox(x_2); +uint8_t x_8; lean_object* x_9; +x_8 = lean_unbox(x_2); lean_dec(x_2); -x_11 = l_Lean_Elab_Mutual_cleanPreDefs(x_1, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -return x_11; +x_9 = l_Lean_Elab_Mutual_cleanPreDef(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +return x_9; } } static lean_object* _init_l_Lean_setReducibilityStatus___at_Lean_Elab_Mutual_addPreDefAttributes___spec__1___closed__1() { diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/PartialFixpoint/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/PartialFixpoint/Main.c index 1acd08babf..cd812a3ae7 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/PartialFixpoint/Main.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/PartialFixpoint/Main.c @@ -16,9 +16,10 @@ extern "C" { static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__1___closed__21; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkSorry(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_FixedParamPerm_forallTelescope___at_Lean_Elab_partialFixpoint___spec__19___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Mutual_cleanPreDef(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_logUnassignedUsingErrorInfos(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__13; +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__11; +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__4; static lean_object* l_Lean_Elab_partialFixpoint___closed__3; extern lean_object* l_Lean_Elab_instInhabitedPreDefinition; lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Meta_Eqns_0__Lean_Meta_mkSimpleEqThm_doRealize___spec__1___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -27,10 +28,10 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Mai LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__1___closed__15; lean_object* l_Lean_mkAppN(lean_object*, lean_object*); -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__5; static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_replaceRecApps___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_mkMonoPProd(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__2___closed__13; +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__14; LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__11___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_mkMonoPProd___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -43,19 +44,16 @@ static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_partialFixpoint___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__8; lean_object* l_Lean_indentD(lean_object*); uint8_t l_Lean_Exception_isInterrupt(lean_object*); lean_object* l_panic___at_Lean_Elab_Term_reportStuckSyntheticMVar___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_partialFixpoint___lambda__2___closed__6; -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__3; static lean_object* l_Lean_Elab_mkInstCCPOPProd___closed__2; uint8_t l_Lean_Expr_isApp(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_partialFixpoint___spec__7(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___lambda__2___closed__4; -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__4; static lean_object* l_Lean_Elab_partialFixpoint___lambda__2___closed__4; lean_object* l_Lean_getRecAppSyntax_x3f(lean_object*); lean_object* l_Lean_Meta_PProdN_reduceProjs___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -75,18 +73,19 @@ static lean_object* l_Lean_Elab_partialFixpoint___closed__11; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_partialFixpoint___spec__15___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___lambda__2___closed__2; static lean_object* l_Lean_Elab_mkMonoPProd___lambda__1___closed__1; -lean_object* l_Lean_Elab_Mutual_cleanPreDefs(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_panic___at_Lean_Elab_partialFixpoint___spec__12___rarg___closed__1; LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__18___boxed(lean_object**); static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__1___closed__3; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__3___closed__1; static lean_object* l_Lean_Elab_partialFixpoint___lambda__1___closed__1; static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_replaceRecApps___closed__4; +lean_object* l_Lean_Elab_addAndCompilePartialRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__1___closed__14; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__1___closed__13; static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___closed__2; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_partialFixpoint___spec__9___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_mkMonoPProd___lambda__2___closed__1; +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__7; static lean_object* l_Lean_Elab_partialFixpoint___lambda__2___closed__5; lean_object* l_Lean_Expr_cleanupAnnotations(lean_object*); lean_object* l_Lean_Elab_FixedParamPerm_buildArgs___rarg(lean_object*, lean_object*, lean_object*); @@ -98,7 +97,7 @@ static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___lambda__2___closed__1; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__1___closed__11; lean_object* l_Lean_Elab_FixedParamPerm_pickVarying___rarg(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_FixedParamPerm_forallTelescope___at_Lean_Elab_partialFixpoint___spec__19(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_mapMUnsafe_map___at_Lean_Elab_partialFixpoint___spec__19(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_PartialFixpoint_registerEqnsInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__3___closed__4; lean_object* l_Lean_Level_ofNat(lean_object*); @@ -106,6 +105,7 @@ LEAN_EXPORT lean_object* l_List_mapTR_loop___at_Lean_Elab_partialFixpoint___spec LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_List_mapTR_loop___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabTermEnsuringType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__15; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__3___closed__3; uint8_t l_Lean_Expr_isLambda(lean_object*); lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, lean_object*); @@ -135,12 +135,12 @@ lean_object* l_Lean_Meta_PProdN_proj(lean_object*, lean_object*, lean_object*, l LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__11(lean_object*, lean_object*, size_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*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_ofSyntax(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958_(lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_Elab_partialFixpoint___spec__12___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_partialFixpoint___closed__10; lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*, lean_object*); -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__7; static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___closed__3; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__1___closed__5; lean_object* l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(lean_object*, lean_object*, lean_object*, lean_object*); @@ -150,17 +150,21 @@ LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_partialFixp LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_andList(lean_object*); static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__1___closed__4; +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__12; lean_object* l_Lean_Expr_appArg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_replaceRecApps___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_replaceRecApps___closed__5; +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__10; static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_replaceRecApps___closed__1; LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__11___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__6; lean_object* lean_st_ref_get(lean_object*, lean_object*); static lean_object* l_Lean_Elab_partialFixpoint___lambda__2___closed__1; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__3___closed__7; LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_setEnv___at_Lean_Meta_setInlineAttribute___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkAppM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__13; LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Elab_partialFixpoint___spec__3___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabImplicitLambda_loop___spec__1___rarg(lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_mkMonoPProd___lambda__2___closed__2; @@ -175,15 +179,16 @@ LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint(lean_object*, lean_object*, lean_object* l_Lean_Name_append(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_partialFixpoint___spec__16___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_partialFixpoint___lambda__2___closed__3; +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__3; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_partialFixpoint___spec__15___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_levelZero; lean_object* l_Lean_Elab_FixedParamPerm_instantiateForall(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_partialFixpoint___spec__19___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_withEnv___at_Lean_Elab_partialFixpoint___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_constName_x21(lean_object*); extern lean_object* l_Lean_instInhabitedExpr; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_PProdN_reduceProjs___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__10; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__2___closed__8; static lean_object* l_Lean_Elab_mkInstCCPOPProd___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -193,7 +198,7 @@ lean_object* l_Lean_Elab_Mutual_addPreDefsFromUnary(lean_object*, lean_object*, static lean_object* l_Array_filterMapM___at_Lean_Elab_partialFixpoint___spec__1___closed__1; lean_object* l_Lean_Core_betaReduce___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__15; +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__1; static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_replaceRecApps___lambda__1___closed__2; static lean_object* l_Lean_Elab_partialFixpoint___closed__9; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_partialFixpoint___spec__13(lean_object*); @@ -206,11 +211,11 @@ static lean_object* l_Lean_Elab_partialFixpoint___closed__7; static lean_object* l_Lean_Elab_partialFixpoint___lambda__2___closed__8; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___closed__3; static lean_object* l_Lean_Elab_mkMonoPProd___lambda__3___closed__1; +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__9; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__3___closed__2; LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_mkMonoPProd___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__6; static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___closed__4; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__2___closed__3; LEAN_EXPORT lean_object* l_Array_idxOf_x3f___at___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_replaceRecApps___spec__1(lean_object*, lean_object*); @@ -232,12 +237,14 @@ static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec static lean_object* l_Lean_Elab_partialFixpoint___closed__2; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___spec__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_Array_mapMUnsafe_map___at_Lean_Elab_partialFixpoint___spec__8(size_t, 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_Elab_FixedParamPerm_forallTelescope___at_Lean_Elab_partialFixpoint___spec__20___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___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*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___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_object*); static lean_object* l_Lean_Elab_partialFixpoint___lambda__2___closed__2; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__3___closed__4; 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_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___closed__4; +LEAN_EXPORT lean_object* l_Lean_Elab_FixedParamPerm_forallTelescope___at_Lean_Elab_partialFixpoint___spec__20(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_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___boxed(lean_object**); lean_object* lean_array_fget(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -257,7 +264,6 @@ lean_object* l___private_Lean_Elab_PreDefinition_FixedParams_0__Lean_Elab_FixedP static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__1___closed__12; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* l_Lean_Elab_getFixedParamPerms(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__12; LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*); static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__3___closed__1; @@ -266,13 +272,11 @@ LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint___lambda__2___boxed(lean_ob lean_object* l_Lean_indentExpr(lean_object*); static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__2___closed__12; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__1___closed__8; -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__14; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint___lambda__1___boxed(lean_object**); uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_idxOfAux___at_Lean_MetavarContext_setMVarUserName___spec__3(lean_object*, lean_object*, lean_object*); -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__1; lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_idxOf_x3f___at___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_replaceRecApps___spec__1___boxed(lean_object*, lean_object*); lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -287,7 +291,7 @@ lean_object* l_instMonadControlReaderT___lambda__2(lean_object*, lean_object*, l lean_object* l_Lean_Meta_PProdN_mk(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_replaceRecApps(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_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*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___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_Array_mapMUnsafe_map___at_Lean_Elab_partialFixpoint___spec__8___lambda__1(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Core_instMonadCoreM; @@ -310,7 +314,6 @@ static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec lean_object* lean_array_uget(lean_object*, size_t); static lean_object* l_Lean_Elab_mkInstCCPOPProd___closed__3; size_t lean_array_size(lean_object*); -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__11; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_partialFixpoint___spec__15(lean_object*); static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__1___closed__18; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_replaceRecApps___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -324,8 +327,8 @@ LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Elab_partialFixpo lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___lambda__2___closed__3; static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__11___closed__1; +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__5; lean_object* lean_string_append(lean_object*, lean_object*); -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__9; lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__3___closed__8; lean_object* l_Lean_Meta_Monotonicity_solveMono(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -338,12 +341,13 @@ lean_object* lean_array_get(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_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__2; uint8_t lean_usize_dec_lt(size_t, size_t); -LEAN_EXPORT lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935_(lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___closed__1; 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*); static lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__3___closed__9; lean_object* lean_nat_add(lean_object*, lean_object*); +static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__8; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isConst(lean_object*); uint8_t l_Lean_Exception_isRuntime(lean_object*); @@ -358,7 +362,6 @@ static lean_object* l_Lean_Elab_mkInstCCPOPProd___closed__1; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); lean_object* l_Lean_MessageData_ofName(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*); -static lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__2; LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__11___boxed(lean_object**); @@ -6362,7 +6365,82 @@ return x_41; } } } -LEAN_EXPORT lean_object* l_Lean_Elab_FixedParamPerm_forallTelescope___at_Lean_Elab_partialFixpoint___spec__19___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_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_partialFixpoint___spec__19(size_t x_1, size_t 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: +{ +uint8_t x_11; +x_11 = lean_usize_dec_lt(x_2, x_1); +if (x_11 == 0) +{ +lean_object* x_12; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_3); +lean_ctor_set(x_12, 1, x_10); +return x_12; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; +x_13 = lean_array_uget(x_3, x_2); +x_14 = lean_unsigned_to_nat(0u); +x_15 = lean_array_uset(x_3, x_2, x_14); +x_16 = 1; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_17 = l_Lean_Elab_Mutual_cleanPreDef(x_13, x_16, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; lean_object* x_19; size_t x_20; size_t x_21; lean_object* x_22; +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +x_20 = 1; +x_21 = lean_usize_add(x_2, x_20); +x_22 = lean_array_uset(x_15, x_2, x_18); +x_2 = x_21; +x_3 = x_22; +x_10 = x_19; +goto _start; +} +else +{ +uint8_t x_24; +lean_dec(x_15); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_24 = !lean_is_exclusive(x_17); +if (x_24 == 0) +{ +return x_17; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_17, 0); +x_26 = lean_ctor_get(x_17, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_17); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +return x_27; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_FixedParamPerm_forallTelescope___at_Lean_Elab_partialFixpoint___spec__20___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; @@ -6370,11 +6448,11 @@ x_10 = lean_apply_8(x_1, x_4, x_2, x_3, x_5, x_6, x_7, x_8, x_9); return x_10; } } -LEAN_EXPORT lean_object* l_Lean_Elab_FixedParamPerm_forallTelescope___at_Lean_Elab_partialFixpoint___spec__19(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Lean_Elab_FixedParamPerm_forallTelescope___at_Lean_Elab_partialFixpoint___spec__20(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: { lean_object* x_11; lean_object* x_12; -x_11 = lean_alloc_closure((void*)(l_Lean_Elab_FixedParamPerm_forallTelescope___at_Lean_Elab_partialFixpoint___spec__19___lambda__1), 9, 3); +x_11 = lean_alloc_closure((void*)(l_Lean_Elab_FixedParamPerm_forallTelescope___at_Lean_Elab_partialFixpoint___spec__20___lambda__1), 9, 3); lean_closure_set(x_11, 0, x_3); lean_closure_set(x_11, 1, x_4); lean_closure_set(x_11, 2, x_5); @@ -6443,160 +6521,46 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint___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, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { +LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint___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, size_t x_10, size_t x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20) { _start: { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_100; uint8_t x_101; uint8_t x_102; uint8_t x_103; uint8_t x_104; lean_object* x_105; -x_100 = lean_unsigned_to_nat(1u); -x_101 = lean_nat_dec_eq(x_5, x_100); -x_102 = 0; -x_103 = 1; -x_104 = 1; +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_114; uint8_t x_115; uint8_t x_116; uint8_t x_117; uint8_t x_118; lean_object* x_119; +x_114 = lean_unsigned_to_nat(1u); +x_115 = lean_nat_dec_eq(x_5, x_114); +x_116 = 0; +x_117 = 1; +x_118 = 1; lean_inc(x_8); -x_105 = l_Lean_Meta_mkForallFVars(x_1, x_8, x_102, x_103, x_104, x_14, x_15, x_16, x_17, x_18); -if (x_101 == 0) -{ -if (lean_obj_tag(x_105) == 0) -{ -lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; -x_106 = lean_ctor_get(x_105, 0); -lean_inc(x_106); -x_107 = lean_ctor_get(x_105, 1); -lean_inc(x_107); -lean_dec(x_105); -x_108 = lean_ctor_get(x_3, 3); -lean_inc(x_108); -x_109 = l_Lean_Elab_partialFixpoint___lambda__1___closed__2; -x_110 = l_Lean_Name_append(x_108, x_109); -x_19 = x_110; -x_20 = x_106; -x_21 = x_107; -goto block_99; -} -else -{ -uint8_t x_111; -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_111 = !lean_is_exclusive(x_105); -if (x_111 == 0) -{ -return x_105; -} -else -{ -lean_object* x_112; lean_object* x_113; lean_object* x_114; -x_112 = lean_ctor_get(x_105, 0); -x_113 = lean_ctor_get(x_105, 1); -lean_inc(x_113); -lean_inc(x_112); -lean_dec(x_105); -x_114 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_114, 0, x_112); -lean_ctor_set(x_114, 1, x_113); -return x_114; -} -} -} -else -{ -uint8_t x_115; -x_115 = l_Lean_Elab_FixedParamPerms_fixedArePrefix(x_10); +x_119 = l_Lean_Meta_mkForallFVars(x_1, x_8, x_116, x_117, x_118, x_16, x_17, x_18, x_19, x_20); if (x_115 == 0) { -if (lean_obj_tag(x_105) == 0) +if (lean_obj_tag(x_119) == 0) { -lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; -x_116 = lean_ctor_get(x_105, 0); -lean_inc(x_116); -x_117 = lean_ctor_get(x_105, 1); -lean_inc(x_117); -lean_dec(x_105); -x_118 = lean_ctor_get(x_3, 3); -lean_inc(x_118); -x_119 = l_Lean_Elab_partialFixpoint___lambda__1___closed__2; -x_120 = l_Lean_Name_append(x_118, x_119); -x_19 = x_120; -x_20 = x_116; -x_21 = x_117; -goto block_99; -} -else -{ -uint8_t x_121; -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_121 = !lean_is_exclusive(x_105); -if (x_121 == 0) -{ -return x_105; -} -else -{ -lean_object* x_122; lean_object* x_123; lean_object* x_124; -x_122 = lean_ctor_get(x_105, 0); -x_123 = lean_ctor_get(x_105, 1); -lean_inc(x_123); +lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; +x_120 = lean_ctor_get(x_119, 0); +lean_inc(x_120); +x_121 = lean_ctor_get(x_119, 1); +lean_inc(x_121); +lean_dec(x_119); +x_122 = lean_ctor_get(x_3, 3); lean_inc(x_122); -lean_dec(x_105); -x_124 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_124, 0, x_122); -lean_ctor_set(x_124, 1, x_123); -return x_124; -} -} +x_123 = l_Lean_Elab_partialFixpoint___lambda__1___closed__2; +x_124 = l_Lean_Name_append(x_122, x_123); +x_21 = x_124; +x_22 = x_120; +x_23 = x_121; +goto block_113; } else { -if (lean_obj_tag(x_105) == 0) -{ -lean_object* x_125; lean_object* x_126; lean_object* x_127; -x_125 = lean_ctor_get(x_105, 0); -lean_inc(x_125); -x_126 = lean_ctor_get(x_105, 1); -lean_inc(x_126); -lean_dec(x_105); -x_127 = lean_ctor_get(x_3, 3); -lean_inc(x_127); -x_19 = x_127; -x_20 = x_125; -x_21 = x_126; -goto block_99; -} -else -{ -uint8_t x_128; +uint8_t x_125; +lean_dec(x_19); +lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); -lean_dec(x_13); lean_dec(x_12); -lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_6); @@ -6604,176 +6568,271 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_128 = !lean_is_exclusive(x_105); -if (x_128 == 0) +x_125 = !lean_is_exclusive(x_119); +if (x_125 == 0) { -return x_105; +return x_119; } else { -lean_object* x_129; lean_object* x_130; lean_object* x_131; -x_129 = lean_ctor_get(x_105, 0); -x_130 = lean_ctor_get(x_105, 1); +lean_object* x_126; lean_object* x_127; lean_object* x_128; +x_126 = lean_ctor_get(x_119, 0); +x_127 = lean_ctor_get(x_119, 1); +lean_inc(x_127); +lean_inc(x_126); +lean_dec(x_119); +x_128 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_128, 0, x_126); +lean_ctor_set(x_128, 1, x_127); +return x_128; +} +} +} +else +{ +uint8_t x_129; +x_129 = l_Lean_Elab_FixedParamPerms_fixedArePrefix(x_12); +if (x_129 == 0) +{ +if (lean_obj_tag(x_119) == 0) +{ +lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; +x_130 = lean_ctor_get(x_119, 0); lean_inc(x_130); -lean_inc(x_129); -lean_dec(x_105); -x_131 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_131, 0, x_129); -lean_ctor_set(x_131, 1, x_130); -return x_131; +x_131 = lean_ctor_get(x_119, 1); +lean_inc(x_131); +lean_dec(x_119); +x_132 = lean_ctor_get(x_3, 3); +lean_inc(x_132); +x_133 = l_Lean_Elab_partialFixpoint___lambda__1___closed__2; +x_134 = l_Lean_Name_append(x_132, x_133); +x_21 = x_134; +x_22 = x_130; +x_23 = x_131; +goto block_113; } -} -} -} -block_99: +else { -uint8_t x_22; uint8_t x_23; uint8_t x_24; lean_object* x_25; -x_22 = 0; -x_23 = 1; -x_24 = 1; -x_25 = l_Lean_Meta_mkLambdaFVars(x_1, x_2, x_22, x_23, x_22, x_24, x_14, x_15, x_16, x_17, x_21); -if (lean_obj_tag(x_25) == 0) +uint8_t x_135; +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_135 = !lean_is_exclusive(x_119); +if (x_135 == 0) { -lean_object* x_26; lean_object* x_27; uint8_t x_28; -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -lean_dec(x_25); -x_28 = !lean_is_exclusive(x_3); -if (x_28 == 0) +return x_119; +} +else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_29 = lean_ctor_get(x_3, 1); -x_30 = lean_ctor_get(x_3, 5); -lean_dec(x_30); -x_31 = lean_ctor_get(x_3, 4); -lean_dec(x_31); -x_32 = lean_ctor_get(x_3, 3); -lean_dec(x_32); -lean_inc(x_19); +lean_object* x_136; lean_object* x_137; lean_object* x_138; +x_136 = lean_ctor_get(x_119, 0); +x_137 = lean_ctor_get(x_119, 1); +lean_inc(x_137); +lean_inc(x_136); +lean_dec(x_119); +x_138 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_138, 0, x_136); +lean_ctor_set(x_138, 1, x_137); +return x_138; +} +} +} +else +{ +if (lean_obj_tag(x_119) == 0) +{ +lean_object* x_139; lean_object* x_140; lean_object* x_141; +x_139 = lean_ctor_get(x_119, 0); +lean_inc(x_139); +x_140 = lean_ctor_get(x_119, 1); +lean_inc(x_140); +lean_dec(x_119); +x_141 = lean_ctor_get(x_3, 3); +lean_inc(x_141); +x_21 = x_141; +x_22 = x_139; +x_23 = x_140; +goto block_113; +} +else +{ +uint8_t x_142; +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_142 = !lean_is_exclusive(x_119); +if (x_142 == 0) +{ +return x_119; +} +else +{ +lean_object* x_143; lean_object* x_144; lean_object* x_145; +x_143 = lean_ctor_get(x_119, 0); +x_144 = lean_ctor_get(x_119, 1); +lean_inc(x_144); +lean_inc(x_143); +lean_dec(x_119); +x_145 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_145, 0, x_143); +lean_ctor_set(x_145, 1, x_144); +return x_145; +} +} +} +} +block_113: +{ +uint8_t x_24; uint8_t x_25; uint8_t x_26; lean_object* x_27; +x_24 = 0; +x_25 = 1; +x_26 = 1; +x_27 = l_Lean_Meta_mkLambdaFVars(x_1, x_2, x_24, x_25, x_24, x_26, x_16, x_17, x_18, x_19, x_23); +if (lean_obj_tag(x_27) == 0) +{ +lean_object* x_28; lean_object* x_29; uint8_t x_30; +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); lean_inc(x_29); -lean_ctor_set(x_3, 5, x_26); -lean_ctor_set(x_3, 4, x_20); -lean_ctor_set(x_3, 3, x_19); -x_33 = lean_unsigned_to_nat(0u); -lean_inc(x_17); -lean_inc(x_16); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_19); -lean_inc(x_5); -x_34 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__18(x_4, x_5, x_6, x_7, x_8, x_19, x_29, x_4, x_5, x_33, lean_box(0), x_9, x_12, x_13, x_14, x_15, x_16, x_17, x_27); -if (lean_obj_tag(x_34) == 0) +lean_dec(x_27); +x_30 = !lean_is_exclusive(x_3); +if (x_30 == 0) { -lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_34, 1); -lean_inc(x_36); +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_31 = lean_ctor_get(x_3, 1); +x_32 = lean_ctor_get(x_3, 5); +lean_dec(x_32); +x_33 = lean_ctor_get(x_3, 4); +lean_dec(x_33); +x_34 = lean_ctor_get(x_3, 3); lean_dec(x_34); +lean_inc(x_21); +lean_inc(x_31); +lean_ctor_set(x_3, 5, x_28); +lean_ctor_set(x_3, 4, x_22); +lean_ctor_set(x_3, 3, x_21); +x_35 = lean_unsigned_to_nat(0u); +lean_inc(x_19); +lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); lean_inc(x_15); lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_4); -x_37 = l_Lean_Elab_Mutual_addPreDefsFromUnary(x_4, x_35, x_3, x_23, x_12, x_13, x_14, x_15, x_16, x_17, x_36); -lean_dec(x_35); -if (lean_obj_tag(x_37) == 0) +lean_inc(x_21); +lean_inc(x_5); +x_36 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__18(x_4, x_5, x_6, x_7, x_8, x_21, x_31, x_4, x_5, x_35, lean_box(0), x_9, x_14, x_15, x_16, x_17, x_18, x_19, x_29); +if (lean_obj_tag(x_36) == 0) { -lean_object* x_38; lean_object* x_39; -x_38 = lean_ctor_get(x_37, 1); +lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_37 = lean_ctor_get(x_36, 0); +lean_inc(x_37); +x_38 = lean_ctor_get(x_36, 1); lean_inc(x_38); -lean_dec(x_37); +lean_dec(x_36); +lean_inc(x_19); +lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); lean_inc(x_15); lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -x_39 = l_Lean_Elab_Mutual_cleanPreDefs(x_4, x_23, x_12, x_13, x_14, x_15, x_16, x_17, x_38); +lean_inc(x_4); +x_39 = l_Lean_Elab_Mutual_addPreDefsFromUnary(x_4, x_37, x_3, x_25, x_14, x_15, x_16, x_17, x_18, x_19, x_38); +lean_dec(x_37); if (lean_obj_tag(x_39) == 0) { -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_39, 0); +lean_object* x_40; lean_object* x_41; +x_40 = lean_ctor_get(x_39, 1); lean_inc(x_40); -x_41 = lean_ctor_get(x_39, 1); -lean_inc(x_41); lean_dec(x_39); +lean_inc(x_19); +lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); lean_inc(x_15); lean_inc(x_14); -lean_inc(x_40); -x_42 = l_Lean_Elab_PartialFixpoint_registerEqnsInfo(x_40, x_19, x_10, x_14, x_15, x_16, x_17, x_41); -if (lean_obj_tag(x_42) == 0) +lean_inc(x_4); +x_41 = l_Lean_Elab_addAndCompilePartialRec(x_4, x_14, x_15, x_16, x_17, x_18, x_19, x_40); +if (lean_obj_tag(x_41) == 0) { -lean_object* x_43; lean_object* x_44; -x_43 = lean_ctor_get(x_42, 1); -lean_inc(x_43); -lean_dec(x_42); -x_44 = l_Lean_Elab_Mutual_addPreDefAttributes(x_40, x_12, x_13, x_14, x_15, x_16, x_17, x_43); -lean_dec(x_40); -return x_44; -} -else +lean_object* x_42; lean_object* x_43; +x_42 = lean_ctor_get(x_41, 1); +lean_inc(x_42); +lean_dec(x_41); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +x_43 = l_Array_mapMUnsafe_map___at_Lean_Elab_partialFixpoint___spec__19(x_10, x_11, x_4, x_14, x_15, x_16, x_17, x_18, x_19, x_42); +if (lean_obj_tag(x_43) == 0) { -uint8_t x_45; -lean_dec(x_40); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -x_45 = !lean_is_exclusive(x_42); -if (x_45 == 0) +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_43, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_43, 1); +lean_inc(x_45); +lean_dec(x_43); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_44); +x_46 = l_Lean_Elab_PartialFixpoint_registerEqnsInfo(x_44, x_21, x_12, x_16, x_17, x_18, x_19, x_45); +if (lean_obj_tag(x_46) == 0) { -return x_42; -} -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_42, 0); -x_47 = lean_ctor_get(x_42, 1); +lean_object* x_47; lean_object* x_48; +x_47 = lean_ctor_get(x_46, 1); lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_42); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); +lean_dec(x_46); +x_48 = l_Lean_Elab_Mutual_addPreDefAttributes(x_44, x_14, x_15, x_16, x_17, x_18, x_19, x_47); +lean_dec(x_44); return x_48; } -} -} else { uint8_t x_49; +lean_dec(x_44); lean_dec(x_19); +lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_10); -x_49 = !lean_is_exclusive(x_39); +x_49 = !lean_is_exclusive(x_46); if (x_49 == 0) { -return x_39; +return x_46; } else { lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_50 = lean_ctor_get(x_39, 0); -x_51 = lean_ctor_get(x_39, 1); +x_50 = lean_ctor_get(x_46, 0); +x_51 = lean_ctor_get(x_46, 1); lean_inc(x_51); lean_inc(x_50); -lean_dec(x_39); +lean_dec(x_46); x_52 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_52, 0, x_50); lean_ctor_set(x_52, 1, x_51); @@ -6784,28 +6843,27 @@ return x_52; else { uint8_t x_53; +lean_dec(x_21); lean_dec(x_19); +lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); -lean_dec(x_13); lean_dec(x_12); -lean_dec(x_10); -lean_dec(x_4); -x_53 = !lean_is_exclusive(x_37); +x_53 = !lean_is_exclusive(x_43); if (x_53 == 0) { -return x_37; +return x_43; } else { lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_54 = lean_ctor_get(x_37, 0); -x_55 = lean_ctor_get(x_37, 1); +x_54 = lean_ctor_get(x_43, 0); +x_55 = lean_ctor_get(x_43, 1); lean_inc(x_55); lean_inc(x_54); -lean_dec(x_37); +lean_dec(x_43); x_56 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_56, 0, x_54); lean_ctor_set(x_56, 1, x_55); @@ -6816,29 +6874,28 @@ return x_56; else { uint8_t x_57; -lean_dec(x_3); +lean_dec(x_21); lean_dec(x_19); +lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); -lean_dec(x_13); lean_dec(x_12); -lean_dec(x_10); lean_dec(x_4); -x_57 = !lean_is_exclusive(x_34); +x_57 = !lean_is_exclusive(x_41); if (x_57 == 0) { -return x_34; +return x_41; } else { lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_34, 0); -x_59 = lean_ctor_get(x_34, 1); +x_58 = lean_ctor_get(x_41, 0); +x_59 = lean_ctor_get(x_41, 1); lean_inc(x_59); lean_inc(x_58); -lean_dec(x_34); +lean_dec(x_41); x_60 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_60, 0, x_58); lean_ctor_set(x_60, 1, x_59); @@ -6848,262 +6905,373 @@ return x_60; } else { -lean_object* x_61; uint8_t x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; -x_61 = lean_ctor_get(x_3, 0); -x_62 = lean_ctor_get_uint8(x_3, sizeof(void*)*7); -x_63 = lean_ctor_get(x_3, 1); -x_64 = lean_ctor_get(x_3, 2); -x_65 = lean_ctor_get(x_3, 6); -lean_inc(x_65); -lean_inc(x_64); -lean_inc(x_63); -lean_inc(x_61); -lean_dec(x_3); -lean_inc(x_19); -lean_inc(x_63); -x_66 = lean_alloc_ctor(0, 7, 1); -lean_ctor_set(x_66, 0, x_61); -lean_ctor_set(x_66, 1, x_63); -lean_ctor_set(x_66, 2, x_64); -lean_ctor_set(x_66, 3, x_19); -lean_ctor_set(x_66, 4, x_20); -lean_ctor_set(x_66, 5, x_26); -lean_ctor_set(x_66, 6, x_65); -lean_ctor_set_uint8(x_66, sizeof(void*)*7, x_62); -x_67 = lean_unsigned_to_nat(0u); -lean_inc(x_17); -lean_inc(x_16); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_19); -lean_inc(x_5); -x_68 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__18(x_4, x_5, x_6, x_7, x_8, x_19, x_63, x_4, x_5, x_67, lean_box(0), x_9, x_12, x_13, x_14, x_15, x_16, x_17, x_27); -if (lean_obj_tag(x_68) == 0) -{ -lean_object* x_69; lean_object* x_70; lean_object* x_71; -x_69 = lean_ctor_get(x_68, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_68, 1); -lean_inc(x_70); -lean_dec(x_68); -lean_inc(x_17); -lean_inc(x_16); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_4); -x_71 = l_Lean_Elab_Mutual_addPreDefsFromUnary(x_4, x_69, x_66, x_23, x_12, x_13, x_14, x_15, x_16, x_17, x_70); -lean_dec(x_69); -if (lean_obj_tag(x_71) == 0) -{ -lean_object* x_72; lean_object* x_73; -x_72 = lean_ctor_get(x_71, 1); -lean_inc(x_72); -lean_dec(x_71); -lean_inc(x_17); -lean_inc(x_16); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -x_73 = l_Lean_Elab_Mutual_cleanPreDefs(x_4, x_23, x_12, x_13, x_14, x_15, x_16, x_17, x_72); -if (lean_obj_tag(x_73) == 0) -{ -lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_74 = lean_ctor_get(x_73, 0); -lean_inc(x_74); -x_75 = lean_ctor_get(x_73, 1); -lean_inc(x_75); -lean_dec(x_73); -lean_inc(x_17); -lean_inc(x_16); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_74); -x_76 = l_Lean_Elab_PartialFixpoint_registerEqnsInfo(x_74, x_19, x_10, x_14, x_15, x_16, x_17, x_75); -if (lean_obj_tag(x_76) == 0) -{ -lean_object* x_77; lean_object* x_78; -x_77 = lean_ctor_get(x_76, 1); -lean_inc(x_77); -lean_dec(x_76); -x_78 = l_Lean_Elab_Mutual_addPreDefAttributes(x_74, x_12, x_13, x_14, x_15, x_16, x_17, x_77); -lean_dec(x_74); -return x_78; -} -else -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; -lean_dec(x_74); +uint8_t x_61; +lean_dec(x_21); +lean_dec(x_19); +lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); -lean_dec(x_13); lean_dec(x_12); -x_79 = lean_ctor_get(x_76, 0); -lean_inc(x_79); -x_80 = lean_ctor_get(x_76, 1); +lean_dec(x_4); +x_61 = !lean_is_exclusive(x_39); +if (x_61 == 0) +{ +return x_39; +} +else +{ +lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_62 = lean_ctor_get(x_39, 0); +x_63 = lean_ctor_get(x_39, 1); +lean_inc(x_63); +lean_inc(x_62); +lean_dec(x_39); +x_64 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_64, 0, x_62); +lean_ctor_set(x_64, 1, x_63); +return x_64; +} +} +} +else +{ +uint8_t x_65; +lean_dec(x_3); +lean_dec(x_21); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_4); +x_65 = !lean_is_exclusive(x_36); +if (x_65 == 0) +{ +return x_36; +} +else +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_66 = lean_ctor_get(x_36, 0); +x_67 = lean_ctor_get(x_36, 1); +lean_inc(x_67); +lean_inc(x_66); +lean_dec(x_36); +x_68 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_68, 0, x_66); +lean_ctor_set(x_68, 1, x_67); +return x_68; +} +} +} +else +{ +lean_object* x_69; uint8_t x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; +x_69 = lean_ctor_get(x_3, 0); +x_70 = lean_ctor_get_uint8(x_3, sizeof(void*)*7); +x_71 = lean_ctor_get(x_3, 1); +x_72 = lean_ctor_get(x_3, 2); +x_73 = lean_ctor_get(x_3, 6); +lean_inc(x_73); +lean_inc(x_72); +lean_inc(x_71); +lean_inc(x_69); +lean_dec(x_3); +lean_inc(x_21); +lean_inc(x_71); +x_74 = lean_alloc_ctor(0, 7, 1); +lean_ctor_set(x_74, 0, x_69); +lean_ctor_set(x_74, 1, x_71); +lean_ctor_set(x_74, 2, x_72); +lean_ctor_set(x_74, 3, x_21); +lean_ctor_set(x_74, 4, x_22); +lean_ctor_set(x_74, 5, x_28); +lean_ctor_set(x_74, 6, x_73); +lean_ctor_set_uint8(x_74, sizeof(void*)*7, x_70); +x_75 = lean_unsigned_to_nat(0u); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_21); +lean_inc(x_5); +x_76 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__18(x_4, x_5, x_6, x_7, x_8, x_21, x_71, x_4, x_5, x_75, lean_box(0), x_9, x_14, x_15, x_16, x_17, x_18, x_19, x_29); +if (lean_obj_tag(x_76) == 0) +{ +lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_77 = lean_ctor_get(x_76, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_76, 1); +lean_inc(x_78); +lean_dec(x_76); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_4); +x_79 = l_Lean_Elab_Mutual_addPreDefsFromUnary(x_4, x_77, x_74, x_25, x_14, x_15, x_16, x_17, x_18, x_19, x_78); +lean_dec(x_77); +if (lean_obj_tag(x_79) == 0) +{ +lean_object* x_80; lean_object* x_81; +x_80 = lean_ctor_get(x_79, 1); lean_inc(x_80); +lean_dec(x_79); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_4); +x_81 = l_Lean_Elab_addAndCompilePartialRec(x_4, x_14, x_15, x_16, x_17, x_18, x_19, x_80); +if (lean_obj_tag(x_81) == 0) +{ +lean_object* x_82; lean_object* x_83; +x_82 = lean_ctor_get(x_81, 1); +lean_inc(x_82); +lean_dec(x_81); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +x_83 = l_Array_mapMUnsafe_map___at_Lean_Elab_partialFixpoint___spec__19(x_10, x_11, x_4, x_14, x_15, x_16, x_17, x_18, x_19, x_82); +if (lean_obj_tag(x_83) == 0) +{ +lean_object* x_84; lean_object* x_85; lean_object* x_86; +x_84 = lean_ctor_get(x_83, 0); +lean_inc(x_84); +x_85 = lean_ctor_get(x_83, 1); +lean_inc(x_85); +lean_dec(x_83); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_84); +x_86 = l_Lean_Elab_PartialFixpoint_registerEqnsInfo(x_84, x_21, x_12, x_16, x_17, x_18, x_19, x_85); +if (lean_obj_tag(x_86) == 0) +{ +lean_object* x_87; lean_object* x_88; +x_87 = lean_ctor_get(x_86, 1); +lean_inc(x_87); +lean_dec(x_86); +x_88 = l_Lean_Elab_Mutual_addPreDefAttributes(x_84, x_14, x_15, x_16, x_17, x_18, x_19, x_87); +lean_dec(x_84); +return x_88; +} +else +{ +lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; +lean_dec(x_84); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +x_89 = lean_ctor_get(x_86, 0); +lean_inc(x_89); +x_90 = lean_ctor_get(x_86, 1); +lean_inc(x_90); +if (lean_is_exclusive(x_86)) { + lean_ctor_release(x_86, 0); + lean_ctor_release(x_86, 1); + x_91 = x_86; +} else { + lean_dec_ref(x_86); + x_91 = lean_box(0); +} +if (lean_is_scalar(x_91)) { + x_92 = lean_alloc_ctor(1, 2, 0); +} else { + x_92 = x_91; +} +lean_ctor_set(x_92, 0, x_89); +lean_ctor_set(x_92, 1, x_90); +return x_92; +} +} +else +{ +lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; +lean_dec(x_21); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_12); +x_93 = lean_ctor_get(x_83, 0); +lean_inc(x_93); +x_94 = lean_ctor_get(x_83, 1); +lean_inc(x_94); +if (lean_is_exclusive(x_83)) { + lean_ctor_release(x_83, 0); + lean_ctor_release(x_83, 1); + x_95 = x_83; +} else { + lean_dec_ref(x_83); + x_95 = lean_box(0); +} +if (lean_is_scalar(x_95)) { + x_96 = lean_alloc_ctor(1, 2, 0); +} else { + x_96 = x_95; +} +lean_ctor_set(x_96, 0, x_93); +lean_ctor_set(x_96, 1, x_94); +return x_96; +} +} +else +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; +lean_dec(x_21); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_4); +x_97 = lean_ctor_get(x_81, 0); +lean_inc(x_97); +x_98 = lean_ctor_get(x_81, 1); +lean_inc(x_98); +if (lean_is_exclusive(x_81)) { + lean_ctor_release(x_81, 0); + lean_ctor_release(x_81, 1); + x_99 = x_81; +} else { + lean_dec_ref(x_81); + x_99 = lean_box(0); +} +if (lean_is_scalar(x_99)) { + x_100 = lean_alloc_ctor(1, 2, 0); +} else { + x_100 = x_99; +} +lean_ctor_set(x_100, 0, x_97); +lean_ctor_set(x_100, 1, x_98); +return x_100; +} +} +else +{ +lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; +lean_dec(x_21); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_4); +x_101 = lean_ctor_get(x_79, 0); +lean_inc(x_101); +x_102 = lean_ctor_get(x_79, 1); +lean_inc(x_102); +if (lean_is_exclusive(x_79)) { + lean_ctor_release(x_79, 0); + lean_ctor_release(x_79, 1); + x_103 = x_79; +} else { + lean_dec_ref(x_79); + x_103 = lean_box(0); +} +if (lean_is_scalar(x_103)) { + x_104 = lean_alloc_ctor(1, 2, 0); +} else { + x_104 = x_103; +} +lean_ctor_set(x_104, 0, x_101); +lean_ctor_set(x_104, 1, x_102); +return x_104; +} +} +else +{ +lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; +lean_dec(x_74); +lean_dec(x_21); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_4); +x_105 = lean_ctor_get(x_76, 0); +lean_inc(x_105); +x_106 = lean_ctor_get(x_76, 1); +lean_inc(x_106); if (lean_is_exclusive(x_76)) { lean_ctor_release(x_76, 0); lean_ctor_release(x_76, 1); - x_81 = x_76; + x_107 = x_76; } else { lean_dec_ref(x_76); - x_81 = lean_box(0); + x_107 = lean_box(0); } -if (lean_is_scalar(x_81)) { - x_82 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_107)) { + x_108 = lean_alloc_ctor(1, 2, 0); } else { - x_82 = x_81; + x_108 = x_107; } -lean_ctor_set(x_82, 0, x_79); -lean_ctor_set(x_82, 1, x_80); -return x_82; -} -} -else -{ -lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; -lean_dec(x_19); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_10); -x_83 = lean_ctor_get(x_73, 0); -lean_inc(x_83); -x_84 = lean_ctor_get(x_73, 1); -lean_inc(x_84); -if (lean_is_exclusive(x_73)) { - lean_ctor_release(x_73, 0); - lean_ctor_release(x_73, 1); - x_85 = x_73; -} else { - lean_dec_ref(x_73); - x_85 = lean_box(0); -} -if (lean_is_scalar(x_85)) { - x_86 = lean_alloc_ctor(1, 2, 0); -} else { - x_86 = x_85; -} -lean_ctor_set(x_86, 0, x_83); -lean_ctor_set(x_86, 1, x_84); -return x_86; -} -} -else -{ -lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; -lean_dec(x_19); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_10); -lean_dec(x_4); -x_87 = lean_ctor_get(x_71, 0); -lean_inc(x_87); -x_88 = lean_ctor_get(x_71, 1); -lean_inc(x_88); -if (lean_is_exclusive(x_71)) { - lean_ctor_release(x_71, 0); - lean_ctor_release(x_71, 1); - x_89 = x_71; -} else { - lean_dec_ref(x_71); - x_89 = lean_box(0); -} -if (lean_is_scalar(x_89)) { - x_90 = lean_alloc_ctor(1, 2, 0); -} else { - x_90 = x_89; -} -lean_ctor_set(x_90, 0, x_87); -lean_ctor_set(x_90, 1, x_88); -return x_90; -} -} -else -{ -lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; -lean_dec(x_66); -lean_dec(x_19); -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_10); -lean_dec(x_4); -x_91 = lean_ctor_get(x_68, 0); -lean_inc(x_91); -x_92 = lean_ctor_get(x_68, 1); -lean_inc(x_92); -if (lean_is_exclusive(x_68)) { - lean_ctor_release(x_68, 0); - lean_ctor_release(x_68, 1); - x_93 = x_68; -} else { - lean_dec_ref(x_68); - x_93 = lean_box(0); -} -if (lean_is_scalar(x_93)) { - x_94 = lean_alloc_ctor(1, 2, 0); -} else { - x_94 = x_93; -} -lean_ctor_set(x_94, 0, x_91); -lean_ctor_set(x_94, 1, x_92); -return x_94; +lean_ctor_set(x_108, 0, x_105); +lean_ctor_set(x_108, 1, x_106); +return x_108; } } } else { -uint8_t x_95; -lean_dec(x_20); +uint8_t x_109; +lean_dec(x_22); +lean_dec(x_21); lean_dec(x_19); +lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); -lean_dec(x_13); lean_dec(x_12); -lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_95 = !lean_is_exclusive(x_25); -if (x_95 == 0) +x_109 = !lean_is_exclusive(x_27); +if (x_109 == 0) { -return x_25; +return x_27; } else { -lean_object* x_96; lean_object* x_97; lean_object* x_98; -x_96 = lean_ctor_get(x_25, 0); -x_97 = lean_ctor_get(x_25, 1); -lean_inc(x_97); -lean_inc(x_96); -lean_dec(x_25); -x_98 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_98, 0, x_96); -lean_ctor_set(x_98, 1, x_97); -return x_98; +lean_object* x_110; lean_object* x_111; lean_object* x_112; +x_110 = lean_ctor_get(x_27, 0); +x_111 = lean_ctor_get(x_27, 1); +lean_inc(x_111); +lean_inc(x_110); +lean_dec(x_27); +x_112 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_112, 0, x_110); +lean_ctor_set(x_112, 1, x_111); +return x_112; } } } @@ -7181,455 +7349,455 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, size_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21) { +LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, size_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, size_t x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22) { _start: { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_22 = lean_array_get_size(x_1); -x_23 = lean_mk_empty_array_with_capacity(x_22); -x_24 = lean_unsigned_to_nat(0u); +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_23 = lean_array_get_size(x_1); +x_24 = lean_mk_empty_array_with_capacity(x_23); +x_25 = lean_unsigned_to_nat(0u); +lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); -lean_inc(x_17); -lean_inc(x_14); +lean_inc(x_15); lean_inc(x_2); -x_25 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__5(x_1, x_2, x_3, x_14, x_1, x_22, x_24, lean_box(0), x_23, x_15, x_16, x_17, x_18, x_19, x_20, x_21); -if (lean_obj_tag(x_25) == 0) +x_26 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__5(x_1, x_2, x_3, x_15, x_1, x_23, x_25, lean_box(0), x_24, x_16, x_17, x_18, x_19, x_20, x_21, x_22); +if (lean_obj_tag(x_26) == 0) { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_26, 0); lean_inc(x_27); -lean_dec(x_25); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); -lean_inc(x_17); lean_inc(x_6); lean_inc(x_5); -lean_inc(x_14); +lean_inc(x_15); lean_inc(x_2); -x_28 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__6(x_4, x_2, x_3, x_14, x_4, x_5, x_24, lean_box(0), x_6, x_15, x_16, x_17, x_18, x_19, x_20, x_27); -if (lean_obj_tag(x_28) == 0) +x_29 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__6(x_4, x_2, x_3, x_15, x_4, x_5, x_25, lean_box(0), x_6, x_16, x_17, x_18, x_19, x_20, x_21, x_28); +if (lean_obj_tag(x_29) == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_30 = lean_ctor_get(x_29, 0); lean_inc(x_30); -lean_dec(x_28); -x_31 = l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___lambda__3___closed__1; +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +x_32 = l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___lambda__3___closed__1; +lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); -lean_inc(x_17); -lean_inc(x_29); -x_32 = l_Lean_Meta_PProdN_pack(x_31, x_29, x_17, x_18, x_19, x_20, x_30); -if (lean_obj_tag(x_32) == 0) +lean_inc(x_30); +x_33 = l_Lean_Meta_PProdN_pack(x_32, x_30, x_18, x_19, x_20, x_21, x_31); +if (lean_obj_tag(x_33) == 0) { -lean_object* x_33; lean_object* x_34; size_t x_35; lean_object* x_36; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -x_34 = lean_ctor_get(x_32, 1); +lean_object* x_34; lean_object* x_35; size_t x_36; lean_object* x_37; +x_34 = lean_ctor_get(x_33, 0); lean_inc(x_34); -lean_dec(x_32); -x_35 = lean_array_size(x_26); +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +lean_dec(x_33); +x_36 = lean_array_size(x_27); +lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); -lean_inc(x_15); -x_36 = l_Array_mapMUnsafe_map___at_Lean_Elab_partialFixpoint___spec__8(x_7, x_35, x_7, x_26, x_15, x_16, x_17, x_18, x_19, x_20, x_34); -if (lean_obj_tag(x_36) == 0) +x_37 = l_Array_mapMUnsafe_map___at_Lean_Elab_partialFixpoint___spec__8(x_7, x_36, x_7, x_27, x_16, x_17, x_18, x_19, x_20, x_21, x_35); +if (lean_obj_tag(x_37) == 0) { -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_37 = lean_ctor_get(x_36, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_36, 1); +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_38 = lean_ctor_get(x_37, 0); lean_inc(x_38); -lean_dec(x_36); -x_39 = l_Lean_instInhabitedExpr; -x_40 = l_Lean_Elab_partialFixpoint___lambda__2___closed__1; +x_39 = lean_ctor_get(x_37, 1); +lean_inc(x_39); +lean_dec(x_37); +x_40 = l_Lean_instInhabitedExpr; +x_41 = l_Lean_Elab_partialFixpoint___lambda__2___closed__1; +lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); -lean_inc(x_17); -lean_inc(x_37); -x_41 = l_Lean_Meta_PProdN_genMk___rarg(x_39, x_40, x_37, x_17, x_18, x_19, x_20, x_38); -if (lean_obj_tag(x_41) == 0) +lean_inc(x_38); +x_42 = l_Lean_Meta_PProdN_genMk___rarg(x_40, x_41, x_38, x_18, x_19, x_20, x_21, x_39); +if (lean_obj_tag(x_42) == 0) { -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_42 = lean_ctor_get(x_41, 0); -lean_inc(x_42); -x_43 = lean_ctor_get(x_41, 1); +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_43 = lean_ctor_get(x_42, 0); lean_inc(x_43); -lean_dec(x_41); -x_44 = lean_box(0); -x_45 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_45, 0, x_42); -x_46 = lean_box(0); -lean_inc(x_45); -x_47 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); +x_44 = lean_ctor_get(x_42, 1); +lean_inc(x_44); +lean_dec(x_42); +x_45 = lean_box(0); +x_46 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_46, 0, x_43); +x_47 = lean_box(0); +lean_inc(x_46); x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_44); +lean_ctor_set(x_48, 0, x_46); lean_ctor_set(x_48, 1, x_47); -x_49 = lean_array_mk(x_48); -x_50 = l_Lean_Elab_partialFixpoint___lambda__2___closed__3; +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_45); +lean_ctor_set(x_49, 1, x_48); +x_50 = lean_array_mk(x_49); +x_51 = l_Lean_Elab_partialFixpoint___lambda__2___closed__3; +lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); -lean_inc(x_17); -x_51 = l_Lean_Meta_mkAppOptM(x_50, x_49, x_17, x_18, x_19, x_20, x_43); -if (lean_obj_tag(x_51) == 0) +x_52 = l_Lean_Meta_mkAppOptM(x_51, x_50, x_18, x_19, x_20, x_21, x_44); +if (lean_obj_tag(x_52) == 0) { -lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_52 = lean_ctor_get(x_51, 0); -lean_inc(x_52); -x_53 = lean_ctor_get(x_51, 1); +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_52, 0); lean_inc(x_53); -lean_dec(x_51); +x_54 = lean_ctor_get(x_52, 1); +lean_inc(x_54); +lean_dec(x_52); +lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); -lean_inc(x_15); lean_inc(x_6); -lean_inc(x_33); -lean_inc(x_14); +lean_inc(x_34); +lean_inc(x_15); lean_inc(x_2); lean_inc(x_9); lean_inc_n(x_5, 2); lean_inc(x_4); -x_54 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__11(x_4, x_5, x_7, x_8, x_9, x_2, x_3, x_14, x_33, x_4, x_5, x_24, lean_box(0), x_6, x_15, x_16, x_17, x_18, x_19, x_20, x_53); -if (lean_obj_tag(x_54) == 0) +x_55 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__11(x_4, x_5, x_7, x_8, x_9, x_2, x_3, x_15, x_34, x_4, x_5, x_25, lean_box(0), x_6, x_16, x_17, x_18, x_19, x_20, x_21, x_54); +if (lean_obj_tag(x_55) == 0) { -lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_55 = lean_ctor_get(x_54, 0); -lean_inc(x_55); -x_56 = lean_ctor_get(x_54, 1); +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_55, 0); lean_inc(x_56); -lean_dec(x_54); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +lean_dec(x_55); +lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); lean_inc(x_17); lean_inc(x_16); -lean_inc(x_15); lean_inc(x_6); lean_inc(x_5); -lean_inc(x_33); -lean_inc(x_14); +lean_inc(x_34); +lean_inc(x_15); lean_inc(x_9); lean_inc(x_4); -x_57 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17(x_4, x_10, x_9, x_11, x_11, x_12, x_14, x_29, x_33, x_37, x_50, x_46, x_52, x_55, x_4, x_5, x_24, lean_box(0), x_6, x_15, x_16, x_17, x_18, x_19, x_20, x_56); -lean_dec(x_55); -lean_dec(x_37); -lean_dec(x_29); -if (lean_obj_tag(x_57) == 0) +x_58 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__17(x_4, x_10, x_9, x_11, x_11, x_12, x_15, x_30, x_34, x_38, x_51, x_47, x_53, x_56, x_4, x_5, x_25, lean_box(0), x_6, x_16, x_17, x_18, x_19, x_20, x_21, x_57); +lean_dec(x_56); +lean_dec(x_38); +lean_dec(x_30); +if (lean_obj_tag(x_58) == 0) { -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_58 = lean_ctor_get(x_57, 0); -lean_inc(x_58); -x_59 = lean_ctor_get(x_57, 1); +lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_59 = lean_ctor_get(x_58, 0); lean_inc(x_59); -lean_dec(x_57); -x_60 = l_Lean_Elab_partialFixpoint___lambda__2___closed__4; +x_60 = lean_ctor_get(x_58, 1); +lean_inc(x_60); +lean_dec(x_58); +x_61 = l_Lean_Elab_partialFixpoint___lambda__2___closed__4; +lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); -lean_inc(x_17); -x_61 = l_Lean_Meta_PProdN_genMk___rarg(x_39, x_60, x_58, x_17, x_18, x_19, x_20, x_59); -if (lean_obj_tag(x_61) == 0) +x_62 = l_Lean_Meta_PProdN_genMk___rarg(x_40, x_61, x_59, x_18, x_19, x_20, x_21, x_60); +if (lean_obj_tag(x_62) == 0) { -lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_62 = lean_ctor_get(x_61, 0); -lean_inc(x_62); -x_63 = lean_ctor_get(x_61, 1); +lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_63 = lean_ctor_get(x_62, 0); lean_inc(x_63); -lean_dec(x_61); -lean_inc(x_33); -x_64 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_64, 0, x_33); +x_64 = lean_ctor_get(x_62, 1); +lean_inc(x_64); +lean_dec(x_62); +lean_inc(x_34); x_65 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_65, 0, x_62); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_65); -lean_ctor_set(x_66, 1, x_46); +lean_ctor_set(x_65, 0, x_34); +x_66 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_66, 0, x_63); x_67 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_67, 0, x_44); -lean_ctor_set(x_67, 1, x_66); +lean_ctor_set(x_67, 0, x_66); +lean_ctor_set(x_67, 1, x_47); x_68 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_68, 0, x_45); lean_ctor_set(x_68, 1, x_67); x_69 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_69, 0, x_64); +lean_ctor_set(x_69, 0, x_46); lean_ctor_set(x_69, 1, x_68); -x_70 = lean_array_mk(x_69); -x_71 = l_Lean_Elab_partialFixpoint___lambda__2___closed__6; +x_70 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_70, 0, x_65); +lean_ctor_set(x_70, 1, x_69); +x_71 = lean_array_mk(x_70); +x_72 = l_Lean_Elab_partialFixpoint___lambda__2___closed__6; +lean_inc(x_21); lean_inc(x_20); lean_inc(x_19); lean_inc(x_18); -lean_inc(x_17); -x_72 = l_Lean_Meta_mkAppOptM(x_71, x_70, x_17, x_18, x_19, x_20, x_63); -if (lean_obj_tag(x_72) == 0) +x_73 = l_Lean_Meta_mkAppOptM(x_72, x_71, x_18, x_19, x_20, x_21, x_64); +if (lean_obj_tag(x_73) == 0) { -lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78; -x_73 = lean_ctor_get(x_72, 0); -lean_inc(x_73); -x_74 = lean_ctor_get(x_72, 1); +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79; +x_74 = lean_ctor_get(x_73, 0); lean_inc(x_74); -lean_dec(x_72); -x_75 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__3___closed__6; -x_76 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_75, x_15, x_16, x_17, x_18, x_19, x_20, x_74); -x_77 = lean_ctor_get(x_76, 0); -lean_inc(x_77); -x_78 = lean_unbox(x_77); +x_75 = lean_ctor_get(x_73, 1); +lean_inc(x_75); +lean_dec(x_73); +x_76 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__3___closed__6; +x_77 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_76, x_16, x_17, x_18, x_19, x_20, x_21, x_75); +x_78 = lean_ctor_get(x_77, 0); +lean_inc(x_78); +x_79 = lean_unbox(x_78); +lean_dec(x_78); +if (x_79 == 0) +{ +lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_80 = lean_ctor_get(x_77, 1); +lean_inc(x_80); lean_dec(x_77); -if (x_78 == 0) -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_76, 1); -lean_inc(x_79); -lean_dec(x_76); -x_80 = lean_box(0); -x_81 = l_Lean_Elab_partialFixpoint___lambda__1(x_14, x_73, x_13, x_4, x_5, x_2, x_3, x_33, x_6, x_9, x_80, x_15, x_16, x_17, x_18, x_19, x_20, x_79); -lean_dec(x_14); -return x_81; +x_81 = lean_box(0); +x_82 = l_Lean_Elab_partialFixpoint___lambda__1(x_15, x_74, x_13, x_4, x_5, x_2, x_3, x_34, x_6, x_14, x_7, x_9, x_81, x_16, x_17, x_18, x_19, x_20, x_21, x_80); +lean_dec(x_15); +return x_82; } else { -uint8_t x_82; -x_82 = !lean_is_exclusive(x_76); -if (x_82 == 0) +uint8_t x_83; +x_83 = !lean_is_exclusive(x_77); +if (x_83 == 0) { -lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_83 = lean_ctor_get(x_76, 1); -x_84 = lean_ctor_get(x_76, 0); -lean_dec(x_84); -lean_inc(x_73); -x_85 = l_Lean_MessageData_ofExpr(x_73); -x_86 = l_Lean_Elab_partialFixpoint___lambda__2___closed__8; -lean_ctor_set_tag(x_76, 7); -lean_ctor_set(x_76, 1, x_85); -lean_ctor_set(x_76, 0, x_86); -x_87 = l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___closed__4; -x_88 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_88, 0, x_76); -lean_ctor_set(x_88, 1, x_87); -x_89 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_75, x_88, x_15, x_16, x_17, x_18, x_19, x_20, x_83); -x_90 = lean_ctor_get(x_89, 0); -lean_inc(x_90); -x_91 = lean_ctor_get(x_89, 1); +lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; +x_84 = lean_ctor_get(x_77, 1); +x_85 = lean_ctor_get(x_77, 0); +lean_dec(x_85); +lean_inc(x_74); +x_86 = l_Lean_MessageData_ofExpr(x_74); +x_87 = l_Lean_Elab_partialFixpoint___lambda__2___closed__8; +lean_ctor_set_tag(x_77, 7); +lean_ctor_set(x_77, 1, x_86); +lean_ctor_set(x_77, 0, x_87); +x_88 = l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___closed__4; +x_89 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_89, 0, x_77); +lean_ctor_set(x_89, 1, x_88); +x_90 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_76, x_89, x_16, x_17, x_18, x_19, x_20, x_21, x_84); +x_91 = lean_ctor_get(x_90, 0); lean_inc(x_91); -lean_dec(x_89); -x_92 = l_Lean_Elab_partialFixpoint___lambda__1(x_14, x_73, x_13, x_4, x_5, x_2, x_3, x_33, x_6, x_9, x_90, x_15, x_16, x_17, x_18, x_19, x_20, x_91); +x_92 = lean_ctor_get(x_90, 1); +lean_inc(x_92); lean_dec(x_90); -lean_dec(x_14); -return x_92; +x_93 = l_Lean_Elab_partialFixpoint___lambda__1(x_15, x_74, x_13, x_4, x_5, x_2, x_3, x_34, x_6, x_14, x_7, x_9, x_91, x_16, x_17, x_18, x_19, x_20, x_21, x_92); +lean_dec(x_91); +lean_dec(x_15); +return x_93; } else { -lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; -x_93 = lean_ctor_get(x_76, 1); -lean_inc(x_93); -lean_dec(x_76); -lean_inc(x_73); -x_94 = l_Lean_MessageData_ofExpr(x_73); -x_95 = l_Lean_Elab_partialFixpoint___lambda__2___closed__8; -x_96 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_96, 0, x_95); -lean_ctor_set(x_96, 1, x_94); -x_97 = l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___closed__4; -x_98 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_98, 0, x_96); -lean_ctor_set(x_98, 1, x_97); -x_99 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_75, x_98, x_15, x_16, x_17, x_18, x_19, x_20, x_93); -x_100 = lean_ctor_get(x_99, 0); -lean_inc(x_100); -x_101 = lean_ctor_get(x_99, 1); +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; +x_94 = lean_ctor_get(x_77, 1); +lean_inc(x_94); +lean_dec(x_77); +lean_inc(x_74); +x_95 = l_Lean_MessageData_ofExpr(x_74); +x_96 = l_Lean_Elab_partialFixpoint___lambda__2___closed__8; +x_97 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_97, 0, x_96); +lean_ctor_set(x_97, 1, x_95); +x_98 = l___private_Lean_Elab_PreDefinition_PartialFixpoint_Main_0__Lean_Elab_unReplaceRecApps___rarg___closed__4; +x_99 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_99, 0, x_97); +lean_ctor_set(x_99, 1, x_98); +x_100 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_76, x_99, x_16, x_17, x_18, x_19, x_20, x_21, x_94); +x_101 = lean_ctor_get(x_100, 0); lean_inc(x_101); -lean_dec(x_99); -x_102 = l_Lean_Elab_partialFixpoint___lambda__1(x_14, x_73, x_13, x_4, x_5, x_2, x_3, x_33, x_6, x_9, x_100, x_15, x_16, x_17, x_18, x_19, x_20, x_101); +x_102 = lean_ctor_get(x_100, 1); +lean_inc(x_102); lean_dec(x_100); -lean_dec(x_14); -return x_102; +x_103 = l_Lean_Elab_partialFixpoint___lambda__1(x_15, x_74, x_13, x_4, x_5, x_2, x_3, x_34, x_6, x_14, x_7, x_9, x_101, x_16, x_17, x_18, x_19, x_20, x_21, x_102); +lean_dec(x_101); +lean_dec(x_15); +return x_103; } } } else { -uint8_t x_103; -lean_dec(x_33); +uint8_t x_104; +lean_dec(x_34); +lean_dec(x_21); lean_dec(x_20); lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_14); lean_dec(x_13); lean_dec(x_9); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_103 = !lean_is_exclusive(x_72); -if (x_103 == 0) +x_104 = !lean_is_exclusive(x_73); +if (x_104 == 0) { -return x_72; +return x_73; } else { -lean_object* x_104; lean_object* x_105; lean_object* x_106; -x_104 = lean_ctor_get(x_72, 0); -x_105 = lean_ctor_get(x_72, 1); +lean_object* x_105; lean_object* x_106; lean_object* x_107; +x_105 = lean_ctor_get(x_73, 0); +x_106 = lean_ctor_get(x_73, 1); +lean_inc(x_106); lean_inc(x_105); -lean_inc(x_104); -lean_dec(x_72); -x_106 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_106, 0, x_104); -lean_ctor_set(x_106, 1, x_105); -return x_106; +lean_dec(x_73); +x_107 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_107, 0, x_105); +lean_ctor_set(x_107, 1, x_106); +return x_107; } } } else { -uint8_t x_107; -lean_dec(x_45); -lean_dec(x_33); +uint8_t x_108; +lean_dec(x_46); +lean_dec(x_34); +lean_dec(x_21); lean_dec(x_20); lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_14); lean_dec(x_13); lean_dec(x_9); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_107 = !lean_is_exclusive(x_61); -if (x_107 == 0) +x_108 = !lean_is_exclusive(x_62); +if (x_108 == 0) { -return x_61; +return x_62; } else { -lean_object* x_108; lean_object* x_109; lean_object* x_110; -x_108 = lean_ctor_get(x_61, 0); -x_109 = lean_ctor_get(x_61, 1); +lean_object* x_109; lean_object* x_110; lean_object* x_111; +x_109 = lean_ctor_get(x_62, 0); +x_110 = lean_ctor_get(x_62, 1); +lean_inc(x_110); lean_inc(x_109); -lean_inc(x_108); -lean_dec(x_61); -x_110 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_110, 0, x_108); -lean_ctor_set(x_110, 1, x_109); -return x_110; +lean_dec(x_62); +x_111 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_111, 0, x_109); +lean_ctor_set(x_111, 1, x_110); +return x_111; } } } else { -uint8_t x_111; -lean_dec(x_45); -lean_dec(x_33); +uint8_t x_112; +lean_dec(x_46); +lean_dec(x_34); +lean_dec(x_21); lean_dec(x_20); lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_14); lean_dec(x_13); lean_dec(x_9); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_111 = !lean_is_exclusive(x_57); -if (x_111 == 0) +x_112 = !lean_is_exclusive(x_58); +if (x_112 == 0) { -return x_57; +return x_58; } else { -lean_object* x_112; lean_object* x_113; lean_object* x_114; -x_112 = lean_ctor_get(x_57, 0); -x_113 = lean_ctor_get(x_57, 1); +lean_object* x_113; lean_object* x_114; lean_object* x_115; +x_113 = lean_ctor_get(x_58, 0); +x_114 = lean_ctor_get(x_58, 1); +lean_inc(x_114); lean_inc(x_113); -lean_inc(x_112); -lean_dec(x_57); -x_114 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_114, 0, x_112); -lean_ctor_set(x_114, 1, x_113); -return x_114; +lean_dec(x_58); +x_115 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_115, 0, x_113); +lean_ctor_set(x_115, 1, x_114); +return x_115; } } } else { -uint8_t x_115; -lean_dec(x_52); -lean_dec(x_45); -lean_dec(x_37); -lean_dec(x_33); -lean_dec(x_29); +uint8_t x_116; +lean_dec(x_53); +lean_dec(x_46); +lean_dec(x_38); +lean_dec(x_34); +lean_dec(x_30); +lean_dec(x_21); lean_dec(x_20); lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_14); lean_dec(x_13); lean_dec(x_9); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_115 = !lean_is_exclusive(x_54); -if (x_115 == 0) +x_116 = !lean_is_exclusive(x_55); +if (x_116 == 0) { -return x_54; +return x_55; } else { -lean_object* x_116; lean_object* x_117; lean_object* x_118; -x_116 = lean_ctor_get(x_54, 0); -x_117 = lean_ctor_get(x_54, 1); +lean_object* x_117; lean_object* x_118; lean_object* x_119; +x_117 = lean_ctor_get(x_55, 0); +x_118 = lean_ctor_get(x_55, 1); +lean_inc(x_118); lean_inc(x_117); -lean_inc(x_116); -lean_dec(x_54); -x_118 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_118, 0, x_116); -lean_ctor_set(x_118, 1, x_117); -return x_118; +lean_dec(x_55); +x_119 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_119, 0, x_117); +lean_ctor_set(x_119, 1, x_118); +return x_119; } } } else { -uint8_t x_119; -lean_dec(x_45); -lean_dec(x_37); -lean_dec(x_33); -lean_dec(x_29); +uint8_t x_120; +lean_dec(x_46); +lean_dec(x_38); +lean_dec(x_34); +lean_dec(x_30); +lean_dec(x_21); lean_dec(x_20); lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_14); lean_dec(x_13); lean_dec(x_9); lean_dec(x_8); @@ -7637,39 +7805,39 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_119 = !lean_is_exclusive(x_51); -if (x_119 == 0) +x_120 = !lean_is_exclusive(x_52); +if (x_120 == 0) { -return x_51; +return x_52; } else { -lean_object* x_120; lean_object* x_121; lean_object* x_122; -x_120 = lean_ctor_get(x_51, 0); -x_121 = lean_ctor_get(x_51, 1); +lean_object* x_121; lean_object* x_122; lean_object* x_123; +x_121 = lean_ctor_get(x_52, 0); +x_122 = lean_ctor_get(x_52, 1); +lean_inc(x_122); lean_inc(x_121); -lean_inc(x_120); -lean_dec(x_51); -x_122 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_122, 0, x_120); -lean_ctor_set(x_122, 1, x_121); -return x_122; +lean_dec(x_52); +x_123 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_123, 0, x_121); +lean_ctor_set(x_123, 1, x_122); +return x_123; } } } else { -uint8_t x_123; -lean_dec(x_37); -lean_dec(x_33); -lean_dec(x_29); +uint8_t x_124; +lean_dec(x_38); +lean_dec(x_34); +lean_dec(x_30); +lean_dec(x_21); lean_dec(x_20); lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_14); lean_dec(x_13); lean_dec(x_9); lean_dec(x_8); @@ -7677,38 +7845,38 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_123 = !lean_is_exclusive(x_41); -if (x_123 == 0) +x_124 = !lean_is_exclusive(x_42); +if (x_124 == 0) { -return x_41; +return x_42; } else { -lean_object* x_124; lean_object* x_125; lean_object* x_126; -x_124 = lean_ctor_get(x_41, 0); -x_125 = lean_ctor_get(x_41, 1); +lean_object* x_125; lean_object* x_126; lean_object* x_127; +x_125 = lean_ctor_get(x_42, 0); +x_126 = lean_ctor_get(x_42, 1); +lean_inc(x_126); lean_inc(x_125); -lean_inc(x_124); -lean_dec(x_41); -x_126 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_126, 0, x_124); -lean_ctor_set(x_126, 1, x_125); -return x_126; +lean_dec(x_42); +x_127 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_127, 0, x_125); +lean_ctor_set(x_127, 1, x_126); +return x_127; } } } else { -uint8_t x_127; -lean_dec(x_33); -lean_dec(x_29); +uint8_t x_128; +lean_dec(x_34); +lean_dec(x_30); +lean_dec(x_21); lean_dec(x_20); lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_14); lean_dec(x_13); lean_dec(x_9); lean_dec(x_8); @@ -7716,38 +7884,38 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_127 = !lean_is_exclusive(x_36); -if (x_127 == 0) +x_128 = !lean_is_exclusive(x_37); +if (x_128 == 0) { -return x_36; +return x_37; } else { -lean_object* x_128; lean_object* x_129; lean_object* x_130; -x_128 = lean_ctor_get(x_36, 0); -x_129 = lean_ctor_get(x_36, 1); +lean_object* x_129; lean_object* x_130; lean_object* x_131; +x_129 = lean_ctor_get(x_37, 0); +x_130 = lean_ctor_get(x_37, 1); +lean_inc(x_130); lean_inc(x_129); -lean_inc(x_128); -lean_dec(x_36); -x_130 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_130, 0, x_128); -lean_ctor_set(x_130, 1, x_129); -return x_130; +lean_dec(x_37); +x_131 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_131, 0, x_129); +lean_ctor_set(x_131, 1, x_130); +return x_131; } } } else { -uint8_t x_131; -lean_dec(x_29); -lean_dec(x_26); +uint8_t x_132; +lean_dec(x_30); +lean_dec(x_27); +lean_dec(x_21); lean_dec(x_20); lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_14); lean_dec(x_13); lean_dec(x_9); lean_dec(x_8); @@ -7755,37 +7923,37 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_131 = !lean_is_exclusive(x_32); -if (x_131 == 0) +x_132 = !lean_is_exclusive(x_33); +if (x_132 == 0) { -return x_32; +return x_33; } else { -lean_object* x_132; lean_object* x_133; lean_object* x_134; -x_132 = lean_ctor_get(x_32, 0); -x_133 = lean_ctor_get(x_32, 1); +lean_object* x_133; lean_object* x_134; lean_object* x_135; +x_133 = lean_ctor_get(x_33, 0); +x_134 = lean_ctor_get(x_33, 1); +lean_inc(x_134); lean_inc(x_133); -lean_inc(x_132); -lean_dec(x_32); -x_134 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_134, 0, x_132); -lean_ctor_set(x_134, 1, x_133); -return x_134; +lean_dec(x_33); +x_135 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_135, 0, x_133); +lean_ctor_set(x_135, 1, x_134); +return x_135; } } } else { -uint8_t x_135; -lean_dec(x_26); +uint8_t x_136; +lean_dec(x_27); +lean_dec(x_21); lean_dec(x_20); lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_14); lean_dec(x_13); lean_dec(x_9); lean_dec(x_8); @@ -7793,36 +7961,36 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_135 = !lean_is_exclusive(x_28); -if (x_135 == 0) +x_136 = !lean_is_exclusive(x_29); +if (x_136 == 0) { -return x_28; +return x_29; } else { -lean_object* x_136; lean_object* x_137; lean_object* x_138; -x_136 = lean_ctor_get(x_28, 0); -x_137 = lean_ctor_get(x_28, 1); +lean_object* x_137; lean_object* x_138; lean_object* x_139; +x_137 = lean_ctor_get(x_29, 0); +x_138 = lean_ctor_get(x_29, 1); +lean_inc(x_138); lean_inc(x_137); -lean_inc(x_136); -lean_dec(x_28); -x_138 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_138, 0, x_136); -lean_ctor_set(x_138, 1, x_137); -return x_138; +lean_dec(x_29); +x_139 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_139, 0, x_137); +lean_ctor_set(x_139, 1, x_138); +return x_139; } } } else { -uint8_t x_139; +uint8_t x_140; +lean_dec(x_21); lean_dec(x_20); lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); -lean_dec(x_14); lean_dec(x_13); lean_dec(x_9); lean_dec(x_8); @@ -7830,23 +7998,23 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_139 = !lean_is_exclusive(x_25); -if (x_139 == 0) +x_140 = !lean_is_exclusive(x_26); +if (x_140 == 0) { -return x_25; +return x_26; } else { -lean_object* x_140; lean_object* x_141; lean_object* x_142; -x_140 = lean_ctor_get(x_25, 0); -x_141 = lean_ctor_get(x_25, 1); +lean_object* x_141; lean_object* x_142; lean_object* x_143; +x_141 = lean_ctor_get(x_26, 0); +x_142 = lean_ctor_get(x_26, 1); +lean_inc(x_142); lean_inc(x_141); -lean_inc(x_140); -lean_dec(x_25); -x_142 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_142, 0, x_140); -lean_ctor_set(x_142, 1, x_141); -return x_142; +lean_dec(x_26); +x_143 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_143, 0, x_141); +lean_ctor_set(x_143, 1, x_142); +return x_143; } } } @@ -8020,7 +8188,7 @@ lean_inc(x_1); x_23 = l_Lean_Elab_getFixedParamPerms(x_1, x_4, x_5, x_6, x_7, x_19); if (lean_obj_tag(x_23) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; x_24 = lean_ctor_get(x_23, 0); lean_inc(x_24); x_25 = lean_ctor_get(x_23, 1); @@ -8037,26 +8205,28 @@ lean_inc(x_31); x_32 = l_Lean_Elab_partialFixpoint___closed__6; x_33 = l_Lean_Elab_partialFixpoint___closed__11; x_34 = l_Lean_Elab_partialFixpoint___boxed__const__1; -x_35 = lean_alloc_closure((void*)(l_Lean_Elab_partialFixpoint___lambda__2___boxed), 21, 13); -lean_closure_set(x_35, 0, x_18); -lean_closure_set(x_35, 1, x_27); -lean_closure_set(x_35, 2, x_26); -lean_closure_set(x_35, 3, x_1); -lean_closure_set(x_35, 4, x_9); -lean_closure_set(x_35, 5, x_16); -lean_closure_set(x_35, 6, x_34); -lean_closure_set(x_35, 7, x_22); -lean_closure_set(x_35, 8, x_24); -lean_closure_set(x_35, 9, x_11); -lean_closure_set(x_35, 10, x_32); -lean_closure_set(x_35, 11, x_33); -lean_closure_set(x_35, 12, x_30); -x_36 = l_Lean_Elab_FixedParamPerm_forallTelescope___at_Lean_Elab_partialFixpoint___spec__19(x_28, x_31, x_35, x_2, x_3, x_4, x_5, x_6, x_7, x_25); -return x_36; +x_35 = lean_box_usize(x_20); +x_36 = lean_alloc_closure((void*)(l_Lean_Elab_partialFixpoint___lambda__2___boxed), 22, 14); +lean_closure_set(x_36, 0, x_18); +lean_closure_set(x_36, 1, x_27); +lean_closure_set(x_36, 2, x_26); +lean_closure_set(x_36, 3, x_1); +lean_closure_set(x_36, 4, x_9); +lean_closure_set(x_36, 5, x_16); +lean_closure_set(x_36, 6, x_34); +lean_closure_set(x_36, 7, x_22); +lean_closure_set(x_36, 8, x_24); +lean_closure_set(x_36, 9, x_11); +lean_closure_set(x_36, 10, x_32); +lean_closure_set(x_36, 11, x_33); +lean_closure_set(x_36, 12, x_30); +lean_closure_set(x_36, 13, x_35); +x_37 = l_Lean_Elab_FixedParamPerm_forallTelescope___at_Lean_Elab_partialFixpoint___spec__20(x_28, x_31, x_36, x_2, x_3, x_4, x_5, x_6, x_7, x_25); +return x_37; } else { -uint8_t x_37; +uint8_t x_38; lean_dec(x_22); lean_dec(x_18); lean_dec(x_16); @@ -8069,29 +8239,29 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_37 = !lean_is_exclusive(x_23); -if (x_37 == 0) +x_38 = !lean_is_exclusive(x_23); +if (x_38 == 0) { return x_23; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_23, 0); -x_39 = lean_ctor_get(x_23, 1); +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_23, 0); +x_40 = lean_ctor_get(x_23, 1); +lean_inc(x_40); lean_inc(x_39); -lean_inc(x_38); lean_dec(x_23); -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_38); -lean_ctor_set(x_40, 1, x_39); -return x_40; +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +return x_41; } } } else { -uint8_t x_41; +uint8_t x_42; lean_dec(x_16); lean_dec(x_11); lean_dec(x_9); @@ -8102,23 +8272,23 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_41 = !lean_is_exclusive(x_17); -if (x_41 == 0) +x_42 = !lean_is_exclusive(x_17); +if (x_42 == 0) { return x_17; } else { -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_17, 0); -x_43 = lean_ctor_get(x_17, 1); +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_17, 0); +x_44 = lean_ctor_get(x_17, 1); +lean_inc(x_44); lean_inc(x_43); -lean_inc(x_42); lean_dec(x_17); -x_44 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_44, 0, x_42); -lean_ctor_set(x_44, 1, x_43); -return x_44; +x_45 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +return x_45; } } } @@ -8513,6 +8683,20 @@ lean_dec(x_1); return x_20; } } +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_partialFixpoint___spec__19___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +size_t x_11; size_t x_12; lean_object* x_13; +x_11 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_12 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_13 = l_Array_mapMUnsafe_map___at_Lean_Elab_partialFixpoint___spec__19(x_11, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_5); +lean_dec(x_4); +return x_13; +} +} LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint___lambda__1___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; @@ -8532,14 +8716,20 @@ lean_object* x_15 = _args[14]; lean_object* x_16 = _args[15]; lean_object* x_17 = _args[16]; lean_object* x_18 = _args[17]; +lean_object* x_19 = _args[18]; +lean_object* x_20 = _args[19]; _start: { -lean_object* x_19; -x_19 = l_Lean_Elab_partialFixpoint___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +size_t x_21; size_t x_22; lean_object* x_23; +x_21 = lean_unbox_usize(x_10); +lean_dec(x_10); +x_22 = lean_unbox_usize(x_11); lean_dec(x_11); +x_23 = l_Lean_Elab_partialFixpoint___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_21, x_22, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20); +lean_dec(x_13); lean_dec(x_7); lean_dec(x_1); -return x_19; +return x_23; } } LEAN_EXPORT lean_object* l_Lean_Elab_partialFixpoint___lambda__2___boxed(lean_object** _args) { @@ -8564,21 +8754,24 @@ lean_object* x_18 = _args[17]; lean_object* x_19 = _args[18]; lean_object* x_20 = _args[19]; lean_object* x_21 = _args[20]; +lean_object* x_22 = _args[21]; _start: { -size_t x_22; lean_object* x_23; -x_22 = lean_unbox_usize(x_7); +size_t x_23; size_t x_24; lean_object* x_25; +x_23 = lean_unbox_usize(x_7); lean_dec(x_7); -x_23 = l_Lean_Elab_partialFixpoint___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_22, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21); +x_24 = lean_unbox_usize(x_14); +lean_dec(x_14); +x_25 = l_Lean_Elab_partialFixpoint___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_23, x_8, x_9, x_10, x_11, x_12, x_13, x_24, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_3); lean_dec(x_1); -return x_23; +return x_25; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__1() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__1() { _start: { lean_object* x_1; @@ -8586,17 +8779,17 @@ x_1 = lean_mk_string_unchecked("initFn", 6, 6); return x_1; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__2() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__1; +x_2 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__3() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__3() { _start: { lean_object* x_1; @@ -8604,37 +8797,37 @@ x_1 = lean_mk_string_unchecked("_@", 2, 2); return x_1; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__4() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__2; -x_2 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__3; +x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__2; +x_2 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__3; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__5() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__4; +x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__4; x_2 = l_Lean_Elab_mkInstCCPOPProd___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__6() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__5; +x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__5; x_2 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__3___closed__3; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__7() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__7() { _start: { lean_object* x_1; @@ -8642,17 +8835,17 @@ x_1 = lean_mk_string_unchecked("PreDefinition", 13, 13); return x_1; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__8() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__6; -x_2 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__7; +x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__6; +x_2 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__7; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__9() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__9() { _start: { lean_object* x_1; @@ -8660,17 +8853,17 @@ x_1 = lean_mk_string_unchecked("PartialFixpoint", 15, 15); return x_1; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__10() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__8; -x_2 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__9; +x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__8; +x_2 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__9; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__11() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__11() { _start: { lean_object* x_1; @@ -8678,17 +8871,17 @@ x_1 = lean_mk_string_unchecked("Main", 4, 4); return x_1; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__12() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__10; -x_2 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__11; +x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__10; +x_2 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__11; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__13() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__13() { _start: { lean_object* x_1; @@ -8696,33 +8889,33 @@ x_1 = lean_mk_string_unchecked("_hyg", 4, 4); return x_1; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__14() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__12; -x_2 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__13; +x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__12; +x_2 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__13; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__15() { +static lean_object* _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__14; -x_2 = lean_unsigned_to_nat(2935u); +x_1 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__14; +x_2 = lean_unsigned_to_nat(2958u); x_3 = l_Lean_Name_num___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; x_2 = l_Array_mapFinIdxM_map___at_Lean_Elab_partialFixpoint___spec__4___lambda__3___closed__6; x_3 = 0; -x_4 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__15; +x_4 = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__15; x_5 = l_Lean_registerTraceClass(x_2, x_3, x_4, x_1); return x_5; } @@ -8976,37 +9169,37 @@ l_Lean_Elab_partialFixpoint___closed__11 = _init_l_Lean_Elab_partialFixpoint___c lean_mark_persistent(l_Lean_Elab_partialFixpoint___closed__11); l_Lean_Elab_partialFixpoint___boxed__const__1 = _init_l_Lean_Elab_partialFixpoint___boxed__const__1(); lean_mark_persistent(l_Lean_Elab_partialFixpoint___boxed__const__1); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__1 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__1(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__1); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__2 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__2(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__2); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__3 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__3(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__3); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__4 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__4(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__4); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__5 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__5(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__5); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__6 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__6(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__6); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__7 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__7(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__7); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__8 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__8(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__8); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__9 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__9(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__9); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__10 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__10(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__10); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__11 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__11(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__11); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__12 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__12(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__12); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__13 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__13(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__13); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__14 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__14(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__14); -l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__15 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__15(); -lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935____closed__15); -if (builtin) {res = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2935_(lean_io_mk_world()); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__1 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__1(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__1); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__2 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__2(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__2); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__3 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__3(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__3); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__4 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__4(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__4); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__5 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__5(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__5); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__6 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__6(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__6); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__7 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__7(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__7); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__8 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__8(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__8); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__9 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__9(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__9); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__10 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__10(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__10); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__11 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__11(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__11); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__12 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__12(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__12); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__13 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__13(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__13); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__14 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__14(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__14); +l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__15 = _init_l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__15(); +lean_mark_persistent(l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958____closed__15); +if (builtin) {res = l_initFn____x40_Lean_Elab_PreDefinition_PartialFixpoint_Main___hyg_2958_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/TerminationMeasure.c b/stage0/stdlib/Lean/Elab/PreDefinition/TerminationMeasure.c index 5de8778e77..67e90e3490 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/TerminationMeasure.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/TerminationMeasure.c @@ -482,7 +482,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Elab_TerminationMeasure_elab___lambda__2___closed__1; x_2 = l_Lean_Elab_TerminationMeasure_elab___lambda__2___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Elab_TerminationMeasure_elab___lambda__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c index a9bfd26742..9f9339dc49 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Main.c @@ -13,143 +13,155 @@ #ifdef __cplusplus extern "C" { #endif -static lean_object* l_Lean_Elab_wfRecursion___lambda__3___closed__3; +lean_object* l_Lean_Elab_Mutual_cleanPreDef(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__11(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___boxed__const__1; lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_WF_guessLex___spec__4(size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, 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*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_wfRecursion___lambda__3___closed__4; +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__4(lean_object*, lean_object*, size_t, size_t, 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*); +static lean_object* l_Lean_Elab_wfRecursion___lambda__4___closed__1; lean_object* l_Lean_Elab_Mutual_addPreDefAttributes(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__5___closed__4; -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__2; -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, 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*); +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__2___closed__2; lean_object* l_Lean_Elab_WF_mkUnfoldEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__6___boxed(lean_object**); lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentD(lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__8(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_eraseRecAppSyntaxExpr(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__14; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__5(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_wfRecursion___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___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*); uint8_t lean_usize_dec_eq(size_t, size_t); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__1; -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__8(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_wfRecursion___lambda__3___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__2___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__8___boxed(lean_object**); -lean_object* l_Lean_Elab_Mutual_cleanPreDefs(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Mutual_addPreDefAttributes___spec__2(lean_object*, size_t, size_t); +lean_object* l_Lean_Elab_addAndCompilePartialRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__11; static lean_object* l_Lean_Elab_wfRecursion___closed__5; +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__8; +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__12; +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__5; lean_object* l_Lean_stringToMessageData(lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_unfoldDeclsFrom(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__9; -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__12; +LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698_(lean_object*); +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__18; lean_object* l_Lean_Elab_WF_preprocess(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_wfRecursion___lambda__7___closed__1; +static lean_object* l_Lean_Elab_wfRecursion___lambda__4___closed__3; +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__7; size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_Environment_unlockAsync(lean_object*); LEAN_EXPORT lean_object* l_Lean_withEnv___at_Lean_Elab_wfRecursion___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__15; LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__4___boxed(lean_object**); +static lean_object* l_Lean_Elab_wfRecursion___lambda__6___closed__2; static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__5___closed__1; -lean_object* l_Array_unzip___rarg(lean_object*); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__16; -static lean_object* l_Lean_Elab_wfRecursion___lambda__3___closed__2; +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__15; +lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_wfRecursion___lambda__6___closed__1; uint8_t l_Lean_Elab_DefKind_isTheorem(uint8_t); lean_object* l_Lean_Elab_WF_mkFix(lean_object*, 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_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_wfRecursion___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*); -static lean_object* l_Lean_Elab_wfRecursion___lambda__7___closed__2; -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__18; +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__9(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_WF_varyingVarNames(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_wfRecursion___lambda__11___closed__2; lean_object* l_Lean_Meta_whnfForall(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__1___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__7___boxed(lean_object**); +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_num___override(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_addAutoBoundImplicits_go___spec__50(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__5(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, 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*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__3(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, 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*); +static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__5(lean_object*, size_t, size_t, lean_object*, 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*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_wfRecursion___lambda__9___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__3(lean_object*, size_t, size_t, lean_object*, 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*); +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__3; lean_object* l_Lean_Elab_WF_registerEqnsInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__5___closed__2; lean_object* l_Lean_enableRealizationsForConst(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Mutual_addPreDefsFromUnary(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_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__11; +uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_wfRecursion___lambda__5___closed__1; -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__2; +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__16; +static lean_object* l_Lean_Elab_wfRecursion___lambda__4___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__6(size_t, size_t, 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*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_wfRecursion___lambda__9___closed__2; static lean_object* l_Lean_Elab_wfRecursion___closed__4; -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__3___boxed(lean_object**); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__5; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__6(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_ofExpr(lean_object*); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__14; +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__9___boxed(lean_object**); +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__4; +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_wfRecursion___spec__10(size_t, lean_object*, size_t, size_t); +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__11___boxed(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_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__17; static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__5___closed__3; -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__6; lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Lean_Elab_WF_guessLex(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__2___boxed(lean_object**); +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_WF_elabWFRel___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_wfRecursion___lambda__7___closed__3; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_setEnv___at_Lean_Elab_Term_evalTerm___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* l_Lean_Elab_getFixedParamPerms(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__4; +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__17; static lean_object* l_Lean_Elab_wfRecursion___closed__3; -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__13; -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__10; -static lean_object* l_Lean_Elab_wfRecursion___lambda__5___closed__2; static lean_object* l_Lean_Elab_wfRecursion___closed__2; -LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg(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_Elab_addAsAxiom(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__10(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_withEnv___at_Lean_Elab_wfRecursion___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_wfRecursion___lambda__9___closed__3; lean_object* l_Lean_Elab_WF_packMutual(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_wfRecursion___closed__6; +static lean_object* l_Lean_Elab_wfRecursion___lambda__4___closed__4; size_t lean_usize_add(size_t, size_t); -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_wfRecursion___spec__9(size_t, lean_object*, size_t, size_t); -LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475_(lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__6___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_Elab_wfRecursion___lambda__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); size_t lean_array_size(lean_object*); +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__9; static lean_object* l_Lean_Elab_wfRecursion___closed__1; lean_object* l_Lean_Elab_WF_floatRecApp___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__7; +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__1; +static lean_object* l_Lean_Elab_wfRecursion___lambda__11___closed__1; LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at_Lean_Elab_wfRecursion___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_object*); lean_object* lean_array_get_size(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__10___boxed(lean_object**); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_lt(size_t, size_t); -static lean_object* l_Lean_Elab_wfRecursion___lambda__7___closed__4; lean_object* l_Lean_Elab_WF_preDefsFromUnaryNonRec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__5___boxed(lean_object**); -static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__8; +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__13; uint8_t l_Lean_Expr_isForall(lean_object*); +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__10; lean_object* l_Lean_Elab_WF_floatRecApp___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); lean_object* l_Lean_MessageData_ofName(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___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* l_Array_mapMUnsafe_map___at_Lean_Elab_WF_guessLex___spec__5(size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_wfRecursion___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__1(size_t, size_t, lean_object*); +static lean_object* l_Lean_Elab_wfRecursion___lambda__9___closed__4; lean_object* lean_mk_empty_array_with_capacity(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__7(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__6; uint8_t l_Array_isEmpty___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__1(size_t x_1, size_t x_2, lean_object* x_3) { _start: @@ -737,191 +749,101 @@ return x_62; } } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__6(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Lean_withEnv___at_Lean_Elab_wfRecursion___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -uint8_t x_11; -x_11 = lean_usize_dec_lt(x_2, x_1); -if (x_11 == 0) -{ -lean_object* x_12; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_3); -lean_ctor_set(x_12, 1, x_10); -return x_12; -} -else -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; -x_13 = lean_array_uget(x_3, x_2); -x_14 = lean_unsigned_to_nat(0u); -x_15 = lean_array_uset(x_3, x_2, x_14); -x_16 = !lean_is_exclusive(x_13); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_17 = lean_ctor_get(x_13, 0); -x_18 = lean_ctor_get(x_13, 1); -x_19 = lean_ctor_get(x_13, 2); -x_20 = lean_ctor_get(x_13, 3); -x_21 = lean_ctor_get(x_13, 4); -x_22 = lean_ctor_get(x_13, 5); -x_23 = lean_ctor_get(x_13, 6); -lean_inc(x_9); +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_10 = lean_st_ref_get(x_8, x_9); +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_10, 1); +lean_inc(x_12); +lean_dec(x_10); +x_13 = lean_ctor_get(x_11, 0); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l_Lean_setEnv___at_Lean_Elab_Term_evalTerm___spec__2(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_12); +x_15 = lean_ctor_get(x_14, 1); +lean_inc(x_15); +lean_dec(x_14); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_24 = l_Lean_Elab_WF_preprocess(x_22, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_24) == 0) +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_16 = lean_apply_7(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_15); +if (lean_obj_tag(x_16) == 0) { -lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; size_t x_29; size_t x_30; lean_object* x_31; -x_25 = lean_ctor_get(x_24, 0); -lean_inc(x_25); -x_26 = lean_ctor_get(x_24, 1); -lean_inc(x_26); -lean_dec(x_24); -x_27 = lean_ctor_get(x_25, 0); -lean_inc(x_27); -lean_ctor_set(x_13, 5, x_27); -x_28 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_28, 0, x_13); -lean_ctor_set(x_28, 1, x_25); -x_29 = 1; -x_30 = lean_usize_add(x_2, x_29); -x_31 = lean_array_uset(x_15, x_2, x_28); -x_2 = x_30; -x_3 = x_31; -x_10 = x_26; -goto _start; -} -else +lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_16, 1); +lean_inc(x_18); +lean_dec(x_16); +x_19 = l_Lean_setEnv___at_Lean_Elab_Term_evalTerm___spec__2(x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_18); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) { -uint8_t x_33; -lean_free_object(x_13); -lean_dec(x_23); +lean_object* x_21; +x_21 = lean_ctor_get(x_19, 0); lean_dec(x_21); -lean_dec(x_20); +lean_ctor_set(x_19, 0, x_17); +return x_19; +} +else +{ +lean_object* x_22; lean_object* x_23; +x_22 = lean_ctor_get(x_19, 1); +lean_inc(x_22); lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_15); -lean_dec(x_9); +x_23 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_23, 0, x_17); +lean_ctor_set(x_23, 1, x_22); +return x_23; +} +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; +x_24 = lean_ctor_get(x_16, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_16, 1); +lean_inc(x_25); +lean_dec(x_16); +x_26 = l_Lean_setEnv___at_Lean_Elab_Term_evalTerm___spec__2(x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_25); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -x_33 = !lean_is_exclusive(x_24); -if (x_33 == 0) +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_27 = !lean_is_exclusive(x_26); +if (x_27 == 0) { -return x_24; +lean_object* x_28; +x_28 = lean_ctor_get(x_26, 0); +lean_dec(x_28); +lean_ctor_set_tag(x_26, 1); +lean_ctor_set(x_26, 0, x_24); +return x_26; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_24, 0); -x_35 = lean_ctor_get(x_24, 1); -lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_24); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; -} -} -} -else -{ -lean_object* x_37; uint8_t x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_37 = lean_ctor_get(x_13, 0); -x_38 = lean_ctor_get_uint8(x_13, sizeof(void*)*7); -x_39 = lean_ctor_get(x_13, 1); -x_40 = lean_ctor_get(x_13, 2); -x_41 = lean_ctor_get(x_13, 3); -x_42 = lean_ctor_get(x_13, 4); -x_43 = lean_ctor_get(x_13, 5); -x_44 = lean_ctor_get(x_13, 6); -lean_inc(x_44); -lean_inc(x_43); -lean_inc(x_42); -lean_inc(x_41); -lean_inc(x_40); -lean_inc(x_39); -lean_inc(x_37); -lean_dec(x_13); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -x_45 = l_Lean_Elab_WF_preprocess(x_43, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_45) == 0) -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; size_t x_51; size_t x_52; lean_object* x_53; -x_46 = lean_ctor_get(x_45, 0); -lean_inc(x_46); -x_47 = lean_ctor_get(x_45, 1); -lean_inc(x_47); -lean_dec(x_45); -x_48 = lean_ctor_get(x_46, 0); -lean_inc(x_48); -x_49 = lean_alloc_ctor(0, 7, 1); -lean_ctor_set(x_49, 0, x_37); -lean_ctor_set(x_49, 1, x_39); -lean_ctor_set(x_49, 2, x_40); -lean_ctor_set(x_49, 3, x_41); -lean_ctor_set(x_49, 4, x_42); -lean_ctor_set(x_49, 5, x_48); -lean_ctor_set(x_49, 6, x_44); -lean_ctor_set_uint8(x_49, sizeof(void*)*7, x_38); -x_50 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_50, 0, x_49); -lean_ctor_set(x_50, 1, x_46); -x_51 = 1; -x_52 = lean_usize_add(x_2, x_51); -x_53 = lean_array_uset(x_15, x_2, x_50); -x_2 = x_52; -x_3 = x_53; -x_10 = x_47; -goto _start; -} -else -{ -lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; -lean_dec(x_44); -lean_dec(x_42); -lean_dec(x_41); -lean_dec(x_40); -lean_dec(x_39); -lean_dec(x_37); -lean_dec(x_15); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -x_55 = lean_ctor_get(x_45, 0); -lean_inc(x_55); -x_56 = lean_ctor_get(x_45, 1); -lean_inc(x_56); -if (lean_is_exclusive(x_45)) { - lean_ctor_release(x_45, 0); - lean_ctor_release(x_45, 1); - x_57 = x_45; -} else { - lean_dec_ref(x_45); - x_57 = lean_box(0); -} -if (lean_is_scalar(x_57)) { - x_58 = lean_alloc_ctor(1, 2, 0); -} else { - x_58 = x_57; -} -lean_ctor_set(x_58, 0, x_55); -lean_ctor_set(x_58, 1, x_56); -return x_58; -} +lean_object* x_29; lean_object* x_30; +x_29 = lean_ctor_get(x_26, 1); +lean_inc(x_29); +lean_dec(x_26); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_24); +lean_ctor_set(x_30, 1, x_29); +return x_30; } } } @@ -1025,379 +947,269 @@ return x_30; } } } -LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__8(size_t x_1, size_t 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: { -uint8_t x_15; -x_15 = lean_usize_dec_lt(x_6, x_5); -if (x_15 == 0) +uint8_t x_11; +x_11 = lean_usize_dec_lt(x_2, x_1); +if (x_11 == 0) { -lean_object* x_16; +lean_object* x_12; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_3); +lean_ctor_set(x_12, 1, x_10); +return x_12; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; +x_13 = lean_array_uget(x_3, x_2); +x_14 = lean_unsigned_to_nat(0u); +x_15 = lean_array_uset(x_3, x_2, x_14); +x_16 = 0; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_17 = l_Lean_Elab_Mutual_cleanPreDef(x_13, x_16, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; lean_object* x_19; size_t x_20; size_t x_21; lean_object* x_22; +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +x_20 = 1; +x_21 = lean_usize_add(x_2, x_20); +x_22 = lean_array_uset(x_15, x_2, x_18); +x_2 = x_21; +x_3 = x_22; +x_10 = x_19; +goto _start; +} +else +{ +uint8_t x_24; +lean_dec(x_15); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_24 = !lean_is_exclusive(x_17); +if (x_24 == 0) +{ +return x_17; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_17, 0); +x_26 = lean_ctor_get(x_17, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_17); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +return x_27; +} +} +} +} +} +static lean_object* _init_l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_box(0); +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, size_t x_6, size_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +_start: +{ +uint8_t x_16; +x_16 = lean_usize_dec_lt(x_7, x_6); +if (x_16 == 0) +{ +lean_object* x_17; +lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_3); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_7); -lean_ctor_set(x_16, 1, x_14); -return x_16; +lean_dec(x_4); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_8); +lean_ctor_set(x_17, 1, x_15); +return x_17; } else { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; -x_17 = lean_array_uget(x_4, x_6); -x_27 = lean_ctor_get(x_7, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_7, 1); -lean_inc(x_28); -x_29 = lean_ctor_get(x_7, 2); -lean_inc(x_29); -x_30 = lean_nat_dec_lt(x_28, x_29); -if (x_30 == 0) +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_26; uint8_t x_27; +lean_dec(x_8); +x_18 = lean_array_uget(x_5, x_7); +x_26 = lean_ctor_get(x_18, 3); +lean_inc(x_26); +x_27 = lean_name_eq(x_26, x_4); +lean_dec(x_26); +if (x_27 == 0) { -lean_object* x_31; -lean_dec(x_29); -lean_dec(x_28); -lean_dec(x_27); -lean_dec(x_17); -x_31 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_31, 0, x_7); -x_18 = x_31; -x_19 = x_14; -goto block_26; -} -else +uint8_t x_28; uint8_t x_29; +x_28 = lean_ctor_get_uint8(x_18, sizeof(void*)*7); +x_29 = l_Lean_Elab_DefKind_isTheorem(x_28); +if (x_29 == 0) { -uint8_t x_32; -x_32 = !lean_is_exclusive(x_7); -if (x_32 == 0) -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; uint8_t x_40; -x_33 = lean_ctor_get(x_7, 2); -lean_dec(x_33); -x_34 = lean_ctor_get(x_7, 1); -lean_dec(x_34); -x_35 = lean_ctor_get(x_7, 0); -lean_dec(x_35); -x_36 = lean_array_fget(x_27, x_28); -x_37 = lean_unsigned_to_nat(1u); -x_38 = lean_nat_add(x_28, x_37); -lean_dec(x_28); -lean_ctor_set(x_7, 1, x_38); -x_39 = lean_ctor_get_uint8(x_17, sizeof(void*)*7); -x_40 = l_Lean_Elab_DefKind_isTheorem(x_39); -if (x_40 == 0) -{ -lean_object* x_41; lean_object* x_42; -x_41 = lean_ctor_get(x_17, 4); -lean_inc(x_41); +lean_object* x_30; lean_object* x_31; +x_30 = lean_ctor_get(x_18, 4); +lean_inc(x_30); +lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); lean_inc(x_11); -lean_inc(x_10); -x_42 = l_Lean_Meta_isProp(x_41, x_10, x_11, x_12, x_13, x_14); -if (lean_obj_tag(x_42) == 0) +x_31 = l_Lean_Meta_isProp(x_30, x_11, x_12, x_13, x_14, x_15); +if (lean_obj_tag(x_31) == 0) { -lean_object* x_43; uint8_t x_44; -x_43 = lean_ctor_get(x_42, 0); -lean_inc(x_43); -x_44 = lean_unbox(x_43); -lean_dec(x_43); +lean_object* x_32; uint8_t x_33; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_unbox(x_32); +lean_dec(x_32); +if (x_33 == 0) +{ +lean_object* x_34; lean_object* x_35; +x_34 = lean_ctor_get(x_31, 1); +lean_inc(x_34); +lean_dec(x_31); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_4); +x_35 = l_Lean_Elab_WF_mkBinaryUnfoldEq(x_18, x_4, x_11, x_12, x_13, x_14, x_34); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_35, 1); +lean_inc(x_36); +lean_dec(x_35); +x_37 = l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9___closed__1; +x_19 = x_37; +x_20 = x_36; +goto block_25; +} +else +{ +uint8_t x_38; +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_4); +x_38 = !lean_is_exclusive(x_35); +if (x_38 == 0) +{ +return x_35; +} +else +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_35, 0); +x_40 = lean_ctor_get(x_35, 1); +lean_inc(x_40); +lean_inc(x_39); +lean_dec(x_35); +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +return x_41; +} +} +} +else +{ +lean_object* x_42; lean_object* x_43; +lean_dec(x_18); +x_42 = lean_ctor_get(x_31, 1); +lean_inc(x_42); +lean_dec(x_31); +x_43 = l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9___closed__1; +x_19 = x_43; +x_20 = x_42; +goto block_25; +} +} +else +{ +uint8_t x_44; +lean_dec(x_18); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_4); +x_44 = !lean_is_exclusive(x_31); if (x_44 == 0) { -lean_object* x_45; lean_object* x_46; -x_45 = lean_ctor_get(x_42, 1); +return x_31; +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_31, 0); +x_46 = lean_ctor_get(x_31, 1); +lean_inc(x_46); lean_inc(x_45); -lean_dec(x_42); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_3); -x_46 = l_Lean_Elab_WF_mkUnfoldEq(x_17, x_3, x_36, x_10, x_11, x_12, x_13, x_45); -if (lean_obj_tag(x_46) == 0) -{ -lean_object* x_47; lean_object* x_48; -x_47 = lean_ctor_get(x_46, 1); -lean_inc(x_47); -lean_dec(x_46); -x_48 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_48, 0, x_7); -x_18 = x_48; -x_19 = x_47; -goto block_26; -} -else -{ -uint8_t x_49; -lean_dec(x_7); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_3); -x_49 = !lean_is_exclusive(x_46); -if (x_49 == 0) -{ -return x_46; -} -else -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_50 = lean_ctor_get(x_46, 0); -x_51 = lean_ctor_get(x_46, 1); -lean_inc(x_51); -lean_inc(x_50); -lean_dec(x_46); -x_52 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_52, 0, x_50); -lean_ctor_set(x_52, 1, x_51); -return x_52; +lean_dec(x_31); +x_47 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_47, 0, x_45); +lean_ctor_set(x_47, 1, x_46); +return x_47; } } } else { -lean_object* x_53; lean_object* x_54; -lean_dec(x_36); -lean_dec(x_17); -x_53 = lean_ctor_get(x_42, 1); -lean_inc(x_53); -lean_dec(x_42); -x_54 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_54, 0, x_7); -x_18 = x_54; -x_19 = x_53; -goto block_26; -} -} -else -{ -uint8_t x_55; -lean_dec(x_7); -lean_dec(x_36); -lean_dec(x_17); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_3); -x_55 = !lean_is_exclusive(x_42); -if (x_55 == 0) -{ -return x_42; -} -else -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_42, 0); -x_57 = lean_ctor_get(x_42, 1); -lean_inc(x_57); -lean_inc(x_56); -lean_dec(x_42); -x_58 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_58, 0, x_56); -lean_ctor_set(x_58, 1, x_57); -return x_58; -} -} -} -else -{ -lean_object* x_59; -lean_dec(x_36); -lean_dec(x_17); -x_59 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_59, 0, x_7); -x_18 = x_59; -x_19 = x_14; -goto block_26; -} -} -else -{ -lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; uint8_t x_65; -lean_dec(x_7); -x_60 = lean_array_fget(x_27, x_28); -x_61 = lean_unsigned_to_nat(1u); -x_62 = lean_nat_add(x_28, x_61); -lean_dec(x_28); -x_63 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_63, 0, x_27); -lean_ctor_set(x_63, 1, x_62); -lean_ctor_set(x_63, 2, x_29); -x_64 = lean_ctor_get_uint8(x_17, sizeof(void*)*7); -x_65 = l_Lean_Elab_DefKind_isTheorem(x_64); -if (x_65 == 0) -{ -lean_object* x_66; lean_object* x_67; -x_66 = lean_ctor_get(x_17, 4); -lean_inc(x_66); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -x_67 = l_Lean_Meta_isProp(x_66, x_10, x_11, x_12, x_13, x_14); -if (lean_obj_tag(x_67) == 0) -{ -lean_object* x_68; uint8_t x_69; -x_68 = lean_ctor_get(x_67, 0); -lean_inc(x_68); -x_69 = lean_unbox(x_68); -lean_dec(x_68); -if (x_69 == 0) -{ -lean_object* x_70; lean_object* x_71; -x_70 = lean_ctor_get(x_67, 1); -lean_inc(x_70); -lean_dec(x_67); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_3); -x_71 = l_Lean_Elab_WF_mkUnfoldEq(x_17, x_3, x_60, x_10, x_11, x_12, x_13, x_70); -if (lean_obj_tag(x_71) == 0) -{ -lean_object* x_72; lean_object* x_73; -x_72 = lean_ctor_get(x_71, 1); -lean_inc(x_72); -lean_dec(x_71); -x_73 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_73, 0, x_63); -x_18 = x_73; -x_19 = x_72; -goto block_26; -} -else -{ -lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; -lean_dec(x_63); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_3); -x_74 = lean_ctor_get(x_71, 0); -lean_inc(x_74); -x_75 = lean_ctor_get(x_71, 1); -lean_inc(x_75); -if (lean_is_exclusive(x_71)) { - lean_ctor_release(x_71, 0); - lean_ctor_release(x_71, 1); - x_76 = x_71; -} else { - lean_dec_ref(x_71); - x_76 = lean_box(0); -} -if (lean_is_scalar(x_76)) { - x_77 = lean_alloc_ctor(1, 2, 0); -} else { - x_77 = x_76; -} -lean_ctor_set(x_77, 0, x_74); -lean_ctor_set(x_77, 1, x_75); -return x_77; -} -} -else -{ -lean_object* x_78; lean_object* x_79; -lean_dec(x_60); -lean_dec(x_17); -x_78 = lean_ctor_get(x_67, 1); -lean_inc(x_78); -lean_dec(x_67); -x_79 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_79, 0, x_63); -x_18 = x_79; -x_19 = x_78; -goto block_26; -} -} -else -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; -lean_dec(x_63); -lean_dec(x_60); -lean_dec(x_17); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_3); -x_80 = lean_ctor_get(x_67, 0); -lean_inc(x_80); -x_81 = lean_ctor_get(x_67, 1); -lean_inc(x_81); -if (lean_is_exclusive(x_67)) { - lean_ctor_release(x_67, 0); - lean_ctor_release(x_67, 1); - x_82 = x_67; -} else { - lean_dec_ref(x_67); - x_82 = lean_box(0); -} -if (lean_is_scalar(x_82)) { - x_83 = lean_alloc_ctor(1, 2, 0); -} else { - x_83 = x_82; -} -lean_ctor_set(x_83, 0, x_80); -lean_ctor_set(x_83, 1, x_81); -return x_83; -} -} -else -{ -lean_object* x_84; -lean_dec(x_60); -lean_dec(x_17); -x_84 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_84, 0, x_63); -x_18 = x_84; -x_19 = x_14; -goto block_26; -} -} -} -block_26: -{ -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_20; lean_object* x_21; -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_3); -x_20 = lean_ctor_get(x_18, 0); -lean_inc(x_20); +lean_object* x_48; lean_dec(x_18); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_20); -lean_ctor_set(x_21, 1, x_19); -return x_21; +x_48 = l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9___closed__1; +x_19 = x_48; +x_20 = x_15; +goto block_25; +} } else { -lean_object* x_22; size_t x_23; size_t x_24; -x_22 = lean_ctor_get(x_18, 0); -lean_inc(x_22); +lean_object* x_49; lean_dec(x_18); -x_23 = 1; -x_24 = lean_usize_add(x_6, x_23); -x_6 = x_24; -x_7 = x_22; -x_14 = x_19; +x_49 = l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9___closed__1; +x_19 = x_49; +x_20 = x_15; +goto block_25; +} +block_25: +{ +lean_object* x_21; size_t x_22; size_t x_23; +x_21 = lean_ctor_get(x_19, 0); +lean_inc(x_21); +lean_dec(x_19); +x_22 = 1; +x_23 = lean_usize_add(x_7, x_22); +x_7 = x_23; +x_8 = x_21; +x_15 = x_20; goto _start; } } } } -} -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_wfRecursion___spec__9(size_t x_1, lean_object* x_2, size_t x_3, size_t x_4) { +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_wfRecursion___spec__10(size_t x_1, lean_object* x_2, size_t x_3, size_t x_4) { _start: { uint8_t x_5; @@ -1505,7 +1317,6 @@ lean_dec(x_21); lean_inc(x_1); x_24 = l_Array_toSubarray___rarg(x_1, x_20, x_18); x_25 = lean_array_size(x_22); -lean_inc(x_5); x_26 = l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__5(x_22, x_2, x_22, x_25, x_4, x_24, x_5, x_6, x_7, x_8, x_9, x_10, x_23); if (lean_obj_tag(x_26) == 0) { @@ -1513,864 +1324,81 @@ lean_object* x_27; lean_object* x_28; x_27 = lean_ctor_get(x_26, 1); lean_inc(x_27); lean_dec(x_26); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_28 = l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__6(x_3, x_4, x_1, x_5, x_6, x_7, x_8, x_9, x_10, x_27); -lean_dec(x_5); +lean_inc(x_22); +lean_inc(x_16); +x_28 = l_Lean_Elab_WF_packMutual(x_16, x_22, x_1, x_7, x_8, x_9, x_10, x_27); if (lean_obj_tag(x_28) == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); +uint8_t x_29; +x_29 = !lean_is_exclusive(x_28); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_28, 0); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_22); +lean_ctor_set(x_31, 1, x_30); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_16); +lean_ctor_set(x_32, 1, x_31); +lean_ctor_set(x_28, 0, x_32); +return x_28; +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_33 = lean_ctor_get(x_28, 0); +x_34 = lean_ctor_get(x_28, 1); +lean_inc(x_34); +lean_inc(x_33); lean_dec(x_28); -x_31 = l_Array_unzip___rarg(x_29); -lean_dec(x_29); -x_32 = !lean_is_exclusive(x_31); -if (x_32 == 0) -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_31, 0); -x_34 = lean_ctor_get(x_31, 1); -lean_inc(x_22); -lean_inc(x_16); -x_35 = l_Lean_Elab_WF_packMutual(x_16, x_22, x_33, x_7, x_8, x_9, x_10, x_30); -if (lean_obj_tag(x_35) == 0) -{ -uint8_t x_36; -x_36 = !lean_is_exclusive(x_35); -if (x_36 == 0) -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_35, 0); -lean_ctor_set(x_31, 0, x_37); -x_38 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_38, 0, x_22); -lean_ctor_set(x_38, 1, x_31); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_16); -lean_ctor_set(x_39, 1, x_38); -lean_ctor_set(x_35, 0, x_39); -return x_35; -} -else -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_40 = lean_ctor_get(x_35, 0); -x_41 = lean_ctor_get(x_35, 1); -lean_inc(x_41); -lean_inc(x_40); -lean_dec(x_35); -lean_ctor_set(x_31, 0, x_40); -x_42 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_42, 0, x_22); -lean_ctor_set(x_42, 1, x_31); -x_43 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_43, 0, x_16); -lean_ctor_set(x_43, 1, x_42); -x_44 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_44, 0, x_43); -lean_ctor_set(x_44, 1, x_41); -return x_44; +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_22); +lean_ctor_set(x_35, 1, x_33); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_16); +lean_ctor_set(x_36, 1, x_35); +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_34); +return x_37; } } else { -uint8_t x_45; -lean_free_object(x_31); -lean_dec(x_34); +uint8_t x_38; lean_dec(x_22); lean_dec(x_16); -x_45 = !lean_is_exclusive(x_35); -if (x_45 == 0) -{ -return x_35; -} -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_35, 0); -x_47 = lean_ctor_get(x_35, 1); -lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_35); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -return x_48; -} -} -} -else -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = lean_ctor_get(x_31, 0); -x_50 = lean_ctor_get(x_31, 1); -lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_31); -lean_inc(x_22); -lean_inc(x_16); -x_51 = l_Lean_Elab_WF_packMutual(x_16, x_22, x_49, x_7, x_8, x_9, x_10, x_30); -if (lean_obj_tag(x_51) == 0) -{ -lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_52 = lean_ctor_get(x_51, 0); -lean_inc(x_52); -x_53 = lean_ctor_get(x_51, 1); -lean_inc(x_53); -if (lean_is_exclusive(x_51)) { - lean_ctor_release(x_51, 0); - lean_ctor_release(x_51, 1); - x_54 = x_51; -} else { - lean_dec_ref(x_51); - x_54 = lean_box(0); -} -x_55 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_55, 0, x_52); -lean_ctor_set(x_55, 1, x_50); -x_56 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_56, 0, x_22); -lean_ctor_set(x_56, 1, x_55); -x_57 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_57, 0, x_16); -lean_ctor_set(x_57, 1, x_56); -if (lean_is_scalar(x_54)) { - x_58 = lean_alloc_ctor(0, 2, 0); -} else { - x_58 = x_54; -} -lean_ctor_set(x_58, 0, x_57); -lean_ctor_set(x_58, 1, x_53); -return x_58; -} -else -{ -lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; -lean_dec(x_50); -lean_dec(x_22); -lean_dec(x_16); -x_59 = lean_ctor_get(x_51, 0); -lean_inc(x_59); -x_60 = lean_ctor_get(x_51, 1); -lean_inc(x_60); -if (lean_is_exclusive(x_51)) { - lean_ctor_release(x_51, 0); - lean_ctor_release(x_51, 1); - x_61 = x_51; -} else { - lean_dec_ref(x_51); - x_61 = lean_box(0); -} -if (lean_is_scalar(x_61)) { - x_62 = lean_alloc_ctor(1, 2, 0); -} else { - x_62 = x_61; -} -lean_ctor_set(x_62, 0, x_59); -lean_ctor_set(x_62, 1, x_60); -return x_62; -} -} -} -else -{ -uint8_t x_63; -lean_dec(x_22); -lean_dec(x_16); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -x_63 = !lean_is_exclusive(x_28); -if (x_63 == 0) +x_38 = !lean_is_exclusive(x_28); +if (x_38 == 0) { return x_28; } else { -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_28, 0); -x_65 = lean_ctor_get(x_28, 1); -lean_inc(x_65); -lean_inc(x_64); +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_28, 0); +x_40 = lean_ctor_get(x_28, 1); +lean_inc(x_40); +lean_inc(x_39); lean_dec(x_28); -x_66 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_66, 0, x_64); -lean_ctor_set(x_66, 1, x_65); -return x_66; -} -} -} -else -{ -uint8_t x_67; -lean_dec(x_22); -lean_dec(x_16); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_1); -x_67 = !lean_is_exclusive(x_26); -if (x_67 == 0) -{ -return x_26; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_26, 0); -x_69 = lean_ctor_get(x_26, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_26); -x_70 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_70, 0, x_68); -lean_ctor_set(x_70, 1, x_69); -return x_70; -} -} -} -else -{ -uint8_t x_71; -lean_dec(x_18); -lean_dec(x_16); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_1); -x_71 = !lean_is_exclusive(x_21); -if (x_71 == 0) -{ -return x_21; -} -else -{ -lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_72 = lean_ctor_get(x_21, 0); -x_73 = lean_ctor_get(x_21, 1); -lean_inc(x_73); -lean_inc(x_72); -lean_dec(x_21); -x_74 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_74, 0, x_72); -lean_ctor_set(x_74, 1, x_73); -return x_74; -} -} -} -else -{ -uint8_t x_75; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_1); -x_75 = !lean_is_exclusive(x_15); -if (x_75 == 0) -{ -return x_15; -} -else -{ -lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_76 = lean_ctor_get(x_15, 0); -x_77 = lean_ctor_get(x_15, 1); -lean_inc(x_77); -lean_inc(x_76); -lean_dec(x_15); -x_78 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_78, 0, x_76); -lean_ctor_set(x_78, 1, x_77); -return x_78; -} -} -} -else -{ -uint8_t x_79; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_1); -x_79 = !lean_is_exclusive(x_13); -if (x_79 == 0) -{ -return x_13; -} -else -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_80 = lean_ctor_get(x_13, 0); -x_81 = lean_ctor_get(x_13, 1); -lean_inc(x_81); -lean_inc(x_80); -lean_dec(x_13); -x_82 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_82, 0, x_80); -lean_ctor_set(x_82, 1, x_81); -return x_82; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__2(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, uint8_t x_9, lean_object* x_10, uint8_t x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24) { -_start: -{ -lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_25 = lean_st_ref_get(x_23, x_24); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -lean_dec(x_25); -x_28 = lean_ctor_get(x_26, 0); -lean_inc(x_28); -lean_dec(x_26); -lean_inc(x_23); -lean_inc(x_22); -x_29 = l_Lean_Elab_addAsAxiom(x_1, x_20, x_21, x_22, x_23, x_27); -if (lean_obj_tag(x_29) == 0) -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_29, 1); -lean_inc(x_30); -lean_dec(x_29); -x_31 = l_Array_mapMUnsafe_map___at_Lean_Elab_WF_guessLex___spec__5(x_2, x_3, x_4); -lean_inc(x_23); -lean_inc(x_22); -lean_inc(x_21); -lean_inc(x_20); -lean_inc(x_19); -lean_inc(x_18); -x_32 = l_Lean_Elab_WF_mkFix(x_1, x_5, x_6, x_7, x_8, x_31, x_9, x_18, x_19, x_20, x_21, x_22, x_23, x_30); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -x_34 = lean_ctor_get(x_32, 1); -lean_inc(x_34); -lean_dec(x_32); -lean_inc(x_23); -lean_inc(x_22); -x_35 = l_Lean_Elab_eraseRecAppSyntaxExpr(x_33, x_22, x_23, x_34); -if (lean_obj_tag(x_35) == 0) -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -lean_dec(x_35); -x_38 = lean_st_ref_get(x_23, x_37); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = lean_ctor_get(x_39, 0); -lean_inc(x_41); -lean_dec(x_39); -x_42 = l_Lean_setEnv___at_Lean_Elab_Term_evalTerm___spec__2(x_28, x_18, x_19, x_20, x_21, x_22, x_23, x_40); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -x_43 = lean_ctor_get(x_42, 1); -lean_inc(x_43); -lean_dec(x_42); -x_44 = l_Lean_Meta_unfoldDeclsFrom(x_41, x_36, x_22, x_23, x_43); -if (lean_obj_tag(x_44) == 0) -{ -uint8_t x_45; -x_45 = !lean_is_exclusive(x_44); -if (x_45 == 0) -{ -lean_object* x_46; lean_object* x_47; -x_46 = lean_ctor_get(x_44, 0); -x_47 = lean_alloc_ctor(0, 7, 1); -lean_ctor_set(x_47, 0, x_10); -lean_ctor_set(x_47, 1, x_12); -lean_ctor_set(x_47, 2, x_13); -lean_ctor_set(x_47, 3, x_14); -lean_ctor_set(x_47, 4, x_15); -lean_ctor_set(x_47, 5, x_46); -lean_ctor_set(x_47, 6, x_16); -lean_ctor_set_uint8(x_47, sizeof(void*)*7, x_11); -lean_ctor_set(x_44, 0, x_47); -return x_44; -} -else -{ -lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_48 = lean_ctor_get(x_44, 0); -x_49 = lean_ctor_get(x_44, 1); -lean_inc(x_49); -lean_inc(x_48); -lean_dec(x_44); -x_50 = lean_alloc_ctor(0, 7, 1); -lean_ctor_set(x_50, 0, x_10); -lean_ctor_set(x_50, 1, x_12); -lean_ctor_set(x_50, 2, x_13); -lean_ctor_set(x_50, 3, x_14); -lean_ctor_set(x_50, 4, x_15); -lean_ctor_set(x_50, 5, x_48); -lean_ctor_set(x_50, 6, x_16); -lean_ctor_set_uint8(x_50, sizeof(void*)*7, x_11); -x_51 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_49); -return x_51; -} -} -else -{ -uint8_t x_52; -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_10); -x_52 = !lean_is_exclusive(x_44); -if (x_52 == 0) -{ -return x_44; -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_44, 0); -x_54 = lean_ctor_get(x_44, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_44); -x_55 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); -return x_55; -} -} -} -else -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_10); -x_56 = lean_ctor_get(x_35, 0); -lean_inc(x_56); -x_57 = lean_ctor_get(x_35, 1); -lean_inc(x_57); -lean_dec(x_35); -x_58 = l_Lean_setEnv___at_Lean_Elab_Term_evalTerm___spec__2(x_28, x_18, x_19, x_20, x_21, x_22, x_23, x_57); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -x_59 = !lean_is_exclusive(x_58); -if (x_59 == 0) -{ -lean_object* x_60; -x_60 = lean_ctor_get(x_58, 0); -lean_dec(x_60); -lean_ctor_set_tag(x_58, 1); -lean_ctor_set(x_58, 0, x_56); -return x_58; -} -else -{ -lean_object* x_61; lean_object* x_62; -x_61 = lean_ctor_get(x_58, 1); -lean_inc(x_61); -lean_dec(x_58); -x_62 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_62, 0, x_56); -lean_ctor_set(x_62, 1, x_61); -return x_62; -} -} -} -else -{ -lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66; -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_10); -x_63 = lean_ctor_get(x_32, 0); -lean_inc(x_63); -x_64 = lean_ctor_get(x_32, 1); -lean_inc(x_64); -lean_dec(x_32); -x_65 = l_Lean_setEnv___at_Lean_Elab_Term_evalTerm___spec__2(x_28, x_18, x_19, x_20, x_21, x_22, x_23, x_64); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -x_66 = !lean_is_exclusive(x_65); -if (x_66 == 0) -{ -lean_object* x_67; -x_67 = lean_ctor_get(x_65, 0); -lean_dec(x_67); -lean_ctor_set_tag(x_65, 1); -lean_ctor_set(x_65, 0, x_63); -return x_65; -} -else -{ -lean_object* x_68; lean_object* x_69; -x_68 = lean_ctor_get(x_65, 1); -lean_inc(x_68); -lean_dec(x_65); -x_69 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_69, 0, x_63); -lean_ctor_set(x_69, 1, x_68); -return x_69; -} -} -} -else -{ -lean_object* x_70; lean_object* x_71; lean_object* x_72; uint8_t x_73; -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -x_70 = lean_ctor_get(x_29, 0); -lean_inc(x_70); -x_71 = lean_ctor_get(x_29, 1); -lean_inc(x_71); -lean_dec(x_29); -x_72 = l_Lean_setEnv___at_Lean_Elab_Term_evalTerm___spec__2(x_28, x_18, x_19, x_20, x_21, x_22, x_23, x_71); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -x_73 = !lean_is_exclusive(x_72); -if (x_73 == 0) -{ -lean_object* x_74; -x_74 = lean_ctor_get(x_72, 0); -lean_dec(x_74); -lean_ctor_set_tag(x_72, 1); -lean_ctor_set(x_72, 0, x_70); -return x_72; -} -else -{ -lean_object* x_75; lean_object* x_76; -x_75 = lean_ctor_get(x_72, 1); -lean_inc(x_75); -lean_dec(x_72); -x_76 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_76, 0, x_70); -lean_ctor_set(x_76, 1, x_75); -return x_76; -} -} -} -} -static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__3___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("wfRel: ", 7, 7); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__3___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_wfRecursion___lambda__3___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__3___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("", 0, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__3___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_wfRecursion___lambda__3___closed__3; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__3(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, uint8_t x_9, lean_object* x_10, uint8_t x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24) { -_start: -{ -lean_object* x_25; lean_object* x_26; uint8_t x_27; -lean_inc(x_1); -x_25 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_1, x_18, x_19, x_20, x_21, x_22, x_23, x_24); -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_unbox(x_26); -lean_dec(x_26); -if (x_27 == 0) -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; -lean_dec(x_1); -x_28 = lean_ctor_get(x_25, 1); -lean_inc(x_28); -lean_dec(x_25); -x_29 = lean_box(0); -x_30 = l_Lean_Elab_wfRecursion___lambda__2(x_2, x_3, x_4, x_5, x_6, x_7, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_29, x_18, x_19, x_20, x_21, x_22, x_23, x_28); -return x_30; -} -else -{ -uint8_t x_31; -x_31 = !lean_is_exclusive(x_25); -if (x_31 == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_32 = lean_ctor_get(x_25, 1); -x_33 = lean_ctor_get(x_25, 0); -lean_dec(x_33); -lean_inc(x_17); -x_34 = l_Lean_MessageData_ofExpr(x_17); -x_35 = l_Lean_Elab_wfRecursion___lambda__3___closed__2; -lean_ctor_set_tag(x_25, 7); -lean_ctor_set(x_25, 1, x_34); -lean_ctor_set(x_25, 0, x_35); -x_36 = l_Lean_Elab_wfRecursion___lambda__3___closed__4; -x_37 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_37, 0, x_25); -lean_ctor_set(x_37, 1, x_36); -x_38 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_1, x_37, x_18, x_19, x_20, x_21, x_22, x_23, x_32); -x_39 = lean_ctor_get(x_38, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_38, 1); -lean_inc(x_40); -lean_dec(x_38); -x_41 = l_Lean_Elab_wfRecursion___lambda__2(x_2, x_3, x_4, x_5, x_6, x_7, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_39, x_18, x_19, x_20, x_21, x_22, x_23, x_40); -lean_dec(x_39); +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); return x_41; } -else -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_42 = lean_ctor_get(x_25, 1); -lean_inc(x_42); -lean_dec(x_25); -lean_inc(x_17); -x_43 = l_Lean_MessageData_ofExpr(x_17); -x_44 = l_Lean_Elab_wfRecursion___lambda__3___closed__2; -x_45 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_45, 0, x_44); -lean_ctor_set(x_45, 1, x_43); -x_46 = l_Lean_Elab_wfRecursion___lambda__3___closed__4; -x_47 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_46); -x_48 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_1, x_47, x_18, x_19, x_20, x_21, x_22, x_23, x_42); -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -x_50 = lean_ctor_get(x_48, 1); -lean_inc(x_50); -lean_dec(x_48); -x_51 = l_Lean_Elab_wfRecursion___lambda__2(x_2, x_3, x_4, x_5, x_6, x_7, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_49, x_18, x_19, x_20, x_21, x_22, x_23, x_50); -lean_dec(x_49); -return x_51; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__4(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, uint8_t x_9, lean_object* x_10, uint8_t x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24, lean_object* x_25, lean_object* x_26) { -_start: -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_27 = l_Lean_Expr_bindingDomain_x21(x_1); -lean_inc(x_4); -x_28 = l_Array_mapMUnsafe_map___at_Lean_Elab_WF_guessLex___spec__4(x_2, x_3, x_4); -x_29 = lean_box_usize(x_2); -x_30 = lean_box_usize(x_3); -x_31 = lean_box(x_9); -x_32 = lean_box(x_11); -lean_inc(x_14); -lean_inc(x_28); -lean_inc(x_8); -lean_inc(x_7); -x_33 = lean_alloc_closure((void*)(l_Lean_Elab_wfRecursion___lambda__3___boxed), 24, 16); -lean_closure_set(x_33, 0, x_5); -lean_closure_set(x_33, 1, x_6); -lean_closure_set(x_33, 2, x_29); -lean_closure_set(x_33, 3, x_30); -lean_closure_set(x_33, 4, x_4); -lean_closure_set(x_33, 5, x_7); -lean_closure_set(x_33, 6, x_8); -lean_closure_set(x_33, 7, x_28); -lean_closure_set(x_33, 8, x_31); -lean_closure_set(x_33, 9, x_10); -lean_closure_set(x_33, 10, x_32); -lean_closure_set(x_33, 11, x_12); -lean_closure_set(x_33, 12, x_13); -lean_closure_set(x_33, 13, x_14); -lean_closure_set(x_33, 14, x_15); -lean_closure_set(x_33, 15, x_16); -x_34 = l_Lean_Elab_WF_elabWFRel___rarg(x_28, x_14, x_17, x_7, x_8, x_27, x_18, x_33, x_20, x_21, x_22, x_23, x_24, x_25, x_26); -return x_34; -} -} -static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__5___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("wfRecursion: expected unary function type: ", 43, 43); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__5___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_wfRecursion___lambda__5___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__5(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t x_7, lean_object* x_8, uint8_t x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24, lean_object* x_25) { -_start: -{ -lean_object* x_26; -lean_inc(x_24); -lean_inc(x_23); -lean_inc(x_22); -lean_inc(x_21); -x_26 = l_Lean_Meta_whnfForall(x_18, x_21, x_22, x_23, x_24, x_25); -if (lean_obj_tag(x_26) == 0) -{ -lean_object* x_27; lean_object* x_28; uint8_t x_29; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = l_Lean_Expr_isForall(x_27); -if (x_29 == 0) -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; -lean_dec(x_17); -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_30 = l_Lean_MessageData_ofExpr(x_27); -x_31 = l_Lean_Elab_wfRecursion___lambda__5___closed__2; -x_32 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_30); -x_33 = l_Lean_Elab_wfRecursion___lambda__3___closed__4; -x_34 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -x_35 = l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(x_34, x_19, x_20, x_21, x_22, x_23, x_24, x_28); -lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -x_36 = !lean_is_exclusive(x_35); -if (x_36 == 0) -{ -return x_35; -} -else -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_37 = lean_ctor_get(x_35, 0); -x_38 = lean_ctor_get(x_35, 1); -lean_inc(x_38); -lean_inc(x_37); -lean_dec(x_35); -x_39 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_39, 0, x_37); -lean_ctor_set(x_39, 1, x_38); -return x_39; -} -} -else -{ -lean_object* x_40; lean_object* x_41; -x_40 = lean_box(0); -x_41 = l_Lean_Elab_wfRecursion___lambda__4(x_27, x_1, x_2, x_3, x_4, x_5, x_17, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_40, x_19, x_20, x_21, x_22, x_23, x_24, x_28); -lean_dec(x_27); -return x_41; } } else { uint8_t x_42; -lean_dec(x_24); -lean_dec(x_23); lean_dec(x_22); -lean_dec(x_21); -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_17); lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); lean_dec(x_10); +lean_dec(x_9); lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); +lean_dec(x_7); +lean_dec(x_1); x_42 = !lean_is_exclusive(x_26); if (x_42 == 0) { @@ -2391,227 +1419,274 @@ return x_45; } } } +else +{ +uint8_t x_46; +lean_dec(x_18); +lean_dec(x_16); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_1); +x_46 = !lean_is_exclusive(x_21); +if (x_46 == 0) +{ +return x_21; } -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, size_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_21, 0); +x_48 = lean_ctor_get(x_21, 1); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_21); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; +} +} +} +else +{ +uint8_t x_50; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_1); +x_50 = !lean_is_exclusive(x_15); +if (x_50 == 0) +{ +return x_15; +} +else +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_15, 0); +x_52 = lean_ctor_get(x_15, 1); +lean_inc(x_52); +lean_inc(x_51); +lean_dec(x_15); +x_53 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_53, 0, x_51); +lean_ctor_set(x_53, 1, x_52); +return x_53; +} +} +} +else +{ +uint8_t x_54; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_5); +lean_dec(x_1); +x_54 = !lean_is_exclusive(x_13); +if (x_54 == 0) +{ +return x_13; +} +else +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_55 = lean_ctor_get(x_13, 0); +x_56 = lean_ctor_get(x_13, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_13); +x_57 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_57, 0, x_55); +lean_ctor_set(x_57, 1, x_56); +return x_57; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_16; -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_4); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_16 = l_Lean_Elab_WF_preDefsFromUnaryNonRec(x_1, x_2, x_3, x_4, x_11, x_12, x_13, x_14, x_15); -if (lean_obj_tag(x_16) == 0) +lean_object* x_9; +lean_inc(x_7); +lean_inc(x_6); +x_9 = l_Lean_Elab_addAsAxiom(x_1, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_9) == 0) { -lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; -x_17 = lean_ctor_get(x_16, 0); -lean_inc(x_17); -x_18 = lean_ctor_get(x_16, 1); -lean_inc(x_18); -lean_dec(x_16); -x_19 = 0; -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); +lean_object* x_10; uint8_t x_11; +x_10 = lean_ctor_get(x_9, 1); lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_4); -lean_inc(x_3); -x_20 = l_Lean_Elab_Mutual_addPreDefsFromUnary(x_3, x_17, x_4, x_19, x_9, x_10, x_11, x_12, x_13, x_14, x_18); -lean_dec(x_17); -if (lean_obj_tag(x_20) == 0) +lean_dec(x_9); +x_11 = !lean_is_exclusive(x_1); +if (x_11 == 0) { -lean_object* x_21; lean_object* x_22; -x_21 = lean_ctor_get(x_20, 1); -lean_inc(x_21); -lean_dec(x_20); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_10); -lean_inc(x_9); -x_22 = l_Lean_Elab_Mutual_cleanPreDefs(x_3, x_19, x_9, x_10, x_11, x_12, x_13, x_14, x_21); -if (lean_obj_tag(x_22) == 0) +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_12 = lean_ctor_get(x_1, 0); +x_13 = lean_ctor_get(x_1, 1); +x_14 = lean_ctor_get(x_1, 2); +x_15 = lean_ctor_get(x_1, 3); +x_16 = lean_ctor_get(x_1, 4); +x_17 = lean_ctor_get(x_1, 5); +x_18 = lean_ctor_get(x_1, 6); +x_19 = l_Lean_Elab_WF_preprocess(x_17, x_4, x_5, x_6, x_7, x_10); +if (lean_obj_tag(x_19) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_ctor_get(x_4, 3); -lean_inc(x_25); -lean_dec(x_4); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_25); -lean_inc(x_23); -x_26 = l_Lean_Elab_WF_registerEqnsInfo(x_23, x_25, x_1, x_2, x_11, x_12, x_13, x_14, x_24); -if (lean_obj_tag(x_26) == 0) +uint8_t x_20; +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; size_t x_31; lean_object* x_32; -x_27 = lean_ctor_get(x_26, 1); -lean_inc(x_27); -lean_dec(x_26); -x_28 = lean_array_get_size(x_5); -x_29 = lean_unsigned_to_nat(0u); -x_30 = l_Array_toSubarray___rarg(x_5, x_29, x_28); -x_31 = lean_array_size(x_23); -lean_inc(x_14); -lean_inc(x_13); -lean_inc(x_12); -lean_inc(x_11); -lean_inc(x_25); -x_32 = l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__8(x_6, x_23, x_25, x_23, x_31, x_7, x_30, x_9, x_10, x_11, x_12, x_13, x_14, x_27); -if (lean_obj_tag(x_32) == 0) -{ -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_33 = lean_ctor_get(x_32, 1); -lean_inc(x_33); -lean_dec(x_32); -lean_inc(x_13); -x_34 = l_Lean_enableRealizationsForConst(x_25, x_13, x_14, x_33); -x_35 = lean_ctor_get(x_34, 1); -lean_inc(x_35); -lean_dec(x_34); -x_36 = l_Lean_Elab_Mutual_addPreDefAttributes(x_23, x_9, x_10, x_11, x_12, x_13, x_14, x_35); -lean_dec(x_23); -return x_36; +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_19, 0); +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +lean_ctor_set(x_1, 5, x_22); +x_23 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_23, 0, x_1); +lean_ctor_set(x_23, 1, x_21); +lean_ctor_set(x_19, 0, x_23); +return x_19; } else { -uint8_t x_37; -lean_dec(x_25); -lean_dec(x_23); +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_24 = lean_ctor_get(x_19, 0); +x_25 = lean_ctor_get(x_19, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_19); +x_26 = lean_ctor_get(x_24, 0); +lean_inc(x_26); +lean_ctor_set(x_1, 5, x_26); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_1); +lean_ctor_set(x_27, 1, x_24); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_25); +return x_28; +} +} +else +{ +uint8_t x_29; +lean_free_object(x_1); +lean_dec(x_18); +lean_dec(x_16); +lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -x_37 = !lean_is_exclusive(x_32); -if (x_37 == 0) +x_29 = !lean_is_exclusive(x_19); +if (x_29 == 0) { +return x_19; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_19, 0); +x_31 = lean_ctor_get(x_19, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_19); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); return x_32; } +} +} else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_32, 0); -x_39 = lean_ctor_get(x_32, 1); +lean_object* x_33; uint8_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_33 = lean_ctor_get(x_1, 0); +x_34 = lean_ctor_get_uint8(x_1, sizeof(void*)*7); +x_35 = lean_ctor_get(x_1, 1); +x_36 = lean_ctor_get(x_1, 2); +x_37 = lean_ctor_get(x_1, 3); +x_38 = lean_ctor_get(x_1, 4); +x_39 = lean_ctor_get(x_1, 5); +x_40 = lean_ctor_get(x_1, 6); +lean_inc(x_40); lean_inc(x_39); lean_inc(x_38); -lean_dec(x_32); -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_38); -lean_ctor_set(x_40, 1, x_39); -return x_40; -} -} -} -else -{ -uint8_t x_41; -lean_dec(x_25); -lean_dec(x_23); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_5); -x_41 = !lean_is_exclusive(x_26); -if (x_41 == 0) -{ -return x_26; -} -else -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_26, 0); -x_43 = lean_ctor_get(x_26, 1); -lean_inc(x_43); -lean_inc(x_42); -lean_dec(x_26); -x_44 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_44, 0, x_42); -lean_ctor_set(x_44, 1, x_43); -return x_44; -} -} -} -else -{ -uint8_t x_45; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); +lean_inc(x_37); +lean_inc(x_36); +lean_inc(x_35); +lean_inc(x_33); lean_dec(x_1); -x_45 = !lean_is_exclusive(x_22); -if (x_45 == 0) +x_41 = l_Lean_Elab_WF_preprocess(x_39, x_4, x_5, x_6, x_7, x_10); +if (lean_obj_tag(x_41) == 0) { -return x_22; +lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +x_43 = lean_ctor_get(x_41, 1); +lean_inc(x_43); +if (lean_is_exclusive(x_41)) { + lean_ctor_release(x_41, 0); + lean_ctor_release(x_41, 1); + x_44 = x_41; +} else { + lean_dec_ref(x_41); + x_44 = lean_box(0); } -else -{ -lean_object* x_46; lean_object* x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_22, 0); -x_47 = lean_ctor_get(x_22, 1); -lean_inc(x_47); -lean_inc(x_46); -lean_dec(x_22); -x_48 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); +x_45 = lean_ctor_get(x_42, 0); +lean_inc(x_45); +x_46 = lean_alloc_ctor(0, 7, 1); +lean_ctor_set(x_46, 0, x_33); +lean_ctor_set(x_46, 1, x_35); +lean_ctor_set(x_46, 2, x_36); +lean_ctor_set(x_46, 3, x_37); +lean_ctor_set(x_46, 4, x_38); +lean_ctor_set(x_46, 5, x_45); +lean_ctor_set(x_46, 6, x_40); +lean_ctor_set_uint8(x_46, sizeof(void*)*7, x_34); +x_47 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_47, 0, x_46); +lean_ctor_set(x_47, 1, x_42); +if (lean_is_scalar(x_44)) { + x_48 = lean_alloc_ctor(0, 2, 0); +} else { + x_48 = x_44; +} +lean_ctor_set(x_48, 0, x_47); +lean_ctor_set(x_48, 1, x_43); return x_48; } -} -} else { -uint8_t x_49; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_49 = !lean_is_exclusive(x_20); -if (x_49 == 0) -{ -return x_20; -} -else -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_50 = lean_ctor_get(x_20, 0); -x_51 = lean_ctor_get(x_20, 1); -lean_inc(x_51); +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +lean_dec(x_40); +lean_dec(x_38); +lean_dec(x_37); +lean_dec(x_36); +lean_dec(x_35); +lean_dec(x_33); +x_49 = lean_ctor_get(x_41, 0); +lean_inc(x_49); +x_50 = lean_ctor_get(x_41, 1); lean_inc(x_50); -lean_dec(x_20); -x_52 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_52, 0, x_50); -lean_ctor_set(x_52, 1, x_51); +if (lean_is_exclusive(x_41)) { + lean_ctor_release(x_41, 0); + lean_ctor_release(x_41, 1); + x_51 = x_41; +} else { + lean_dec_ref(x_41); + x_51 = lean_box(0); +} +if (lean_is_scalar(x_51)) { + x_52 = lean_alloc_ctor(1, 2, 0); +} else { + x_52 = x_51; +} +lean_ctor_set(x_52, 0, x_49); +lean_ctor_set(x_52, 1, x_50); return x_52; } } @@ -2619,30 +1694,24 @@ return x_52; else { uint8_t x_53; -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); +lean_dec(x_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_53 = !lean_is_exclusive(x_16); +x_53 = !lean_is_exclusive(x_9); if (x_53 == 0) { -return x_16; +return x_9; } else { lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_54 = lean_ctor_get(x_16, 0); -x_55 = lean_ctor_get(x_16, 1); +x_54 = lean_ctor_get(x_9, 0); +x_55 = lean_ctor_get(x_9, 1); lean_inc(x_55); lean_inc(x_54); -lean_dec(x_16); +lean_dec(x_9); x_56 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_56, 0, x_54); lean_ctor_set(x_56, 1, x_55); @@ -2651,7 +1720,1074 @@ return x_56; } } } -static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__7___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__3(lean_object* x_1, size_t x_2, size_t 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, uint8_t x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { +_start: +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_19 = lean_st_ref_get(x_17, x_18); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_ctor_get(x_20, 0); +lean_inc(x_22); +lean_dec(x_20); +lean_inc(x_17); +lean_inc(x_16); +x_23 = l_Lean_Elab_addAsAxiom(x_1, x_14, x_15, x_16, x_17, x_21); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_23, 1); +lean_inc(x_24); +lean_dec(x_23); +x_25 = l_Array_mapMUnsafe_map___at_Lean_Elab_WF_guessLex___spec__5(x_2, x_3, x_4); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_5); +x_26 = l_Lean_Elab_WF_mkFix(x_5, x_6, x_7, x_8, x_9, x_25, x_10, x_12, x_13, x_14, x_15, x_16, x_17, x_24); +if (lean_obj_tag(x_26) == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +lean_inc(x_17); +lean_inc(x_16); +x_29 = l_Lean_Elab_eraseRecAppSyntaxExpr(x_27, x_16, x_17, x_28); +if (lean_obj_tag(x_29) == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_30 = lean_ctor_get(x_29, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +x_32 = lean_st_ref_get(x_17, x_31); +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_ctor_get(x_33, 0); +lean_inc(x_35); +lean_dec(x_33); +x_36 = l_Lean_setEnv___at_Lean_Elab_Term_evalTerm___spec__2(x_22, x_12, x_13, x_14, x_15, x_16, x_17, x_34); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_37 = lean_ctor_get(x_36, 1); +lean_inc(x_37); +lean_dec(x_36); +x_38 = l_Lean_Meta_unfoldDeclsFrom(x_35, x_30, x_16, x_17, x_37); +if (lean_obj_tag(x_38) == 0) +{ +uint8_t x_39; +x_39 = !lean_is_exclusive(x_38); +if (x_39 == 0) +{ +uint8_t x_40; +x_40 = !lean_is_exclusive(x_5); +if (x_40 == 0) +{ +lean_object* x_41; lean_object* x_42; +x_41 = lean_ctor_get(x_38, 0); +x_42 = lean_ctor_get(x_5, 5); +lean_dec(x_42); +lean_ctor_set(x_5, 5, x_41); +lean_ctor_set(x_38, 0, x_5); +return x_38; +} +else +{ +lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_43 = lean_ctor_get(x_38, 0); +x_44 = lean_ctor_get(x_5, 0); +x_45 = lean_ctor_get_uint8(x_5, sizeof(void*)*7); +x_46 = lean_ctor_get(x_5, 1); +x_47 = lean_ctor_get(x_5, 2); +x_48 = lean_ctor_get(x_5, 3); +x_49 = lean_ctor_get(x_5, 4); +x_50 = lean_ctor_get(x_5, 6); +lean_inc(x_50); +lean_inc(x_49); +lean_inc(x_48); +lean_inc(x_47); +lean_inc(x_46); +lean_inc(x_44); +lean_dec(x_5); +x_51 = lean_alloc_ctor(0, 7, 1); +lean_ctor_set(x_51, 0, x_44); +lean_ctor_set(x_51, 1, x_46); +lean_ctor_set(x_51, 2, x_47); +lean_ctor_set(x_51, 3, x_48); +lean_ctor_set(x_51, 4, x_49); +lean_ctor_set(x_51, 5, x_43); +lean_ctor_set(x_51, 6, x_50); +lean_ctor_set_uint8(x_51, sizeof(void*)*7, x_45); +lean_ctor_set(x_38, 0, x_51); +return x_38; +} +} +else +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_52 = lean_ctor_get(x_38, 0); +x_53 = lean_ctor_get(x_38, 1); +lean_inc(x_53); +lean_inc(x_52); +lean_dec(x_38); +x_54 = lean_ctor_get(x_5, 0); +lean_inc(x_54); +x_55 = lean_ctor_get_uint8(x_5, sizeof(void*)*7); +x_56 = lean_ctor_get(x_5, 1); +lean_inc(x_56); +x_57 = lean_ctor_get(x_5, 2); +lean_inc(x_57); +x_58 = lean_ctor_get(x_5, 3); +lean_inc(x_58); +x_59 = lean_ctor_get(x_5, 4); +lean_inc(x_59); +x_60 = lean_ctor_get(x_5, 6); +lean_inc(x_60); +if (lean_is_exclusive(x_5)) { + lean_ctor_release(x_5, 0); + lean_ctor_release(x_5, 1); + lean_ctor_release(x_5, 2); + lean_ctor_release(x_5, 3); + lean_ctor_release(x_5, 4); + lean_ctor_release(x_5, 5); + lean_ctor_release(x_5, 6); + x_61 = x_5; +} else { + lean_dec_ref(x_5); + x_61 = lean_box(0); +} +if (lean_is_scalar(x_61)) { + x_62 = lean_alloc_ctor(0, 7, 1); +} else { + x_62 = x_61; +} +lean_ctor_set(x_62, 0, x_54); +lean_ctor_set(x_62, 1, x_56); +lean_ctor_set(x_62, 2, x_57); +lean_ctor_set(x_62, 3, x_58); +lean_ctor_set(x_62, 4, x_59); +lean_ctor_set(x_62, 5, x_52); +lean_ctor_set(x_62, 6, x_60); +lean_ctor_set_uint8(x_62, sizeof(void*)*7, x_55); +x_63 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_63, 0, x_62); +lean_ctor_set(x_63, 1, x_53); +return x_63; +} +} +else +{ +uint8_t x_64; +lean_dec(x_5); +x_64 = !lean_is_exclusive(x_38); +if (x_64 == 0) +{ +return x_38; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_38, 0); +x_66 = lean_ctor_get(x_38, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_38); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; +lean_dec(x_5); +x_68 = lean_ctor_get(x_29, 0); +lean_inc(x_68); +x_69 = lean_ctor_get(x_29, 1); +lean_inc(x_69); +lean_dec(x_29); +x_70 = l_Lean_setEnv___at_Lean_Elab_Term_evalTerm___spec__2(x_22, x_12, x_13, x_14, x_15, x_16, x_17, x_69); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_71 = !lean_is_exclusive(x_70); +if (x_71 == 0) +{ +lean_object* x_72; +x_72 = lean_ctor_get(x_70, 0); +lean_dec(x_72); +lean_ctor_set_tag(x_70, 1); +lean_ctor_set(x_70, 0, x_68); +return x_70; +} +else +{ +lean_object* x_73; lean_object* x_74; +x_73 = lean_ctor_get(x_70, 1); +lean_inc(x_73); +lean_dec(x_70); +x_74 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_74, 0, x_68); +lean_ctor_set(x_74, 1, x_73); +return x_74; +} +} +} +else +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; uint8_t x_78; +lean_dec(x_5); +x_75 = lean_ctor_get(x_26, 0); +lean_inc(x_75); +x_76 = lean_ctor_get(x_26, 1); +lean_inc(x_76); +lean_dec(x_26); +x_77 = l_Lean_setEnv___at_Lean_Elab_Term_evalTerm___spec__2(x_22, x_12, x_13, x_14, x_15, x_16, x_17, x_76); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_78 = !lean_is_exclusive(x_77); +if (x_78 == 0) +{ +lean_object* x_79; +x_79 = lean_ctor_get(x_77, 0); +lean_dec(x_79); +lean_ctor_set_tag(x_77, 1); +lean_ctor_set(x_77, 0, x_75); +return x_77; +} +else +{ +lean_object* x_80; lean_object* x_81; +x_80 = lean_ctor_get(x_77, 1); +lean_inc(x_80); +lean_dec(x_77); +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_75); +lean_ctor_set(x_81, 1, x_80); +return x_81; +} +} +} +else +{ +lean_object* x_82; lean_object* x_83; lean_object* x_84; uint8_t x_85; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_82 = lean_ctor_get(x_23, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_23, 1); +lean_inc(x_83); +lean_dec(x_23); +x_84 = l_Lean_setEnv___at_Lean_Elab_Term_evalTerm___spec__2(x_22, x_12, x_13, x_14, x_15, x_16, x_17, x_83); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +x_85 = !lean_is_exclusive(x_84); +if (x_85 == 0) +{ +lean_object* x_86; +x_86 = lean_ctor_get(x_84, 0); +lean_dec(x_86); +lean_ctor_set_tag(x_84, 1); +lean_ctor_set(x_84, 0, x_82); +return x_84; +} +else +{ +lean_object* x_87; lean_object* x_88; +x_87 = lean_ctor_get(x_84, 1); +lean_inc(x_87); +lean_dec(x_84); +x_88 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_88, 0, x_82); +lean_ctor_set(x_88, 1, x_87); +return x_88; +} +} +} +} +static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__4___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("wfRel: ", 7, 7); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__4___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_wfRecursion___lambda__4___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__4___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("", 0, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__4___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_wfRecursion___lambda__4___closed__3; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__4(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, uint8_t x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { +_start: +{ +lean_object* x_19; lean_object* x_20; uint8_t x_21; +lean_inc(x_1); +x_19 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_1, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_unbox(x_20); +lean_dec(x_20); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +lean_dec(x_1); +x_22 = lean_ctor_get(x_19, 1); +lean_inc(x_22); +lean_dec(x_19); +x_23 = lean_box(0); +x_24 = l_Lean_Elab_wfRecursion___lambda__3(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_11, x_9, x_10, x_23, x_12, x_13, x_14, x_15, x_16, x_17, x_22); +return x_24; +} +else +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_26 = lean_ctor_get(x_19, 1); +x_27 = lean_ctor_get(x_19, 0); +lean_dec(x_27); +lean_inc(x_11); +x_28 = l_Lean_MessageData_ofExpr(x_11); +x_29 = l_Lean_Elab_wfRecursion___lambda__4___closed__2; +lean_ctor_set_tag(x_19, 7); +lean_ctor_set(x_19, 1, x_28); +lean_ctor_set(x_19, 0, x_29); +x_30 = l_Lean_Elab_wfRecursion___lambda__4___closed__4; +x_31 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_31, 0, x_19); +lean_ctor_set(x_31, 1, x_30); +x_32 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_1, x_31, x_12, x_13, x_14, x_15, x_16, x_17, x_26); +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Elab_wfRecursion___lambda__3(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_11, x_9, x_10, x_33, x_12, x_13, x_14, x_15, x_16, x_17, x_34); +lean_dec(x_33); +return x_35; +} +else +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_36 = lean_ctor_get(x_19, 1); +lean_inc(x_36); +lean_dec(x_19); +lean_inc(x_11); +x_37 = l_Lean_MessageData_ofExpr(x_11); +x_38 = l_Lean_Elab_wfRecursion___lambda__4___closed__2; +x_39 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_37); +x_40 = l_Lean_Elab_wfRecursion___lambda__4___closed__4; +x_41 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +x_42 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_1, x_41, x_12, x_13, x_14, x_15, x_16, x_17, x_36); +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_42, 1); +lean_inc(x_44); +lean_dec(x_42); +x_45 = l_Lean_Elab_wfRecursion___lambda__3(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_11, x_9, x_10, x_43, x_12, x_13, x_14, x_15, x_16, x_17, x_44); +lean_dec(x_43); +return x_45; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__5(lean_object* x_1, size_t x_2, size_t 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, uint8_t x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21) { +_start: +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_22 = l_Lean_Expr_bindingDomain_x21(x_1); +lean_inc(x_4); +x_23 = l_Array_mapMUnsafe_map___at_Lean_Elab_WF_guessLex___spec__4(x_2, x_3, x_4); +x_24 = lean_box_usize(x_2); +x_25 = lean_box_usize(x_3); +x_26 = lean_box(x_10); +lean_inc(x_23); +lean_inc(x_9); +lean_inc(x_8); +x_27 = lean_alloc_closure((void*)(l_Lean_Elab_wfRecursion___lambda__4___boxed), 18, 10); +lean_closure_set(x_27, 0, x_5); +lean_closure_set(x_27, 1, x_6); +lean_closure_set(x_27, 2, x_24); +lean_closure_set(x_27, 3, x_25); +lean_closure_set(x_27, 4, x_4); +lean_closure_set(x_27, 5, x_7); +lean_closure_set(x_27, 6, x_8); +lean_closure_set(x_27, 7, x_9); +lean_closure_set(x_27, 8, x_23); +lean_closure_set(x_27, 9, x_26); +x_28 = l_Lean_Elab_WF_elabWFRel___rarg(x_23, x_11, x_12, x_8, x_9, x_22, x_13, x_27, x_15, x_16, x_17, x_18, x_19, x_20, x_21); +return x_28; +} +} +static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__6___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("wfRecursion: expected unary function type: ", 43, 43); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__6___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_wfRecursion___lambda__6___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__6(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, uint8_t x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20) { +_start: +{ +lean_object* x_21; +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +x_21 = l_Lean_Meta_whnfForall(x_13, x_16, x_17, x_18, x_19, x_20); +if (lean_obj_tag(x_21) == 0) +{ +lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_22 = lean_ctor_get(x_21, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_21, 1); +lean_inc(x_23); +lean_dec(x_21); +x_24 = l_Lean_Expr_isForall(x_22); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_25 = l_Lean_MessageData_ofExpr(x_22); +x_26 = l_Lean_Elab_wfRecursion___lambda__6___closed__2; +x_27 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_25); +x_28 = l_Lean_Elab_wfRecursion___lambda__4___closed__4; +x_29 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_29, 0, x_27); +lean_ctor_set(x_29, 1, x_28); +x_30 = l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(x_29, x_14, x_15, x_16, x_17, x_18, x_19, x_23); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +x_31 = !lean_is_exclusive(x_30); +if (x_31 == 0) +{ +return x_30; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_30, 0); +x_33 = lean_ctor_get(x_30, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_30); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +else +{ +lean_object* x_35; lean_object* x_36; +x_35 = lean_box(0); +x_36 = l_Lean_Elab_wfRecursion___lambda__5(x_22, x_1, x_2, x_3, x_4, x_5, x_6, x_12, x_7, x_8, x_9, x_10, x_11, x_35, x_14, x_15, x_16, x_17, x_18, x_19, x_23); +lean_dec(x_22); +return x_36; +} +} +else +{ +uint8_t x_37; +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_37 = !lean_is_exclusive(x_21); +if (x_37 == 0) +{ +return x_21; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_21, 0); +x_39 = lean_ctor_get(x_21, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_21); +x_40 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_40, 0, x_38); +lean_ctor_set(x_40, 1, x_39); +return x_40; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +size_t x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_array_size(x_1); +x_15 = lean_box(0); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_4); +x_16 = l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9(x_2, x_3, x_1, x_4, x_1, x_14, x_5, x_15, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_16, 1); +lean_inc(x_17); +lean_dec(x_16); +lean_inc(x_11); +x_18 = l_Lean_enableRealizationsForConst(x_4, x_11, x_12, x_17); +x_19 = lean_ctor_get(x_18, 1); +lean_inc(x_19); +lean_dec(x_18); +x_20 = l_Lean_Elab_Mutual_addPreDefAttributes(x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_19); +return x_20; +} +else +{ +uint8_t x_21; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +x_21 = !lean_is_exclusive(x_16); +if (x_21 == 0) +{ +return x_16; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_16, 0); +x_23 = lean_ctor_get(x_16, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_16); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, size_t x_6, size_t x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17) { +_start: +{ +lean_object* x_18; +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +lean_inc(x_1); +x_18 = l_Lean_Elab_WF_preDefsFromUnaryNonRec(x_1, x_2, x_3, x_4, x_13, x_14, x_15, x_16, x_17); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = 0; +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_4); +lean_inc(x_3); +x_22 = l_Lean_Elab_Mutual_addPreDefsFromUnary(x_3, x_19, x_4, x_21, x_11, x_12, x_13, x_14, x_15, x_16, x_20); +lean_dec(x_19); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_22, 1); +lean_inc(x_23); +lean_dec(x_22); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_3); +x_24 = l_Lean_Elab_addAndCompilePartialRec(x_3, x_11, x_12, x_13, x_14, x_15, x_16, x_23); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; +x_25 = lean_ctor_get(x_24, 1); +lean_inc(x_25); +lean_dec(x_24); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +x_26 = l_Lean_Elab_Mutual_cleanPreDef(x_5, x_21, x_13, x_14, x_15, x_16, x_25); +if (lean_obj_tag(x_26) == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +x_29 = l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__8(x_6, x_7, x_3, x_11, x_12, x_13, x_14, x_15, x_16, x_28); +if (lean_obj_tag(x_29) == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_30 = lean_ctor_get(x_29, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +x_32 = lean_ctor_get(x_4, 3); +lean_inc(x_32); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_32); +lean_inc(x_30); +x_33 = l_Lean_Elab_WF_registerEqnsInfo(x_30, x_32, x_1, x_2, x_13, x_14, x_15, x_16, x_31); +if (lean_obj_tag(x_33) == 0) +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_33, 1); +lean_inc(x_34); +lean_dec(x_33); +x_35 = lean_ctor_get(x_27, 4); +lean_inc(x_35); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +x_36 = l_Lean_Meta_isProp(x_35, x_13, x_14, x_15, x_16, x_34); +if (lean_obj_tag(x_36) == 0) +{ +lean_object* x_37; uint8_t x_38; +x_37 = lean_ctor_get(x_36, 0); +lean_inc(x_37); +x_38 = lean_unbox(x_37); +lean_dec(x_37); +if (x_38 == 0) +{ +lean_object* x_39; lean_object* x_40; +x_39 = lean_ctor_get(x_36, 1); +lean_inc(x_39); +lean_dec(x_36); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_32); +x_40 = l_Lean_Elab_WF_mkUnfoldEq(x_27, x_32, x_9, x_13, x_14, x_15, x_16, x_39); +if (lean_obj_tag(x_40) == 0) +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_41 = lean_ctor_get(x_40, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_40, 1); +lean_inc(x_42); +lean_dec(x_40); +x_43 = l_Lean_Elab_wfRecursion___lambda__7(x_30, x_8, x_4, x_32, x_7, x_41, x_11, x_12, x_13, x_14, x_15, x_16, x_42); +lean_dec(x_41); +lean_dec(x_4); +lean_dec(x_30); +return x_43; +} +else +{ +uint8_t x_44; +lean_dec(x_32); +lean_dec(x_30); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_4); +x_44 = !lean_is_exclusive(x_40); +if (x_44 == 0) +{ +return x_40; +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_40, 0); +x_46 = lean_ctor_get(x_40, 1); +lean_inc(x_46); +lean_inc(x_45); +lean_dec(x_40); +x_47 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_47, 0, x_45); +lean_ctor_set(x_47, 1, x_46); +return x_47; +} +} +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; +lean_dec(x_27); +lean_dec(x_9); +x_48 = lean_ctor_get(x_36, 1); +lean_inc(x_48); +lean_dec(x_36); +x_49 = lean_box(0); +x_50 = l_Lean_Elab_wfRecursion___lambda__7(x_30, x_8, x_4, x_32, x_7, x_49, x_11, x_12, x_13, x_14, x_15, x_16, x_48); +lean_dec(x_4); +lean_dec(x_30); +return x_50; +} +} +else +{ +uint8_t x_51; +lean_dec(x_32); +lean_dec(x_30); +lean_dec(x_27); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_4); +x_51 = !lean_is_exclusive(x_36); +if (x_51 == 0) +{ +return x_36; +} +else +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_52 = lean_ctor_get(x_36, 0); +x_53 = lean_ctor_get(x_36, 1); +lean_inc(x_53); +lean_inc(x_52); +lean_dec(x_36); +x_54 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +return x_54; +} +} +} +else +{ +uint8_t x_55; +lean_dec(x_32); +lean_dec(x_30); +lean_dec(x_27); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_4); +x_55 = !lean_is_exclusive(x_33); +if (x_55 == 0) +{ +return x_33; +} +else +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_33, 0); +x_57 = lean_ctor_get(x_33, 1); +lean_inc(x_57); +lean_inc(x_56); +lean_dec(x_33); +x_58 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_58, 0, x_56); +lean_ctor_set(x_58, 1, x_57); +return x_58; +} +} +} +else +{ +uint8_t x_59; +lean_dec(x_27); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_59 = !lean_is_exclusive(x_29); +if (x_59 == 0) +{ +return x_29; +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; +x_60 = lean_ctor_get(x_29, 0); +x_61 = lean_ctor_get(x_29, 1); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_29); +x_62 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_62, 0, x_60); +lean_ctor_set(x_62, 1, x_61); +return x_62; +} +} +} +else +{ +uint8_t x_63; +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_63 = !lean_is_exclusive(x_26); +if (x_63 == 0) +{ +return x_26; +} +else +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_64 = lean_ctor_get(x_26, 0); +x_65 = lean_ctor_get(x_26, 1); +lean_inc(x_65); +lean_inc(x_64); +lean_dec(x_26); +x_66 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_66, 0, x_64); +lean_ctor_set(x_66, 1, x_65); +return x_66; +} +} +} +else +{ +uint8_t x_67; +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_67 = !lean_is_exclusive(x_24); +if (x_67 == 0) +{ +return x_24; +} +else +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_68 = lean_ctor_get(x_24, 0); +x_69 = lean_ctor_get(x_24, 1); +lean_inc(x_69); +lean_inc(x_68); +lean_dec(x_24); +x_70 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_70, 0, x_68); +lean_ctor_set(x_70, 1, x_69); +return x_70; +} +} +} +else +{ +uint8_t x_71; +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_71 = !lean_is_exclusive(x_22); +if (x_71 == 0) +{ +return x_22; +} +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_72 = lean_ctor_get(x_22, 0); +x_73 = lean_ctor_get(x_22, 1); +lean_inc(x_73); +lean_inc(x_72); +lean_dec(x_22); +x_74 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_74, 0, x_72); +lean_ctor_set(x_74, 1, x_73); +return x_74; +} +} +} +else +{ +uint8_t x_75; +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_75 = !lean_is_exclusive(x_18); +if (x_75 == 0) +{ +return x_18; +} +else +{ +lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_76 = lean_ctor_get(x_18, 0); +x_77 = lean_ctor_get(x_18, 1); +lean_inc(x_77); +lean_inc(x_76); +lean_dec(x_18); +x_78 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_78, 0, x_76); +lean_ctor_set(x_78, 1, x_77); +return x_78; +} +} +} +} +static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__9___closed__1() { _start: { lean_object* x_1; @@ -2659,16 +2795,16 @@ x_1 = lean_mk_string_unchecked(">> ", 3, 3); return x_1; } } -static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__7___closed__2() { +static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__9___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_wfRecursion___lambda__7___closed__1; +x_1 = l_Lean_Elab_wfRecursion___lambda__9___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__7___closed__3() { +static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__9___closed__3() { _start: { lean_object* x_1; @@ -2676,315 +2812,541 @@ x_1 = lean_mk_string_unchecked(" :=\n", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__7___closed__4() { +static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__9___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_wfRecursion___lambda__7___closed__3; +x_1 = l_Lean_Elab_wfRecursion___lambda__9___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__7(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17) { +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__9(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { _start: { -lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; -x_18 = lean_array_get_size(x_1); -x_19 = lean_unsigned_to_nat(0u); -x_20 = lean_nat_dec_lt(x_19, x_18); -x_21 = lean_ctor_get(x_2, 0); -lean_inc(x_21); -x_22 = lean_ctor_get_uint8(x_2, sizeof(void*)*7); -x_23 = lean_ctor_get(x_2, 1); +lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_19 = lean_array_get_size(x_1); +x_20 = lean_unsigned_to_nat(0u); +x_21 = lean_nat_dec_lt(x_20, x_19); +x_22 = lean_ctor_get(x_2, 3); +lean_inc(x_22); +x_23 = lean_ctor_get(x_2, 4); lean_inc(x_23); -x_24 = lean_ctor_get(x_2, 2); +x_24 = lean_ctor_get(x_3, 0); lean_inc(x_24); -x_25 = lean_ctor_get(x_2, 3); -lean_inc(x_25); -x_26 = lean_ctor_get(x_2, 4); -lean_inc(x_26); -x_27 = lean_ctor_get(x_2, 6); -lean_inc(x_27); -x_28 = lean_ctor_get(x_3, 0); -lean_inc(x_28); -x_29 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_29, 0, x_28); -if (x_20 == 0) +x_25 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_25, 0, x_24); +if (x_21 == 0) { -uint8_t x_84; -lean_dec(x_18); -x_84 = 1; -x_30 = x_84; -goto block_83; +uint8_t x_79; +lean_dec(x_19); +x_79 = 1; +x_26 = x_79; +goto block_78; } else { -size_t x_85; uint8_t x_86; -x_85 = lean_usize_of_nat(x_18); -lean_dec(x_18); -x_86 = l_Array_anyMUnsafe_any___at_Lean_Elab_wfRecursion___spec__9(x_5, x_1, x_5, x_85); -if (x_86 == 0) +size_t x_80; uint8_t x_81; +x_80 = lean_usize_of_nat(x_19); +lean_dec(x_19); +x_81 = l_Array_anyMUnsafe_any___at_Lean_Elab_wfRecursion___spec__10(x_5, x_1, x_5, x_80); +if (x_81 == 0) { -uint8_t x_87; -x_87 = 1; -x_30 = x_87; -goto block_83; +uint8_t x_82; +x_82 = 1; +x_26 = x_82; +goto block_78; } else { -uint8_t x_88; -x_88 = 0; -x_30 = x_88; -goto block_83; +uint8_t x_83; +x_83 = 0; +x_26 = x_83; +goto block_78; } } -block_83: +block_78: { -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; lean_object* x_37; -x_31 = lean_box_usize(x_4); -x_32 = lean_box_usize(x_5); -x_33 = lean_box(x_30); -x_34 = lean_box(x_22); +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; uint8_t x_31; lean_object* x_32; +x_27 = lean_box_usize(x_4); +x_28 = lean_box_usize(x_5); +x_29 = lean_box(x_26); lean_inc(x_3); -lean_inc(x_26); -lean_inc(x_7); +lean_inc(x_8); +lean_inc(x_2); lean_inc(x_6); lean_inc(x_1); -x_35 = lean_alloc_closure((void*)(l_Lean_Elab_wfRecursion___lambda__5___boxed), 25, 16); -lean_closure_set(x_35, 0, x_31); -lean_closure_set(x_35, 1, x_32); -lean_closure_set(x_35, 2, x_1); -lean_closure_set(x_35, 3, x_6); -lean_closure_set(x_35, 4, x_2); -lean_closure_set(x_35, 5, x_7); -lean_closure_set(x_35, 6, x_33); -lean_closure_set(x_35, 7, x_21); -lean_closure_set(x_35, 8, x_34); -lean_closure_set(x_35, 9, x_23); -lean_closure_set(x_35, 10, x_24); -lean_closure_set(x_35, 11, x_25); -lean_closure_set(x_35, 12, x_26); -lean_closure_set(x_35, 13, x_27); -lean_closure_set(x_35, 14, x_3); -lean_closure_set(x_35, 15, x_10); -x_36 = 0; +x_30 = lean_alloc_closure((void*)(l_Lean_Elab_wfRecursion___lambda__6___boxed), 20, 11); +lean_closure_set(x_30, 0, x_27); +lean_closure_set(x_30, 1, x_28); +lean_closure_set(x_30, 2, x_1); +lean_closure_set(x_30, 3, x_6); +lean_closure_set(x_30, 4, x_2); +lean_closure_set(x_30, 5, x_7); +lean_closure_set(x_30, 6, x_8); +lean_closure_set(x_30, 7, x_29); +lean_closure_set(x_30, 8, x_22); +lean_closure_set(x_30, 9, x_3); +lean_closure_set(x_30, 10, x_11); +x_31 = 0; +lean_inc(x_17); lean_inc(x_16); lean_inc(x_15); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); -lean_inc(x_11); -x_37 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg(x_26, x_29, x_35, x_36, x_11, x_12, x_13, x_14, x_15, x_16, x_17); -if (lean_obj_tag(x_37) == 0) +x_32 = l_Lean_Meta_forallBoundedTelescope___at_Lean_Elab_Term_addAutoBoundImplicits_x27___spec__2___rarg(x_23, x_25, x_30, x_31, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +if (lean_obj_tag(x_32) == 0) { -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; -x_38 = lean_ctor_get(x_37, 0); -lean_inc(x_38); -x_39 = lean_ctor_get(x_37, 1); -lean_inc(x_39); -lean_dec(x_37); +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; uint8_t x_37; +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); lean_inc(x_6); -x_40 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_6, x_11, x_12, x_13, x_14, x_15, x_16, x_39); -x_41 = lean_ctor_get(x_40, 0); -lean_inc(x_41); -x_42 = lean_unbox(x_41); -lean_dec(x_41); -if (x_42 == 0) +x_35 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_6, x_12, x_13, x_14, x_15, x_16, x_17, x_34); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_unbox(x_36); +lean_dec(x_36); +if (x_37 == 0) { -lean_object* x_43; lean_object* x_44; lean_object* x_45; +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_dec(x_6); -x_43 = lean_ctor_get(x_40, 1); -lean_inc(x_43); -lean_dec(x_40); -x_44 = lean_box(0); -x_45 = l_Lean_Elab_wfRecursion___lambda__6(x_3, x_7, x_1, x_38, x_8, x_9, x_5, x_44, x_11, x_12, x_13, x_14, x_15, x_16, x_43); -return x_45; +x_38 = lean_ctor_get(x_35, 1); +lean_inc(x_38); +lean_dec(x_35); +x_39 = lean_box(0); +x_40 = l_Lean_Elab_wfRecursion___lambda__8(x_3, x_8, x_1, x_33, x_2, x_4, x_5, x_9, x_10, x_39, x_12, x_13, x_14, x_15, x_16, x_17, x_38); +return x_40; } else { -uint8_t x_46; -x_46 = !lean_is_exclusive(x_40); -if (x_46 == 0) +uint8_t x_41; +x_41 = !lean_is_exclusive(x_35); +if (x_41 == 0) { -lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_47 = lean_ctor_get(x_40, 1); -x_48 = lean_ctor_get(x_40, 0); -lean_dec(x_48); -x_49 = lean_ctor_get(x_38, 3); +lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_42 = lean_ctor_get(x_35, 1); +x_43 = lean_ctor_get(x_35, 0); +lean_dec(x_43); +x_44 = lean_ctor_get(x_33, 3); +lean_inc(x_44); +x_45 = l_Lean_MessageData_ofName(x_44); +x_46 = l_Lean_Elab_wfRecursion___lambda__9___closed__2; +lean_ctor_set_tag(x_35, 7); +lean_ctor_set(x_35, 1, x_45); +lean_ctor_set(x_35, 0, x_46); +x_47 = l_Lean_Elab_wfRecursion___lambda__9___closed__4; +x_48 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_48, 0, x_35); +lean_ctor_set(x_48, 1, x_47); +x_49 = lean_ctor_get(x_33, 5); lean_inc(x_49); -x_50 = l_Lean_MessageData_ofName(x_49); -x_51 = l_Lean_Elab_wfRecursion___lambda__7___closed__2; -lean_ctor_set_tag(x_40, 7); -lean_ctor_set(x_40, 1, x_50); -lean_ctor_set(x_40, 0, x_51); -x_52 = l_Lean_Elab_wfRecursion___lambda__7___closed__4; +x_50 = l_Lean_MessageData_ofExpr(x_49); +x_51 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_51, 0, x_48); +lean_ctor_set(x_51, 1, x_50); +x_52 = l_Lean_Elab_wfRecursion___lambda__4___closed__4; x_53 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_53, 0, x_40); +lean_ctor_set(x_53, 0, x_51); lean_ctor_set(x_53, 1, x_52); -x_54 = lean_ctor_get(x_38, 5); -lean_inc(x_54); -x_55 = l_Lean_MessageData_ofExpr(x_54); -x_56 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_56, 0, x_53); -lean_ctor_set(x_56, 1, x_55); -x_57 = l_Lean_Elab_wfRecursion___lambda__3___closed__4; -x_58 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_58, 0, x_56); -lean_ctor_set(x_58, 1, x_57); -x_59 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_6, x_58, x_11, x_12, x_13, x_14, x_15, x_16, x_47); -x_60 = lean_ctor_get(x_59, 0); -lean_inc(x_60); -x_61 = lean_ctor_get(x_59, 1); -lean_inc(x_61); -lean_dec(x_59); -x_62 = l_Lean_Elab_wfRecursion___lambda__6(x_3, x_7, x_1, x_38, x_8, x_9, x_5, x_60, x_11, x_12, x_13, x_14, x_15, x_16, x_61); -lean_dec(x_60); -return x_62; +x_54 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_6, x_53, x_12, x_13, x_14, x_15, x_16, x_17, x_42); +x_55 = lean_ctor_get(x_54, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_54, 1); +lean_inc(x_56); +lean_dec(x_54); +x_57 = l_Lean_Elab_wfRecursion___lambda__8(x_3, x_8, x_1, x_33, x_2, x_4, x_5, x_9, x_10, x_55, x_12, x_13, x_14, x_15, x_16, x_17, x_56); +lean_dec(x_55); +return x_57; } else { -lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_63 = lean_ctor_get(x_40, 1); -lean_inc(x_63); -lean_dec(x_40); -x_64 = lean_ctor_get(x_38, 3); -lean_inc(x_64); -x_65 = l_Lean_MessageData_ofName(x_64); -x_66 = l_Lean_Elab_wfRecursion___lambda__7___closed__2; +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_58 = lean_ctor_get(x_35, 1); +lean_inc(x_58); +lean_dec(x_35); +x_59 = lean_ctor_get(x_33, 3); +lean_inc(x_59); +x_60 = l_Lean_MessageData_ofName(x_59); +x_61 = l_Lean_Elab_wfRecursion___lambda__9___closed__2; +x_62 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_62, 0, x_61); +lean_ctor_set(x_62, 1, x_60); +x_63 = l_Lean_Elab_wfRecursion___lambda__9___closed__4; +x_64 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_64, 0, x_62); +lean_ctor_set(x_64, 1, x_63); +x_65 = lean_ctor_get(x_33, 5); +lean_inc(x_65); +x_66 = l_Lean_MessageData_ofExpr(x_65); x_67 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_67, 0, x_66); -lean_ctor_set(x_67, 1, x_65); -x_68 = l_Lean_Elab_wfRecursion___lambda__7___closed__4; +lean_ctor_set(x_67, 0, x_64); +lean_ctor_set(x_67, 1, x_66); +x_68 = l_Lean_Elab_wfRecursion___lambda__4___closed__4; x_69 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_69, 0, x_67); lean_ctor_set(x_69, 1, x_68); -x_70 = lean_ctor_get(x_38, 5); -lean_inc(x_70); -x_71 = l_Lean_MessageData_ofExpr(x_70); -x_72 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_72, 0, x_69); -lean_ctor_set(x_72, 1, x_71); -x_73 = l_Lean_Elab_wfRecursion___lambda__3___closed__4; -x_74 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_74, 0, x_72); -lean_ctor_set(x_74, 1, x_73); -x_75 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_6, x_74, x_11, x_12, x_13, x_14, x_15, x_16, x_63); -x_76 = lean_ctor_get(x_75, 0); -lean_inc(x_76); -x_77 = lean_ctor_get(x_75, 1); -lean_inc(x_77); -lean_dec(x_75); -x_78 = l_Lean_Elab_wfRecursion___lambda__6(x_3, x_7, x_1, x_38, x_8, x_9, x_5, x_76, x_11, x_12, x_13, x_14, x_15, x_16, x_77); -lean_dec(x_76); -return x_78; +x_70 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_6, x_69, x_12, x_13, x_14, x_15, x_16, x_17, x_58); +x_71 = lean_ctor_get(x_70, 0); +lean_inc(x_71); +x_72 = lean_ctor_get(x_70, 1); +lean_inc(x_72); +lean_dec(x_70); +x_73 = l_Lean_Elab_wfRecursion___lambda__8(x_3, x_8, x_1, x_33, x_2, x_4, x_5, x_9, x_10, x_71, x_12, x_13, x_14, x_15, x_16, x_17, x_72); +lean_dec(x_71); +return x_73; } } } else { -uint8_t x_79; -lean_dec(x_16); -lean_dec(x_15); -lean_dec(x_14); -lean_dec(x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_3); -lean_dec(x_1); -x_79 = !lean_is_exclusive(x_37); -if (x_79 == 0) -{ -return x_37; -} -else -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_80 = lean_ctor_get(x_37, 0); -x_81 = lean_ctor_get(x_37, 1); -lean_inc(x_81); -lean_inc(x_80); -lean_dec(x_37); -x_82 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_82, 0, x_80); -lean_ctor_set(x_82, 1, x_81); -return x_82; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__8(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { -_start: -{ -if (lean_obj_tag(x_10) == 0) -{ -lean_object* x_19; -lean_inc(x_17); -lean_inc(x_16); -lean_inc(x_15); -lean_inc(x_14); -lean_inc(x_7); -lean_inc(x_3); -lean_inc(x_2); -lean_inc(x_1); -x_19 = l_Lean_Elab_WF_guessLex(x_1, x_2, x_3, x_7, x_14, x_15, x_16, x_17, x_18); -if (lean_obj_tag(x_19) == 0) -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); -lean_inc(x_21); -lean_dec(x_19); -x_22 = l_Lean_Elab_wfRecursion___lambda__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_20, x_12, x_13, x_14, x_15, x_16, x_17, x_21); -return x_22; -} -else -{ -uint8_t x_23; +uint8_t x_74; lean_dec(x_17); lean_dec(x_16); lean_dec(x_15); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_8); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_74 = !lean_is_exclusive(x_32); +if (x_74 == 0) +{ +return x_32; +} +else +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_75 = lean_ctor_get(x_32, 0); +x_76 = lean_ctor_get(x_32, 1); +lean_inc(x_76); +lean_inc(x_75); +lean_dec(x_32); +x_77 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +return x_77; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__10(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19) { +_start: +{ +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_20; +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_8); +lean_inc(x_3); +lean_inc(x_7); +lean_inc(x_1); +x_20 = l_Lean_Elab_WF_guessLex(x_1, x_7, x_3, x_8, x_15, x_16, x_17, x_18, x_19); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_Elab_wfRecursion___lambda__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_21, x_13, x_14, x_15, x_16, x_17, x_18, x_22); +return x_23; +} +else +{ +uint8_t x_24; +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_10); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_23 = !lean_is_exclusive(x_19); -if (x_23 == 0) +x_24 = !lean_is_exclusive(x_20); +if (x_24 == 0) { -return x_19; +return x_20; } else { -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_19, 0); -x_25 = lean_ctor_get(x_19, 1); +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_20, 0); +x_26 = lean_ctor_get(x_20, 1); +lean_inc(x_26); lean_inc(x_25); -lean_inc(x_24); -lean_dec(x_19); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_24); -lean_ctor_set(x_26, 1, x_25); -return x_26; +lean_dec(x_20); +x_27 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_27, 0, x_25); +lean_ctor_set(x_27, 1, x_26); +return x_27; } } } else { -lean_object* x_27; lean_object* x_28; -x_27 = lean_ctor_get(x_10, 0); -lean_inc(x_27); -lean_dec(x_10); -x_28 = l_Lean_Elab_wfRecursion___lambda__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_27, x_12, x_13, x_14, x_15, x_16, x_17, x_18); -return x_28; +lean_object* x_28; lean_object* x_29; +x_28 = lean_ctor_get(x_11, 0); +lean_inc(x_28); +lean_dec(x_11); +x_29 = l_Lean_Elab_wfRecursion___lambda__9(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_28, x_13, x_14, x_15, x_16, x_17, x_18, x_19); +return x_29; +} +} +} +static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__11___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("unaryPreDefProcessed:", 21, 21); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_wfRecursion___lambda__11___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_wfRecursion___lambda__11___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__11(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17) { +_start: +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +lean_inc(x_1); +x_18 = lean_alloc_closure((void*)(l_Lean_Elab_wfRecursion___lambda__2___boxed), 8, 1); +lean_closure_set(x_18, 0, x_1); +x_19 = lean_st_ref_get(x_16, x_17); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +x_21 = lean_ctor_get(x_19, 1); +lean_inc(x_21); +lean_dec(x_19); +x_22 = lean_ctor_get(x_20, 0); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_Environment_unlockAsync(x_22); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +x_24 = l_Lean_withEnv___at_Lean_Elab_wfRecursion___spec__7(x_23, x_18, x_11, x_12, x_13, x_14, x_15, x_16, x_21); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; uint8_t x_27; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +x_27 = !lean_is_exclusive(x_25); +if (x_27 == 0) +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; +x_28 = lean_ctor_get(x_25, 0); +x_29 = lean_ctor_get(x_25, 1); +lean_inc(x_2); +x_30 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_2, x_11, x_12, x_13, x_14, x_15, x_16, x_26); +x_31 = lean_ctor_get(x_30, 0); +lean_inc(x_31); +x_32 = lean_unbox(x_31); +lean_dec(x_31); +if (x_32 == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; +lean_free_object(x_25); +x_33 = lean_ctor_get(x_30, 1); +lean_inc(x_33); +lean_dec(x_30); +x_34 = lean_box(0); +x_35 = l_Lean_Elab_wfRecursion___lambda__10(x_3, x_1, x_4, x_5, x_6, x_2, x_28, x_7, x_8, x_29, x_9, x_34, x_11, x_12, x_13, x_14, x_15, x_16, x_33); +return x_35; +} +else +{ +uint8_t x_36; +x_36 = !lean_is_exclusive(x_30); +if (x_36 == 0) +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_37 = lean_ctor_get(x_30, 1); +x_38 = lean_ctor_get(x_30, 0); +lean_dec(x_38); +x_39 = lean_ctor_get(x_1, 5); +lean_inc(x_39); +x_40 = l_Lean_MessageData_ofExpr(x_39); +x_41 = l_Lean_indentD(x_40); +x_42 = l_Lean_Elab_wfRecursion___lambda__11___closed__2; +lean_ctor_set_tag(x_30, 7); +lean_ctor_set(x_30, 1, x_41); +lean_ctor_set(x_30, 0, x_42); +x_43 = l_Lean_Elab_wfRecursion___lambda__4___closed__4; +lean_ctor_set_tag(x_25, 7); +lean_ctor_set(x_25, 1, x_43); +lean_ctor_set(x_25, 0, x_30); +lean_inc(x_2); +x_44 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_2, x_25, x_11, x_12, x_13, x_14, x_15, x_16, x_37); +x_45 = lean_ctor_get(x_44, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_44, 1); +lean_inc(x_46); +lean_dec(x_44); +x_47 = l_Lean_Elab_wfRecursion___lambda__10(x_3, x_1, x_4, x_5, x_6, x_2, x_28, x_7, x_8, x_29, x_9, x_45, x_11, x_12, x_13, x_14, x_15, x_16, x_46); +lean_dec(x_45); +return x_47; +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_48 = lean_ctor_get(x_30, 1); +lean_inc(x_48); +lean_dec(x_30); +x_49 = lean_ctor_get(x_1, 5); +lean_inc(x_49); +x_50 = l_Lean_MessageData_ofExpr(x_49); +x_51 = l_Lean_indentD(x_50); +x_52 = l_Lean_Elab_wfRecursion___lambda__11___closed__2; +x_53 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_53, 0, x_52); +lean_ctor_set(x_53, 1, x_51); +x_54 = l_Lean_Elab_wfRecursion___lambda__4___closed__4; +lean_ctor_set_tag(x_25, 7); +lean_ctor_set(x_25, 1, x_54); +lean_ctor_set(x_25, 0, x_53); +lean_inc(x_2); +x_55 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_2, x_25, x_11, x_12, x_13, x_14, x_15, x_16, x_48); +x_56 = lean_ctor_get(x_55, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +lean_dec(x_55); +x_58 = l_Lean_Elab_wfRecursion___lambda__10(x_3, x_1, x_4, x_5, x_6, x_2, x_28, x_7, x_8, x_29, x_9, x_56, x_11, x_12, x_13, x_14, x_15, x_16, x_57); +lean_dec(x_56); +return x_58; +} +} +} +else +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; +x_59 = lean_ctor_get(x_25, 0); +x_60 = lean_ctor_get(x_25, 1); +lean_inc(x_60); +lean_inc(x_59); +lean_dec(x_25); +lean_inc(x_2); +x_61 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_2, x_11, x_12, x_13, x_14, x_15, x_16, x_26); +x_62 = lean_ctor_get(x_61, 0); +lean_inc(x_62); +x_63 = lean_unbox(x_62); +lean_dec(x_62); +if (x_63 == 0) +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_64 = lean_ctor_get(x_61, 1); +lean_inc(x_64); +lean_dec(x_61); +x_65 = lean_box(0); +x_66 = l_Lean_Elab_wfRecursion___lambda__10(x_3, x_1, x_4, x_5, x_6, x_2, x_59, x_7, x_8, x_60, x_9, x_65, x_11, x_12, x_13, x_14, x_15, x_16, x_64); +return x_66; +} +else +{ +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_67 = lean_ctor_get(x_61, 1); +lean_inc(x_67); +if (lean_is_exclusive(x_61)) { + lean_ctor_release(x_61, 0); + lean_ctor_release(x_61, 1); + x_68 = x_61; +} else { + lean_dec_ref(x_61); + x_68 = lean_box(0); +} +x_69 = lean_ctor_get(x_1, 5); +lean_inc(x_69); +x_70 = l_Lean_MessageData_ofExpr(x_69); +x_71 = l_Lean_indentD(x_70); +x_72 = l_Lean_Elab_wfRecursion___lambda__11___closed__2; +if (lean_is_scalar(x_68)) { + x_73 = lean_alloc_ctor(7, 2, 0); +} else { + x_73 = x_68; + lean_ctor_set_tag(x_73, 7); +} +lean_ctor_set(x_73, 0, x_72); +lean_ctor_set(x_73, 1, x_71); +x_74 = l_Lean_Elab_wfRecursion___lambda__4___closed__4; +x_75 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_75, 0, x_73); +lean_ctor_set(x_75, 1, x_74); +lean_inc(x_2); +x_76 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_2, x_75, x_11, x_12, x_13, x_14, x_15, x_16, x_67); +x_77 = lean_ctor_get(x_76, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_76, 1); +lean_inc(x_78); +lean_dec(x_76); +x_79 = l_Lean_Elab_wfRecursion___lambda__10(x_3, x_1, x_4, x_5, x_6, x_2, x_59, x_7, x_8, x_60, x_9, x_77, x_11, x_12, x_13, x_14, x_15, x_16, x_78); +lean_dec(x_77); +return x_79; +} +} +} +else +{ +uint8_t x_80; +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_80 = !lean_is_exclusive(x_24); +if (x_80 == 0) +{ +return x_24; +} +else +{ +lean_object* x_81; lean_object* x_82; lean_object* x_83; +x_81 = lean_ctor_get(x_24, 0); +x_82 = lean_ctor_get(x_24, 1); +lean_inc(x_82); +lean_inc(x_81); +lean_dec(x_24); +x_83 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_83, 0, x_81); +lean_ctor_set(x_83, 1, x_82); +return x_83; +} } } } @@ -3094,179 +3456,174 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -x_27 = l_Lean_withEnv___at_Lean_Elab_wfRecursion___spec__7(x_26, x_21, x_3, x_4, x_5, x_6, x_7, x_8, x_24); +x_27 = l_Lean_withEnv___at_Lean_Elab_wfRecursion___spec__6(x_26, x_21, x_3, x_4, x_5, x_6, x_7, x_8, x_24); if (lean_obj_tag(x_27) == 0) { -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); x_29 = lean_ctor_get(x_28, 1); lean_inc(x_29); -x_30 = lean_ctor_get(x_29, 1); +x_30 = lean_ctor_get(x_27, 1); lean_inc(x_30); -x_31 = lean_ctor_get(x_27, 1); -lean_inc(x_31); lean_dec(x_27); -x_32 = lean_ctor_get(x_28, 0); -lean_inc(x_32); +x_31 = lean_ctor_get(x_28, 0); +lean_inc(x_31); lean_dec(x_28); +x_32 = !lean_is_exclusive(x_29); +if (x_32 == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; x_33 = lean_ctor_get(x_29, 0); -lean_inc(x_33); -lean_dec(x_29); -x_34 = !lean_is_exclusive(x_30); -if (x_34 == 0) +x_34 = lean_ctor_get(x_29, 1); +x_35 = l_Lean_Elab_wfRecursion___closed__4; +x_36 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_35, x_3, x_4, x_5, x_6, x_7, x_8, x_30); +x_37 = lean_ctor_get(x_36, 0); +lean_inc(x_37); +x_38 = lean_unbox(x_37); +lean_dec(x_37); +if (x_38 == 0) { -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; -x_35 = lean_ctor_get(x_30, 0); -x_36 = lean_ctor_get(x_30, 1); -x_37 = l_Lean_Elab_wfRecursion___closed__4; -x_38 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_37, x_3, x_4, x_5, x_6, x_7, x_8, x_31); -x_39 = lean_ctor_get(x_38, 0); +lean_object* x_39; lean_object* x_40; lean_object* x_41; +lean_free_object(x_29); +x_39 = lean_ctor_get(x_36, 1); lean_inc(x_39); -x_40 = lean_unbox(x_39); -lean_dec(x_39); -if (x_40 == 0) -{ -lean_object* x_41; lean_object* x_42; lean_object* x_43; -lean_free_object(x_30); -x_41 = lean_ctor_get(x_38, 1); -lean_inc(x_41); -lean_dec(x_38); -x_42 = lean_box(0); -x_43 = l_Lean_Elab_wfRecursion___lambda__8(x_15, x_35, x_32, x_18, x_11, x_37, x_33, x_36, x_17, x_12, x_42, x_3, x_4, x_5, x_6, x_7, x_8, x_41); -return x_43; +lean_dec(x_36); +x_40 = lean_box(0); +x_41 = l_Lean_Elab_wfRecursion___lambda__11(x_34, x_35, x_15, x_31, x_18, x_11, x_33, x_17, x_12, x_40, x_3, x_4, x_5, x_6, x_7, x_8, x_39); +return x_41; } else { -uint8_t x_44; -x_44 = !lean_is_exclusive(x_38); -if (x_44 == 0) +uint8_t x_42; +x_42 = !lean_is_exclusive(x_36); +if (x_42 == 0) { -lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_45 = lean_ctor_get(x_38, 1); -x_46 = lean_ctor_get(x_38, 0); -lean_dec(x_46); -x_47 = lean_ctor_get(x_35, 5); -lean_inc(x_47); -x_48 = l_Lean_MessageData_ofExpr(x_47); -x_49 = l_Lean_indentD(x_48); -x_50 = l_Lean_Elab_wfRecursion___closed__6; -lean_ctor_set_tag(x_38, 7); -lean_ctor_set(x_38, 1, x_49); -lean_ctor_set(x_38, 0, x_50); -x_51 = l_Lean_Elab_wfRecursion___lambda__3___closed__4; -lean_ctor_set_tag(x_30, 7); -lean_ctor_set(x_30, 1, x_51); -lean_ctor_set(x_30, 0, x_38); -x_52 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_37, x_30, x_3, x_4, x_5, x_6, x_7, x_8, x_45); -x_53 = lean_ctor_get(x_52, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_52, 1); +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_43 = lean_ctor_get(x_36, 1); +x_44 = lean_ctor_get(x_36, 0); +lean_dec(x_44); +x_45 = lean_ctor_get(x_34, 5); +lean_inc(x_45); +x_46 = l_Lean_MessageData_ofExpr(x_45); +x_47 = l_Lean_indentD(x_46); +x_48 = l_Lean_Elab_wfRecursion___closed__6; +lean_ctor_set_tag(x_36, 7); +lean_ctor_set(x_36, 1, x_47); +lean_ctor_set(x_36, 0, x_48); +x_49 = l_Lean_Elab_wfRecursion___lambda__4___closed__4; +lean_ctor_set_tag(x_29, 7); +lean_ctor_set(x_29, 1, x_49); +lean_ctor_set(x_29, 0, x_36); +x_50 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_35, x_29, x_3, x_4, x_5, x_6, x_7, x_8, x_43); +x_51 = lean_ctor_get(x_50, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_50, 1); +lean_inc(x_52); +lean_dec(x_50); +x_53 = l_Lean_Elab_wfRecursion___lambda__11(x_34, x_35, x_15, x_31, x_18, x_11, x_33, x_17, x_12, x_51, x_3, x_4, x_5, x_6, x_7, x_8, x_52); +lean_dec(x_51); +return x_53; +} +else +{ +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_54 = lean_ctor_get(x_36, 1); lean_inc(x_54); -lean_dec(x_52); -x_55 = l_Lean_Elab_wfRecursion___lambda__8(x_15, x_35, x_32, x_18, x_11, x_37, x_33, x_36, x_17, x_12, x_53, x_3, x_4, x_5, x_6, x_7, x_8, x_54); -lean_dec(x_53); -return x_55; +lean_dec(x_36); +x_55 = lean_ctor_get(x_34, 5); +lean_inc(x_55); +x_56 = l_Lean_MessageData_ofExpr(x_55); +x_57 = l_Lean_indentD(x_56); +x_58 = l_Lean_Elab_wfRecursion___closed__6; +x_59 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_59, 1, x_57); +x_60 = l_Lean_Elab_wfRecursion___lambda__4___closed__4; +lean_ctor_set_tag(x_29, 7); +lean_ctor_set(x_29, 1, x_60); +lean_ctor_set(x_29, 0, x_59); +x_61 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_35, x_29, x_3, x_4, x_5, x_6, x_7, x_8, x_54); +x_62 = lean_ctor_get(x_61, 0); +lean_inc(x_62); +x_63 = lean_ctor_get(x_61, 1); +lean_inc(x_63); +lean_dec(x_61); +x_64 = l_Lean_Elab_wfRecursion___lambda__11(x_34, x_35, x_15, x_31, x_18, x_11, x_33, x_17, x_12, x_62, x_3, x_4, x_5, x_6, x_7, x_8, x_63); +lean_dec(x_62); +return x_64; +} +} } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_56 = lean_ctor_get(x_38, 1); -lean_inc(x_56); -lean_dec(x_38); -x_57 = lean_ctor_get(x_35, 5); -lean_inc(x_57); -x_58 = l_Lean_MessageData_ofExpr(x_57); -x_59 = l_Lean_indentD(x_58); -x_60 = l_Lean_Elab_wfRecursion___closed__6; -x_61 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_61, 0, x_60); -lean_ctor_set(x_61, 1, x_59); -x_62 = l_Lean_Elab_wfRecursion___lambda__3___closed__4; -lean_ctor_set_tag(x_30, 7); -lean_ctor_set(x_30, 1, x_62); -lean_ctor_set(x_30, 0, x_61); -x_63 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_37, x_30, x_3, x_4, x_5, x_6, x_7, x_8, x_56); -x_64 = lean_ctor_get(x_63, 0); -lean_inc(x_64); -x_65 = lean_ctor_get(x_63, 1); +lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; uint8_t x_70; +x_65 = lean_ctor_get(x_29, 0); +x_66 = lean_ctor_get(x_29, 1); +lean_inc(x_66); lean_inc(x_65); -lean_dec(x_63); -x_66 = l_Lean_Elab_wfRecursion___lambda__8(x_15, x_35, x_32, x_18, x_11, x_37, x_33, x_36, x_17, x_12, x_64, x_3, x_4, x_5, x_6, x_7, x_8, x_65); -lean_dec(x_64); -return x_66; -} -} -} -else +lean_dec(x_29); +x_67 = l_Lean_Elab_wfRecursion___closed__4; +x_68 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_67, x_3, x_4, x_5, x_6, x_7, x_8, x_30); +x_69 = lean_ctor_get(x_68, 0); +lean_inc(x_69); +x_70 = lean_unbox(x_69); +lean_dec(x_69); +if (x_70 == 0) { -lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; -x_67 = lean_ctor_get(x_30, 0); -x_68 = lean_ctor_get(x_30, 1); -lean_inc(x_68); -lean_inc(x_67); -lean_dec(x_30); -x_69 = l_Lean_Elab_wfRecursion___closed__4; -x_70 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_69, x_3, x_4, x_5, x_6, x_7, x_8, x_31); -x_71 = lean_ctor_get(x_70, 0); +lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_71 = lean_ctor_get(x_68, 1); lean_inc(x_71); -x_72 = lean_unbox(x_71); -lean_dec(x_71); -if (x_72 == 0) -{ -lean_object* x_73; lean_object* x_74; lean_object* x_75; -x_73 = lean_ctor_get(x_70, 1); -lean_inc(x_73); -lean_dec(x_70); -x_74 = lean_box(0); -x_75 = l_Lean_Elab_wfRecursion___lambda__8(x_15, x_67, x_32, x_18, x_11, x_69, x_33, x_68, x_17, x_12, x_74, x_3, x_4, x_5, x_6, x_7, x_8, x_73); -return x_75; +lean_dec(x_68); +x_72 = lean_box(0); +x_73 = l_Lean_Elab_wfRecursion___lambda__11(x_66, x_67, x_15, x_31, x_18, x_11, x_65, x_17, x_12, x_72, x_3, x_4, x_5, x_6, x_7, x_8, x_71); +return x_73; } else { -lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; -x_76 = lean_ctor_get(x_70, 1); +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; +x_74 = lean_ctor_get(x_68, 1); +lean_inc(x_74); +if (lean_is_exclusive(x_68)) { + lean_ctor_release(x_68, 0); + lean_ctor_release(x_68, 1); + x_75 = x_68; +} else { + lean_dec_ref(x_68); + x_75 = lean_box(0); +} +x_76 = lean_ctor_get(x_66, 5); lean_inc(x_76); -if (lean_is_exclusive(x_70)) { - lean_ctor_release(x_70, 0); - lean_ctor_release(x_70, 1); - x_77 = x_70; +x_77 = l_Lean_MessageData_ofExpr(x_76); +x_78 = l_Lean_indentD(x_77); +x_79 = l_Lean_Elab_wfRecursion___closed__6; +if (lean_is_scalar(x_75)) { + x_80 = lean_alloc_ctor(7, 2, 0); } else { - lean_dec_ref(x_70); - x_77 = lean_box(0); + x_80 = x_75; + lean_ctor_set_tag(x_80, 7); } -x_78 = lean_ctor_get(x_67, 5); -lean_inc(x_78); -x_79 = l_Lean_MessageData_ofExpr(x_78); -x_80 = l_Lean_indentD(x_79); -x_81 = l_Lean_Elab_wfRecursion___closed__6; -if (lean_is_scalar(x_77)) { - x_82 = lean_alloc_ctor(7, 2, 0); -} else { - x_82 = x_77; - lean_ctor_set_tag(x_82, 7); -} -lean_ctor_set(x_82, 0, x_81); -lean_ctor_set(x_82, 1, x_80); -x_83 = l_Lean_Elab_wfRecursion___lambda__3___closed__4; -x_84 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_84, 0, x_82); -lean_ctor_set(x_84, 1, x_83); -x_85 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_69, x_84, x_3, x_4, x_5, x_6, x_7, x_8, x_76); -x_86 = lean_ctor_get(x_85, 0); -lean_inc(x_86); -x_87 = lean_ctor_get(x_85, 1); -lean_inc(x_87); -lean_dec(x_85); -x_88 = l_Lean_Elab_wfRecursion___lambda__8(x_15, x_67, x_32, x_18, x_11, x_69, x_33, x_68, x_17, x_12, x_86, x_3, x_4, x_5, x_6, x_7, x_8, x_87); -lean_dec(x_86); -return x_88; +lean_ctor_set(x_80, 0, x_79); +lean_ctor_set(x_80, 1, x_78); +x_81 = l_Lean_Elab_wfRecursion___lambda__4___closed__4; +x_82 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_82, 0, x_80); +lean_ctor_set(x_82, 1, x_81); +x_83 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_67, x_82, x_3, x_4, x_5, x_6, x_7, x_8, x_74); +x_84 = lean_ctor_get(x_83, 0); +lean_inc(x_84); +x_85 = lean_ctor_get(x_83, 1); +lean_inc(x_85); +lean_dec(x_83); +x_86 = l_Lean_Elab_wfRecursion___lambda__11(x_66, x_67, x_15, x_31, x_18, x_11, x_65, x_17, x_12, x_84, x_3, x_4, x_5, x_6, x_7, x_8, x_85); +lean_dec(x_84); +return x_86; } } } else { -uint8_t x_89; +uint8_t x_87; lean_dec(x_15); lean_dec(x_12); lean_dec(x_8); @@ -3275,29 +3632,29 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_89 = !lean_is_exclusive(x_27); -if (x_89 == 0) +x_87 = !lean_is_exclusive(x_27); +if (x_87 == 0) { return x_27; } else { -lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_90 = lean_ctor_get(x_27, 0); -x_91 = lean_ctor_get(x_27, 1); -lean_inc(x_91); -lean_inc(x_90); +lean_object* x_88; lean_object* x_89; lean_object* x_90; +x_88 = lean_ctor_get(x_27, 0); +x_89 = lean_ctor_get(x_27, 1); +lean_inc(x_89); +lean_inc(x_88); lean_dec(x_27); -x_92 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_92, 0, x_90); -lean_ctor_set(x_92, 1, x_91); -return x_92; +x_90 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_90, 0, x_88); +lean_ctor_set(x_90, 1, x_89); +return x_90; } } } else { -uint8_t x_93; +uint8_t x_91; lean_dec(x_12); lean_dec(x_8); lean_dec(x_7); @@ -3305,23 +3662,23 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_93 = !lean_is_exclusive(x_14); -if (x_93 == 0) +x_91 = !lean_is_exclusive(x_14); +if (x_91 == 0) { return x_14; } else { -lean_object* x_94; lean_object* x_95; lean_object* x_96; -x_94 = lean_ctor_get(x_14, 0); -x_95 = lean_ctor_get(x_14, 1); -lean_inc(x_95); -lean_inc(x_94); +lean_object* x_92; lean_object* x_93; lean_object* x_94; +x_92 = lean_ctor_get(x_14, 0); +x_93 = lean_ctor_get(x_14, 1); +lean_inc(x_93); +lean_inc(x_92); lean_dec(x_14); -x_96 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_96, 0, x_94); -lean_ctor_set(x_96, 1, x_95); -return x_96; +x_94 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_94, 0, x_92); +lean_ctor_set(x_94, 1, x_93); +return x_94; } } } @@ -3405,7 +3762,7 @@ lean_dec(x_1); return x_16; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { size_t x_11; size_t x_12; lean_object* x_13; @@ -3413,30 +3770,31 @@ x_11 = lean_unbox_usize(x_1); lean_dec(x_1); x_12 = lean_unbox_usize(x_2); lean_dec(x_2); -x_13 = l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__6(x_11, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_13 = l_Array_mapMUnsafe_map___at_Lean_Elab_wfRecursion___spec__8(x_11, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_5); lean_dec(x_4); return x_13; } } -LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { _start: { -size_t x_15; size_t x_16; lean_object* x_17; -x_15 = lean_unbox_usize(x_5); -lean_dec(x_5); +size_t x_16; size_t x_17; lean_object* x_18; x_16 = lean_unbox_usize(x_6); lean_dec(x_6); -x_17 = l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__8(x_1, x_2, x_3, x_4, x_15, x_16, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_17 = lean_unbox_usize(x_7); +lean_dec(x_7); +x_18 = l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9(x_1, x_2, x_3, x_4, x_5, x_16, x_17, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +lean_dec(x_10); lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_4); +lean_dec(x_5); +lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -return x_17; +return x_18; } } -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_wfRecursion___spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_wfRecursion___spec__10___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { size_t x_5; size_t x_6; size_t x_7; uint8_t x_8; lean_object* x_9; @@ -3446,7 +3804,7 @@ x_6 = lean_unbox_usize(x_3); lean_dec(x_3); x_7 = lean_unbox_usize(x_4); lean_dec(x_4); -x_8 = l_Array_anyMUnsafe_any___at_Lean_Elab_wfRecursion___spec__9(x_5, x_2, x_6, x_7); +x_8 = l_Array_anyMUnsafe_any___at_Lean_Elab_wfRecursion___spec__10(x_5, x_2, x_6, x_7); lean_dec(x_2); x_9 = lean_box(x_8); return x_9; @@ -3466,45 +3824,14 @@ lean_dec(x_2); return x_14; } } -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__2___boxed(lean_object** _args) { -lean_object* x_1 = _args[0]; -lean_object* x_2 = _args[1]; -lean_object* x_3 = _args[2]; -lean_object* x_4 = _args[3]; -lean_object* x_5 = _args[4]; -lean_object* x_6 = _args[5]; -lean_object* x_7 = _args[6]; -lean_object* x_8 = _args[7]; -lean_object* x_9 = _args[8]; -lean_object* x_10 = _args[9]; -lean_object* x_11 = _args[10]; -lean_object* x_12 = _args[11]; -lean_object* x_13 = _args[12]; -lean_object* x_14 = _args[13]; -lean_object* x_15 = _args[14]; -lean_object* x_16 = _args[15]; -lean_object* x_17 = _args[16]; -lean_object* x_18 = _args[17]; -lean_object* x_19 = _args[18]; -lean_object* x_20 = _args[19]; -lean_object* x_21 = _args[20]; -lean_object* x_22 = _args[21]; -lean_object* x_23 = _args[22]; -lean_object* x_24 = _args[23]; +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -size_t x_25; size_t x_26; uint8_t x_27; uint8_t x_28; lean_object* x_29; -x_25 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_26 = lean_unbox_usize(x_3); +lean_object* x_9; +x_9 = l_Lean_Elab_wfRecursion___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_3); -x_27 = lean_unbox(x_9); -lean_dec(x_9); -x_28 = lean_unbox(x_11); -lean_dec(x_11); -x_29 = l_Lean_Elab_wfRecursion___lambda__2(x_1, x_25, x_26, x_4, x_5, x_6, x_7, x_8, x_27, x_10, x_28, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24); -lean_dec(x_17); -return x_29; +lean_dec(x_2); +return x_9; } } LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__3___boxed(lean_object** _args) { @@ -3526,25 +3853,19 @@ lean_object* x_15 = _args[14]; lean_object* x_16 = _args[15]; lean_object* x_17 = _args[16]; lean_object* x_18 = _args[17]; -lean_object* x_19 = _args[18]; -lean_object* x_20 = _args[19]; -lean_object* x_21 = _args[20]; -lean_object* x_22 = _args[21]; -lean_object* x_23 = _args[22]; -lean_object* x_24 = _args[23]; _start: { -size_t x_25; size_t x_26; uint8_t x_27; uint8_t x_28; lean_object* x_29; -x_25 = lean_unbox_usize(x_3); +size_t x_19; size_t x_20; uint8_t x_21; lean_object* x_22; +x_19 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_20 = lean_unbox_usize(x_3); lean_dec(x_3); -x_26 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_27 = lean_unbox(x_9); -lean_dec(x_9); -x_28 = lean_unbox(x_11); +x_21 = lean_unbox(x_10); +lean_dec(x_10); +x_22 = l_Lean_Elab_wfRecursion___lambda__3(x_1, x_19, x_20, x_4, x_5, x_6, x_7, x_8, x_9, x_21, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); lean_dec(x_11); -x_29 = l_Lean_Elab_wfRecursion___lambda__3(x_1, x_2, x_25, x_26, x_5, x_6, x_7, x_8, x_27, x_10, x_28, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24); -return x_29; +lean_dec(x_1); +return x_22; } } LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__4___boxed(lean_object** _args) { @@ -3566,29 +3887,18 @@ lean_object* x_15 = _args[14]; lean_object* x_16 = _args[15]; lean_object* x_17 = _args[16]; lean_object* x_18 = _args[17]; -lean_object* x_19 = _args[18]; -lean_object* x_20 = _args[19]; -lean_object* x_21 = _args[20]; -lean_object* x_22 = _args[21]; -lean_object* x_23 = _args[22]; -lean_object* x_24 = _args[23]; -lean_object* x_25 = _args[24]; -lean_object* x_26 = _args[25]; _start: { -size_t x_27; size_t x_28; uint8_t x_29; uint8_t x_30; lean_object* x_31; -x_27 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_28 = lean_unbox_usize(x_3); +size_t x_19; size_t x_20; uint8_t x_21; lean_object* x_22; +x_19 = lean_unbox_usize(x_3); lean_dec(x_3); -x_29 = lean_unbox(x_9); -lean_dec(x_9); -x_30 = lean_unbox(x_11); -lean_dec(x_11); -x_31 = l_Lean_Elab_wfRecursion___lambda__4(x_1, x_27, x_28, x_4, x_5, x_6, x_7, x_8, x_29, x_10, x_30, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25, x_26); -lean_dec(x_19); -lean_dec(x_1); -return x_31; +x_20 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_21 = lean_unbox(x_10); +lean_dec(x_10); +x_22 = l_Lean_Elab_wfRecursion___lambda__4(x_1, x_2, x_19, x_20, x_5, x_6, x_7, x_8, x_9, x_21, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +lean_dec(x_2); +return x_22; } } LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__5___boxed(lean_object** _args) { @@ -3613,38 +3923,70 @@ lean_object* x_18 = _args[17]; lean_object* x_19 = _args[18]; lean_object* x_20 = _args[19]; lean_object* x_21 = _args[20]; -lean_object* x_22 = _args[21]; -lean_object* x_23 = _args[22]; -lean_object* x_24 = _args[23]; -lean_object* x_25 = _args[24]; _start: { -size_t x_26; size_t x_27; uint8_t x_28; uint8_t x_29; lean_object* x_30; -x_26 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_27 = lean_unbox_usize(x_2); +size_t x_22; size_t x_23; uint8_t x_24; lean_object* x_25; +x_22 = lean_unbox_usize(x_2); lean_dec(x_2); -x_28 = lean_unbox(x_7); -lean_dec(x_7); -x_29 = lean_unbox(x_9); -lean_dec(x_9); -x_30 = l_Lean_Elab_wfRecursion___lambda__5(x_26, x_27, x_3, x_4, x_5, x_6, x_28, x_8, x_29, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25); -return x_30; +x_23 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_24 = lean_unbox(x_10); +lean_dec(x_10); +x_25 = l_Lean_Elab_wfRecursion___lambda__5(x_1, x_22, x_23, x_4, x_5, x_6, x_7, x_8, x_9, x_24, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21); +lean_dec(x_14); +lean_dec(x_1); +return x_25; } } -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__6___boxed(lean_object** _args) { +lean_object* x_1 = _args[0]; +lean_object* x_2 = _args[1]; +lean_object* x_3 = _args[2]; +lean_object* x_4 = _args[3]; +lean_object* x_5 = _args[4]; +lean_object* x_6 = _args[5]; +lean_object* x_7 = _args[6]; +lean_object* x_8 = _args[7]; +lean_object* x_9 = _args[8]; +lean_object* x_10 = _args[9]; +lean_object* x_11 = _args[10]; +lean_object* x_12 = _args[11]; +lean_object* x_13 = _args[12]; +lean_object* x_14 = _args[13]; +lean_object* x_15 = _args[14]; +lean_object* x_16 = _args[15]; +lean_object* x_17 = _args[16]; +lean_object* x_18 = _args[17]; +lean_object* x_19 = _args[18]; +lean_object* x_20 = _args[19]; _start: { -size_t x_16; lean_object* x_17; -x_16 = lean_unbox_usize(x_7); -lean_dec(x_7); -x_17 = l_Lean_Elab_wfRecursion___lambda__6(x_1, x_2, x_3, x_4, x_5, x_6, x_16, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +size_t x_21; size_t x_22; uint8_t x_23; lean_object* x_24; +x_21 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_22 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_23 = lean_unbox(x_8); lean_dec(x_8); +x_24 = l_Lean_Elab_wfRecursion___lambda__6(x_21, x_22, x_3, x_4, x_5, x_6, x_7, x_23, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20); +return x_24; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +size_t x_14; lean_object* x_15; +x_14 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_15 = l_Lean_Elab_wfRecursion___lambda__7(x_1, x_2, x_3, x_4, x_14, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); lean_dec(x_6); -return x_17; +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_15; } } -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__7___boxed(lean_object** _args) { +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__8___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -3665,16 +4007,17 @@ lean_object* x_17 = _args[16]; _start: { size_t x_18; size_t x_19; lean_object* x_20; -x_18 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_19 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_20 = l_Lean_Elab_wfRecursion___lambda__7(x_1, x_2, x_3, x_18, x_19, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); -lean_dec(x_9); +x_18 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_19 = lean_unbox_usize(x_7); +lean_dec(x_7); +x_20 = l_Lean_Elab_wfRecursion___lambda__8(x_1, x_2, x_3, x_4, x_5, x_18, x_19, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +lean_dec(x_10); +lean_dec(x_8); return x_20; } } -LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__8___boxed(lean_object** _args) { +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__9___boxed(lean_object** _args) { lean_object* x_1 = _args[0]; lean_object* x_2 = _args[1]; lean_object* x_3 = _args[2]; @@ -3700,13 +4043,76 @@ x_19 = lean_unbox_usize(x_4); lean_dec(x_4); x_20 = lean_unbox_usize(x_5); lean_dec(x_5); -x_21 = l_Lean_Elab_wfRecursion___lambda__8(x_1, x_2, x_3, x_19, x_20, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); -lean_dec(x_11); +x_21 = l_Lean_Elab_wfRecursion___lambda__9(x_1, x_2, x_3, x_19, x_20, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); lean_dec(x_9); return x_21; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__1() { +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__10___boxed(lean_object** _args) { +lean_object* x_1 = _args[0]; +lean_object* x_2 = _args[1]; +lean_object* x_3 = _args[2]; +lean_object* x_4 = _args[3]; +lean_object* x_5 = _args[4]; +lean_object* x_6 = _args[5]; +lean_object* x_7 = _args[6]; +lean_object* x_8 = _args[7]; +lean_object* x_9 = _args[8]; +lean_object* x_10 = _args[9]; +lean_object* x_11 = _args[10]; +lean_object* x_12 = _args[11]; +lean_object* x_13 = _args[12]; +lean_object* x_14 = _args[13]; +lean_object* x_15 = _args[14]; +lean_object* x_16 = _args[15]; +lean_object* x_17 = _args[16]; +lean_object* x_18 = _args[17]; +lean_object* x_19 = _args[18]; +_start: +{ +size_t x_20; size_t x_21; lean_object* x_22; +x_20 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_21 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_22 = l_Lean_Elab_wfRecursion___lambda__10(x_1, x_2, x_3, x_20, x_21, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19); +lean_dec(x_12); +lean_dec(x_9); +return x_22; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_wfRecursion___lambda__11___boxed(lean_object** _args) { +lean_object* x_1 = _args[0]; +lean_object* x_2 = _args[1]; +lean_object* x_3 = _args[2]; +lean_object* x_4 = _args[3]; +lean_object* x_5 = _args[4]; +lean_object* x_6 = _args[5]; +lean_object* x_7 = _args[6]; +lean_object* x_8 = _args[7]; +lean_object* x_9 = _args[8]; +lean_object* x_10 = _args[9]; +lean_object* x_11 = _args[10]; +lean_object* x_12 = _args[11]; +lean_object* x_13 = _args[12]; +lean_object* x_14 = _args[13]; +lean_object* x_15 = _args[14]; +lean_object* x_16 = _args[15]; +lean_object* x_17 = _args[16]; +_start: +{ +size_t x_18; size_t x_19; lean_object* x_20; +x_18 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_19 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_20 = l_Lean_Elab_wfRecursion___lambda__11(x_1, x_2, x_3, x_4, x_18, x_19, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +lean_dec(x_10); +lean_dec(x_8); +return x_20; +} +} +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__1() { _start: { lean_object* x_1; @@ -3714,27 +4120,27 @@ x_1 = lean_mk_string_unchecked("Lean", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__2() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__1; +x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__3() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__2; +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__2; x_2 = l_Lean_Elab_wfRecursion___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__4() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__4() { _start: { lean_object* x_1; @@ -3742,17 +4148,17 @@ x_1 = lean_mk_string_unchecked("initFn", 6, 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__5() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__3; -x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__4; +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__3; +x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__4; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__6() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__6() { _start: { lean_object* x_1; @@ -3760,37 +4166,37 @@ x_1 = lean_mk_string_unchecked("_@", 2, 2); return x_1; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__7() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__5; -x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__6; +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__5; +x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__6; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__8() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__7; -x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__1; +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__7; +x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__9() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__8; +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__8; x_2 = l_Lean_Elab_wfRecursion___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__10() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__10() { _start: { lean_object* x_1; @@ -3798,17 +4204,17 @@ x_1 = lean_mk_string_unchecked("PreDefinition", 13, 13); return x_1; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__11() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__9; -x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__10; +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__9; +x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__10; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__12() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__12() { _start: { lean_object* x_1; @@ -3816,17 +4222,17 @@ x_1 = lean_mk_string_unchecked("WF", 2, 2); return x_1; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__13() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__11; -x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__12; +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__11; +x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__12; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__14() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__14() { _start: { lean_object* x_1; @@ -3834,17 +4240,17 @@ x_1 = lean_mk_string_unchecked("Main", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__15() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__13; -x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__14; +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__13; +x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__14; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__16() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__16() { _start: { lean_object* x_1; @@ -3852,33 +4258,33 @@ x_1 = lean_mk_string_unchecked("_hyg", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__17() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__17() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__15; -x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__16; +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__15; +x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__16; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__18() { +static lean_object* _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__18() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__17; -x_2 = lean_unsigned_to_nat(1475u); +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__17; +x_2 = lean_unsigned_to_nat(1698u); x_3 = l_Lean_Name_num___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; x_2 = l_Lean_Elab_wfRecursion___closed__4; x_3 = 0; -x_4 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__18; +x_4 = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__18; x_5 = l_Lean_registerTraceClass(x_2, x_3, x_4, x_1); return x_5; } @@ -3940,26 +4346,32 @@ l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__5___closed__3 = lean_mark_persistent(l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__5___closed__3); l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__5___closed__4 = _init_l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__5___closed__4(); lean_mark_persistent(l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__5___closed__4); -l_Lean_Elab_wfRecursion___lambda__3___closed__1 = _init_l_Lean_Elab_wfRecursion___lambda__3___closed__1(); -lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__3___closed__1); -l_Lean_Elab_wfRecursion___lambda__3___closed__2 = _init_l_Lean_Elab_wfRecursion___lambda__3___closed__2(); -lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__3___closed__2); -l_Lean_Elab_wfRecursion___lambda__3___closed__3 = _init_l_Lean_Elab_wfRecursion___lambda__3___closed__3(); -lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__3___closed__3); -l_Lean_Elab_wfRecursion___lambda__3___closed__4 = _init_l_Lean_Elab_wfRecursion___lambda__3___closed__4(); -lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__3___closed__4); -l_Lean_Elab_wfRecursion___lambda__5___closed__1 = _init_l_Lean_Elab_wfRecursion___lambda__5___closed__1(); -lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__5___closed__1); -l_Lean_Elab_wfRecursion___lambda__5___closed__2 = _init_l_Lean_Elab_wfRecursion___lambda__5___closed__2(); -lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__5___closed__2); -l_Lean_Elab_wfRecursion___lambda__7___closed__1 = _init_l_Lean_Elab_wfRecursion___lambda__7___closed__1(); -lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__7___closed__1); -l_Lean_Elab_wfRecursion___lambda__7___closed__2 = _init_l_Lean_Elab_wfRecursion___lambda__7___closed__2(); -lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__7___closed__2); -l_Lean_Elab_wfRecursion___lambda__7___closed__3 = _init_l_Lean_Elab_wfRecursion___lambda__7___closed__3(); -lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__7___closed__3); -l_Lean_Elab_wfRecursion___lambda__7___closed__4 = _init_l_Lean_Elab_wfRecursion___lambda__7___closed__4(); -lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__7___closed__4); +l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9___closed__1 = _init_l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9___closed__1(); +lean_mark_persistent(l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_wfRecursion___spec__9___closed__1); +l_Lean_Elab_wfRecursion___lambda__4___closed__1 = _init_l_Lean_Elab_wfRecursion___lambda__4___closed__1(); +lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__4___closed__1); +l_Lean_Elab_wfRecursion___lambda__4___closed__2 = _init_l_Lean_Elab_wfRecursion___lambda__4___closed__2(); +lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__4___closed__2); +l_Lean_Elab_wfRecursion___lambda__4___closed__3 = _init_l_Lean_Elab_wfRecursion___lambda__4___closed__3(); +lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__4___closed__3); +l_Lean_Elab_wfRecursion___lambda__4___closed__4 = _init_l_Lean_Elab_wfRecursion___lambda__4___closed__4(); +lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__4___closed__4); +l_Lean_Elab_wfRecursion___lambda__6___closed__1 = _init_l_Lean_Elab_wfRecursion___lambda__6___closed__1(); +lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__6___closed__1); +l_Lean_Elab_wfRecursion___lambda__6___closed__2 = _init_l_Lean_Elab_wfRecursion___lambda__6___closed__2(); +lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__6___closed__2); +l_Lean_Elab_wfRecursion___lambda__9___closed__1 = _init_l_Lean_Elab_wfRecursion___lambda__9___closed__1(); +lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__9___closed__1); +l_Lean_Elab_wfRecursion___lambda__9___closed__2 = _init_l_Lean_Elab_wfRecursion___lambda__9___closed__2(); +lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__9___closed__2); +l_Lean_Elab_wfRecursion___lambda__9___closed__3 = _init_l_Lean_Elab_wfRecursion___lambda__9___closed__3(); +lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__9___closed__3); +l_Lean_Elab_wfRecursion___lambda__9___closed__4 = _init_l_Lean_Elab_wfRecursion___lambda__9___closed__4(); +lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__9___closed__4); +l_Lean_Elab_wfRecursion___lambda__11___closed__1 = _init_l_Lean_Elab_wfRecursion___lambda__11___closed__1(); +lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__11___closed__1); +l_Lean_Elab_wfRecursion___lambda__11___closed__2 = _init_l_Lean_Elab_wfRecursion___lambda__11___closed__2(); +lean_mark_persistent(l_Lean_Elab_wfRecursion___lambda__11___closed__2); l_Lean_Elab_wfRecursion___closed__1 = _init_l_Lean_Elab_wfRecursion___closed__1(); lean_mark_persistent(l_Lean_Elab_wfRecursion___closed__1); l_Lean_Elab_wfRecursion___closed__2 = _init_l_Lean_Elab_wfRecursion___closed__2(); @@ -3974,43 +4386,43 @@ l_Lean_Elab_wfRecursion___closed__6 = _init_l_Lean_Elab_wfRecursion___closed__6( lean_mark_persistent(l_Lean_Elab_wfRecursion___closed__6); l_Lean_Elab_wfRecursion___boxed__const__1 = _init_l_Lean_Elab_wfRecursion___boxed__const__1(); lean_mark_persistent(l_Lean_Elab_wfRecursion___boxed__const__1); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__1(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__1); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__2 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__2(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__2); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__3 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__3(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__3); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__4 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__4(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__4); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__5 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__5(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__5); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__6 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__6(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__6); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__7 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__7(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__7); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__8 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__8(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__8); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__9 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__9(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__9); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__10 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__10(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__10); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__11 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__11(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__11); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__12 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__12(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__12); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__13 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__13(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__13); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__14 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__14(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__14); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__15 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__15(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__15); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__16 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__16(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__16); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__17 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__17(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__17); -l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__18 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__18(); -lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475____closed__18); -if (builtin) {res = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1475_(lean_io_mk_world()); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__1 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__1(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__1); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__2 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__2(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__2); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__3 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__3(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__3); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__4 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__4(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__4); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__5 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__5(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__5); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__6 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__6(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__6); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__7 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__7(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__7); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__8 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__8(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__8); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__9 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__9(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__9); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__10 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__10(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__10); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__11 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__11(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__11); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__12 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__12(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__12); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__13 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__13(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__13); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__14 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__14(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__14); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__15 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__15(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__15); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__16 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__16(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__16); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__17 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__17(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__17); +l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__18 = _init_l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__18(); +lean_mark_persistent(l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698____closed__18); +if (builtin) {res = l_Lean_Elab_initFn____x40_Lean_Elab_PreDefinition_WF_Main___hyg_1698_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Unfold.c b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Unfold.c index a17f52f3e7..b6ab433ec0 100644 --- a/stage0/stdlib/Lean/Elab/PreDefinition/WF/Unfold.c +++ b/stage0/stdlib/Lean/Elab/PreDefinition/WF/Unfold.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Elab.PreDefinition.WF.Unfold -// Imports: Lean.Elab.PreDefinition.Basic Lean.Elab.PreDefinition.Eqns +// Imports: Lean.Elab.PreDefinition.Basic Lean.Elab.PreDefinition.Eqns Lean.Meta.Tactic.Apply #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -13,11 +13,12 @@ #ifdef __cplusplus extern "C" { #endif +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__17; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__23; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__13; -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__5; +static lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__2; static lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__1___closed__2; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__4___closed__6; lean_object* l_Lean_Option_set___at_Lean_Environment_realizeConst___spec__3(lean_object*, lean_object*, uint8_t); @@ -28,12 +29,14 @@ static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_W LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__1___closed__1; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__32; LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnfoldEq(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_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__7; +lean_object* l_Lean_indentD(lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__26; lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__31; @@ -41,10 +44,13 @@ uint64_t lean_uint64_lor(uint64_t, uint64_t); uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isApp(lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__13; +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__13; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__12; +static lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__4; lean_object* l_Lean_Elab_Eqns_simpMatch_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__9; uint8_t lean_usize_dec_eq(size_t, size_t); +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__5(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__18; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__25; lean_object* l_Lean_MVarId_getType_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -53,8 +59,10 @@ LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_PreDefinition_WF_U LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_tactic_hygienic; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__6; +static lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__2; lean_object* l_Lean_Elab_Eqns_tryContradiction(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___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_WF_mkUnfoldEq___lambda__1___closed__3; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__10; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -62,26 +70,35 @@ lean_object* l_Nat_nextPowerOfTwo_go(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_cleanupAnnotations(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_maxRecDepth; lean_object* l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__15; lean_object* l_Lean_Expr_appArg_x21(lean_object*); +static lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__3; lean_object* l_Lean_Kernel_enableDiag(lean_object*, uint8_t); +static lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__7; lean_object* l_List_mapTR_loop___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*); uint8_t l_Lean_Kernel_isDiagnosticsEnabled(lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__4___closed__1; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__3___closed__2; lean_object* l_Lean_MVarId_assign___at_Lean_Meta_getLevel___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__9; +static lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); -static lean_object* l_Lean_Elab_WF_mkUnfoldEq___closed__1; -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__4; +static lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__2; +static lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__2; +static lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__1; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__3; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__30; lean_object* lean_st_ref_take(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__17; +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463_(lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__20; lean_object* l_Lean_Meta_forallBoundedTelescope___at_Lean_Meta_arrowDomainsN___spec__6___rarg(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint64_t lean_uint64_shift_right(uint64_t, uint64_t); @@ -89,38 +106,41 @@ static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_W static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__2; lean_object* l_Lean_Option_get___at_Lean_profiler_threshold_getSecs___spec__1(lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Meta_exactlyOne___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__1; lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__3___closed__1; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__4; +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__12; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__10; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__29; lean_object* l_Lean_MessageData_ofFormat(lean_object*); -static uint64_t l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__38; lean_object* l_Lean_MVarId_withContext___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__12; +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__18; +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__5; lean_object* l_Lean_Expr_appArg(lean_object*, lean_object*); lean_object* l_Lean_Meta_delta_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__19; +static lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkEqTrans(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l_List_isEmpty___rarg(lean_object*); +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__11; lean_object* l_Lean_Meta_mkEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__1; lean_object* l_Lean_Expr_appFnCleanup(lean_object*, lean_object*); lean_object* l_Lean_Name_num___override(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__3; -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__16; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__2___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___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__12; -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__17; extern lean_object* l_Lean_levelZero; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__11; extern lean_object* l_Lean_instInhabitedExpr; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__15; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__34; -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__7; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__4___closed__3; +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__2; lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__7; @@ -128,39 +148,43 @@ static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_W static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__16; lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__19; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__21; lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_PrettyPrinter_Delaborator_returnsPi___spec__1___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Simp_mkContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__9; uint8_t l_Lean_Option_get___at___private_Lean_Util_Profile_0__Lean_get__profiler___spec__1(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__35; +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__6; lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_diagnostics; lean_object* l_Lean_Expr_appFn_x21(lean_object*); lean_object* l_Lean_Elab_Eqns_simpIf_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__24; lean_object* l_Lean_Meta_splitTarget_x3f(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__7; lean_object* l_Lean_MessageData_ofConstName(lean_object*, uint8_t); -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__14; lean_object* l_Lean_MessageData_ofExpr(lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__27; -static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__36; +static uint64_t l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__36; +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__8; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__4___closed__4; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__11; +static lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__9; +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__4; +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__15; -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__8; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__19; -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__3; lean_object* l_Lean_Expr_constLevels_x21(lean_object*); lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*); static lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__3___closed__1; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__5; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__2(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); +lean_object* l_Lean_Meta_mapErrorImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); lean_object* l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassApp_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__2; @@ -168,43 +192,44 @@ LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__3(lean_object*, uin lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*); lean_object* l_Lean_Meta_Simp_Result_addExtraArgs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__1; +static lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__3; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__3___closed__4; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__3___closed__5; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnfoldEq___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*); -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__2; uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__1___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__6; +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__14; lean_object* lean_nat_sub(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__5; lean_object* l_Lean_Expr_getAppFn(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Simp_mkCongr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__2; -static lean_object* l_Lean_Elab_WF_mkUnfoldEq___closed__2; uint64_t lean_uint64_shift_left(uint64_t, uint64_t); LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__10; lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__28; -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__1; extern lean_object* l_Lean_Meta_unfoldThmSuffix; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__4; -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__10; LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__3___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___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__14; -lean_object* l_Lean_Elab_Eqns_whnfReducibleLHS_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__1; uint8_t l_Lean_Meta_TransparencyMode_lt(uint8_t, uint8_t); size_t lean_usize_add(size_t, size_t); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__4___closed__2; extern lean_object* l_Lean_Meta_Simp_defaultMaxSteps; -LEAN_EXPORT lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153_(lean_object*); -static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__37; -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__11; +lean_object* l_Lean_MVarId_applyConst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__8; lean_object* lean_array_uget(lean_object*, size_t); lean_object* l_Lean_Meta_casesOnStuckLHS_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; +lean_object* l_Lean_throwError___at_Lean_Meta_instantiateForallWithParamInfos___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_simpTargetStar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -212,14 +237,13 @@ lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_o static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__13; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Eqns_tryURefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__18; lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__4___closed__5; -static lean_object* l_Lean_Elab_WF_mkUnfoldEq___closed__3; lean_object* lean_array_get_size(lean_object*); lean_object* lean_array_get(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_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3___closed__1; uint8_t lean_nat_dec_le(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__33; 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*); @@ -231,7 +255,6 @@ lean_object* l_Lean_Meta_applySimpResultToTarget(lean_object*, lean_object*, lea static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__8; static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__7; lean_object* l_Lean_Elab_Eqns_deltaLHS(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__6; lean_object* l_Lean_Expr_mvarId_x21(lean_object*); static lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__3___closed__3; lean_object* l_Lean_MessageData_ofName(lean_object*); @@ -669,7 +692,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__3; x_2 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__4; -x_3 = lean_unsigned_to_nat(16u); +x_3 = lean_unsigned_to_nat(17u); x_4 = lean_unsigned_to_nat(41u); x_5 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__5; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -1635,7 +1658,7 @@ static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_ _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("whnfReducibleLHS!", 17, 17); +x_1 = lean_mk_string_unchecked("simpIf!", 7, 7); return x_1; } } @@ -1652,7 +1675,7 @@ static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_ _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("simpIf!", 7, 7); +x_1 = lean_mk_string_unchecked("simpMatch!", 10, 10); return x_1; } } @@ -1669,32 +1692,32 @@ static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_ _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("simpMatch!", 10, 10); +x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__4___boxed), 6, 0); return x_1; } } static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__32() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__31; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("contradiction!", 14, 14); +return x_1; } } static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__33() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__4___boxed), 6, 0); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__32; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; } } static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__34() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("contradiction!", 14, 14); +x_1 = lean_mk_string_unchecked("refl!", 5, 5); return x_1; } } @@ -1707,24 +1730,7 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__36() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("refl!", 5, 5); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__37() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__36; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static uint64_t _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__38() { +static uint64_t _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__36() { _start: { uint8_t x_1; uint64_t x_2; @@ -1736,74 +1742,141 @@ return x_2; LEAN_EXPORT lean_object* l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -uint8_t x_10; lean_object* x_11; lean_object* x_362; uint64_t x_363; uint8_t x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; lean_object* x_369; lean_object* x_370; uint8_t x_371; -x_362 = lean_ctor_get(x_5, 0); -lean_inc(x_362); -x_363 = lean_ctor_get_uint64(x_5, sizeof(void*)*7); -x_364 = lean_ctor_get_uint8(x_5, sizeof(void*)*7 + 8); -x_365 = lean_ctor_get(x_5, 1); +uint8_t x_10; lean_object* x_11; lean_object* x_343; uint64_t x_344; uint8_t x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; lean_object* x_349; lean_object* x_350; lean_object* x_351; uint8_t x_352; +x_343 = lean_ctor_get(x_5, 0); +lean_inc(x_343); +x_344 = lean_ctor_get_uint64(x_5, sizeof(void*)*7); +x_345 = lean_ctor_get_uint8(x_5, sizeof(void*)*7 + 8); +x_346 = lean_ctor_get(x_5, 1); +lean_inc(x_346); +x_347 = lean_ctor_get(x_5, 2); +lean_inc(x_347); +x_348 = lean_ctor_get(x_5, 3); +lean_inc(x_348); +x_349 = lean_ctor_get(x_5, 4); +lean_inc(x_349); +x_350 = lean_ctor_get(x_5, 5); +lean_inc(x_350); +x_351 = lean_ctor_get(x_5, 6); +lean_inc(x_351); +x_352 = !lean_is_exclusive(x_343); +if (x_352 == 0) +{ +uint8_t x_353; uint8_t x_354; uint8_t x_355; uint8_t x_356; uint8_t x_357; uint64_t x_358; uint64_t x_359; uint64_t x_360; +x_353 = lean_ctor_get_uint8(x_5, sizeof(void*)*7 + 9); +x_354 = lean_ctor_get_uint8(x_5, sizeof(void*)*7 + 10); +x_355 = lean_ctor_get_uint8(x_343, 9); +x_356 = 0; +x_357 = l_Lean_Meta_TransparencyMode_lt(x_355, x_356); +x_358 = 2; +x_359 = lean_uint64_shift_right(x_344, x_358); +x_360 = lean_uint64_shift_left(x_359, x_358); +if (x_357 == 0) +{ +uint64_t x_361; uint64_t x_362; lean_object* x_363; lean_object* x_364; +x_361 = l_Lean_Meta_TransparencyMode_toUInt64(x_355); +x_362 = lean_uint64_lor(x_360, x_361); +x_363 = lean_alloc_ctor(0, 7, 11); +lean_ctor_set(x_363, 0, x_343); +lean_ctor_set(x_363, 1, x_346); +lean_ctor_set(x_363, 2, x_347); +lean_ctor_set(x_363, 3, x_348); +lean_ctor_set(x_363, 4, x_349); +lean_ctor_set(x_363, 5, x_350); +lean_ctor_set(x_363, 6, x_351); +lean_ctor_set_uint64(x_363, sizeof(void*)*7, x_362); +lean_ctor_set_uint8(x_363, sizeof(void*)*7 + 8, x_345); +lean_ctor_set_uint8(x_363, sizeof(void*)*7 + 9, x_353); +lean_ctor_set_uint8(x_363, sizeof(void*)*7 + 10, x_354); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_1); +x_364 = l_Lean_Elab_Eqns_tryURefl(x_1, x_363, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_364) == 0) +{ +lean_object* x_365; lean_object* x_366; uint8_t x_367; +x_365 = lean_ctor_get(x_364, 0); lean_inc(x_365); -x_366 = lean_ctor_get(x_5, 2); +x_366 = lean_ctor_get(x_364, 1); lean_inc(x_366); -x_367 = lean_ctor_get(x_5, 3); -lean_inc(x_367); -x_368 = lean_ctor_get(x_5, 4); -lean_inc(x_368); -x_369 = lean_ctor_get(x_5, 5); -lean_inc(x_369); -x_370 = lean_ctor_get(x_5, 6); +lean_dec(x_364); +x_367 = lean_unbox(x_365); +lean_dec(x_365); +x_10 = x_367; +x_11 = x_366; +goto block_342; +} +else +{ +uint8_t x_368; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_368 = !lean_is_exclusive(x_364); +if (x_368 == 0) +{ +return x_364; +} +else +{ +lean_object* x_369; lean_object* x_370; lean_object* x_371; +x_369 = lean_ctor_get(x_364, 0); +x_370 = lean_ctor_get(x_364, 1); lean_inc(x_370); -x_371 = !lean_is_exclusive(x_362); -if (x_371 == 0) +lean_inc(x_369); +lean_dec(x_364); +x_371 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_371, 0, x_369); +lean_ctor_set(x_371, 1, x_370); +return x_371; +} +} +} +else { -uint8_t x_372; uint8_t x_373; uint8_t x_374; uint8_t x_375; uint8_t x_376; uint64_t x_377; uint64_t x_378; uint64_t x_379; -x_372 = lean_ctor_get_uint8(x_5, sizeof(void*)*7 + 9); -x_373 = lean_ctor_get_uint8(x_5, sizeof(void*)*7 + 10); -x_374 = lean_ctor_get_uint8(x_362, 9); -x_375 = 0; -x_376 = l_Lean_Meta_TransparencyMode_lt(x_374, x_375); -x_377 = 2; -x_378 = lean_uint64_shift_right(x_363, x_377); -x_379 = lean_uint64_shift_left(x_378, x_377); -if (x_376 == 0) -{ -uint64_t x_380; uint64_t x_381; lean_object* x_382; lean_object* x_383; -x_380 = l_Lean_Meta_TransparencyMode_toUInt64(x_374); -x_381 = lean_uint64_lor(x_379, x_380); -x_382 = lean_alloc_ctor(0, 7, 11); -lean_ctor_set(x_382, 0, x_362); -lean_ctor_set(x_382, 1, x_365); -lean_ctor_set(x_382, 2, x_366); -lean_ctor_set(x_382, 3, x_367); -lean_ctor_set(x_382, 4, x_368); -lean_ctor_set(x_382, 5, x_369); -lean_ctor_set(x_382, 6, x_370); -lean_ctor_set_uint64(x_382, sizeof(void*)*7, x_381); -lean_ctor_set_uint8(x_382, sizeof(void*)*7 + 8, x_364); -lean_ctor_set_uint8(x_382, sizeof(void*)*7 + 9, x_372); -lean_ctor_set_uint8(x_382, sizeof(void*)*7 + 10, x_373); +uint64_t x_372; uint64_t x_373; lean_object* x_374; lean_object* x_375; +lean_ctor_set_uint8(x_343, 9, x_356); +x_372 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__36; +x_373 = lean_uint64_lor(x_360, x_372); +x_374 = lean_alloc_ctor(0, 7, 11); +lean_ctor_set(x_374, 0, x_343); +lean_ctor_set(x_374, 1, x_346); +lean_ctor_set(x_374, 2, x_347); +lean_ctor_set(x_374, 3, x_348); +lean_ctor_set(x_374, 4, x_349); +lean_ctor_set(x_374, 5, x_350); +lean_ctor_set(x_374, 6, x_351); +lean_ctor_set_uint64(x_374, sizeof(void*)*7, x_373); +lean_ctor_set_uint8(x_374, sizeof(void*)*7 + 8, x_345); +lean_ctor_set_uint8(x_374, sizeof(void*)*7 + 9, x_353); +lean_ctor_set_uint8(x_374, sizeof(void*)*7 + 10, x_354); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_1); -x_383 = l_Lean_Elab_Eqns_tryURefl(x_1, x_382, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_383) == 0) +x_375 = l_Lean_Elab_Eqns_tryURefl(x_1, x_374, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_375) == 0) { -lean_object* x_384; lean_object* x_385; uint8_t x_386; -x_384 = lean_ctor_get(x_383, 0); -lean_inc(x_384); -x_385 = lean_ctor_get(x_383, 1); -lean_inc(x_385); -lean_dec(x_383); -x_386 = lean_unbox(x_384); -lean_dec(x_384); -x_10 = x_386; -x_11 = x_385; -goto block_361; +lean_object* x_376; lean_object* x_377; uint8_t x_378; +x_376 = lean_ctor_get(x_375, 0); +lean_inc(x_376); +x_377 = lean_ctor_get(x_375, 1); +lean_inc(x_377); +lean_dec(x_375); +x_378 = lean_unbox(x_376); +lean_dec(x_376); +x_10 = x_378; +x_11 = x_377; +goto block_342; } else { -uint8_t x_387; +uint8_t x_379; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -1811,66 +1884,114 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_387 = !lean_is_exclusive(x_383); -if (x_387 == 0) +x_379 = !lean_is_exclusive(x_375); +if (x_379 == 0) { -return x_383; +return x_375; } else { -lean_object* x_388; lean_object* x_389; lean_object* x_390; -x_388 = lean_ctor_get(x_383, 0); -x_389 = lean_ctor_get(x_383, 1); -lean_inc(x_389); -lean_inc(x_388); -lean_dec(x_383); -x_390 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_390, 0, x_388); -lean_ctor_set(x_390, 1, x_389); -return x_390; +lean_object* x_380; lean_object* x_381; lean_object* x_382; +x_380 = lean_ctor_get(x_375, 0); +x_381 = lean_ctor_get(x_375, 1); +lean_inc(x_381); +lean_inc(x_380); +lean_dec(x_375); +x_382 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_382, 0, x_380); +lean_ctor_set(x_382, 1, x_381); +return x_382; +} } } } else { -uint64_t x_391; uint64_t x_392; lean_object* x_393; lean_object* x_394; -lean_ctor_set_uint8(x_362, 9, x_375); -x_391 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__38; -x_392 = lean_uint64_lor(x_379, x_391); -x_393 = lean_alloc_ctor(0, 7, 11); -lean_ctor_set(x_393, 0, x_362); -lean_ctor_set(x_393, 1, x_365); -lean_ctor_set(x_393, 2, x_366); -lean_ctor_set(x_393, 3, x_367); -lean_ctor_set(x_393, 4, x_368); -lean_ctor_set(x_393, 5, x_369); -lean_ctor_set(x_393, 6, x_370); -lean_ctor_set_uint64(x_393, sizeof(void*)*7, x_392); -lean_ctor_set_uint8(x_393, sizeof(void*)*7 + 8, x_364); -lean_ctor_set_uint8(x_393, sizeof(void*)*7 + 9, x_372); -lean_ctor_set_uint8(x_393, sizeof(void*)*7 + 10, x_373); +uint8_t x_383; uint8_t x_384; uint8_t x_385; uint8_t x_386; uint8_t x_387; uint8_t x_388; uint8_t x_389; uint8_t x_390; uint8_t x_391; uint8_t x_392; uint8_t x_393; uint8_t x_394; uint8_t x_395; uint8_t x_396; uint8_t x_397; uint8_t x_398; uint8_t x_399; uint8_t x_400; uint8_t x_401; uint8_t x_402; uint8_t x_403; uint8_t x_404; uint64_t x_405; uint64_t x_406; uint64_t x_407; +x_383 = lean_ctor_get_uint8(x_5, sizeof(void*)*7 + 9); +x_384 = lean_ctor_get_uint8(x_5, sizeof(void*)*7 + 10); +x_385 = lean_ctor_get_uint8(x_343, 0); +x_386 = lean_ctor_get_uint8(x_343, 1); +x_387 = lean_ctor_get_uint8(x_343, 2); +x_388 = lean_ctor_get_uint8(x_343, 3); +x_389 = lean_ctor_get_uint8(x_343, 4); +x_390 = lean_ctor_get_uint8(x_343, 5); +x_391 = lean_ctor_get_uint8(x_343, 6); +x_392 = lean_ctor_get_uint8(x_343, 7); +x_393 = lean_ctor_get_uint8(x_343, 8); +x_394 = lean_ctor_get_uint8(x_343, 9); +x_395 = lean_ctor_get_uint8(x_343, 10); +x_396 = lean_ctor_get_uint8(x_343, 11); +x_397 = lean_ctor_get_uint8(x_343, 12); +x_398 = lean_ctor_get_uint8(x_343, 13); +x_399 = lean_ctor_get_uint8(x_343, 14); +x_400 = lean_ctor_get_uint8(x_343, 15); +x_401 = lean_ctor_get_uint8(x_343, 16); +x_402 = lean_ctor_get_uint8(x_343, 17); +lean_dec(x_343); +x_403 = 0; +x_404 = l_Lean_Meta_TransparencyMode_lt(x_394, x_403); +x_405 = 2; +x_406 = lean_uint64_shift_right(x_344, x_405); +x_407 = lean_uint64_shift_left(x_406, x_405); +if (x_404 == 0) +{ +lean_object* x_408; uint64_t x_409; uint64_t x_410; lean_object* x_411; lean_object* x_412; +x_408 = lean_alloc_ctor(0, 0, 18); +lean_ctor_set_uint8(x_408, 0, x_385); +lean_ctor_set_uint8(x_408, 1, x_386); +lean_ctor_set_uint8(x_408, 2, x_387); +lean_ctor_set_uint8(x_408, 3, x_388); +lean_ctor_set_uint8(x_408, 4, x_389); +lean_ctor_set_uint8(x_408, 5, x_390); +lean_ctor_set_uint8(x_408, 6, x_391); +lean_ctor_set_uint8(x_408, 7, x_392); +lean_ctor_set_uint8(x_408, 8, x_393); +lean_ctor_set_uint8(x_408, 9, x_394); +lean_ctor_set_uint8(x_408, 10, x_395); +lean_ctor_set_uint8(x_408, 11, x_396); +lean_ctor_set_uint8(x_408, 12, x_397); +lean_ctor_set_uint8(x_408, 13, x_398); +lean_ctor_set_uint8(x_408, 14, x_399); +lean_ctor_set_uint8(x_408, 15, x_400); +lean_ctor_set_uint8(x_408, 16, x_401); +lean_ctor_set_uint8(x_408, 17, x_402); +x_409 = l_Lean_Meta_TransparencyMode_toUInt64(x_394); +x_410 = lean_uint64_lor(x_407, x_409); +x_411 = lean_alloc_ctor(0, 7, 11); +lean_ctor_set(x_411, 0, x_408); +lean_ctor_set(x_411, 1, x_346); +lean_ctor_set(x_411, 2, x_347); +lean_ctor_set(x_411, 3, x_348); +lean_ctor_set(x_411, 4, x_349); +lean_ctor_set(x_411, 5, x_350); +lean_ctor_set(x_411, 6, x_351); +lean_ctor_set_uint64(x_411, sizeof(void*)*7, x_410); +lean_ctor_set_uint8(x_411, sizeof(void*)*7 + 8, x_345); +lean_ctor_set_uint8(x_411, sizeof(void*)*7 + 9, x_383); +lean_ctor_set_uint8(x_411, sizeof(void*)*7 + 10, x_384); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_1); -x_394 = l_Lean_Elab_Eqns_tryURefl(x_1, x_393, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_394) == 0) +x_412 = l_Lean_Elab_Eqns_tryURefl(x_1, x_411, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_412) == 0) { -lean_object* x_395; lean_object* x_396; uint8_t x_397; -x_395 = lean_ctor_get(x_394, 0); -lean_inc(x_395); -x_396 = lean_ctor_get(x_394, 1); -lean_inc(x_396); -lean_dec(x_394); -x_397 = lean_unbox(x_395); -lean_dec(x_395); -x_10 = x_397; -x_11 = x_396; -goto block_361; +lean_object* x_413; lean_object* x_414; uint8_t x_415; +x_413 = lean_ctor_get(x_412, 0); +lean_inc(x_413); +x_414 = lean_ctor_get(x_412, 1); +lean_inc(x_414); +lean_dec(x_412); +x_415 = lean_unbox(x_413); +lean_dec(x_413); +x_10 = x_415; +x_11 = x_414; +goto block_342; } else { -uint8_t x_398; +lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -1878,114 +1999,86 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_398 = !lean_is_exclusive(x_394); -if (x_398 == 0) -{ -return x_394; -} -else -{ -lean_object* x_399; lean_object* x_400; lean_object* x_401; -x_399 = lean_ctor_get(x_394, 0); -x_400 = lean_ctor_get(x_394, 1); -lean_inc(x_400); -lean_inc(x_399); -lean_dec(x_394); -x_401 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_401, 0, x_399); -lean_ctor_set(x_401, 1, x_400); -return x_401; +x_416 = lean_ctor_get(x_412, 0); +lean_inc(x_416); +x_417 = lean_ctor_get(x_412, 1); +lean_inc(x_417); +if (lean_is_exclusive(x_412)) { + lean_ctor_release(x_412, 0); + lean_ctor_release(x_412, 1); + x_418 = x_412; +} else { + lean_dec_ref(x_412); + x_418 = lean_box(0); } +if (lean_is_scalar(x_418)) { + x_419 = lean_alloc_ctor(1, 2, 0); +} else { + x_419 = x_418; } +lean_ctor_set(x_419, 0, x_416); +lean_ctor_set(x_419, 1, x_417); +return x_419; } } else { -uint8_t x_402; uint8_t x_403; uint8_t x_404; uint8_t x_405; uint8_t x_406; uint8_t x_407; uint8_t x_408; uint8_t x_409; uint8_t x_410; uint8_t x_411; uint8_t x_412; uint8_t x_413; uint8_t x_414; uint8_t x_415; uint8_t x_416; uint8_t x_417; uint8_t x_418; uint8_t x_419; uint8_t x_420; uint8_t x_421; uint8_t x_422; uint8_t x_423; uint64_t x_424; uint64_t x_425; uint64_t x_426; -x_402 = lean_ctor_get_uint8(x_5, sizeof(void*)*7 + 9); -x_403 = lean_ctor_get_uint8(x_5, sizeof(void*)*7 + 10); -x_404 = lean_ctor_get_uint8(x_362, 0); -x_405 = lean_ctor_get_uint8(x_362, 1); -x_406 = lean_ctor_get_uint8(x_362, 2); -x_407 = lean_ctor_get_uint8(x_362, 3); -x_408 = lean_ctor_get_uint8(x_362, 4); -x_409 = lean_ctor_get_uint8(x_362, 5); -x_410 = lean_ctor_get_uint8(x_362, 6); -x_411 = lean_ctor_get_uint8(x_362, 7); -x_412 = lean_ctor_get_uint8(x_362, 8); -x_413 = lean_ctor_get_uint8(x_362, 9); -x_414 = lean_ctor_get_uint8(x_362, 10); -x_415 = lean_ctor_get_uint8(x_362, 11); -x_416 = lean_ctor_get_uint8(x_362, 12); -x_417 = lean_ctor_get_uint8(x_362, 13); -x_418 = lean_ctor_get_uint8(x_362, 14); -x_419 = lean_ctor_get_uint8(x_362, 15); -x_420 = lean_ctor_get_uint8(x_362, 16); -x_421 = lean_ctor_get_uint8(x_362, 17); -lean_dec(x_362); -x_422 = 0; -x_423 = l_Lean_Meta_TransparencyMode_lt(x_413, x_422); -x_424 = 2; -x_425 = lean_uint64_shift_right(x_363, x_424); -x_426 = lean_uint64_shift_left(x_425, x_424); -if (x_423 == 0) -{ -lean_object* x_427; uint64_t x_428; uint64_t x_429; lean_object* x_430; lean_object* x_431; -x_427 = lean_alloc_ctor(0, 0, 18); -lean_ctor_set_uint8(x_427, 0, x_404); -lean_ctor_set_uint8(x_427, 1, x_405); -lean_ctor_set_uint8(x_427, 2, x_406); -lean_ctor_set_uint8(x_427, 3, x_407); -lean_ctor_set_uint8(x_427, 4, x_408); -lean_ctor_set_uint8(x_427, 5, x_409); -lean_ctor_set_uint8(x_427, 6, x_410); -lean_ctor_set_uint8(x_427, 7, x_411); -lean_ctor_set_uint8(x_427, 8, x_412); -lean_ctor_set_uint8(x_427, 9, x_413); -lean_ctor_set_uint8(x_427, 10, x_414); -lean_ctor_set_uint8(x_427, 11, x_415); -lean_ctor_set_uint8(x_427, 12, x_416); -lean_ctor_set_uint8(x_427, 13, x_417); -lean_ctor_set_uint8(x_427, 14, x_418); -lean_ctor_set_uint8(x_427, 15, x_419); -lean_ctor_set_uint8(x_427, 16, x_420); -lean_ctor_set_uint8(x_427, 17, x_421); -x_428 = l_Lean_Meta_TransparencyMode_toUInt64(x_413); -x_429 = lean_uint64_lor(x_426, x_428); -x_430 = lean_alloc_ctor(0, 7, 11); -lean_ctor_set(x_430, 0, x_427); -lean_ctor_set(x_430, 1, x_365); -lean_ctor_set(x_430, 2, x_366); -lean_ctor_set(x_430, 3, x_367); -lean_ctor_set(x_430, 4, x_368); -lean_ctor_set(x_430, 5, x_369); -lean_ctor_set(x_430, 6, x_370); -lean_ctor_set_uint64(x_430, sizeof(void*)*7, x_429); -lean_ctor_set_uint8(x_430, sizeof(void*)*7 + 8, x_364); -lean_ctor_set_uint8(x_430, sizeof(void*)*7 + 9, x_402); -lean_ctor_set_uint8(x_430, sizeof(void*)*7 + 10, x_403); +lean_object* x_420; uint64_t x_421; uint64_t x_422; lean_object* x_423; lean_object* x_424; +x_420 = lean_alloc_ctor(0, 0, 18); +lean_ctor_set_uint8(x_420, 0, x_385); +lean_ctor_set_uint8(x_420, 1, x_386); +lean_ctor_set_uint8(x_420, 2, x_387); +lean_ctor_set_uint8(x_420, 3, x_388); +lean_ctor_set_uint8(x_420, 4, x_389); +lean_ctor_set_uint8(x_420, 5, x_390); +lean_ctor_set_uint8(x_420, 6, x_391); +lean_ctor_set_uint8(x_420, 7, x_392); +lean_ctor_set_uint8(x_420, 8, x_393); +lean_ctor_set_uint8(x_420, 9, x_403); +lean_ctor_set_uint8(x_420, 10, x_395); +lean_ctor_set_uint8(x_420, 11, x_396); +lean_ctor_set_uint8(x_420, 12, x_397); +lean_ctor_set_uint8(x_420, 13, x_398); +lean_ctor_set_uint8(x_420, 14, x_399); +lean_ctor_set_uint8(x_420, 15, x_400); +lean_ctor_set_uint8(x_420, 16, x_401); +lean_ctor_set_uint8(x_420, 17, x_402); +x_421 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__36; +x_422 = lean_uint64_lor(x_407, x_421); +x_423 = lean_alloc_ctor(0, 7, 11); +lean_ctor_set(x_423, 0, x_420); +lean_ctor_set(x_423, 1, x_346); +lean_ctor_set(x_423, 2, x_347); +lean_ctor_set(x_423, 3, x_348); +lean_ctor_set(x_423, 4, x_349); +lean_ctor_set(x_423, 5, x_350); +lean_ctor_set(x_423, 6, x_351); +lean_ctor_set_uint64(x_423, sizeof(void*)*7, x_422); +lean_ctor_set_uint8(x_423, sizeof(void*)*7 + 8, x_345); +lean_ctor_set_uint8(x_423, sizeof(void*)*7 + 9, x_383); +lean_ctor_set_uint8(x_423, sizeof(void*)*7 + 10, x_384); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_1); -x_431 = l_Lean_Elab_Eqns_tryURefl(x_1, x_430, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_431) == 0) +x_424 = l_Lean_Elab_Eqns_tryURefl(x_1, x_423, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_424) == 0) { -lean_object* x_432; lean_object* x_433; uint8_t x_434; -x_432 = lean_ctor_get(x_431, 0); -lean_inc(x_432); -x_433 = lean_ctor_get(x_431, 1); -lean_inc(x_433); -lean_dec(x_431); -x_434 = lean_unbox(x_432); -lean_dec(x_432); -x_10 = x_434; -x_11 = x_433; -goto block_361; +lean_object* x_425; lean_object* x_426; uint8_t x_427; +x_425 = lean_ctor_get(x_424, 0); +lean_inc(x_425); +x_426 = lean_ctor_get(x_424, 1); +lean_inc(x_426); +lean_dec(x_424); +x_427 = lean_unbox(x_425); +lean_dec(x_425); +x_10 = x_427; +x_11 = x_426; +goto block_342; } else { -lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; +lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -1993,117 +2086,30 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_435 = lean_ctor_get(x_431, 0); -lean_inc(x_435); -x_436 = lean_ctor_get(x_431, 1); -lean_inc(x_436); -if (lean_is_exclusive(x_431)) { - lean_ctor_release(x_431, 0); - lean_ctor_release(x_431, 1); - x_437 = x_431; +x_428 = lean_ctor_get(x_424, 0); +lean_inc(x_428); +x_429 = lean_ctor_get(x_424, 1); +lean_inc(x_429); +if (lean_is_exclusive(x_424)) { + lean_ctor_release(x_424, 0); + lean_ctor_release(x_424, 1); + x_430 = x_424; } else { - lean_dec_ref(x_431); - x_437 = lean_box(0); + lean_dec_ref(x_424); + x_430 = lean_box(0); } -if (lean_is_scalar(x_437)) { - x_438 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_430)) { + x_431 = lean_alloc_ctor(1, 2, 0); } else { - x_438 = x_437; + x_431 = x_430; } -lean_ctor_set(x_438, 0, x_435); -lean_ctor_set(x_438, 1, x_436); -return x_438; -} -} -else -{ -lean_object* x_439; uint64_t x_440; uint64_t x_441; lean_object* x_442; lean_object* x_443; -x_439 = lean_alloc_ctor(0, 0, 18); -lean_ctor_set_uint8(x_439, 0, x_404); -lean_ctor_set_uint8(x_439, 1, x_405); -lean_ctor_set_uint8(x_439, 2, x_406); -lean_ctor_set_uint8(x_439, 3, x_407); -lean_ctor_set_uint8(x_439, 4, x_408); -lean_ctor_set_uint8(x_439, 5, x_409); -lean_ctor_set_uint8(x_439, 6, x_410); -lean_ctor_set_uint8(x_439, 7, x_411); -lean_ctor_set_uint8(x_439, 8, x_412); -lean_ctor_set_uint8(x_439, 9, x_422); -lean_ctor_set_uint8(x_439, 10, x_414); -lean_ctor_set_uint8(x_439, 11, x_415); -lean_ctor_set_uint8(x_439, 12, x_416); -lean_ctor_set_uint8(x_439, 13, x_417); -lean_ctor_set_uint8(x_439, 14, x_418); -lean_ctor_set_uint8(x_439, 15, x_419); -lean_ctor_set_uint8(x_439, 16, x_420); -lean_ctor_set_uint8(x_439, 17, x_421); -x_440 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__38; -x_441 = lean_uint64_lor(x_426, x_440); -x_442 = lean_alloc_ctor(0, 7, 11); -lean_ctor_set(x_442, 0, x_439); -lean_ctor_set(x_442, 1, x_365); -lean_ctor_set(x_442, 2, x_366); -lean_ctor_set(x_442, 3, x_367); -lean_ctor_set(x_442, 4, x_368); -lean_ctor_set(x_442, 5, x_369); -lean_ctor_set(x_442, 6, x_370); -lean_ctor_set_uint64(x_442, sizeof(void*)*7, x_441); -lean_ctor_set_uint8(x_442, sizeof(void*)*7 + 8, x_364); -lean_ctor_set_uint8(x_442, sizeof(void*)*7 + 9, x_402); -lean_ctor_set_uint8(x_442, sizeof(void*)*7 + 10, x_403); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_1); -x_443 = l_Lean_Elab_Eqns_tryURefl(x_1, x_442, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_443) == 0) -{ -lean_object* x_444; lean_object* x_445; uint8_t x_446; -x_444 = lean_ctor_get(x_443, 0); -lean_inc(x_444); -x_445 = lean_ctor_get(x_443, 1); -lean_inc(x_445); -lean_dec(x_443); -x_446 = lean_unbox(x_444); -lean_dec(x_444); -x_10 = x_446; -x_11 = x_445; -goto block_361; -} -else -{ -lean_object* x_447; lean_object* x_448; lean_object* x_449; lean_object* x_450; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_447 = lean_ctor_get(x_443, 0); -lean_inc(x_447); -x_448 = lean_ctor_get(x_443, 1); -lean_inc(x_448); -if (lean_is_exclusive(x_443)) { - lean_ctor_release(x_443, 0); - lean_ctor_release(x_443, 1); - x_449 = x_443; -} else { - lean_dec_ref(x_443); - x_449 = lean_box(0); -} -if (lean_is_scalar(x_449)) { - x_450 = lean_alloc_ctor(1, 2, 0); -} else { - x_450 = x_449; -} -lean_ctor_set(x_450, 0, x_447); -lean_ctor_set(x_450, 1, x_448); -return x_450; +lean_ctor_set(x_431, 0, x_428); +lean_ctor_set(x_431, 1, x_429); +return x_431; } } } -block_361: +block_342: { if (x_10 == 0) { @@ -2157,513 +2163,496 @@ x_20 = lean_ctor_get(x_19, 0); lean_inc(x_20); if (lean_obj_tag(x_20) == 0) { -lean_object* x_21; lean_object* x_22; +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; x_21 = lean_ctor_get(x_19, 1); lean_inc(x_21); lean_dec(x_19); +x_22 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__1; +x_23 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__2; +x_24 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__8; +x_25 = l_Lean_Meta_Simp_mkContext(x_22, x_23, x_24, x_5, x_6, x_7, x_8, x_21); +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_27 = lean_ctor_get(x_25, 0); +x_28 = lean_ctor_get(x_25, 1); +x_29 = lean_box(0); +x_30 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__14; lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_1); -x_22 = l_Lean_Elab_Eqns_whnfReducibleLHS_x3f(x_1, x_5, x_6, x_7, x_8, x_21); -if (lean_obj_tag(x_22) == 0) +x_31 = l_Lean_Meta_simpTargetStar(x_1, x_27, x_23, x_29, x_30, x_5, x_6, x_7, x_8, x_28); +if (lean_obj_tag(x_31) == 0) { -lean_object* x_23; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -if (lean_obj_tag(x_23) == 0) +lean_object* x_32; lean_object* x_33; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +lean_dec(x_32); +switch (lean_obj_tag(x_33)) { +case 0: { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__1; -x_26 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__2; -x_27 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__8; -x_28 = l_Lean_Meta_Simp_mkContext(x_25, x_26, x_27, x_5, x_6, x_7, x_8, x_24); -x_29 = !lean_is_exclusive(x_28); -if (x_29 == 0) -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_30 = lean_ctor_get(x_28, 0); -x_31 = lean_ctor_get(x_28, 1); -x_32 = lean_box(0); -x_33 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__14; -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_1); -x_34 = l_Lean_Meta_simpTargetStar(x_1, x_30, x_26, x_32, x_33, x_5, x_6, x_7, x_8, x_31); -if (lean_obj_tag(x_34) == 0) +uint8_t x_34; +lean_free_object(x_25); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_34 = !lean_is_exclusive(x_31); +if (x_34 == 0) { lean_object* x_35; lean_object* x_36; -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); +x_35 = lean_ctor_get(x_31, 0); lean_dec(x_35); -switch (lean_obj_tag(x_36)) { -case 0: -{ -uint8_t x_37; -lean_free_object(x_28); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_37 = !lean_is_exclusive(x_34); -if (x_37 == 0) -{ -lean_object* x_38; lean_object* x_39; -x_38 = lean_ctor_get(x_34, 0); -lean_dec(x_38); -x_39 = lean_box(0); -lean_ctor_set(x_34, 0, x_39); -return x_34; +x_36 = lean_box(0); +lean_ctor_set(x_31, 0, x_36); +return x_31; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_34, 1); -lean_inc(x_40); -lean_dec(x_34); -x_41 = lean_box(0); -x_42 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_42, 0, x_41); -lean_ctor_set(x_42, 1, x_40); -return x_42; +lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_37 = lean_ctor_get(x_31, 1); +lean_inc(x_37); +lean_dec(x_31); +x_38 = lean_box(0); +x_39 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_37); +return x_39; } } case 1: { -lean_object* x_43; lean_object* x_44; -x_43 = lean_ctor_get(x_34, 1); -lean_inc(x_43); -lean_dec(x_34); +lean_object* x_40; lean_object* x_41; +x_40 = lean_ctor_get(x_31, 1); +lean_inc(x_40); +lean_dec(x_31); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_1); -x_44 = l_Lean_Meta_casesOnStuckLHS_x3f(x_1, x_5, x_6, x_7, x_8, x_43); -if (lean_obj_tag(x_44) == 0) +x_41 = l_Lean_Meta_casesOnStuckLHS_x3f(x_1, x_5, x_6, x_7, x_8, x_40); +if (lean_obj_tag(x_41) == 0) { -lean_object* x_45; -x_45 = lean_ctor_get(x_44, 0); -lean_inc(x_45); +lean_object* x_42; +x_42 = lean_ctor_get(x_41, 0); +lean_inc(x_42); +if (lean_obj_tag(x_42) == 0) +{ +lean_object* x_43; uint8_t x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_41, 1); +lean_inc(x_43); +lean_dec(x_41); +x_44 = 1; +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_1); +x_45 = l_Lean_Meta_splitTarget_x3f(x_1, x_44, x_5, x_6, x_7, x_8, x_43); if (lean_obj_tag(x_45) == 0) { -lean_object* x_46; uint8_t x_47; lean_object* x_48; -x_46 = lean_ctor_get(x_44, 1); +lean_object* x_46; +x_46 = lean_ctor_get(x_45, 0); lean_inc(x_46); -lean_dec(x_44); -x_47 = 1; -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_1); -x_48 = l_Lean_Meta_splitTarget_x3f(x_1, x_47, x_5, x_6, x_7, x_8, x_46); -if (lean_obj_tag(x_48) == 0) +if (lean_obj_tag(x_46) == 0) { -lean_object* x_49; -x_49 = lean_ctor_get(x_48, 0); -lean_inc(x_49); -if (lean_obj_tag(x_49) == 0) -{ -lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; +lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_dec(x_3); -x_50 = lean_ctor_get(x_48, 1); -lean_inc(x_50); -lean_dec(x_48); -x_51 = l_Lean_MessageData_ofName(x_2); -x_52 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__16; -lean_ctor_set_tag(x_28, 7); -lean_ctor_set(x_28, 1, x_51); -lean_ctor_set(x_28, 0, x_52); -x_53 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__18; -x_54 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_54, 0, x_28); -lean_ctor_set(x_54, 1, x_53); -x_55 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_55, 0, x_1); -x_56 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_56, 0, x_54); -lean_ctor_set(x_56, 1, x_55); -x_57 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__11; -x_58 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_58, 0, x_56); -lean_ctor_set(x_58, 1, x_57); -x_59 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_58, x_5, x_6, x_7, x_8, x_50); +x_47 = lean_ctor_get(x_45, 1); +lean_inc(x_47); +lean_dec(x_45); +x_48 = l_Lean_MessageData_ofName(x_2); +x_49 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__16; +lean_ctor_set_tag(x_25, 7); +lean_ctor_set(x_25, 1, x_48); +lean_ctor_set(x_25, 0, x_49); +x_50 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__18; +x_51 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_51, 0, x_25); +lean_ctor_set(x_51, 1, x_50); +x_52 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_52, 0, x_1); +x_53 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_53, 0, x_51); +lean_ctor_set(x_53, 1, x_52); +x_54 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__11; +x_55 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +x_56 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_55, x_5, x_6, x_7, x_8, x_47); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -return x_59; +return x_56; } else { -lean_object* x_60; uint8_t x_61; +lean_object* x_57; uint8_t x_58; lean_dec(x_1); -x_60 = lean_ctor_get(x_48, 1); -lean_inc(x_60); -lean_dec(x_48); -x_61 = !lean_is_exclusive(x_49); -if (x_61 == 0) +x_57 = lean_ctor_get(x_45, 1); +lean_inc(x_57); +lean_dec(x_45); +x_58 = !lean_is_exclusive(x_46); +if (x_58 == 0) { -lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; -x_62 = lean_ctor_get(x_49, 0); +lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; +x_59 = lean_ctor_get(x_46, 0); lean_inc(x_3); -x_63 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_60); -x_64 = lean_ctor_get(x_63, 0); -lean_inc(x_64); -x_65 = lean_unbox(x_64); -lean_dec(x_64); +x_60 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_57); +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_unbox(x_61); +lean_dec(x_61); +if (x_62 == 0) +{ +lean_object* x_63; lean_object* x_64; +lean_free_object(x_46); +lean_free_object(x_25); +lean_dec(x_3); +x_63 = lean_ctor_get(x_60, 1); +lean_inc(x_63); +lean_dec(x_60); +x_64 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_59, x_5, x_6, x_7, x_8, x_63); +return x_64; +} +else +{ +uint8_t x_65; +x_65 = !lean_is_exclusive(x_60); if (x_65 == 0) { -lean_object* x_66; lean_object* x_67; -lean_free_object(x_49); -lean_free_object(x_28); -lean_dec(x_3); -x_66 = lean_ctor_get(x_63, 1); -lean_inc(x_66); -lean_dec(x_63); -x_67 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_62, x_5, x_6, x_7, x_8, x_66); -return x_67; +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; +x_66 = lean_ctor_get(x_60, 1); +x_67 = lean_ctor_get(x_60, 0); +lean_dec(x_67); +x_68 = lean_unsigned_to_nat(0u); +x_69 = l_List_lengthTRAux___rarg(x_59, x_68); +x_70 = l___private_Init_Data_Repr_0__Nat_reprFast(x_69); +lean_ctor_set_tag(x_46, 3); +lean_ctor_set(x_46, 0, x_70); +x_71 = l_Lean_MessageData_ofFormat(x_46); +x_72 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__20; +lean_ctor_set_tag(x_60, 7); +lean_ctor_set(x_60, 1, x_71); +lean_ctor_set(x_60, 0, x_72); +x_73 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; +lean_ctor_set_tag(x_25, 7); +lean_ctor_set(x_25, 1, x_73); +lean_ctor_set(x_25, 0, x_60); +x_74 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_25, x_5, x_6, x_7, x_8, x_66); +x_75 = lean_ctor_get(x_74, 1); +lean_inc(x_75); +lean_dec(x_74); +x_76 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_59, x_5, x_6, x_7, x_8, x_75); +return x_76; } else { -uint8_t x_68; -x_68 = !lean_is_exclusive(x_63); -if (x_68 == 0) -{ -lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; -x_69 = lean_ctor_get(x_63, 1); -x_70 = lean_ctor_get(x_63, 0); -lean_dec(x_70); -x_71 = lean_unsigned_to_nat(0u); -x_72 = l_List_lengthTRAux___rarg(x_62, x_71); -x_73 = l___private_Init_Data_Repr_0__Nat_reprFast(x_72); -lean_ctor_set_tag(x_49, 3); -lean_ctor_set(x_49, 0, x_73); -x_74 = l_Lean_MessageData_ofFormat(x_49); -x_75 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__20; -lean_ctor_set_tag(x_63, 7); -lean_ctor_set(x_63, 1, x_74); -lean_ctor_set(x_63, 0, x_75); -x_76 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; -lean_ctor_set_tag(x_28, 7); -lean_ctor_set(x_28, 1, x_76); -lean_ctor_set(x_28, 0, x_63); -x_77 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_28, x_5, x_6, x_7, x_8, x_69); -x_78 = lean_ctor_get(x_77, 1); -lean_inc(x_78); -lean_dec(x_77); -x_79 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_62, x_5, x_6, x_7, x_8, x_78); -return x_79; -} -else -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; -x_80 = lean_ctor_get(x_63, 1); -lean_inc(x_80); -lean_dec(x_63); -x_81 = lean_unsigned_to_nat(0u); -x_82 = l_List_lengthTRAux___rarg(x_62, x_81); -x_83 = l___private_Init_Data_Repr_0__Nat_reprFast(x_82); -lean_ctor_set_tag(x_49, 3); -lean_ctor_set(x_49, 0, x_83); -x_84 = l_Lean_MessageData_ofFormat(x_49); -x_85 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__20; -x_86 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_86, 0, x_85); -lean_ctor_set(x_86, 1, x_84); -x_87 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; -lean_ctor_set_tag(x_28, 7); -lean_ctor_set(x_28, 1, x_87); -lean_ctor_set(x_28, 0, x_86); -x_88 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_28, x_5, x_6, x_7, x_8, x_80); -x_89 = lean_ctor_get(x_88, 1); -lean_inc(x_89); -lean_dec(x_88); -x_90 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_62, x_5, x_6, x_7, x_8, x_89); -return x_90; +lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; +x_77 = lean_ctor_get(x_60, 1); +lean_inc(x_77); +lean_dec(x_60); +x_78 = lean_unsigned_to_nat(0u); +x_79 = l_List_lengthTRAux___rarg(x_59, x_78); +x_80 = l___private_Init_Data_Repr_0__Nat_reprFast(x_79); +lean_ctor_set_tag(x_46, 3); +lean_ctor_set(x_46, 0, x_80); +x_81 = l_Lean_MessageData_ofFormat(x_46); +x_82 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__20; +x_83 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_83, 0, x_82); +lean_ctor_set(x_83, 1, x_81); +x_84 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; +lean_ctor_set_tag(x_25, 7); +lean_ctor_set(x_25, 1, x_84); +lean_ctor_set(x_25, 0, x_83); +x_85 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_25, x_5, x_6, x_7, x_8, x_77); +x_86 = lean_ctor_get(x_85, 1); +lean_inc(x_86); +lean_dec(x_85); +x_87 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_59, x_5, x_6, x_7, x_8, x_86); +return x_87; } } } else { -lean_object* x_91; lean_object* x_92; lean_object* x_93; uint8_t x_94; -x_91 = lean_ctor_get(x_49, 0); -lean_inc(x_91); -lean_dec(x_49); +lean_object* x_88; lean_object* x_89; lean_object* x_90; uint8_t x_91; +x_88 = lean_ctor_get(x_46, 0); +lean_inc(x_88); +lean_dec(x_46); lean_inc(x_3); -x_92 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_60); -x_93 = lean_ctor_get(x_92, 0); -lean_inc(x_93); -x_94 = lean_unbox(x_93); -lean_dec(x_93); -if (x_94 == 0) +x_89 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_57); +x_90 = lean_ctor_get(x_89, 0); +lean_inc(x_90); +x_91 = lean_unbox(x_90); +lean_dec(x_90); +if (x_91 == 0) { -lean_object* x_95; lean_object* x_96; -lean_free_object(x_28); +lean_object* x_92; lean_object* x_93; +lean_free_object(x_25); lean_dec(x_3); -x_95 = lean_ctor_get(x_92, 1); -lean_inc(x_95); -lean_dec(x_92); -x_96 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_91, x_5, x_6, x_7, x_8, x_95); -return x_96; +x_92 = lean_ctor_get(x_89, 1); +lean_inc(x_92); +lean_dec(x_89); +x_93 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_88, x_5, x_6, x_7, x_8, x_92); +return x_93; } else { -lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; -x_97 = lean_ctor_get(x_92, 1); -lean_inc(x_97); -if (lean_is_exclusive(x_92)) { - lean_ctor_release(x_92, 0); - lean_ctor_release(x_92, 1); - x_98 = x_92; +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; +x_94 = lean_ctor_get(x_89, 1); +lean_inc(x_94); +if (lean_is_exclusive(x_89)) { + lean_ctor_release(x_89, 0); + lean_ctor_release(x_89, 1); + x_95 = x_89; } else { - lean_dec_ref(x_92); - x_98 = lean_box(0); + lean_dec_ref(x_89); + x_95 = lean_box(0); +} +x_96 = lean_unsigned_to_nat(0u); +x_97 = l_List_lengthTRAux___rarg(x_88, x_96); +x_98 = l___private_Init_Data_Repr_0__Nat_reprFast(x_97); +x_99 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_99, 0, x_98); +x_100 = l_Lean_MessageData_ofFormat(x_99); +x_101 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__20; +if (lean_is_scalar(x_95)) { + x_102 = lean_alloc_ctor(7, 2, 0); +} else { + x_102 = x_95; + lean_ctor_set_tag(x_102, 7); } -x_99 = lean_unsigned_to_nat(0u); -x_100 = l_List_lengthTRAux___rarg(x_91, x_99); -x_101 = l___private_Init_Data_Repr_0__Nat_reprFast(x_100); -x_102 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_102, 0, x_101); -x_103 = l_Lean_MessageData_ofFormat(x_102); -x_104 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__20; -if (lean_is_scalar(x_98)) { - x_105 = lean_alloc_ctor(7, 2, 0); -} else { - x_105 = x_98; - lean_ctor_set_tag(x_105, 7); +lean_ctor_set(x_102, 1, x_100); +x_103 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; +lean_ctor_set_tag(x_25, 7); +lean_ctor_set(x_25, 1, x_103); +lean_ctor_set(x_25, 0, x_102); +x_104 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_25, x_5, x_6, x_7, x_8, x_94); +x_105 = lean_ctor_get(x_104, 1); +lean_inc(x_105); +lean_dec(x_104); +x_106 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_88, x_5, x_6, x_7, x_8, x_105); +return x_106; } -lean_ctor_set(x_105, 0, x_104); -lean_ctor_set(x_105, 1, x_103); -x_106 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; -lean_ctor_set_tag(x_28, 7); -lean_ctor_set(x_28, 1, x_106); -lean_ctor_set(x_28, 0, x_105); -x_107 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_28, x_5, x_6, x_7, x_8, x_97); -x_108 = lean_ctor_get(x_107, 1); +} +} +} +else +{ +uint8_t x_107; +lean_free_object(x_25); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_107 = !lean_is_exclusive(x_45); +if (x_107 == 0) +{ +return x_45; +} +else +{ +lean_object* x_108; lean_object* x_109; lean_object* x_110; +x_108 = lean_ctor_get(x_45, 0); +x_109 = lean_ctor_get(x_45, 1); +lean_inc(x_109); lean_inc(x_108); -lean_dec(x_107); -x_109 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_91, x_5, x_6, x_7, x_8, x_108); -return x_109; -} -} -} -} -else -{ -uint8_t x_110; -lean_free_object(x_28); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_110 = !lean_is_exclusive(x_48); -if (x_110 == 0) -{ -return x_48; -} -else -{ -lean_object* x_111; lean_object* x_112; lean_object* x_113; -x_111 = lean_ctor_get(x_48, 0); -x_112 = lean_ctor_get(x_48, 1); -lean_inc(x_112); -lean_inc(x_111); -lean_dec(x_48); -x_113 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_113, 0, x_111); -lean_ctor_set(x_113, 1, x_112); -return x_113; -} -} -} -else -{ -lean_object* x_114; uint8_t x_115; -lean_dec(x_1); -x_114 = lean_ctor_get(x_44, 1); -lean_inc(x_114); -lean_dec(x_44); -x_115 = !lean_is_exclusive(x_45); -if (x_115 == 0) -{ -lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119; -x_116 = lean_ctor_get(x_45, 0); -lean_inc(x_3); -x_117 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_114); -x_118 = lean_ctor_get(x_117, 0); -lean_inc(x_118); -x_119 = lean_unbox(x_118); -lean_dec(x_118); -if (x_119 == 0) -{ -lean_object* x_120; lean_object* x_121; lean_object* x_122; -lean_free_object(x_45); -lean_free_object(x_28); -lean_dec(x_3); -x_120 = lean_ctor_get(x_117, 1); -lean_inc(x_120); -lean_dec(x_117); -x_121 = lean_box(0); -x_122 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_116, x_2, x_121, x_5, x_6, x_7, x_8, x_120); -lean_dec(x_116); -return x_122; -} -else -{ -uint8_t x_123; -x_123 = !lean_is_exclusive(x_117); -if (x_123 == 0) -{ -lean_object* x_124; 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; lean_object* x_132; lean_object* x_133; lean_object* x_134; -x_124 = lean_ctor_get(x_117, 1); -x_125 = lean_ctor_get(x_117, 0); -lean_dec(x_125); -x_126 = lean_array_get_size(x_116); -x_127 = l___private_Init_Data_Repr_0__Nat_reprFast(x_126); -lean_ctor_set_tag(x_45, 3); -lean_ctor_set(x_45, 0, x_127); -x_128 = l_Lean_MessageData_ofFormat(x_45); -x_129 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__24; -lean_ctor_set_tag(x_117, 7); -lean_ctor_set(x_117, 1, x_128); -lean_ctor_set(x_117, 0, x_129); -x_130 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; -lean_ctor_set_tag(x_28, 7); -lean_ctor_set(x_28, 1, x_130); -lean_ctor_set(x_28, 0, x_117); -x_131 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_28, x_5, x_6, x_7, x_8, x_124); -x_132 = lean_ctor_get(x_131, 0); -lean_inc(x_132); -x_133 = lean_ctor_get(x_131, 1); -lean_inc(x_133); -lean_dec(x_131); -x_134 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_116, x_2, x_132, x_5, x_6, x_7, x_8, x_133); -lean_dec(x_132); -lean_dec(x_116); -return x_134; -} -else -{ -lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; -x_135 = lean_ctor_get(x_117, 1); -lean_inc(x_135); -lean_dec(x_117); -x_136 = lean_array_get_size(x_116); -x_137 = l___private_Init_Data_Repr_0__Nat_reprFast(x_136); -lean_ctor_set_tag(x_45, 3); -lean_ctor_set(x_45, 0, x_137); -x_138 = l_Lean_MessageData_ofFormat(x_45); -x_139 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__24; -x_140 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_140, 0, x_139); -lean_ctor_set(x_140, 1, x_138); -x_141 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; -lean_ctor_set_tag(x_28, 7); -lean_ctor_set(x_28, 1, x_141); -lean_ctor_set(x_28, 0, x_140); -x_142 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_28, x_5, x_6, x_7, x_8, x_135); -x_143 = lean_ctor_get(x_142, 0); -lean_inc(x_143); -x_144 = lean_ctor_get(x_142, 1); -lean_inc(x_144); -lean_dec(x_142); -x_145 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_116, x_2, x_143, x_5, x_6, x_7, x_8, x_144); -lean_dec(x_143); -lean_dec(x_116); -return x_145; -} -} -} -else -{ -lean_object* x_146; lean_object* x_147; lean_object* x_148; uint8_t x_149; -x_146 = lean_ctor_get(x_45, 0); -lean_inc(x_146); lean_dec(x_45); +x_110 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_110, 0, x_108); +lean_ctor_set(x_110, 1, x_109); +return x_110; +} +} +} +else +{ +lean_object* x_111; uint8_t x_112; +lean_dec(x_1); +x_111 = lean_ctor_get(x_41, 1); +lean_inc(x_111); +lean_dec(x_41); +x_112 = !lean_is_exclusive(x_42); +if (x_112 == 0) +{ +lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116; +x_113 = lean_ctor_get(x_42, 0); lean_inc(x_3); -x_147 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_114); -x_148 = lean_ctor_get(x_147, 0); -lean_inc(x_148); -x_149 = lean_unbox(x_148); -lean_dec(x_148); -if (x_149 == 0) +x_114 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_111); +x_115 = lean_ctor_get(x_114, 0); +lean_inc(x_115); +x_116 = lean_unbox(x_115); +lean_dec(x_115); +if (x_116 == 0) { -lean_object* x_150; lean_object* x_151; lean_object* x_152; -lean_free_object(x_28); +lean_object* x_117; lean_object* x_118; lean_object* x_119; +lean_free_object(x_42); +lean_free_object(x_25); lean_dec(x_3); -x_150 = lean_ctor_get(x_147, 1); +x_117 = lean_ctor_get(x_114, 1); +lean_inc(x_117); +lean_dec(x_114); +x_118 = lean_box(0); +x_119 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_113, x_2, x_118, x_5, x_6, x_7, x_8, x_117); +lean_dec(x_113); +return x_119; +} +else +{ +uint8_t x_120; +x_120 = !lean_is_exclusive(x_114); +if (x_120 == 0) +{ +lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; 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; +x_121 = lean_ctor_get(x_114, 1); +x_122 = lean_ctor_get(x_114, 0); +lean_dec(x_122); +x_123 = lean_array_get_size(x_113); +x_124 = l___private_Init_Data_Repr_0__Nat_reprFast(x_123); +lean_ctor_set_tag(x_42, 3); +lean_ctor_set(x_42, 0, x_124); +x_125 = l_Lean_MessageData_ofFormat(x_42); +x_126 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__24; +lean_ctor_set_tag(x_114, 7); +lean_ctor_set(x_114, 1, x_125); +lean_ctor_set(x_114, 0, x_126); +x_127 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; +lean_ctor_set_tag(x_25, 7); +lean_ctor_set(x_25, 1, x_127); +lean_ctor_set(x_25, 0, x_114); +x_128 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_25, x_5, x_6, x_7, x_8, x_121); +x_129 = lean_ctor_get(x_128, 0); +lean_inc(x_129); +x_130 = lean_ctor_get(x_128, 1); +lean_inc(x_130); +lean_dec(x_128); +x_131 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_113, x_2, x_129, x_5, x_6, x_7, x_8, x_130); +lean_dec(x_129); +lean_dec(x_113); +return x_131; +} +else +{ +lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; +x_132 = lean_ctor_get(x_114, 1); +lean_inc(x_132); +lean_dec(x_114); +x_133 = lean_array_get_size(x_113); +x_134 = l___private_Init_Data_Repr_0__Nat_reprFast(x_133); +lean_ctor_set_tag(x_42, 3); +lean_ctor_set(x_42, 0, x_134); +x_135 = l_Lean_MessageData_ofFormat(x_42); +x_136 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__24; +x_137 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_137, 0, x_136); +lean_ctor_set(x_137, 1, x_135); +x_138 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; +lean_ctor_set_tag(x_25, 7); +lean_ctor_set(x_25, 1, x_138); +lean_ctor_set(x_25, 0, x_137); +x_139 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_25, x_5, x_6, x_7, x_8, x_132); +x_140 = lean_ctor_get(x_139, 0); +lean_inc(x_140); +x_141 = lean_ctor_get(x_139, 1); +lean_inc(x_141); +lean_dec(x_139); +x_142 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_113, x_2, x_140, x_5, x_6, x_7, x_8, x_141); +lean_dec(x_140); +lean_dec(x_113); +return x_142; +} +} +} +else +{ +lean_object* x_143; lean_object* x_144; lean_object* x_145; uint8_t x_146; +x_143 = lean_ctor_get(x_42, 0); +lean_inc(x_143); +lean_dec(x_42); +lean_inc(x_3); +x_144 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_111); +x_145 = lean_ctor_get(x_144, 0); +lean_inc(x_145); +x_146 = lean_unbox(x_145); +lean_dec(x_145); +if (x_146 == 0) +{ +lean_object* x_147; lean_object* x_148; lean_object* x_149; +lean_free_object(x_25); +lean_dec(x_3); +x_147 = lean_ctor_get(x_144, 1); +lean_inc(x_147); +lean_dec(x_144); +x_148 = lean_box(0); +x_149 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_143, x_2, x_148, x_5, x_6, x_7, x_8, x_147); +lean_dec(x_143); +return x_149; +} +else +{ +lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; +x_150 = lean_ctor_get(x_144, 1); lean_inc(x_150); -lean_dec(x_147); -x_151 = lean_box(0); -x_152 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_146, x_2, x_151, x_5, x_6, x_7, x_8, x_150); -lean_dec(x_146); -return x_152; -} -else -{ -lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; -x_153 = lean_ctor_get(x_147, 1); -lean_inc(x_153); -if (lean_is_exclusive(x_147)) { - lean_ctor_release(x_147, 0); - lean_ctor_release(x_147, 1); - x_154 = x_147; +if (lean_is_exclusive(x_144)) { + lean_ctor_release(x_144, 0); + lean_ctor_release(x_144, 1); + x_151 = x_144; } else { - lean_dec_ref(x_147); - x_154 = lean_box(0); + lean_dec_ref(x_144); + x_151 = lean_box(0); +} +x_152 = lean_array_get_size(x_143); +x_153 = l___private_Init_Data_Repr_0__Nat_reprFast(x_152); +x_154 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_154, 0, x_153); +x_155 = l_Lean_MessageData_ofFormat(x_154); +x_156 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__24; +if (lean_is_scalar(x_151)) { + x_157 = lean_alloc_ctor(7, 2, 0); +} else { + x_157 = x_151; + lean_ctor_set_tag(x_157, 7); } -x_155 = lean_array_get_size(x_146); -x_156 = l___private_Init_Data_Repr_0__Nat_reprFast(x_155); -x_157 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_157, 0, x_156); -x_158 = l_Lean_MessageData_ofFormat(x_157); -x_159 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__24; -if (lean_is_scalar(x_154)) { - x_160 = lean_alloc_ctor(7, 2, 0); -} else { - x_160 = x_154; - lean_ctor_set_tag(x_160, 7); -} -lean_ctor_set(x_160, 0, x_159); -lean_ctor_set(x_160, 1, x_158); -x_161 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; -lean_ctor_set_tag(x_28, 7); -lean_ctor_set(x_28, 1, x_161); -lean_ctor_set(x_28, 0, x_160); -x_162 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_28, x_5, x_6, x_7, x_8, x_153); -x_163 = lean_ctor_get(x_162, 0); -lean_inc(x_163); -x_164 = lean_ctor_get(x_162, 1); -lean_inc(x_164); -lean_dec(x_162); -x_165 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_146, x_2, x_163, x_5, x_6, x_7, x_8, x_164); -lean_dec(x_163); -lean_dec(x_146); -return x_165; +lean_ctor_set(x_157, 1, x_155); +x_158 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; +lean_ctor_set_tag(x_25, 7); +lean_ctor_set(x_25, 1, x_158); +lean_ctor_set(x_25, 0, x_157); +x_159 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_25, x_5, x_6, x_7, x_8, x_150); +x_160 = lean_ctor_get(x_159, 0); +lean_inc(x_160); +x_161 = lean_ctor_get(x_159, 1); +lean_inc(x_161); +lean_dec(x_159); +x_162 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_143, x_2, x_160, x_5, x_6, x_7, x_8, x_161); +lean_dec(x_160); +lean_dec(x_143); +return x_162; } } } } else { -uint8_t x_166; -lean_free_object(x_28); +uint8_t x_163; +lean_free_object(x_25); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -2671,74 +2660,74 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_166 = !lean_is_exclusive(x_44); -if (x_166 == 0) +x_163 = !lean_is_exclusive(x_41); +if (x_163 == 0) { -return x_44; +return x_41; } else { -lean_object* x_167; lean_object* x_168; lean_object* x_169; -x_167 = lean_ctor_get(x_44, 0); -x_168 = lean_ctor_get(x_44, 1); -lean_inc(x_168); -lean_inc(x_167); -lean_dec(x_44); -x_169 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_169, 0, x_167); -lean_ctor_set(x_169, 1, x_168); -return x_169; +lean_object* x_164; lean_object* x_165; lean_object* x_166; +x_164 = lean_ctor_get(x_41, 0); +x_165 = lean_ctor_get(x_41, 1); +lean_inc(x_165); +lean_inc(x_164); +lean_dec(x_41); +x_166 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_166, 0, x_164); +lean_ctor_set(x_166, 1, x_165); +return x_166; } } } default: { -lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; uint8_t x_174; -lean_free_object(x_28); +lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; uint8_t x_171; +lean_free_object(x_25); lean_dec(x_1); -x_170 = lean_ctor_get(x_34, 1); -lean_inc(x_170); -lean_dec(x_34); -x_171 = lean_ctor_get(x_36, 0); -lean_inc(x_171); -lean_dec(x_36); +x_167 = lean_ctor_get(x_31, 1); +lean_inc(x_167); +lean_dec(x_31); +x_168 = lean_ctor_get(x_33, 0); +lean_inc(x_168); +lean_dec(x_33); lean_inc(x_3); -x_172 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_170); -x_173 = lean_ctor_get(x_172, 0); -lean_inc(x_173); -x_174 = lean_unbox(x_173); -lean_dec(x_173); -if (x_174 == 0) +x_169 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_167); +x_170 = lean_ctor_get(x_169, 0); +lean_inc(x_170); +x_171 = lean_unbox(x_170); +lean_dec(x_170); +if (x_171 == 0) { -lean_object* x_175; lean_object* x_176; +lean_object* x_172; lean_object* x_173; lean_dec(x_3); -x_175 = lean_ctor_get(x_172, 1); -lean_inc(x_175); -lean_dec(x_172); -x_176 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_171, x_5, x_6, x_7, x_8, x_175); -return x_176; +x_172 = lean_ctor_get(x_169, 1); +lean_inc(x_172); +lean_dec(x_169); +x_173 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_168, x_5, x_6, x_7, x_8, x_172); +return x_173; } else { -lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; -x_177 = lean_ctor_get(x_172, 1); +lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; +x_174 = lean_ctor_get(x_169, 1); +lean_inc(x_174); +lean_dec(x_169); +x_175 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__26; +x_176 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_175, x_5, x_6, x_7, x_8, x_174); +x_177 = lean_ctor_get(x_176, 1); lean_inc(x_177); -lean_dec(x_172); -x_178 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__26; -x_179 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_178, x_5, x_6, x_7, x_8, x_177); -x_180 = lean_ctor_get(x_179, 1); -lean_inc(x_180); -lean_dec(x_179); -x_181 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_171, x_5, x_6, x_7, x_8, x_180); -return x_181; +lean_dec(x_176); +x_178 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_168, x_5, x_6, x_7, x_8, x_177); +return x_178; } } } } else { -uint8_t x_182; -lean_free_object(x_28); +uint8_t x_179; +lean_free_object(x_25); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -2746,54 +2735,54 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_182 = !lean_is_exclusive(x_34); -if (x_182 == 0) +x_179 = !lean_is_exclusive(x_31); +if (x_179 == 0) { -return x_34; +return x_31; } else { -lean_object* x_183; lean_object* x_184; lean_object* x_185; -x_183 = lean_ctor_get(x_34, 0); -x_184 = lean_ctor_get(x_34, 1); +lean_object* x_180; lean_object* x_181; lean_object* x_182; +x_180 = lean_ctor_get(x_31, 0); +x_181 = lean_ctor_get(x_31, 1); +lean_inc(x_181); +lean_inc(x_180); +lean_dec(x_31); +x_182 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_182, 0, x_180); +lean_ctor_set(x_182, 1, x_181); +return x_182; +} +} +} +else +{ +lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; +x_183 = lean_ctor_get(x_25, 0); +x_184 = lean_ctor_get(x_25, 1); lean_inc(x_184); lean_inc(x_183); -lean_dec(x_34); -x_185 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_185, 0, x_183); -lean_ctor_set(x_185, 1, x_184); -return x_185; -} -} -} -else -{ -lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; -x_186 = lean_ctor_get(x_28, 0); -x_187 = lean_ctor_get(x_28, 1); -lean_inc(x_187); -lean_inc(x_186); -lean_dec(x_28); -x_188 = lean_box(0); -x_189 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__14; +lean_dec(x_25); +x_185 = lean_box(0); +x_186 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__14; lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_1); -x_190 = l_Lean_Meta_simpTargetStar(x_1, x_186, x_26, x_188, x_189, x_5, x_6, x_7, x_8, x_187); -if (lean_obj_tag(x_190) == 0) +x_187 = l_Lean_Meta_simpTargetStar(x_1, x_183, x_23, x_185, x_186, x_5, x_6, x_7, x_8, x_184); +if (lean_obj_tag(x_187) == 0) { -lean_object* x_191; lean_object* x_192; -x_191 = lean_ctor_get(x_190, 0); -lean_inc(x_191); -x_192 = lean_ctor_get(x_191, 0); -lean_inc(x_192); -lean_dec(x_191); -switch (lean_obj_tag(x_192)) { +lean_object* x_188; lean_object* x_189; +x_188 = lean_ctor_get(x_187, 0); +lean_inc(x_188); +x_189 = lean_ctor_get(x_188, 0); +lean_inc(x_189); +lean_dec(x_188); +switch (lean_obj_tag(x_189)) { case 0: { -lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; +lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -2801,175 +2790,175 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_193 = lean_ctor_get(x_190, 1); -lean_inc(x_193); -if (lean_is_exclusive(x_190)) { - lean_ctor_release(x_190, 0); - lean_ctor_release(x_190, 1); - x_194 = x_190; +x_190 = lean_ctor_get(x_187, 1); +lean_inc(x_190); +if (lean_is_exclusive(x_187)) { + lean_ctor_release(x_187, 0); + lean_ctor_release(x_187, 1); + x_191 = x_187; } else { - lean_dec_ref(x_190); - x_194 = lean_box(0); + lean_dec_ref(x_187); + x_191 = lean_box(0); } -x_195 = lean_box(0); -if (lean_is_scalar(x_194)) { - x_196 = lean_alloc_ctor(0, 2, 0); +x_192 = lean_box(0); +if (lean_is_scalar(x_191)) { + x_193 = lean_alloc_ctor(0, 2, 0); } else { - x_196 = x_194; + x_193 = x_191; } -lean_ctor_set(x_196, 0, x_195); -lean_ctor_set(x_196, 1, x_193); -return x_196; +lean_ctor_set(x_193, 0, x_192); +lean_ctor_set(x_193, 1, x_190); +return x_193; } case 1: { -lean_object* x_197; lean_object* x_198; -x_197 = lean_ctor_get(x_190, 1); -lean_inc(x_197); -lean_dec(x_190); +lean_object* x_194; lean_object* x_195; +x_194 = lean_ctor_get(x_187, 1); +lean_inc(x_194); +lean_dec(x_187); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_1); -x_198 = l_Lean_Meta_casesOnStuckLHS_x3f(x_1, x_5, x_6, x_7, x_8, x_197); -if (lean_obj_tag(x_198) == 0) +x_195 = l_Lean_Meta_casesOnStuckLHS_x3f(x_1, x_5, x_6, x_7, x_8, x_194); +if (lean_obj_tag(x_195) == 0) { -lean_object* x_199; -x_199 = lean_ctor_get(x_198, 0); -lean_inc(x_199); +lean_object* x_196; +x_196 = lean_ctor_get(x_195, 0); +lean_inc(x_196); +if (lean_obj_tag(x_196) == 0) +{ +lean_object* x_197; uint8_t x_198; lean_object* x_199; +x_197 = lean_ctor_get(x_195, 1); +lean_inc(x_197); +lean_dec(x_195); +x_198 = 1; +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_1); +x_199 = l_Lean_Meta_splitTarget_x3f(x_1, x_198, x_5, x_6, x_7, x_8, x_197); if (lean_obj_tag(x_199) == 0) { -lean_object* x_200; uint8_t x_201; lean_object* x_202; -x_200 = lean_ctor_get(x_198, 1); +lean_object* x_200; +x_200 = lean_ctor_get(x_199, 0); lean_inc(x_200); -lean_dec(x_198); -x_201 = 1; -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_1); -x_202 = l_Lean_Meta_splitTarget_x3f(x_1, x_201, x_5, x_6, x_7, x_8, x_200); -if (lean_obj_tag(x_202) == 0) +if (lean_obj_tag(x_200) == 0) { -lean_object* x_203; -x_203 = lean_ctor_get(x_202, 0); -lean_inc(x_203); -if (lean_obj_tag(x_203) == 0) -{ -lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; +lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_dec(x_3); -x_204 = lean_ctor_get(x_202, 1); -lean_inc(x_204); -lean_dec(x_202); -x_205 = l_Lean_MessageData_ofName(x_2); -x_206 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__16; -x_207 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_207, 0, x_206); -lean_ctor_set(x_207, 1, x_205); -x_208 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__18; -x_209 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_209, 0, x_207); -lean_ctor_set(x_209, 1, x_208); -x_210 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_210, 0, x_1); -x_211 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_211, 0, x_209); -lean_ctor_set(x_211, 1, x_210); -x_212 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__11; -x_213 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_213, 0, x_211); -lean_ctor_set(x_213, 1, x_212); -x_214 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_213, x_5, x_6, x_7, x_8, x_204); +x_201 = lean_ctor_get(x_199, 1); +lean_inc(x_201); +lean_dec(x_199); +x_202 = l_Lean_MessageData_ofName(x_2); +x_203 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__16; +x_204 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_204, 0, x_203); +lean_ctor_set(x_204, 1, x_202); +x_205 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__18; +x_206 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_206, 0, x_204); +lean_ctor_set(x_206, 1, x_205); +x_207 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_207, 0, x_1); +x_208 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_208, 0, x_206); +lean_ctor_set(x_208, 1, x_207); +x_209 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__11; +x_210 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_210, 0, x_208); +lean_ctor_set(x_210, 1, x_209); +x_211 = l_Lean_throwError___at_Lean_Meta_setInlineAttribute___spec__1(x_210, x_5, x_6, x_7, x_8, x_201); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); -return x_214; +return x_211; } else { -lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; uint8_t x_220; +lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; uint8_t x_217; lean_dec(x_1); -x_215 = lean_ctor_get(x_202, 1); -lean_inc(x_215); -lean_dec(x_202); -x_216 = lean_ctor_get(x_203, 0); -lean_inc(x_216); -if (lean_is_exclusive(x_203)) { - lean_ctor_release(x_203, 0); - x_217 = x_203; +x_212 = lean_ctor_get(x_199, 1); +lean_inc(x_212); +lean_dec(x_199); +x_213 = lean_ctor_get(x_200, 0); +lean_inc(x_213); +if (lean_is_exclusive(x_200)) { + lean_ctor_release(x_200, 0); + x_214 = x_200; } else { - lean_dec_ref(x_203); - x_217 = lean_box(0); + lean_dec_ref(x_200); + x_214 = lean_box(0); } lean_inc(x_3); -x_218 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_215); -x_219 = lean_ctor_get(x_218, 0); -lean_inc(x_219); -x_220 = lean_unbox(x_219); -lean_dec(x_219); -if (x_220 == 0) +x_215 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_212); +x_216 = lean_ctor_get(x_215, 0); +lean_inc(x_216); +x_217 = lean_unbox(x_216); +lean_dec(x_216); +if (x_217 == 0) { -lean_object* x_221; lean_object* x_222; -lean_dec(x_217); +lean_object* x_218; lean_object* x_219; +lean_dec(x_214); lean_dec(x_3); -x_221 = lean_ctor_get(x_218, 1); -lean_inc(x_221); -lean_dec(x_218); -x_222 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_216, x_5, x_6, x_7, x_8, x_221); -return x_222; +x_218 = lean_ctor_get(x_215, 1); +lean_inc(x_218); +lean_dec(x_215); +x_219 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_213, x_5, x_6, x_7, x_8, x_218); +return x_219; } else { -lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; -x_223 = lean_ctor_get(x_218, 1); -lean_inc(x_223); -if (lean_is_exclusive(x_218)) { - lean_ctor_release(x_218, 0); - lean_ctor_release(x_218, 1); - x_224 = x_218; +lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; +x_220 = lean_ctor_get(x_215, 1); +lean_inc(x_220); +if (lean_is_exclusive(x_215)) { + lean_ctor_release(x_215, 0); + lean_ctor_release(x_215, 1); + x_221 = x_215; } else { - lean_dec_ref(x_218); - x_224 = lean_box(0); + lean_dec_ref(x_215); + x_221 = lean_box(0); } -x_225 = lean_unsigned_to_nat(0u); -x_226 = l_List_lengthTRAux___rarg(x_216, x_225); -x_227 = l___private_Init_Data_Repr_0__Nat_reprFast(x_226); -if (lean_is_scalar(x_217)) { - x_228 = lean_alloc_ctor(3, 1, 0); +x_222 = lean_unsigned_to_nat(0u); +x_223 = l_List_lengthTRAux___rarg(x_213, x_222); +x_224 = l___private_Init_Data_Repr_0__Nat_reprFast(x_223); +if (lean_is_scalar(x_214)) { + x_225 = lean_alloc_ctor(3, 1, 0); } else { - x_228 = x_217; - lean_ctor_set_tag(x_228, 3); + x_225 = x_214; + lean_ctor_set_tag(x_225, 3); +} +lean_ctor_set(x_225, 0, x_224); +x_226 = l_Lean_MessageData_ofFormat(x_225); +x_227 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__20; +if (lean_is_scalar(x_221)) { + x_228 = lean_alloc_ctor(7, 2, 0); +} else { + x_228 = x_221; + lean_ctor_set_tag(x_228, 7); } lean_ctor_set(x_228, 0, x_227); -x_229 = l_Lean_MessageData_ofFormat(x_228); -x_230 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__20; -if (lean_is_scalar(x_224)) { - x_231 = lean_alloc_ctor(7, 2, 0); -} else { - x_231 = x_224; - lean_ctor_set_tag(x_231, 7); -} -lean_ctor_set(x_231, 0, x_230); -lean_ctor_set(x_231, 1, x_229); -x_232 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; -x_233 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_233, 0, x_231); -lean_ctor_set(x_233, 1, x_232); -x_234 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_233, x_5, x_6, x_7, x_8, x_223); -x_235 = lean_ctor_get(x_234, 1); -lean_inc(x_235); -lean_dec(x_234); -x_236 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_216, x_5, x_6, x_7, x_8, x_235); -return x_236; +lean_ctor_set(x_228, 1, x_226); +x_229 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; +x_230 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_230, 0, x_228); +lean_ctor_set(x_230, 1, x_229); +x_231 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_230, x_5, x_6, x_7, x_8, x_220); +x_232 = lean_ctor_get(x_231, 1); +lean_inc(x_232); +lean_dec(x_231); +x_233 = l_List_forM___at___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___spec__1(x_2, x_213, x_5, x_6, x_7, x_8, x_232); +return x_233; } } } else { -lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; +lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -2977,115 +2966,115 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_237 = lean_ctor_get(x_202, 0); -lean_inc(x_237); -x_238 = lean_ctor_get(x_202, 1); -lean_inc(x_238); -if (lean_is_exclusive(x_202)) { - lean_ctor_release(x_202, 0); - lean_ctor_release(x_202, 1); - x_239 = x_202; -} else { - lean_dec_ref(x_202); - x_239 = lean_box(0); -} -if (lean_is_scalar(x_239)) { - x_240 = lean_alloc_ctor(1, 2, 0); -} else { - x_240 = x_239; -} -lean_ctor_set(x_240, 0, x_237); -lean_ctor_set(x_240, 1, x_238); -return x_240; -} -} -else -{ -lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; uint8_t x_246; -lean_dec(x_1); -x_241 = lean_ctor_get(x_198, 1); -lean_inc(x_241); -lean_dec(x_198); -x_242 = lean_ctor_get(x_199, 0); -lean_inc(x_242); +x_234 = lean_ctor_get(x_199, 0); +lean_inc(x_234); +x_235 = lean_ctor_get(x_199, 1); +lean_inc(x_235); if (lean_is_exclusive(x_199)) { lean_ctor_release(x_199, 0); - x_243 = x_199; + lean_ctor_release(x_199, 1); + x_236 = x_199; } else { lean_dec_ref(x_199); - x_243 = lean_box(0); + x_236 = lean_box(0); +} +if (lean_is_scalar(x_236)) { + x_237 = lean_alloc_ctor(1, 2, 0); +} else { + x_237 = x_236; +} +lean_ctor_set(x_237, 0, x_234); +lean_ctor_set(x_237, 1, x_235); +return x_237; +} +} +else +{ +lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; uint8_t x_243; +lean_dec(x_1); +x_238 = lean_ctor_get(x_195, 1); +lean_inc(x_238); +lean_dec(x_195); +x_239 = lean_ctor_get(x_196, 0); +lean_inc(x_239); +if (lean_is_exclusive(x_196)) { + lean_ctor_release(x_196, 0); + x_240 = x_196; +} else { + lean_dec_ref(x_196); + x_240 = lean_box(0); } lean_inc(x_3); -x_244 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_241); -x_245 = lean_ctor_get(x_244, 0); -lean_inc(x_245); -x_246 = lean_unbox(x_245); -lean_dec(x_245); -if (x_246 == 0) -{ -lean_object* x_247; lean_object* x_248; lean_object* x_249; -lean_dec(x_243); -lean_dec(x_3); -x_247 = lean_ctor_get(x_244, 1); -lean_inc(x_247); -lean_dec(x_244); -x_248 = lean_box(0); -x_249 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_242, x_2, x_248, x_5, x_6, x_7, x_8, x_247); +x_241 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_238); +x_242 = lean_ctor_get(x_241, 0); +lean_inc(x_242); +x_243 = lean_unbox(x_242); lean_dec(x_242); -return x_249; +if (x_243 == 0) +{ +lean_object* x_244; lean_object* x_245; lean_object* x_246; +lean_dec(x_240); +lean_dec(x_3); +x_244 = lean_ctor_get(x_241, 1); +lean_inc(x_244); +lean_dec(x_241); +x_245 = lean_box(0); +x_246 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_239, x_2, x_245, x_5, x_6, x_7, x_8, x_244); +lean_dec(x_239); +return x_246; } else { -lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; -x_250 = lean_ctor_get(x_244, 1); -lean_inc(x_250); -if (lean_is_exclusive(x_244)) { - lean_ctor_release(x_244, 0); - lean_ctor_release(x_244, 1); - x_251 = x_244; +lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; +x_247 = lean_ctor_get(x_241, 1); +lean_inc(x_247); +if (lean_is_exclusive(x_241)) { + lean_ctor_release(x_241, 0); + lean_ctor_release(x_241, 1); + x_248 = x_241; } else { - lean_dec_ref(x_244); - x_251 = lean_box(0); + lean_dec_ref(x_241); + x_248 = lean_box(0); } -x_252 = lean_array_get_size(x_242); -x_253 = l___private_Init_Data_Repr_0__Nat_reprFast(x_252); -if (lean_is_scalar(x_243)) { - x_254 = lean_alloc_ctor(3, 1, 0); +x_249 = lean_array_get_size(x_239); +x_250 = l___private_Init_Data_Repr_0__Nat_reprFast(x_249); +if (lean_is_scalar(x_240)) { + x_251 = lean_alloc_ctor(3, 1, 0); } else { - x_254 = x_243; - lean_ctor_set_tag(x_254, 3); + x_251 = x_240; + lean_ctor_set_tag(x_251, 3); +} +lean_ctor_set(x_251, 0, x_250); +x_252 = l_Lean_MessageData_ofFormat(x_251); +x_253 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__24; +if (lean_is_scalar(x_248)) { + x_254 = lean_alloc_ctor(7, 2, 0); +} else { + x_254 = x_248; + lean_ctor_set_tag(x_254, 7); } lean_ctor_set(x_254, 0, x_253); -x_255 = l_Lean_MessageData_ofFormat(x_254); -x_256 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__24; -if (lean_is_scalar(x_251)) { - x_257 = lean_alloc_ctor(7, 2, 0); -} else { - x_257 = x_251; - lean_ctor_set_tag(x_257, 7); -} -lean_ctor_set(x_257, 0, x_256); -lean_ctor_set(x_257, 1, x_255); -x_258 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; -x_259 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_259, 0, x_257); -lean_ctor_set(x_259, 1, x_258); -x_260 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_259, x_5, x_6, x_7, x_8, x_250); -x_261 = lean_ctor_get(x_260, 0); -lean_inc(x_261); -x_262 = lean_ctor_get(x_260, 1); -lean_inc(x_262); -lean_dec(x_260); -x_263 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_242, x_2, x_261, x_5, x_6, x_7, x_8, x_262); -lean_dec(x_261); -lean_dec(x_242); -return x_263; +lean_ctor_set(x_254, 1, x_252); +x_255 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__22; +x_256 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_256, 0, x_254); +lean_ctor_set(x_256, 1, x_255); +x_257 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_256, x_5, x_6, x_7, x_8, x_247); +x_258 = lean_ctor_get(x_257, 0); +lean_inc(x_258); +x_259 = lean_ctor_get(x_257, 1); +lean_inc(x_259); +lean_dec(x_257); +x_260 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__2(x_239, x_2, x_258, x_5, x_6, x_7, x_8, x_259); +lean_dec(x_258); +lean_dec(x_239); +return x_260; } } } else { -lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; +lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -3093,221 +3082,149 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_264 = lean_ctor_get(x_198, 0); -lean_inc(x_264); -x_265 = lean_ctor_get(x_198, 1); -lean_inc(x_265); -if (lean_is_exclusive(x_198)) { - lean_ctor_release(x_198, 0); - lean_ctor_release(x_198, 1); - x_266 = x_198; +x_261 = lean_ctor_get(x_195, 0); +lean_inc(x_261); +x_262 = lean_ctor_get(x_195, 1); +lean_inc(x_262); +if (lean_is_exclusive(x_195)) { + lean_ctor_release(x_195, 0); + lean_ctor_release(x_195, 1); + x_263 = x_195; } else { - lean_dec_ref(x_198); - x_266 = lean_box(0); + lean_dec_ref(x_195); + x_263 = lean_box(0); } -if (lean_is_scalar(x_266)) { - x_267 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_263)) { + x_264 = lean_alloc_ctor(1, 2, 0); } else { - x_267 = x_266; + x_264 = x_263; } -lean_ctor_set(x_267, 0, x_264); -lean_ctor_set(x_267, 1, x_265); -return x_267; +lean_ctor_set(x_264, 0, x_261); +lean_ctor_set(x_264, 1, x_262); +return x_264; } } default: { -lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; uint8_t x_272; +lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; uint8_t x_269; lean_dec(x_1); -x_268 = lean_ctor_get(x_190, 1); +x_265 = lean_ctor_get(x_187, 1); +lean_inc(x_265); +lean_dec(x_187); +x_266 = lean_ctor_get(x_189, 0); +lean_inc(x_266); +lean_dec(x_189); +lean_inc(x_3); +x_267 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_265); +x_268 = lean_ctor_get(x_267, 0); lean_inc(x_268); -lean_dec(x_190); -x_269 = lean_ctor_get(x_192, 0); -lean_inc(x_269); -lean_dec(x_192); -lean_inc(x_3); -x_270 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_268); -x_271 = lean_ctor_get(x_270, 0); -lean_inc(x_271); -x_272 = lean_unbox(x_271); -lean_dec(x_271); -if (x_272 == 0) +x_269 = lean_unbox(x_268); +lean_dec(x_268); +if (x_269 == 0) { -lean_object* x_273; lean_object* x_274; +lean_object* x_270; lean_object* x_271; lean_dec(x_3); -x_273 = lean_ctor_get(x_270, 1); -lean_inc(x_273); -lean_dec(x_270); -x_274 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_269, x_5, x_6, x_7, x_8, x_273); -return x_274; +x_270 = lean_ctor_get(x_267, 1); +lean_inc(x_270); +lean_dec(x_267); +x_271 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_266, x_5, x_6, x_7, x_8, x_270); +return x_271; } else { -lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; -x_275 = lean_ctor_get(x_270, 1); +lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; +x_272 = lean_ctor_get(x_267, 1); +lean_inc(x_272); +lean_dec(x_267); +x_273 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__26; +x_274 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_273, x_5, x_6, x_7, x_8, x_272); +x_275 = lean_ctor_get(x_274, 1); lean_inc(x_275); -lean_dec(x_270); -x_276 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__26; -x_277 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_276, x_5, x_6, x_7, x_8, x_275); -x_278 = lean_ctor_get(x_277, 1); +lean_dec(x_274); +x_276 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_266, x_5, x_6, x_7, x_8, x_275); +return x_276; +} +} +} +} +else +{ +lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_277 = lean_ctor_get(x_187, 0); +lean_inc(x_277); +x_278 = lean_ctor_get(x_187, 1); lean_inc(x_278); -lean_dec(x_277); -x_279 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_269, x_5, x_6, x_7, x_8, x_278); -return x_279; +if (lean_is_exclusive(x_187)) { + lean_ctor_release(x_187, 0); + lean_ctor_release(x_187, 1); + x_279 = x_187; +} else { + lean_dec_ref(x_187); + x_279 = lean_box(0); } +if (lean_is_scalar(x_279)) { + x_280 = lean_alloc_ctor(1, 2, 0); +} else { + x_280 = x_279; +} +lean_ctor_set(x_280, 0, x_277); +lean_ctor_set(x_280, 1, x_278); +return x_280; } } } else { -lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); +lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; uint8_t x_285; lean_dec(x_1); -x_280 = lean_ctor_get(x_190, 0); -lean_inc(x_280); -x_281 = lean_ctor_get(x_190, 1); +x_281 = lean_ctor_get(x_19, 1); lean_inc(x_281); -if (lean_is_exclusive(x_190)) { - lean_ctor_release(x_190, 0); - lean_ctor_release(x_190, 1); - x_282 = x_190; -} else { - lean_dec_ref(x_190); - x_282 = lean_box(0); -} -if (lean_is_scalar(x_282)) { - x_283 = lean_alloc_ctor(1, 2, 0); -} else { - x_283 = x_282; -} -lean_ctor_set(x_283, 0, x_280); -lean_ctor_set(x_283, 1, x_281); -return x_283; -} -} -} -else -{ -lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; uint8_t x_288; -lean_dec(x_1); -x_284 = lean_ctor_get(x_22, 1); -lean_inc(x_284); -lean_dec(x_22); -x_285 = lean_ctor_get(x_23, 0); -lean_inc(x_285); -lean_dec(x_23); -lean_inc(x_3); -x_286 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_284); -x_287 = lean_ctor_get(x_286, 0); -lean_inc(x_287); -x_288 = lean_unbox(x_287); -lean_dec(x_287); -if (x_288 == 0) -{ -lean_object* x_289; lean_object* x_290; -lean_dec(x_3); -x_289 = lean_ctor_get(x_286, 1); -lean_inc(x_289); -lean_dec(x_286); -x_290 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_285, x_5, x_6, x_7, x_8, x_289); -return x_290; -} -else -{ -lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; -x_291 = lean_ctor_get(x_286, 1); -lean_inc(x_291); -lean_dec(x_286); -x_292 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__28; -x_293 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_292, x_5, x_6, x_7, x_8, x_291); -x_294 = lean_ctor_get(x_293, 1); -lean_inc(x_294); -lean_dec(x_293); -x_295 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_285, x_5, x_6, x_7, x_8, x_294); -return x_295; -} -} -} -else -{ -uint8_t x_296; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_296 = !lean_is_exclusive(x_22); -if (x_296 == 0) -{ -return x_22; -} -else -{ -lean_object* x_297; lean_object* x_298; lean_object* x_299; -x_297 = lean_ctor_get(x_22, 0); -x_298 = lean_ctor_get(x_22, 1); -lean_inc(x_298); -lean_inc(x_297); -lean_dec(x_22); -x_299 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_299, 0, x_297); -lean_ctor_set(x_299, 1, x_298); -return x_299; -} -} -} -else -{ -lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; uint8_t x_304; -lean_dec(x_1); -x_300 = lean_ctor_get(x_19, 1); -lean_inc(x_300); lean_dec(x_19); -x_301 = lean_ctor_get(x_20, 0); -lean_inc(x_301); +x_282 = lean_ctor_get(x_20, 0); +lean_inc(x_282); lean_dec(x_20); lean_inc(x_3); -x_302 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_300); -x_303 = lean_ctor_get(x_302, 0); -lean_inc(x_303); -x_304 = lean_unbox(x_303); -lean_dec(x_303); -if (x_304 == 0) +x_283 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_281); +x_284 = lean_ctor_get(x_283, 0); +lean_inc(x_284); +x_285 = lean_unbox(x_284); +lean_dec(x_284); +if (x_285 == 0) { -lean_object* x_305; lean_object* x_306; +lean_object* x_286; lean_object* x_287; lean_dec(x_3); -x_305 = lean_ctor_get(x_302, 1); -lean_inc(x_305); -lean_dec(x_302); -x_306 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_301, x_5, x_6, x_7, x_8, x_305); -return x_306; +x_286 = lean_ctor_get(x_283, 1); +lean_inc(x_286); +lean_dec(x_283); +x_287 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_282, x_5, x_6, x_7, x_8, x_286); +return x_287; } else { -lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; -x_307 = lean_ctor_get(x_302, 1); -lean_inc(x_307); -lean_dec(x_302); -x_308 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__30; -x_309 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_308, x_5, x_6, x_7, x_8, x_307); -x_310 = lean_ctor_get(x_309, 1); -lean_inc(x_310); -lean_dec(x_309); -x_311 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_301, x_5, x_6, x_7, x_8, x_310); -return x_311; +lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; +x_288 = lean_ctor_get(x_283, 1); +lean_inc(x_288); +lean_dec(x_283); +x_289 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__28; +x_290 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_289, x_5, x_6, x_7, x_8, x_288); +x_291 = lean_ctor_get(x_290, 1); +lean_inc(x_291); +lean_dec(x_290); +x_292 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_282, x_5, x_6, x_7, x_8, x_291); +return x_292; } } } else { -uint8_t x_312; +uint8_t x_293; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -3315,71 +3232,71 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_312 = !lean_is_exclusive(x_19); -if (x_312 == 0) +x_293 = !lean_is_exclusive(x_19); +if (x_293 == 0) { return x_19; } else { -lean_object* x_313; lean_object* x_314; lean_object* x_315; -x_313 = lean_ctor_get(x_19, 0); -x_314 = lean_ctor_get(x_19, 1); -lean_inc(x_314); -lean_inc(x_313); +lean_object* x_294; lean_object* x_295; lean_object* x_296; +x_294 = lean_ctor_get(x_19, 0); +x_295 = lean_ctor_get(x_19, 1); +lean_inc(x_295); +lean_inc(x_294); lean_dec(x_19); -x_315 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_315, 0, x_313); -lean_ctor_set(x_315, 1, x_314); -return x_315; +x_296 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_296, 0, x_294); +lean_ctor_set(x_296, 1, x_295); +return x_296; } } } else { -lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; uint8_t x_320; +lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; uint8_t x_301; lean_dec(x_1); -x_316 = lean_ctor_get(x_16, 1); -lean_inc(x_316); +x_297 = lean_ctor_get(x_16, 1); +lean_inc(x_297); lean_dec(x_16); -x_317 = lean_ctor_get(x_17, 0); -lean_inc(x_317); +x_298 = lean_ctor_get(x_17, 0); +lean_inc(x_298); lean_dec(x_17); lean_inc(x_3); -x_318 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_316); -x_319 = lean_ctor_get(x_318, 0); -lean_inc(x_319); -x_320 = lean_unbox(x_319); -lean_dec(x_319); -if (x_320 == 0) +x_299 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_297); +x_300 = lean_ctor_get(x_299, 0); +lean_inc(x_300); +x_301 = lean_unbox(x_300); +lean_dec(x_300); +if (x_301 == 0) { -lean_object* x_321; lean_object* x_322; +lean_object* x_302; lean_object* x_303; lean_dec(x_3); -x_321 = lean_ctor_get(x_318, 1); -lean_inc(x_321); -lean_dec(x_318); -x_322 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_317, x_5, x_6, x_7, x_8, x_321); -return x_322; +x_302 = lean_ctor_get(x_299, 1); +lean_inc(x_302); +lean_dec(x_299); +x_303 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_298, x_5, x_6, x_7, x_8, x_302); +return x_303; } else { -lean_object* x_323; lean_object* x_324; lean_object* x_325; lean_object* x_326; lean_object* x_327; -x_323 = lean_ctor_get(x_318, 1); -lean_inc(x_323); -lean_dec(x_318); -x_324 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__32; -x_325 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_324, x_5, x_6, x_7, x_8, x_323); -x_326 = lean_ctor_get(x_325, 1); -lean_inc(x_326); -lean_dec(x_325); -x_327 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_317, x_5, x_6, x_7, x_8, x_326); -return x_327; +lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; +x_304 = lean_ctor_get(x_299, 1); +lean_inc(x_304); +lean_dec(x_299); +x_305 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__30; +x_306 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_305, x_5, x_6, x_7, x_8, x_304); +x_307 = lean_ctor_get(x_306, 1); +lean_inc(x_307); +lean_dec(x_306); +x_308 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof(x_2, x_298, x_5, x_6, x_7, x_8, x_307); +return x_308; } } } else { -uint8_t x_328; +uint8_t x_309; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -3387,70 +3304,70 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_328 = !lean_is_exclusive(x_16); -if (x_328 == 0) +x_309 = !lean_is_exclusive(x_16); +if (x_309 == 0) { return x_16; } else { -lean_object* x_329; lean_object* x_330; lean_object* x_331; -x_329 = lean_ctor_get(x_16, 0); -x_330 = lean_ctor_get(x_16, 1); -lean_inc(x_330); -lean_inc(x_329); +lean_object* x_310; lean_object* x_311; lean_object* x_312; +x_310 = lean_ctor_get(x_16, 0); +x_311 = lean_ctor_get(x_16, 1); +lean_inc(x_311); +lean_inc(x_310); lean_dec(x_16); -x_331 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_331, 0, x_329); -lean_ctor_set(x_331, 1, x_330); -return x_331; +x_312 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_312, 0, x_310); +lean_ctor_set(x_312, 1, x_311); +return x_312; } } } else { -lean_object* x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; uint8_t x_337; +lean_object* x_313; lean_object* x_314; lean_object* x_315; lean_object* x_316; lean_object* x_317; uint8_t x_318; lean_dec(x_2); lean_dec(x_1); -x_332 = lean_ctor_get(x_12, 1); -lean_inc(x_332); +x_313 = lean_ctor_get(x_12, 1); +lean_inc(x_313); lean_dec(x_12); lean_inc(x_3); -x_333 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_332); -x_334 = lean_ctor_get(x_333, 0); -lean_inc(x_334); -x_335 = lean_ctor_get(x_333, 1); -lean_inc(x_335); -lean_dec(x_333); -x_336 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__33; -x_337 = lean_unbox(x_334); -lean_dec(x_334); -if (x_337 == 0) +x_314 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_313); +x_315 = lean_ctor_get(x_314, 0); +lean_inc(x_315); +x_316 = lean_ctor_get(x_314, 1); +lean_inc(x_316); +lean_dec(x_314); +x_317 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__31; +x_318 = lean_unbox(x_315); +lean_dec(x_315); +if (x_318 == 0) { -lean_object* x_338; lean_object* x_339; +lean_object* x_319; lean_object* x_320; lean_dec(x_3); -x_338 = lean_box(0); -x_339 = lean_apply_6(x_336, x_338, x_5, x_6, x_7, x_8, x_335); -return x_339; +x_319 = lean_box(0); +x_320 = lean_apply_6(x_317, x_319, x_5, x_6, x_7, x_8, x_316); +return x_320; } else { -lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; -x_340 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__35; -x_341 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_340, x_5, x_6, x_7, x_8, x_335); -x_342 = lean_ctor_get(x_341, 0); -lean_inc(x_342); -x_343 = lean_ctor_get(x_341, 1); -lean_inc(x_343); -lean_dec(x_341); -x_344 = lean_apply_6(x_336, x_342, x_5, x_6, x_7, x_8, x_343); -return x_344; +lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; +x_321 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__33; +x_322 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_321, x_5, x_6, x_7, x_8, x_316); +x_323 = lean_ctor_get(x_322, 0); +lean_inc(x_323); +x_324 = lean_ctor_get(x_322, 1); +lean_inc(x_324); +lean_dec(x_322); +x_325 = lean_apply_6(x_317, x_323, x_5, x_6, x_7, x_8, x_324); +return x_325; } } } else { -uint8_t x_345; +uint8_t x_326; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -3458,61 +3375,61 @@ lean_dec(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_345 = !lean_is_exclusive(x_12); -if (x_345 == 0) +x_326 = !lean_is_exclusive(x_12); +if (x_326 == 0) { return x_12; } else { -lean_object* x_346; lean_object* x_347; lean_object* x_348; -x_346 = lean_ctor_get(x_12, 0); -x_347 = lean_ctor_get(x_12, 1); -lean_inc(x_347); -lean_inc(x_346); +lean_object* x_327; lean_object* x_328; lean_object* x_329; +x_327 = lean_ctor_get(x_12, 0); +x_328 = lean_ctor_get(x_12, 1); +lean_inc(x_328); +lean_inc(x_327); lean_dec(x_12); -x_348 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_348, 0, x_346); -lean_ctor_set(x_348, 1, x_347); -return x_348; +x_329 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_329, 0, x_327); +lean_ctor_set(x_329, 1, x_328); +return x_329; } } } else { -lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; uint8_t x_353; +lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; uint8_t x_334; lean_dec(x_2); lean_dec(x_1); lean_inc(x_3); -x_349 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_11); -x_350 = lean_ctor_get(x_349, 0); -lean_inc(x_350); -x_351 = lean_ctor_get(x_349, 1); -lean_inc(x_351); -lean_dec(x_349); -x_352 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__33; -x_353 = lean_unbox(x_350); -lean_dec(x_350); -if (x_353 == 0) +x_330 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_3, x_5, x_6, x_7, x_8, x_11); +x_331 = lean_ctor_get(x_330, 0); +lean_inc(x_331); +x_332 = lean_ctor_get(x_330, 1); +lean_inc(x_332); +lean_dec(x_330); +x_333 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__31; +x_334 = lean_unbox(x_331); +lean_dec(x_331); +if (x_334 == 0) { -lean_object* x_354; lean_object* x_355; +lean_object* x_335; lean_object* x_336; lean_dec(x_3); -x_354 = lean_box(0); -x_355 = lean_apply_6(x_352, x_354, x_5, x_6, x_7, x_8, x_351); -return x_355; +x_335 = lean_box(0); +x_336 = lean_apply_6(x_333, x_335, x_5, x_6, x_7, x_8, x_332); +return x_336; } else { -lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; -x_356 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__37; -x_357 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_356, x_5, x_6, x_7, x_8, x_351); -x_358 = lean_ctor_get(x_357, 0); -lean_inc(x_358); -x_359 = lean_ctor_get(x_357, 1); -lean_inc(x_359); -lean_dec(x_357); -x_360 = lean_apply_6(x_352, x_358, x_5, x_6, x_7, x_8, x_359); -return x_360; +lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; +x_337 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__35; +x_338 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_3, x_337, x_5, x_6, x_7, x_8, x_332); +x_339 = lean_ctor_get(x_338, 0); +lean_inc(x_339); +x_340 = lean_ctor_get(x_338, 1); +lean_inc(x_340); +lean_dec(x_338); +x_341 = lean_apply_6(x_333, x_339, x_5, x_6, x_7, x_8, x_340); +return x_341; } } } @@ -4607,7 +4524,7 @@ return x_34; } } } -static lean_object* _init_l_Lean_Elab_WF_mkUnfoldEq___closed__1() { +static lean_object* _init_l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__1() { _start: { lean_object* x_1; @@ -4615,7 +4532,7 @@ x_1 = l_Lean_Meta_tactic_hygienic; return x_1; } } -static lean_object* _init_l_Lean_Elab_WF_mkUnfoldEq___closed__2() { +static lean_object* _init_l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__2() { _start: { lean_object* x_1; @@ -4623,7 +4540,7 @@ x_1 = l_Lean_diagnostics; return x_1; } } -static lean_object* _init_l_Lean_Elab_WF_mkUnfoldEq___closed__3() { +static lean_object* _init_l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__3() { _start: { lean_object* x_1; lean_object* x_2; @@ -4634,10 +4551,180 @@ lean_ctor_set(x_2, 1, x_1); return x_2; } } +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; uint8_t x_19; +x_8 = lean_ctor_get(x_5, 2); +lean_inc(x_8); +x_9 = l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__1; +x_10 = 0; +x_11 = l_Lean_Option_set___at_Lean_Environment_realizeConst___spec__3(x_8, x_9, x_10); +x_12 = l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__2; +x_13 = l_Lean_Option_get___at___private_Lean_Util_Profile_0__Lean_get__profiler___spec__1(x_11, x_12); +x_14 = lean_st_ref_get(x_6, x_7); +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = lean_ctor_get(x_15, 0); +lean_inc(x_17); +lean_dec(x_15); +x_18 = l_Lean_Kernel_isDiagnosticsEnabled(x_17); +lean_dec(x_17); +if (x_18 == 0) +{ +if (x_13 == 0) +{ +uint8_t x_49; +x_49 = 1; +x_19 = x_49; +goto block_48; +} +else +{ +x_19 = x_10; +goto block_48; +} +} +else +{ +if (x_13 == 0) +{ +x_19 = x_10; +goto block_48; +} +else +{ +uint8_t x_50; +x_50 = 1; +x_19 = x_50; +goto block_48; +} +} +block_48: +{ +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; +x_20 = lean_st_ref_take(x_6, x_16); +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = !lean_is_exclusive(x_21); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_24 = lean_ctor_get(x_21, 0); +x_25 = lean_ctor_get(x_21, 4); +lean_dec(x_25); +x_26 = l_Lean_Kernel_enableDiag(x_24, x_13); +x_27 = l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__3; +lean_ctor_set(x_21, 4, x_27); +lean_ctor_set(x_21, 0, x_26); +x_28 = lean_st_ref_set(x_6, x_21, x_22); +x_29 = lean_ctor_get(x_28, 1); +lean_inc(x_29); +lean_dec(x_28); +x_30 = lean_box(0); +x_31 = l_Lean_Elab_WF_mkUnfoldEq___lambda__3(x_11, x_13, x_1, x_2, x_3, x_4, x_30, x_5, x_6, x_29); +return x_31; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_32 = lean_ctor_get(x_21, 0); +x_33 = lean_ctor_get(x_21, 1); +x_34 = lean_ctor_get(x_21, 2); +x_35 = lean_ctor_get(x_21, 3); +x_36 = lean_ctor_get(x_21, 5); +x_37 = lean_ctor_get(x_21, 6); +x_38 = lean_ctor_get(x_21, 7); +lean_inc(x_38); +lean_inc(x_37); +lean_inc(x_36); +lean_inc(x_35); +lean_inc(x_34); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_21); +x_39 = l_Lean_Kernel_enableDiag(x_32, x_13); +x_40 = l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__3; +x_41 = lean_alloc_ctor(0, 8, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_33); +lean_ctor_set(x_41, 2, x_34); +lean_ctor_set(x_41, 3, x_35); +lean_ctor_set(x_41, 4, x_40); +lean_ctor_set(x_41, 5, x_36); +lean_ctor_set(x_41, 6, x_37); +lean_ctor_set(x_41, 7, x_38); +x_42 = lean_st_ref_set(x_6, x_41, x_22); +x_43 = lean_ctor_get(x_42, 1); +lean_inc(x_43); +lean_dec(x_42); +x_44 = lean_box(0); +x_45 = l_Lean_Elab_WF_mkUnfoldEq___lambda__3(x_11, x_13, x_1, x_2, x_3, x_4, x_44, x_5, x_6, x_43); +return x_45; +} +} +else +{ +lean_object* x_46; lean_object* x_47; +x_46 = lean_box(0); +x_47 = l_Lean_Elab_WF_mkUnfoldEq___lambda__3(x_11, x_13, x_1, x_2, x_3, x_4, x_46, x_5, x_6, x_16); +return x_47; +} +} +} +} +static lean_object* _init_l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("Cannot derive ", 14, 14); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnfoldEq___lambda__5(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 = l_Lean_MessageData_ofName(x_1); +x_4 = l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__2; +x_5 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_5, 0, x_4); +lean_ctor_set(x_5, 1, x_3); +x_6 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__11; +x_7 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_7, 0, x_5); +lean_ctor_set(x_7, 1, x_6); +x_8 = l_Lean_indentD(x_2); +x_9 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_9, 0, x_7); +lean_ctor_set(x_9, 1, x_8); +x_10 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_6); +return x_10; +} +} LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkUnfoldEq(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) { _start: { -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; uint8_t x_25; +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; x_9 = lean_ctor_get(x_1, 3); lean_inc(x_9); x_10 = l_Lean_Meta_unfoldThmSuffix; @@ -4645,134 +4732,61 @@ lean_inc(x_9); x_11 = l_Lean_Name_str___override(x_9, x_10); x_12 = lean_ctor_get(x_1, 5); lean_inc(x_12); +lean_inc(x_11); x_13 = lean_alloc_closure((void*)(l_Lean_Elab_WF_mkUnfoldEq___lambda__2___boxed), 12, 5); lean_closure_set(x_13, 0, x_1); lean_closure_set(x_13, 1, x_9); lean_closure_set(x_13, 2, x_3); lean_closure_set(x_13, 3, x_11); lean_closure_set(x_13, 4, x_2); -x_14 = lean_ctor_get(x_6, 2); -lean_inc(x_14); -x_15 = l_Lean_Elab_WF_mkUnfoldEq___closed__1; -x_16 = 0; -x_17 = l_Lean_Option_set___at_Lean_Environment_realizeConst___spec__3(x_14, x_15, x_16); -x_18 = l_Lean_Elab_WF_mkUnfoldEq___closed__2; -x_19 = l_Lean_Option_get___at___private_Lean_Util_Profile_0__Lean_get__profiler___spec__1(x_17, x_18); -x_20 = lean_st_ref_get(x_7, x_8); -x_21 = lean_ctor_get(x_20, 0); -lean_inc(x_21); -x_22 = lean_ctor_get(x_20, 1); -lean_inc(x_22); -lean_dec(x_20); -x_23 = lean_ctor_get(x_21, 0); +x_14 = lean_alloc_closure((void*)(l_Lean_Elab_WF_mkUnfoldEq___lambda__4), 7, 2); +lean_closure_set(x_14, 0, x_12); +lean_closure_set(x_14, 1, x_13); +x_15 = lean_alloc_closure((void*)(l_Lean_Elab_WF_mkUnfoldEq___lambda__5), 2, 1); +lean_closure_set(x_15, 0, x_11); +x_16 = l_Lean_Meta_mapErrorImp___rarg(x_14, x_15, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_16) == 0) +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_16); +if (x_17 == 0) +{ +return x_16; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_16, 0); +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_16); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +else +{ +uint8_t x_21; +x_21 = !lean_is_exclusive(x_16); +if (x_21 == 0) +{ +return x_16; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_16, 0); +x_23 = lean_ctor_get(x_16, 1); lean_inc(x_23); -lean_dec(x_21); -x_24 = l_Lean_Kernel_isDiagnosticsEnabled(x_23); -lean_dec(x_23); -if (x_24 == 0) -{ -if (x_19 == 0) -{ -uint8_t x_55; -x_55 = 1; -x_25 = x_55; -goto block_54; -} -else -{ -x_25 = x_16; -goto block_54; -} -} -else -{ -if (x_19 == 0) -{ -x_25 = x_16; -goto block_54; -} -else -{ -uint8_t x_56; -x_56 = 1; -x_25 = x_56; -goto block_54; -} -} -block_54: -{ -if (x_25 == 0) -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; -x_26 = lean_st_ref_take(x_7, x_22); -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = !lean_is_exclusive(x_27); -if (x_29 == 0) -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; -x_30 = lean_ctor_get(x_27, 0); -x_31 = lean_ctor_get(x_27, 4); -lean_dec(x_31); -x_32 = l_Lean_Kernel_enableDiag(x_30, x_19); -x_33 = l_Lean_Elab_WF_mkUnfoldEq___closed__3; -lean_ctor_set(x_27, 4, x_33); -lean_ctor_set(x_27, 0, x_32); -x_34 = lean_st_ref_set(x_7, x_27, x_28); -x_35 = lean_ctor_get(x_34, 1); -lean_inc(x_35); -lean_dec(x_34); -x_36 = lean_box(0); -x_37 = l_Lean_Elab_WF_mkUnfoldEq___lambda__3(x_17, x_19, x_12, x_13, x_4, x_5, x_36, x_6, x_7, x_35); -return x_37; -} -else -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_38 = lean_ctor_get(x_27, 0); -x_39 = lean_ctor_get(x_27, 1); -x_40 = lean_ctor_get(x_27, 2); -x_41 = lean_ctor_get(x_27, 3); -x_42 = lean_ctor_get(x_27, 5); -x_43 = lean_ctor_get(x_27, 6); -x_44 = lean_ctor_get(x_27, 7); -lean_inc(x_44); -lean_inc(x_43); -lean_inc(x_42); -lean_inc(x_41); -lean_inc(x_40); -lean_inc(x_39); -lean_inc(x_38); -lean_dec(x_27); -x_45 = l_Lean_Kernel_enableDiag(x_38, x_19); -x_46 = l_Lean_Elab_WF_mkUnfoldEq___closed__3; -x_47 = lean_alloc_ctor(0, 8, 0); -lean_ctor_set(x_47, 0, x_45); -lean_ctor_set(x_47, 1, x_39); -lean_ctor_set(x_47, 2, x_40); -lean_ctor_set(x_47, 3, x_41); -lean_ctor_set(x_47, 4, x_46); -lean_ctor_set(x_47, 5, x_42); -lean_ctor_set(x_47, 6, x_43); -lean_ctor_set(x_47, 7, x_44); -x_48 = lean_st_ref_set(x_7, x_47, x_28); -x_49 = lean_ctor_get(x_48, 1); -lean_inc(x_49); -lean_dec(x_48); -x_50 = lean_box(0); -x_51 = l_Lean_Elab_WF_mkUnfoldEq___lambda__3(x_17, x_19, x_12, x_13, x_4, x_5, x_50, x_6, x_7, x_49); -return x_51; -} -} -else -{ -lean_object* x_52; lean_object* x_53; -x_52 = lean_box(0); -x_53 = l_Lean_Elab_WF_mkUnfoldEq___lambda__3(x_17, x_19, x_12, x_13, x_4, x_5, x_52, x_6, x_7, x_22); -return x_53; +lean_inc(x_22); +lean_dec(x_16); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; } } } @@ -4807,7 +4821,1027 @@ lean_dec(x_7); return x_12; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__1() { +static lean_object* _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("mkBinaryUnfoldEq defined ", 25, 25); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___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, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; uint8_t x_14; +x_13 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassApp_x3f___spec__1(x_1, x_8, x_9, x_10, x_11, x_12); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; uint8_t x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_13, 1); +x_17 = 0; +x_18 = 1; +x_19 = 1; +x_20 = l_Lean_Meta_mkForallFVars(x_2, x_3, x_17, x_18, x_19, x_8, x_9, x_10, x_11, x_16); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = l_Lean_Meta_mkLambdaFVars(x_2, x_15, x_17, x_18, x_17, x_19, x_8, x_9, x_10, x_11, x_22); +if (lean_obj_tag(x_23) == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +lean_inc(x_4); +x_26 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_26, 0, x_4); +lean_ctor_set(x_26, 1, x_5); +lean_ctor_set(x_26, 2, x_21); +lean_inc(x_4); +lean_ctor_set_tag(x_13, 1); +lean_ctor_set(x_13, 1, x_6); +lean_ctor_set(x_13, 0, x_4); +x_27 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_24); +lean_ctor_set(x_27, 2, x_13); +x_28 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_28, 0, x_27); +lean_inc(x_11); +lean_inc(x_10); +x_29 = l_Lean_addDecl(x_28, x_10, x_11, x_25); +if (lean_obj_tag(x_29) == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; +x_30 = lean_ctor_get(x_29, 1); +lean_inc(x_30); +lean_dec(x_29); +x_31 = l_Lean_Elab_WF_mkUnfoldEq___lambda__1___closed__1; +x_32 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_31, x_8, x_9, x_10, x_11, x_30); +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_unbox(x_33); +lean_dec(x_33); +if (x_34 == 0) +{ +uint8_t x_35; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_4); +x_35 = !lean_is_exclusive(x_32); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_32, 0); +lean_dec(x_36); +x_37 = lean_box(0); +lean_ctor_set(x_32, 0, x_37); +return x_32; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_32, 1); +lean_inc(x_38); +lean_dec(x_32); +x_39 = lean_box(0); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +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_object* x_46; lean_object* x_47; +x_41 = lean_ctor_get(x_32, 1); +lean_inc(x_41); +lean_dec(x_32); +x_42 = l_Lean_MessageData_ofConstName(x_4, x_17); +x_43 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__2; +x_44 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_42); +x_45 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__11; +x_46 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +x_47 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_31, x_46, x_8, x_9, x_10, x_11, x_41); +lean_dec(x_11); +lean_dec(x_10); +return x_47; +} +} +else +{ +uint8_t x_48; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_4); +x_48 = !lean_is_exclusive(x_29); +if (x_48 == 0) +{ +return x_29; +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_29, 0); +x_50 = lean_ctor_get(x_29, 1); +lean_inc(x_50); +lean_inc(x_49); +lean_dec(x_29); +x_51 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +return x_51; +} +} +} +else +{ +uint8_t x_52; +lean_dec(x_21); +lean_free_object(x_13); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_52 = !lean_is_exclusive(x_23); +if (x_52 == 0) +{ +return x_23; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_23, 0); +x_54 = lean_ctor_get(x_23, 1); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_23); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +return x_55; +} +} +} +else +{ +uint8_t x_56; +lean_free_object(x_13); +lean_dec(x_15); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_56 = !lean_is_exclusive(x_20); +if (x_56 == 0) +{ +return x_20; +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_20, 0); +x_58 = lean_ctor_get(x_20, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_20); +x_59 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_59, 0, x_57); +lean_ctor_set(x_59, 1, x_58); +return x_59; +} +} +} +else +{ +lean_object* x_60; lean_object* x_61; uint8_t x_62; uint8_t x_63; uint8_t x_64; lean_object* x_65; +x_60 = lean_ctor_get(x_13, 0); +x_61 = lean_ctor_get(x_13, 1); +lean_inc(x_61); +lean_inc(x_60); +lean_dec(x_13); +x_62 = 0; +x_63 = 1; +x_64 = 1; +x_65 = l_Lean_Meta_mkForallFVars(x_2, x_3, x_62, x_63, x_64, x_8, x_9, x_10, x_11, x_61); +if (lean_obj_tag(x_65) == 0) +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_66 = lean_ctor_get(x_65, 0); +lean_inc(x_66); +x_67 = lean_ctor_get(x_65, 1); +lean_inc(x_67); +lean_dec(x_65); +x_68 = l_Lean_Meta_mkLambdaFVars(x_2, x_60, x_62, x_63, x_62, x_64, x_8, x_9, x_10, x_11, x_67); +if (lean_obj_tag(x_68) == 0) +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; +x_69 = lean_ctor_get(x_68, 0); +lean_inc(x_69); +x_70 = lean_ctor_get(x_68, 1); +lean_inc(x_70); +lean_dec(x_68); +lean_inc(x_4); +x_71 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_71, 0, x_4); +lean_ctor_set(x_71, 1, x_5); +lean_ctor_set(x_71, 2, x_66); +lean_inc(x_4); +x_72 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_72, 0, x_4); +lean_ctor_set(x_72, 1, x_6); +x_73 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_69); +lean_ctor_set(x_73, 2, x_72); +x_74 = lean_alloc_ctor(2, 1, 0); +lean_ctor_set(x_74, 0, x_73); +lean_inc(x_11); +lean_inc(x_10); +x_75 = l_Lean_addDecl(x_74, x_10, x_11, x_70); +if (lean_obj_tag(x_75) == 0) +{ +lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; +x_76 = lean_ctor_get(x_75, 1); +lean_inc(x_76); +lean_dec(x_75); +x_77 = l_Lean_Elab_WF_mkUnfoldEq___lambda__1___closed__1; +x_78 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_77, x_8, x_9, x_10, x_11, x_76); +x_79 = lean_ctor_get(x_78, 0); +lean_inc(x_79); +x_80 = lean_unbox(x_79); +lean_dec(x_79); +if (x_80 == 0) +{ +lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_4); +x_81 = lean_ctor_get(x_78, 1); +lean_inc(x_81); +if (lean_is_exclusive(x_78)) { + lean_ctor_release(x_78, 0); + lean_ctor_release(x_78, 1); + x_82 = x_78; +} else { + lean_dec_ref(x_78); + x_82 = lean_box(0); +} +x_83 = lean_box(0); +if (lean_is_scalar(x_82)) { + x_84 = lean_alloc_ctor(0, 2, 0); +} else { + x_84 = x_82; +} +lean_ctor_set(x_84, 0, x_83); +lean_ctor_set(x_84, 1, x_81); +return x_84; +} +else +{ +lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; +x_85 = lean_ctor_get(x_78, 1); +lean_inc(x_85); +lean_dec(x_78); +x_86 = l_Lean_MessageData_ofConstName(x_4, x_62); +x_87 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__2; +x_88 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_88, 0, x_87); +lean_ctor_set(x_88, 1, x_86); +x_89 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__11; +x_90 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_90, 0, x_88); +lean_ctor_set(x_90, 1, x_89); +x_91 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_77, x_90, x_8, x_9, x_10, x_11, x_85); +lean_dec(x_11); +lean_dec(x_10); +return x_91; +} +} +else +{ +lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_4); +x_92 = lean_ctor_get(x_75, 0); +lean_inc(x_92); +x_93 = lean_ctor_get(x_75, 1); +lean_inc(x_93); +if (lean_is_exclusive(x_75)) { + lean_ctor_release(x_75, 0); + lean_ctor_release(x_75, 1); + x_94 = x_75; +} else { + lean_dec_ref(x_75); + x_94 = lean_box(0); +} +if (lean_is_scalar(x_94)) { + x_95 = lean_alloc_ctor(1, 2, 0); +} else { + x_95 = x_94; +} +lean_ctor_set(x_95, 0, x_92); +lean_ctor_set(x_95, 1, x_93); +return x_95; +} +} +else +{ +lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; +lean_dec(x_66); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_96 = lean_ctor_get(x_68, 0); +lean_inc(x_96); +x_97 = lean_ctor_get(x_68, 1); +lean_inc(x_97); +if (lean_is_exclusive(x_68)) { + lean_ctor_release(x_68, 0); + lean_ctor_release(x_68, 1); + x_98 = x_68; +} else { + lean_dec_ref(x_68); + x_98 = lean_box(0); +} +if (lean_is_scalar(x_98)) { + x_99 = lean_alloc_ctor(1, 2, 0); +} else { + x_99 = x_98; +} +lean_ctor_set(x_99, 0, x_96); +lean_ctor_set(x_99, 1, x_97); +return x_99; +} +} +else +{ +lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; +lean_dec(x_60); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_100 = lean_ctor_get(x_65, 0); +lean_inc(x_100); +x_101 = lean_ctor_get(x_65, 1); +lean_inc(x_101); +if (lean_is_exclusive(x_65)) { + lean_ctor_release(x_65, 0); + lean_ctor_release(x_65, 1); + x_102 = x_65; +} else { + lean_dec_ref(x_65); + x_102 = lean_box(0); +} +if (lean_is_scalar(x_102)) { + x_103 = lean_alloc_ctor(1, 2, 0); +} else { + x_103 = x_102; +} +lean_ctor_set(x_103, 0, x_100); +lean_ctor_set(x_103, 1, x_101); +return x_103; +} +} +} +} +static lean_object* _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__1() { +_start: +{ +uint8_t x_1; uint8_t x_2; uint8_t x_3; lean_object* x_4; +x_1 = 0; +x_2 = 1; +x_3 = 0; +x_4 = lean_alloc_ctor(0, 0, 4); +lean_ctor_set_uint8(x_4, 0, x_1); +lean_ctor_set_uint8(x_4, 1, x_2); +lean_ctor_set_uint8(x_4, 2, x_3); +lean_ctor_set_uint8(x_4, 3, x_2); +return x_4; +} +} +static lean_object* _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("Failed to apply '", 17, 17); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__2; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("' to '", 6, 6); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__4; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("'", 1, 1); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__6; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_12); +lean_dec(x_1); +x_13 = lean_box(0); +lean_inc(x_12); +x_14 = l_List_mapTR_loop___at_Lean_mkConstWithLevelParams___spec__1(x_12, x_13); +x_15 = l_Lean_Expr_const___override(x_2, x_14); +x_16 = l_Lean_mkAppN(x_15, x_5); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_17 = l_Lean_Meta_mkEq(x_16, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +x_20 = lean_box(0); +lean_inc(x_7); +lean_inc(x_18); +x_21 = l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(x_18, x_20, x_7, x_8, x_9, x_10, x_19); +x_22 = !lean_is_exclusive(x_21); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_23 = lean_ctor_get(x_21, 0); +x_24 = lean_ctor_get(x_21, 1); +x_25 = l_Lean_Expr_mvarId_x21(x_23); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_26 = l_Lean_Elab_Eqns_deltaLHS(x_25, x_7, x_8, x_9, x_10, x_24); +if (lean_obj_tag(x_26) == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +x_29 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__1; +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_3); +lean_inc(x_27); +x_30 = l_Lean_MVarId_applyConst(x_27, x_3, x_29, x_7, x_8, x_9, x_10, x_28); +if (lean_obj_tag(x_30) == 0) +{ +lean_object* x_31; lean_object* x_32; uint8_t x_33; +x_31 = lean_ctor_get(x_30, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_30, 1); +lean_inc(x_32); +lean_dec(x_30); +x_33 = l_List_isEmpty___rarg(x_31); +lean_dec(x_31); +if (x_33 == 0) +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; uint8_t x_43; +lean_dec(x_23); +lean_dec(x_18); +lean_dec(x_12); +lean_dec(x_4); +x_34 = l_Lean_MessageData_ofName(x_3); +x_35 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__3; +lean_ctor_set_tag(x_21, 7); +lean_ctor_set(x_21, 1, x_34); +lean_ctor_set(x_21, 0, x_35); +x_36 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__5; +x_37 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_37, 0, x_21); +lean_ctor_set(x_37, 1, x_36); +x_38 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_38, 0, x_27); +x_39 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_39, 0, x_37); +lean_ctor_set(x_39, 1, x_38); +x_40 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__7; +x_41 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +x_42 = l_Lean_throwError___at_Lean_Meta_instantiateForallWithParamInfos___spec__1(x_41, x_7, x_8, x_9, x_10, x_32); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +x_43 = !lean_is_exclusive(x_42); +if (x_43 == 0) +{ +return x_42; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_42, 0); +x_45 = lean_ctor_get(x_42, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_42); +x_46 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +return x_46; +} +} +else +{ +lean_object* x_47; lean_object* x_48; +lean_dec(x_27); +lean_free_object(x_21); +lean_dec(x_3); +x_47 = lean_box(0); +x_48 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1(x_23, x_5, x_18, x_4, x_12, x_13, x_47, x_7, x_8, x_9, x_10, x_32); +lean_dec(x_8); +lean_dec(x_7); +return x_48; +} +} +else +{ +uint8_t x_49; +lean_dec(x_27); +lean_free_object(x_21); +lean_dec(x_23); +lean_dec(x_18); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +x_49 = !lean_is_exclusive(x_30); +if (x_49 == 0) +{ +return x_30; +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_50 = lean_ctor_get(x_30, 0); +x_51 = lean_ctor_get(x_30, 1); +lean_inc(x_51); +lean_inc(x_50); +lean_dec(x_30); +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +return x_52; +} +} +} +else +{ +uint8_t x_53; +lean_free_object(x_21); +lean_dec(x_23); +lean_dec(x_18); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +x_53 = !lean_is_exclusive(x_26); +if (x_53 == 0) +{ +return x_26; +} +else +{ +lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_54 = lean_ctor_get(x_26, 0); +x_55 = lean_ctor_get(x_26, 1); +lean_inc(x_55); +lean_inc(x_54); +lean_dec(x_26); +x_56 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_56, 0, x_54); +lean_ctor_set(x_56, 1, x_55); +return x_56; +} +} +} +else +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_57 = lean_ctor_get(x_21, 0); +x_58 = lean_ctor_get(x_21, 1); +lean_inc(x_58); +lean_inc(x_57); +lean_dec(x_21); +x_59 = l_Lean_Expr_mvarId_x21(x_57); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_60 = l_Lean_Elab_Eqns_deltaLHS(x_59, x_7, x_8, x_9, x_10, x_58); +if (lean_obj_tag(x_60) == 0) +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_ctor_get(x_60, 1); +lean_inc(x_62); +lean_dec(x_60); +x_63 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__1; +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_3); +lean_inc(x_61); +x_64 = l_Lean_MVarId_applyConst(x_61, x_3, x_63, x_7, x_8, x_9, x_10, x_62); +if (lean_obj_tag(x_64) == 0) +{ +lean_object* x_65; lean_object* x_66; uint8_t x_67; +x_65 = lean_ctor_get(x_64, 0); +lean_inc(x_65); +x_66 = lean_ctor_get(x_64, 1); +lean_inc(x_66); +lean_dec(x_64); +x_67 = l_List_isEmpty___rarg(x_65); +lean_dec(x_65); +if (x_67 == 0) +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +lean_dec(x_57); +lean_dec(x_18); +lean_dec(x_12); +lean_dec(x_4); +x_68 = l_Lean_MessageData_ofName(x_3); +x_69 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__3; +x_70 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_70, 0, x_69); +lean_ctor_set(x_70, 1, x_68); +x_71 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__5; +x_72 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_72, 0, x_70); +lean_ctor_set(x_72, 1, x_71); +x_73 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_73, 0, x_61); +x_74 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_74, 0, x_72); +lean_ctor_set(x_74, 1, x_73); +x_75 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__7; +x_76 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_76, 0, x_74); +lean_ctor_set(x_76, 1, x_75); +x_77 = l_Lean_throwError___at_Lean_Meta_instantiateForallWithParamInfos___spec__1(x_76, x_7, x_8, x_9, x_10, x_66); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +x_78 = lean_ctor_get(x_77, 0); +lean_inc(x_78); +x_79 = lean_ctor_get(x_77, 1); +lean_inc(x_79); +if (lean_is_exclusive(x_77)) { + lean_ctor_release(x_77, 0); + lean_ctor_release(x_77, 1); + x_80 = x_77; +} else { + lean_dec_ref(x_77); + x_80 = lean_box(0); +} +if (lean_is_scalar(x_80)) { + x_81 = lean_alloc_ctor(1, 2, 0); +} else { + x_81 = x_80; +} +lean_ctor_set(x_81, 0, x_78); +lean_ctor_set(x_81, 1, x_79); +return x_81; +} +else +{ +lean_object* x_82; lean_object* x_83; +lean_dec(x_61); +lean_dec(x_3); +x_82 = lean_box(0); +x_83 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1(x_57, x_5, x_18, x_4, x_12, x_13, x_82, x_7, x_8, x_9, x_10, x_66); +lean_dec(x_8); +lean_dec(x_7); +return x_83; +} +} +else +{ +lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; +lean_dec(x_61); +lean_dec(x_57); +lean_dec(x_18); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +x_84 = lean_ctor_get(x_64, 0); +lean_inc(x_84); +x_85 = lean_ctor_get(x_64, 1); +lean_inc(x_85); +if (lean_is_exclusive(x_64)) { + lean_ctor_release(x_64, 0); + lean_ctor_release(x_64, 1); + x_86 = x_64; +} else { + lean_dec_ref(x_64); + x_86 = lean_box(0); +} +if (lean_is_scalar(x_86)) { + x_87 = lean_alloc_ctor(1, 2, 0); +} else { + x_87 = x_86; +} +lean_ctor_set(x_87, 0, x_84); +lean_ctor_set(x_87, 1, x_85); +return x_87; +} +} +else +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; +lean_dec(x_57); +lean_dec(x_18); +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +x_88 = lean_ctor_get(x_60, 0); +lean_inc(x_88); +x_89 = lean_ctor_get(x_60, 1); +lean_inc(x_89); +if (lean_is_exclusive(x_60)) { + lean_ctor_release(x_60, 0); + lean_ctor_release(x_60, 1); + x_90 = x_60; +} else { + lean_dec_ref(x_60); + x_90 = lean_box(0); +} +if (lean_is_scalar(x_90)) { + x_91 = lean_alloc_ctor(1, 2, 0); +} else { + x_91 = x_90; +} +lean_ctor_set(x_91, 0, x_88); +lean_ctor_set(x_91, 1, x_89); +return x_91; +} +} +} +else +{ +uint8_t x_92; +lean_dec(x_12); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_4); +lean_dec(x_3); +x_92 = !lean_is_exclusive(x_17); +if (x_92 == 0) +{ +return x_17; +} +else +{ +lean_object* x_93; lean_object* x_94; lean_object* x_95; +x_93 = lean_ctor_get(x_17, 0); +x_94 = lean_ctor_get(x_17, 1); +lean_inc(x_94); +lean_inc(x_93); +lean_dec(x_17); +x_95 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_95, 0, x_93); +lean_ctor_set(x_95, 1, x_94); +return x_95; +} +} +} +} +static lean_object* _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked(" from ", 6, 6); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_4 = l_Lean_MessageData_ofName(x_1); +x_5 = l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__2; +x_6 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_6, 0, x_5); +lean_ctor_set(x_6, 1, x_4); +x_7 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3___closed__2; +x_8 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_8, 0, x_6); +lean_ctor_set(x_8, 1, x_7); +x_9 = l_Lean_MessageData_ofName(x_2); +x_10 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_10, 0, x_8); +lean_ctor_set(x_10, 1, x_9); +x_11 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__5___closed__11; +x_12 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_12, 0, x_10); +lean_ctor_set(x_12, 1, x_11); +x_13 = l_Lean_indentD(x_3); +x_14 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +x_15 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_15, 0, x_14); +lean_ctor_set(x_15, 1, x_11); +return x_15; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq(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) { +_start: +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_8 = lean_ctor_get(x_1, 3); +lean_inc(x_8); +x_9 = l_Lean_Meta_unfoldThmSuffix; +lean_inc(x_8); +x_10 = l_Lean_Name_str___override(x_8, x_9); +x_11 = l_Lean_Name_str___override(x_2, x_9); +x_12 = lean_ctor_get(x_1, 5); +lean_inc(x_12); +lean_inc(x_10); +lean_inc(x_11); +x_13 = lean_alloc_closure((void*)(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___boxed), 11, 4); +lean_closure_set(x_13, 0, x_1); +lean_closure_set(x_13, 1, x_8); +lean_closure_set(x_13, 2, x_11); +lean_closure_set(x_13, 3, x_10); +x_14 = lean_alloc_closure((void*)(l_Lean_Elab_WF_mkUnfoldEq___lambda__4), 7, 2); +lean_closure_set(x_14, 0, x_12); +lean_closure_set(x_14, 1, x_13); +x_15 = lean_alloc_closure((void*)(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3), 3, 2); +lean_closure_set(x_15, 0, x_10); +lean_closure_set(x_15, 1, x_11); +x_16 = l_Lean_Meta_mapErrorImp___rarg(x_14, x_15, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_16) == 0) +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_16); +if (x_17 == 0) +{ +return x_16; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_16, 0); +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_16); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +else +{ +uint8_t x_21; +x_21 = !lean_is_exclusive(x_16); +if (x_21 == 0) +{ +return x_16; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_16, 0); +x_23 = lean_ctor_get(x_16, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_16); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; +x_13 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_2); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +x_12 = l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_5); +return x_12; +} +} +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__1() { _start: { lean_object* x_1; @@ -4815,27 +5849,27 @@ x_1 = lean_mk_string_unchecked("Lean", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__2() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__1; +x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__3() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__2; +x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__2; x_2 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__4() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__4() { _start: { lean_object* x_1; @@ -4843,17 +5877,17 @@ x_1 = lean_mk_string_unchecked("WF", 2, 2); return x_1; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__5() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__3; -x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__4; +x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__3; +x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__4; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__6() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__6() { _start: { lean_object* x_1; @@ -4861,17 +5895,17 @@ x_1 = lean_mk_string_unchecked("initFn", 6, 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__7() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__5; -x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__6; +x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__5; +x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__6; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__8() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__8() { _start: { lean_object* x_1; @@ -4879,37 +5913,37 @@ x_1 = lean_mk_string_unchecked("_@", 2, 2); return x_1; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__9() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__7; -x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__8; +x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__7; +x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__8; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__10() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__9; -x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__1; +x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__9; +x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__11() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__10; +x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__10; x_2 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__12() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__12() { _start: { lean_object* x_1; @@ -4917,27 +5951,27 @@ x_1 = lean_mk_string_unchecked("PreDefinition", 13, 13); return x_1; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__13() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__11; -x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__12; +x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__11; +x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__12; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__14() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__13; -x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__4; +x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__13; +x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__4; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__15() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__15() { _start: { lean_object* x_1; @@ -4945,17 +5979,17 @@ x_1 = lean_mk_string_unchecked("Unfold", 6, 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__16() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__14; -x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__15; +x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__14; +x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__15; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__17() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__17() { _start: { lean_object* x_1; @@ -4963,39 +5997,40 @@ x_1 = lean_mk_string_unchecked("_hyg", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__18() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__18() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__16; -x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__17; +x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__16; +x_2 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__17; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__19() { +static lean_object* _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__19() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__18; -x_2 = lean_unsigned_to_nat(2153u); +x_1 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__18; +x_2 = lean_unsigned_to_nat(2463u); x_3 = l_Lean_Name_num___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; x_2 = l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__5; x_3 = 0; -x_4 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__19; +x_4 = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__19; x_5 = l_Lean_registerTraceClass(x_2, x_3, x_4, x_1); return x_5; } } lean_object* initialize_Lean_Elab_PreDefinition_Basic(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Elab_PreDefinition_Eqns(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Apply(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Elab_PreDefinition_WF_Unfold(uint8_t builtin, lean_object* w) { lean_object * res; @@ -5007,6 +6042,9 @@ lean_dec_ref(res); res = initialize_Lean_Elab_PreDefinition_Eqns(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_Tactic_Apply(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__3___closed__1 = _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__3___closed__1(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__3___closed__1); l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__3___closed__2 = _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_rwFixEq___lambda__3___closed__2(); @@ -5126,10 +6164,6 @@ lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_ l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__35 = _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__35(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__35); l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__36 = _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__36(); -lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__36); -l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__37 = _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__37(); -lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__37); -l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__38 = _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___lambda__5___closed__38(); l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__1 = _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__1(); lean_mark_persistent(l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__1); l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__2 = _init_l___private_Lean_Elab_PreDefinition_WF_Unfold_0__Lean_Elab_WF_mkUnfoldProof___closed__2(); @@ -5152,51 +6186,77 @@ l_Lean_Elab_WF_mkUnfoldEq___lambda__1___closed__3 = _init_l_Lean_Elab_WF_mkUnfol lean_mark_persistent(l_Lean_Elab_WF_mkUnfoldEq___lambda__1___closed__3); l_Lean_Elab_WF_mkUnfoldEq___lambda__3___closed__1 = _init_l_Lean_Elab_WF_mkUnfoldEq___lambda__3___closed__1(); lean_mark_persistent(l_Lean_Elab_WF_mkUnfoldEq___lambda__3___closed__1); -l_Lean_Elab_WF_mkUnfoldEq___closed__1 = _init_l_Lean_Elab_WF_mkUnfoldEq___closed__1(); -lean_mark_persistent(l_Lean_Elab_WF_mkUnfoldEq___closed__1); -l_Lean_Elab_WF_mkUnfoldEq___closed__2 = _init_l_Lean_Elab_WF_mkUnfoldEq___closed__2(); -lean_mark_persistent(l_Lean_Elab_WF_mkUnfoldEq___closed__2); -l_Lean_Elab_WF_mkUnfoldEq___closed__3 = _init_l_Lean_Elab_WF_mkUnfoldEq___closed__3(); -lean_mark_persistent(l_Lean_Elab_WF_mkUnfoldEq___closed__3); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__1 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__1(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__1); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__2 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__2(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__2); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__3 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__3(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__3); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__4 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__4(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__4); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__5 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__5(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__5); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__6 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__6(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__6); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__7 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__7(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__7); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__8 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__8(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__8); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__9 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__9(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__9); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__10 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__10(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__10); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__11 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__11(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__11); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__12 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__12(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__12); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__13 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__13(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__13); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__14 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__14(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__14); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__15 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__15(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__15); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__16 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__16(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__16); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__17 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__17(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__17); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__18 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__18(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__18); -l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__19 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__19(); -lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153____closed__19); -if (builtin) {res = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2153_(lean_io_mk_world()); +l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__1 = _init_l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__1(); +lean_mark_persistent(l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__1); +l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__2 = _init_l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__2(); +lean_mark_persistent(l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__2); +l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__3 = _init_l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__3(); +lean_mark_persistent(l_Lean_Elab_WF_mkUnfoldEq___lambda__4___closed__3); +l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__1 = _init_l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__1(); +lean_mark_persistent(l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__1); +l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__2 = _init_l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__2(); +lean_mark_persistent(l_Lean_Elab_WF_mkUnfoldEq___lambda__5___closed__2); +l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__1 = _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__1); +l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__2 = _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__2(); +lean_mark_persistent(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__1___closed__2); +l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__1 = _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__1(); +lean_mark_persistent(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__1); +l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__2 = _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__2(); +lean_mark_persistent(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__2); +l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__3 = _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__3(); +lean_mark_persistent(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__3); +l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__4 = _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__4(); +lean_mark_persistent(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__4); +l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__5 = _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__5(); +lean_mark_persistent(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__5); +l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__6 = _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__6(); +lean_mark_persistent(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__6); +l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__7 = _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__7(); +lean_mark_persistent(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__2___closed__7); +l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3___closed__1 = _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3___closed__1(); +lean_mark_persistent(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3___closed__1); +l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3___closed__2 = _init_l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3___closed__2(); +lean_mark_persistent(l_Lean_Elab_WF_mkBinaryUnfoldEq___lambda__3___closed__2); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__1 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__1(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__1); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__2 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__2(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__2); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__3 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__3(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__3); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__4 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__4(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__4); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__5 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__5(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__5); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__6 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__6(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__6); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__7 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__7(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__7); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__8 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__8(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__8); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__9 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__9(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__9); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__10 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__10(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__10); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__11 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__11(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__11); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__12 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__12(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__12); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__13 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__13(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__13); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__14 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__14(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__14); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__15 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__15(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__15); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__16 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__16(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__16); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__17 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__17(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__17); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__18 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__18(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__18); +l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__19 = _init_l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__19(); +lean_mark_persistent(l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463____closed__19); +if (builtin) {res = l_Lean_Elab_WF_initFn____x40_Lean_Elab_PreDefinition_WF_Unfold___hyg_2463_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/Quotation.c b/stage0/stdlib/Lean/Elab/Quotation.c index 066112c673..2ba6bc4bb7 100644 --- a/stage0/stdlib/Lean/Elab/Quotation.c +++ b/stage0/stdlib/Lean/Elab/Quotation.c @@ -16779,7 +16779,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Elab_Term_Quotation_getQuotKind___closed__13; x_2 = l_Lean_Elab_Term_Quotation_getQuotKind___closed__14; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Elab_Term_Quotation_getQuotKind___closed__15; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/Tactic/BVDecide/Frontend/LRAT.c b/stage0/stdlib/Lean/Elab/Tactic/BVDecide/Frontend/LRAT.c index 09e9ad91f8..11b08ee209 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/BVDecide/Frontend/LRAT.c +++ b/stage0/stdlib/Lean/Elab/Tactic/BVDecide/Frontend/LRAT.c @@ -399,7 +399,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Elab_Tactic_BVDecide_Frontend_TacticContext_new_determineSolver___closed__3; x_2 = l_Lean_Elab_Tactic_BVDecide_Frontend_TacticContext_new_determineSolver___closed__4; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Elab_Tactic_BVDecide_Frontend_TacticContext_new_determineSolver___closed__5; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/Tactic/BVDecide/Frontend/Normalize.c b/stage0/stdlib/Lean/Elab/Tactic/BVDecide/Frontend/Normalize.c index 4bf7d515ab..ea7dfe36f4 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/BVDecide/Frontend/Normalize.c +++ b/stage0/stdlib/Lean/Elab/Tactic/BVDecide/Frontend/Normalize.c @@ -1446,7 +1446,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Elab_Tactic_BVDecide_Frontend_Normalize_bvNormalize_go___lambda__11___closed__1; x_2 = l_Lean_Elab_Tactic_BVDecide_Frontend_Normalize_bvNormalize_go___lambda__11___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Elab_Tactic_BVDecide_Frontend_Normalize_bvNormalize_go___lambda__11___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/Tactic/BVDecide/LRAT/Trim.c b/stage0/stdlib/Lean/Elab/Tactic/BVDecide/LRAT/Trim.c index 93d76a6269..bf6f7dcfb5 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/BVDecide/LRAT/Trim.c +++ b/stage0/stdlib/Lean/Elab/Tactic/BVDecide/LRAT/Trim.c @@ -2550,7 +2550,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Std_Range_forIn_x27_loop___at_Lean_Elab_Tactic_BVDecide_LRAT_trim_mapping___spec__2___closed__1; x_2 = l_Std_Range_forIn_x27_loop___at_Lean_Elab_Tactic_BVDecide_LRAT_trim_mapping___spec__2___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Std_Range_forIn_x27_loop___at_Lean_Elab_Tactic_BVDecide_LRAT_trim_mapping___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Config.c b/stage0/stdlib/Lean/Elab/Tactic/Config.c index 1f4a4c6756..45c8857b27 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Config.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Config.c @@ -1181,7 +1181,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_Tactic_Config_0__Lean_Elab_Tactic_expandFieldName___lambda__1___closed__11; x_2 = l___private_Lean_Elab_Tactic_Config_0__Lean_Elab_Tactic_expandFieldName___lambda__1___closed__12; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l___private_Lean_Elab_Tactic_Config_0__Lean_Elab_Tactic_expandFieldName___lambda__1___closed__13; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c b/stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c index 49ebaefdba..64621b7933 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Conv/Congr.c @@ -9983,7 +9983,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Elab_Tactic_Conv_Congr_0__Lean_Elab_Tactic_Conv_mkCongrArgZeroThm___lambda__1___closed__1; x_2 = l___private_Lean_Elab_Tactic_Conv_Congr_0__Lean_Elab_Tactic_Conv_mkCongrArgZeroThm___lambda__1___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l___private_Lean_Elab_Tactic_Conv_Congr_0__Lean_Elab_Tactic_Conv_mkCongrArgZeroThm___lambda__1___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Elab/Tactic/Simp.c b/stage0/stdlib/Lean/Elab/Tactic/Simp.c index 8a0cec0124..cab97e5722 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Simp.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Simp.c @@ -18368,7 +18368,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Tactic_mkSimpOnly___spec__20___lambda__2___closed__1; x_2 = l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Tactic_mkSimpOnly___spec__20___lambda__2___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Tactic_mkSimpOnly___spec__20___lambda__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/EnvExtension.c b/stage0/stdlib/Lean/EnvExtension.c index 6a4156937e..a9ffaef81f 100644 --- a/stage0/stdlib/Lean/EnvExtension.c +++ b/stage0/stdlib/Lean/EnvExtension.c @@ -17,12 +17,12 @@ LEAN_EXPORT lean_object* l_Lean_instInhabitedMapDeclarationExtension___lambda__5 static lean_object* l_Lean_TagDeclarationExtension_instInhabited___closed__1; static lean_object* l_Lean_MapDeclarationExtension_insert___rarg___closed__2; LEAN_EXPORT lean_object* l_panic___at_Lean_MapDeclarationExtension_insert___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___auto____x40_Lean_EnvExtension___hyg_833_; LEAN_EXPORT lean_object* l_Lean_MapDeclarationExtension_insert___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_quickLt___boxed(lean_object*, lean_object*); static lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___closed__2; static lean_object* l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__9; LEAN_EXPORT lean_object* l_Lean_mkStateFromImportedEntries(lean_object*, lean_object*); -static lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__1; LEAN_EXPORT lean_object* l_Lean_TagDeclarationExtension_instInhabited; static lean_object* l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__27; static lean_object* l_Lean_TagDeclarationExtension_tag___closed__8; @@ -38,9 +38,8 @@ LEAN_EXPORT lean_object* l_Lean_mkMapDeclarationExtension___rarg___lambda__3(lea LEAN_EXPORT lean_object* l_List_foldl___at_Lean_mkMapDeclarationExtension___spec__3___rarg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkTagDeclarationExtension___closed__3; static lean_object* l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__10; -static lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__2; static lean_object* l_Lean_instInhabitedMapDeclarationExtension___closed__5; -LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_RBNode_insert___at_Lean_NameSet_insert___spec__1(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Name_quickLt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_SimplePersistentEnvExtension_instInhabited___rarg(lean_object*); @@ -49,6 +48,7 @@ LEAN_EXPORT lean_object* l_Lean_instInhabitedMapDeclarationExtension___lambda__3 LEAN_EXPORT lean_object* l_Lean_mkTagDeclarationExtension___lambda__2(lean_object*); LEAN_EXPORT uint8_t l_Lean_MapDeclarationExtension_contains___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___closed__2; lean_object* l_List_foldl___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkMapDeclarationExtension___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -71,6 +71,7 @@ lean_object* l_Lean_PersistentEnvExtension_getModuleEntries___rarg(lean_object*, lean_object* lean_nat_div(lean_object*, lean_object*); static lean_object* l_Lean_mkMapDeclarationExtension___rarg___closed__2; LEAN_EXPORT lean_object* l_Lean_instInhabitedMapDeclarationExtension___lambda__4(lean_object*); +static lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___closed__1; lean_object* l_Lean_PersistentEnvExtension_addEntry___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_SimplePersistentEnvExtension_getEntries___rarg___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_MapDeclarationExtension_insert___rarg___closed__4; @@ -95,7 +96,7 @@ lean_object* l_List_filterTR_loop___rarg(lean_object*, lean_object*, lean_object LEAN_EXPORT uint8_t l_Array_binSearchAux___at_Lean_TagDeclarationExtension_isTagged___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Environment_asyncMayContain(lean_object*, lean_object*); static lean_object* l_Lean_instInhabitedMapDeclarationExtension___closed__3; -LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5(lean_object*); lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*); static lean_object* l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__26; LEAN_EXPORT lean_object* l_Array_binSearchAux___at_Lean_MapDeclarationExtension_contains___spec__1(lean_object*); @@ -107,14 +108,13 @@ LEAN_EXPORT lean_object* l_Lean_SimplePersistentEnvExtension_setState___rarg(lea static lean_object* l_Lean_TagDeclarationExtension_tag___closed__3; lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*); static lean_object* l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__28; -LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4(lean_object*); +LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_RBMap_toArray___at_Lean_mkMapDeclarationExtension___spec__1___rarg(lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); static lean_object* l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__29; LEAN_EXPORT lean_object* l_Lean_MapDeclarationExtension_find_x3f___rarg(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_SimplePersistentEnvExtension_modifyState___rarg___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_SimplePersistentEnvExtension_modifyState(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_mkTagDeclarationExtension___lambda__3(lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg(lean_object*, lean_object*); @@ -135,12 +135,12 @@ static lean_object* l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___ static lean_object* l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__2; static lean_object* l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__25; LEAN_EXPORT lean_object* l_Lean_RBMap_toArray___at_Lean_mkMapDeclarationExtension___spec__1___rarg___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkTagDeclarationExtension___closed__2; LEAN_EXPORT lean_object* l_Lean_SimplePersistentEnvExtension_replayOfFilter(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_SimplePersistentEnvExtension_getEntries(lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); static lean_object* l_Lean_MapDeclarationExtension_insert___rarg___closed__1; -LEAN_EXPORT lean_object* l___auto____x40_Lean_EnvExtension___hyg_806_; extern lean_object* l_Lean_NameSet_empty; LEAN_EXPORT lean_object* l_Lean_mkMapDeclarationExtension___rarg___lambda__2(lean_object*, lean_object*); static lean_object* l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__7; @@ -154,6 +154,7 @@ LEAN_EXPORT lean_object* l_Lean_instInhabitedMapDeclarationExtension___lambda__5 static lean_object* l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__6; LEAN_EXPORT lean_object* l_Lean_TagDeclarationExtension_tag(lean_object*, lean_object*, lean_object*); uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___auto____x40_Lean_EnvExtension___hyg_585_; static lean_object* l_Lean_mkTagDeclarationExtension___closed__1; LEAN_EXPORT lean_object* l_Lean_RBMap_toArray___at_Lean_mkMapDeclarationExtension___spec__1(lean_object*); extern lean_object* l_Id_instMonad; @@ -164,7 +165,7 @@ lean_object* lean_nat_sub(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkMapDeclarationExtension___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_SimplePersistentEnvExtension_getState___rarg(lean_object*, lean_object*, lean_object*, uint8_t); lean_object* l___private_Init_Data_Array_QSort_0__Array_qpartition___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___boxed(lean_object*); static lean_object* l_Lean_TagDeclarationExtension_isTagged___closed__1; lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*); lean_object* l_List_reverse___rarg(lean_object*); @@ -202,8 +203,8 @@ LEAN_EXPORT lean_object* l_Lean_mkTagDeclarationExtension___lambda__2___boxed(le LEAN_EXPORT lean_object* l_Lean_SimplePersistentEnvExtension_setState(lean_object*, lean_object*); static lean_object* l_Lean_mkMapDeclarationExtension___rarg___closed__4; LEAN_EXPORT lean_object* l_Lean_mkTagDeclarationExtension(lean_object*, uint8_t, lean_object*); -LEAN_EXPORT lean_object* l___auto____x40_Lean_EnvExtension___hyg_558_; LEAN_EXPORT lean_object* l_Array_binSearchAux___at_Lean_MapDeclarationExtension_find_x3f___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instInhabitedMapDeclarationExtension___lambda__2___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__23; LEAN_EXPORT lean_object* l_panic___at_Lean_TagDeclarationExtension_tag___spec__1(lean_object*, lean_object*); @@ -707,7 +708,36 @@ return x_15; } } } -LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; +x_4 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 1); +if (x_4 == 0) +{ +lean_object* x_5; +lean_dec(x_3); +lean_dec(x_1); +x_5 = lean_array_mk(x_2); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; +lean_dec(x_2); +x_6 = lean_ctor_get(x_1, 3); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_ctor_get(x_3, 0); +lean_inc(x_7); +lean_dec(x_3); +x_8 = l_List_reverse___rarg(x_7); +x_9 = lean_apply_1(x_6, x_8); +return x_9; +} +} +} +LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__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; @@ -722,7 +752,7 @@ x_6 = lean_apply_1(x_3, x_5); return x_6; } } -static lean_object* _init_l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__1() { +static lean_object* _init_l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___closed__1() { _start: { lean_object* x_1; @@ -730,17 +760,17 @@ x_1 = lean_mk_string_unchecked("number of local entries: ", 25, 25); return x_1; } } -static lean_object* _init_l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__2() { +static lean_object* _init_l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__1; +x_1 = l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___closed__1; x_2 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5(lean_object* x_1) { _start: { 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; @@ -750,14 +780,14 @@ x_4 = l_List_lengthTRAux___rarg(x_2, x_3); x_5 = l___private_Init_Data_Repr_0__Nat_reprFast(x_4); x_6 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_6, 0, x_5); -x_7 = l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__2; +x_7 = l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___closed__2; x_8 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_8, 0, x_7); lean_ctor_set(x_8, 1, x_6); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; @@ -820,14 +850,14 @@ static lean_object* _init_l_Lean_registerSimplePersistentEnvExtension___rarg___c _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___boxed), 1, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___boxed), 1, 0); return x_1; } } LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg(lean_object* x_1, lean_object* x_2) { _start: { -lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; x_3 = lean_ctor_get(x_1, 0); lean_inc(x_3); x_4 = lean_ctor_get(x_1, 2); @@ -850,79 +880,80 @@ lean_closure_set(x_12, 1, x_7); lean_inc(x_1); x_13 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__2), 3, 1); lean_closure_set(x_13, 0, x_1); -x_14 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 2, 1); +lean_inc(x_1); +x_14 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__3), 3, 2); lean_closure_set(x_14, 0, x_1); +lean_closure_set(x_14, 1, x_7); +x_15 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4), 2, 1); +lean_closure_set(x_15, 0, x_1); if (lean_obj_tag(x_6) == 0) { -lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_15 = lean_box(0); -x_16 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__2; -lean_inc(x_14); -x_17 = lean_alloc_ctor(0, 8, 1); -lean_ctor_set(x_17, 0, x_3); -lean_ctor_set(x_17, 1, x_11); -lean_ctor_set(x_17, 2, x_12); -lean_ctor_set(x_17, 3, x_13); -lean_ctor_set(x_17, 4, x_14); -lean_ctor_set(x_17, 5, x_14); -lean_ctor_set(x_17, 6, x_16); -lean_ctor_set(x_17, 7, x_15); -lean_ctor_set_uint8(x_17, sizeof(void*)*8, x_5); -x_18 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg(x_17, x_2); -return x_18; +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_16 = lean_box(0); +x_17 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__2; +x_18 = lean_alloc_ctor(0, 8, 1); +lean_ctor_set(x_18, 0, x_3); +lean_ctor_set(x_18, 1, x_11); +lean_ctor_set(x_18, 2, x_12); +lean_ctor_set(x_18, 3, x_13); +lean_ctor_set(x_18, 4, x_14); +lean_ctor_set(x_18, 5, x_15); +lean_ctor_set(x_18, 6, x_17); +lean_ctor_set(x_18, 7, x_16); +lean_ctor_set_uint8(x_18, sizeof(void*)*8, x_5); +x_19 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg(x_18, x_2); +return x_19; } else { -uint8_t x_19; -x_19 = !lean_is_exclusive(x_6); -if (x_19 == 0) +uint8_t x_20; +x_20 = !lean_is_exclusive(x_6); +if (x_20 == 0) { -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_20 = lean_ctor_get(x_6, 0); -x_21 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___boxed), 6, 2); -lean_closure_set(x_21, 0, x_8); -lean_closure_set(x_21, 1, x_20); -lean_ctor_set(x_6, 0, x_21); -x_22 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__2; -lean_inc(x_14); -x_23 = lean_alloc_ctor(0, 8, 1); -lean_ctor_set(x_23, 0, x_3); -lean_ctor_set(x_23, 1, x_11); -lean_ctor_set(x_23, 2, x_12); -lean_ctor_set(x_23, 3, x_13); -lean_ctor_set(x_23, 4, x_14); -lean_ctor_set(x_23, 5, x_14); -lean_ctor_set(x_23, 6, x_22); -lean_ctor_set(x_23, 7, x_6); -lean_ctor_set_uint8(x_23, sizeof(void*)*8, x_5); -x_24 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg(x_23, x_2); -return x_24; +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_6, 0); +x_22 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__6___boxed), 6, 2); +lean_closure_set(x_22, 0, x_8); +lean_closure_set(x_22, 1, x_21); +lean_ctor_set(x_6, 0, x_22); +x_23 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__2; +x_24 = lean_alloc_ctor(0, 8, 1); +lean_ctor_set(x_24, 0, x_3); +lean_ctor_set(x_24, 1, x_11); +lean_ctor_set(x_24, 2, x_12); +lean_ctor_set(x_24, 3, x_13); +lean_ctor_set(x_24, 4, x_14); +lean_ctor_set(x_24, 5, x_15); +lean_ctor_set(x_24, 6, x_23); +lean_ctor_set(x_24, 7, x_6); +lean_ctor_set_uint8(x_24, sizeof(void*)*8, x_5); +x_25 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg(x_24, x_2); +return x_25; } else { -lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_25 = lean_ctor_get(x_6, 0); -lean_inc(x_25); +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_26 = lean_ctor_get(x_6, 0); +lean_inc(x_26); lean_dec(x_6); -x_26 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___boxed), 6, 2); -lean_closure_set(x_26, 0, x_8); -lean_closure_set(x_26, 1, x_25); -x_27 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_27, 0, x_26); -x_28 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__2; -lean_inc(x_14); -x_29 = lean_alloc_ctor(0, 8, 1); -lean_ctor_set(x_29, 0, x_3); -lean_ctor_set(x_29, 1, x_11); -lean_ctor_set(x_29, 2, x_12); -lean_ctor_set(x_29, 3, x_13); -lean_ctor_set(x_29, 4, x_14); -lean_ctor_set(x_29, 5, x_14); -lean_ctor_set(x_29, 6, x_28); -lean_ctor_set(x_29, 7, x_27); -lean_ctor_set_uint8(x_29, sizeof(void*)*8, x_5); -x_30 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg(x_29, x_2); -return x_30; +x_27 = lean_alloc_closure((void*)(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__6___boxed), 6, 2); +lean_closure_set(x_27, 0, x_8); +lean_closure_set(x_27, 1, x_26); +x_28 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_28, 0, x_27); +x_29 = l_Lean_registerSimplePersistentEnvExtension___rarg___closed__2; +x_30 = lean_alloc_ctor(0, 8, 1); +lean_ctor_set(x_30, 0, x_3); +lean_ctor_set(x_30, 1, x_11); +lean_ctor_set(x_30, 2, x_12); +lean_ctor_set(x_30, 3, x_13); +lean_ctor_set(x_30, 4, x_14); +lean_ctor_set(x_30, 5, x_15); +lean_ctor_set(x_30, 6, x_29); +lean_ctor_set(x_30, 7, x_28); +lean_ctor_set_uint8(x_30, sizeof(void*)*8, x_5); +x_31 = l_Lean_registerPersistentEnvExtensionUnsafe___rarg(x_30, x_2); +return x_31; } } } @@ -944,20 +975,20 @@ lean_dec(x_4); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___boxed(lean_object* x_1) { _start: { lean_object* x_2; -x_2 = l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4(x_1); +x_2 = l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5(x_1); lean_dec(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; -x_7 = l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__6(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_3); return x_7; @@ -1192,7 +1223,7 @@ lean_dec(x_2); return x_5; } } -static lean_object* _init_l___auto____x40_Lean_EnvExtension___hyg_558_() { +static lean_object* _init_l___auto____x40_Lean_EnvExtension___hyg_585_() { _start: { lean_object* x_1; @@ -1336,20 +1367,22 @@ return x_1; LEAN_EXPORT lean_object* l_Lean_mkTagDeclarationExtension(lean_object* x_1, uint8_t x_2, lean_object* x_3) { _start: { -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_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10; x_4 = lean_box(0); x_5 = l_Lean_mkTagDeclarationExtension___closed__1; x_6 = l_Lean_mkTagDeclarationExtension___closed__2; x_7 = l_Lean_mkTagDeclarationExtension___closed__3; -x_8 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_8, 0, x_1); -lean_ctor_set(x_8, 1, x_5); -lean_ctor_set(x_8, 2, x_6); -lean_ctor_set(x_8, 3, x_7); -lean_ctor_set(x_8, 4, x_4); -lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_2); -x_9 = l_Lean_registerSimplePersistentEnvExtension___rarg(x_8, x_3); -return x_9; +x_8 = 1; +x_9 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_9, 0, x_1); +lean_ctor_set(x_9, 1, x_5); +lean_ctor_set(x_9, 2, x_6); +lean_ctor_set(x_9, 3, x_7); +lean_ctor_set(x_9, 4, x_4); +lean_ctor_set_uint8(x_9, sizeof(void*)*5, x_2); +lean_ctor_set_uint8(x_9, sizeof(void*)*5 + 1, x_8); +x_10 = l_Lean_registerSimplePersistentEnvExtension___rarg(x_9, x_3); +return x_10; } } LEAN_EXPORT lean_object* l_Array_qsort_sort___at_Lean_mkTagDeclarationExtension___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { @@ -1462,7 +1495,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_TagDeclarationExtension_tag___closed__4; x_2 = l_Lean_TagDeclarationExtension_tag___closed__5; -x_3 = lean_unsigned_to_nat(106u); +x_3 = lean_unsigned_to_nat(112u); x_4 = lean_unsigned_to_nat(2u); x_5 = l_Lean_TagDeclarationExtension_tag___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -1493,7 +1526,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_TagDeclarationExtension_tag___closed__4; x_2 = l_Lean_TagDeclarationExtension_tag___closed__5; -x_3 = lean_unsigned_to_nat(105u); +x_3 = lean_unsigned_to_nat(111u); x_4 = lean_unsigned_to_nat(2u); x_5 = l_Lean_TagDeclarationExtension_tag___closed__8; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -1929,7 +1962,7 @@ lean_dec(x_1); return x_2; } } -static lean_object* _init_l___auto____x40_Lean_EnvExtension___hyg_806_() { +static lean_object* _init_l___auto____x40_Lean_EnvExtension___hyg_833_() { _start: { lean_object* x_1; @@ -2255,7 +2288,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_TagDeclarationExtension_tag___closed__4; x_2 = l_Lean_MapDeclarationExtension_insert___rarg___closed__1; -x_3 = lean_unsigned_to_nat(147u); +x_3 = lean_unsigned_to_nat(153u); x_4 = lean_unsigned_to_nat(2u); x_5 = l_Lean_TagDeclarationExtension_tag___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -2286,7 +2319,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_TagDeclarationExtension_tag___closed__4; x_2 = l_Lean_MapDeclarationExtension_insert___rarg___closed__1; -x_3 = lean_unsigned_to_nat(146u); +x_3 = lean_unsigned_to_nat(152u); x_4 = lean_unsigned_to_nat(2u); x_5 = l_Lean_MapDeclarationExtension_insert___rarg___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -2845,16 +2878,16 @@ l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__29 = _init_l lean_mark_persistent(l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam___closed__29); l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam = _init_l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam(); lean_mark_persistent(l_Lean_SimplePersistentEnvExtensionDescr_name___autoParam); -l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__1 = _init_l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__1(); -lean_mark_persistent(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__1); -l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__2 = _init_l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__2(); -lean_mark_persistent(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__4___closed__2); +l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___closed__1 = _init_l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___closed__1(); +lean_mark_persistent(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___closed__1); +l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___closed__2 = _init_l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___closed__2(); +lean_mark_persistent(l_Lean_registerSimplePersistentEnvExtension___rarg___lambda__5___closed__2); l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1 = _init_l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1(); lean_mark_persistent(l_Lean_registerSimplePersistentEnvExtension___rarg___closed__1); l_Lean_registerSimplePersistentEnvExtension___rarg___closed__2 = _init_l_Lean_registerSimplePersistentEnvExtension___rarg___closed__2(); lean_mark_persistent(l_Lean_registerSimplePersistentEnvExtension___rarg___closed__2); -l___auto____x40_Lean_EnvExtension___hyg_558_ = _init_l___auto____x40_Lean_EnvExtension___hyg_558_(); -lean_mark_persistent(l___auto____x40_Lean_EnvExtension___hyg_558_); +l___auto____x40_Lean_EnvExtension___hyg_585_ = _init_l___auto____x40_Lean_EnvExtension___hyg_585_(); +lean_mark_persistent(l___auto____x40_Lean_EnvExtension___hyg_585_); l_Array_qsort_sort___at_Lean_mkTagDeclarationExtension___spec__1___closed__1 = _init_l_Array_qsort_sort___at_Lean_mkTagDeclarationExtension___spec__1___closed__1(); lean_mark_persistent(l_Array_qsort_sort___at_Lean_mkTagDeclarationExtension___spec__1___closed__1); l_Lean_mkTagDeclarationExtension___closed__1 = _init_l_Lean_mkTagDeclarationExtension___closed__1(); @@ -2905,8 +2938,8 @@ l_Lean_instInhabitedMapDeclarationExtension___closed__6 = _init_l_Lean_instInhab lean_mark_persistent(l_Lean_instInhabitedMapDeclarationExtension___closed__6); l_Lean_instInhabitedMapDeclarationExtension___closed__7 = _init_l_Lean_instInhabitedMapDeclarationExtension___closed__7(); lean_mark_persistent(l_Lean_instInhabitedMapDeclarationExtension___closed__7); -l___auto____x40_Lean_EnvExtension___hyg_806_ = _init_l___auto____x40_Lean_EnvExtension___hyg_806_(); -lean_mark_persistent(l___auto____x40_Lean_EnvExtension___hyg_806_); +l___auto____x40_Lean_EnvExtension___hyg_833_ = _init_l___auto____x40_Lean_EnvExtension___hyg_833_(); +lean_mark_persistent(l___auto____x40_Lean_EnvExtension___hyg_833_); l_Lean_mkMapDeclarationExtension___rarg___closed__1 = _init_l_Lean_mkMapDeclarationExtension___rarg___closed__1(); lean_mark_persistent(l_Lean_mkMapDeclarationExtension___rarg___closed__1); l_Lean_mkMapDeclarationExtension___rarg___closed__2 = _init_l_Lean_mkMapDeclarationExtension___rarg___closed__2(); diff --git a/stage0/stdlib/Lean/Environment.c b/stage0/stdlib/Lean/Environment.c index a3fb831101..fbc80b55cc 100644 --- a/stage0/stdlib/Lean/Environment.c +++ b/stage0/stdlib/Lean/Environment.c @@ -243,7 +243,7 @@ static lean_object* l___private_Lean_Environment_0__Lean_reprConstantKind____x40 LEAN_EXPORT lean_object* l_Lean_Environment_addConstAsync___lambda__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_EnvExtension_modifyState___rarg(lean_object*, lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Environment_0__Lean_Kernel_Environment_add___spec__10(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_filterMapM___at_Lean_finalizeImport___spec__12(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_filterMapM___at_Lean_finalizeImport___spec__12(uint8_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Environment_asyncPrefix_x3f(lean_object*); lean_object* lean_get_num_attributes(lean_object*); static lean_object* l_Lean_PersistentEnvExtensionDescr_name___autoParam___closed__18; @@ -486,7 +486,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Environment_0__Lean_Environment_throwU static lean_object* l_Lean_Environment_addDeclCore___closed__1; static lean_object* l___private_Lean_Environment_0__Lean_Environment_mkFallbackConstInfo___closed__5; static lean_object* l___private_Lean_Environment_0__Lean_Environment_mkFallbackConstInfo___closed__12; -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__13___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_div(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkEmptyEnvironment___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Environment_displayStats___closed__7; @@ -1140,7 +1140,7 @@ LEAN_EXPORT lean_object* l_Lean_instImpl____x40_Lean_Environment___hyg_1961_; lean_object* lean_expr_dbg_to_string(lean_object*); static lean_object* l_Lean_Environment_realizeConst___lambda__5___closed__1; LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_mkExtNameMap___spec__6___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_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__13(lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__13(uint8_t, lean_object*, size_t, size_t, lean_object*); lean_object* lean_compacted_region_free(size_t, lean_object*); lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instGetElem_x3fArrayModuleIdxLtNatToNatSize___lambda__1___boxed(lean_object*, lean_object*); @@ -1181,7 +1181,7 @@ static lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Environment_displayStats static lean_object* l_Lean_EnvExtension_ensureExtensionsArraySize_loop___closed__1; LEAN_EXPORT lean_object* l_Lean_Environment_addConstAsync___lambda__6(lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_AsyncConstantInfo_ofConstantInfo(lean_object*); -LEAN_EXPORT lean_object* l_Array_filterMapM___at_Lean_finalizeImport___spec__12___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_filterMapM___at_Lean_finalizeImport___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___private_Lean_Environment_0__Lean_Kernel_Environment_add___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at___private_Lean_Environment_0__Lean_Environment_updateBaseAfterKernelAdd___spec__1(lean_object*, lean_object*, lean_object*); @@ -1204,7 +1204,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Environment_0__Lean_EnvExtension_findS static lean_object* l___private_Lean_Environment_0__Lean_reprConstantKind____x40_Lean_Environment___hyg_1336____closed__8; static lean_object* l_Lean_instInhabitedPersistentEnvExtension___closed__4; LEAN_EXPORT lean_object* l_Lean_PersistentEnvExtension_findStateAsync___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Environment_0__Lean_ImportedModule_serverData_x3f___boxed(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Environment_0__Lean_ImportedModule_serverData_x3f___boxed(lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l_Lean_registerPersistentEnvExtensionUnsafe___rarg___lambda__3(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_OLeanLevel_adjustFileName(lean_object*, uint8_t); @@ -1214,7 +1214,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Environment_0__Lean_Environment_findTa static lean_object* l___private_Lean_Environment_0__Lean_Environment_looksLikeOldCodegenName___closed__6; static lean_object* l_Lean_Environment_AddConstAsyncResult_commitSignature___closed__1; LEAN_EXPORT lean_object* l_Lean_EnvExtension_setState(lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Environment_0__Lean_ImportedModule_serverData_x3f(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Environment_0__Lean_ImportedModule_serverData_x3f(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_List_toString___at_Lean_Environment_AddConstAsyncResult_commitConst___spec__1(lean_object*); lean_object* l_ReaderT_instMonad___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_withImportModules___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -22574,72 +22574,88 @@ lean_dec(x_1); return x_2; } } -LEAN_EXPORT lean_object* l___private_Lean_Environment_0__Lean_ImportedModule_serverData_x3f(lean_object* x_1) { +LEAN_EXPORT lean_object* l___private_Lean_Environment_0__Lean_ImportedModule_serverData_x3f(lean_object* x_1, uint8_t x_2) { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5; -x_2 = lean_ctor_get(x_1, 1); -x_3 = lean_array_get_size(x_2); -x_4 = lean_unsigned_to_nat(0u); -x_5 = lean_nat_dec_lt(x_4, x_3); -if (x_5 == 0) +lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; +x_3 = lean_ctor_get(x_1, 1); +x_4 = lean_array_get_size(x_3); +x_5 = lean_unsigned_to_nat(0u); +x_6 = lean_nat_dec_lt(x_5, x_4); +if (x_6 == 0) { -lean_object* x_6; -lean_dec(x_3); -x_6 = lean_box(0); -return x_6; +lean_object* x_7; +lean_dec(x_4); +x_7 = lean_box(0); +return x_7; } else { -lean_object* x_7; lean_object* x_8; uint8_t x_9; -x_7 = lean_array_fget(x_2, x_4); -x_8 = lean_ctor_get(x_7, 0); -lean_inc(x_8); -lean_dec(x_7); -x_9 = lean_ctor_get_uint8(x_8, sizeof(void*)*5); -if (x_9 == 0) -{ -lean_object* x_10; -lean_dec(x_3); -x_10 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_10, 0, x_8); -return x_10; -} -else -{ -lean_object* x_11; uint8_t x_12; +lean_object* x_8; lean_object* x_9; uint8_t x_10; +x_8 = lean_array_fget(x_3, x_5); +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); lean_dec(x_8); -x_11 = lean_unsigned_to_nat(1u); -x_12 = lean_nat_dec_lt(x_11, x_3); -lean_dec(x_3); -if (x_12 == 0) +x_10 = lean_ctor_get_uint8(x_9, sizeof(void*)*5); +if (x_10 == 0) { -lean_object* x_13; -x_13 = lean_box(0); -return x_13; +lean_object* x_11; +lean_dec(x_4); +x_11 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_11, 0, x_9); +return x_11; } else { -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = lean_array_fget(x_2, x_11); -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -lean_dec(x_14); -x_16 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_16, 0, x_15); +uint8_t x_12; uint8_t x_13; +x_12 = 0; +x_13 = l_Lean_instDecidableEqOLeanLevel(x_2, x_12); +if (x_13 == 0) +{ +lean_object* x_14; uint8_t x_15; +lean_dec(x_9); +x_14 = lean_unsigned_to_nat(1u); +x_15 = lean_nat_dec_lt(x_14, x_4); +lean_dec(x_4); +if (x_15 == 0) +{ +lean_object* x_16; +x_16 = lean_box(0); return x_16; } +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_array_fget(x_3, x_14); +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +lean_dec(x_17); +x_19 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_19, 0, x_18); +return x_19; +} +} +else +{ +lean_object* x_20; +lean_dec(x_4); +x_20 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_20, 0, x_9); +return x_20; } } } } -LEAN_EXPORT lean_object* l___private_Lean_Environment_0__Lean_ImportedModule_serverData_x3f___boxed(lean_object* x_1) { +} +LEAN_EXPORT lean_object* l___private_Lean_Environment_0__Lean_ImportedModule_serverData_x3f___boxed(lean_object* x_1, lean_object* x_2) { _start: { -lean_object* x_2; -x_2 = l___private_Lean_Environment_0__Lean_ImportedModule_serverData_x3f(x_1); +uint8_t x_3; lean_object* x_4; +x_3 = lean_unbox(x_2); +lean_dec(x_2); +x_4 = l___private_Lean_Environment_0__Lean_ImportedModule_serverData_x3f(x_1, x_3); lean_dec(x_1); -return x_2; +return x_4; } } static lean_object* _init_l_Std_DHashMap_Internal_AssocList_get_x21___at_Lean_throwAlreadyImported___spec__1___closed__1() { @@ -23325,7 +23341,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_2 = l_Array_forIn_x27Unsafe_loop___at_Lean_importModulesCore___spec__8___lambda__1___closed__1; -x_3 = lean_unsigned_to_nat(1734u); +x_3 = lean_unsigned_to_nat(1735u); x_4 = lean_unsigned_to_nat(41u); x_5 = l_Lean_readModuleData___closed__5; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -27959,73 +27975,73 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__13(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__13(uint8_t x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5) { +_start: +{ +uint8_t x_6; +x_6 = lean_usize_dec_eq(x_3, x_4); +if (x_6 == 0) +{ +lean_object* x_7; lean_object* x_8; size_t x_9; size_t x_10; +x_7 = lean_array_uget(x_2, x_3); +x_8 = l___private_Lean_Environment_0__Lean_ImportedModule_serverData_x3f(x_7, x_1); +lean_dec(x_7); +x_9 = 1; +x_10 = lean_usize_add(x_3, x_9); +if (lean_obj_tag(x_8) == 0) +{ +x_3 = x_10; +goto _start; +} +else +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_8, 0); +lean_inc(x_12); +lean_dec(x_8); +x_13 = lean_array_push(x_5, x_12); +x_3 = x_10; +x_5 = x_13; +goto _start; +} +} +else +{ +return x_5; +} +} +} +LEAN_EXPORT lean_object* l_Array_filterMapM___at_Lean_finalizeImport___spec__12(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { uint8_t x_5; -x_5 = lean_usize_dec_eq(x_2, x_3); +x_5 = lean_nat_dec_lt(x_3, x_4); if (x_5 == 0) { -lean_object* x_6; lean_object* x_7; size_t x_8; size_t x_9; -x_6 = lean_array_uget(x_1, x_2); -x_7 = l___private_Lean_Environment_0__Lean_ImportedModule_serverData_x3f(x_6); -lean_dec(x_6); -x_8 = 1; -x_9 = lean_usize_add(x_2, x_8); -if (lean_obj_tag(x_7) == 0) -{ -x_2 = x_9; -goto _start; +lean_object* x_6; +x_6 = l_Lean_EnvExtension_initFn____x40_Lean_Environment___hyg_6193____closed__1; +return x_6; } else { -lean_object* x_11; lean_object* x_12; -x_11 = lean_ctor_get(x_7, 0); -lean_inc(x_11); +lean_object* x_7; uint8_t x_8; +x_7 = lean_array_get_size(x_2); +x_8 = lean_nat_dec_le(x_4, x_7); lean_dec(x_7); -x_12 = lean_array_push(x_4, x_11); -x_2 = x_9; -x_4 = x_12; -goto _start; -} +if (x_8 == 0) +{ +lean_object* x_9; +x_9 = l_Lean_EnvExtension_initFn____x40_Lean_Environment___hyg_6193____closed__1; +return x_9; } else { -return x_4; -} -} -} -LEAN_EXPORT lean_object* l_Array_filterMapM___at_Lean_finalizeImport___spec__12(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -uint8_t x_4; -x_4 = lean_nat_dec_lt(x_2, x_3); -if (x_4 == 0) -{ -lean_object* x_5; -x_5 = l_Lean_EnvExtension_initFn____x40_Lean_Environment___hyg_6193____closed__1; -return x_5; -} -else -{ -lean_object* x_6; uint8_t x_7; -x_6 = lean_array_get_size(x_1); -x_7 = lean_nat_dec_le(x_3, x_6); -lean_dec(x_6); -if (x_7 == 0) -{ -lean_object* x_8; -x_8 = l_Lean_EnvExtension_initFn____x40_Lean_Environment___hyg_6193____closed__1; -return x_8; -} -else -{ -size_t x_9; size_t x_10; lean_object* x_11; lean_object* x_12; -x_9 = lean_usize_of_nat(x_2); +size_t x_10; size_t x_11; lean_object* x_12; lean_object* x_13; x_10 = lean_usize_of_nat(x_3); -x_11 = l_Lean_EnvExtension_initFn____x40_Lean_Environment___hyg_6193____closed__1; -x_12 = l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__13(x_1, x_9, x_10, x_11); -return x_12; +x_11 = lean_usize_of_nat(x_4); +x_12 = l_Lean_EnvExtension_initFn____x40_Lean_Environment___hyg_6193____closed__1; +x_13 = l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__13(x_1, x_2, x_10, x_11, x_12); +return x_13; } } } @@ -28295,29 +28311,29 @@ if (x_19 == 0) { lean_dec(x_18); x_23 = x_11; -goto block_90; +goto block_92; } else { -uint8_t x_91; -x_91 = lean_nat_dec_le(x_18, x_18); -if (x_91 == 0) +uint8_t x_93; +x_93 = lean_nat_dec_le(x_18, x_18); +if (x_93 == 0) { lean_dec(x_18); x_23 = x_11; -goto block_90; +goto block_92; } else { -size_t x_92; lean_object* x_93; -x_92 = lean_usize_of_nat(x_18); +size_t x_94; lean_object* x_95; +x_94 = lean_usize_of_nat(x_18); lean_dec(x_18); -x_93 = l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__15(x_16, x_14, x_92, x_11); -x_23 = x_93; -goto block_90; +x_95 = l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__15(x_16, x_14, x_94, x_11); +x_23 = x_95; +goto block_92; } } -block_90: +block_92: { lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; x_24 = lean_unsigned_to_nat(4u); @@ -28360,218 +28376,220 @@ lean_ctor_set_uint8(x_39, sizeof(void*)*2, x_37); x_40 = l_Lean_EnvExtension_mkInitialExtStates(x_34); if (lean_obj_tag(x_40) == 0) { -lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; +lean_object* x_41; lean_object* x_42; uint8_t x_43; uint8_t x_44; uint8_t x_45; lean_object* x_46; uint8_t x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; x_41 = lean_ctor_get(x_40, 0); lean_inc(x_41); x_42 = lean_ctor_get(x_40, 1); lean_inc(x_42); lean_dec(x_40); x_43 = l_Array_isEmpty___rarg(x_2); -x_44 = lean_array_get_size(x_12); -x_45 = lean_nat_dec_lt(x_11, x_44); -x_46 = lean_box(0); -x_47 = lean_box(0); +x_44 = 0; +x_45 = l_Lean_instDecidableEqOLeanLevel(x_7, x_44); +x_46 = lean_array_get_size(x_12); +x_47 = lean_nat_dec_lt(x_11, x_46); +x_48 = lean_box(0); +x_49 = lean_box(0); lean_inc(x_16); -x_48 = l___private_Lean_Environment_0__Lean_setImportedEntries(x_41, x_16, x_11, x_42); +x_50 = l___private_Lean_Environment_0__Lean_setImportedEntries(x_41, x_16, x_11, x_42); if (x_43 == 0) { -uint8_t x_81; -x_81 = 1; -x_49 = x_81; -goto block_80; +uint8_t x_83; +x_83 = 1; +x_51 = x_83; +goto block_82; } else { -x_49 = x_37; -goto block_80; +x_51 = x_37; +goto block_82; } -block_80: +block_82: { -lean_object* x_50; -if (x_45 == 0) -{ -lean_object* x_74; -x_74 = l_Lean_instInhabitedModuleData___closed__1; -x_50 = x_74; -goto block_73; -} -else -{ -uint8_t x_75; -x_75 = lean_nat_dec_le(x_44, x_44); -if (x_75 == 0) +lean_object* x_52; +if (x_47 == 0) { lean_object* x_76; x_76 = l_Lean_instInhabitedModuleData___closed__1; -x_50 = x_76; -goto block_73; +x_52 = x_76; +goto block_75; } else { -size_t x_77; lean_object* x_78; lean_object* x_79; -x_77 = lean_usize_of_nat(x_44); -x_78 = l_Lean_instInhabitedModuleData___closed__1; -x_79 = l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__14(x_14, x_12, x_14, x_77, x_78); -x_50 = x_79; -goto block_73; -} -} -block_73: +uint8_t x_77; +x_77 = lean_nat_dec_le(x_46, x_46); +if (x_77 == 0) { -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_51 = lean_ctor_get(x_48, 0); -lean_inc(x_51); -x_52 = lean_ctor_get(x_48, 1); -lean_inc(x_52); -lean_dec(x_48); -x_53 = lean_box(0); +lean_object* x_78; +x_78 = l_Lean_instInhabitedModuleData___closed__1; +x_52 = x_78; +goto block_75; +} +else +{ +size_t x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_usize_of_nat(x_46); +x_80 = l_Lean_instInhabitedModuleData___closed__1; +x_81 = l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__14(x_14, x_12, x_14, x_79, x_80); +x_52 = x_81; +goto block_75; +} +} +block_75: +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_53 = lean_ctor_get(x_50, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_50, 1); +lean_inc(x_54); +lean_dec(x_50); +x_55 = lean_box(0); lean_inc(x_16); lean_inc(x_9); -x_54 = lean_alloc_ctor(0, 5, 5); -lean_ctor_set(x_54, 0, x_53); -lean_ctor_set(x_54, 1, x_2); -lean_ctor_set(x_54, 2, x_50); -lean_ctor_set(x_54, 3, x_9); -lean_ctor_set(x_54, 4, x_16); -lean_ctor_set_uint32(x_54, sizeof(void*)*5, x_4); -lean_ctor_set_uint8(x_54, sizeof(void*)*5 + 4, x_7); -x_55 = l_Lean_Kernel_instInhabitedDiagnostics___closed__3; -x_56 = l_Lean_NameSet_empty; -lean_inc(x_51); -x_57 = lean_alloc_ctor(0, 6, 1); -lean_ctor_set(x_57, 0, x_39); -lean_ctor_set(x_57, 1, x_55); -lean_ctor_set(x_57, 2, x_35); -lean_ctor_set(x_57, 3, x_51); -lean_ctor_set(x_57, 4, x_56); -lean_ctor_set(x_57, 5, x_54); -lean_ctor_set_uint8(x_57, sizeof(void*)*6, x_49); -x_58 = l_Array_filterMapM___at_Lean_finalizeImport___spec__12(x_12, x_11, x_44); -lean_dec(x_44); +x_56 = lean_alloc_ctor(0, 5, 5); +lean_ctor_set(x_56, 0, x_55); +lean_ctor_set(x_56, 1, x_2); +lean_ctor_set(x_56, 2, x_52); +lean_ctor_set(x_56, 3, x_9); +lean_ctor_set(x_56, 4, x_16); +lean_ctor_set_uint32(x_56, sizeof(void*)*5, x_4); +lean_ctor_set_uint8(x_56, sizeof(void*)*5 + 4, x_45); +x_57 = l_Lean_Kernel_instInhabitedDiagnostics___closed__3; +x_58 = l_Lean_NameSet_empty; +lean_inc(x_53); +x_59 = lean_alloc_ctor(0, 6, 1); +lean_ctor_set(x_59, 0, x_39); +lean_ctor_set(x_59, 1, x_57); +lean_ctor_set(x_59, 2, x_35); +lean_ctor_set(x_59, 3, x_53); +lean_ctor_set(x_59, 4, x_58); +lean_ctor_set(x_59, 5, x_56); +lean_ctor_set_uint8(x_59, sizeof(void*)*6, x_51); +x_60 = l_Array_filterMapM___at_Lean_finalizeImport___spec__12(x_7, x_12, x_11, x_46); +lean_dec(x_46); lean_dec(x_12); -x_59 = l___private_Lean_Environment_0__Lean_setImportedEntries(x_51, x_58, x_11, x_52); -x_60 = lean_ctor_get(x_59, 0); -lean_inc(x_60); -x_61 = lean_ctor_get(x_59, 1); -lean_inc(x_61); -lean_dec(x_59); -lean_inc(x_57); -x_62 = lean_task_pure(x_57); -x_63 = l_Lean_instInhabitedAsyncConsts___closed__2; -x_64 = l_Lean_Environment_ofKernelEnv___closed__1; -x_65 = lean_alloc_ctor(0, 8, 1); -lean_ctor_set(x_65, 0, x_57); -lean_ctor_set(x_65, 1, x_60); -lean_ctor_set(x_65, 2, x_62); -lean_ctor_set(x_65, 3, x_63); -lean_ctor_set(x_65, 4, x_47); -lean_ctor_set(x_65, 5, x_47); -lean_ctor_set(x_65, 6, x_46); -lean_ctor_set(x_65, 7, x_64); -lean_ctor_set_uint8(x_65, sizeof(void*)*8, x_37); +x_61 = l___private_Lean_Environment_0__Lean_setImportedEntries(x_53, x_60, x_11, x_54); +x_62 = lean_ctor_get(x_61, 0); +lean_inc(x_62); +x_63 = lean_ctor_get(x_61, 1); +lean_inc(x_63); +lean_dec(x_61); +lean_inc(x_59); +x_64 = lean_task_pure(x_59); +x_65 = l_Lean_instInhabitedAsyncConsts___closed__2; +x_66 = l_Lean_Environment_ofKernelEnv___closed__1; +x_67 = lean_alloc_ctor(0, 8, 1); +lean_ctor_set(x_67, 0, x_59); +lean_ctor_set(x_67, 1, x_62); +lean_ctor_set(x_67, 2, x_64); +lean_ctor_set(x_67, 3, x_65); +lean_ctor_set(x_67, 4, x_49); +lean_ctor_set(x_67, 5, x_49); +lean_ctor_set(x_67, 6, x_48); +lean_ctor_set(x_67, 7, x_66); +lean_ctor_set_uint8(x_67, sizeof(void*)*8, x_37); if (x_5 == 0) { -lean_object* x_66; lean_object* x_67; -x_66 = lean_box(0); -x_67 = l_Lean_finalizeImport___lambda__2(x_46, x_3, x_6, x_16, x_5, x_65, x_66, x_61); -return x_67; +lean_object* x_68; lean_object* x_69; +x_68 = lean_box(0); +x_69 = l_Lean_finalizeImport___lambda__2(x_48, x_3, x_6, x_16, x_5, x_67, x_68, x_63); +return x_69; } else { -lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_68 = lean_runtime_mark_persistent(x_65, x_61); -x_69 = lean_ctor_get(x_68, 0); -lean_inc(x_69); -x_70 = lean_ctor_get(x_68, 1); -lean_inc(x_70); -lean_dec(x_68); -x_71 = lean_box(0); -x_72 = l_Lean_finalizeImport___lambda__2(x_46, x_3, x_6, x_16, x_5, x_69, x_71, x_70); -return x_72; +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; +x_70 = lean_runtime_mark_persistent(x_67, x_63); +x_71 = lean_ctor_get(x_70, 0); +lean_inc(x_71); +x_72 = lean_ctor_get(x_70, 1); +lean_inc(x_72); +lean_dec(x_70); +x_73 = lean_box(0); +x_74 = l_Lean_finalizeImport___lambda__2(x_48, x_3, x_6, x_16, x_5, x_71, x_73, x_72); +return x_74; } } } } else { -uint8_t x_82; +uint8_t x_84; lean_dec(x_39); lean_dec(x_35); lean_dec(x_16); lean_dec(x_12); lean_dec(x_3); lean_dec(x_2); -x_82 = !lean_is_exclusive(x_40); -if (x_82 == 0) +x_84 = !lean_is_exclusive(x_40); +if (x_84 == 0) { return x_40; } else { -lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_83 = lean_ctor_get(x_40, 0); -x_84 = lean_ctor_get(x_40, 1); -lean_inc(x_84); -lean_inc(x_83); +lean_object* x_85; lean_object* x_86; lean_object* x_87; +x_85 = lean_ctor_get(x_40, 0); +x_86 = lean_ctor_get(x_40, 1); +lean_inc(x_86); +lean_inc(x_85); lean_dec(x_40); -x_85 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_85, 0, x_83); -lean_ctor_set(x_85, 1, x_84); -return x_85; +x_87 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_87, 0, x_85); +lean_ctor_set(x_87, 1, x_86); +return x_87; } } } else { -uint8_t x_86; +uint8_t x_88; lean_dec(x_16); lean_dec(x_12); lean_dec(x_3); lean_dec(x_2); -x_86 = !lean_is_exclusive(x_32); -if (x_86 == 0) +x_88 = !lean_is_exclusive(x_32); +if (x_88 == 0) { return x_32; } else { -lean_object* x_87; lean_object* x_88; lean_object* x_89; -x_87 = lean_ctor_get(x_32, 0); -x_88 = lean_ctor_get(x_32, 1); -lean_inc(x_88); -lean_inc(x_87); +lean_object* x_89; lean_object* x_90; lean_object* x_91; +x_89 = lean_ctor_get(x_32, 0); +x_90 = lean_ctor_get(x_32, 1); +lean_inc(x_90); +lean_inc(x_89); lean_dec(x_32); -x_89 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_89, 0, x_87); -lean_ctor_set(x_89, 1, x_88); -return x_89; +x_91 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_91, 0, x_89); +lean_ctor_set(x_91, 1, x_90); +return x_91; } } } } else { -uint8_t x_94; +uint8_t x_96; lean_dec(x_12); lean_dec(x_3); lean_dec(x_2); -x_94 = !lean_is_exclusive(x_15); -if (x_94 == 0) +x_96 = !lean_is_exclusive(x_15); +if (x_96 == 0) { return x_15; } else { -lean_object* x_95; lean_object* x_96; lean_object* x_97; -x_95 = lean_ctor_get(x_15, 0); -x_96 = lean_ctor_get(x_15, 1); -lean_inc(x_96); -lean_inc(x_95); +lean_object* x_97; lean_object* x_98; lean_object* x_99; +x_97 = lean_ctor_get(x_15, 0); +x_98 = lean_ctor_get(x_15, 1); +lean_inc(x_98); +lean_inc(x_97); lean_dec(x_15); -x_97 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_97, 0, x_95); -lean_ctor_set(x_97, 1, x_96); -return x_97; +x_99 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_99, 0, x_97); +lean_ctor_set(x_99, 1, x_98); +return x_99; } } } @@ -28690,28 +28708,32 @@ x_6 = l_Array_mapMUnsafe_map___at_Lean_finalizeImport___spec__11(x_4, x_5, x_3); return x_6; } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__13___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -size_t x_5; size_t x_6; lean_object* x_7; -x_5 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_6 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_7 = l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__13(x_1, x_5, x_6, x_4); +uint8_t x_6; size_t x_7; size_t x_8; lean_object* x_9; +x_6 = lean_unbox(x_1); lean_dec(x_1); -return x_7; +x_7 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_8 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_9 = l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__13(x_6, x_2, x_7, x_8, x_5); +lean_dec(x_2); +return x_9; } } -LEAN_EXPORT lean_object* l_Array_filterMapM___at_Lean_finalizeImport___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Array_filterMapM___at_Lean_finalizeImport___spec__12___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_4; -x_4 = l_Array_filterMapM___at_Lean_finalizeImport___spec__12(x_1, x_2, x_3); +uint8_t x_5; lean_object* x_6; +x_5 = lean_unbox(x_1); +lean_dec(x_1); +x_6 = l_Array_filterMapM___at_Lean_finalizeImport___spec__12(x_5, x_2, x_3, x_4); +lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -return x_4; +return x_6; } } LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_finalizeImport___spec__14___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { @@ -28928,62 +28950,44 @@ lean_inc(x_13); x_15 = l_Lean_importModulesCore(x_2, x_10, x_13, x_14); if (lean_obj_tag(x_15) == 0) { -lean_object* x_16; lean_object* x_17; +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; x_16 = lean_ctor_get(x_15, 1); lean_inc(x_16); lean_dec(x_15); x_17 = lean_st_ref_get(x_13, x_16); lean_dec(x_13); -if (x_10 == 0) -{ -lean_object* x_18; lean_object* x_19; uint8_t x_20; lean_object* x_21; x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); x_19 = lean_ctor_get(x_17, 1); lean_inc(x_19); lean_dec(x_17); -x_20 = 1; -x_21 = l_Lean_finalizeImport(x_18, x_2, x_3, x_4, x_5, x_6, x_20, x_19); +x_20 = l_Lean_finalizeImport(x_18, x_2, x_3, x_4, x_5, x_6, x_1, x_19); lean_dec(x_18); -return x_21; +return x_20; } else { -lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_22 = lean_ctor_get(x_17, 0); -lean_inc(x_22); -x_23 = lean_ctor_get(x_17, 1); -lean_inc(x_23); -lean_dec(x_17); -x_24 = 0; -x_25 = l_Lean_finalizeImport(x_22, x_2, x_3, x_4, x_5, x_6, x_24, x_23); -lean_dec(x_22); -return x_25; -} -} -else -{ -uint8_t x_26; +uint8_t x_21; lean_dec(x_13); lean_dec(x_3); lean_dec(x_2); -x_26 = !lean_is_exclusive(x_15); -if (x_26 == 0) +x_21 = !lean_is_exclusive(x_15); +if (x_21 == 0) { return x_15; } else { -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_15, 0); -x_28 = lean_ctor_get(x_15, 1); -lean_inc(x_28); -lean_inc(x_27); +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_15, 0); +x_23 = lean_ctor_get(x_15, 1); +lean_inc(x_23); +lean_inc(x_22); lean_dec(x_15); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_27); -lean_ctor_set(x_29, 1, x_28); -return x_29; +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; } } } @@ -29667,7 +29671,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_foldl___at___private_Lean_Environment_0__Lean_Environment_updateBaseAfterKernelAdd___spec__1___closed__1; x_2 = l_List_foldl___at___private_Lean_Environment_0__Lean_Environment_updateBaseAfterKernelAdd___spec__1___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_List_foldl___at___private_Lean_Environment_0__Lean_Environment_updateBaseAfterKernelAdd___spec__1___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -31120,7 +31124,7 @@ x_14 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___s x_15 = lean_string_append(x_13, x_14); x_16 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_17 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__2___closed__2; -x_18 = lean_unsigned_to_nat(1994u); +x_18 = lean_unsigned_to_nat(1996u); x_19 = lean_unsigned_to_nat(17u); x_20 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_16, x_17, x_18, x_19, x_15); lean_dec(x_15); @@ -31154,7 +31158,7 @@ x_31 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___s x_32 = lean_string_append(x_30, x_31); x_33 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_34 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__2___closed__2; -x_35 = lean_unsigned_to_nat(1994u); +x_35 = lean_unsigned_to_nat(1996u); x_36 = lean_unsigned_to_nat(17u); x_37 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_33, x_34, x_35, x_36, x_32); lean_dec(x_32); @@ -31245,7 +31249,7 @@ x_61 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___s x_62 = lean_string_append(x_60, x_61); x_63 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_64 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__2___closed__2; -x_65 = lean_unsigned_to_nat(1994u); +x_65 = lean_unsigned_to_nat(1996u); x_66 = lean_unsigned_to_nat(17u); x_67 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_63, x_64, x_65, x_66, x_62); lean_dec(x_62); @@ -31279,7 +31283,7 @@ x_78 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___s x_79 = lean_string_append(x_77, x_78); x_80 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_81 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__2___closed__2; -x_82 = lean_unsigned_to_nat(1994u); +x_82 = lean_unsigned_to_nat(1996u); x_83 = lean_unsigned_to_nat(17u); x_84 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_80, x_81, x_82, x_83, x_79); lean_dec(x_79); @@ -31320,7 +31324,7 @@ x_98 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___s x_99 = lean_string_append(x_97, x_98); x_100 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_101 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__2___closed__2; -x_102 = lean_unsigned_to_nat(1994u); +x_102 = lean_unsigned_to_nat(1996u); x_103 = lean_unsigned_to_nat(17u); x_104 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_100, x_101, x_102, x_103, x_99); lean_dec(x_99); @@ -31354,7 +31358,7 @@ x_115 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___ x_116 = lean_string_append(x_114, x_115); x_117 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_118 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__2___closed__2; -x_119 = lean_unsigned_to_nat(1994u); +x_119 = lean_unsigned_to_nat(1996u); x_120 = lean_unsigned_to_nat(17u); x_121 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_117, x_118, x_119, x_120, x_116); lean_dec(x_116); @@ -31395,7 +31399,7 @@ x_135 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___ x_136 = lean_string_append(x_134, x_135); x_137 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_138 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__2___closed__2; -x_139 = lean_unsigned_to_nat(1994u); +x_139 = lean_unsigned_to_nat(1996u); x_140 = lean_unsigned_to_nat(17u); x_141 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_137, x_138, x_139, x_140, x_136); lean_dec(x_136); @@ -31429,7 +31433,7 @@ x_152 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___ x_153 = lean_string_append(x_151, x_152); x_154 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_155 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__2___closed__2; -x_156 = lean_unsigned_to_nat(1994u); +x_156 = lean_unsigned_to_nat(1996u); x_157 = lean_unsigned_to_nat(17u); x_158 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_154, x_155, x_156, x_157, x_153); lean_dec(x_153); @@ -31470,7 +31474,7 @@ x_172 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___ x_173 = lean_string_append(x_171, x_172); x_174 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_175 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__2___closed__2; -x_176 = lean_unsigned_to_nat(1994u); +x_176 = lean_unsigned_to_nat(1996u); x_177 = lean_unsigned_to_nat(17u); x_178 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_174, x_175, x_176, x_177, x_173); lean_dec(x_173); @@ -31504,7 +31508,7 @@ x_189 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___ x_190 = lean_string_append(x_188, x_189); x_191 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_192 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__2___closed__2; -x_193 = lean_unsigned_to_nat(1994u); +x_193 = lean_unsigned_to_nat(1996u); x_194 = lean_unsigned_to_nat(17u); x_195 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_191, x_192, x_193, x_194, x_190); lean_dec(x_190); @@ -31545,7 +31549,7 @@ x_209 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___ x_210 = lean_string_append(x_208, x_209); x_211 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_212 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__2___closed__2; -x_213 = lean_unsigned_to_nat(1994u); +x_213 = lean_unsigned_to_nat(1996u); x_214 = lean_unsigned_to_nat(17u); x_215 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_211, x_212, x_213, x_214, x_210); lean_dec(x_210); @@ -31579,7 +31583,7 @@ x_226 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___ x_227 = lean_string_append(x_225, x_226); x_228 = l___private_Lean_Environment_0__Lean_AsyncConsts_add___closed__4; x_229 = l_List_forIn_x27_loop___at_Lean_Environment_replayConsts_replayKernel___spec__8___lambda__2___closed__2; -x_230 = lean_unsigned_to_nat(1994u); +x_230 = lean_unsigned_to_nat(1996u); x_231 = lean_unsigned_to_nat(17u); x_232 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_228, x_229, x_230, x_231, x_227); lean_dec(x_227); diff --git a/stage0/stdlib/Lean/Language/Lean.c b/stage0/stdlib/Lean/Language/Lean.c index 2fec120fc2..e45adf28bf 100644 --- a/stage0/stdlib/Lean/Language/Lean.c +++ b/stage0/stdlib/Lean/Language/Lean.c @@ -2747,7 +2747,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lean_Language_Lean_process_doElab___spec__1___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lean_Language_Lean_process_doElab___spec__1___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lean_Language_Lean_process_doElab___spec__1___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Linter/UnusedVariables.c b/stage0/stdlib/Lean/Linter/UnusedVariables.c index b8fc58a697..34acc4be17 100644 --- a/stage0/stdlib/Lean/Linter/UnusedVariables.c +++ b/stage0/stdlib/Lean/Linter/UnusedVariables.c @@ -199,6 +199,7 @@ static lean_object* l_Lean_Linter_logLint___at_Lean_Linter_UnusedVariables_unuse lean_object* lean_string_utf8_byte_size(lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_collectMacroExpansions_x3f_go___at_Lean_Linter_UnusedVariables_unusedVariables___elambda__1___spec__6___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1427____spec__1(size_t, size_t, lean_object*); +lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at_Lean_Meta_forEachExpr_x27_visit___spec__1(lean_object*, lean_object*); static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_640____lambda__2___closed__2; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_UnusedVariables_unusedVariables___elambda__1___spec__24___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Linter_mkIgnoreFnImpl___lambda__1(lean_object*); @@ -407,7 +408,6 @@ static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hy static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Linter_UnusedVariables_collectReferences_go___spec__24___lambda__4___closed__4; static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_4549____lambda__1___closed__3; static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_987____lambda__1___closed__2; -lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at_Lean_ForEachExpr_visit___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Linter_UnusedVariables_collectReferences_go___spec__24___lambda__7___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_Linter_UnusedVariables_insertObjImpl___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_640____closed__15; @@ -454,7 +454,6 @@ static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hy static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1021____closed__1; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Linter_UnusedVariables_unusedVariables___elambda__1___spec__20___lambda__5___boxed(lean_object**); static lean_object* l_Lean_Linter_UnusedVariables_unusedVariables___elambda__1___lambda__2___closed__1; -lean_object* l_Std_DHashMap_Internal_AssocList_replace___at_Lean_ForEachExpr_visit___spec__6(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Linter_linter_unusedVariables; uint8_t l_String_Range_contains(lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1427____spec__2___boxed(lean_object*, lean_object*, lean_object*); @@ -556,6 +555,7 @@ static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hy LEAN_EXPORT lean_object* l_Array_qsort_sort___at_Lean_Linter_UnusedVariables_unusedVariables___elambda__1___spec__23(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_4961____lambda__1___closed__4; lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); +lean_object* l_Std_DHashMap_Internal_AssocList_replace___at_Lean_Meta_forEachExpr_x27_visit___spec__11(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Linter_UnusedVariables_unusedVariables___elambda__1___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_4581____lambda__1___closed__8; lean_object* l_Lean_registerBuiltinAttribute(lean_object*, lean_object*); @@ -6883,7 +6883,7 @@ x_122 = lean_usize_sub(x_120, x_121); x_123 = lean_usize_land(x_119, x_122); x_124 = lean_array_uget(x_110, x_123); lean_dec(x_110); -x_125 = l_Std_DHashMap_Internal_AssocList_get_x3f___at_Lean_ForEachExpr_visit___spec__1(x_2, x_124); +x_125 = l_Std_DHashMap_Internal_AssocList_get_x3f___at_Lean_Meta_forEachExpr_x27_visit___spec__1(x_2, x_124); lean_dec(x_124); if (lean_obj_tag(x_125) == 0) { @@ -7444,7 +7444,7 @@ x_241 = lean_usize_sub(x_239, x_240); x_242 = lean_usize_land(x_238, x_241); x_243 = lean_array_uget(x_229, x_242); lean_dec(x_229); -x_244 = l_Std_DHashMap_Internal_AssocList_get_x3f___at_Lean_ForEachExpr_visit___spec__1(x_2, x_243); +x_244 = l_Std_DHashMap_Internal_AssocList_get_x3f___at_Lean_Meta_forEachExpr_x27_visit___spec__1(x_2, x_243); lean_dec(x_243); if (lean_obj_tag(x_244) == 0) { @@ -8117,7 +8117,7 @@ lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean x_49 = lean_box(0); x_50 = lean_array_uset(x_12, x_25, x_49); lean_inc(x_5); -x_51 = l_Std_DHashMap_Internal_AssocList_replace___at_Lean_ForEachExpr_visit___spec__6(x_2, x_5, x_26); +x_51 = l_Std_DHashMap_Internal_AssocList_replace___at_Lean_Meta_forEachExpr_x27_visit___spec__11(x_2, x_5, x_26); x_52 = lean_array_uset(x_50, x_25, x_51); lean_ctor_set(x_8, 1, x_52); x_53 = lean_st_ref_set(x_3, x_8, x_9); @@ -8248,7 +8248,7 @@ lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean x_96 = lean_box(0); x_97 = lean_array_uset(x_59, x_72, x_96); lean_inc(x_5); -x_98 = l_Std_DHashMap_Internal_AssocList_replace___at_Lean_ForEachExpr_visit___spec__6(x_2, x_5, x_73); +x_98 = l_Std_DHashMap_Internal_AssocList_replace___at_Lean_Meta_forEachExpr_x27_visit___spec__11(x_2, x_5, x_73); x_99 = lean_array_uset(x_97, x_72, x_98); x_100 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_100, 0, x_58); @@ -19609,7 +19609,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_qsort_sort___at_Lean_Linter_UnusedVariables_unusedVariables___elambda__1___spec__23___lambda__1___closed__1; x_2 = l_Array_qsort_sort___at_Lean_Linter_UnusedVariables_unusedVariables___elambda__1___spec__23___lambda__1___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Array_qsort_sort___at_Lean_Linter_UnusedVariables_unusedVariables___elambda__1___spec__23___lambda__1___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Meta/Basic.c b/stage0/stdlib/Lean/Meta/Basic.c index 2406b1c1b7..80d771b786 100644 --- a/stage0/stdlib/Lean/Meta/Basic.c +++ b/stage0/stdlib/Lean/Meta/Basic.c @@ -61049,7 +61049,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_IO_FS_withIsolatedStreams___at_Lean_Meta_realizeConst_realizeAndReport___spec__3___closed__2; x_2 = l_IO_FS_withIsolatedStreams___at_Lean_Meta_realizeConst_realizeAndReport___spec__3___closed__3; -x_3 = lean_unsigned_to_nat(126u); +x_3 = lean_unsigned_to_nat(128u); x_4 = lean_unsigned_to_nat(47u); x_5 = l_IO_FS_withIsolatedStreams___at_Lean_Meta_realizeConst_realizeAndReport___spec__3___closed__4; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Meta/Instances.c b/stage0/stdlib/Lean/Meta/Instances.c index d73e2027bc..e19ba53f6b 100644 --- a/stage0/stdlib/Lean/Meta/Instances.c +++ b/stage0/stdlib/Lean/Meta/Instances.c @@ -14795,21 +14795,23 @@ return x_1; static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_4300____closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; x_1 = lean_box(0); x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_4300____closed__2; x_3 = l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_4300____closed__3; x_4 = l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_4300____closed__4; x_5 = l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_4300____closed__5; x_6 = 2; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_2); -lean_ctor_set(x_7, 1, x_3); -lean_ctor_set(x_7, 2, x_4); -lean_ctor_set(x_7, 3, x_5); -lean_ctor_set(x_7, 4, x_1); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_6); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_2); +lean_ctor_set(x_8, 1, x_3); +lean_ctor_set(x_8, 2, x_4); +lean_ctor_set(x_8, 3, x_5); +lean_ctor_set(x_8, 4, x_1); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Instances___hyg_4300_(lean_object* x_1) { diff --git a/stage0/stdlib/Lean/Meta/Match/MVarRenaming.c b/stage0/stdlib/Lean/Meta/Match/MVarRenaming.c index 96c6dc95da..9d9fd1fa14 100644 --- a/stage0/stdlib/Lean/Meta/Match/MVarRenaming.c +++ b/stage0/stdlib/Lean/Meta/Match/MVarRenaming.c @@ -162,7 +162,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_MVarRenaming_find_x21___closed__1; x_2 = l_Lean_Meta_MVarRenaming_find_x21___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Meta_MVarRenaming_find_x21___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Meta/Match/MatcherInfo.c b/stage0/stdlib/Lean/Meta/Match/MatcherInfo.c index 0b4d9034ae..c887de2a26 100644 --- a/stage0/stdlib/Lean/Meta/Match/MatcherInfo.c +++ b/stage0/stdlib/Lean/Meta/Match/MatcherInfo.c @@ -1856,21 +1856,23 @@ return x_1; static lean_object* _init_l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_MatcherInfo___hyg_394____closed__10() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; x_1 = lean_box(0); x_2 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_MatcherInfo___hyg_394____closed__6; x_3 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_MatcherInfo___hyg_394____closed__7; x_4 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_MatcherInfo___hyg_394____closed__8; x_5 = l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_MatcherInfo___hyg_394____closed__9; x_6 = 3; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_2); -lean_ctor_set(x_7, 1, x_3); -lean_ctor_set(x_7, 2, x_4); -lean_ctor_set(x_7, 3, x_5); -lean_ctor_set(x_7, 4, x_1); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_6); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_2); +lean_ctor_set(x_8, 1, x_3); +lean_ctor_set(x_8, 2, x_4); +lean_ctor_set(x_8, 3, x_5); +lean_ctor_set(x_8, 4, x_1); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_Meta_Match_Extension_initFn____x40_Lean_Meta_Match_MatcherInfo___hyg_394_(lean_object* x_1) { diff --git a/stage0/stdlib/Lean/Meta/Reduce.c b/stage0/stdlib/Lean/Meta/Reduce.c index 6186276ff3..afa40910a9 100644 --- a/stage0/stdlib/Lean/Meta/Reduce.c +++ b/stage0/stdlib/Lean/Meta/Reduce.c @@ -1376,7 +1376,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_reduce_visit___lambda__4___closed__5; x_2 = l_Lean_Meta_reduce_visit___lambda__4___closed__6; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Meta_reduce_visit___lambda__4___closed__7; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/CommRing/EqCnstr.c b/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/CommRing/EqCnstr.c index 302d9b2f11..a36b709152 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/CommRing/EqCnstr.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/CommRing/EqCnstr.c @@ -90,7 +90,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_addToQueue___b lean_object* l_Lean_RBNode_setBlack___rarg(lean_object*); lean_object* lean_nat_to_int(lean_object*); lean_object* l_Lean_Meta_Grind_Arith_CommRing_getTermRingId_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_EqCnstr_0__Lean_Meta_Grind_Arith_CommRing_toRingExpr_x3f___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_simplify(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_PersistentHashMap_find_x3f___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_EqCnstr_0__Lean_Meta_Grind_Arith_CommRing_toRingExpr_x3f___spec__1(lean_object*, lean_object*); @@ -188,6 +187,7 @@ lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_o uint8_t lean_int_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_PersistentHashMap_find_x3f___at_Lean_Meta_Grind_Arith_CommRing_mkVar___spec__5(lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); +lean_object* l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___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_int_neg(lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); @@ -2844,7 +2844,7 @@ lean_ctor_set(x_31, 0, x_46); x_47 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_47, 0, x_31); lean_ctor_set(x_47, 1, x_46); -x_48 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_30, x_47, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_44); +x_48 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_30, x_47, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_44); x_49 = lean_ctor_get(x_48, 0); lean_inc(x_49); x_50 = lean_ctor_get(x_48, 1); @@ -2962,7 +2962,7 @@ lean_ctor_set(x_68, 1, x_66); x_69 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_69, 0, x_68); lean_ctor_set(x_69, 1, x_67); -x_70 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_30, x_69, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_65); +x_70 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_30, x_69, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_65); x_71 = lean_ctor_get(x_70, 0); lean_inc(x_71); x_72 = lean_ctor_get(x_70, 1); @@ -3146,7 +3146,7 @@ lean_ctor_set(x_104, 1, x_102); x_105 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_105, 0, x_104); lean_ctor_set(x_105, 1, x_103); -x_106 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_88, x_105, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_101); +x_106 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_88, x_105, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_101); x_107 = lean_ctor_get(x_106, 0); lean_inc(x_107); x_108 = lean_ctor_get(x_106, 1); @@ -3388,7 +3388,7 @@ lean_ctor_set(x_151, 1, x_149); x_152 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_152, 0, x_151); lean_ctor_set(x_152, 1, x_150); -x_153 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_135, x_152, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_148); +x_153 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_135, x_152, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_148); x_154 = lean_ctor_get(x_153, 0); lean_inc(x_154); x_155 = lean_ctor_get(x_153, 1); @@ -3756,7 +3756,7 @@ x_62 = l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_EqCnstr_0__Lean_Meta_Gr x_63 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_63, 0, x_61); lean_ctor_set(x_63, 1, x_62); -x_64 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_34, x_63, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_53); +x_64 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_34, x_63, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_53); x_65 = lean_ctor_get(x_64, 0); lean_inc(x_65); x_66 = lean_ctor_get(x_64, 1); @@ -3947,7 +3947,7 @@ x_100 = l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_EqCnstr_0__Lean_Meta_G x_101 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_101, 0, x_99); lean_ctor_set(x_101, 1, x_100); -x_102 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_34, x_101, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_90); +x_102 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_34, x_101, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_90); x_103 = lean_ctor_get(x_102, 0); lean_inc(x_103); x_104 = lean_ctor_get(x_102, 1); @@ -4311,7 +4311,7 @@ x_168 = l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_EqCnstr_0__Lean_Meta_G x_169 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_169, 0, x_167); lean_ctor_set(x_169, 1, x_168); -x_170 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_140, x_169, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_158); +x_170 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_140, x_169, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_158); x_171 = lean_ctor_get(x_170, 0); lean_inc(x_171); x_172 = lean_ctor_get(x_170, 1); @@ -4836,7 +4836,7 @@ x_48 = l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_EqCnstr_0__Lean_Meta_Gr x_49 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_49, 0, x_29); lean_ctor_set(x_49, 1, x_48); -x_50 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_28, x_49, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_44); +x_50 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_28, x_49, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_44); x_51 = lean_ctor_get(x_50, 0); lean_inc(x_51); x_52 = lean_ctor_get(x_50, 1); @@ -4960,7 +4960,7 @@ x_74 = l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_EqCnstr_0__Lean_Meta_Gr x_75 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_75, 0, x_73); lean_ctor_set(x_75, 1, x_74); -x_76 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_28, x_75, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_69); +x_76 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_28, x_75, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_69); x_77 = lean_ctor_get(x_76, 0); lean_inc(x_77); x_78 = lean_ctor_get(x_76, 1); @@ -5322,7 +5322,7 @@ x_139 = l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_EqCnstr_0__Lean_Meta_G x_140 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_140, 0, x_138); lean_ctor_set(x_140, 1, x_139); -x_141 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_119, x_140, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_134); +x_141 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_119, x_140, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_134); x_142 = lean_ctor_get(x_141, 0); lean_inc(x_142); x_143 = lean_ctor_get(x_141, 1); @@ -5855,7 +5855,7 @@ lean_ctor_set(x_22, 0, x_37); x_38 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_38, 0, x_22); lean_ctor_set(x_38, 1, x_37); -x_39 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_21, x_38, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_35); +x_39 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_21, x_38, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_35); x_40 = lean_ctor_get(x_39, 0); lean_inc(x_40); x_41 = lean_ctor_get(x_39, 1); @@ -5965,7 +5965,7 @@ lean_ctor_set(x_59, 1, x_57); x_60 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_60, 0, x_59); lean_ctor_set(x_60, 1, x_58); -x_61 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_21, x_60, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_56); +x_61 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_21, x_60, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_56); x_62 = lean_ctor_get(x_61, 0); lean_inc(x_62); x_63 = lean_ctor_get(x_61, 1); @@ -6055,6 +6055,11 @@ lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); x_74 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_73); if (lean_obj_tag(x_74) == 0) { @@ -6191,7 +6196,7 @@ lean_ctor_set(x_87, 0, x_102); x_103 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_103, 0, x_87); lean_ctor_set(x_103, 1, x_102); -x_104 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_86, x_103, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_100); +x_104 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_86, x_103, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_100); x_105 = lean_ctor_get(x_104, 0); lean_inc(x_105); x_106 = lean_ctor_get(x_104, 1); @@ -6301,7 +6306,7 @@ lean_ctor_set(x_124, 1, x_122); x_125 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_125, 0, x_124); lean_ctor_set(x_125, 1, x_123); -x_126 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_86, x_125, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_121); +x_126 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_86, x_125, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_121); x_127 = lean_ctor_get(x_126, 0); lean_inc(x_127); x_128 = lean_ctor_get(x_126, 1); @@ -11252,7 +11257,7 @@ lean_ctor_set(x_13, 0, x_28); x_29 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_29, 0, x_13); lean_ctor_set(x_29, 1, x_28); -x_30 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_12, x_29, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_26); +x_30 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_12, x_29, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_26); x_31 = lean_ctor_get(x_30, 0); lean_inc(x_31); x_32 = lean_ctor_get(x_30, 1); @@ -11359,7 +11364,7 @@ lean_ctor_set(x_50, 1, x_48); x_51 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_51, 0, x_50); lean_ctor_set(x_51, 1, x_49); -x_52 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_12, x_51, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_47); +x_52 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_12, x_51, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_47); x_53 = lean_ctor_get(x_52, 0); lean_inc(x_53); x_54 = lean_ctor_get(x_52, 1); @@ -11553,7 +11558,7 @@ lean_ctor_set(x_13, 0, x_25); x_26 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_26, 0, x_13); lean_ctor_set(x_26, 1, x_25); -x_27 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_12, x_26, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_23); +x_27 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_12, x_26, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_23); x_28 = lean_ctor_get(x_27, 0); lean_inc(x_28); x_29 = lean_ctor_get(x_27, 1); @@ -11639,7 +11644,7 @@ lean_ctor_set(x_46, 1, x_44); x_47 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_47, 0, x_46); lean_ctor_set(x_47, 1, x_45); -x_48 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_12, x_47, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_43); +x_48 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_12, x_47, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_43); x_49 = lean_ctor_get(x_48, 0); lean_inc(x_49); x_50 = lean_ctor_get(x_48, 1); @@ -13484,7 +13489,7 @@ lean_ctor_set(x_37, 0, x_52); lean_ctor_set_tag(x_25, 7); lean_ctor_set(x_25, 1, x_52); lean_ctor_set(x_25, 0, x_37); -x_53 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_36, x_25, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_50); +x_53 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_36, x_25, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_50); x_54 = lean_ctor_get(x_53, 0); lean_inc(x_54); x_55 = lean_ctor_get(x_53, 1); @@ -13611,7 +13616,7 @@ lean_ctor_set(x_73, 1, x_71); lean_ctor_set_tag(x_25, 7); lean_ctor_set(x_25, 1, x_72); lean_ctor_set(x_25, 0, x_73); -x_74 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_36, x_25, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_70); +x_74 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_36, x_25, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_70); x_75 = lean_ctor_get(x_74, 0); lean_inc(x_75); x_76 = lean_ctor_get(x_74, 1); @@ -13786,7 +13791,7 @@ lean_ctor_set(x_103, 1, x_101); x_104 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_104, 0, x_103); lean_ctor_set(x_104, 1, x_102); -x_105 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_87, x_104, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_100); +x_105 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_87, x_104, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_100); x_106 = lean_ctor_get(x_105, 0); lean_inc(x_106); x_107 = lean_ctor_get(x_105, 1); @@ -14652,7 +14657,7 @@ x_65 = l_Lean_Meta_Grind_Arith_CommRing_processNewEqImpl___lambda__3___closed__2 x_66 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_66, 0, x_64); lean_ctor_set(x_66, 1, x_65); -x_67 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_46, x_66, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_61); +x_67 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_46, x_66, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_61); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -14810,7 +14815,7 @@ x_100 = l_Lean_Meta_Grind_Arith_CommRing_processNewEqImpl___lambda__3___closed__ x_101 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_101, 0, x_84); lean_ctor_set(x_101, 1, x_100); -x_102 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_83, x_101, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_97); +x_102 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_83, x_101, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_97); x_103 = lean_ctor_get(x_102, 0); lean_inc(x_103); x_104 = lean_ctor_get(x_102, 1); @@ -14929,7 +14934,7 @@ x_123 = l_Lean_Meta_Grind_Arith_CommRing_processNewEqImpl___lambda__3___closed__ x_124 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_124, 0, x_122); lean_ctor_set(x_124, 1, x_123); -x_125 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_83, x_124, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_119); +x_125 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_83, x_124, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_119); x_126 = lean_ctor_get(x_125, 0); lean_inc(x_126); x_127 = lean_ctor_get(x_125, 1); @@ -15141,7 +15146,7 @@ x_160 = l_Lean_Meta_Grind_Arith_CommRing_processNewEqImpl___lambda__3___closed__ x_161 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_161, 0, x_159); lean_ctor_set(x_161, 1, x_160); -x_162 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_141, x_161, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_156); +x_162 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_141, x_161, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_156); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -15479,7 +15484,7 @@ lean_ctor_set(x_24, 0, x_39); x_40 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_40, 0, x_24); lean_ctor_set(x_40, 1, x_39); -x_41 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_23, x_40, x_22, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_37); +x_41 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_23, x_40, x_22, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_37); x_42 = lean_ctor_get(x_41, 0); lean_inc(x_42); x_43 = lean_ctor_get(x_41, 1); @@ -15595,7 +15600,7 @@ lean_ctor_set(x_61, 1, x_59); x_62 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_62, 0, x_61); lean_ctor_set(x_62, 1, x_60); -x_63 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_23, x_62, x_22, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_58); +x_63 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_23, x_62, x_22, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_58); x_64 = lean_ctor_get(x_63, 0); lean_inc(x_64); x_65 = lean_ctor_get(x_63, 1); @@ -15932,7 +15937,7 @@ x_32 = l_Lean_Meta_Grind_Arith_CommRing_processNewDiseqImpl___lambda__2___closed x_33 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_33, 0, x_31); lean_ctor_set(x_33, 1, x_32); -x_34 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_13, x_33, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_28); +x_34 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_13, x_33, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_28); return x_34; } else @@ -16225,7 +16230,7 @@ x_61 = l_Lean_Meta_Grind_Arith_CommRing_processNewDiseqImpl___lambda__2___closed x_62 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_62, 0, x_60); lean_ctor_set(x_62, 1, x_61); -x_63 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_42, x_62, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_57); +x_63 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_42, x_62, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_57); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); @@ -16379,7 +16384,7 @@ x_95 = l_Lean_Meta_Grind_Arith_CommRing_processNewDiseqImpl___lambda__2___closed x_96 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_96, 0, x_79); lean_ctor_set(x_96, 1, x_95); -x_97 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_78, x_96, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_92); +x_97 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_78, x_96, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_92); x_98 = lean_ctor_get(x_97, 0); lean_inc(x_98); x_99 = lean_ctor_get(x_97, 1); @@ -16495,7 +16500,7 @@ x_118 = l_Lean_Meta_Grind_Arith_CommRing_processNewDiseqImpl___lambda__2___close x_119 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_119, 0, x_117); lean_ctor_set(x_119, 1, x_118); -x_120 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_78, x_119, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_114); +x_120 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_78, x_119, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_114); x_121 = lean_ctor_get(x_120, 0); lean_inc(x_121); x_122 = lean_ctor_get(x_120, 1); @@ -16826,7 +16831,7 @@ lean_ctor_set(x_23, 0, x_39); x_40 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_40, 0, x_23); lean_ctor_set(x_40, 1, x_39); -x_41 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_22, x_40, x_21, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_36); +x_41 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_22, x_40, x_21, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_36); x_42 = lean_ctor_get(x_41, 0); lean_inc(x_42); x_43 = lean_ctor_get(x_41, 1); @@ -16943,7 +16948,7 @@ lean_ctor_set(x_62, 1, x_60); x_63 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_63, 0, x_62); lean_ctor_set(x_63, 1, x_61); -x_64 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_22, x_63, x_21, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_58); +x_64 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_22, x_63, x_21, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_58); x_65 = lean_ctor_get(x_64, 0); lean_inc(x_65); x_66 = lean_ctor_get(x_64, 1); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/CommRing/Proof.c b/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/CommRing/Proof.c index d17f2be34b..808f39e4bc 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/CommRing/Proof.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/CommRing/Proof.c @@ -13,128 +13,212 @@ #ifdef __cplusplus extern "C" { #endif -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Grind_CommRing_Expr_denoteExpr_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2(uint64_t, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat___closed__2; lean_object* l_Int_gcd(lean_object*, lean_object*); lean_object* l_Lean_mkNatLit(lean_object*); +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__1; lean_object* l_Lean_RArray_toExpr___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3(lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_Arith_CommRing_getCharInst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly___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_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__3; lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_denoteExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_Arith_CommRing_getRing(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Grind_CommRing_Poly_mulMon_x27(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__3; -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert___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_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +size_t lean_uint64_to_usize(uint64_t); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__4; +lean_object* l_Lean_MessageData_ofList(lean_object*); lean_object* l_Lean_PersistentArray_push___rarg(lean_object*, lean_object*); +lean_object* lean_array_push(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat___closed__5; lean_object* lean_mk_array(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___closed__3; lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); +static double l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___boxed(lean_object**); +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__2; +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__6; static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat___closed__6; -uint8_t l_Lean_Grind_CommRing_Poly_isZero(lean_object*); +lean_object* l_Nat_nextPowerOfTwo_go(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___closed__3; lean_object* l_Lean_stringToMessageData(lean_object*); +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__3; lean_object* l_Lean_mkApp4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__2; +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___spec__1___boxed(lean_object**); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___closed__8; -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_int_dec_le(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1(lean_object*, lean_object*, size_t, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Grind_CommRing_Poly_combineM(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_Level_ofNat(lean_object*); -static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__6; +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__5; -lean_object* l_Lean_Grind_CommRing_Poly_combine_x27(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_check(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_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +size_t lean_ptr_addr(lean_object*); +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__2; +size_t lean_usize_of_nat(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_div(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_toContextExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___rarg(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_st_ref_take(lean_object*, lean_object*); +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1; static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__3; +lean_object* l_Lean_Grind_CommRing_Poly_mulM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_toContextExpr___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_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___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* l_Array_zip___rarg(lean_object*, lean_object*); +uint64_t lean_uint64_shift_right(uint64_t, uint64_t); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit(lean_object*, lean_object*); +uint64_t lean_usize_to_uint64(size_t); lean_object* lean_nat_to_int(lean_object*); +lean_object* lean_nat_div(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_mkLemmaPrefix(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___closed__4; lean_object* l_Lean_Meta_Grind_closeGoal(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_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_MessageData_ofFormat(lean_object*); +static lean_object* l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__2; +static lean_object* l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__3; +lean_object* l_Lean_Meta_Grind_Arith_CommRing_nonzeroChar_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_st_ref_get(lean_object*, lean_object*); lean_object* l_Lean_Grind_CommRing_Poly_mulConst_x27(lean_object*, lean_object*, lean_object*); +lean_object* lean_st_mk_ref(lean_object*, lean_object*); +lean_object* lean_array_to_list(lean_object*); +static lean_object* l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__2; uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__2; extern lean_object* l_Lean_instInhabitedExpr; +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching_unsafe__1(lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___closed__6; lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__1(uint64_t, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Grind_CommRing_Poly_mulMonM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___closed__2; static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___closed__9; +lean_object* l_Lean_Grind_CommRing_Expr_toPolyM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_updateLastTag(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(uint64_t, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching(lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat___closed__7; LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_ofExpr(lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___closed__1; +static lean_object* l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__1; double l_Float_ofScientific(lean_object*, uint8_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___closed__10; static lean_object* l_Lean_Meta_Grind_Arith_CommRing_toContextExpr___closed__2; +lean_object* l_Lean_Grind_CommRing_Poly_mulConstM(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_grind_mk_eq_proof(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__1; static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat___closed__3; +static lean_object* l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__6; lean_object* lean_array_fget(lean_object*, lean_object*); +lean_object* lean_nat_abs(lean_object*); lean_object* lean_int_mul(lean_object*, lean_object*); -static double l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__1; lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint64_t l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching_unsafe__1___rarg(lean_object*); lean_object* l_Lean_Meta_Grind_mkDiseqProof(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Grind_CommRing_Poly_denoteExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t l___private_Init_Grind_CommRing_Poly_0__Lean_Grind_CommRing_beqPoly____x40_Init_Grind_CommRing_Poly___hyg_3306_(lean_object*, lean_object*); lean_object* l_id___rarg___boxed(lean_object*); lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___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_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__4; +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___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*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_Arith_CommRing_nonzeroCharInst_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert; lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint64_t lean_uint64_xor(uint64_t, uint64_t); lean_object* l_Int_toNat(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_div___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*); +uint8_t lean_int_dec_lt(lean_object*, lean_object*); +lean_object* lean_nat_sub(lean_object*, lean_object*); lean_object* l_Lean_PersistentArray_get_x21___rarg___boxed(lean_object*, lean_object*, lean_object*); +lean_object* lean_nat_mul(lean_object*, lean_object*); extern lean_object* l_Lean_reflBoolTrue; static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___closed__5; static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__4; +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__4; static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___closed__11; +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__3; +lean_object* l_List_reverse___rarg(lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___closed__7; +uint8_t lean_uint64_dec_eq(uint64_t, uint64_t); +size_t lean_usize_sub(size_t, size_t); lean_object* lean_array_mk(lean_object*); size_t lean_usize_add(size_t, size_t); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___closed__1; +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); -static lean_object* l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__2; +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_array_size(lean_object*); lean_object* l_Lean_instToExprInt_mkNat(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching_unsafe__1___rarg___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat___closed__1; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_toContextExpr___closed__1; lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__3; uint8_t lean_int_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__1; +lean_object* lean_string_append(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt(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_DHashMap_Internal_Raw_u2080_expand_go___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__4(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___closed__4; static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__1; lean_object* lean_array_get_size(lean_object*); lean_object* lean_int_ediv(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___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_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_check___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_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__3(lean_object*); lean_object* lean_int_neg(lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); -static lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__4; uint8_t lean_usize_dec_lt(size_t, size_t); +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__5; +static lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__5; lean_object* lean_nat_add(lean_object*, lean_object*); +lean_object* l_Lean_MessageData_bracket(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkApp5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat___closed__4; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__5(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Init_Data_Repr_0__Nat_reprFast(lean_object*); +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__5___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__6(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_mk_empty_array_with_capacity(lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___closed__2; +size_t lean_usize_land(size_t, size_t); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___lambda__1___closed__12; lean_object* l_Lean_RArray_ofFn_go___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__2; +static lean_object* l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__5; lean_object* l_Lean_Meta_Grind_Arith_CommRing_ofRingExpr(lean_object*); static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_toContextExpr___closed__1() { _start: @@ -248,7 +332,16 @@ lean_dec(x_1); return x_11; } } -static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__1() { +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(0u); +x_2 = lean_mk_empty_array_with_capacity(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__2() { _start: { lean_object* x_1; lean_object* x_2; @@ -257,17 +350,37 @@ x_2 = lean_nat_to_int(x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__2() { +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__1; +x_2 = l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__2; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__3; +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__1() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__1; +x_1 = l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__3() { +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__2() { _start: { lean_object* x_1; lean_object* x_2; @@ -276,11 +389,11 @@ x_2 = lean_nat_to_int(x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__4() { +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__3; +x_1 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__2; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; @@ -290,11 +403,11 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit(lean_ _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; -x_3 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__2; +x_3 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__1; x_4 = lean_mk_array(x_2, x_3); -x_5 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__4; +x_5 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__3; x_6 = lean_array_set(x_4, x_1, x_5); -x_7 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__3; +x_7 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__2; x_8 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_8, 0, x_6); lean_ctor_set(x_8, 1, x_7); @@ -310,296 +423,811 @@ lean_dec(x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_div(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -uint8_t x_6; -x_6 = lean_usize_dec_lt(x_4, x_3); -if (x_6 == 0) -{ -lean_dec(x_1); -return x_5; -} -else -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; size_t x_11; size_t x_12; -x_7 = lean_array_uget(x_5, x_4); -x_8 = lean_unsigned_to_nat(0u); -x_9 = lean_array_uset(x_5, x_4, x_8); -x_10 = l_Lean_Grind_CommRing_Poly_isZero(x_7); -x_11 = 1; -x_12 = lean_usize_add(x_4, x_11); -if (x_10 == 0) -{ -lean_object* x_13; lean_object* x_14; -lean_inc(x_1); -x_13 = l_Lean_Grind_CommRing_Poly_mulConst_x27(x_7, x_2, x_1); -x_14 = lean_array_uset(x_9, x_4, x_13); -x_4 = x_12; -x_5 = x_14; -goto _start; -} -else -{ -lean_object* x_16; -x_16 = lean_array_uset(x_9, x_4, x_7); -x_4 = x_12; -x_5 = x_16; -goto _start; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; uint8_t x_5; -x_4 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__3; -x_5 = lean_int_dec_eq(x_2, x_4); -if (x_5 == 0) -{ -uint8_t x_6; -x_6 = !lean_is_exclusive(x_1); -if (x_6 == 0) -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_7 = lean_ctor_get(x_1, 0); -x_8 = lean_ctor_get(x_1, 1); -x_9 = l_Int_gcd(x_2, x_8); -x_10 = lean_nat_to_int(x_9); -x_11 = lean_int_ediv(x_2, x_10); -x_12 = lean_int_ediv(x_8, x_10); -lean_dec(x_10); -lean_dec(x_8); -x_13 = lean_int_dec_eq(x_11, x_4); +uint8_t x_13; +x_13 = !lean_is_exclusive(x_1); if (x_13 == 0) { -size_t x_14; size_t x_15; lean_object* x_16; -x_14 = lean_array_size(x_7); -x_15 = 0; -x_16 = l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1(x_3, x_11, x_14, x_15, x_7); -lean_dec(x_11); -lean_ctor_set(x_1, 1, x_12); -lean_ctor_set(x_1, 0, x_16); -return x_1; +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_1, 1); +x_15 = lean_int_mul(x_14, x_2); +lean_dec(x_14); +lean_ctor_set(x_1, 1, x_15); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_1); +lean_ctor_set(x_16, 1, x_12); +return x_16; } else { -lean_dec(x_11); -lean_dec(x_3); -lean_ctor_set(x_1, 1, x_12); -return x_1; -} -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; x_17 = lean_ctor_get(x_1, 0); x_18 = lean_ctor_get(x_1, 1); lean_inc(x_18); lean_inc(x_17); lean_dec(x_1); -x_19 = l_Int_gcd(x_2, x_18); -x_20 = lean_nat_to_int(x_19); -x_21 = lean_int_ediv(x_2, x_20); -x_22 = lean_int_ediv(x_18, x_20); -lean_dec(x_20); +x_19 = lean_int_mul(x_18, x_2); lean_dec(x_18); -x_23 = lean_int_dec_eq(x_21, x_4); -if (x_23 == 0) -{ -size_t x_24; size_t x_25; lean_object* x_26; lean_object* x_27; -x_24 = lean_array_size(x_17); -x_25 = 0; -x_26 = l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1(x_3, x_21, x_24, x_25, x_17); -lean_dec(x_21); -x_27 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_27, 0, x_26); -lean_ctor_set(x_27, 1, x_22); -return x_27; -} -else -{ -lean_object* x_28; -lean_dec(x_21); -lean_dec(x_3); -x_28 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_28, 0, x_17); -lean_ctor_set(x_28, 1, x_22); -return x_28; +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_17); +lean_ctor_set(x_20, 1, x_19); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_12); +return x_21; } } } -else -{ -lean_dec(x_3); -return x_1; -} -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_div___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { -size_t x_6; size_t x_7; lean_object* x_8; -x_6 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_7 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_8 = l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1(x_1, x_2, x_6, x_7, x_5); -lean_dec(x_2); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul(x_1, x_2, x_3); -lean_dec(x_2); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17) { -_start: -{ -lean_object* x_18; uint8_t x_19; -x_18 = lean_ctor_get(x_13, 1); -x_19 = lean_nat_dec_lt(x_15, x_18); -if (x_19 == 0) -{ -lean_dec(x_15); -lean_dec(x_5); -lean_dec(x_3); -lean_dec(x_1); -return x_14; -} -else -{ -uint8_t x_20; -x_20 = lean_nat_dec_lt(x_15, x_10); -if (x_20 == 0) -{ -lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_21 = lean_array_fget(x_9, x_15); -lean_inc(x_5); -lean_inc(x_3); -x_22 = l_Lean_Grind_CommRing_Poly_mulMon_x27(x_21, x_7, x_3, x_5); -x_23 = lean_array_fset(x_14, x_15, x_22); -x_24 = lean_ctor_get(x_13, 2); -x_25 = lean_nat_add(x_15, x_24); -lean_dec(x_15); -x_14 = x_23; -x_15 = x_25; -x_16 = lean_box(0); -x_17 = lean_box(0); -goto _start; -} -else -{ -lean_object* x_27; lean_object* x_28; uint8_t x_29; -x_27 = lean_array_fget(x_8, x_15); -lean_inc(x_5); -lean_inc(x_1); -x_28 = l_Lean_Grind_CommRing_Poly_mulMon_x27(x_27, x_6, x_1, x_5); -x_29 = lean_nat_dec_lt(x_15, x_11); -if (x_29 == 0) -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_array_fset(x_14, x_15, x_28); -x_31 = lean_ctor_get(x_13, 2); -x_32 = lean_nat_add(x_15, x_31); -lean_dec(x_15); -x_14 = x_30; -x_15 = x_32; -x_16 = lean_box(0); -x_17 = lean_box(0); -goto _start; -} -else -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_34 = lean_array_fget(x_9, x_15); -lean_inc(x_5); -lean_inc(x_3); -x_35 = l_Lean_Grind_CommRing_Poly_mulMon_x27(x_34, x_7, x_3, x_5); -lean_inc(x_5); -x_36 = l_Lean_Grind_CommRing_Poly_combine_x27(x_28, x_35, x_5); -x_37 = lean_array_fset(x_14, x_15, x_36); -x_38 = lean_ctor_get(x_13, 2); -x_39 = lean_nat_add(x_15, x_38); -lean_dec(x_15); -x_14 = x_37; -x_15 = x_39; -x_16 = lean_box(0); -x_17 = lean_box(0); -goto _start; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine(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) { -_start: -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_8 = lean_ctor_get(x_3, 1); -x_9 = lean_ctor_get(x_6, 1); -x_10 = lean_int_mul(x_1, x_9); -x_11 = lean_int_mul(x_4, x_8); -x_12 = lean_int_mul(x_8, x_9); -x_13 = l_Int_gcd(x_10, x_11); -x_14 = lean_nat_to_int(x_13); -x_15 = l_Int_gcd(x_14, x_12); -lean_dec(x_14); -x_16 = lean_nat_to_int(x_15); -x_17 = lean_int_ediv(x_10, x_16); -lean_dec(x_10); -x_18 = lean_int_ediv(x_11, x_16); +lean_object* x_13; +x_13 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_div(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_11); -x_19 = lean_int_ediv(x_12, x_16); -lean_dec(x_16); -lean_dec(x_12); -x_20 = lean_ctor_get(x_3, 0); -x_21 = lean_ctor_get(x_6, 0); -x_22 = lean_array_get_size(x_20); -x_23 = lean_array_get_size(x_21); -x_24 = lean_nat_dec_le(x_22, x_23); -if (x_24 == 0) +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: { -lean_inc(x_22); -x_25 = x_22; -goto block_33; +uint8_t x_15; +x_15 = lean_usize_dec_lt(x_3, x_2); +if (x_15 == 0) +{ +lean_object* x_16; +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_4); +lean_ctor_set(x_16, 1, x_14); +return x_16; } else { -lean_inc(x_23); -x_25 = x_23; -goto block_33; -} -block_33: +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_array_uget(x_4, x_3); +x_18 = lean_unsigned_to_nat(0u); +x_19 = lean_array_uset(x_4, x_3, x_18); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_20 = l_Lean_Grind_CommRing_Poly_mulConstM(x_17, x_1, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_26 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__2; -lean_inc(x_25); -x_27 = lean_mk_array(x_25, x_26); -x_28 = lean_unsigned_to_nat(0u); -x_29 = lean_unsigned_to_nat(1u); -lean_inc(x_25); -x_30 = lean_alloc_ctor(0, 3, 0); +lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = 1; +x_24 = lean_usize_add(x_3, x_23); +x_25 = lean_array_uset(x_19, x_3, x_21); +x_3 = x_24; +x_4 = x_25; +x_14 = x_22; +goto _start; +} +else +{ +uint8_t x_27; +lean_dec(x_19); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_27 = !lean_is_exclusive(x_20); +if (x_27 == 0) +{ +return x_20; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_20, 0); +x_29 = lean_ctor_get(x_20, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_20); +x_30 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_25); -lean_ctor_set(x_30, 2, x_29); -x_31 = l_Std_Range_forIn_x27_loop___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___spec__1(x_2, x_3, x_5, x_6, x_7, x_17, x_18, x_20, x_21, x_22, x_23, x_25, x_30, x_27, x_28, lean_box(0), lean_box(0)); -lean_dec(x_30); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; uint8_t x_14; +x_13 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__2; +x_14 = lean_int_dec_eq(x_2, x_13); +if (x_14 == 0) +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_1); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; +x_16 = lean_ctor_get(x_1, 0); +x_17 = lean_ctor_get(x_1, 1); +x_18 = l_Int_gcd(x_2, x_17); +x_19 = lean_nat_to_int(x_18); +x_20 = lean_int_ediv(x_2, x_19); +x_21 = lean_int_ediv(x_17, x_19); +lean_dec(x_19); +lean_dec(x_17); +x_22 = lean_int_dec_eq(x_20, x_13); +if (x_22 == 0) +{ +size_t x_23; size_t x_24; lean_object* x_25; +x_23 = lean_array_size(x_16); +x_24 = 0; +x_25 = l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1(x_20, x_23, x_24, x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_20); +if (lean_obj_tag(x_25) == 0) +{ +uint8_t x_26; +x_26 = !lean_is_exclusive(x_25); +if (x_26 == 0) +{ +lean_object* x_27; +x_27 = lean_ctor_get(x_25, 0); +lean_ctor_set(x_1, 1, x_21); +lean_ctor_set(x_1, 0, x_27); +lean_ctor_set(x_25, 0, x_1); +return x_25; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_25, 0); +x_29 = lean_ctor_get(x_25, 1); +lean_inc(x_29); +lean_inc(x_28); lean_dec(x_25); +lean_ctor_set(x_1, 1, x_21); +lean_ctor_set(x_1, 0, x_28); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_1); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +else +{ +uint8_t x_31; +lean_dec(x_21); +lean_free_object(x_1); +x_31 = !lean_is_exclusive(x_25); +if (x_31 == 0) +{ +return x_25; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_25, 0); +x_33 = lean_ctor_get(x_25, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_25); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +else +{ +lean_object* x_35; +lean_dec(x_20); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_ctor_set(x_1, 1, x_21); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_1); +lean_ctor_set(x_35, 1, x_12); +return x_35; +} +} +else +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; +x_36 = lean_ctor_get(x_1, 0); +x_37 = lean_ctor_get(x_1, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_1); +x_38 = l_Int_gcd(x_2, x_37); +x_39 = lean_nat_to_int(x_38); +x_40 = lean_int_ediv(x_2, x_39); +x_41 = lean_int_ediv(x_37, x_39); +lean_dec(x_39); +lean_dec(x_37); +x_42 = lean_int_dec_eq(x_40, x_13); +if (x_42 == 0) +{ +size_t x_43; size_t x_44; lean_object* x_45; +x_43 = lean_array_size(x_36); +x_44 = 0; +x_45 = l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1(x_40, x_43, x_44, x_36, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_40); +if (lean_obj_tag(x_45) == 0) +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_46 = lean_ctor_get(x_45, 0); +lean_inc(x_46); +x_47 = lean_ctor_get(x_45, 1); +lean_inc(x_47); +if (lean_is_exclusive(x_45)) { + lean_ctor_release(x_45, 0); + lean_ctor_release(x_45, 1); + x_48 = x_45; +} else { + lean_dec_ref(x_45); + x_48 = lean_box(0); +} +x_49 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_49, 0, x_46); +lean_ctor_set(x_49, 1, x_41); +if (lean_is_scalar(x_48)) { + x_50 = lean_alloc_ctor(0, 2, 0); +} else { + x_50 = x_48; +} +lean_ctor_set(x_50, 0, x_49); +lean_ctor_set(x_50, 1, x_47); +return x_50; +} +else +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +lean_dec(x_41); +x_51 = lean_ctor_get(x_45, 0); +lean_inc(x_51); +x_52 = lean_ctor_get(x_45, 1); +lean_inc(x_52); +if (lean_is_exclusive(x_45)) { + lean_ctor_release(x_45, 0); + lean_ctor_release(x_45, 1); + x_53 = x_45; +} else { + lean_dec_ref(x_45); + x_53 = lean_box(0); +} +if (lean_is_scalar(x_53)) { + x_54 = lean_alloc_ctor(1, 2, 0); +} else { + x_54 = x_53; +} +lean_ctor_set(x_54, 0, x_51); +lean_ctor_set(x_54, 1, x_52); +return x_54; +} +} +else +{ +lean_object* x_55; lean_object* x_56; +lean_dec(x_40); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_55 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_55, 0, x_36); +lean_ctor_set(x_55, 1, x_41); +x_56 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_56, 0, x_55); +lean_ctor_set(x_56, 1, x_12); +return x_56; +} +} +} +else +{ +lean_object* x_57; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_57 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_57, 0, x_1); +lean_ctor_set(x_57, 1, x_12); +return x_57; +} +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +size_t x_15; size_t x_16; lean_object* x_17; +x_15 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_16 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_17 = l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___spec__1(x_1, x_15, x_16, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_1); +return x_17; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; +x_13 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_2); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19, lean_object* x_20, lean_object* x_21, lean_object* x_22, lean_object* x_23, lean_object* x_24, lean_object* x_25, lean_object* x_26) { +_start: +{ +lean_object* x_27; uint8_t x_28; +x_27 = lean_ctor_get(x_12, 1); +x_28 = lean_nat_dec_lt(x_14, x_27); +if (x_28 == 0) +{ +lean_object* x_29; +lean_dec(x_25); +lean_dec(x_24); lean_dec(x_23); lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); lean_dec(x_18); lean_dec(x_17); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_19); -return x_32; +lean_dec(x_14); +lean_dec(x_3); +lean_dec(x_1); +x_29 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_29, 0, x_13); +lean_ctor_set(x_29, 1, x_26); +return x_29; +} +else +{ +lean_object* x_30; lean_object* x_31; uint8_t x_37; +x_37 = lean_nat_dec_lt(x_14, x_9); +if (x_37 == 0) +{ +lean_object* x_38; lean_object* x_39; +x_38 = lean_array_fget(x_8, x_14); +lean_inc(x_25); +lean_inc(x_24); +lean_inc(x_23); +lean_inc(x_22); +lean_inc(x_21); +lean_inc(x_20); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_3); +x_39 = l_Lean_Grind_CommRing_Poly_mulMonM(x_38, x_6, x_3, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25, x_26); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = lean_array_fset(x_13, x_14, x_40); +x_43 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_43, 0, x_42); +x_30 = x_43; +x_31 = x_41; +goto block_36; +} +else +{ +uint8_t x_44; +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_3); +lean_dec(x_1); +x_44 = !lean_is_exclusive(x_39); +if (x_44 == 0) +{ +return x_39; +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_39, 0); +x_46 = lean_ctor_get(x_39, 1); +lean_inc(x_46); +lean_inc(x_45); +lean_dec(x_39); +x_47 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_47, 0, x_45); +lean_ctor_set(x_47, 1, x_46); +return x_47; +} +} +} +else +{ +lean_object* x_48; lean_object* x_49; +x_48 = lean_array_fget(x_7, x_14); +lean_inc(x_25); +lean_inc(x_24); +lean_inc(x_23); +lean_inc(x_22); +lean_inc(x_21); +lean_inc(x_20); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_1); +x_49 = l_Lean_Grind_CommRing_Poly_mulMonM(x_48, x_5, x_1, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25, x_26); +if (lean_obj_tag(x_49) == 0) +{ +lean_object* x_50; lean_object* x_51; uint8_t x_52; +x_50 = lean_ctor_get(x_49, 0); +lean_inc(x_50); +x_51 = lean_ctor_get(x_49, 1); +lean_inc(x_51); +lean_dec(x_49); +x_52 = lean_nat_dec_lt(x_14, x_10); +if (x_52 == 0) +{ +lean_object* x_53; lean_object* x_54; +x_53 = lean_array_fset(x_13, x_14, x_50); +x_54 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_54, 0, x_53); +x_30 = x_54; +x_31 = x_51; +goto block_36; +} +else +{ +lean_object* x_55; lean_object* x_56; +x_55 = lean_array_fget(x_8, x_14); +lean_inc(x_25); +lean_inc(x_24); +lean_inc(x_23); +lean_inc(x_22); +lean_inc(x_21); +lean_inc(x_20); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +lean_inc(x_3); +x_56 = l_Lean_Grind_CommRing_Poly_mulMonM(x_55, x_6, x_3, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25, x_51); +if (lean_obj_tag(x_56) == 0) +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; +x_57 = lean_ctor_get(x_56, 0); +lean_inc(x_57); +x_58 = lean_ctor_get(x_56, 1); +lean_inc(x_58); +lean_dec(x_56); +lean_inc(x_25); +lean_inc(x_24); +lean_inc(x_23); +lean_inc(x_22); +lean_inc(x_21); +lean_inc(x_20); +lean_inc(x_19); +lean_inc(x_18); +lean_inc(x_17); +x_59 = l_Lean_Grind_CommRing_Poly_combineM(x_50, x_57, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25, x_58); +if (lean_obj_tag(x_59) == 0) +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_60 = lean_ctor_get(x_59, 0); +lean_inc(x_60); +x_61 = lean_ctor_get(x_59, 1); +lean_inc(x_61); +lean_dec(x_59); +x_62 = lean_array_fset(x_13, x_14, x_60); +x_63 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_63, 0, x_62); +x_30 = x_63; +x_31 = x_61; +goto block_36; +} +else +{ +uint8_t x_64; +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_3); +lean_dec(x_1); +x_64 = !lean_is_exclusive(x_59); +if (x_64 == 0) +{ +return x_59; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_59, 0); +x_66 = lean_ctor_get(x_59, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_59); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +else +{ +uint8_t x_68; +lean_dec(x_50); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_3); +lean_dec(x_1); +x_68 = !lean_is_exclusive(x_56); +if (x_68 == 0) +{ +return x_56; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_56, 0); +x_70 = lean_ctor_get(x_56, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_56); +x_71 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +return x_71; +} +} +} +} +else +{ +uint8_t x_72; +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_22); +lean_dec(x_21); +lean_dec(x_20); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_3); +lean_dec(x_1); +x_72 = !lean_is_exclusive(x_49); +if (x_72 == 0) +{ +return x_49; +} +else +{ +lean_object* x_73; lean_object* x_74; lean_object* x_75; +x_73 = lean_ctor_get(x_49, 0); +x_74 = lean_ctor_get(x_49, 1); +lean_inc(x_74); +lean_inc(x_73); +lean_dec(x_49); +x_75 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_75, 0, x_73); +lean_ctor_set(x_75, 1, x_74); +return x_75; +} +} +} +block_36: +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_30, 0); +lean_inc(x_32); +lean_dec(x_30); +x_33 = lean_ctor_get(x_12, 2); +x_34 = lean_nat_add(x_14, x_33); +lean_dec(x_14); +x_13 = x_32; +x_14 = x_34; +x_15 = lean_box(0); +x_16 = lean_box(0); +x_26 = x_31; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; lean_object* x_34; +x_17 = lean_ctor_get(x_3, 1); +x_18 = lean_ctor_get(x_6, 1); +x_19 = lean_int_mul(x_1, x_18); +x_20 = lean_int_mul(x_4, x_17); +x_21 = lean_int_mul(x_17, x_18); +x_22 = l_Int_gcd(x_19, x_20); +x_23 = lean_nat_to_int(x_22); +x_24 = l_Int_gcd(x_23, x_21); +lean_dec(x_23); +x_25 = lean_nat_to_int(x_24); +x_26 = lean_int_ediv(x_19, x_25); +lean_dec(x_19); +x_27 = lean_int_ediv(x_20, x_25); +lean_dec(x_20); +x_28 = lean_int_ediv(x_21, x_25); +lean_dec(x_25); +lean_dec(x_21); +x_29 = lean_ctor_get(x_3, 0); +x_30 = lean_ctor_get(x_6, 0); +x_31 = lean_array_get_size(x_29); +x_32 = lean_array_get_size(x_30); +x_33 = lean_nat_dec_le(x_31, x_32); +if (x_33 == 0) +{ +lean_inc(x_31); +x_34 = x_31; +goto block_52; +} +else +{ +lean_inc(x_32); +x_34 = x_32; +goto block_52; +} +block_52: +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_35 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__1; +lean_inc(x_34); +x_36 = lean_mk_array(x_34, x_35); +x_37 = lean_unsigned_to_nat(0u); +x_38 = lean_unsigned_to_nat(1u); +lean_inc(x_34); +x_39 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_39, 0, x_37); +lean_ctor_set(x_39, 1, x_34); +lean_ctor_set(x_39, 2, x_38); +x_40 = l_Std_Range_forIn_x27_loop___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___spec__1(x_2, x_3, x_5, x_6, x_26, x_27, x_29, x_30, x_31, x_32, x_34, x_39, x_36, x_37, lean_box(0), lean_box(0), x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_39); +lean_dec(x_34); +lean_dec(x_32); +lean_dec(x_31); +lean_dec(x_27); +lean_dec(x_26); +if (lean_obj_tag(x_40) == 0) +{ +uint8_t x_41; +x_41 = !lean_is_exclusive(x_40); +if (x_41 == 0) +{ +lean_object* x_42; lean_object* x_43; +x_42 = lean_ctor_get(x_40, 0); +x_43 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set(x_43, 1, x_28); +lean_ctor_set(x_40, 0, x_43); +return x_40; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_44 = lean_ctor_get(x_40, 0); +x_45 = lean_ctor_get(x_40, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_40); +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_28); +x_47 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_47, 0, x_46); +lean_ctor_set(x_47, 1, x_45); +return x_47; +} +} +else +{ +uint8_t x_48; +lean_dec(x_28); +x_48 = !lean_is_exclusive(x_40); +if (x_48 == 0) +{ +return x_40; +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_40, 0); +x_50 = lean_ctor_get(x_40, 1); +lean_inc(x_50); +lean_inc(x_49); +lean_dec(x_40); +x_51 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +return x_51; +} +} } } } @@ -621,10 +1249,3551 @@ lean_object* x_14 = _args[13]; lean_object* x_15 = _args[14]; lean_object* x_16 = _args[15]; lean_object* x_17 = _args[16]; +lean_object* x_18 = _args[17]; +lean_object* x_19 = _args[18]; +lean_object* x_20 = _args[19]; +lean_object* x_21 = _args[20]; +lean_object* x_22 = _args[21]; +lean_object* x_23 = _args[22]; +lean_object* x_24 = _args[23]; +lean_object* x_25 = _args[24]; +lean_object* x_26 = _args[25]; _start: { +lean_object* x_27; +x_27 = l_Std_Range_forIn_x27_loop___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19, x_20, x_21, x_22, x_23, x_24, x_25, x_26); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +return x_27; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +lean_object* x_17; +x_17 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +return x_17; +} +} +LEAN_EXPORT uint64_t l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching_unsafe__1___rarg(lean_object* x_1) { +_start: +{ +size_t x_2; uint64_t x_3; uint64_t x_4; uint64_t x_5; +x_2 = lean_ptr_addr(x_1); +x_3 = lean_usize_to_uint64(x_2); +x_4 = 2; +x_5 = lean_uint64_shift_right(x_3, x_4); +return x_5; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching_unsafe__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching_unsafe__1___rarg___boxed), 1, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching_unsafe__1___rarg___boxed(lean_object* x_1) { +_start: +{ +uint64_t x_2; lean_object* x_3; +x_2 = l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching_unsafe__1___rarg(x_1); +lean_dec(x_1); +x_3 = lean_box_uint64(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__1(uint64_t x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +lean_object* x_3; +x_3 = lean_box(0); +return x_3; +} +else +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint64_t x_7; uint8_t x_8; +x_4 = lean_ctor_get(x_2, 0); +lean_inc(x_4); +x_5 = lean_ctor_get(x_2, 1); +lean_inc(x_5); +x_6 = lean_ctor_get(x_2, 2); +lean_inc(x_6); +lean_dec(x_2); +x_7 = lean_unbox_uint64(x_4); +lean_dec(x_4); +x_8 = lean_uint64_dec_eq(x_7, x_1); +if (x_8 == 0) +{ +lean_dec(x_5); +x_2 = x_6; +goto _start; +} +else +{ +lean_object* x_10; +lean_dec(x_6); +x_10 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_10, 0, x_5); +return x_10; +} +} +} +} +LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2(uint64_t 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; uint64_t x_6; uint8_t x_7; +x_4 = lean_ctor_get(x_2, 0); +lean_inc(x_4); +x_5 = lean_ctor_get(x_2, 2); +lean_inc(x_5); +lean_dec(x_2); +x_6 = lean_unbox_uint64(x_4); +lean_dec(x_4); +x_7 = lean_uint64_dec_eq(x_6, x_1); +if (x_7 == 0) +{ +x_2 = x_5; +goto _start; +} +else +{ +uint8_t x_9; +lean_dec(x_5); +x_9 = 1; +return x_9; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__5(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; uint64_t x_10; uint64_t x_11; uint64_t x_12; uint64_t x_13; uint64_t x_14; uint64_t x_15; size_t x_16; size_t x_17; size_t x_18; size_t x_19; size_t x_20; lean_object* x_21; lean_object* x_22; +x_5 = lean_ctor_get(x_3, 0); +x_6 = lean_ctor_get(x_3, 2); +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 = 32; +x_11 = lean_uint64_shift_right(x_9, x_10); +x_12 = lean_uint64_xor(x_9, x_11); +x_13 = 16; +x_14 = lean_uint64_shift_right(x_12, x_13); +x_15 = lean_uint64_xor(x_12, x_14); +x_16 = lean_uint64_to_usize(x_15); +x_17 = lean_usize_of_nat(x_7); +lean_dec(x_7); +x_18 = 1; +x_19 = lean_usize_sub(x_17, x_18); +x_20 = lean_usize_land(x_16, x_19); +x_21 = lean_array_uget(x_2, x_20); +lean_ctor_set(x_3, 2, x_21); +x_22 = lean_array_uset(x_2, x_20, x_3); +x_2 = x_22; +x_3 = x_6; +goto _start; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint64_t x_29; uint64_t x_30; uint64_t x_31; uint64_t x_32; uint64_t x_33; uint64_t x_34; uint64_t x_35; size_t x_36; size_t x_37; size_t x_38; size_t x_39; size_t x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; +x_24 = lean_ctor_get(x_3, 0); +x_25 = lean_ctor_get(x_3, 1); +x_26 = lean_ctor_get(x_3, 2); +lean_inc(x_26); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_3); +x_27 = lean_array_get_size(x_2); +lean_inc(x_1); +lean_inc(x_24); +x_28 = lean_apply_1(x_1, x_24); +x_29 = lean_unbox_uint64(x_28); +lean_dec(x_28); +x_30 = 32; +x_31 = lean_uint64_shift_right(x_29, x_30); +x_32 = lean_uint64_xor(x_29, x_31); +x_33 = 16; +x_34 = lean_uint64_shift_right(x_32, x_33); +x_35 = lean_uint64_xor(x_32, x_34); +x_36 = lean_uint64_to_usize(x_35); +x_37 = lean_usize_of_nat(x_27); +lean_dec(x_27); +x_38 = 1; +x_39 = lean_usize_sub(x_37, x_38); +x_40 = lean_usize_land(x_36, x_39); +x_41 = lean_array_uget(x_2, x_40); +x_42 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_42, 0, x_24); +lean_ctor_set(x_42, 1, x_25); +lean_ctor_set(x_42, 2, x_41); +x_43 = lean_array_uset(x_2, x_40, x_42); +x_2 = x_43; +x_3 = x_26; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__5___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__6(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; uint64_t x_7; uint64_t x_8; uint64_t x_9; uint64_t x_10; uint64_t x_11; uint64_t x_12; uint64_t x_13; uint64_t x_14; size_t x_15; size_t x_16; size_t x_17; size_t x_18; size_t x_19; lean_object* x_20; lean_object* x_21; +x_4 = lean_ctor_get(x_2, 0); +x_5 = lean_ctor_get(x_2, 2); +x_6 = lean_array_get_size(x_1); +x_7 = 32; +x_8 = lean_unbox_uint64(x_4); +x_9 = lean_uint64_shift_right(x_8, x_7); +x_10 = lean_unbox_uint64(x_4); +x_11 = lean_uint64_xor(x_10, x_9); +x_12 = 16; +x_13 = lean_uint64_shift_right(x_11, x_12); +x_14 = lean_uint64_xor(x_11, x_13); +x_15 = lean_uint64_to_usize(x_14); +x_16 = lean_usize_of_nat(x_6); +lean_dec(x_6); +x_17 = 1; +x_18 = lean_usize_sub(x_16, x_17); +x_19 = lean_usize_land(x_15, x_18); +x_20 = lean_array_uget(x_1, x_19); +lean_ctor_set(x_2, 2, x_20); +x_21 = lean_array_uset(x_1, x_19, x_2); +x_1 = x_21; +x_2 = x_5; +goto _start; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint64_t x_27; uint64_t x_28; uint64_t x_29; uint64_t x_30; uint64_t x_31; uint64_t x_32; uint64_t x_33; uint64_t x_34; size_t x_35; size_t x_36; size_t x_37; size_t x_38; size_t x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_23 = lean_ctor_get(x_2, 0); +x_24 = lean_ctor_get(x_2, 1); +x_25 = lean_ctor_get(x_2, 2); +lean_inc(x_25); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_2); +x_26 = lean_array_get_size(x_1); +x_27 = 32; +x_28 = lean_unbox_uint64(x_23); +x_29 = lean_uint64_shift_right(x_28, x_27); +x_30 = lean_unbox_uint64(x_23); +x_31 = lean_uint64_xor(x_30, x_29); +x_32 = 16; +x_33 = lean_uint64_shift_right(x_31, x_32); +x_34 = lean_uint64_xor(x_31, x_33); +x_35 = lean_uint64_to_usize(x_34); +x_36 = lean_usize_of_nat(x_26); +lean_dec(x_26); +x_37 = 1; +x_38 = lean_usize_sub(x_36, x_37); +x_39 = lean_usize_land(x_35, x_38); +x_40 = lean_array_uget(x_1, x_39); +x_41 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_41, 0, x_23); +lean_ctor_set(x_41, 1, x_24); +lean_ctor_set(x_41, 2, x_40); +x_42 = lean_array_uset(x_1, x_39, x_41); +x_1 = x_42; +x_2 = x_25; +goto _start; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand_go___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__4(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_Std_DHashMap_Internal_AssocList_foldlM___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__5___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__6(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_Std_DHashMap_Internal_Raw_u2080_expand___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__3(lean_object* x_1) { +_start: +{ +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; +x_2 = lean_array_get_size(x_1); +x_3 = lean_unsigned_to_nat(2u); +x_4 = lean_nat_mul(x_2, x_3); +lean_dec(x_2); +x_5 = lean_box(0); +x_6 = lean_mk_array(x_4, x_5); +x_7 = lean_unsigned_to_nat(0u); +x_8 = l_Std_DHashMap_Internal_Raw_u2080_expand_go___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__4(x_7, x_1, x_6); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(uint64_t x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_4; +lean_dec(x_2); +x_4 = lean_box(0); +return x_4; +} +else +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_3); +if (x_5 == 0) +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; uint64_t x_9; uint8_t x_10; +x_6 = lean_ctor_get(x_3, 0); +x_7 = lean_ctor_get(x_3, 1); +x_8 = lean_ctor_get(x_3, 2); +x_9 = lean_unbox_uint64(x_6); +x_10 = lean_uint64_dec_eq(x_9, x_1); +if (x_10 == 0) +{ +lean_object* x_11; +x_11 = l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(x_1, x_2, x_8); +lean_ctor_set(x_3, 2, x_11); +return x_3; +} +else +{ +lean_object* x_12; +lean_dec(x_7); +lean_dec(x_6); +x_12 = lean_box_uint64(x_1); +lean_ctor_set(x_3, 1, x_2); +lean_ctor_set(x_3, 0, x_12); +return x_3; +} +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint64_t x_16; uint8_t x_17; +x_13 = lean_ctor_get(x_3, 0); +x_14 = lean_ctor_get(x_3, 1); +x_15 = lean_ctor_get(x_3, 2); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_dec(x_3); +x_16 = lean_unbox_uint64(x_13); +x_17 = lean_uint64_dec_eq(x_16, x_1); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; +x_18 = l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(x_1, x_2, x_15); +x_19 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_19, 0, x_13); +lean_ctor_set(x_19, 1, x_14); +lean_ctor_set(x_19, 2, x_18); +return x_19; +} +else +{ +lean_object* x_20; lean_object* x_21; +lean_dec(x_14); +lean_dec(x_13); +x_20 = lean_box_uint64(x_1); +x_21 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_2); +lean_ctor_set(x_21, 2, x_15); +return x_21; +} +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___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, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +size_t x_14; uint64_t x_15; uint64_t x_16; uint64_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; +x_14 = lean_ptr_addr(x_1); +x_15 = lean_usize_to_uint64(x_14); +x_16 = 2; +x_17 = lean_uint64_shift_right(x_15, x_16); +x_18 = lean_st_ref_get(x_3, x_13); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +lean_dec(x_19); +x_21 = !lean_is_exclusive(x_18); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint64_t x_26; uint64_t x_27; uint64_t x_28; uint64_t x_29; uint64_t x_30; uint64_t x_31; size_t x_32; size_t x_33; size_t x_34; size_t x_35; size_t x_36; lean_object* x_37; lean_object* x_38; +x_22 = lean_ctor_get(x_18, 1); +x_23 = lean_ctor_get(x_18, 0); +lean_dec(x_23); +x_24 = lean_ctor_get(x_20, 1); +lean_inc(x_24); +lean_dec(x_20); +x_25 = lean_array_get_size(x_24); +x_26 = 32; +x_27 = lean_uint64_shift_right(x_17, x_26); +x_28 = lean_uint64_xor(x_17, x_27); +x_29 = 16; +x_30 = lean_uint64_shift_right(x_28, x_29); +x_31 = lean_uint64_xor(x_28, x_30); +x_32 = lean_uint64_to_usize(x_31); +x_33 = lean_usize_of_nat(x_25); +lean_dec(x_25); +x_34 = 1; +x_35 = lean_usize_sub(x_33, x_34); +x_36 = lean_usize_land(x_32, x_35); +x_37 = lean_array_uget(x_24, x_36); +lean_dec(x_24); +x_38 = l_Std_DHashMap_Internal_AssocList_get_x3f___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__1(x_17, x_37); +if (lean_obj_tag(x_38) == 0) +{ +lean_object* x_39; +lean_free_object(x_18); +lean_inc(x_3); +x_39 = lean_apply_11(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_22); +if (lean_obj_tag(x_39) == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; uint8_t x_46; +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +x_42 = lean_st_ref_take(x_3, x_41); +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_43, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_42, 1); +lean_inc(x_45); +lean_dec(x_42); +x_46 = !lean_is_exclusive(x_43); +if (x_46 == 0) +{ +lean_object* x_47; uint8_t x_48; +x_47 = lean_ctor_get(x_43, 0); +lean_dec(x_47); +x_48 = !lean_is_exclusive(x_44); +if (x_48 == 0) +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; size_t x_52; size_t x_53; size_t x_54; lean_object* x_55; uint8_t x_56; +x_49 = lean_ctor_get(x_44, 0); +x_50 = lean_ctor_get(x_44, 1); +x_51 = lean_array_get_size(x_50); +x_52 = lean_usize_of_nat(x_51); +lean_dec(x_51); +x_53 = lean_usize_sub(x_52, x_34); +x_54 = lean_usize_land(x_32, x_53); +x_55 = lean_array_uget(x_50, x_54); +lean_inc(x_55); +x_56 = l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2(x_17, x_55); +if (x_56 == 0) +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67; +x_57 = lean_unsigned_to_nat(1u); +x_58 = lean_nat_add(x_49, x_57); +lean_dec(x_49); +x_59 = lean_box_uint64(x_17); +lean_inc(x_40); +x_60 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_40); +lean_ctor_set(x_60, 2, x_55); +x_61 = lean_array_uset(x_50, x_54, x_60); +x_62 = lean_unsigned_to_nat(4u); +x_63 = lean_nat_mul(x_58, x_62); +x_64 = lean_unsigned_to_nat(3u); +x_65 = lean_nat_div(x_63, x_64); +lean_dec(x_63); +x_66 = lean_array_get_size(x_61); +x_67 = lean_nat_dec_le(x_65, x_66); +lean_dec(x_66); +lean_dec(x_65); +if (x_67 == 0) +{ +lean_object* x_68; lean_object* x_69; uint8_t x_70; +x_68 = l_Std_DHashMap_Internal_Raw_u2080_expand___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__3(x_61); +lean_ctor_set(x_44, 1, x_68); +lean_ctor_set(x_44, 0, x_58); +x_69 = lean_st_ref_set(x_3, x_43, x_45); +lean_dec(x_3); +x_70 = !lean_is_exclusive(x_69); +if (x_70 == 0) +{ +lean_object* x_71; +x_71 = lean_ctor_get(x_69, 0); +lean_dec(x_71); +lean_ctor_set(x_69, 0, x_40); +return x_69; +} +else +{ +lean_object* x_72; lean_object* x_73; +x_72 = lean_ctor_get(x_69, 1); +lean_inc(x_72); +lean_dec(x_69); +x_73 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_73, 0, x_40); +lean_ctor_set(x_73, 1, x_72); +return x_73; +} +} +else +{ +lean_object* x_74; uint8_t x_75; +lean_ctor_set(x_44, 1, x_61); +lean_ctor_set(x_44, 0, x_58); +x_74 = lean_st_ref_set(x_3, x_43, x_45); +lean_dec(x_3); +x_75 = !lean_is_exclusive(x_74); +if (x_75 == 0) +{ +lean_object* x_76; +x_76 = lean_ctor_get(x_74, 0); +lean_dec(x_76); +lean_ctor_set(x_74, 0, x_40); +return x_74; +} +else +{ +lean_object* x_77; lean_object* x_78; +x_77 = lean_ctor_get(x_74, 1); +lean_inc(x_77); +lean_dec(x_74); +x_78 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_78, 0, x_40); +lean_ctor_set(x_78, 1, x_77); +return x_78; +} +} +} +else +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; uint8_t x_84; +x_79 = lean_box(0); +x_80 = lean_array_uset(x_50, x_54, x_79); +lean_inc(x_40); +x_81 = l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(x_17, x_40, x_55); +x_82 = lean_array_uset(x_80, x_54, x_81); +lean_ctor_set(x_44, 1, x_82); +x_83 = lean_st_ref_set(x_3, x_43, x_45); +lean_dec(x_3); +x_84 = !lean_is_exclusive(x_83); +if (x_84 == 0) +{ +lean_object* x_85; +x_85 = lean_ctor_get(x_83, 0); +lean_dec(x_85); +lean_ctor_set(x_83, 0, x_40); +return x_83; +} +else +{ +lean_object* x_86; lean_object* x_87; +x_86 = lean_ctor_get(x_83, 1); +lean_inc(x_86); +lean_dec(x_83); +x_87 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_87, 0, x_40); +lean_ctor_set(x_87, 1, x_86); +return x_87; +} +} +} +else +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; size_t x_91; size_t x_92; size_t x_93; lean_object* x_94; uint8_t x_95; +x_88 = lean_ctor_get(x_44, 0); +x_89 = lean_ctor_get(x_44, 1); +lean_inc(x_89); +lean_inc(x_88); +lean_dec(x_44); +x_90 = lean_array_get_size(x_89); +x_91 = lean_usize_of_nat(x_90); +lean_dec(x_90); +x_92 = lean_usize_sub(x_91, x_34); +x_93 = lean_usize_land(x_32, x_92); +x_94 = lean_array_uget(x_89, x_93); +lean_inc(x_94); +x_95 = l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2(x_17, x_94); +if (x_95 == 0) +{ +lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; uint8_t x_106; +x_96 = lean_unsigned_to_nat(1u); +x_97 = lean_nat_add(x_88, x_96); +lean_dec(x_88); +x_98 = lean_box_uint64(x_17); +lean_inc(x_40); +x_99 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_99, 0, x_98); +lean_ctor_set(x_99, 1, x_40); +lean_ctor_set(x_99, 2, x_94); +x_100 = lean_array_uset(x_89, x_93, x_99); +x_101 = lean_unsigned_to_nat(4u); +x_102 = lean_nat_mul(x_97, x_101); +x_103 = lean_unsigned_to_nat(3u); +x_104 = lean_nat_div(x_102, x_103); +lean_dec(x_102); +x_105 = lean_array_get_size(x_100); +x_106 = lean_nat_dec_le(x_104, x_105); +lean_dec(x_105); +lean_dec(x_104); +if (x_106 == 0) +{ +lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; +x_107 = l_Std_DHashMap_Internal_Raw_u2080_expand___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__3(x_100); +x_108 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_108, 0, x_97); +lean_ctor_set(x_108, 1, x_107); +lean_ctor_set(x_43, 0, x_108); +x_109 = lean_st_ref_set(x_3, x_43, x_45); +lean_dec(x_3); +x_110 = lean_ctor_get(x_109, 1); +lean_inc(x_110); +if (lean_is_exclusive(x_109)) { + lean_ctor_release(x_109, 0); + lean_ctor_release(x_109, 1); + x_111 = x_109; +} else { + lean_dec_ref(x_109); + x_111 = lean_box(0); +} +if (lean_is_scalar(x_111)) { + x_112 = lean_alloc_ctor(0, 2, 0); +} else { + x_112 = x_111; +} +lean_ctor_set(x_112, 0, x_40); +lean_ctor_set(x_112, 1, x_110); +return x_112; +} +else +{ +lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_113 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_113, 0, x_97); +lean_ctor_set(x_113, 1, x_100); +lean_ctor_set(x_43, 0, x_113); +x_114 = lean_st_ref_set(x_3, x_43, x_45); +lean_dec(x_3); +x_115 = lean_ctor_get(x_114, 1); +lean_inc(x_115); +if (lean_is_exclusive(x_114)) { + lean_ctor_release(x_114, 0); + lean_ctor_release(x_114, 1); + x_116 = x_114; +} else { + lean_dec_ref(x_114); + x_116 = lean_box(0); +} +if (lean_is_scalar(x_116)) { + x_117 = lean_alloc_ctor(0, 2, 0); +} else { + x_117 = x_116; +} +lean_ctor_set(x_117, 0, x_40); +lean_ctor_set(x_117, 1, x_115); +return x_117; +} +} +else +{ +lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; +x_118 = lean_box(0); +x_119 = lean_array_uset(x_89, x_93, x_118); +lean_inc(x_40); +x_120 = l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(x_17, x_40, x_94); +x_121 = lean_array_uset(x_119, x_93, x_120); +x_122 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_122, 0, x_88); +lean_ctor_set(x_122, 1, x_121); +lean_ctor_set(x_43, 0, x_122); +x_123 = lean_st_ref_set(x_3, x_43, x_45); +lean_dec(x_3); +x_124 = lean_ctor_get(x_123, 1); +lean_inc(x_124); +if (lean_is_exclusive(x_123)) { + lean_ctor_release(x_123, 0); + lean_ctor_release(x_123, 1); + x_125 = x_123; +} else { + lean_dec_ref(x_123); + x_125 = lean_box(0); +} +if (lean_is_scalar(x_125)) { + x_126 = lean_alloc_ctor(0, 2, 0); +} else { + x_126 = x_125; +} +lean_ctor_set(x_126, 0, x_40); +lean_ctor_set(x_126, 1, x_124); +return x_126; +} +} +} +else +{ +lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; size_t x_132; size_t x_133; size_t x_134; lean_object* x_135; uint8_t x_136; +x_127 = lean_ctor_get(x_43, 1); +lean_inc(x_127); +lean_dec(x_43); +x_128 = lean_ctor_get(x_44, 0); +lean_inc(x_128); +x_129 = lean_ctor_get(x_44, 1); +lean_inc(x_129); +if (lean_is_exclusive(x_44)) { + lean_ctor_release(x_44, 0); + lean_ctor_release(x_44, 1); + x_130 = x_44; +} else { + lean_dec_ref(x_44); + x_130 = lean_box(0); +} +x_131 = lean_array_get_size(x_129); +x_132 = lean_usize_of_nat(x_131); +lean_dec(x_131); +x_133 = lean_usize_sub(x_132, x_34); +x_134 = lean_usize_land(x_32, x_133); +x_135 = lean_array_uget(x_129, x_134); +lean_inc(x_135); +x_136 = l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2(x_17, x_135); +if (x_136 == 0) +{ +lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; uint8_t x_147; +x_137 = lean_unsigned_to_nat(1u); +x_138 = lean_nat_add(x_128, x_137); +lean_dec(x_128); +x_139 = lean_box_uint64(x_17); +lean_inc(x_40); +x_140 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_140, 0, x_139); +lean_ctor_set(x_140, 1, x_40); +lean_ctor_set(x_140, 2, x_135); +x_141 = lean_array_uset(x_129, x_134, x_140); +x_142 = lean_unsigned_to_nat(4u); +x_143 = lean_nat_mul(x_138, x_142); +x_144 = lean_unsigned_to_nat(3u); +x_145 = lean_nat_div(x_143, x_144); +lean_dec(x_143); +x_146 = lean_array_get_size(x_141); +x_147 = lean_nat_dec_le(x_145, x_146); +lean_dec(x_146); +lean_dec(x_145); +if (x_147 == 0) +{ +lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; +x_148 = l_Std_DHashMap_Internal_Raw_u2080_expand___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__3(x_141); +if (lean_is_scalar(x_130)) { + x_149 = lean_alloc_ctor(0, 2, 0); +} else { + x_149 = x_130; +} +lean_ctor_set(x_149, 0, x_138); +lean_ctor_set(x_149, 1, x_148); +x_150 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_150, 0, x_149); +lean_ctor_set(x_150, 1, x_127); +x_151 = lean_st_ref_set(x_3, x_150, x_45); +lean_dec(x_3); +x_152 = lean_ctor_get(x_151, 1); +lean_inc(x_152); +if (lean_is_exclusive(x_151)) { + lean_ctor_release(x_151, 0); + lean_ctor_release(x_151, 1); + x_153 = x_151; +} else { + lean_dec_ref(x_151); + x_153 = lean_box(0); +} +if (lean_is_scalar(x_153)) { + x_154 = lean_alloc_ctor(0, 2, 0); +} else { + x_154 = x_153; +} +lean_ctor_set(x_154, 0, x_40); +lean_ctor_set(x_154, 1, x_152); +return x_154; +} +else +{ +lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; +if (lean_is_scalar(x_130)) { + x_155 = lean_alloc_ctor(0, 2, 0); +} else { + x_155 = x_130; +} +lean_ctor_set(x_155, 0, x_138); +lean_ctor_set(x_155, 1, x_141); +x_156 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_156, 0, x_155); +lean_ctor_set(x_156, 1, x_127); +x_157 = lean_st_ref_set(x_3, x_156, x_45); +lean_dec(x_3); +x_158 = lean_ctor_get(x_157, 1); +lean_inc(x_158); +if (lean_is_exclusive(x_157)) { + lean_ctor_release(x_157, 0); + lean_ctor_release(x_157, 1); + x_159 = x_157; +} else { + lean_dec_ref(x_157); + x_159 = lean_box(0); +} +if (lean_is_scalar(x_159)) { + x_160 = lean_alloc_ctor(0, 2, 0); +} else { + x_160 = x_159; +} +lean_ctor_set(x_160, 0, x_40); +lean_ctor_set(x_160, 1, x_158); +return x_160; +} +} +else +{ +lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; +x_161 = lean_box(0); +x_162 = lean_array_uset(x_129, x_134, x_161); +lean_inc(x_40); +x_163 = l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(x_17, x_40, x_135); +x_164 = lean_array_uset(x_162, x_134, x_163); +if (lean_is_scalar(x_130)) { + x_165 = lean_alloc_ctor(0, 2, 0); +} else { + x_165 = x_130; +} +lean_ctor_set(x_165, 0, x_128); +lean_ctor_set(x_165, 1, x_164); +x_166 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_166, 0, x_165); +lean_ctor_set(x_166, 1, x_127); +x_167 = lean_st_ref_set(x_3, x_166, x_45); +lean_dec(x_3); +x_168 = lean_ctor_get(x_167, 1); +lean_inc(x_168); +if (lean_is_exclusive(x_167)) { + lean_ctor_release(x_167, 0); + lean_ctor_release(x_167, 1); + x_169 = x_167; +} else { + lean_dec_ref(x_167); + x_169 = lean_box(0); +} +if (lean_is_scalar(x_169)) { + x_170 = lean_alloc_ctor(0, 2, 0); +} else { + x_170 = x_169; +} +lean_ctor_set(x_170, 0, x_40); +lean_ctor_set(x_170, 1, x_168); +return x_170; +} +} +} +else +{ +uint8_t x_171; +lean_dec(x_3); +x_171 = !lean_is_exclusive(x_39); +if (x_171 == 0) +{ +return x_39; +} +else +{ +lean_object* x_172; lean_object* x_173; lean_object* x_174; +x_172 = lean_ctor_get(x_39, 0); +x_173 = lean_ctor_get(x_39, 1); +lean_inc(x_173); +lean_inc(x_172); +lean_dec(x_39); +x_174 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_174, 0, x_172); +lean_ctor_set(x_174, 1, x_173); +return x_174; +} +} +} +else +{ +lean_object* x_175; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_175 = lean_ctor_get(x_38, 0); +lean_inc(x_175); +lean_dec(x_38); +lean_ctor_set(x_18, 0, x_175); +return x_18; +} +} +else +{ +lean_object* x_176; lean_object* x_177; lean_object* x_178; uint64_t x_179; uint64_t x_180; uint64_t x_181; uint64_t x_182; uint64_t x_183; uint64_t x_184; size_t x_185; size_t x_186; size_t x_187; size_t x_188; size_t x_189; lean_object* x_190; lean_object* x_191; +x_176 = lean_ctor_get(x_18, 1); +lean_inc(x_176); +lean_dec(x_18); +x_177 = lean_ctor_get(x_20, 1); +lean_inc(x_177); +lean_dec(x_20); +x_178 = lean_array_get_size(x_177); +x_179 = 32; +x_180 = lean_uint64_shift_right(x_17, x_179); +x_181 = lean_uint64_xor(x_17, x_180); +x_182 = 16; +x_183 = lean_uint64_shift_right(x_181, x_182); +x_184 = lean_uint64_xor(x_181, x_183); +x_185 = lean_uint64_to_usize(x_184); +x_186 = lean_usize_of_nat(x_178); +lean_dec(x_178); +x_187 = 1; +x_188 = lean_usize_sub(x_186, x_187); +x_189 = lean_usize_land(x_185, x_188); +x_190 = lean_array_uget(x_177, x_189); +lean_dec(x_177); +x_191 = l_Std_DHashMap_Internal_AssocList_get_x3f___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__1(x_17, x_190); +if (lean_obj_tag(x_191) == 0) +{ +lean_object* x_192; +lean_inc(x_3); +x_192 = lean_apply_11(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_176); +if (lean_obj_tag(x_192) == 0) +{ +lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; size_t x_205; size_t x_206; size_t x_207; lean_object* x_208; uint8_t x_209; +x_193 = lean_ctor_get(x_192, 0); +lean_inc(x_193); +x_194 = lean_ctor_get(x_192, 1); +lean_inc(x_194); +lean_dec(x_192); +x_195 = lean_st_ref_take(x_3, x_194); +x_196 = lean_ctor_get(x_195, 0); +lean_inc(x_196); +x_197 = lean_ctor_get(x_196, 0); +lean_inc(x_197); +x_198 = lean_ctor_get(x_195, 1); +lean_inc(x_198); +lean_dec(x_195); +x_199 = lean_ctor_get(x_196, 1); +lean_inc(x_199); +if (lean_is_exclusive(x_196)) { + lean_ctor_release(x_196, 0); + lean_ctor_release(x_196, 1); + x_200 = x_196; +} else { + lean_dec_ref(x_196); + x_200 = lean_box(0); +} +x_201 = lean_ctor_get(x_197, 0); +lean_inc(x_201); +x_202 = lean_ctor_get(x_197, 1); +lean_inc(x_202); +if (lean_is_exclusive(x_197)) { + lean_ctor_release(x_197, 0); + lean_ctor_release(x_197, 1); + x_203 = x_197; +} else { + lean_dec_ref(x_197); + x_203 = lean_box(0); +} +x_204 = lean_array_get_size(x_202); +x_205 = lean_usize_of_nat(x_204); +lean_dec(x_204); +x_206 = lean_usize_sub(x_205, x_187); +x_207 = lean_usize_land(x_185, x_206); +x_208 = lean_array_uget(x_202, x_207); +lean_inc(x_208); +x_209 = l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2(x_17, x_208); +if (x_209 == 0) +{ +lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; uint8_t x_220; +x_210 = lean_unsigned_to_nat(1u); +x_211 = lean_nat_add(x_201, x_210); +lean_dec(x_201); +x_212 = lean_box_uint64(x_17); +lean_inc(x_193); +x_213 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_213, 0, x_212); +lean_ctor_set(x_213, 1, x_193); +lean_ctor_set(x_213, 2, x_208); +x_214 = lean_array_uset(x_202, x_207, x_213); +x_215 = lean_unsigned_to_nat(4u); +x_216 = lean_nat_mul(x_211, x_215); +x_217 = lean_unsigned_to_nat(3u); +x_218 = lean_nat_div(x_216, x_217); +lean_dec(x_216); +x_219 = lean_array_get_size(x_214); +x_220 = lean_nat_dec_le(x_218, x_219); +lean_dec(x_219); +lean_dec(x_218); +if (x_220 == 0) +{ +lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; +x_221 = l_Std_DHashMap_Internal_Raw_u2080_expand___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__3(x_214); +if (lean_is_scalar(x_203)) { + x_222 = lean_alloc_ctor(0, 2, 0); +} else { + x_222 = x_203; +} +lean_ctor_set(x_222, 0, x_211); +lean_ctor_set(x_222, 1, x_221); +if (lean_is_scalar(x_200)) { + x_223 = lean_alloc_ctor(0, 2, 0); +} else { + x_223 = x_200; +} +lean_ctor_set(x_223, 0, x_222); +lean_ctor_set(x_223, 1, x_199); +x_224 = lean_st_ref_set(x_3, x_223, x_198); +lean_dec(x_3); +x_225 = lean_ctor_get(x_224, 1); +lean_inc(x_225); +if (lean_is_exclusive(x_224)) { + lean_ctor_release(x_224, 0); + lean_ctor_release(x_224, 1); + x_226 = x_224; +} else { + lean_dec_ref(x_224); + x_226 = lean_box(0); +} +if (lean_is_scalar(x_226)) { + x_227 = lean_alloc_ctor(0, 2, 0); +} else { + x_227 = x_226; +} +lean_ctor_set(x_227, 0, x_193); +lean_ctor_set(x_227, 1, x_225); +return x_227; +} +else +{ +lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; +if (lean_is_scalar(x_203)) { + x_228 = lean_alloc_ctor(0, 2, 0); +} else { + x_228 = x_203; +} +lean_ctor_set(x_228, 0, x_211); +lean_ctor_set(x_228, 1, x_214); +if (lean_is_scalar(x_200)) { + x_229 = lean_alloc_ctor(0, 2, 0); +} else { + x_229 = x_200; +} +lean_ctor_set(x_229, 0, x_228); +lean_ctor_set(x_229, 1, x_199); +x_230 = lean_st_ref_set(x_3, x_229, x_198); +lean_dec(x_3); +x_231 = lean_ctor_get(x_230, 1); +lean_inc(x_231); +if (lean_is_exclusive(x_230)) { + lean_ctor_release(x_230, 0); + lean_ctor_release(x_230, 1); + x_232 = x_230; +} else { + lean_dec_ref(x_230); + x_232 = lean_box(0); +} +if (lean_is_scalar(x_232)) { + x_233 = lean_alloc_ctor(0, 2, 0); +} else { + x_233 = x_232; +} +lean_ctor_set(x_233, 0, x_193); +lean_ctor_set(x_233, 1, x_231); +return x_233; +} +} +else +{ +lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; +x_234 = lean_box(0); +x_235 = lean_array_uset(x_202, x_207, x_234); +lean_inc(x_193); +x_236 = l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(x_17, x_193, x_208); +x_237 = lean_array_uset(x_235, x_207, x_236); +if (lean_is_scalar(x_203)) { + x_238 = lean_alloc_ctor(0, 2, 0); +} else { + x_238 = x_203; +} +lean_ctor_set(x_238, 0, x_201); +lean_ctor_set(x_238, 1, x_237); +if (lean_is_scalar(x_200)) { + x_239 = lean_alloc_ctor(0, 2, 0); +} else { + x_239 = x_200; +} +lean_ctor_set(x_239, 0, x_238); +lean_ctor_set(x_239, 1, x_199); +x_240 = lean_st_ref_set(x_3, x_239, x_198); +lean_dec(x_3); +x_241 = lean_ctor_get(x_240, 1); +lean_inc(x_241); +if (lean_is_exclusive(x_240)) { + lean_ctor_release(x_240, 0); + lean_ctor_release(x_240, 1); + x_242 = x_240; +} else { + lean_dec_ref(x_240); + x_242 = lean_box(0); +} +if (lean_is_scalar(x_242)) { + x_243 = lean_alloc_ctor(0, 2, 0); +} else { + x_243 = x_242; +} +lean_ctor_set(x_243, 0, x_193); +lean_ctor_set(x_243, 1, x_241); +return x_243; +} +} +else +{ +lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; +lean_dec(x_3); +x_244 = lean_ctor_get(x_192, 0); +lean_inc(x_244); +x_245 = lean_ctor_get(x_192, 1); +lean_inc(x_245); +if (lean_is_exclusive(x_192)) { + lean_ctor_release(x_192, 0); + lean_ctor_release(x_192, 1); + x_246 = x_192; +} else { + lean_dec_ref(x_192); + x_246 = lean_box(0); +} +if (lean_is_scalar(x_246)) { + x_247 = lean_alloc_ctor(1, 2, 0); +} else { + x_247 = x_246; +} +lean_ctor_set(x_247, 0, x_244); +lean_ctor_set(x_247, 1, x_245); +return x_247; +} +} +else +{ +lean_object* x_248; lean_object* x_249; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_248 = lean_ctor_get(x_191, 0); +lean_inc(x_248); +lean_dec(x_191); +x_249 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_249, 0, x_248); +lean_ctor_set(x_249, 1, x_176); +return x_249; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___rarg___boxed), 13, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint64_t x_3; lean_object* x_4; +x_3 = lean_unbox_uint64(x_1); +lean_dec(x_1); +x_4 = l_Std_DHashMap_Internal_AssocList_get_x3f___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__1(x_3, x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint64_t x_3; uint8_t x_4; lean_object* x_5; +x_3 = lean_unbox_uint64(x_1); +lean_dec(x_1); +x_4 = l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2(x_3, x_2); +x_5 = lean_box(x_4); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint64_t x_4; lean_object* x_5; +x_4 = lean_unbox_uint64(x_1); +lean_dec(x_1); +x_5 = l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(x_4, x_2, x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; +x_14 = l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___rarg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_1); +return x_14; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; size_t x_14; uint64_t x_15; uint64_t x_16; uint64_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; +x_13 = lean_ctor_get(x_1, 1); +lean_inc(x_13); +x_14 = lean_ptr_addr(x_1); +lean_dec(x_1); +x_15 = lean_usize_to_uint64(x_14); +x_16 = 2; +x_17 = lean_uint64_shift_right(x_15, x_16); +x_18 = lean_st_ref_get(x_2, x_12); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_19, 0); +lean_inc(x_20); +lean_dec(x_19); +x_21 = !lean_is_exclusive(x_18); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; uint64_t x_26; uint64_t x_27; uint64_t x_28; uint64_t x_29; uint64_t x_30; uint64_t x_31; size_t x_32; size_t x_33; size_t x_34; lean_object* x_35; size_t x_172; size_t x_173; lean_object* x_174; lean_object* x_175; +x_22 = lean_ctor_get(x_18, 1); +x_23 = lean_ctor_get(x_18, 0); +lean_dec(x_23); +x_24 = lean_ctor_get(x_20, 1); +lean_inc(x_24); +lean_dec(x_20); +x_25 = lean_array_get_size(x_24); +x_26 = 32; +x_27 = lean_uint64_shift_right(x_17, x_26); +x_28 = lean_uint64_xor(x_17, x_27); +x_29 = 16; +x_30 = lean_uint64_shift_right(x_28, x_29); +x_31 = lean_uint64_xor(x_28, x_30); +x_32 = lean_uint64_to_usize(x_31); +x_33 = lean_usize_of_nat(x_25); +lean_dec(x_25); +x_34 = 1; +x_172 = lean_usize_sub(x_33, x_34); +x_173 = lean_usize_land(x_32, x_172); +x_174 = lean_array_uget(x_24, x_173); +lean_dec(x_24); +x_175 = l_Std_DHashMap_Internal_AssocList_get_x3f___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__1(x_17, x_174); +if (lean_obj_tag(x_175) == 0) +{ +lean_free_object(x_18); +switch (lean_obj_tag(x_13)) { +case 0: +{ +lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; +lean_dec(x_3); +x_176 = lean_ctor_get(x_13, 0); +lean_inc(x_176); +x_177 = lean_ctor_get(x_13, 1); +lean_inc(x_177); +x_178 = lean_ctor_get(x_13, 2); +lean_inc(x_178); +x_179 = lean_ctor_get(x_13, 3); +lean_inc(x_179); +lean_dec(x_13); +x_180 = lean_st_ref_get(x_2, x_22); +x_181 = lean_ctor_get(x_180, 0); +lean_inc(x_181); +x_182 = lean_ctor_get(x_180, 1); +lean_inc(x_182); +lean_dec(x_180); +x_183 = lean_ctor_get(x_181, 1); +lean_inc(x_183); +lean_dec(x_181); +x_184 = lean_array_get_size(x_183); +lean_dec(x_183); +x_185 = lean_grind_mk_eq_proof(x_176, x_177, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_182); +if (lean_obj_tag(x_185) == 0) +{ +lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; uint8_t x_191; +x_186 = lean_ctor_get(x_185, 0); +lean_inc(x_186); +x_187 = lean_ctor_get(x_185, 1); +lean_inc(x_187); +lean_dec(x_185); +x_188 = lean_st_ref_take(x_2, x_187); +x_189 = lean_ctor_get(x_188, 0); +lean_inc(x_189); +x_190 = lean_ctor_get(x_188, 1); +lean_inc(x_190); +lean_dec(x_188); +x_191 = !lean_is_exclusive(x_189); +if (x_191 == 0) +{ +lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; uint8_t x_196; +x_192 = lean_ctor_get(x_189, 1); +x_193 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_193, 0, x_186); +lean_ctor_set(x_193, 1, x_178); +lean_ctor_set(x_193, 2, x_179); +x_194 = lean_array_push(x_192, x_193); +lean_ctor_set(x_189, 1, x_194); +x_195 = lean_st_ref_set(x_2, x_189, x_190); +x_196 = !lean_is_exclusive(x_195); +if (x_196 == 0) +{ +lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; +x_197 = lean_ctor_get(x_195, 0); +lean_dec(x_197); +x_198 = lean_unsigned_to_nat(1u); +x_199 = lean_nat_add(x_184, x_198); +x_200 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit(x_184, x_199); +lean_dec(x_184); +lean_ctor_set(x_195, 0, x_200); +x_35 = x_195; +goto block_171; +} +else +{ +lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; +x_201 = lean_ctor_get(x_195, 1); +lean_inc(x_201); +lean_dec(x_195); +x_202 = lean_unsigned_to_nat(1u); +x_203 = lean_nat_add(x_184, x_202); +x_204 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit(x_184, x_203); +lean_dec(x_184); +x_205 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_205, 0, x_204); +lean_ctor_set(x_205, 1, x_201); +x_35 = x_205; +goto block_171; +} +} +else +{ +lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; +x_206 = lean_ctor_get(x_189, 0); +x_207 = lean_ctor_get(x_189, 1); +lean_inc(x_207); +lean_inc(x_206); +lean_dec(x_189); +x_208 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_208, 0, x_186); +lean_ctor_set(x_208, 1, x_178); +lean_ctor_set(x_208, 2, x_179); +x_209 = lean_array_push(x_207, x_208); +x_210 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_210, 0, x_206); +lean_ctor_set(x_210, 1, x_209); +x_211 = lean_st_ref_set(x_2, x_210, x_190); +x_212 = lean_ctor_get(x_211, 1); +lean_inc(x_212); +if (lean_is_exclusive(x_211)) { + lean_ctor_release(x_211, 0); + lean_ctor_release(x_211, 1); + x_213 = x_211; +} else { + lean_dec_ref(x_211); + x_213 = lean_box(0); +} +x_214 = lean_unsigned_to_nat(1u); +x_215 = lean_nat_add(x_184, x_214); +x_216 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit(x_184, x_215); +lean_dec(x_184); +if (lean_is_scalar(x_213)) { + x_217 = lean_alloc_ctor(0, 2, 0); +} else { + x_217 = x_213; +} +lean_ctor_set(x_217, 0, x_216); +lean_ctor_set(x_217, 1, x_212); +x_35 = x_217; +goto block_171; +} +} +else +{ +uint8_t x_218; +lean_dec(x_184); +lean_dec(x_179); +lean_dec(x_178); +x_218 = !lean_is_exclusive(x_185); +if (x_218 == 0) +{ +x_35 = x_185; +goto block_171; +} +else +{ +lean_object* x_219; lean_object* x_220; lean_object* x_221; +x_219 = lean_ctor_get(x_185, 0); +x_220 = lean_ctor_get(x_185, 1); +lean_inc(x_220); +lean_inc(x_219); +lean_dec(x_185); +x_221 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_221, 0, x_219); +lean_ctor_set(x_221, 1, x_220); +x_35 = x_221; +goto block_171; +} +} +} +case 1: +{ +lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; lean_object* x_227; lean_object* x_228; +x_222 = lean_ctor_get(x_13, 0); +lean_inc(x_222); +x_223 = lean_ctor_get(x_13, 1); +lean_inc(x_223); +x_224 = lean_ctor_get(x_13, 2); +lean_inc(x_224); +x_225 = lean_ctor_get(x_13, 3); +lean_inc(x_225); +x_226 = lean_ctor_get(x_13, 4); +lean_inc(x_226); +x_227 = lean_ctor_get(x_13, 5); +lean_inc(x_227); +lean_dec(x_13); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_228 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_222, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_22); +if (lean_obj_tag(x_228) == 0) +{ +lean_object* x_229; lean_object* x_230; lean_object* x_231; +x_229 = lean_ctor_get(x_228, 0); +lean_inc(x_229); +x_230 = lean_ctor_get(x_228, 1); +lean_inc(x_230); +lean_dec(x_228); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_231 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_223, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_230); +if (lean_obj_tag(x_231) == 0) +{ +lean_object* x_232; lean_object* x_233; lean_object* x_234; +x_232 = lean_ctor_get(x_231, 0); +lean_inc(x_232); +x_233 = lean_ctor_get(x_231, 1); +lean_inc(x_233); +lean_dec(x_231); +x_234 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine(x_224, x_226, x_229, x_225, x_227, x_232, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_233); +lean_dec(x_232); +lean_dec(x_225); +lean_dec(x_229); +lean_dec(x_224); +x_35 = x_234; +goto block_171; +} +else +{ +uint8_t x_235; +lean_dec(x_229); +lean_dec(x_227); +lean_dec(x_226); +lean_dec(x_225); +lean_dec(x_224); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_235 = !lean_is_exclusive(x_231); +if (x_235 == 0) +{ +x_35 = x_231; +goto block_171; +} +else +{ +lean_object* x_236; lean_object* x_237; lean_object* x_238; +x_236 = lean_ctor_get(x_231, 0); +x_237 = lean_ctor_get(x_231, 1); +lean_inc(x_237); +lean_inc(x_236); +lean_dec(x_231); +x_238 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_238, 0, x_236); +lean_ctor_set(x_238, 1, x_237); +x_35 = x_238; +goto block_171; +} +} +} +else +{ +uint8_t x_239; +lean_dec(x_227); +lean_dec(x_226); +lean_dec(x_225); +lean_dec(x_224); +lean_dec(x_223); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_239 = !lean_is_exclusive(x_228); +if (x_239 == 0) +{ +x_35 = x_228; +goto block_171; +} +else +{ +lean_object* x_240; lean_object* x_241; lean_object* x_242; +x_240 = lean_ctor_get(x_228, 0); +x_241 = lean_ctor_get(x_228, 1); +lean_inc(x_241); +lean_inc(x_240); +lean_dec(x_228); +x_242 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_242, 0, x_240); +lean_ctor_set(x_242, 1, x_241); +x_35 = x_242; +goto block_171; +} +} +} +case 2: +{ +lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; +x_243 = lean_ctor_get(x_13, 0); +lean_inc(x_243); +x_244 = lean_ctor_get(x_13, 1); +lean_inc(x_244); +x_245 = lean_ctor_get(x_13, 2); +lean_inc(x_245); +x_246 = lean_ctor_get(x_13, 3); +lean_inc(x_246); +x_247 = lean_ctor_get(x_13, 4); +lean_inc(x_247); +lean_dec(x_13); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_248 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_243, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_22); +if (lean_obj_tag(x_248) == 0) +{ +lean_object* x_249; lean_object* x_250; lean_object* x_251; +x_249 = lean_ctor_get(x_248, 0); +lean_inc(x_249); +x_250 = lean_ctor_get(x_248, 1); +lean_inc(x_250); +lean_dec(x_248); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_251 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_244, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_250); +if (lean_obj_tag(x_251) == 0) +{ +lean_object* x_252; lean_object* x_253; lean_object* x_254; lean_object* x_255; +x_252 = lean_ctor_get(x_251, 0); +lean_inc(x_252); +x_253 = lean_ctor_get(x_251, 1); +lean_inc(x_253); +lean_dec(x_251); +x_254 = lean_box(0); +x_255 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine(x_245, x_247, x_249, x_246, x_254, x_252, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_253); +lean_dec(x_252); +lean_dec(x_246); +lean_dec(x_249); +lean_dec(x_245); +x_35 = x_255; +goto block_171; +} +else +{ +uint8_t x_256; +lean_dec(x_249); +lean_dec(x_247); +lean_dec(x_246); +lean_dec(x_245); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_256 = !lean_is_exclusive(x_251); +if (x_256 == 0) +{ +x_35 = x_251; +goto block_171; +} +else +{ +lean_object* x_257; lean_object* x_258; lean_object* x_259; +x_257 = lean_ctor_get(x_251, 0); +x_258 = lean_ctor_get(x_251, 1); +lean_inc(x_258); +lean_inc(x_257); +lean_dec(x_251); +x_259 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_259, 0, x_257); +lean_ctor_set(x_259, 1, x_258); +x_35 = x_259; +goto block_171; +} +} +} +else +{ +uint8_t x_260; +lean_dec(x_247); +lean_dec(x_246); +lean_dec(x_245); +lean_dec(x_244); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_260 = !lean_is_exclusive(x_248); +if (x_260 == 0) +{ +x_35 = x_248; +goto block_171; +} +else +{ +lean_object* x_261; lean_object* x_262; lean_object* x_263; +x_261 = lean_ctor_get(x_248, 0); +x_262 = lean_ctor_get(x_248, 1); +lean_inc(x_262); +lean_inc(x_261); +lean_dec(x_248); +x_263 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_263, 0, x_261); +lean_ctor_set(x_263, 1, x_262); +x_35 = x_263; +goto block_171; +} +} +} +case 3: +{ +lean_object* x_264; lean_object* x_265; lean_object* x_266; +x_264 = lean_ctor_get(x_13, 0); +lean_inc(x_264); +x_265 = lean_ctor_get(x_13, 1); +lean_inc(x_265); +lean_dec(x_13); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_266 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_265, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_22); +if (lean_obj_tag(x_266) == 0) +{ +lean_object* x_267; lean_object* x_268; lean_object* x_269; +x_267 = lean_ctor_get(x_266, 0); +lean_inc(x_267); +x_268 = lean_ctor_get(x_266, 1); +lean_inc(x_268); +lean_dec(x_266); +x_269 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul(x_267, x_264, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_268); +lean_dec(x_264); +x_35 = x_269; +goto block_171; +} +else +{ +uint8_t x_270; +lean_dec(x_264); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_270 = !lean_is_exclusive(x_266); +if (x_270 == 0) +{ +x_35 = x_266; +goto block_171; +} +else +{ +lean_object* x_271; lean_object* x_272; lean_object* x_273; +x_271 = lean_ctor_get(x_266, 0); +x_272 = lean_ctor_get(x_266, 1); +lean_inc(x_272); +lean_inc(x_271); +lean_dec(x_266); +x_273 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_273, 0, x_271); +lean_ctor_set(x_273, 1, x_272); +x_35 = x_273; +goto block_171; +} +} +} +default: +{ +lean_object* x_274; lean_object* x_275; lean_object* x_276; +x_274 = lean_ctor_get(x_13, 0); +lean_inc(x_274); +x_275 = lean_ctor_get(x_13, 1); +lean_inc(x_275); +lean_dec(x_13); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_276 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_275, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_22); +if (lean_obj_tag(x_276) == 0) +{ +lean_object* x_277; lean_object* x_278; lean_object* x_279; +x_277 = lean_ctor_get(x_276, 0); +lean_inc(x_277); +x_278 = lean_ctor_get(x_276, 1); +lean_inc(x_278); +lean_dec(x_276); +x_279 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_div(x_277, x_274, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_278); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_274); +x_35 = x_279; +goto block_171; +} +else +{ +uint8_t x_280; +lean_dec(x_274); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_280 = !lean_is_exclusive(x_276); +if (x_280 == 0) +{ +x_35 = x_276; +goto block_171; +} +else +{ +lean_object* x_281; lean_object* x_282; lean_object* x_283; +x_281 = lean_ctor_get(x_276, 0); +x_282 = lean_ctor_get(x_276, 1); +lean_inc(x_282); +lean_inc(x_281); +lean_dec(x_276); +x_283 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_283, 0, x_281); +lean_ctor_set(x_283, 1, x_282); +x_35 = x_283; +goto block_171; +} +} +} +} +} +else +{ +lean_object* x_284; +lean_dec(x_13); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_284 = lean_ctor_get(x_175, 0); +lean_inc(x_284); +lean_dec(x_175); +lean_ctor_set(x_18, 0, x_284); +return x_18; +} +block_171: +{ +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +lean_dec(x_35); +x_38 = lean_st_ref_take(x_2, x_37); +x_39 = lean_ctor_get(x_38, 0); +lean_inc(x_39); +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_38, 1); +lean_inc(x_41); +lean_dec(x_38); +x_42 = !lean_is_exclusive(x_39); +if (x_42 == 0) +{ +lean_object* x_43; uint8_t x_44; +x_43 = lean_ctor_get(x_39, 0); +lean_dec(x_43); +x_44 = !lean_is_exclusive(x_40); +if (x_44 == 0) +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; size_t x_48; size_t x_49; size_t x_50; lean_object* x_51; uint8_t x_52; +x_45 = lean_ctor_get(x_40, 0); +x_46 = lean_ctor_get(x_40, 1); +x_47 = lean_array_get_size(x_46); +x_48 = lean_usize_of_nat(x_47); +lean_dec(x_47); +x_49 = lean_usize_sub(x_48, x_34); +x_50 = lean_usize_land(x_32, x_49); +x_51 = lean_array_uget(x_46, x_50); +lean_inc(x_51); +x_52 = l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2(x_17, x_51); +if (x_52 == 0) +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; +x_53 = lean_unsigned_to_nat(1u); +x_54 = lean_nat_add(x_45, x_53); +lean_dec(x_45); +x_55 = lean_box_uint64(x_17); +lean_inc(x_36); +x_56 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_56, 0, x_55); +lean_ctor_set(x_56, 1, x_36); +lean_ctor_set(x_56, 2, x_51); +x_57 = lean_array_uset(x_46, x_50, x_56); +x_58 = lean_unsigned_to_nat(4u); +x_59 = lean_nat_mul(x_54, x_58); +x_60 = lean_unsigned_to_nat(3u); +x_61 = lean_nat_div(x_59, x_60); +lean_dec(x_59); +x_62 = lean_array_get_size(x_57); +x_63 = lean_nat_dec_le(x_61, x_62); +lean_dec(x_62); +lean_dec(x_61); +if (x_63 == 0) +{ +lean_object* x_64; lean_object* x_65; uint8_t x_66; +x_64 = l_Std_DHashMap_Internal_Raw_u2080_expand___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__3(x_57); +lean_ctor_set(x_40, 1, x_64); +lean_ctor_set(x_40, 0, x_54); +x_65 = lean_st_ref_set(x_2, x_39, x_41); +x_66 = !lean_is_exclusive(x_65); +if (x_66 == 0) +{ +lean_object* x_67; +x_67 = lean_ctor_get(x_65, 0); +lean_dec(x_67); +lean_ctor_set(x_65, 0, x_36); +return x_65; +} +else +{ +lean_object* x_68; lean_object* x_69; +x_68 = lean_ctor_get(x_65, 1); +lean_inc(x_68); +lean_dec(x_65); +x_69 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_69, 0, x_36); +lean_ctor_set(x_69, 1, x_68); +return x_69; +} +} +else +{ +lean_object* x_70; uint8_t x_71; +lean_ctor_set(x_40, 1, x_57); +lean_ctor_set(x_40, 0, x_54); +x_70 = lean_st_ref_set(x_2, x_39, x_41); +x_71 = !lean_is_exclusive(x_70); +if (x_71 == 0) +{ +lean_object* x_72; +x_72 = lean_ctor_get(x_70, 0); +lean_dec(x_72); +lean_ctor_set(x_70, 0, x_36); +return x_70; +} +else +{ +lean_object* x_73; lean_object* x_74; +x_73 = lean_ctor_get(x_70, 1); +lean_inc(x_73); +lean_dec(x_70); +x_74 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_74, 0, x_36); +lean_ctor_set(x_74, 1, x_73); +return x_74; +} +} +} +else +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; +x_75 = lean_box(0); +x_76 = lean_array_uset(x_46, x_50, x_75); +lean_inc(x_36); +x_77 = l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(x_17, x_36, x_51); +x_78 = lean_array_uset(x_76, x_50, x_77); +lean_ctor_set(x_40, 1, x_78); +x_79 = lean_st_ref_set(x_2, x_39, x_41); +x_80 = !lean_is_exclusive(x_79); +if (x_80 == 0) +{ +lean_object* x_81; +x_81 = lean_ctor_get(x_79, 0); +lean_dec(x_81); +lean_ctor_set(x_79, 0, x_36); +return x_79; +} +else +{ +lean_object* x_82; lean_object* x_83; +x_82 = lean_ctor_get(x_79, 1); +lean_inc(x_82); +lean_dec(x_79); +x_83 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_83, 0, x_36); +lean_ctor_set(x_83, 1, x_82); +return x_83; +} +} +} +else +{ +lean_object* x_84; lean_object* x_85; lean_object* x_86; size_t x_87; size_t x_88; size_t x_89; lean_object* x_90; uint8_t x_91; +x_84 = lean_ctor_get(x_40, 0); +x_85 = lean_ctor_get(x_40, 1); +lean_inc(x_85); +lean_inc(x_84); +lean_dec(x_40); +x_86 = lean_array_get_size(x_85); +x_87 = lean_usize_of_nat(x_86); +lean_dec(x_86); +x_88 = lean_usize_sub(x_87, x_34); +x_89 = lean_usize_land(x_32, x_88); +x_90 = lean_array_uget(x_85, x_89); +lean_inc(x_90); +x_91 = l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2(x_17, x_90); +if (x_91 == 0) +{ +lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; uint8_t x_102; +x_92 = lean_unsigned_to_nat(1u); +x_93 = lean_nat_add(x_84, x_92); +lean_dec(x_84); +x_94 = lean_box_uint64(x_17); +lean_inc(x_36); +x_95 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_95, 0, x_94); +lean_ctor_set(x_95, 1, x_36); +lean_ctor_set(x_95, 2, x_90); +x_96 = lean_array_uset(x_85, x_89, x_95); +x_97 = lean_unsigned_to_nat(4u); +x_98 = lean_nat_mul(x_93, x_97); +x_99 = lean_unsigned_to_nat(3u); +x_100 = lean_nat_div(x_98, x_99); +lean_dec(x_98); +x_101 = lean_array_get_size(x_96); +x_102 = lean_nat_dec_le(x_100, x_101); +lean_dec(x_101); +lean_dec(x_100); +if (x_102 == 0) +{ +lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; +x_103 = l_Std_DHashMap_Internal_Raw_u2080_expand___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__3(x_96); +x_104 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_104, 0, x_93); +lean_ctor_set(x_104, 1, x_103); +lean_ctor_set(x_39, 0, x_104); +x_105 = lean_st_ref_set(x_2, x_39, x_41); +x_106 = lean_ctor_get(x_105, 1); +lean_inc(x_106); +if (lean_is_exclusive(x_105)) { + lean_ctor_release(x_105, 0); + lean_ctor_release(x_105, 1); + x_107 = x_105; +} else { + lean_dec_ref(x_105); + x_107 = lean_box(0); +} +if (lean_is_scalar(x_107)) { + x_108 = lean_alloc_ctor(0, 2, 0); +} else { + x_108 = x_107; +} +lean_ctor_set(x_108, 0, x_36); +lean_ctor_set(x_108, 1, x_106); +return x_108; +} +else +{ +lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_109 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_109, 0, x_93); +lean_ctor_set(x_109, 1, x_96); +lean_ctor_set(x_39, 0, x_109); +x_110 = lean_st_ref_set(x_2, x_39, x_41); +x_111 = lean_ctor_get(x_110, 1); +lean_inc(x_111); +if (lean_is_exclusive(x_110)) { + lean_ctor_release(x_110, 0); + lean_ctor_release(x_110, 1); + x_112 = x_110; +} else { + lean_dec_ref(x_110); + x_112 = lean_box(0); +} +if (lean_is_scalar(x_112)) { + x_113 = lean_alloc_ctor(0, 2, 0); +} else { + x_113 = x_112; +} +lean_ctor_set(x_113, 0, x_36); +lean_ctor_set(x_113, 1, x_111); +return x_113; +} +} +else +{ +lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; +x_114 = lean_box(0); +x_115 = lean_array_uset(x_85, x_89, x_114); +lean_inc(x_36); +x_116 = l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(x_17, x_36, x_90); +x_117 = lean_array_uset(x_115, x_89, x_116); +x_118 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_118, 0, x_84); +lean_ctor_set(x_118, 1, x_117); +lean_ctor_set(x_39, 0, x_118); +x_119 = lean_st_ref_set(x_2, x_39, x_41); +x_120 = lean_ctor_get(x_119, 1); +lean_inc(x_120); +if (lean_is_exclusive(x_119)) { + lean_ctor_release(x_119, 0); + lean_ctor_release(x_119, 1); + x_121 = x_119; +} else { + lean_dec_ref(x_119); + x_121 = lean_box(0); +} +if (lean_is_scalar(x_121)) { + x_122 = lean_alloc_ctor(0, 2, 0); +} else { + x_122 = x_121; +} +lean_ctor_set(x_122, 0, x_36); +lean_ctor_set(x_122, 1, x_120); +return x_122; +} +} +} +else +{ +lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; size_t x_128; size_t x_129; size_t x_130; lean_object* x_131; uint8_t x_132; +x_123 = lean_ctor_get(x_39, 1); +lean_inc(x_123); +lean_dec(x_39); +x_124 = lean_ctor_get(x_40, 0); +lean_inc(x_124); +x_125 = lean_ctor_get(x_40, 1); +lean_inc(x_125); +if (lean_is_exclusive(x_40)) { + lean_ctor_release(x_40, 0); + lean_ctor_release(x_40, 1); + x_126 = x_40; +} else { + lean_dec_ref(x_40); + x_126 = lean_box(0); +} +x_127 = lean_array_get_size(x_125); +x_128 = lean_usize_of_nat(x_127); +lean_dec(x_127); +x_129 = lean_usize_sub(x_128, x_34); +x_130 = lean_usize_land(x_32, x_129); +x_131 = lean_array_uget(x_125, x_130); +lean_inc(x_131); +x_132 = l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2(x_17, x_131); +if (x_132 == 0) +{ +lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; uint8_t x_143; +x_133 = lean_unsigned_to_nat(1u); +x_134 = lean_nat_add(x_124, x_133); +lean_dec(x_124); +x_135 = lean_box_uint64(x_17); +lean_inc(x_36); +x_136 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_136, 0, x_135); +lean_ctor_set(x_136, 1, x_36); +lean_ctor_set(x_136, 2, x_131); +x_137 = lean_array_uset(x_125, x_130, x_136); +x_138 = lean_unsigned_to_nat(4u); +x_139 = lean_nat_mul(x_134, x_138); +x_140 = lean_unsigned_to_nat(3u); +x_141 = lean_nat_div(x_139, x_140); +lean_dec(x_139); +x_142 = lean_array_get_size(x_137); +x_143 = lean_nat_dec_le(x_141, x_142); +lean_dec(x_142); +lean_dec(x_141); +if (x_143 == 0) +{ +lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; +x_144 = l_Std_DHashMap_Internal_Raw_u2080_expand___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__3(x_137); +if (lean_is_scalar(x_126)) { + x_145 = lean_alloc_ctor(0, 2, 0); +} else { + x_145 = x_126; +} +lean_ctor_set(x_145, 0, x_134); +lean_ctor_set(x_145, 1, x_144); +x_146 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_146, 0, x_145); +lean_ctor_set(x_146, 1, x_123); +x_147 = lean_st_ref_set(x_2, x_146, x_41); +x_148 = lean_ctor_get(x_147, 1); +lean_inc(x_148); +if (lean_is_exclusive(x_147)) { + lean_ctor_release(x_147, 0); + lean_ctor_release(x_147, 1); + x_149 = x_147; +} else { + lean_dec_ref(x_147); + x_149 = lean_box(0); +} +if (lean_is_scalar(x_149)) { + x_150 = lean_alloc_ctor(0, 2, 0); +} else { + x_150 = x_149; +} +lean_ctor_set(x_150, 0, x_36); +lean_ctor_set(x_150, 1, x_148); +return x_150; +} +else +{ +lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; +if (lean_is_scalar(x_126)) { + x_151 = lean_alloc_ctor(0, 2, 0); +} else { + x_151 = x_126; +} +lean_ctor_set(x_151, 0, x_134); +lean_ctor_set(x_151, 1, x_137); +x_152 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_152, 0, x_151); +lean_ctor_set(x_152, 1, x_123); +x_153 = lean_st_ref_set(x_2, x_152, x_41); +x_154 = lean_ctor_get(x_153, 1); +lean_inc(x_154); +if (lean_is_exclusive(x_153)) { + lean_ctor_release(x_153, 0); + lean_ctor_release(x_153, 1); + x_155 = x_153; +} else { + lean_dec_ref(x_153); + x_155 = lean_box(0); +} +if (lean_is_scalar(x_155)) { + x_156 = lean_alloc_ctor(0, 2, 0); +} else { + x_156 = x_155; +} +lean_ctor_set(x_156, 0, x_36); +lean_ctor_set(x_156, 1, x_154); +return x_156; +} +} +else +{ +lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; +x_157 = lean_box(0); +x_158 = lean_array_uset(x_125, x_130, x_157); +lean_inc(x_36); +x_159 = l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(x_17, x_36, x_131); +x_160 = lean_array_uset(x_158, x_130, x_159); +if (lean_is_scalar(x_126)) { + x_161 = lean_alloc_ctor(0, 2, 0); +} else { + x_161 = x_126; +} +lean_ctor_set(x_161, 0, x_124); +lean_ctor_set(x_161, 1, x_160); +x_162 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_162, 0, x_161); +lean_ctor_set(x_162, 1, x_123); +x_163 = lean_st_ref_set(x_2, x_162, x_41); +x_164 = lean_ctor_get(x_163, 1); +lean_inc(x_164); +if (lean_is_exclusive(x_163)) { + lean_ctor_release(x_163, 0); + lean_ctor_release(x_163, 1); + x_165 = x_163; +} else { + lean_dec_ref(x_163); + x_165 = lean_box(0); +} +if (lean_is_scalar(x_165)) { + x_166 = lean_alloc_ctor(0, 2, 0); +} else { + x_166 = x_165; +} +lean_ctor_set(x_166, 0, x_36); +lean_ctor_set(x_166, 1, x_164); +return x_166; +} +} +} +else +{ +uint8_t x_167; +x_167 = !lean_is_exclusive(x_35); +if (x_167 == 0) +{ +return x_35; +} +else +{ +lean_object* x_168; lean_object* x_169; lean_object* x_170; +x_168 = lean_ctor_get(x_35, 0); +x_169 = lean_ctor_get(x_35, 1); +lean_inc(x_169); +lean_inc(x_168); +lean_dec(x_35); +x_170 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_170, 0, x_168); +lean_ctor_set(x_170, 1, x_169); +return x_170; +} +} +} +} +else +{ +lean_object* x_285; lean_object* x_286; lean_object* x_287; uint64_t x_288; uint64_t x_289; uint64_t x_290; uint64_t x_291; uint64_t x_292; uint64_t x_293; size_t x_294; size_t x_295; size_t x_296; lean_object* x_297; size_t x_354; size_t x_355; lean_object* x_356; lean_object* x_357; +x_285 = lean_ctor_get(x_18, 1); +lean_inc(x_285); +lean_dec(x_18); +x_286 = lean_ctor_get(x_20, 1); +lean_inc(x_286); +lean_dec(x_20); +x_287 = lean_array_get_size(x_286); +x_288 = 32; +x_289 = lean_uint64_shift_right(x_17, x_288); +x_290 = lean_uint64_xor(x_17, x_289); +x_291 = 16; +x_292 = lean_uint64_shift_right(x_290, x_291); +x_293 = lean_uint64_xor(x_290, x_292); +x_294 = lean_uint64_to_usize(x_293); +x_295 = lean_usize_of_nat(x_287); +lean_dec(x_287); +x_296 = 1; +x_354 = lean_usize_sub(x_295, x_296); +x_355 = lean_usize_land(x_294, x_354); +x_356 = lean_array_uget(x_286, x_355); +lean_dec(x_286); +x_357 = l_Std_DHashMap_Internal_AssocList_get_x3f___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__1(x_17, x_356); +if (lean_obj_tag(x_357) == 0) +{ +switch (lean_obj_tag(x_13)) { +case 0: +{ +lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; +lean_dec(x_3); +x_358 = lean_ctor_get(x_13, 0); +lean_inc(x_358); +x_359 = lean_ctor_get(x_13, 1); +lean_inc(x_359); +x_360 = lean_ctor_get(x_13, 2); +lean_inc(x_360); +x_361 = lean_ctor_get(x_13, 3); +lean_inc(x_361); +lean_dec(x_13); +x_362 = lean_st_ref_get(x_2, x_285); +x_363 = lean_ctor_get(x_362, 0); +lean_inc(x_363); +x_364 = lean_ctor_get(x_362, 1); +lean_inc(x_364); +lean_dec(x_362); +x_365 = lean_ctor_get(x_363, 1); +lean_inc(x_365); +lean_dec(x_363); +x_366 = lean_array_get_size(x_365); +lean_dec(x_365); +x_367 = lean_grind_mk_eq_proof(x_358, x_359, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_364); +if (lean_obj_tag(x_367) == 0) +{ +lean_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; lean_object* x_381; lean_object* x_382; lean_object* x_383; lean_object* x_384; lean_object* x_385; +x_368 = lean_ctor_get(x_367, 0); +lean_inc(x_368); +x_369 = lean_ctor_get(x_367, 1); +lean_inc(x_369); +lean_dec(x_367); +x_370 = lean_st_ref_take(x_2, x_369); +x_371 = lean_ctor_get(x_370, 0); +lean_inc(x_371); +x_372 = lean_ctor_get(x_370, 1); +lean_inc(x_372); +lean_dec(x_370); +x_373 = lean_ctor_get(x_371, 0); +lean_inc(x_373); +x_374 = lean_ctor_get(x_371, 1); +lean_inc(x_374); +if (lean_is_exclusive(x_371)) { + lean_ctor_release(x_371, 0); + lean_ctor_release(x_371, 1); + x_375 = x_371; +} else { + lean_dec_ref(x_371); + x_375 = lean_box(0); +} +x_376 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_376, 0, x_368); +lean_ctor_set(x_376, 1, x_360); +lean_ctor_set(x_376, 2, x_361); +x_377 = lean_array_push(x_374, x_376); +if (lean_is_scalar(x_375)) { + x_378 = lean_alloc_ctor(0, 2, 0); +} else { + x_378 = x_375; +} +lean_ctor_set(x_378, 0, x_373); +lean_ctor_set(x_378, 1, x_377); +x_379 = lean_st_ref_set(x_2, x_378, x_372); +x_380 = lean_ctor_get(x_379, 1); +lean_inc(x_380); +if (lean_is_exclusive(x_379)) { + lean_ctor_release(x_379, 0); + lean_ctor_release(x_379, 1); + x_381 = x_379; +} else { + lean_dec_ref(x_379); + x_381 = lean_box(0); +} +x_382 = lean_unsigned_to_nat(1u); +x_383 = lean_nat_add(x_366, x_382); +x_384 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit(x_366, x_383); +lean_dec(x_366); +if (lean_is_scalar(x_381)) { + x_385 = lean_alloc_ctor(0, 2, 0); +} else { + x_385 = x_381; +} +lean_ctor_set(x_385, 0, x_384); +lean_ctor_set(x_385, 1, x_380); +x_297 = x_385; +goto block_353; +} +else +{ +lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; +lean_dec(x_366); +lean_dec(x_361); +lean_dec(x_360); +x_386 = lean_ctor_get(x_367, 0); +lean_inc(x_386); +x_387 = lean_ctor_get(x_367, 1); +lean_inc(x_387); +if (lean_is_exclusive(x_367)) { + lean_ctor_release(x_367, 0); + lean_ctor_release(x_367, 1); + x_388 = x_367; +} else { + lean_dec_ref(x_367); + x_388 = lean_box(0); +} +if (lean_is_scalar(x_388)) { + x_389 = lean_alloc_ctor(1, 2, 0); +} else { + x_389 = x_388; +} +lean_ctor_set(x_389, 0, x_386); +lean_ctor_set(x_389, 1, x_387); +x_297 = x_389; +goto block_353; +} +} +case 1: +{ +lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; +x_390 = lean_ctor_get(x_13, 0); +lean_inc(x_390); +x_391 = lean_ctor_get(x_13, 1); +lean_inc(x_391); +x_392 = lean_ctor_get(x_13, 2); +lean_inc(x_392); +x_393 = lean_ctor_get(x_13, 3); +lean_inc(x_393); +x_394 = lean_ctor_get(x_13, 4); +lean_inc(x_394); +x_395 = lean_ctor_get(x_13, 5); +lean_inc(x_395); +lean_dec(x_13); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_396 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_390, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_285); +if (lean_obj_tag(x_396) == 0) +{ +lean_object* x_397; lean_object* x_398; lean_object* x_399; +x_397 = lean_ctor_get(x_396, 0); +lean_inc(x_397); +x_398 = lean_ctor_get(x_396, 1); +lean_inc(x_398); +lean_dec(x_396); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_399 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_391, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_398); +if (lean_obj_tag(x_399) == 0) +{ +lean_object* x_400; lean_object* x_401; lean_object* x_402; +x_400 = lean_ctor_get(x_399, 0); +lean_inc(x_400); +x_401 = lean_ctor_get(x_399, 1); +lean_inc(x_401); +lean_dec(x_399); +x_402 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine(x_392, x_394, x_397, x_393, x_395, x_400, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_401); +lean_dec(x_400); +lean_dec(x_393); +lean_dec(x_397); +lean_dec(x_392); +x_297 = x_402; +goto block_353; +} +else +{ +lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; +lean_dec(x_397); +lean_dec(x_395); +lean_dec(x_394); +lean_dec(x_393); +lean_dec(x_392); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_403 = lean_ctor_get(x_399, 0); +lean_inc(x_403); +x_404 = lean_ctor_get(x_399, 1); +lean_inc(x_404); +if (lean_is_exclusive(x_399)) { + lean_ctor_release(x_399, 0); + lean_ctor_release(x_399, 1); + x_405 = x_399; +} else { + lean_dec_ref(x_399); + x_405 = lean_box(0); +} +if (lean_is_scalar(x_405)) { + x_406 = lean_alloc_ctor(1, 2, 0); +} else { + x_406 = x_405; +} +lean_ctor_set(x_406, 0, x_403); +lean_ctor_set(x_406, 1, x_404); +x_297 = x_406; +goto block_353; +} +} +else +{ +lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; +lean_dec(x_395); +lean_dec(x_394); +lean_dec(x_393); +lean_dec(x_392); +lean_dec(x_391); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_407 = lean_ctor_get(x_396, 0); +lean_inc(x_407); +x_408 = lean_ctor_get(x_396, 1); +lean_inc(x_408); +if (lean_is_exclusive(x_396)) { + lean_ctor_release(x_396, 0); + lean_ctor_release(x_396, 1); + x_409 = x_396; +} else { + lean_dec_ref(x_396); + x_409 = lean_box(0); +} +if (lean_is_scalar(x_409)) { + x_410 = lean_alloc_ctor(1, 2, 0); +} else { + x_410 = x_409; +} +lean_ctor_set(x_410, 0, x_407); +lean_ctor_set(x_410, 1, x_408); +x_297 = x_410; +goto block_353; +} +} +case 2: +{ +lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; +x_411 = lean_ctor_get(x_13, 0); +lean_inc(x_411); +x_412 = lean_ctor_get(x_13, 1); +lean_inc(x_412); +x_413 = lean_ctor_get(x_13, 2); +lean_inc(x_413); +x_414 = lean_ctor_get(x_13, 3); +lean_inc(x_414); +x_415 = lean_ctor_get(x_13, 4); +lean_inc(x_415); +lean_dec(x_13); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_416 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_411, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_285); +if (lean_obj_tag(x_416) == 0) +{ +lean_object* x_417; lean_object* x_418; lean_object* x_419; +x_417 = lean_ctor_get(x_416, 0); +lean_inc(x_417); +x_418 = lean_ctor_get(x_416, 1); +lean_inc(x_418); +lean_dec(x_416); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_419 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_412, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_418); +if (lean_obj_tag(x_419) == 0) +{ +lean_object* x_420; lean_object* x_421; lean_object* x_422; lean_object* x_423; +x_420 = lean_ctor_get(x_419, 0); +lean_inc(x_420); +x_421 = lean_ctor_get(x_419, 1); +lean_inc(x_421); +lean_dec(x_419); +x_422 = lean_box(0); +x_423 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine(x_413, x_415, x_417, x_414, x_422, x_420, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_421); +lean_dec(x_420); +lean_dec(x_414); +lean_dec(x_417); +lean_dec(x_413); +x_297 = x_423; +goto block_353; +} +else +{ +lean_object* x_424; lean_object* x_425; lean_object* x_426; lean_object* x_427; +lean_dec(x_417); +lean_dec(x_415); +lean_dec(x_414); +lean_dec(x_413); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_424 = lean_ctor_get(x_419, 0); +lean_inc(x_424); +x_425 = lean_ctor_get(x_419, 1); +lean_inc(x_425); +if (lean_is_exclusive(x_419)) { + lean_ctor_release(x_419, 0); + lean_ctor_release(x_419, 1); + x_426 = x_419; +} else { + lean_dec_ref(x_419); + x_426 = lean_box(0); +} +if (lean_is_scalar(x_426)) { + x_427 = lean_alloc_ctor(1, 2, 0); +} else { + x_427 = x_426; +} +lean_ctor_set(x_427, 0, x_424); +lean_ctor_set(x_427, 1, x_425); +x_297 = x_427; +goto block_353; +} +} +else +{ +lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; +lean_dec(x_415); +lean_dec(x_414); +lean_dec(x_413); +lean_dec(x_412); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_428 = lean_ctor_get(x_416, 0); +lean_inc(x_428); +x_429 = lean_ctor_get(x_416, 1); +lean_inc(x_429); +if (lean_is_exclusive(x_416)) { + lean_ctor_release(x_416, 0); + lean_ctor_release(x_416, 1); + x_430 = x_416; +} else { + lean_dec_ref(x_416); + x_430 = lean_box(0); +} +if (lean_is_scalar(x_430)) { + x_431 = lean_alloc_ctor(1, 2, 0); +} else { + x_431 = x_430; +} +lean_ctor_set(x_431, 0, x_428); +lean_ctor_set(x_431, 1, x_429); +x_297 = x_431; +goto block_353; +} +} +case 3: +{ +lean_object* x_432; lean_object* x_433; lean_object* x_434; +x_432 = lean_ctor_get(x_13, 0); +lean_inc(x_432); +x_433 = lean_ctor_get(x_13, 1); +lean_inc(x_433); +lean_dec(x_13); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_434 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_433, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_285); +if (lean_obj_tag(x_434) == 0) +{ +lean_object* x_435; lean_object* x_436; lean_object* x_437; +x_435 = lean_ctor_get(x_434, 0); +lean_inc(x_435); +x_436 = lean_ctor_get(x_434, 1); +lean_inc(x_436); +lean_dec(x_434); +x_437 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_mul(x_435, x_432, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_436); +lean_dec(x_432); +x_297 = x_437; +goto block_353; +} +else +{ +lean_object* x_438; lean_object* x_439; lean_object* x_440; lean_object* x_441; +lean_dec(x_432); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_438 = lean_ctor_get(x_434, 0); +lean_inc(x_438); +x_439 = lean_ctor_get(x_434, 1); +lean_inc(x_439); +if (lean_is_exclusive(x_434)) { + lean_ctor_release(x_434, 0); + lean_ctor_release(x_434, 1); + x_440 = x_434; +} else { + lean_dec_ref(x_434); + x_440 = lean_box(0); +} +if (lean_is_scalar(x_440)) { + x_441 = lean_alloc_ctor(1, 2, 0); +} else { + x_441 = x_440; +} +lean_ctor_set(x_441, 0, x_438); +lean_ctor_set(x_441, 1, x_439); +x_297 = x_441; +goto block_353; +} +} +default: +{ +lean_object* x_442; lean_object* x_443; lean_object* x_444; +x_442 = lean_ctor_get(x_13, 0); +lean_inc(x_442); +x_443 = lean_ctor_get(x_13, 1); +lean_inc(x_443); +lean_dec(x_13); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_444 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_443, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_285); +if (lean_obj_tag(x_444) == 0) +{ +lean_object* x_445; lean_object* x_446; lean_object* x_447; +x_445 = lean_ctor_get(x_444, 0); +lean_inc(x_445); +x_446 = lean_ctor_get(x_444, 1); +lean_inc(x_446); +lean_dec(x_444); +x_447 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_div(x_445, x_442, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_446); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_442); +x_297 = x_447; +goto block_353; +} +else +{ +lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451; +lean_dec(x_442); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_448 = lean_ctor_get(x_444, 0); +lean_inc(x_448); +x_449 = lean_ctor_get(x_444, 1); +lean_inc(x_449); +if (lean_is_exclusive(x_444)) { + lean_ctor_release(x_444, 0); + lean_ctor_release(x_444, 1); + x_450 = x_444; +} else { + lean_dec_ref(x_444); + x_450 = lean_box(0); +} +if (lean_is_scalar(x_450)) { + x_451 = lean_alloc_ctor(1, 2, 0); +} else { + x_451 = x_450; +} +lean_ctor_set(x_451, 0, x_448); +lean_ctor_set(x_451, 1, x_449); +x_297 = x_451; +goto block_353; +} +} +} +} +else +{ +lean_object* x_452; lean_object* x_453; +lean_dec(x_13); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_452 = lean_ctor_get(x_357, 0); +lean_inc(x_452); +lean_dec(x_357); +x_453 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_453, 0, x_452); +lean_ctor_set(x_453, 1, x_285); +return x_453; +} +block_353: +{ +if (lean_obj_tag(x_297) == 0) +{ +lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; size_t x_310; size_t x_311; size_t x_312; lean_object* x_313; uint8_t x_314; +x_298 = lean_ctor_get(x_297, 0); +lean_inc(x_298); +x_299 = lean_ctor_get(x_297, 1); +lean_inc(x_299); +lean_dec(x_297); +x_300 = lean_st_ref_take(x_2, x_299); +x_301 = lean_ctor_get(x_300, 0); +lean_inc(x_301); +x_302 = lean_ctor_get(x_301, 0); +lean_inc(x_302); +x_303 = lean_ctor_get(x_300, 1); +lean_inc(x_303); +lean_dec(x_300); +x_304 = lean_ctor_get(x_301, 1); +lean_inc(x_304); +if (lean_is_exclusive(x_301)) { + lean_ctor_release(x_301, 0); + lean_ctor_release(x_301, 1); + x_305 = x_301; +} else { + lean_dec_ref(x_301); + x_305 = lean_box(0); +} +x_306 = lean_ctor_get(x_302, 0); +lean_inc(x_306); +x_307 = lean_ctor_get(x_302, 1); +lean_inc(x_307); +if (lean_is_exclusive(x_302)) { + lean_ctor_release(x_302, 0); + lean_ctor_release(x_302, 1); + x_308 = x_302; +} else { + lean_dec_ref(x_302); + x_308 = lean_box(0); +} +x_309 = lean_array_get_size(x_307); +x_310 = lean_usize_of_nat(x_309); +lean_dec(x_309); +x_311 = lean_usize_sub(x_310, x_296); +x_312 = lean_usize_land(x_294, x_311); +x_313 = lean_array_uget(x_307, x_312); +lean_inc(x_313); +x_314 = l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__2(x_17, x_313); +if (x_314 == 0) +{ +lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; uint8_t x_325; +x_315 = lean_unsigned_to_nat(1u); +x_316 = lean_nat_add(x_306, x_315); +lean_dec(x_306); +x_317 = lean_box_uint64(x_17); +lean_inc(x_298); +x_318 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_318, 0, x_317); +lean_ctor_set(x_318, 1, x_298); +lean_ctor_set(x_318, 2, x_313); +x_319 = lean_array_uset(x_307, x_312, x_318); +x_320 = lean_unsigned_to_nat(4u); +x_321 = lean_nat_mul(x_316, x_320); +x_322 = lean_unsigned_to_nat(3u); +x_323 = lean_nat_div(x_321, x_322); +lean_dec(x_321); +x_324 = lean_array_get_size(x_319); +x_325 = lean_nat_dec_le(x_323, x_324); +lean_dec(x_324); +lean_dec(x_323); +if (x_325 == 0) +{ +lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; lean_object* x_330; lean_object* x_331; lean_object* x_332; +x_326 = l_Std_DHashMap_Internal_Raw_u2080_expand___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__3(x_319); +if (lean_is_scalar(x_308)) { + x_327 = lean_alloc_ctor(0, 2, 0); +} else { + x_327 = x_308; +} +lean_ctor_set(x_327, 0, x_316); +lean_ctor_set(x_327, 1, x_326); +if (lean_is_scalar(x_305)) { + x_328 = lean_alloc_ctor(0, 2, 0); +} else { + x_328 = x_305; +} +lean_ctor_set(x_328, 0, x_327); +lean_ctor_set(x_328, 1, x_304); +x_329 = lean_st_ref_set(x_2, x_328, x_303); +x_330 = lean_ctor_get(x_329, 1); +lean_inc(x_330); +if (lean_is_exclusive(x_329)) { + lean_ctor_release(x_329, 0); + lean_ctor_release(x_329, 1); + x_331 = x_329; +} else { + lean_dec_ref(x_329); + x_331 = lean_box(0); +} +if (lean_is_scalar(x_331)) { + x_332 = lean_alloc_ctor(0, 2, 0); +} else { + x_332 = x_331; +} +lean_ctor_set(x_332, 0, x_298); +lean_ctor_set(x_332, 1, x_330); +return x_332; +} +else +{ +lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; +if (lean_is_scalar(x_308)) { + x_333 = lean_alloc_ctor(0, 2, 0); +} else { + x_333 = x_308; +} +lean_ctor_set(x_333, 0, x_316); +lean_ctor_set(x_333, 1, x_319); +if (lean_is_scalar(x_305)) { + x_334 = lean_alloc_ctor(0, 2, 0); +} else { + x_334 = x_305; +} +lean_ctor_set(x_334, 0, x_333); +lean_ctor_set(x_334, 1, x_304); +x_335 = lean_st_ref_set(x_2, x_334, x_303); +x_336 = lean_ctor_get(x_335, 1); +lean_inc(x_336); +if (lean_is_exclusive(x_335)) { + lean_ctor_release(x_335, 0); + lean_ctor_release(x_335, 1); + x_337 = x_335; +} else { + lean_dec_ref(x_335); + x_337 = lean_box(0); +} +if (lean_is_scalar(x_337)) { + x_338 = lean_alloc_ctor(0, 2, 0); +} else { + x_338 = x_337; +} +lean_ctor_set(x_338, 0, x_298); +lean_ctor_set(x_338, 1, x_336); +return x_338; +} +} +else +{ +lean_object* x_339; lean_object* x_340; lean_object* x_341; lean_object* x_342; lean_object* x_343; lean_object* x_344; lean_object* x_345; lean_object* x_346; lean_object* x_347; lean_object* x_348; +x_339 = lean_box(0); +x_340 = lean_array_uset(x_307, x_312, x_339); +lean_inc(x_298); +x_341 = l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_caching___spec__7(x_17, x_298, x_313); +x_342 = lean_array_uset(x_340, x_312, x_341); +if (lean_is_scalar(x_308)) { + x_343 = lean_alloc_ctor(0, 2, 0); +} else { + x_343 = x_308; +} +lean_ctor_set(x_343, 0, x_306); +lean_ctor_set(x_343, 1, x_342); +if (lean_is_scalar(x_305)) { + x_344 = lean_alloc_ctor(0, 2, 0); +} else { + x_344 = x_305; +} +lean_ctor_set(x_344, 0, x_343); +lean_ctor_set(x_344, 1, x_304); +x_345 = lean_st_ref_set(x_2, x_344, x_303); +x_346 = lean_ctor_get(x_345, 1); +lean_inc(x_346); +if (lean_is_exclusive(x_345)) { + lean_ctor_release(x_345, 0); + lean_ctor_release(x_345, 1); + x_347 = x_345; +} else { + lean_dec_ref(x_345); + x_347 = lean_box(0); +} +if (lean_is_scalar(x_347)) { + x_348 = lean_alloc_ctor(0, 2, 0); +} else { + x_348 = x_347; +} +lean_ctor_set(x_348, 0, x_298); +lean_ctor_set(x_348, 1, x_346); +return x_348; +} +} +else +{ +lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; +x_349 = lean_ctor_get(x_297, 0); +lean_inc(x_349); +x_350 = lean_ctor_get(x_297, 1); +lean_inc(x_350); +if (lean_is_exclusive(x_297)) { + lean_ctor_release(x_297, 0); + lean_ctor_release(x_297, 1); + x_351 = x_297; +} else { + lean_dec_ref(x_297); + x_351 = lean_box(0); +} +if (lean_is_scalar(x_351)) { + x_352 = lean_alloc_ctor(1, 2, 0); +} else { + x_352 = x_351; +} +lean_ctor_set(x_352, 0, x_349); +lean_ctor_set(x_352, 1, x_350); +return x_352; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; +x_13 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_2); +return x_13; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(10u); +x_2 = lean_unsigned_to_nat(1u); +x_3 = l_Nat_nextPowerOfTwo_go(x_1, x_2, lean_box(0)); +return x_3; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__1; +x_3 = lean_mk_array(x_2, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(0u); +x_2 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__2; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_box(0); +x_2 = lean_array_mk(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__3; +x_2 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__4; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_12 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__5; +x_13 = lean_st_mk_ref(x_12, x_11); +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_13, 0); +x_16 = lean_ctor_get(x_13, 1); +x_17 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_1, x_15, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_16); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +x_20 = lean_st_ref_get(x_15, x_19); +lean_dec(x_15); +x_21 = !lean_is_exclusive(x_20); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_22 = lean_ctor_get(x_20, 0); +x_23 = lean_ctor_get(x_18, 1); +lean_inc(x_23); +x_24 = lean_ctor_get(x_18, 0); +lean_inc(x_24); +lean_dec(x_18); +x_25 = lean_ctor_get(x_22, 1); +lean_inc(x_25); +lean_dec(x_22); +x_26 = l_Array_zip___rarg(x_24, x_25); +lean_dec(x_25); +lean_dec(x_24); +lean_ctor_set(x_13, 1, x_26); +lean_ctor_set(x_13, 0, x_23); +lean_ctor_set(x_20, 0, x_13); +return x_20; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_27 = lean_ctor_get(x_20, 0); +x_28 = lean_ctor_get(x_20, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_20); +x_29 = lean_ctor_get(x_18, 1); +lean_inc(x_29); +x_30 = lean_ctor_get(x_18, 0); +lean_inc(x_30); +lean_dec(x_18); +x_31 = lean_ctor_get(x_27, 1); +lean_inc(x_31); +lean_dec(x_27); +x_32 = l_Array_zip___rarg(x_30, x_31); +lean_dec(x_31); +lean_dec(x_30); +lean_ctor_set(x_13, 1, x_32); +lean_ctor_set(x_13, 0, x_29); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_13); +lean_ctor_set(x_33, 1, x_28); +return x_33; +} +} +else +{ +uint8_t x_34; +lean_free_object(x_13); +lean_dec(x_15); +x_34 = !lean_is_exclusive(x_17); +if (x_34 == 0) +{ +return x_17; +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_17, 0); +x_36 = lean_ctor_get(x_17, 1); +lean_inc(x_36); +lean_inc(x_35); +lean_dec(x_17); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; +} +} +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_13, 0); +x_39 = lean_ctor_get(x_13, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_13); +x_40 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_toPreNullCert(x_1, x_38, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_39); +if (lean_obj_tag(x_40) == 0) +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_41 = lean_ctor_get(x_40, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_40, 1); +lean_inc(x_42); +lean_dec(x_40); +x_43 = lean_st_ref_get(x_38, x_42); +lean_dec(x_38); +x_44 = lean_ctor_get(x_43, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_43, 1); +lean_inc(x_45); +if (lean_is_exclusive(x_43)) { + lean_ctor_release(x_43, 0); + lean_ctor_release(x_43, 1); + x_46 = x_43; +} else { + lean_dec_ref(x_43); + x_46 = lean_box(0); +} +x_47 = lean_ctor_get(x_41, 1); +lean_inc(x_47); +x_48 = lean_ctor_get(x_41, 0); +lean_inc(x_48); +lean_dec(x_41); +x_49 = lean_ctor_get(x_44, 1); +lean_inc(x_49); +lean_dec(x_44); +x_50 = l_Array_zip___rarg(x_48, x_49); +lean_dec(x_49); +lean_dec(x_48); +x_51 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_51, 0, x_47); +lean_ctor_set(x_51, 1, x_50); +if (lean_is_scalar(x_46)) { + x_52 = lean_alloc_ctor(0, 2, 0); +} else { + x_52 = x_46; +} +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_45); +return x_52; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +lean_dec(x_38); +x_53 = lean_ctor_get(x_40, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_40, 1); +lean_inc(x_54); +if (lean_is_exclusive(x_40)) { + lean_ctor_release(x_40, 0); + lean_ctor_release(x_40, 1); + x_55 = x_40; +} else { + lean_dec_ref(x_40); + x_55 = lean_box(0); +} +if (lean_is_scalar(x_55)) { + x_56 = lean_alloc_ctor(1, 2, 0); +} else { + x_56 = x_55; +} +lean_ctor_set(x_56, 0, x_53); +lean_ctor_set(x_56, 1, x_54); +return x_56; +} +} +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +uint8_t x_17; +x_17 = lean_usize_dec_lt(x_5, x_4); +if (x_17 == 0) +{ lean_object* x_18; -x_18 = l_Std_Range_forIn_x27_loop___at_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_6); +lean_ctor_set(x_18, 1, x_16); +return x_18; +} +else +{ +lean_object* x_19; uint8_t x_20; +x_19 = lean_array_uget(x_3, x_5); +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_21 = lean_ctor_get(x_19, 0); +x_22 = lean_ctor_get(x_19, 1); +x_23 = lean_ctor_get(x_22, 1); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 2); +lean_inc(x_24); +lean_dec(x_22); +lean_ctor_set_tag(x_19, 4); +lean_ctor_set(x_19, 1, x_24); +lean_ctor_set(x_19, 0, x_23); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_25 = l_Lean_Grind_CommRing_Expr_toPolyM(x_19, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_25) == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_27); +lean_dec(x_25); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_28 = l_Lean_Grind_CommRing_Poly_mulM(x_21, x_26, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_27); +if (lean_obj_tag(x_28) == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_31 = l_Lean_Grind_CommRing_Poly_combineM(x_6, x_29, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_30); +if (lean_obj_tag(x_31) == 0) +{ +lean_object* x_32; lean_object* x_33; size_t x_34; size_t x_35; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = 1; +x_35 = lean_usize_add(x_5, x_34); +x_5 = x_35; +x_6 = x_32; +x_16 = x_33; +goto _start; +} +else +{ +uint8_t x_37; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +x_37 = !lean_is_exclusive(x_31); +if (x_37 == 0) +{ +return x_31; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_31, 0); +x_39 = lean_ctor_get(x_31, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_31); +x_40 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_40, 0, x_38); +lean_ctor_set(x_40, 1, x_39); +return x_40; +} +} +} +else +{ +uint8_t x_41; +lean_dec(x_15); +lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); @@ -633,21 +4802,2780 @@ lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_2); -return x_18; +x_41 = !lean_is_exclusive(x_28); +if (x_41 == 0) +{ +return x_28; +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_28, 0); +x_43 = lean_ctor_get(x_28, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_28); +x_44 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_44, 0, x_42); +lean_ctor_set(x_44, 1, x_43); +return x_44; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine___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) { +} +else +{ +uint8_t x_45; +lean_dec(x_21); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_45 = !lean_is_exclusive(x_25); +if (x_45 == 0) +{ +return x_25; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +x_46 = lean_ctor_get(x_25, 0); +x_47 = lean_ctor_get(x_25, 1); +lean_inc(x_47); +lean_inc(x_46); +lean_dec(x_25); +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_47); +return x_48; +} +} +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_49 = lean_ctor_get(x_19, 0); +x_50 = lean_ctor_get(x_19, 1); +lean_inc(x_50); +lean_inc(x_49); +lean_dec(x_19); +x_51 = lean_ctor_get(x_50, 1); +lean_inc(x_51); +x_52 = lean_ctor_get(x_50, 2); +lean_inc(x_52); +lean_dec(x_50); +x_53 = lean_alloc_ctor(4, 2, 0); +lean_ctor_set(x_53, 0, x_51); +lean_ctor_set(x_53, 1, x_52); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_54 = l_Lean_Grind_CommRing_Expr_toPolyM(x_53, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_54) == 0) +{ +lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_55 = lean_ctor_get(x_54, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_54, 1); +lean_inc(x_56); +lean_dec(x_54); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_57 = l_Lean_Grind_CommRing_Poly_mulM(x_49, x_55, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_56); +if (lean_obj_tag(x_57) == 0) +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_57, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_57, 1); +lean_inc(x_59); +lean_dec(x_57); +lean_inc(x_15); +lean_inc(x_14); +lean_inc(x_13); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_60 = l_Lean_Grind_CommRing_Poly_combineM(x_6, x_58, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_59); +if (lean_obj_tag(x_60) == 0) +{ +lean_object* x_61; lean_object* x_62; size_t x_63; size_t x_64; +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_ctor_get(x_60, 1); +lean_inc(x_62); +lean_dec(x_60); +x_63 = 1; +x_64 = lean_usize_add(x_5, x_63); +x_5 = x_64; +x_6 = x_61; +x_16 = x_62; +goto _start; +} +else +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +x_66 = lean_ctor_get(x_60, 0); +lean_inc(x_66); +x_67 = lean_ctor_get(x_60, 1); +lean_inc(x_67); +if (lean_is_exclusive(x_60)) { + lean_ctor_release(x_60, 0); + lean_ctor_release(x_60, 1); + x_68 = x_60; +} else { + lean_dec_ref(x_60); + x_68 = lean_box(0); +} +if (lean_is_scalar(x_68)) { + x_69 = lean_alloc_ctor(1, 2, 0); +} else { + x_69 = x_68; +} +lean_ctor_set(x_69, 0, x_66); +lean_ctor_set(x_69, 1, x_67); +return x_69; +} +} +else +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_70 = lean_ctor_get(x_57, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_57, 1); +lean_inc(x_71); +if (lean_is_exclusive(x_57)) { + lean_ctor_release(x_57, 0); + lean_ctor_release(x_57, 1); + x_72 = x_57; +} else { + lean_dec_ref(x_57); + x_72 = lean_box(0); +} +if (lean_is_scalar(x_72)) { + x_73 = lean_alloc_ctor(1, 2, 0); +} else { + x_73 = x_72; +} +lean_ctor_set(x_73, 0, x_70); +lean_ctor_set(x_73, 1, x_71); +return x_73; +} +} +else +{ +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; +lean_dec(x_49); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_74 = lean_ctor_get(x_54, 0); +lean_inc(x_74); +x_75 = lean_ctor_get(x_54, 1); +lean_inc(x_75); +if (lean_is_exclusive(x_54)) { + lean_ctor_release(x_54, 0); + lean_ctor_release(x_54, 1); + x_76 = x_54; +} else { + lean_dec_ref(x_54); + x_76 = lean_box(0); +} +if (lean_is_scalar(x_76)) { + x_77 = lean_alloc_ctor(1, 2, 0); +} else { + x_77 = x_76; +} +lean_ctor_set(x_77, 0, x_74); +lean_ctor_set(x_77, 1, x_75); +return x_77; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_8; -x_8 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_combine(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_object* x_12; lean_object* x_13; size_t x_14; size_t x_15; lean_object* x_16; lean_object* x_17; +x_12 = lean_box(0); +x_13 = lean_ctor_get(x_1, 1); +x_14 = lean_array_size(x_13); +x_15 = 0; +x_16 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__1; +x_17 = l_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly___spec__1(x_12, x_13, x_13, x_14, x_15, x_16, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_17) == 0) +{ +uint8_t x_18; +x_18 = !lean_is_exclusive(x_17); +if (x_18 == 0) +{ +return x_17; +} +else +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_17, 0); +x_20 = lean_ctor_get(x_17, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_17); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; +} +} +else +{ +uint8_t x_22; +x_22 = !lean_is_exclusive(x_17); +if (x_22 == 0) +{ +return x_17; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_17, 0); +x_24 = lean_ctor_get(x_17, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_17); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { +_start: +{ +size_t x_17; size_t x_18; lean_object* x_19; +x_17 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_18 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_19 = l_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly___spec__1(x_1, x_2, x_3, x_17, x_18, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_19; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +x_12 = l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_1); +return x_12; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_check(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_13 = l_Lean_Meta_Grind_Arith_CommRing_nonzeroChar_x3f(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = lean_ctor_get(x_1, 0); +lean_inc(x_16); +lean_dec(x_1); +x_17 = lean_ctor_get(x_2, 0); +x_18 = l_Lean_Grind_CommRing_Poly_mulConst_x27(x_16, x_17, x_14); +x_19 = l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_15); +if (lean_obj_tag(x_19) == 0) +{ +uint8_t x_20; +x_20 = !lean_is_exclusive(x_19); +if (x_20 == 0) +{ +lean_object* x_21; uint8_t x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_19, 0); +x_22 = l___private_Init_Grind_CommRing_Poly_0__Lean_Grind_CommRing_beqPoly____x40_Init_Grind_CommRing_Poly___hyg_3306_(x_18, x_21); +lean_dec(x_21); +lean_dec(x_18); +x_23 = lean_box(x_22); +lean_ctor_set(x_19, 0, x_23); +return x_19; +} +else +{ +lean_object* x_24; lean_object* x_25; uint8_t x_26; lean_object* x_27; lean_object* x_28; +x_24 = lean_ctor_get(x_19, 0); +x_25 = lean_ctor_get(x_19, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_19); +x_26 = l___private_Init_Grind_CommRing_Poly_0__Lean_Grind_CommRing_beqPoly____x40_Init_Grind_CommRing_Poly___hyg_3306_(x_18, x_24); +lean_dec(x_24); +lean_dec(x_18); +x_27 = lean_box(x_26); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_25); +return x_28; +} +} +else +{ +uint8_t x_29; +lean_dec(x_18); +x_29 = !lean_is_exclusive(x_19); +if (x_29 == 0) +{ +return x_19; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_19, 0); +x_31 = lean_ctor_get(x_19, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_19); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +else +{ +uint8_t x_33; +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); +lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -return x_8; +x_33 = !lean_is_exclusive(x_13); +if (x_33 == 0) +{ +return x_13; +} +else +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_13, 0); +x_35 = lean_ctor_get(x_13, 1); +lean_inc(x_35); +lean_inc(x_34); +lean_dec(x_13); +x_36 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +return x_36; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_check___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; +x_13 = l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_check(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_2); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; +x_12 = lean_ctor_get(x_9, 12); +x_13 = lean_ctor_get(x_9, 2); +x_14 = l_Lean_checkTraceOption(x_12, x_13, x_1); +x_15 = lean_box(x_14); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_11); +return x_16; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +uint8_t x_14; +x_14 = lean_usize_dec_lt(x_2, x_1); +if (x_14 == 0) +{ +lean_object* x_15; +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_3); +lean_ctor_set(x_15, 1, x_13); +return x_15; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_16 = lean_array_uget(x_3, x_2); +x_17 = lean_unsigned_to_nat(0u); +x_18 = lean_array_uset(x_3, x_2, x_17); +x_19 = !lean_is_exclusive(x_16); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_16, 0); +x_21 = lean_ctor_get(x_16, 1); +x_22 = l_Lean_Grind_CommRing_Poly_denoteExpr(x_20, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_ctor_get(x_21, 1); +lean_inc(x_25); +x_26 = l_Lean_Grind_CommRing_Expr_denoteExpr_go(x_25, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_24); +if (lean_obj_tag(x_26) == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +x_29 = lean_ctor_get(x_21, 2); +lean_inc(x_29); +lean_dec(x_21); +x_30 = l_Lean_Grind_CommRing_Expr_denoteExpr_go(x_29, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_28); +if (lean_obj_tag(x_30) == 0) +{ +lean_object* x_31; lean_object* x_32; lean_object* x_33; size_t x_34; size_t x_35; lean_object* x_36; +x_31 = lean_ctor_get(x_30, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_30, 1); +lean_inc(x_32); +lean_dec(x_30); +lean_ctor_set(x_16, 1, x_31); +lean_ctor_set(x_16, 0, x_27); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_23); +lean_ctor_set(x_33, 1, x_16); +x_34 = 1; +x_35 = lean_usize_add(x_2, x_34); +x_36 = lean_array_uset(x_18, x_2, x_33); +x_2 = x_35; +x_3 = x_36; +x_13 = x_32; +goto _start; +} +else +{ +uint8_t x_38; +lean_dec(x_27); +lean_dec(x_23); +lean_free_object(x_16); +lean_dec(x_18); +x_38 = !lean_is_exclusive(x_30); +if (x_38 == 0) +{ +return x_30; +} +else +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_30, 0); +x_40 = lean_ctor_get(x_30, 1); +lean_inc(x_40); +lean_inc(x_39); +lean_dec(x_30); +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +return x_41; +} +} +} +else +{ +uint8_t x_42; +lean_dec(x_23); +lean_free_object(x_16); +lean_dec(x_21); +lean_dec(x_18); +x_42 = !lean_is_exclusive(x_26); +if (x_42 == 0) +{ +return x_26; +} +else +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_26, 0); +x_44 = lean_ctor_get(x_26, 1); +lean_inc(x_44); +lean_inc(x_43); +lean_dec(x_26); +x_45 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +return x_45; +} +} +} +else +{ +uint8_t x_46; +lean_free_object(x_16); +lean_dec(x_21); +lean_dec(x_18); +x_46 = !lean_is_exclusive(x_22); +if (x_46 == 0) +{ +return x_22; +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_47 = lean_ctor_get(x_22, 0); +x_48 = lean_ctor_get(x_22, 1); +lean_inc(x_48); +lean_inc(x_47); +lean_dec(x_22); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_47); +lean_ctor_set(x_49, 1, x_48); +return x_49; +} +} +} +else +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_50 = lean_ctor_get(x_16, 0); +x_51 = lean_ctor_get(x_16, 1); +lean_inc(x_51); +lean_inc(x_50); +lean_dec(x_16); +x_52 = l_Lean_Grind_CommRing_Poly_denoteExpr(x_50, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_52) == 0) +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_53 = lean_ctor_get(x_52, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_52, 1); +lean_inc(x_54); +lean_dec(x_52); +x_55 = lean_ctor_get(x_51, 1); +lean_inc(x_55); +x_56 = l_Lean_Grind_CommRing_Expr_denoteExpr_go(x_55, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_54); +if (lean_obj_tag(x_56) == 0) +{ +lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_57 = lean_ctor_get(x_56, 0); +lean_inc(x_57); +x_58 = lean_ctor_get(x_56, 1); +lean_inc(x_58); +lean_dec(x_56); +x_59 = lean_ctor_get(x_51, 2); +lean_inc(x_59); +lean_dec(x_51); +x_60 = l_Lean_Grind_CommRing_Expr_denoteExpr_go(x_59, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_58); +if (lean_obj_tag(x_60) == 0) +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; size_t x_65; size_t x_66; lean_object* x_67; +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_ctor_get(x_60, 1); +lean_inc(x_62); +lean_dec(x_60); +x_63 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_63, 0, x_57); +lean_ctor_set(x_63, 1, x_61); +x_64 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_64, 0, x_53); +lean_ctor_set(x_64, 1, x_63); +x_65 = 1; +x_66 = lean_usize_add(x_2, x_65); +x_67 = lean_array_uset(x_18, x_2, x_64); +x_2 = x_66; +x_3 = x_67; +x_13 = x_62; +goto _start; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; +lean_dec(x_57); +lean_dec(x_53); +lean_dec(x_18); +x_69 = lean_ctor_get(x_60, 0); +lean_inc(x_69); +x_70 = lean_ctor_get(x_60, 1); +lean_inc(x_70); +if (lean_is_exclusive(x_60)) { + lean_ctor_release(x_60, 0); + lean_ctor_release(x_60, 1); + x_71 = x_60; +} else { + lean_dec_ref(x_60); + x_71 = lean_box(0); +} +if (lean_is_scalar(x_71)) { + x_72 = lean_alloc_ctor(1, 2, 0); +} else { + x_72 = x_71; +} +lean_ctor_set(x_72, 0, x_69); +lean_ctor_set(x_72, 1, x_70); +return x_72; +} +} +else +{ +lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; +lean_dec(x_53); +lean_dec(x_51); +lean_dec(x_18); +x_73 = lean_ctor_get(x_56, 0); +lean_inc(x_73); +x_74 = lean_ctor_get(x_56, 1); +lean_inc(x_74); +if (lean_is_exclusive(x_56)) { + lean_ctor_release(x_56, 0); + lean_ctor_release(x_56, 1); + x_75 = x_56; +} else { + lean_dec_ref(x_56); + x_75 = lean_box(0); +} +if (lean_is_scalar(x_75)) { + x_76 = lean_alloc_ctor(1, 2, 0); +} else { + x_76 = x_75; +} +lean_ctor_set(x_76, 0, x_73); +lean_ctor_set(x_76, 1, x_74); +return x_76; +} +} +else +{ +lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; +lean_dec(x_51); +lean_dec(x_18); +x_77 = lean_ctor_get(x_52, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_52, 1); +lean_inc(x_78); +if (lean_is_exclusive(x_52)) { + lean_ctor_release(x_52, 0); + lean_ctor_release(x_52, 1); + x_79 = x_52; +} else { + lean_dec_ref(x_52); + x_79 = lean_box(0); +} +if (lean_is_scalar(x_79)) { + x_80 = lean_alloc_ctor(1, 2, 0); +} else { + x_80 = x_79; +} +lean_ctor_set(x_80, 0, x_77); +lean_ctor_set(x_80, 1, x_78); +return x_80; +} +} +} +} +} +static lean_object* _init_l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked(",", 1, 1); +return x_1; +} +} +static lean_object* _init_l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__1; +x_2 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__2; +x_2 = l_Lean_MessageData_ofFormat(x_1); +return x_2; +} +} +static lean_object* _init_l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_box(1); +x_2 = l_Lean_MessageData_ofFormat(x_1); +return x_2; +} +} +static lean_object* _init_l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("(", 1, 1); +return x_1; +} +} +static lean_object* _init_l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked(")", 1, 1); +return x_1; +} +} +LEAN_EXPORT lean_object* l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_3; +x_3 = l_List_reverse___rarg(x_2); +return x_3; +} +else +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_1); +if (x_4 == 0) +{ +lean_object* x_5; uint8_t x_6; +x_5 = lean_ctor_get(x_1, 0); +x_6 = !lean_is_exclusive(x_5); +if (x_6 == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; +x_7 = lean_ctor_get(x_1, 1); +x_8 = lean_ctor_get(x_5, 0); +x_9 = lean_ctor_get(x_5, 1); +x_10 = l_Lean_MessageData_ofExpr(x_8); +x_11 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__3; +lean_ctor_set_tag(x_5, 7); +lean_ctor_set(x_5, 1, x_11); +lean_ctor_set(x_5, 0, x_10); +x_12 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__4; +x_13 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_13, 0, x_5); +lean_ctor_set(x_13, 1, x_12); +x_14 = !lean_is_exclusive(x_9); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_15 = lean_ctor_get(x_9, 0); +x_16 = lean_ctor_get(x_9, 1); +x_17 = l_Lean_MessageData_ofExpr(x_15); +lean_ctor_set_tag(x_9, 7); +lean_ctor_set(x_9, 1, x_11); +lean_ctor_set(x_9, 0, x_17); +x_18 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_18, 0, x_9); +lean_ctor_set(x_18, 1, x_12); +x_19 = l_Lean_MessageData_ofExpr(x_16); +x_20 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +x_21 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__5; +x_22 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__6; +x_23 = l_Lean_MessageData_bracket(x_21, x_20, x_22); +x_24 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_24, 0, x_13); +lean_ctor_set(x_24, 1, x_23); +x_25 = l_Lean_MessageData_bracket(x_21, x_24, x_22); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_25); +{ +lean_object* _tmp_0 = x_7; +lean_object* _tmp_1 = x_1; +x_1 = _tmp_0; +x_2 = _tmp_1; +} +goto _start; +} +else +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_27 = lean_ctor_get(x_9, 0); +x_28 = lean_ctor_get(x_9, 1); +lean_inc(x_28); +lean_inc(x_27); +lean_dec(x_9); +x_29 = l_Lean_MessageData_ofExpr(x_27); +x_30 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_11); +x_31 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_12); +x_32 = l_Lean_MessageData_ofExpr(x_28); +x_33 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_33, 0, x_31); +lean_ctor_set(x_33, 1, x_32); +x_34 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__5; +x_35 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__6; +x_36 = l_Lean_MessageData_bracket(x_34, x_33, x_35); +x_37 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_37, 0, x_13); +lean_ctor_set(x_37, 1, x_36); +x_38 = l_Lean_MessageData_bracket(x_34, x_37, x_35); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_38); +{ +lean_object* _tmp_0 = x_7; +lean_object* _tmp_1 = x_1; +x_1 = _tmp_0; +x_2 = _tmp_1; +} +goto _start; +} +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_40 = lean_ctor_get(x_1, 1); +x_41 = lean_ctor_get(x_5, 0); +x_42 = lean_ctor_get(x_5, 1); +lean_inc(x_42); +lean_inc(x_41); +lean_dec(x_5); +x_43 = l_Lean_MessageData_ofExpr(x_41); +x_44 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__3; +x_45 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +x_46 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__4; +x_47 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_47, 0, x_45); +lean_ctor_set(x_47, 1, x_46); +x_48 = lean_ctor_get(x_42, 0); +lean_inc(x_48); +x_49 = lean_ctor_get(x_42, 1); +lean_inc(x_49); +if (lean_is_exclusive(x_42)) { + lean_ctor_release(x_42, 0); + lean_ctor_release(x_42, 1); + x_50 = x_42; +} else { + lean_dec_ref(x_42); + x_50 = lean_box(0); +} +x_51 = l_Lean_MessageData_ofExpr(x_48); +if (lean_is_scalar(x_50)) { + x_52 = lean_alloc_ctor(7, 2, 0); +} else { + x_52 = x_50; + lean_ctor_set_tag(x_52, 7); +} +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_44); +x_53 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_53, 0, x_52); +lean_ctor_set(x_53, 1, x_46); +x_54 = l_Lean_MessageData_ofExpr(x_49); +x_55 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +x_56 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__5; +x_57 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__6; +x_58 = l_Lean_MessageData_bracket(x_56, x_55, x_57); +x_59 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_59, 0, x_47); +lean_ctor_set(x_59, 1, x_58); +x_60 = l_Lean_MessageData_bracket(x_56, x_59, x_57); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_60); +{ +lean_object* _tmp_0 = x_40; +lean_object* _tmp_1 = x_1; +x_1 = _tmp_0; +x_2 = _tmp_1; +} +goto _start; +} +} +else +{ +lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; +x_62 = lean_ctor_get(x_1, 0); +x_63 = lean_ctor_get(x_1, 1); +lean_inc(x_63); +lean_inc(x_62); +lean_dec(x_1); +x_64 = lean_ctor_get(x_62, 0); +lean_inc(x_64); +x_65 = lean_ctor_get(x_62, 1); +lean_inc(x_65); +if (lean_is_exclusive(x_62)) { + lean_ctor_release(x_62, 0); + lean_ctor_release(x_62, 1); + x_66 = x_62; +} else { + lean_dec_ref(x_62); + x_66 = lean_box(0); +} +x_67 = l_Lean_MessageData_ofExpr(x_64); +x_68 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__3; +if (lean_is_scalar(x_66)) { + x_69 = lean_alloc_ctor(7, 2, 0); +} else { + x_69 = x_66; + lean_ctor_set_tag(x_69, 7); +} +lean_ctor_set(x_69, 0, x_67); +lean_ctor_set(x_69, 1, x_68); +x_70 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__4; +x_71 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +x_72 = lean_ctor_get(x_65, 0); +lean_inc(x_72); +x_73 = lean_ctor_get(x_65, 1); +lean_inc(x_73); +if (lean_is_exclusive(x_65)) { + lean_ctor_release(x_65, 0); + lean_ctor_release(x_65, 1); + x_74 = x_65; +} else { + lean_dec_ref(x_65); + x_74 = lean_box(0); +} +x_75 = l_Lean_MessageData_ofExpr(x_72); +if (lean_is_scalar(x_74)) { + x_76 = lean_alloc_ctor(7, 2, 0); +} else { + x_76 = x_74; + lean_ctor_set_tag(x_76, 7); +} +lean_ctor_set(x_76, 0, x_75); +lean_ctor_set(x_76, 1, x_68); +x_77 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_77, 0, x_76); +lean_ctor_set(x_77, 1, x_70); +x_78 = l_Lean_MessageData_ofExpr(x_73); +x_79 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_79, 0, x_77); +lean_ctor_set(x_79, 1, x_78); +x_80 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__5; +x_81 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__6; +x_82 = l_Lean_MessageData_bracket(x_80, x_79, x_81); +x_83 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_83, 0, x_71); +lean_ctor_set(x_83, 1, x_82); +x_84 = l_Lean_MessageData_bracket(x_80, x_83, x_81); +x_85 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_85, 0, x_84); +lean_ctor_set(x_85, 1, x_2); +x_1 = x_63; +x_2 = x_85; +goto _start; +} +} +} +} +static double _init_l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__1() { +_start: +{ +lean_object* x_1; uint8_t x_2; double x_3; +x_1 = lean_unsigned_to_nat(0u); +x_2 = 0; +x_3 = l_Float_ofScientific(x_1, x_2, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("", 0, 0); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_13 = lean_ctor_get(x_10, 5); +x_14 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_2, x_8, x_9, x_10, x_11, x_12); +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = lean_st_ref_take(x_11, x_16); +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_18, 3); +lean_inc(x_19); +x_20 = !lean_is_exclusive(x_17); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; uint8_t x_23; +x_21 = lean_ctor_get(x_17, 1); +x_22 = lean_ctor_get(x_17, 0); +lean_dec(x_22); +x_23 = !lean_is_exclusive(x_18); +if (x_23 == 0) +{ +lean_object* x_24; uint8_t x_25; +x_24 = lean_ctor_get(x_18, 3); +lean_dec(x_24); +x_25 = !lean_is_exclusive(x_19); +if (x_25 == 0) +{ +lean_object* x_26; double x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; +x_26 = lean_ctor_get(x_19, 0); +x_27 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__1; +x_28 = 0; +x_29 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__2; +x_30 = lean_alloc_ctor(0, 2, 17); +lean_ctor_set(x_30, 0, x_1); +lean_ctor_set(x_30, 1, x_29); +lean_ctor_set_float(x_30, sizeof(void*)*2, x_27); +lean_ctor_set_float(x_30, sizeof(void*)*2 + 8, x_27); +lean_ctor_set_uint8(x_30, sizeof(void*)*2 + 16, x_28); +x_31 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__4; +x_32 = lean_alloc_ctor(9, 3, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_15); +lean_ctor_set(x_32, 2, x_31); +lean_inc(x_13); +lean_ctor_set(x_17, 1, x_32); +lean_ctor_set(x_17, 0, x_13); +x_33 = l_Lean_PersistentArray_push___rarg(x_26, x_17); +lean_ctor_set(x_19, 0, x_33); +x_34 = lean_st_ref_set(x_11, x_18, x_21); +x_35 = !lean_is_exclusive(x_34); +if (x_35 == 0) +{ +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_34, 0); +lean_dec(x_36); +x_37 = lean_box(0); +lean_ctor_set(x_34, 0, x_37); +return x_34; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_34, 1); +lean_inc(x_38); +lean_dec(x_34); +x_39 = lean_box(0); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +return x_40; +} +} +else +{ +uint64_t x_41; lean_object* x_42; double x_43; uint8_t x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_41 = lean_ctor_get_uint64(x_19, sizeof(void*)*1); +x_42 = lean_ctor_get(x_19, 0); +lean_inc(x_42); +lean_dec(x_19); +x_43 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__1; +x_44 = 0; +x_45 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__2; +x_46 = lean_alloc_ctor(0, 2, 17); +lean_ctor_set(x_46, 0, x_1); +lean_ctor_set(x_46, 1, x_45); +lean_ctor_set_float(x_46, sizeof(void*)*2, x_43); +lean_ctor_set_float(x_46, sizeof(void*)*2 + 8, x_43); +lean_ctor_set_uint8(x_46, sizeof(void*)*2 + 16, x_44); +x_47 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__4; +x_48 = lean_alloc_ctor(9, 3, 0); +lean_ctor_set(x_48, 0, x_46); +lean_ctor_set(x_48, 1, x_15); +lean_ctor_set(x_48, 2, x_47); +lean_inc(x_13); +lean_ctor_set(x_17, 1, x_48); +lean_ctor_set(x_17, 0, x_13); +x_49 = l_Lean_PersistentArray_push___rarg(x_42, x_17); +x_50 = lean_alloc_ctor(0, 1, 8); +lean_ctor_set(x_50, 0, x_49); +lean_ctor_set_uint64(x_50, sizeof(void*)*1, x_41); +lean_ctor_set(x_18, 3, x_50); +x_51 = lean_st_ref_set(x_11, x_18, x_21); +x_52 = lean_ctor_get(x_51, 1); +lean_inc(x_52); +if (lean_is_exclusive(x_51)) { + lean_ctor_release(x_51, 0); + lean_ctor_release(x_51, 1); + x_53 = x_51; +} else { + lean_dec_ref(x_51); + x_53 = lean_box(0); +} +x_54 = lean_box(0); +if (lean_is_scalar(x_53)) { + x_55 = lean_alloc_ctor(0, 2, 0); +} else { + x_55 = x_53; +} +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_52); +return x_55; +} +} +else +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint64_t x_63; lean_object* x_64; lean_object* x_65; double x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_56 = lean_ctor_get(x_18, 0); +x_57 = lean_ctor_get(x_18, 1); +x_58 = lean_ctor_get(x_18, 2); +x_59 = lean_ctor_get(x_18, 4); +x_60 = lean_ctor_get(x_18, 5); +x_61 = lean_ctor_get(x_18, 6); +x_62 = lean_ctor_get(x_18, 7); +lean_inc(x_62); +lean_inc(x_61); +lean_inc(x_60); +lean_inc(x_59); +lean_inc(x_58); +lean_inc(x_57); +lean_inc(x_56); +lean_dec(x_18); +x_63 = lean_ctor_get_uint64(x_19, sizeof(void*)*1); +x_64 = lean_ctor_get(x_19, 0); +lean_inc(x_64); +if (lean_is_exclusive(x_19)) { + lean_ctor_release(x_19, 0); + x_65 = x_19; +} else { + lean_dec_ref(x_19); + x_65 = lean_box(0); +} +x_66 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__1; +x_67 = 0; +x_68 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__2; +x_69 = lean_alloc_ctor(0, 2, 17); +lean_ctor_set(x_69, 0, x_1); +lean_ctor_set(x_69, 1, x_68); +lean_ctor_set_float(x_69, sizeof(void*)*2, x_66); +lean_ctor_set_float(x_69, sizeof(void*)*2 + 8, x_66); +lean_ctor_set_uint8(x_69, sizeof(void*)*2 + 16, x_67); +x_70 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__4; +x_71 = lean_alloc_ctor(9, 3, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_15); +lean_ctor_set(x_71, 2, x_70); +lean_inc(x_13); +lean_ctor_set(x_17, 1, x_71); +lean_ctor_set(x_17, 0, x_13); +x_72 = l_Lean_PersistentArray_push___rarg(x_64, x_17); +if (lean_is_scalar(x_65)) { + x_73 = lean_alloc_ctor(0, 1, 8); +} else { + x_73 = x_65; +} +lean_ctor_set(x_73, 0, x_72); +lean_ctor_set_uint64(x_73, sizeof(void*)*1, x_63); +x_74 = lean_alloc_ctor(0, 8, 0); +lean_ctor_set(x_74, 0, x_56); +lean_ctor_set(x_74, 1, x_57); +lean_ctor_set(x_74, 2, x_58); +lean_ctor_set(x_74, 3, x_73); +lean_ctor_set(x_74, 4, x_59); +lean_ctor_set(x_74, 5, x_60); +lean_ctor_set(x_74, 6, x_61); +lean_ctor_set(x_74, 7, x_62); +x_75 = lean_st_ref_set(x_11, x_74, x_21); +x_76 = lean_ctor_get(x_75, 1); +lean_inc(x_76); +if (lean_is_exclusive(x_75)) { + lean_ctor_release(x_75, 0); + lean_ctor_release(x_75, 1); + x_77 = x_75; +} else { + lean_dec_ref(x_75); + x_77 = lean_box(0); +} +x_78 = lean_box(0); +if (lean_is_scalar(x_77)) { + x_79 = lean_alloc_ctor(0, 2, 0); +} else { + x_79 = x_77; +} +lean_ctor_set(x_79, 0, x_78); +lean_ctor_set(x_79, 1, x_76); +return x_79; +} +} +else +{ +lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; uint64_t x_89; lean_object* x_90; lean_object* x_91; double x_92; uint8_t x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; +x_80 = lean_ctor_get(x_17, 1); +lean_inc(x_80); +lean_dec(x_17); +x_81 = lean_ctor_get(x_18, 0); +lean_inc(x_81); +x_82 = lean_ctor_get(x_18, 1); +lean_inc(x_82); +x_83 = lean_ctor_get(x_18, 2); +lean_inc(x_83); +x_84 = lean_ctor_get(x_18, 4); +lean_inc(x_84); +x_85 = lean_ctor_get(x_18, 5); +lean_inc(x_85); +x_86 = lean_ctor_get(x_18, 6); +lean_inc(x_86); +x_87 = lean_ctor_get(x_18, 7); +lean_inc(x_87); +if (lean_is_exclusive(x_18)) { + lean_ctor_release(x_18, 0); + lean_ctor_release(x_18, 1); + lean_ctor_release(x_18, 2); + lean_ctor_release(x_18, 3); + lean_ctor_release(x_18, 4); + lean_ctor_release(x_18, 5); + lean_ctor_release(x_18, 6); + lean_ctor_release(x_18, 7); + x_88 = x_18; +} else { + lean_dec_ref(x_18); + x_88 = lean_box(0); +} +x_89 = lean_ctor_get_uint64(x_19, sizeof(void*)*1); +x_90 = lean_ctor_get(x_19, 0); +lean_inc(x_90); +if (lean_is_exclusive(x_19)) { + lean_ctor_release(x_19, 0); + x_91 = x_19; +} else { + lean_dec_ref(x_19); + x_91 = lean_box(0); +} +x_92 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__1; +x_93 = 0; +x_94 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__2; +x_95 = lean_alloc_ctor(0, 2, 17); +lean_ctor_set(x_95, 0, x_1); +lean_ctor_set(x_95, 1, x_94); +lean_ctor_set_float(x_95, sizeof(void*)*2, x_92); +lean_ctor_set_float(x_95, sizeof(void*)*2 + 8, x_92); +lean_ctor_set_uint8(x_95, sizeof(void*)*2 + 16, x_93); +x_96 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__4; +x_97 = lean_alloc_ctor(9, 3, 0); +lean_ctor_set(x_97, 0, x_95); +lean_ctor_set(x_97, 1, x_15); +lean_ctor_set(x_97, 2, x_96); +lean_inc(x_13); +x_98 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_98, 0, x_13); +lean_ctor_set(x_98, 1, x_97); +x_99 = l_Lean_PersistentArray_push___rarg(x_90, x_98); +if (lean_is_scalar(x_91)) { + x_100 = lean_alloc_ctor(0, 1, 8); +} else { + x_100 = x_91; +} +lean_ctor_set(x_100, 0, x_99); +lean_ctor_set_uint64(x_100, sizeof(void*)*1, x_89); +if (lean_is_scalar(x_88)) { + x_101 = lean_alloc_ctor(0, 8, 0); +} else { + x_101 = x_88; +} +lean_ctor_set(x_101, 0, x_81); +lean_ctor_set(x_101, 1, x_82); +lean_ctor_set(x_101, 2, x_83); +lean_ctor_set(x_101, 3, x_100); +lean_ctor_set(x_101, 4, x_84); +lean_ctor_set(x_101, 5, x_85); +lean_ctor_set(x_101, 6, x_86); +lean_ctor_set(x_101, 7, x_87); +x_102 = lean_st_ref_set(x_11, x_101, x_80); +x_103 = lean_ctor_get(x_102, 1); +lean_inc(x_103); +if (lean_is_exclusive(x_102)) { + lean_ctor_release(x_102, 0); + lean_ctor_release(x_102, 1); + x_104 = x_102; +} else { + lean_dec_ref(x_102); + x_104 = lean_box(0); +} +x_105 = lean_box(0); +if (lean_is_scalar(x_104)) { + x_106 = lean_alloc_ctor(0, 2, 0); +} else { + x_106 = x_104; +} +lean_ctor_set(x_106, 0, x_105); +lean_ctor_set(x_106, 1, x_103); +return x_106; +} +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__2; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("*(", 2, 2); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__2; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("), ", 3, 3); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__4; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("-", 1, 1); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___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, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; lean_object* x_16; uint8_t x_17; +lean_inc(x_1); +x_15 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__1(x_1, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_unbox(x_16); +lean_dec(x_16); +if (x_17 == 0) +{ +uint8_t x_18; +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_18 = !lean_is_exclusive(x_15); +if (x_18 == 0) +{ +lean_object* x_19; lean_object* x_20; +x_19 = lean_ctor_get(x_15, 0); +lean_dec(x_19); +x_20 = lean_box(0); +lean_ctor_set(x_15, 0, x_20); +return x_15; +} +else +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_21 = lean_ctor_get(x_15, 1); +lean_inc(x_21); +lean_dec(x_15); +x_22 = lean_box(0); +x_23 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_23, 0, x_22); +lean_ctor_set(x_23, 1, x_21); +return x_23; +} +} +else +{ +lean_object* x_24; lean_object* x_25; +x_24 = lean_ctor_get(x_15, 1); +lean_inc(x_24); +lean_dec(x_15); +x_25 = l_Lean_Meta_Grind_updateLastTag(x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_24); +if (lean_obj_tag(x_25) == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_25, 1); +lean_inc(x_26); +lean_dec(x_25); +x_27 = lean_ctor_get(x_2, 0); +lean_inc(x_27); +lean_dec(x_2); +x_28 = l_Lean_Grind_CommRing_Poly_denoteExpr(x_27, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_26); +if (lean_obj_tag(x_28) == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; size_t x_32; size_t x_33; lean_object* x_34; +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +x_31 = lean_ctor_get(x_3, 1); +lean_inc(x_31); +x_32 = lean_array_size(x_31); +x_33 = 0; +x_34 = l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_32, x_33, x_31, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_30); +if (lean_obj_tag(x_34) == 0) +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; +x_35 = lean_ctor_get(x_34, 0); +lean_inc(x_35); +x_36 = lean_ctor_get(x_34, 1); +lean_inc(x_36); +lean_dec(x_34); +x_37 = lean_ctor_get(x_3, 0); +lean_inc(x_37); +lean_dec(x_3); +x_38 = l_Lean_MessageData_ofExpr(x_29); +x_39 = lean_array_to_list(x_35); +x_40 = lean_box(0); +x_41 = l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3(x_39, x_40); +x_42 = l_Lean_MessageData_ofList(x_41); +x_43 = l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__2; +x_44 = lean_int_dec_lt(x_37, x_43); +if (x_44 == 0) +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_45 = lean_nat_abs(x_37); +lean_dec(x_37); +x_46 = l___private_Init_Data_Repr_0__Nat_reprFast(x_45); +x_47 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_47, 0, x_46); +x_48 = l_Lean_MessageData_ofFormat(x_47); +x_49 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1; +x_50 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_50, 0, x_49); +lean_ctor_set(x_50, 1, x_48); +x_51 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__3; +x_52 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +x_53 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_53, 0, x_52); +lean_ctor_set(x_53, 1, x_38); +x_54 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__5; +x_55 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +x_56 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_56, 0, x_55); +lean_ctor_set(x_56, 1, x_42); +x_57 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_57, 0, x_56); +lean_ctor_set(x_57, 1, x_49); +x_58 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_1, x_57, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_36); +return x_58; +} +else +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_59 = lean_nat_abs(x_37); +lean_dec(x_37); +x_60 = lean_unsigned_to_nat(1u); +x_61 = lean_nat_sub(x_59, x_60); +lean_dec(x_59); +x_62 = lean_nat_add(x_61, x_60); +lean_dec(x_61); +x_63 = l___private_Init_Data_Repr_0__Nat_reprFast(x_62); +x_64 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__6; +x_65 = lean_string_append(x_64, x_63); +lean_dec(x_63); +x_66 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_66, 0, x_65); +x_67 = l_Lean_MessageData_ofFormat(x_66); +x_68 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1; +x_69 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_69, 0, x_68); +lean_ctor_set(x_69, 1, x_67); +x_70 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__3; +x_71 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +x_72 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_72, 0, x_71); +lean_ctor_set(x_72, 1, x_38); +x_73 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__5; +x_74 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_74, 0, x_72); +lean_ctor_set(x_74, 1, x_73); +x_75 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_75, 0, x_74); +lean_ctor_set(x_75, 1, x_42); +x_76 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_76, 0, x_75); +lean_ctor_set(x_76, 1, x_68); +x_77 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_1, x_76, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_36); +return x_77; +} +} +else +{ +uint8_t x_78; +lean_dec(x_29); +lean_dec(x_3); +lean_dec(x_1); +x_78 = !lean_is_exclusive(x_34); +if (x_78 == 0) +{ +return x_34; +} +else +{ +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_34, 0); +x_80 = lean_ctor_get(x_34, 1); +lean_inc(x_80); +lean_inc(x_79); +lean_dec(x_34); +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_79); +lean_ctor_set(x_81, 1, x_80); +return x_81; +} +} +} +else +{ +uint8_t x_82; +lean_dec(x_3); +lean_dec(x_1); +x_82 = !lean_is_exclusive(x_28); +if (x_82 == 0) +{ +return x_28; +} +else +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; +x_83 = lean_ctor_get(x_28, 0); +x_84 = lean_ctor_get(x_28, 1); +lean_inc(x_84); +lean_inc(x_83); +lean_dec(x_28); +x_85 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_85, 0, x_83); +lean_ctor_set(x_85, 1, x_84); +return x_85; +} +} +} +else +{ +uint8_t x_86; +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_86 = !lean_is_exclusive(x_25); +if (x_86 == 0) +{ +return x_25; +} +else +{ +lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_87 = lean_ctor_get(x_25, 0); +x_88 = lean_ctor_get(x_25, 1); +lean_inc(x_88); +lean_inc(x_87); +lean_dec(x_25); +x_89 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_89, 0, x_87); +lean_ctor_set(x_89, 1, x_88); +return x_89; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_14 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt(x_1, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +lean_inc(x_2); +x_17 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__1(x_2, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_16); +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_unbox(x_18); +lean_dec(x_18); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_17, 1); +lean_inc(x_20); +lean_dec(x_17); +x_21 = lean_box(0); +x_22 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1(x_2, x_1, x_15, x_21, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_20); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_22; +} +else +{ +uint8_t x_23; +x_23 = !lean_is_exclusive(x_17); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_17, 1); +x_25 = lean_ctor_get(x_17, 0); +lean_dec(x_25); +x_26 = l_Lean_Meta_Grind_updateLastTag(x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_24); +if (lean_obj_tag(x_26) == 0) +{ +lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_27 = lean_ctor_get(x_26, 1); +lean_inc(x_27); +lean_dec(x_26); +x_28 = lean_ctor_get(x_1, 0); +lean_inc(x_28); +x_29 = l_Lean_Grind_CommRing_Poly_denoteExpr(x_28, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_27); +if (lean_obj_tag(x_29) == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_29, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_29, 1); +lean_inc(x_31); +lean_dec(x_29); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_32 = l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly(x_15, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_31); +if (lean_obj_tag(x_32) == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_32, 0); +lean_inc(x_33); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = l_Lean_Grind_CommRing_Poly_denoteExpr(x_33, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_34); +if (lean_obj_tag(x_35) == 0) +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_35, 1); +lean_inc(x_37); +lean_dec(x_35); +x_38 = lean_ctor_get(x_15, 0); +lean_inc(x_38); +x_39 = l_Lean_MessageData_ofExpr(x_30); +x_40 = l_Lean_MessageData_ofExpr(x_36); +x_41 = l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__2; +x_42 = lean_int_dec_lt(x_38, x_41); +if (x_42 == 0) +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_43 = lean_nat_abs(x_38); +lean_dec(x_38); +x_44 = l___private_Init_Data_Repr_0__Nat_reprFast(x_43); +x_45 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_45, 0, x_44); +x_46 = l_Lean_MessageData_ofFormat(x_45); +x_47 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1; +lean_ctor_set_tag(x_17, 7); +lean_ctor_set(x_17, 1, x_46); +lean_ctor_set(x_17, 0, x_47); +x_48 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__3; +x_49 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_49, 0, x_17); +lean_ctor_set(x_49, 1, x_48); +x_50 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_50, 0, x_49); +lean_ctor_set(x_50, 1, x_39); +x_51 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__5; +x_52 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +x_53 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_53, 0, x_52); +lean_ctor_set(x_53, 1, x_40); +x_54 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_54, 0, x_53); +lean_ctor_set(x_54, 1, x_47); +lean_inc(x_2); +x_55 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_2, x_54, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_37); +x_56 = lean_ctor_get(x_55, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +lean_dec(x_55); +x_58 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1(x_2, x_1, x_15, x_56, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_57); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_56); +return x_58; +} +else +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_59 = lean_nat_abs(x_38); +lean_dec(x_38); +x_60 = lean_unsigned_to_nat(1u); +x_61 = lean_nat_sub(x_59, x_60); +lean_dec(x_59); +x_62 = lean_nat_add(x_61, x_60); +lean_dec(x_61); +x_63 = l___private_Init_Data_Repr_0__Nat_reprFast(x_62); +x_64 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__6; +x_65 = lean_string_append(x_64, x_63); +lean_dec(x_63); +x_66 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_66, 0, x_65); +x_67 = l_Lean_MessageData_ofFormat(x_66); +x_68 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1; +lean_ctor_set_tag(x_17, 7); +lean_ctor_set(x_17, 1, x_67); +lean_ctor_set(x_17, 0, x_68); +x_69 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__3; +x_70 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_70, 0, x_17); +lean_ctor_set(x_70, 1, x_69); +x_71 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_71, 0, x_70); +lean_ctor_set(x_71, 1, x_39); +x_72 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__5; +x_73 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); +x_74 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_74, 0, x_73); +lean_ctor_set(x_74, 1, x_40); +x_75 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_75, 0, x_74); +lean_ctor_set(x_75, 1, x_68); +lean_inc(x_2); +x_76 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_2, x_75, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_37); +x_77 = lean_ctor_get(x_76, 0); +lean_inc(x_77); +x_78 = lean_ctor_get(x_76, 1); +lean_inc(x_78); +lean_dec(x_76); +x_79 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1(x_2, x_1, x_15, x_77, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_78); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_77); +return x_79; +} +} +else +{ +uint8_t x_80; +lean_dec(x_30); +lean_free_object(x_17); +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_80 = !lean_is_exclusive(x_35); +if (x_80 == 0) +{ +return x_35; +} +else +{ +lean_object* x_81; lean_object* x_82; lean_object* x_83; +x_81 = lean_ctor_get(x_35, 0); +x_82 = lean_ctor_get(x_35, 1); +lean_inc(x_82); +lean_inc(x_81); +lean_dec(x_35); +x_83 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_83, 0, x_81); +lean_ctor_set(x_83, 1, x_82); +return x_83; +} +} +} +else +{ +uint8_t x_84; +lean_dec(x_30); +lean_free_object(x_17); +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_84 = !lean_is_exclusive(x_32); +if (x_84 == 0) +{ +return x_32; +} +else +{ +lean_object* x_85; lean_object* x_86; lean_object* x_87; +x_85 = lean_ctor_get(x_32, 0); +x_86 = lean_ctor_get(x_32, 1); +lean_inc(x_86); +lean_inc(x_85); +lean_dec(x_32); +x_87 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_87, 0, x_85); +lean_ctor_set(x_87, 1, x_86); +return x_87; +} +} +} +else +{ +uint8_t x_88; +lean_free_object(x_17); +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_88 = !lean_is_exclusive(x_29); +if (x_88 == 0) +{ +return x_29; +} +else +{ +lean_object* x_89; lean_object* x_90; lean_object* x_91; +x_89 = lean_ctor_get(x_29, 0); +x_90 = lean_ctor_get(x_29, 1); +lean_inc(x_90); +lean_inc(x_89); +lean_dec(x_29); +x_91 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_91, 0, x_89); +lean_ctor_set(x_91, 1, x_90); +return x_91; +} +} +} +else +{ +uint8_t x_92; +lean_free_object(x_17); +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_92 = !lean_is_exclusive(x_26); +if (x_92 == 0) +{ +return x_26; +} +else +{ +lean_object* x_93; lean_object* x_94; lean_object* x_95; +x_93 = lean_ctor_get(x_26, 0); +x_94 = lean_ctor_get(x_26, 1); +lean_inc(x_94); +lean_inc(x_93); +lean_dec(x_26); +x_95 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_95, 0, x_93); +lean_ctor_set(x_95, 1, x_94); +return x_95; +} +} +} +else +{ +lean_object* x_96; lean_object* x_97; +x_96 = lean_ctor_get(x_17, 1); +lean_inc(x_96); +lean_dec(x_17); +x_97 = l_Lean_Meta_Grind_updateLastTag(x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_96); +if (lean_obj_tag(x_97) == 0) +{ +lean_object* x_98; lean_object* x_99; lean_object* x_100; +x_98 = lean_ctor_get(x_97, 1); +lean_inc(x_98); +lean_dec(x_97); +x_99 = lean_ctor_get(x_1, 0); +lean_inc(x_99); +x_100 = l_Lean_Grind_CommRing_Poly_denoteExpr(x_99, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_98); +if (lean_obj_tag(x_100) == 0) +{ +lean_object* x_101; lean_object* x_102; lean_object* x_103; +x_101 = lean_ctor_get(x_100, 0); +lean_inc(x_101); +x_102 = lean_ctor_get(x_100, 1); +lean_inc(x_102); +lean_dec(x_100); +lean_inc(x_12); +lean_inc(x_11); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_103 = l_Lean_Meta_Grind_Arith_CommRing_NullCertExt_toPoly(x_15, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_102); +if (lean_obj_tag(x_103) == 0) +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; +x_104 = lean_ctor_get(x_103, 0); +lean_inc(x_104); +x_105 = lean_ctor_get(x_103, 1); +lean_inc(x_105); +lean_dec(x_103); +x_106 = l_Lean_Grind_CommRing_Poly_denoteExpr(x_104, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_105); +if (lean_obj_tag(x_106) == 0) +{ +lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113; +x_107 = lean_ctor_get(x_106, 0); +lean_inc(x_107); +x_108 = lean_ctor_get(x_106, 1); +lean_inc(x_108); +lean_dec(x_106); +x_109 = lean_ctor_get(x_15, 0); +lean_inc(x_109); +x_110 = l_Lean_MessageData_ofExpr(x_101); +x_111 = l_Lean_MessageData_ofExpr(x_107); +x_112 = l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__2; +x_113 = lean_int_dec_lt(x_109, x_112); +if (x_113 == 0) +{ +lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; +x_114 = lean_nat_abs(x_109); +lean_dec(x_109); +x_115 = l___private_Init_Data_Repr_0__Nat_reprFast(x_114); +x_116 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_116, 0, x_115); +x_117 = l_Lean_MessageData_ofFormat(x_116); +x_118 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1; +x_119 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_119, 0, x_118); +lean_ctor_set(x_119, 1, x_117); +x_120 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__3; +x_121 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_121, 0, x_119); +lean_ctor_set(x_121, 1, x_120); +x_122 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_122, 0, x_121); +lean_ctor_set(x_122, 1, x_110); +x_123 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__5; +x_124 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_124, 0, x_122); +lean_ctor_set(x_124, 1, x_123); +x_125 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_125, 0, x_124); +lean_ctor_set(x_125, 1, x_111); +x_126 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_126, 0, x_125); +lean_ctor_set(x_126, 1, x_118); +lean_inc(x_2); +x_127 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_2, x_126, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_108); +x_128 = lean_ctor_get(x_127, 0); +lean_inc(x_128); +x_129 = lean_ctor_get(x_127, 1); +lean_inc(x_129); +lean_dec(x_127); +x_130 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1(x_2, x_1, x_15, x_128, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_129); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_128); +return x_130; +} +else +{ +lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; +x_131 = lean_nat_abs(x_109); +lean_dec(x_109); +x_132 = lean_unsigned_to_nat(1u); +x_133 = lean_nat_sub(x_131, x_132); +lean_dec(x_131); +x_134 = lean_nat_add(x_133, x_132); +lean_dec(x_133); +x_135 = l___private_Init_Data_Repr_0__Nat_reprFast(x_134); +x_136 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__6; +x_137 = lean_string_append(x_136, x_135); +lean_dec(x_135); +x_138 = lean_alloc_ctor(3, 1, 0); +lean_ctor_set(x_138, 0, x_137); +x_139 = l_Lean_MessageData_ofFormat(x_138); +x_140 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1; +x_141 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_141, 0, x_140); +lean_ctor_set(x_141, 1, x_139); +x_142 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__3; +x_143 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_143, 0, x_141); +lean_ctor_set(x_143, 1, x_142); +x_144 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_144, 0, x_143); +lean_ctor_set(x_144, 1, x_110); +x_145 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__5; +x_146 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_146, 0, x_144); +lean_ctor_set(x_146, 1, x_145); +x_147 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_147, 0, x_146); +lean_ctor_set(x_147, 1, x_111); +x_148 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_148, 0, x_147); +lean_ctor_set(x_148, 1, x_140); +lean_inc(x_2); +x_149 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_2, x_148, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_108); +x_150 = lean_ctor_get(x_149, 0); +lean_inc(x_150); +x_151 = lean_ctor_get(x_149, 1); +lean_inc(x_151); +lean_dec(x_149); +x_152 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1(x_2, x_1, x_15, x_150, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_151); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_150); +return x_152; +} +} +else +{ +lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; +lean_dec(x_101); +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_153 = lean_ctor_get(x_106, 0); +lean_inc(x_153); +x_154 = lean_ctor_get(x_106, 1); +lean_inc(x_154); +if (lean_is_exclusive(x_106)) { + lean_ctor_release(x_106, 0); + lean_ctor_release(x_106, 1); + x_155 = x_106; +} else { + lean_dec_ref(x_106); + x_155 = lean_box(0); +} +if (lean_is_scalar(x_155)) { + x_156 = lean_alloc_ctor(1, 2, 0); +} else { + x_156 = x_155; +} +lean_ctor_set(x_156, 0, x_153); +lean_ctor_set(x_156, 1, x_154); +return x_156; +} +} +else +{ +lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; +lean_dec(x_101); +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_157 = lean_ctor_get(x_103, 0); +lean_inc(x_157); +x_158 = lean_ctor_get(x_103, 1); +lean_inc(x_158); +if (lean_is_exclusive(x_103)) { + lean_ctor_release(x_103, 0); + lean_ctor_release(x_103, 1); + x_159 = x_103; +} else { + lean_dec_ref(x_103); + x_159 = lean_box(0); +} +if (lean_is_scalar(x_159)) { + x_160 = lean_alloc_ctor(1, 2, 0); +} else { + x_160 = x_159; +} +lean_ctor_set(x_160, 0, x_157); +lean_ctor_set(x_160, 1, x_158); +return x_160; +} +} +else +{ +lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_161 = lean_ctor_get(x_100, 0); +lean_inc(x_161); +x_162 = lean_ctor_get(x_100, 1); +lean_inc(x_162); +if (lean_is_exclusive(x_100)) { + lean_ctor_release(x_100, 0); + lean_ctor_release(x_100, 1); + x_163 = x_100; +} else { + lean_dec_ref(x_100); + x_163 = lean_box(0); +} +if (lean_is_scalar(x_163)) { + x_164 = lean_alloc_ctor(1, 2, 0); +} else { + x_164 = x_163; +} +lean_ctor_set(x_164, 0, x_161); +lean_ctor_set(x_164, 1, x_162); +return x_164; +} +} +else +{ +lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; +lean_dec(x_15); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_165 = lean_ctor_get(x_97, 0); +lean_inc(x_165); +x_166 = lean_ctor_get(x_97, 1); +lean_inc(x_166); +if (lean_is_exclusive(x_97)) { + lean_ctor_release(x_97, 0); + lean_ctor_release(x_97, 1); + x_167 = x_97; +} else { + lean_dec_ref(x_97); + x_167 = lean_box(0); +} +if (lean_is_scalar(x_167)) { + x_168 = lean_alloc_ctor(1, 2, 0); +} else { + x_168 = x_167; +} +lean_ctor_set(x_168, 0, x_165); +lean_ctor_set(x_168, 1, x_166); +return x_168; +} +} +} +} +else +{ +uint8_t x_169; +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_169 = !lean_is_exclusive(x_14); +if (x_169 == 0) +{ +return x_14; +} +else +{ +lean_object* x_170; lean_object* x_171; lean_object* x_172; +x_170 = lean_ctor_get(x_14, 0); +x_171 = lean_ctor_get(x_14, 1); +lean_inc(x_171); +lean_inc(x_170); +lean_dec(x_14); +x_172 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_172, 0, x_170); +lean_ctor_set(x_172, 1, x_171); +return x_172; +} +} +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("grind", 5, 5); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("ring", 4, 4); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("assert", 6, 6); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("unsat", 5, 5); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__1; +x_2 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__2; +x_3 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__3; +x_4 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__4; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; +x_12 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__5; +x_13 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__1(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_unbox(x_14); +lean_dec(x_14); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_13, 1); +lean_inc(x_16); +lean_dec(x_13); +x_17 = lean_box(0); +x_18 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__2(x_1, x_12, x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_16); +return x_18; +} +else +{ +uint8_t x_19; +x_19 = !lean_is_exclusive(x_13); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_13, 1); +x_21 = lean_ctor_get(x_13, 0); +lean_dec(x_21); +x_22 = l_Lean_Meta_Grind_updateLastTag(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_20); +if (lean_obj_tag(x_22) == 0) +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_22, 1); +lean_inc(x_23); +lean_dec(x_22); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_1); +x_24 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_denoteExpr(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_23); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec(x_24); +x_27 = l_Lean_MessageData_ofExpr(x_25); +x_28 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1; +lean_ctor_set_tag(x_13, 7); +lean_ctor_set(x_13, 1, x_27); +lean_ctor_set(x_13, 0, x_28); +x_29 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_29, 0, x_13); +lean_ctor_set(x_29, 1, x_28); +x_30 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_12, x_29, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_26); +x_31 = lean_ctor_get(x_30, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_30, 1); +lean_inc(x_32); +lean_dec(x_30); +x_33 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__2(x_1, x_12, x_31, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_32); +lean_dec(x_31); +return x_33; +} +else +{ +uint8_t x_34; +lean_free_object(x_13); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_34 = !lean_is_exclusive(x_24); +if (x_34 == 0) +{ +return x_24; +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_24, 0); +x_36 = lean_ctor_get(x_24, 1); +lean_inc(x_36); +lean_inc(x_35); +lean_dec(x_24); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; +} +} +} +else +{ +uint8_t x_38; +lean_free_object(x_13); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_38 = !lean_is_exclusive(x_22); +if (x_38 == 0) +{ +return x_22; +} +else +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_22, 0); +x_40 = lean_ctor_get(x_22, 1); +lean_inc(x_40); +lean_inc(x_39); +lean_dec(x_22); +x_41 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +return x_41; +} +} +} +else +{ +lean_object* x_42; lean_object* x_43; +x_42 = lean_ctor_get(x_13, 1); +lean_inc(x_42); +lean_dec(x_13); +x_43 = l_Lean_Meta_Grind_updateLastTag(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_42); +if (lean_obj_tag(x_43) == 0) +{ +lean_object* x_44; lean_object* x_45; +x_44 = lean_ctor_get(x_43, 1); +lean_inc(x_44); +lean_dec(x_43); +lean_inc(x_10); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_1); +x_45 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_denoteExpr(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_44); +if (lean_obj_tag(x_45) == 0) +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_46 = lean_ctor_get(x_45, 0); +lean_inc(x_46); +x_47 = lean_ctor_get(x_45, 1); +lean_inc(x_47); +lean_dec(x_45); +x_48 = l_Lean_MessageData_ofExpr(x_46); +x_49 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1; +x_50 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_50, 0, x_49); +lean_ctor_set(x_50, 1, x_48); +x_51 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_51, 0, x_50); +lean_ctor_set(x_51, 1, x_49); +x_52 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_12, x_51, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_47); +x_53 = lean_ctor_get(x_52, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_52, 1); +lean_inc(x_54); +lean_dec(x_52); +x_55 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__2(x_1, x_12, x_53, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_54); +lean_dec(x_53); +return x_55; +} +else +{ +lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_56 = lean_ctor_get(x_45, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_45, 1); +lean_inc(x_57); +if (lean_is_exclusive(x_45)) { + lean_ctor_release(x_45, 0); + lean_ctor_release(x_45, 1); + x_58 = x_45; +} else { + lean_dec_ref(x_45); + x_58 = lean_box(0); +} +if (lean_is_scalar(x_58)) { + x_59 = lean_alloc_ctor(1, 2, 0); +} else { + x_59 = x_58; +} +lean_ctor_set(x_59, 0, x_56); +lean_ctor_set(x_59, 1, x_57); +return x_59; +} +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_60 = lean_ctor_get(x_43, 0); +lean_inc(x_60); +x_61 = lean_ctor_get(x_43, 1); +lean_inc(x_61); +if (lean_is_exclusive(x_43)) { + lean_ctor_release(x_43, 0); + lean_ctor_release(x_43, 1); + x_62 = x_43; +} else { + lean_dec_ref(x_43); + x_62 = lean_box(0); +} +if (lean_is_scalar(x_62)) { + x_63 = lean_alloc_ctor(1, 2, 0); +} else { + x_63 = x_62; +} +lean_ctor_set(x_63, 0, x_60); +lean_ctor_set(x_63, 1, x_61); +return x_63; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +x_12 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_12; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +size_t x_14; size_t x_15; lean_object* x_16; +x_14 = lean_unbox_usize(x_1); +lean_dec(x_1); +x_15 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_16 = l_Array_mapMUnsafe_map___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_14, x_15, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_16; +} +} +LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; +x_13 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { +_start: +{ +lean_object* x_15; +x_15 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec(x_13); +lean_dec(x_12); +lean_dec(x_11); +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_15; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; +x_14 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_3); +return x_14; } } LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_Arith_CommRing_Proof_0__Lean_Meta_Grind_Arith_CommRing_mkLemmaPrefix(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { @@ -1253,7 +8181,7 @@ lean_inc(x_20); lean_dec(x_18); x_21 = l_Lean_Meta_Grind_Arith_CommRing_ofRingExpr(x_3); x_22 = l_Lean_Meta_Grind_Arith_CommRing_ofRingExpr(x_4); -x_23 = l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__1; +x_23 = l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__2; x_24 = lean_int_dec_le(x_23, x_5); if (x_24 == 0) { @@ -1528,604 +8456,6 @@ lean_dec(x_1); return x_16; } } -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; lean_object* x_13; uint8_t x_14; lean_object* x_15; lean_object* x_16; -x_12 = lean_ctor_get(x_9, 12); -x_13 = lean_ctor_get(x_9, 2); -x_14 = l_Lean_checkTraceOption(x_12, x_13, x_1); -x_15 = lean_box(x_14); -x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_15); -lean_ctor_set(x_16, 1, x_11); -return x_16; -} -} -static double _init_l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__1() { -_start: -{ -lean_object* x_1; uint8_t x_2; double x_3; -x_1 = lean_unsigned_to_nat(0u); -x_2 = 0; -x_3 = l_Float_ofScientific(x_1, x_2, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("", 0, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = lean_box(0); -x_2 = lean_array_mk(x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; -x_13 = lean_ctor_get(x_10, 5); -x_14 = l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(x_2, x_8, x_9, x_10, x_11, x_12); -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); -lean_inc(x_16); -lean_dec(x_14); -x_17 = lean_st_ref_take(x_11, x_16); -x_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_18, 3); -lean_inc(x_19); -x_20 = !lean_is_exclusive(x_17); -if (x_20 == 0) -{ -lean_object* x_21; lean_object* x_22; uint8_t x_23; -x_21 = lean_ctor_get(x_17, 1); -x_22 = lean_ctor_get(x_17, 0); -lean_dec(x_22); -x_23 = !lean_is_exclusive(x_18); -if (x_23 == 0) -{ -lean_object* x_24; uint8_t x_25; -x_24 = lean_ctor_get(x_18, 3); -lean_dec(x_24); -x_25 = !lean_is_exclusive(x_19); -if (x_25 == 0) -{ -lean_object* x_26; double x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; -x_26 = lean_ctor_get(x_19, 0); -x_27 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__1; -x_28 = 0; -x_29 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__2; -x_30 = lean_alloc_ctor(0, 2, 17); -lean_ctor_set(x_30, 0, x_1); -lean_ctor_set(x_30, 1, x_29); -lean_ctor_set_float(x_30, sizeof(void*)*2, x_27); -lean_ctor_set_float(x_30, sizeof(void*)*2 + 8, x_27); -lean_ctor_set_uint8(x_30, sizeof(void*)*2 + 16, x_28); -x_31 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__3; -x_32 = lean_alloc_ctor(9, 3, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_15); -lean_ctor_set(x_32, 2, x_31); -lean_inc(x_13); -lean_ctor_set(x_17, 1, x_32); -lean_ctor_set(x_17, 0, x_13); -x_33 = l_Lean_PersistentArray_push___rarg(x_26, x_17); -lean_ctor_set(x_19, 0, x_33); -x_34 = lean_st_ref_set(x_11, x_18, x_21); -x_35 = !lean_is_exclusive(x_34); -if (x_35 == 0) -{ -lean_object* x_36; lean_object* x_37; -x_36 = lean_ctor_get(x_34, 0); -lean_dec(x_36); -x_37 = lean_box(0); -lean_ctor_set(x_34, 0, x_37); -return x_34; -} -else -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_34, 1); -lean_inc(x_38); -lean_dec(x_34); -x_39 = lean_box(0); -x_40 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_38); -return x_40; -} -} -else -{ -uint64_t x_41; lean_object* x_42; double x_43; uint8_t x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_41 = lean_ctor_get_uint64(x_19, sizeof(void*)*1); -x_42 = lean_ctor_get(x_19, 0); -lean_inc(x_42); -lean_dec(x_19); -x_43 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__1; -x_44 = 0; -x_45 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__2; -x_46 = lean_alloc_ctor(0, 2, 17); -lean_ctor_set(x_46, 0, x_1); -lean_ctor_set(x_46, 1, x_45); -lean_ctor_set_float(x_46, sizeof(void*)*2, x_43); -lean_ctor_set_float(x_46, sizeof(void*)*2 + 8, x_43); -lean_ctor_set_uint8(x_46, sizeof(void*)*2 + 16, x_44); -x_47 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__3; -x_48 = lean_alloc_ctor(9, 3, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_15); -lean_ctor_set(x_48, 2, x_47); -lean_inc(x_13); -lean_ctor_set(x_17, 1, x_48); -lean_ctor_set(x_17, 0, x_13); -x_49 = l_Lean_PersistentArray_push___rarg(x_42, x_17); -x_50 = lean_alloc_ctor(0, 1, 8); -lean_ctor_set(x_50, 0, x_49); -lean_ctor_set_uint64(x_50, sizeof(void*)*1, x_41); -lean_ctor_set(x_18, 3, x_50); -x_51 = lean_st_ref_set(x_11, x_18, x_21); -x_52 = lean_ctor_get(x_51, 1); -lean_inc(x_52); -if (lean_is_exclusive(x_51)) { - lean_ctor_release(x_51, 0); - lean_ctor_release(x_51, 1); - x_53 = x_51; -} else { - lean_dec_ref(x_51); - x_53 = lean_box(0); -} -x_54 = lean_box(0); -if (lean_is_scalar(x_53)) { - x_55 = lean_alloc_ctor(0, 2, 0); -} else { - x_55 = x_53; -} -lean_ctor_set(x_55, 0, x_54); -lean_ctor_set(x_55, 1, x_52); -return x_55; -} -} -else -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint64_t x_63; lean_object* x_64; lean_object* x_65; double x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; -x_56 = lean_ctor_get(x_18, 0); -x_57 = lean_ctor_get(x_18, 1); -x_58 = lean_ctor_get(x_18, 2); -x_59 = lean_ctor_get(x_18, 4); -x_60 = lean_ctor_get(x_18, 5); -x_61 = lean_ctor_get(x_18, 6); -x_62 = lean_ctor_get(x_18, 7); -lean_inc(x_62); -lean_inc(x_61); -lean_inc(x_60); -lean_inc(x_59); -lean_inc(x_58); -lean_inc(x_57); -lean_inc(x_56); -lean_dec(x_18); -x_63 = lean_ctor_get_uint64(x_19, sizeof(void*)*1); -x_64 = lean_ctor_get(x_19, 0); -lean_inc(x_64); -if (lean_is_exclusive(x_19)) { - lean_ctor_release(x_19, 0); - x_65 = x_19; -} else { - lean_dec_ref(x_19); - x_65 = lean_box(0); -} -x_66 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__1; -x_67 = 0; -x_68 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__2; -x_69 = lean_alloc_ctor(0, 2, 17); -lean_ctor_set(x_69, 0, x_1); -lean_ctor_set(x_69, 1, x_68); -lean_ctor_set_float(x_69, sizeof(void*)*2, x_66); -lean_ctor_set_float(x_69, sizeof(void*)*2 + 8, x_66); -lean_ctor_set_uint8(x_69, sizeof(void*)*2 + 16, x_67); -x_70 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__3; -x_71 = lean_alloc_ctor(9, 3, 0); -lean_ctor_set(x_71, 0, x_69); -lean_ctor_set(x_71, 1, x_15); -lean_ctor_set(x_71, 2, x_70); -lean_inc(x_13); -lean_ctor_set(x_17, 1, x_71); -lean_ctor_set(x_17, 0, x_13); -x_72 = l_Lean_PersistentArray_push___rarg(x_64, x_17); -if (lean_is_scalar(x_65)) { - x_73 = lean_alloc_ctor(0, 1, 8); -} else { - x_73 = x_65; -} -lean_ctor_set(x_73, 0, x_72); -lean_ctor_set_uint64(x_73, sizeof(void*)*1, x_63); -x_74 = lean_alloc_ctor(0, 8, 0); -lean_ctor_set(x_74, 0, x_56); -lean_ctor_set(x_74, 1, x_57); -lean_ctor_set(x_74, 2, x_58); -lean_ctor_set(x_74, 3, x_73); -lean_ctor_set(x_74, 4, x_59); -lean_ctor_set(x_74, 5, x_60); -lean_ctor_set(x_74, 6, x_61); -lean_ctor_set(x_74, 7, x_62); -x_75 = lean_st_ref_set(x_11, x_74, x_21); -x_76 = lean_ctor_get(x_75, 1); -lean_inc(x_76); -if (lean_is_exclusive(x_75)) { - lean_ctor_release(x_75, 0); - lean_ctor_release(x_75, 1); - x_77 = x_75; -} else { - lean_dec_ref(x_75); - x_77 = lean_box(0); -} -x_78 = lean_box(0); -if (lean_is_scalar(x_77)) { - x_79 = lean_alloc_ctor(0, 2, 0); -} else { - x_79 = x_77; -} -lean_ctor_set(x_79, 0, x_78); -lean_ctor_set(x_79, 1, x_76); -return x_79; -} -} -else -{ -lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; uint64_t x_89; lean_object* x_90; lean_object* x_91; double x_92; uint8_t x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; -x_80 = lean_ctor_get(x_17, 1); -lean_inc(x_80); -lean_dec(x_17); -x_81 = lean_ctor_get(x_18, 0); -lean_inc(x_81); -x_82 = lean_ctor_get(x_18, 1); -lean_inc(x_82); -x_83 = lean_ctor_get(x_18, 2); -lean_inc(x_83); -x_84 = lean_ctor_get(x_18, 4); -lean_inc(x_84); -x_85 = lean_ctor_get(x_18, 5); -lean_inc(x_85); -x_86 = lean_ctor_get(x_18, 6); -lean_inc(x_86); -x_87 = lean_ctor_get(x_18, 7); -lean_inc(x_87); -if (lean_is_exclusive(x_18)) { - lean_ctor_release(x_18, 0); - lean_ctor_release(x_18, 1); - lean_ctor_release(x_18, 2); - lean_ctor_release(x_18, 3); - lean_ctor_release(x_18, 4); - lean_ctor_release(x_18, 5); - lean_ctor_release(x_18, 6); - lean_ctor_release(x_18, 7); - x_88 = x_18; -} else { - lean_dec_ref(x_18); - x_88 = lean_box(0); -} -x_89 = lean_ctor_get_uint64(x_19, sizeof(void*)*1); -x_90 = lean_ctor_get(x_19, 0); -lean_inc(x_90); -if (lean_is_exclusive(x_19)) { - lean_ctor_release(x_19, 0); - x_91 = x_19; -} else { - lean_dec_ref(x_19); - x_91 = lean_box(0); -} -x_92 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__1; -x_93 = 0; -x_94 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__2; -x_95 = lean_alloc_ctor(0, 2, 17); -lean_ctor_set(x_95, 0, x_1); -lean_ctor_set(x_95, 1, x_94); -lean_ctor_set_float(x_95, sizeof(void*)*2, x_92); -lean_ctor_set_float(x_95, sizeof(void*)*2 + 8, x_92); -lean_ctor_set_uint8(x_95, sizeof(void*)*2 + 16, x_93); -x_96 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__3; -x_97 = lean_alloc_ctor(9, 3, 0); -lean_ctor_set(x_97, 0, x_95); -lean_ctor_set(x_97, 1, x_15); -lean_ctor_set(x_97, 2, x_96); -lean_inc(x_13); -x_98 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_98, 0, x_13); -lean_ctor_set(x_98, 1, x_97); -x_99 = l_Lean_PersistentArray_push___rarg(x_90, x_98); -if (lean_is_scalar(x_91)) { - x_100 = lean_alloc_ctor(0, 1, 8); -} else { - x_100 = x_91; -} -lean_ctor_set(x_100, 0, x_99); -lean_ctor_set_uint64(x_100, sizeof(void*)*1, x_89); -if (lean_is_scalar(x_88)) { - x_101 = lean_alloc_ctor(0, 8, 0); -} else { - x_101 = x_88; -} -lean_ctor_set(x_101, 0, x_81); -lean_ctor_set(x_101, 1, x_82); -lean_ctor_set(x_101, 2, x_83); -lean_ctor_set(x_101, 3, x_100); -lean_ctor_set(x_101, 4, x_84); -lean_ctor_set(x_101, 5, x_85); -lean_ctor_set(x_101, 6, x_86); -lean_ctor_set(x_101, 7, x_87); -x_102 = lean_st_ref_set(x_11, x_101, x_80); -x_103 = lean_ctor_get(x_102, 1); -lean_inc(x_103); -if (lean_is_exclusive(x_102)) { - lean_ctor_release(x_102, 0); - lean_ctor_release(x_102, 1); - x_104 = x_102; -} else { - lean_dec_ref(x_102); - x_104 = lean_box(0); -} -x_105 = lean_box(0); -if (lean_is_scalar(x_104)) { - x_106 = lean_alloc_ctor(0, 2, 0); -} else { - x_106 = x_104; -} -lean_ctor_set(x_106, 0, x_105); -lean_ctor_set(x_106, 1, x_103); -return x_106; -} -} -} -static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("grind", 5, 5); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("ring", 4, 4); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("assert", 6, 6); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__4() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("unsat", 5, 5); -return x_1; -} -} -static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__1; -x_2 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__2; -x_3 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__3; -x_4 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__4; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__2; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; -x_12 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__5; -x_13 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__1(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_unbox(x_14); -lean_dec(x_14); -if (x_15 == 0) -{ -uint8_t x_16; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_1); -x_16 = !lean_is_exclusive(x_13); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; -x_17 = lean_ctor_get(x_13, 0); -lean_dec(x_17); -x_18 = lean_box(0); -lean_ctor_set(x_13, 0, x_18); -return x_13; -} -else -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = lean_ctor_get(x_13, 1); -lean_inc(x_19); -lean_dec(x_13); -x_20 = lean_box(0); -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_20); -lean_ctor_set(x_21, 1, x_19); -return x_21; -} -} -else -{ -lean_object* x_22; lean_object* x_23; -x_22 = lean_ctor_get(x_13, 1); -lean_inc(x_22); -lean_dec(x_13); -x_23 = l_Lean_Meta_Grind_updateLastTag(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_22); -if (lean_obj_tag(x_23) == 0) -{ -lean_object* x_24; lean_object* x_25; -x_24 = lean_ctor_get(x_23, 1); -lean_inc(x_24); -lean_dec(x_23); -lean_inc(x_10); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_25 = l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_denoteExpr(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_24); -if (lean_obj_tag(x_25) == 0) -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_26 = lean_ctor_get(x_25, 0); -lean_inc(x_26); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -lean_dec(x_25); -x_28 = l_Lean_MessageData_ofExpr(x_26); -x_29 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__6; -x_30 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_28); -x_31 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_31, 0, x_30); -lean_ctor_set(x_31, 1, x_29); -x_32 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_12, x_31, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_27); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -return x_32; -} -else -{ -uint8_t x_33; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -x_33 = !lean_is_exclusive(x_25); -if (x_33 == 0) -{ -return x_25; -} -else -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_25, 0); -x_35 = lean_ctor_get(x_25, 1); -lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_25); -x_36 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_36, 0, x_34); -lean_ctor_set(x_36, 1, x_35); -return x_36; -} -} -} -else -{ -uint8_t x_37; -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_1); -x_37 = !lean_is_exclusive(x_23); -if (x_37 == 0) -{ -return x_23; -} -else -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_23, 0); -x_39 = lean_ctor_get(x_23, 1); -lean_inc(x_39); -lean_inc(x_38); -lean_dec(x_23); -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_38); -lean_ctor_set(x_40, 1, x_39); -return x_40; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; -x_12 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_12; -} -} -LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -lean_object* x_13; -x_13 = l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_13; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; -x_12 = l_Lean_Meta_Grind_Arith_CommRing_setInconsistent(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -return x_12; -} -} lean_object* initialize_Lean_Meta_Tactic_Grind_Diseq(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_RingId(uint8_t builtin, lean_object*); lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_DenoteExpr(uint8_t builtin, lean_object*); @@ -2151,14 +8481,67 @@ l_Lean_Meta_Grind_Arith_CommRing_toContextExpr___closed__1 = _init_l_Lean_Meta_G lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_toContextExpr___closed__1); l_Lean_Meta_Grind_Arith_CommRing_toContextExpr___closed__2 = _init_l_Lean_Meta_Grind_Arith_CommRing_toContextExpr___closed__2(); lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_toContextExpr___closed__2); +l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__1 = _init_l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__1(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__1); +l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__2 = _init_l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__2(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__2); +l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__3 = _init_l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__3(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert___closed__3); +l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert = _init_l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_instInhabitedPreNullCert); l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__1 = _init_l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__1(); lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__1); l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__2 = _init_l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__2(); lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__2); l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__3 = _init_l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__3(); lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__3); -l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__4 = _init_l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__4(); -lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_PreNullCert_unit___closed__4); +l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__1 = _init_l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__1(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__1); +l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__2 = _init_l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__2(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__2); +l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__3 = _init_l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__3(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__3); +l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__4 = _init_l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__4(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__4); +l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__5 = _init_l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__5(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_EqCnstr_mkNullCertExt___closed__5); +l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__1 = _init_l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__1(); +lean_mark_persistent(l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__1); +l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__2 = _init_l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__2(); +lean_mark_persistent(l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__2); +l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__3 = _init_l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__3(); +lean_mark_persistent(l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__3); +l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__4 = _init_l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__4(); +lean_mark_persistent(l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__4); +l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__5 = _init_l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__5(); +lean_mark_persistent(l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__5); +l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__6 = _init_l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__6(); +lean_mark_persistent(l_List_mapTR_loop___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__3___closed__6); +l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__1 = _init_l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__1(); +l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__2 = _init_l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__2(); +lean_mark_persistent(l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__4___closed__2); +l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__1); +l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__2 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__2(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__2); +l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__3 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__3(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__3); +l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__4 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__4(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__4); +l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__5 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__5(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__5); +l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__6 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__6(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___lambda__1___closed__6); +l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__1 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__1(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__1); +l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__2 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__2(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__2); +l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__3 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__3(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__3); +l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__4 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__4(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__4); +l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__5 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__5(); +lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__5); l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat___closed__1 = _init_l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat___closed__1(); lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat___closed__1); l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat___closed__2 = _init_l_Lean_Meta_Grind_Arith_CommRing_setNeUnsat___closed__2(); @@ -2205,23 +8588,6 @@ l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___closed__3 = _init_l_Lean_Meta_Grin lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___closed__3); l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___closed__4 = _init_l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___closed__4(); lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setEqUnsat___closed__4); -l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__1 = _init_l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__1(); -l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__2 = _init_l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__2(); -lean_mark_persistent(l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__2); -l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__3 = _init_l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__3(); -lean_mark_persistent(l_Lean_addTrace___at_Lean_Meta_Grind_Arith_CommRing_setInconsistent___spec__2___closed__3); -l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__1 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__1(); -lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__1); -l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__2 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__2(); -lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__2); -l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__3 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__3(); -lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__3); -l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__4 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__4(); -lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__4); -l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__5 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__5(); -lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__5); -l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__6 = _init_l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__6(); -lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_setInconsistent___closed__6); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/CommRing/Util.c b/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/CommRing/Util.c index 66ca1dc0a9..f4efad4af1 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/CommRing/Util.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/CommRing/Util.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Lean.Meta.Tactic.Grind.Arith.CommRing.Util -// Imports: Lean.Meta.Tactic.Grind.Types +// Imports: Lean.Meta.Tactic.Grind.Types Lean.Meta.Tactic.Grind.Arith.CommRing.Poly #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -21,9 +21,11 @@ static lean_object* l_Lean_Meta_Grind_Arith_CommRing_getCharInst___closed__1; static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setTermRingId___closed__4; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at_Lean_Meta_Grind_Arith_CommRing_getTermRingId_x3f___spec__1(lean_object*, lean_object*); size_t lean_usize_shift_right(size_t, size_t); +lean_object* l_Lean_Grind_CommRing_Poly_mulC(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_getCharInst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_usize_dec_le(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_getRing(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Grind_CommRing_Poly_mulMon_x27(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_getRingId(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_uint64_to_usize(uint64_t); lean_object* l_Lean_Meta_Grind_reportIssue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -31,17 +33,21 @@ lean_object* lean_array_push(lean_object*, lean_object*); size_t lean_usize_mul(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAtAux___at_Lean_Meta_Grind_Arith_CommRing_getTermRingId_x3f___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at_Lean_Meta_Grind_Arith_CommRing_setTermRingId___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Grind_CommRing_Poly_mulMonM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_getRing___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_getTermRingId_x3f___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_stringToMessageData(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Grind_CommRing_Poly_combineM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at_Lean_Meta_Grind_Arith_CommRing_setTermRingId___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setTermRingId___closed__5; LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setTermRingId___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Grind_CommRing_Poly_combine_x27(lean_object*, lean_object*, lean_object*); static size_t l_Lean_PersistentHashMap_findAux___at_Lean_Meta_Grind_Arith_CommRing_getTermRingId_x3f___spec__2___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setTermRingId(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_nonzeroChar_x3f___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_Lean_Grind_CommRing_Poly_mulM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_getTermRingId_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_modify_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setTermRingId___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -49,8 +55,11 @@ LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_findAux___at_Lean_Meta_Grind_A LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_nonzeroChar_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_hasChar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Grind_CommRing_Poly_mulConst_x27(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_get_x27___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_Grind_CommRing_Poly_mulConstM___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_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_hasChar___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_Grind_CommRing_Poly_mul(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_getRing___closed__1; static lean_object* l_Lean_Meta_Grind_Arith_CommRing_nonzeroChar_x3f___closed__1; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux_traverse___at_Lean_Meta_Grind_Arith_CommRing_setTermRingId___spec__3(size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -59,12 +68,14 @@ static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setTermRingId___closed__1; uint8_t l_Lean_Meta_Grind_isSameExpr_unsafe__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Grind_Arith_CommRing_getRing___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_setTermRingId___closed__2; +LEAN_EXPORT lean_object* l_Lean_Grind_CommRing_Poly_mulMonM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Grind_CommRing_Expr_toPolyM(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_usize_to_nat(size_t); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_setTermRingId___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_Lean_PersistentHashMap_findAtAux___at_Lean_Meta_Grind_Arith_CommRing_getTermRingId_x3f___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_Arith_CommRing_getCharInst___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_nonzeroChar_x3f___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_Lean_Grind_CommRing_Poly_mulConstM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_Arith_CommRing_modify_x27___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_Grind_Arith_CommRing_modifyRing___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_array_fget(lean_object*, lean_object*); @@ -3351,7 +3362,294 @@ return x_31; } } } +LEAN_EXPORT lean_object* l_Lean_Grind_CommRing_Poly_mulConstM(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; +x_13 = l_Lean_Meta_Grind_Arith_CommRing_nonzeroChar_x3f(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_13) == 0) +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_13, 0); +x_16 = l_Lean_Grind_CommRing_Poly_mulConst_x27(x_1, x_2, x_15); +lean_ctor_set(x_13, 0, x_16); +return x_13; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_13, 0); +x_18 = lean_ctor_get(x_13, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_13); +x_19 = l_Lean_Grind_CommRing_Poly_mulConst_x27(x_1, x_2, x_17); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +return x_20; +} +} +else +{ +uint8_t x_21; +lean_dec(x_1); +x_21 = !lean_is_exclusive(x_13); +if (x_21 == 0) +{ +return x_13; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_13, 0); +x_23 = lean_ctor_get(x_13, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_13); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Grind_CommRing_Poly_mulConstM___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; +x_13 = l_Lean_Grind_CommRing_Poly_mulConstM(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_2); +return x_13; +} +} +LEAN_EXPORT lean_object* l_Lean_Grind_CommRing_Poly_mulMonM(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; +x_14 = l_Lean_Meta_Grind_Arith_CommRing_nonzeroChar_x3f(x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_14, 0); +x_17 = l_Lean_Grind_CommRing_Poly_mulMon_x27(x_1, x_2, x_3, x_16); +lean_ctor_set(x_14, 0, x_17); +return x_14; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_18 = lean_ctor_get(x_14, 0); +x_19 = lean_ctor_get(x_14, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_14); +x_20 = l_Lean_Grind_CommRing_Poly_mulMon_x27(x_1, x_2, x_3, x_18); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_19); +return x_21; +} +} +else +{ +uint8_t x_22; +lean_dec(x_3); +lean_dec(x_1); +x_22 = !lean_is_exclusive(x_14); +if (x_22 == 0) +{ +return x_14; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_14, 0); +x_24 = lean_ctor_get(x_14, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_14); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Grind_CommRing_Poly_mulMonM___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +_start: +{ +lean_object* x_14; +x_14 = l_Lean_Grind_CommRing_Poly_mulMonM(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +lean_dec(x_2); +return x_14; +} +} +LEAN_EXPORT lean_object* l_Lean_Grind_CommRing_Poly_mulM(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; +x_13 = l_Lean_Meta_Grind_Arith_CommRing_nonzeroChar_x3f(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +if (lean_obj_tag(x_14) == 0) +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_13); +if (x_15 == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_13, 0); +lean_dec(x_16); +x_17 = l_Lean_Grind_CommRing_Poly_mul(x_1, x_2); +lean_ctor_set(x_13, 0, x_17); +return x_13; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_13, 1); +lean_inc(x_18); +lean_dec(x_13); +x_19 = l_Lean_Grind_CommRing_Poly_mul(x_1, x_2); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +return x_20; +} +} +else +{ +uint8_t x_21; +x_21 = !lean_is_exclusive(x_13); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_13, 0); +lean_dec(x_22); +x_23 = lean_ctor_get(x_14, 0); +lean_inc(x_23); +lean_dec(x_14); +x_24 = l_Lean_Grind_CommRing_Poly_mulC(x_1, x_2, x_23); +lean_ctor_set(x_13, 0, x_24); +return x_13; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_25 = lean_ctor_get(x_13, 1); +lean_inc(x_25); +lean_dec(x_13); +x_26 = lean_ctor_get(x_14, 0); +lean_inc(x_26); +lean_dec(x_14); +x_27 = l_Lean_Grind_CommRing_Poly_mulC(x_1, x_2, x_26); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_25); +return x_28; +} +} +} +else +{ +uint8_t x_29; +lean_dec(x_2); +lean_dec(x_1); +x_29 = !lean_is_exclusive(x_13); +if (x_29 == 0) +{ +return x_13; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_13, 0); +x_31 = lean_ctor_get(x_13, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_13); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Grind_CommRing_Poly_combineM(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: +{ +lean_object* x_13; +x_13 = l_Lean_Meta_Grind_Arith_CommRing_nonzeroChar_x3f(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +if (lean_obj_tag(x_13) == 0) +{ +uint8_t x_14; +x_14 = !lean_is_exclusive(x_13); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_13, 0); +x_16 = l_Lean_Grind_CommRing_Poly_combine_x27(x_1, x_2, x_15); +lean_ctor_set(x_13, 0, x_16); +return x_13; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_13, 0); +x_18 = lean_ctor_get(x_13, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_13); +x_19 = l_Lean_Grind_CommRing_Poly_combine_x27(x_1, x_2, x_17); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); +return x_20; +} +} +else +{ +uint8_t x_21; +lean_dec(x_2); +lean_dec(x_1); +x_21 = !lean_is_exclusive(x_13); +if (x_21 == 0) +{ +return x_13; +} +else +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_13, 0); +x_23 = lean_ctor_get(x_13, 1); +lean_inc(x_23); +lean_inc(x_22); +lean_dec(x_13); +x_24 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +return x_24; +} +} +} +} lean_object* initialize_Lean_Meta_Tactic_Grind_Types(uint8_t builtin, lean_object*); +lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_Poly(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_Util(uint8_t builtin, lean_object* w) { lean_object * res; @@ -3360,6 +3658,9 @@ _G_initialized = true; res = initialize_Lean_Meta_Tactic_Grind_Types(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Lean_Meta_Tactic_Grind_Arith_CommRing_Poly(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); l_Lean_Meta_Grind_Arith_CommRing_getRing___closed__1 = _init_l_Lean_Meta_Grind_Arith_CommRing_getRing___closed__1(); lean_mark_persistent(l_Lean_Meta_Grind_Arith_CommRing_getRing___closed__1); l_Lean_Meta_Grind_Arith_CommRing_getRing___closed__2 = _init_l_Lean_Meta_Grind_Arith_CommRing_getRing___closed__2(); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/Cutsat/Search.c b/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/Cutsat/Search.c index 5334e288b4..4a870696c5 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/Cutsat/Search.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Grind/Arith/Cutsat/Search.c @@ -23167,7 +23167,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_Grind_Arith_Cutsat_processVar___lambda__2___closed__4; x_2 = l_Lean_Meta_Grind_Arith_Cutsat_processVar___lambda__2___closed__5; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Meta_Grind_Arith_Cutsat_processVar___lambda__2___closed__6; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Grind/MatchCond.c b/stage0/stdlib/Lean/Meta/Tactic/Grind/MatchCond.c index 5c90ee79f1..b68840f84c 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Grind/MatchCond.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Grind/MatchCond.c @@ -724,7 +724,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Meta_Tactic_Grind_MatchCond_0__Lean_Meta_Grind_replaceLhs_x3f___closed__1; x_2 = l___private_Lean_Meta_Tactic_Grind_MatchCond_0__Lean_Meta_Grind_replaceLhs_x3f___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l___private_Lean_Meta_Tactic_Grind_MatchCond_0__Lean_Meta_Grind_replaceLhs_x3f___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Grind/Proof.c b/stage0/stdlib/Lean/Meta/Tactic/Grind/Proof.c index 99783e525b..1b8ffd4b4a 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Grind/Proof.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Grind/Proof.c @@ -8094,7 +8094,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Meta_Tactic_Grind_Proof_0__Lean_Meta_Grind_mkCongrDefaultProof___closed__1; x_2 = l___private_Lean_Meta_Tactic_Grind_Proof_0__Lean_Meta_Grind_mkCongrDefaultProof___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l___private_Lean_Meta_Tactic_Grind_Proof_0__Lean_Meta_Grind_mkCongrDefaultProof___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Lets.c b/stage0/stdlib/Lean/Meta/Tactic/Lets.c index 0e4165029e..88c5a79c72 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Lets.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Lets.c @@ -8800,7 +8800,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Meta_ExtractLets_extractCore_extractLetFun___closed__1; x_2 = l_Lean_Meta_ExtractLets_extractCore_extractLetFun___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Meta_ExtractLets_extractCore_extractLetFun___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Namespace.c b/stage0/stdlib/Lean/Namespace.c index 072d3c323d..05ddd7d5d5 100644 --- a/stage0/stdlib/Lean/Namespace.c +++ b/stage0/stdlib/Lean/Namespace.c @@ -1124,21 +1124,23 @@ return x_1; static lean_object* _init_l_Lean_initFn____x40_Lean_Namespace___hyg_3____closed__7() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; x_1 = lean_box(0); x_2 = l_Lean_initFn____x40_Lean_Namespace___hyg_3____closed__3; x_3 = l_Lean_initFn____x40_Lean_Namespace___hyg_3____closed__4; x_4 = l_Lean_initFn____x40_Lean_Namespace___hyg_3____closed__5; x_5 = l_Lean_initFn____x40_Lean_Namespace___hyg_3____closed__6; x_6 = 1; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_2); -lean_ctor_set(x_7, 1, x_3); -lean_ctor_set(x_7, 2, x_4); -lean_ctor_set(x_7, 3, x_5); -lean_ctor_set(x_7, 4, x_1); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_6); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_2); +lean_ctor_set(x_8, 1, x_3); +lean_ctor_set(x_8, 2, x_4); +lean_ctor_set(x_8, 3, x_5); +lean_ctor_set(x_8, 4, x_1); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_Namespace___hyg_3_(lean_object* x_1) { diff --git a/stage0/stdlib/Lean/Parser/Types.c b/stage0/stdlib/Lean/Parser/Types.c index 1be84378f6..bbc1c9adbb 100644 --- a/stage0/stdlib/Lean/Parser/Types.c +++ b/stage0/stdlib/Lean/Parser/Types.c @@ -3351,7 +3351,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_ParserState_mkUnexpectedTokenErrors___closed__1; x_2 = l_Lean_Parser_ParserState_mkUnexpectedTokenErrors___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Parser_ParserState_mkUnexpectedTokenErrors___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/ParserCompiler/Attribute.c b/stage0/stdlib/Lean/ParserCompiler/Attribute.c index 3575c6a562..b6600d152b 100644 --- a/stage0/stdlib/Lean/ParserCompiler/Attribute.c +++ b/stage0/stdlib/Lean/ParserCompiler/Attribute.c @@ -1166,7 +1166,7 @@ return x_1; LEAN_EXPORT lean_object* l_Lean_ParserCompiler_registerCombinatorAttribute(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12; +lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13; x_5 = lean_box(0); x_6 = lean_alloc_closure((void*)(l_Lean_mkStateFromImportedEntries___at_Lean_ParserCompiler_registerCombinatorAttribute___spec__1___boxed), 2, 1); lean_closure_set(x_6, 0, x_5); @@ -1174,118 +1174,120 @@ x_7 = lean_box(0); x_8 = l_Lean_ParserCompiler_registerCombinatorAttribute___closed__1; x_9 = l_Lean_ParserCompiler_registerCombinatorAttribute___closed__2; x_10 = 2; +x_11 = 1; lean_inc(x_3); -x_11 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_11, 0, x_3); -lean_ctor_set(x_11, 1, x_8); -lean_ctor_set(x_11, 2, x_6); -lean_ctor_set(x_11, 3, x_9); -lean_ctor_set(x_11, 4, x_7); -lean_ctor_set_uint8(x_11, sizeof(void*)*5, x_10); -x_12 = l_Lean_registerSimplePersistentEnvExtension___rarg(x_11, x_4); -if (lean_obj_tag(x_12) == 0) +x_12 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_12, 0, x_3); +lean_ctor_set(x_12, 1, x_8); +lean_ctor_set(x_12, 2, x_6); +lean_ctor_set(x_12, 3, x_9); +lean_ctor_set(x_12, 4, x_7); +lean_ctor_set_uint8(x_12, sizeof(void*)*5, x_10); +lean_ctor_set_uint8(x_12, sizeof(void*)*5 + 1, x_11); +x_13 = l_Lean_registerSimplePersistentEnvExtension___rarg(x_12, x_4); +if (lean_obj_tag(x_13) == 0) { -lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_13 = lean_ctor_get(x_12, 0); -lean_inc(x_13); -x_14 = lean_ctor_get(x_12, 1); +lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); -lean_dec(x_12); -x_15 = 0; -x_16 = lean_alloc_ctor(0, 3, 1); -lean_ctor_set(x_16, 0, x_3); -lean_ctor_set(x_16, 1, x_1); -lean_ctor_set(x_16, 2, x_2); -lean_ctor_set_uint8(x_16, sizeof(void*)*3, x_15); -lean_inc(x_13); -x_17 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_registerCombinatorAttribute___lambda__2___boxed), 8, 2); -lean_closure_set(x_17, 0, x_7); -lean_closure_set(x_17, 1, x_13); -x_18 = l_Lean_ParserCompiler_registerCombinatorAttribute___closed__3; -x_19 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_19, 0, x_16); -lean_ctor_set(x_19, 1, x_17); -lean_ctor_set(x_19, 2, x_18); -lean_inc(x_19); -x_20 = l_Lean_registerBuiltinAttribute(x_19, x_14); -if (lean_obj_tag(x_20) == 0) -{ -uint8_t x_21; -x_21 = !lean_is_exclusive(x_20); -if (x_21 == 0) -{ -lean_object* x_22; lean_object* x_23; -x_22 = lean_ctor_get(x_20, 0); -lean_dec(x_22); -x_23 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_23, 0, x_19); -lean_ctor_set(x_23, 1, x_13); -lean_ctor_set(x_20, 0, x_23); -return x_20; -} -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_24 = lean_ctor_get(x_20, 1); -lean_inc(x_24); -lean_dec(x_20); -x_25 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_25, 0, x_19); -lean_ctor_set(x_25, 1, x_13); -x_26 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_26, 0, x_25); -lean_ctor_set(x_26, 1, x_24); -return x_26; -} -} -else -{ -uint8_t x_27; -lean_dec(x_19); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); lean_dec(x_13); -x_27 = !lean_is_exclusive(x_20); -if (x_27 == 0) +x_16 = 0; +x_17 = lean_alloc_ctor(0, 3, 1); +lean_ctor_set(x_17, 0, x_3); +lean_ctor_set(x_17, 1, x_1); +lean_ctor_set(x_17, 2, x_2); +lean_ctor_set_uint8(x_17, sizeof(void*)*3, x_16); +lean_inc(x_14); +x_18 = lean_alloc_closure((void*)(l_Lean_ParserCompiler_registerCombinatorAttribute___lambda__2___boxed), 8, 2); +lean_closure_set(x_18, 0, x_7); +lean_closure_set(x_18, 1, x_14); +x_19 = l_Lean_ParserCompiler_registerCombinatorAttribute___closed__3; +x_20 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_20, 0, x_17); +lean_ctor_set(x_20, 1, x_18); +lean_ctor_set(x_20, 2, x_19); +lean_inc(x_20); +x_21 = l_Lean_registerBuiltinAttribute(x_20, x_15); +if (lean_obj_tag(x_21) == 0) { -return x_20; +uint8_t x_22; +x_22 = !lean_is_exclusive(x_21); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_21, 0); +lean_dec(x_23); +x_24 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_24, 0, x_20); +lean_ctor_set(x_24, 1, x_14); +lean_ctor_set(x_21, 0, x_24); +return x_21; } else { -lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_28 = lean_ctor_get(x_20, 0); -x_29 = lean_ctor_get(x_20, 1); -lean_inc(x_29); -lean_inc(x_28); +lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_25 = lean_ctor_get(x_21, 1); +lean_inc(x_25); +lean_dec(x_21); +x_26 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_26, 0, x_20); +lean_ctor_set(x_26, 1, x_14); +x_27 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_27, 1, x_25); +return x_27; +} +} +else +{ +uint8_t x_28; lean_dec(x_20); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_28); -lean_ctor_set(x_30, 1, x_29); -return x_30; +lean_dec(x_14); +x_28 = !lean_is_exclusive(x_21); +if (x_28 == 0) +{ +return x_21; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_21, 0); +x_30 = lean_ctor_get(x_21, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_21); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_29); +lean_ctor_set(x_31, 1, x_30); +return x_31; } } } else { -uint8_t x_31; +uint8_t x_32; lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_31 = !lean_is_exclusive(x_12); -if (x_31 == 0) +x_32 = !lean_is_exclusive(x_13); +if (x_32 == 0) { -return x_12; +return x_13; } else { -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_12, 0); -x_33 = lean_ctor_get(x_12, 1); +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_13, 0); +x_34 = lean_ctor_get(x_13, 1); +lean_inc(x_34); lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_12); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; +lean_dec(x_13); +x_35 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_34); +return x_35; } } } diff --git a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c index 6451b97509..34db8a8ddc 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c @@ -31385,7 +31385,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__6___closed__8; x_2 = l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__6___closed__9; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__6___closed__10; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/ResolveName.c b/stage0/stdlib/Lean/ResolveName.c index 8c9519fb9a..eea7c22541 100644 --- a/stage0/stdlib/Lean/ResolveName.c +++ b/stage0/stdlib/Lean/ResolveName.c @@ -2691,21 +2691,23 @@ return x_1; static lean_object* _init_l_Lean_initFn____x40_Lean_ResolveName___hyg_392____closed__7() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; x_1 = lean_box(0); x_2 = l_Lean_initFn____x40_Lean_ResolveName___hyg_392____closed__3; x_3 = l_Lean_initFn____x40_Lean_ResolveName___hyg_392____closed__4; x_4 = l_Lean_initFn____x40_Lean_ResolveName___hyg_392____closed__5; x_5 = l_Lean_initFn____x40_Lean_ResolveName___hyg_392____closed__6; x_6 = 2; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_2); -lean_ctor_set(x_7, 1, x_3); -lean_ctor_set(x_7, 2, x_4); -lean_ctor_set(x_7, 3, x_5); -lean_ctor_set(x_7, 4, x_1); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_6); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_2); +lean_ctor_set(x_8, 1, x_3); +lean_ctor_set(x_8, 2, x_4); +lean_ctor_set(x_8, 3, x_5); +lean_ctor_set(x_8, 4, x_1); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_initFn____x40_Lean_ResolveName___hyg_392_(lean_object* x_1) { diff --git a/stage0/stdlib/Lean/Server/CodeActions/Basic.c b/stage0/stdlib/Lean/Server/CodeActions/Basic.c index 779ce82437..c5d4d63bab 100644 --- a/stage0/stdlib/Lean/Server/CodeActions/Basic.c +++ b/stage0/stdlib/Lean/Server/CodeActions/Basic.c @@ -1300,21 +1300,23 @@ return x_1; static lean_object* _init_l_Lean_Server_initFn____x40_Lean_Server_CodeActions_Basic___hyg_458____closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; x_1 = lean_box(0); x_2 = l_Lean_Server_initFn____x40_Lean_Server_CodeActions_Basic___hyg_458____closed__2; x_3 = l_Lean_Server_initFn____x40_Lean_Server_CodeActions_Basic___hyg_458____closed__3; x_4 = l_Lean_Server_initFn____x40_Lean_Server_CodeActions_Basic___hyg_458____closed__4; x_5 = l_Lean_Server_initFn____x40_Lean_Server_CodeActions_Basic___hyg_458____closed__5; x_6 = 2; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_2); -lean_ctor_set(x_7, 1, x_3); -lean_ctor_set(x_7, 2, x_4); -lean_ctor_set(x_7, 3, x_5); -lean_ctor_set(x_7, 4, x_1); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_6); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_2); +lean_ctor_set(x_8, 1, x_3); +lean_ctor_set(x_8, 2, x_4); +lean_ctor_set(x_8, 3, x_5); +lean_ctor_set(x_8, 4, x_1); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_Server_initFn____x40_Lean_Server_CodeActions_Basic___hyg_458_(lean_object* x_1) { diff --git a/stage0/stdlib/Lean/Server/Completion/CompletionInfoSelection.c b/stage0/stdlib/Lean/Server/Completion/CompletionInfoSelection.c index 662c44ee27..be3ca18b92 100644 --- a/stage0/stdlib/Lean/Server/Completion/CompletionInfoSelection.c +++ b/stage0/stdlib/Lean/Server/Completion/CompletionInfoSelection.c @@ -663,7 +663,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Server_Completion_findCompletionInfosAt_go___lambda__3___closed__1; x_2 = l_Lean_Server_Completion_findCompletionInfosAt_go___lambda__3___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_Server_Completion_findCompletionInfosAt_go___lambda__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Server/Completion/SyntheticCompletion.c b/stage0/stdlib/Lean/Server/Completion/SyntheticCompletion.c index e8a841c198..cae9bc6107 100644 --- a/stage0/stdlib/Lean/Server/Completion/SyntheticCompletion.c +++ b/stage0/stdlib/Lean/Server/Completion/SyntheticCompletion.c @@ -1209,7 +1209,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l___private_Lean_Server_Completion_SyntheticCompletion_0__Lean_Server_Completion_findSyntheticIdentifierCompletion_x3f___lambda__5___closed__1; x_2 = l___private_Lean_Server_Completion_SyntheticCompletion_0__Lean_Server_Completion_findSyntheticIdentifierCompletion_x3f___lambda__5___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l___private_Lean_Server_Completion_SyntheticCompletion_0__Lean_Server_Completion_findSyntheticIdentifierCompletion_x3f___lambda__5___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c b/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c index af5ba77f06..6cde115bdb 100644 --- a/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c +++ b/stage0/stdlib/Lean/Server/FileWorker/RequestHandling.c @@ -1321,7 +1321,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_findSomeM_x3f___at_Lean_Server_FileWorker_handleHover___spec__2___closed__1; x_2 = l_List_findSomeM_x3f___at_Lean_Server_FileWorker_handleHover___spec__2___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_List_findSomeM_x3f___at_Lean_Server_FileWorker_handleHover___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Server/GoTo.c b/stage0/stdlib/Lean/Server/GoTo.c index 9b48432477..5941eb875a 100644 --- a/stage0/stdlib/Lean/Server/GoTo.c +++ b/stage0/stdlib/Lean/Server/GoTo.c @@ -614,7 +614,7 @@ lean_inc(x_10); lean_dec(x_9); x_11 = l_Lean_instInhabitedDeclarationRanges; x_12 = l_Lean_findDeclarationRangesCore_x3f___at_Lean_Server_locationLinksFromDecl___spec__2___closed__1; -x_13 = 0; +x_13 = 1; x_14 = l_Lean_MapDeclarationExtension_find_x3f___rarg(x_11, x_12, x_10, x_1, x_13); lean_ctor_set(x_7, 0, x_14); return x_7; @@ -632,7 +632,7 @@ lean_inc(x_17); lean_dec(x_15); x_18 = l_Lean_instInhabitedDeclarationRanges; x_19 = l_Lean_findDeclarationRangesCore_x3f___at_Lean_Server_locationLinksFromDecl___spec__2___closed__1; -x_20 = 0; +x_20 = 1; x_21 = l_Lean_MapDeclarationExtension_find_x3f___rarg(x_18, x_19, x_17, x_1, x_20); x_22 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_22, 0, x_21); diff --git a/stage0/stdlib/Lean/Server/InfoUtils.c b/stage0/stdlib/Lean/Server/InfoUtils.c index 64d9eed8d9..9c44ced570 100644 --- a/stage0/stdlib/Lean/Server/InfoUtils.c +++ b/stage0/stdlib/Lean/Server/InfoUtils.c @@ -9547,7 +9547,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_mapTR_loop___at_Lean_Elab_InfoTree_smallestInfo_x3f___spec__8___closed__1; x_2 = l_List_mapTR_loop___at_Lean_Elab_InfoTree_smallestInfo_x3f___spec__8___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_List_mapTR_loop___at_Lean_Elab_InfoTree_smallestInfo_x3f___spec__8___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Server/References.c b/stage0/stdlib/Lean/Server/References.c index 90a9a10cad..370df26a03 100644 --- a/stage0/stdlib/Lean/Server/References.c +++ b/stage0/stdlib/Lean/Server/References.c @@ -676,7 +676,7 @@ lean_inc(x_8); lean_dec(x_7); x_9 = l_Lean_instInhabitedDeclarationRanges; x_10 = l_Lean_findDeclarationRangesCore_x3f___at_Lean_Server_RefInfo_toLspRefInfo___spec__5___closed__1; -x_11 = 0; +x_11 = 1; x_12 = l_Lean_MapDeclarationExtension_find_x3f___rarg(x_9, x_10, x_8, x_1, x_11); lean_ctor_set(x_5, 0, x_12); return x_5; @@ -694,7 +694,7 @@ lean_inc(x_15); lean_dec(x_13); x_16 = l_Lean_instInhabitedDeclarationRanges; x_17 = l_Lean_findDeclarationRangesCore_x3f___at_Lean_Server_RefInfo_toLspRefInfo___spec__5___closed__1; -x_18 = 0; +x_18 = 1; x_19 = l_Lean_MapDeclarationExtension_find_x3f___rarg(x_16, x_17, x_15, x_1, x_18); x_20 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_20, 0, x_19); diff --git a/stage0/stdlib/Lean/Server/Test/Runner.c b/stage0/stdlib/Lean/Server/Test/Runner.c index b264494461..d09a0006d4 100644 --- a/stage0/stdlib/Lean/Server/Test/Runner.c +++ b/stage0/stdlib/Lean/Server/Test/Runner.c @@ -16576,7 +16576,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_List_forIn_x27_loop___at_Lean_Server_Test_Runner_main___spec__32___lambda__2___closed__3; x_2 = l_List_forIn_x27_loop___at_Lean_Server_Test_Runner_main___spec__32___lambda__2___closed__4; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_List_forIn_x27_loop___at_Lean_Server_Test_Runner_main___spec__32___lambda__2___closed__5; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Util/Path.c b/stage0/stdlib/Lean/Util/Path.c index 573e8db78c..a5b9a8ce49 100644 --- a/stage0/stdlib/Lean/Util/Path.c +++ b/stage0/stdlib/Lean/Util/Path.c @@ -1575,7 +1575,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_getBuildDir___closed__1; x_2 = l_Lean_getBuildDir___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Lean_getBuildDir___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Widget/UserWidget.c b/stage0/stdlib/Lean/Widget/UserWidget.c index 12eb24bf72..1ed86cf303 100644 --- a/stage0/stdlib/Lean/Widget/UserWidget.c +++ b/stage0/stdlib/Lean/Widget/UserWidget.c @@ -6067,21 +6067,23 @@ return x_1; static lean_object* _init_l_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_182____closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; uint8_t x_6; uint8_t x_7; lean_object* x_8; x_1 = lean_box(0); x_2 = l_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_182____closed__2; x_3 = l_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_182____closed__3; x_4 = l_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_182____closed__4; x_5 = l_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_182____closed__5; x_6 = 2; -x_7 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_7, 0, x_2); -lean_ctor_set(x_7, 1, x_3); -lean_ctor_set(x_7, 2, x_4); -lean_ctor_set(x_7, 3, x_5); -lean_ctor_set(x_7, 4, x_1); -lean_ctor_set_uint8(x_7, sizeof(void*)*5, x_6); -return x_7; +x_7 = 1; +x_8 = lean_alloc_ctor(0, 5, 2); +lean_ctor_set(x_8, 0, x_2); +lean_ctor_set(x_8, 1, x_3); +lean_ctor_set(x_8, 2, x_4); +lean_ctor_set(x_8, 3, x_5); +lean_ctor_set(x_8, 4, x_1); +lean_ctor_set_uint8(x_8, sizeof(void*)*5, x_6); +lean_ctor_set_uint8(x_8, sizeof(void*)*5 + 1, x_7); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_Widget_initFn____x40_Lean_Widget_UserWidget___hyg_182_(lean_object* x_1) { diff --git a/stage0/stdlib/Std/Data.c b/stage0/stdlib/Std/Data.c index 3a0f1d71ac..71d2286e55 100644 --- a/stage0/stdlib/Std/Data.c +++ b/stage0/stdlib/Std/Data.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Std.Data -// Imports: Std.Data.DHashMap Std.Data.HashMap Std.Data.HashSet Std.Data.DTreeMap Std.Data.TreeMap Std.Data.TreeSet Std.Data.DHashMap.RawLemmas Std.Data.HashMap.RawLemmas Std.Data.HashSet.RawLemmas +// Imports: Std.Data.DHashMap Std.Data.HashMap Std.Data.HashSet Std.Data.DTreeMap Std.Data.TreeMap Std.Data.TreeSet Std.Data.DHashMap.RawLemmas Std.Data.HashMap.RawLemmas Std.Data.HashSet.RawLemmas Std.Data.DTreeMap.Raw Std.Data.TreeMap.Raw Std.Data.TreeSet.Raw #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -22,6 +22,9 @@ lean_object* initialize_Std_Data_TreeSet(uint8_t builtin, lean_object*); lean_object* initialize_Std_Data_DHashMap_RawLemmas(uint8_t builtin, lean_object*); lean_object* initialize_Std_Data_HashMap_RawLemmas(uint8_t builtin, lean_object*); lean_object* initialize_Std_Data_HashSet_RawLemmas(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_DTreeMap_Raw(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_TreeMap_Raw(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_TreeSet_Raw(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Std_Data(uint8_t builtin, lean_object* w) { lean_object * res; @@ -54,6 +57,15 @@ lean_dec_ref(res); res = initialize_Std_Data_HashSet_RawLemmas(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Std_Data_DTreeMap_Raw(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Std_Data_TreeMap_Raw(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Std_Data_TreeSet_Raw(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Std/Data/DHashMap/Internal/Model.c b/stage0/stdlib/Std/Data/DHashMap/Internal/Model.c index 7328a0a998..801b589162 100644 --- a/stage0/stdlib/Std/Data/DHashMap/Internal/Model.c +++ b/stage0/stdlib/Std/Data/DHashMap/Internal/Model.c @@ -776,7 +776,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Std_DHashMap_Internal_Raw_u2080_get_x21_u2098___rarg___closed__1; x_2 = l_Std_DHashMap_Internal_Raw_u2080_get_x21_u2098___rarg___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Std_DHashMap_Internal_Raw_u2080_get_x21_u2098___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Std/Data/DTreeMap.c b/stage0/stdlib/Std/Data/DTreeMap.c index 164b9f34c5..1942cfa15a 100644 --- a/stage0/stdlib/Std/Data/DTreeMap.c +++ b/stage0/stdlib/Std/Data/DTreeMap.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Std.Data.DTreeMap -// Imports: Std.Data.DTreeMap.Basic Std.Data.DTreeMap.AdditionalOperations +// Imports: Std.Data.DTreeMap.Basic Std.Data.DTreeMap.AdditionalOperations Std.Data.DTreeMap.Lemmas #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -15,6 +15,7 @@ extern "C" { #endif lean_object* initialize_Std_Data_DTreeMap_Basic(uint8_t builtin, lean_object*); lean_object* initialize_Std_Data_DTreeMap_AdditionalOperations(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_DTreeMap_Lemmas(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Std_Data_DTreeMap(uint8_t builtin, lean_object* w) { lean_object * res; @@ -26,6 +27,9 @@ lean_dec_ref(res); res = initialize_Std_Data_DTreeMap_AdditionalOperations(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Std_Data_DTreeMap_Lemmas(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Std/Data/DTreeMap/Basic.c b/stage0/stdlib/Std/Data/DTreeMap/Basic.c index 38ca406886..efbd7163d8 100644 --- a/stage0/stdlib/Std/Data/DTreeMap/Basic.c +++ b/stage0/stdlib/Std/Data/DTreeMap/Basic.c @@ -34583,7 +34583,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Std_DTreeMap_getEntryGE_x21___rarg___closed__1; x_2 = l_Std_DTreeMap_getEntryGE_x21___rarg___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Std_DTreeMap_getEntryGE_x21___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Std/Data/DTreeMap/Internal/Model.c b/stage0/stdlib/Std/Data/DTreeMap/Internal/Model.c index 2047de0304..165f2e5c37 100644 --- a/stage0/stdlib/Std/Data/DTreeMap/Internal/Model.c +++ b/stage0/stdlib/Std/Data/DTreeMap/Internal/Model.c @@ -987,7 +987,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Std_DTreeMap_Internal_Impl_get_x21_u2098___rarg___closed__1; x_2 = l_Std_DTreeMap_Internal_Impl_get_x21_u2098___rarg___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Std_DTreeMap_Internal_Impl_get_x21_u2098___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Std/Data/DTreeMap/Internal/Queries.c b/stage0/stdlib/Std/Data/DTreeMap/Internal/Queries.c index cb0455526d..b5a22a2882 100644 --- a/stage0/stdlib/Std/Data/DTreeMap/Internal/Queries.c +++ b/stage0/stdlib/Std/Data/DTreeMap/Internal/Queries.c @@ -5531,7 +5531,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Std_DTreeMap_Internal_Impl_getEntryGE_x21___rarg___closed__1; x_2 = l_Std_DTreeMap_Internal_Impl_getEntryGE_x21___rarg___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Std_DTreeMap_Internal_Impl_getEntryGE_x21___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Std/Data/DTreeMap/Raw.c b/stage0/stdlib/Std/Data/DTreeMap/Raw.c new file mode 100644 index 0000000000..0387914d48 --- /dev/null +++ b/stage0/stdlib/Std/Data/DTreeMap/Raw.c @@ -0,0 +1,41 @@ +// Lean compiler output +// Module: Std.Data.DTreeMap.Raw +// Imports: Std.Data.DTreeMap.Raw.Basic Std.Data.DTreeMap.Raw.AdditionalOperations Std.Data.DTreeMap.Raw.Lemmas Std.Data.DTreeMap.Raw.WF +#include +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wunused-parameter" +#pragma clang diagnostic ignored "-Wunused-label" +#elif defined(__GNUC__) && !defined(__CLANG__) +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-label" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif +#ifdef __cplusplus +extern "C" { +#endif +lean_object* initialize_Std_Data_DTreeMap_Raw_Basic(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_DTreeMap_Raw_AdditionalOperations(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_DTreeMap_Raw_Lemmas(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_DTreeMap_Raw_WF(uint8_t builtin, lean_object*); +static bool _G_initialized = false; +LEAN_EXPORT lean_object* initialize_Std_Data_DTreeMap_Raw(uint8_t builtin, lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Std_Data_DTreeMap_Raw_Basic(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Std_Data_DTreeMap_Raw_AdditionalOperations(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Std_Data_DTreeMap_Raw_Lemmas(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Std_Data_DTreeMap_Raw_WF(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif diff --git a/stage0/stdlib/Std/Data/DTreeMap/Raw/Basic.c b/stage0/stdlib/Std/Data/DTreeMap/Raw/Basic.c index 556e4a8e7b..0140ae923c 100644 --- a/stage0/stdlib/Std/Data/DTreeMap/Raw/Basic.c +++ b/stage0/stdlib/Std/Data/DTreeMap/Raw/Basic.c @@ -38796,7 +38796,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Std_DTreeMap_Raw_getEntryGE_x21___rarg___closed__1; x_2 = l_Std_DTreeMap_Raw_getEntryGE_x21___rarg___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Std_DTreeMap_Raw_getEntryGE_x21___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Std/Data/Internal/List/Associative.c b/stage0/stdlib/Std/Data/Internal/List/Associative.c index 5b2425f1f4..ff637bc443 100644 --- a/stage0/stdlib/Std/Data/Internal/List/Associative.c +++ b/stage0/stdlib/Std/Data/Internal/List/Associative.c @@ -782,7 +782,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Std_Internal_List_getValueCast_x21___rarg___closed__1; x_2 = l_Std_Internal_List_getValueCast_x21___rarg___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Std_Internal_List_getValueCast_x21___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Std/Data/TreeMap.c b/stage0/stdlib/Std/Data/TreeMap.c index 86b706c1ab..c6622b9173 100644 --- a/stage0/stdlib/Std/Data/TreeMap.c +++ b/stage0/stdlib/Std/Data/TreeMap.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Std.Data.TreeMap -// Imports: Std.Data.TreeMap.Basic Std.Data.TreeMap.AdditionalOperations Std.Data.TreeMap.Raw.AdditionalOperations +// Imports: Std.Data.TreeMap.Basic Std.Data.TreeMap.AdditionalOperations Std.Data.TreeMap.Lemmas #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -15,7 +15,7 @@ extern "C" { #endif lean_object* initialize_Std_Data_TreeMap_Basic(uint8_t builtin, lean_object*); lean_object* initialize_Std_Data_TreeMap_AdditionalOperations(uint8_t builtin, lean_object*); -lean_object* initialize_Std_Data_TreeMap_Raw_AdditionalOperations(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_TreeMap_Lemmas(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Std_Data_TreeMap(uint8_t builtin, lean_object* w) { lean_object * res; @@ -27,7 +27,7 @@ lean_dec_ref(res); res = initialize_Std_Data_TreeMap_AdditionalOperations(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Std_Data_TreeMap_Raw_AdditionalOperations(builtin, lean_io_mk_world()); +res = initialize_Std_Data_TreeMap_Lemmas(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Std/Data/TreeMap/Basic.c b/stage0/stdlib/Std/Data/TreeMap/Basic.c index 6d00a4065a..e93613ff5e 100644 --- a/stage0/stdlib/Std/Data/TreeMap/Basic.c +++ b/stage0/stdlib/Std/Data/TreeMap/Basic.c @@ -34400,7 +34400,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Std_TreeMap_getEntryGE_x21___rarg___closed__1; x_2 = l_Std_TreeMap_getEntryGE_x21___rarg___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Std_TreeMap_getEntryGE_x21___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Std/Data/TreeMap/Raw.c b/stage0/stdlib/Std/Data/TreeMap/Raw.c new file mode 100644 index 0000000000..c252b774aa --- /dev/null +++ b/stage0/stdlib/Std/Data/TreeMap/Raw.c @@ -0,0 +1,41 @@ +// Lean compiler output +// Module: Std.Data.TreeMap.Raw +// Imports: Std.Data.TreeMap.Raw.Basic Std.Data.TreeMap.Raw.AdditionalOperations Std.Data.TreeMap.Raw.Lemmas Std.Data.TreeMap.Raw.WF +#include +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wunused-parameter" +#pragma clang diagnostic ignored "-Wunused-label" +#elif defined(__GNUC__) && !defined(__CLANG__) +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-label" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif +#ifdef __cplusplus +extern "C" { +#endif +lean_object* initialize_Std_Data_TreeMap_Raw_Basic(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_TreeMap_Raw_AdditionalOperations(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_TreeMap_Raw_Lemmas(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_TreeMap_Raw_WF(uint8_t builtin, lean_object*); +static bool _G_initialized = false; +LEAN_EXPORT lean_object* initialize_Std_Data_TreeMap_Raw(uint8_t builtin, lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Std_Data_TreeMap_Raw_Basic(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Std_Data_TreeMap_Raw_AdditionalOperations(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Std_Data_TreeMap_Raw_Lemmas(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Std_Data_TreeMap_Raw_WF(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif diff --git a/stage0/stdlib/Std/Data/TreeMap/Raw/Basic.c b/stage0/stdlib/Std/Data/TreeMap/Raw/Basic.c index 36c4a99c98..4a9a9504e9 100644 --- a/stage0/stdlib/Std/Data/TreeMap/Raw/Basic.c +++ b/stage0/stdlib/Std/Data/TreeMap/Raw/Basic.c @@ -38620,7 +38620,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Std_TreeMap_Raw_getEntryGE_x21___rarg___closed__1; x_2 = l_Std_TreeMap_Raw_getEntryGE_x21___rarg___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Std_TreeMap_Raw_getEntryGE_x21___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Std/Data/TreeSet/Basic.c b/stage0/stdlib/Std/Data/TreeSet/Basic.c index 3547453949..5a209cab51 100644 --- a/stage0/stdlib/Std/Data/TreeSet/Basic.c +++ b/stage0/stdlib/Std/Data/TreeSet/Basic.c @@ -23071,7 +23071,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Std_TreeSet_getGE_x21___rarg___closed__1; x_2 = l_Std_TreeSet_getGE_x21___rarg___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Std_TreeSet_getGE_x21___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Std/Data/TreeSet/Raw.c b/stage0/stdlib/Std/Data/TreeSet/Raw.c new file mode 100644 index 0000000000..f4593fc48e --- /dev/null +++ b/stage0/stdlib/Std/Data/TreeSet/Raw.c @@ -0,0 +1,37 @@ +// Lean compiler output +// Module: Std.Data.TreeSet.Raw +// Imports: Std.Data.TreeSet.Raw.Basic Std.Data.TreeSet.Raw.Lemmas Std.Data.TreeSet.Raw.WF +#include +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wunused-parameter" +#pragma clang diagnostic ignored "-Wunused-label" +#elif defined(__GNUC__) && !defined(__CLANG__) +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-label" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif +#ifdef __cplusplus +extern "C" { +#endif +lean_object* initialize_Std_Data_TreeSet_Raw_Basic(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_TreeSet_Raw_Lemmas(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Data_TreeSet_Raw_WF(uint8_t builtin, lean_object*); +static bool _G_initialized = false; +LEAN_EXPORT lean_object* initialize_Std_Data_TreeSet_Raw(uint8_t builtin, lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Std_Data_TreeSet_Raw_Basic(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Std_Data_TreeSet_Raw_Lemmas(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Std_Data_TreeSet_Raw_WF(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif diff --git a/stage0/stdlib/Std/Data/TreeSet/Raw/Basic.c b/stage0/stdlib/Std/Data/TreeSet/Raw/Basic.c index 5edb245620..97cd088e3a 100644 --- a/stage0/stdlib/Std/Data/TreeSet/Raw/Basic.c +++ b/stage0/stdlib/Std/Data/TreeSet/Raw/Basic.c @@ -25925,7 +25925,7 @@ _start: lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Std_TreeSet_Raw_getGE_x21___rarg___closed__1; x_2 = l_Std_TreeSet_Raw_getGE_x21___rarg___closed__2; -x_3 = lean_unsigned_to_nat(19u); +x_3 = lean_unsigned_to_nat(21u); x_4 = lean_unsigned_to_nat(14u); x_5 = l_Std_TreeSet_Raw_getGE_x21___rarg___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Std/Internal/Async.c b/stage0/stdlib/Std/Internal/Async.c index f8b29afa36..1c18a1664c 100644 --- a/stage0/stdlib/Std/Internal/Async.c +++ b/stage0/stdlib/Std/Internal/Async.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Std.Internal.Async -// Imports: Std.Internal.Async.Basic Std.Internal.Async.Timer Std.Internal.Async.TCP Std.Internal.Async.UDP +// Imports: Std.Internal.Async.Basic Std.Internal.Async.Timer Std.Internal.Async.TCP Std.Internal.Async.UDP Std.Internal.Async.Select #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -17,6 +17,7 @@ lean_object* initialize_Std_Internal_Async_Basic(uint8_t builtin, lean_object*); lean_object* initialize_Std_Internal_Async_Timer(uint8_t builtin, lean_object*); lean_object* initialize_Std_Internal_Async_TCP(uint8_t builtin, lean_object*); lean_object* initialize_Std_Internal_Async_UDP(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Internal_Async_Select(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Std_Internal_Async(uint8_t builtin, lean_object* w) { lean_object * res; @@ -34,6 +35,9 @@ lean_dec_ref(res); res = initialize_Std_Internal_Async_UDP(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +res = initialize_Std_Internal_Async_Select(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Std/Internal/Async/Select.c b/stage0/stdlib/Std/Internal/Async/Select.c new file mode 100644 index 0000000000..846b2da38d --- /dev/null +++ b/stage0/stdlib/Std/Internal/Async/Select.c @@ -0,0 +1,1633 @@ +// Lean compiler output +// Module: Std.Internal.Async.Select +// Imports: Init.Data.Array.Basic Init.Data.Random Std.Internal.Async.Basic +#include +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wunused-parameter" +#pragma clang diagnostic ignored "-Wunused-label" +#elif defined(__GNUC__) && !defined(__CLANG__) +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-label" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif +#ifdef __cplusplus +extern "C" { +#endif +LEAN_EXPORT lean_object* l___private_Std_Internal_Async_Select_0__Std_Internal_IO_Async_shuffleIt(lean_object*); +lean_object* lean_io_promise_new(lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__1(lean_object*); +lean_object* lean_array_swap(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__3(lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_EIO_chainTask___rarg(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*); +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Std_Internal_IO_Async_Selectable_one___spec__2___rarg(lean_object*, lean_object*); +lean_object* lean_io_promise_resolve(lean_object*, lean_object*, lean_object*); +lean_object* lean_io_promise_result_opt(lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4(lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__2(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__2(lean_object*, lean_object*, lean_object*, uint8_t); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*); +lean_object* lean_uint64_to_nat(uint64_t); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___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* lean_st_mk_ref(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Std_Internal_Async_Select_0__Std_Internal_IO_Async_shuffleIt_go___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Std_Internal_IO_Async_Selectable_one___spec__2___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Selectable_one___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_io_map_task(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*); +lean_object* l_ST_Prim_Ref_modifyGetUnsafe___rarg___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Task_Priority_default; +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__3___rarg(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*); +static lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg___closed__1; +static lean_object* l_Std_Internal_IO_Async_Selectable_one___rarg___closed__1; +LEAN_EXPORT lean_object* l___private_Std_Internal_Async_Select_0__Std_Internal_IO_Async_shuffleIt___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__3___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Selectable_one(lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_withPromise___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1(uint8_t); +uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Selectable_one___rarg___lambda__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*); +lean_object* l_ByteArray_toUInt64LE_x21(lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Selectable_one___rarg(lean_object*, lean_object*); +lean_object* l_IO_Promise_result_x21___rarg(lean_object*); +lean_object* lean_nat_sub(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*); +size_t lean_usize_add(size_t, size_t); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_withPromise(lean_object*, lean_object*); +lean_object* lean_array_uget(lean_object*, size_t); +size_t lean_array_size(lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_io_error_to_string(lean_object*); +static lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___closed__1; +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___boxed(lean_object*); +lean_object* lean_array_get_size(lean_object*); +uint8_t lean_usize_dec_lt(size_t, size_t); +lean_object* l_mkStdGen(lean_object*); +lean_object* lean_nat_add(lean_object*, lean_object*); +lean_object* lean_io_get_random_bytes(size_t, lean_object*); +static lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___closed__2; +lean_object* l_randNat___at_IO_rand___spec__1(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Std_Internal_Async_Select_0__Std_Internal_IO_Async_shuffleIt_go(lean_object*); +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Std_Internal_IO_Async_Selectable_one___spec__2(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_withPromise___rarg(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; +x_4 = lean_ctor_get(x_1, 1); +lean_dec(x_4); +lean_ctor_set(x_1, 1, x_2); +return x_1; +} +else +{ +lean_object* x_5; lean_object* x_6; +x_5 = lean_ctor_get(x_1, 0); +lean_inc(x_5); +lean_dec(x_1); +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_5); +lean_ctor_set(x_6, 1, x_2); +return x_6; +} +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_withPromise(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_Std_Internal_IO_Async_Waiter_withPromise___rarg), 2, 0); +return x_3; +} +} +static lean_object* _init_l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___closed__1() { +_start: +{ +uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = 1; +x_2 = lean_box(x_1); +x_3 = lean_box(x_1); +x_4 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_4, 0, x_2); +lean_ctor_set(x_4, 1, x_3); +return x_4; +} +} +static lean_object* _init_l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___closed__2() { +_start: +{ +uint8_t x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = 0; +x_2 = 1; +x_3 = lean_box(x_1); +x_4 = lean_box(x_2); +x_5 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_5, 0, x_3); +lean_ctor_set(x_5, 1, x_4); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1(uint8_t x_1) { +_start: +{ +if (x_1 == 0) +{ +lean_object* x_2; +x_2 = l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___closed__1; +return x_2; +} +else +{ +lean_object* x_3; +x_3 = l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___closed__2; +return x_3; +} +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4) { +_start: +{ +if (x_4 == 0) +{ +lean_dec(x_3); +lean_dec(x_2); +lean_inc(x_1); +return x_1; +} +else +{ +lean_object* x_5; lean_object* x_6; +x_5 = lean_ctor_get(x_2, 1); +lean_inc(x_5); +lean_dec(x_2); +x_6 = lean_apply_1(x_3, x_5); +return x_6; +} +} +} +static lean_object* _init_l_Std_Internal_IO_Async_Waiter_race___rarg___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___boxed), 1, 0); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_6 = lean_ctor_get(x_1, 1); +lean_inc(x_6); +lean_dec(x_1); +x_7 = lean_ctor_get(x_3, 0); +lean_inc(x_7); +x_8 = l_Std_Internal_IO_Async_Waiter_race___rarg___closed__1; +x_9 = lean_alloc_closure((void*)(l_ST_Prim_Ref_modifyGetUnsafe___rarg___boxed), 3, 2); +lean_closure_set(x_9, 0, x_7); +lean_closure_set(x_9, 1, x_8); +x_10 = lean_apply_2(x_2, lean_box(0), x_9); +x_11 = lean_alloc_closure((void*)(l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__2___boxed), 4, 3); +lean_closure_set(x_11, 0, x_4); +lean_closure_set(x_11, 1, x_3); +lean_closure_set(x_11, 2, x_5); +x_12 = lean_apply_4(x_6, lean_box(0), lean_box(0), x_10, x_11); +return x_12; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = lean_alloc_closure((void*)(l_Std_Internal_IO_Async_Waiter_race___rarg), 5, 0); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = lean_unbox(x_1); +lean_dec(x_1); +x_3 = l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +uint8_t x_5; lean_object* x_6; +x_5 = lean_unbox(x_4); +lean_dec(x_4); +x_6 = l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__2(x_1, x_2, x_3, x_5); +lean_dec(x_1); +return x_6; +} +} +LEAN_EXPORT lean_object* l___private_Std_Internal_Async_Select_0__Std_Internal_IO_Async_shuffleIt_go___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; lean_object* x_6; uint8_t x_7; +x_4 = lean_array_get_size(x_1); +x_5 = lean_unsigned_to_nat(1u); +x_6 = lean_nat_sub(x_4, x_5); +lean_dec(x_4); +x_7 = lean_nat_dec_lt(x_3, x_6); +if (x_7 == 0) +{ +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +return x_1; +} +else +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_8 = l_randNat___at_IO_rand___spec__1(x_2, x_3, x_6); +lean_dec(x_6); +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +x_10 = lean_ctor_get(x_8, 1); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_array_swap(x_1, x_3, x_9); +lean_dec(x_9); +x_12 = lean_nat_add(x_3, x_5); +lean_dec(x_3); +x_1 = x_11; +x_2 = x_10; +x_3 = x_12; +goto _start; +} +} +} +LEAN_EXPORT lean_object* l___private_Std_Internal_Async_Select_0__Std_Internal_IO_Async_shuffleIt_go(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Std_Internal_Async_Select_0__Std_Internal_IO_Async_shuffleIt_go___rarg), 3, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Std_Internal_Async_Select_0__Std_Internal_IO_Async_shuffleIt___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = lean_unsigned_to_nat(0u); +x_4 = l___private_Std_Internal_Async_Select_0__Std_Internal_IO_Async_shuffleIt_go___rarg(x_1, x_2, x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l___private_Std_Internal_Async_Select_0__Std_Internal_IO_Async_shuffleIt(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l___private_Std_Internal_Async_Select_0__Std_Internal_IO_Async_shuffleIt___rarg), 2, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__1___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, size_t x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +uint8_t x_9; +x_9 = lean_usize_dec_lt(x_6, x_5); +if (x_9 == 0) +{ +lean_object* x_10; +lean_dec(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_7); +lean_ctor_set(x_10, 1, x_8); +return x_10; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +lean_dec(x_7); +x_11 = lean_array_uget(x_4, x_6); +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +lean_dec(x_12); +x_14 = lean_apply_1(x_13, x_8); +if (lean_obj_tag(x_14) == 0) +{ +lean_object* x_15; +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; size_t x_17; size_t x_18; +lean_dec(x_11); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = 1; +x_18 = lean_usize_add(x_6, x_17); +lean_inc(x_3); +{ +size_t _tmp_5 = x_18; +lean_object* _tmp_6 = x_3; +lean_object* _tmp_7 = x_16; +x_6 = _tmp_5; +x_7 = _tmp_6; +x_8 = _tmp_7; +} +goto _start; +} +else +{ +lean_object* x_20; uint8_t x_21; +lean_dec(x_3); +x_20 = lean_ctor_get(x_14, 1); +lean_inc(x_20); +lean_dec(x_14); +x_21 = !lean_is_exclusive(x_15); +if (x_21 == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_15, 0); +x_23 = lean_ctor_get(x_11, 1); +lean_inc(x_23); +lean_dec(x_11); +x_24 = lean_apply_2(x_23, x_22, x_20); +if (lean_obj_tag(x_24) == 0) +{ +uint8_t x_25; +x_25 = !lean_is_exclusive(x_24); +if (x_25 == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_24, 0); +lean_ctor_set(x_15, 0, x_26); +x_27 = lean_box(0); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_15); +lean_ctor_set(x_28, 1, x_27); +lean_ctor_set(x_24, 0, x_28); +return x_24; +} +else +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_29 = lean_ctor_get(x_24, 0); +x_30 = lean_ctor_get(x_24, 1); +lean_inc(x_30); +lean_inc(x_29); +lean_dec(x_24); +lean_ctor_set(x_15, 0, x_29); +x_31 = lean_box(0); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_15); +lean_ctor_set(x_32, 1, x_31); +x_33 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_30); +return x_33; +} +} +else +{ +uint8_t x_34; +lean_free_object(x_15); +x_34 = !lean_is_exclusive(x_24); +if (x_34 == 0) +{ +return x_24; +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_24, 0); +x_36 = lean_ctor_get(x_24, 1); +lean_inc(x_36); +lean_inc(x_35); +lean_dec(x_24); +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; +} +} +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_15, 0); +lean_inc(x_38); +lean_dec(x_15); +x_39 = lean_ctor_get(x_11, 1); +lean_inc(x_39); +lean_dec(x_11); +x_40 = lean_apply_2(x_39, x_38, x_20); +if (lean_obj_tag(x_40) == 0) +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_41 = lean_ctor_get(x_40, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_40, 1); +lean_inc(x_42); +if (lean_is_exclusive(x_40)) { + lean_ctor_release(x_40, 0); + lean_ctor_release(x_40, 1); + x_43 = x_40; +} else { + lean_dec_ref(x_40); + x_43 = lean_box(0); +} +x_44 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_44, 0, x_41); +x_45 = lean_box(0); +x_46 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +if (lean_is_scalar(x_43)) { + x_47 = lean_alloc_ctor(0, 2, 0); +} else { + x_47 = x_43; +} +lean_ctor_set(x_47, 0, x_46); +lean_ctor_set(x_47, 1, x_42); +return x_47; +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_48 = lean_ctor_get(x_40, 0); +lean_inc(x_48); +x_49 = lean_ctor_get(x_40, 1); +lean_inc(x_49); +if (lean_is_exclusive(x_40)) { + lean_ctor_release(x_40, 0); + lean_ctor_release(x_40, 1); + x_50 = x_40; +} else { + lean_dec_ref(x_40); + x_50 = lean_box(0); +} +if (lean_is_scalar(x_50)) { + x_51 = lean_alloc_ctor(1, 2, 0); +} else { + x_51 = x_50; +} +lean_ctor_set(x_51, 0, x_48); +lean_ctor_set(x_51, 1, x_49); +return x_51; +} +} +} +} +else +{ +uint8_t x_52; +lean_dec(x_11); +lean_dec(x_3); +x_52 = !lean_is_exclusive(x_14); +if (x_52 == 0) +{ +return x_14; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_14, 0); +x_54 = lean_ctor_get(x_14, 1); +lean_inc(x_54); +lean_inc(x_53); +lean_dec(x_14); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +return x_55; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__1___rarg___boxed), 8, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Std_Internal_IO_Async_Selectable_one___spec__2___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +if (lean_obj_tag(x_1) == 0) +{ +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; +x_4 = lean_ctor_get(x_1, 0); +x_5 = lean_io_error_to_string(x_4); +lean_ctor_set_tag(x_1, 18); +lean_ctor_set(x_1, 0, x_5); +x_6 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_6, 0, x_1); +lean_ctor_set(x_6, 1, x_2); +return x_6; +} +else +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; +x_7 = lean_ctor_get(x_1, 0); +lean_inc(x_7); +lean_dec(x_1); +x_8 = lean_io_error_to_string(x_7); +x_9 = lean_alloc_ctor(18, 1, 0); +lean_ctor_set(x_9, 0, x_8); +x_10 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_2); +return x_10; +} +} +else +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +lean_dec(x_1); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_2); +return x_12; +} +} +} +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Std_Internal_IO_Async_Selectable_one___spec__2(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_alloc_closure((void*)(l_IO_ofExcept___at_Std_Internal_IO_Async_Selectable_one___spec__2___rarg), 2, 0); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__3___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +uint8_t x_8; +x_8 = lean_usize_dec_lt(x_5, x_4); +if (x_8 == 0) +{ +lean_object* x_9; +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_6); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; +lean_dec(x_6); +x_10 = lean_array_uget(x_3, x_5); +x_11 = lean_ctor_get(x_10, 0); +lean_inc(x_11); +lean_dec(x_10); +x_12 = lean_ctor_get(x_11, 2); +lean_inc(x_12); +lean_dec(x_11); +x_13 = lean_apply_1(x_12, x_7); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; size_t x_15; size_t x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_13, 1); +lean_inc(x_14); +lean_dec(x_13); +x_15 = 1; +x_16 = lean_usize_add(x_5, x_15); +x_17 = lean_box(0); +x_5 = x_16; +x_6 = x_17; +x_7 = x_14; +goto _start; +} +else +{ +uint8_t x_19; +x_19 = !lean_is_exclusive(x_13); +if (x_19 == 0) +{ +return x_13; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_13, 0); +x_21 = lean_ctor_get(x_13, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_13); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__3(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__3___rarg___boxed), 7, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; +x_5 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_3); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = lean_ctor_get(x_2, 0); +lean_inc(x_6); +lean_dec(x_2); +x_7 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_7, 0, x_6); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_3); +return x_8; +} +} +else +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_2); +if (x_9 == 0) +{ +lean_object* x_10; uint8_t x_11; +x_10 = lean_io_promise_resolve(x_2, x_1, x_3); +x_11 = !lean_is_exclusive(x_10); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_10, 0); +x_13 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_10, 0, x_13); +return x_10; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_10, 0); +x_15 = lean_ctor_get(x_10, 1); +lean_inc(x_15); +lean_inc(x_14); +lean_dec(x_10); +x_16 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_16, 0, x_14); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_15); +return x_17; +} +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_18 = lean_ctor_get(x_2, 0); +lean_inc(x_18); +lean_dec(x_2); +x_19 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_19, 0, x_18); +x_20 = lean_io_promise_resolve(x_19, x_1, x_3); +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +if (lean_is_exclusive(x_20)) { + lean_ctor_release(x_20, 0); + lean_ctor_release(x_20, 1); + x_23 = x_20; +} else { + lean_dec_ref(x_20); + x_23 = lean_box(0); +} +x_24 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_24, 0, x_21); +if (lean_is_scalar(x_23)) { + x_25 = lean_alloc_ctor(0, 2, 0); +} else { + x_25 = x_23; +} +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_22); +return x_25; +} +} +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +if (lean_obj_tag(x_7) == 0) +{ +lean_object* x_9; lean_object* x_10; +lean_dec(x_6); +lean_dec(x_1); +x_9 = lean_box(0); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; +} +else +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_7); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_7, 0); +x_13 = l_IO_ofExcept___at_Std_Internal_IO_Async_Selectable_one___spec__2___rarg(x_12, x_8); +if (lean_obj_tag(x_13) == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +lean_dec(x_13); +x_16 = lean_box(0); +x_17 = l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__3___rarg(x_2, x_3, x_2, x_4, x_5, x_16, x_15); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_17, 1); +lean_inc(x_18); +lean_dec(x_17); +x_19 = lean_ctor_get(x_1, 1); +lean_inc(x_19); +lean_dec(x_1); +x_20 = lean_apply_2(x_19, x_14, x_18); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; uint8_t x_27; +lean_free_object(x_7); +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = lean_alloc_closure((void*)(l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__1___boxed), 3, 1); +lean_closure_set(x_23, 0, x_6); +x_24 = l_Task_Priority_default; +x_25 = 0; +x_26 = lean_io_map_task(x_23, x_21, x_24, x_25, x_22); +x_27 = !lean_is_exclusive(x_26); +if (x_27 == 0) +{ +lean_object* x_28; +x_28 = lean_ctor_get(x_26, 0); +lean_dec(x_28); +lean_ctor_set(x_26, 0, x_16); +return x_26; +} +else +{ +lean_object* x_29; lean_object* x_30; +x_29 = lean_ctor_get(x_26, 1); +lean_inc(x_29); +lean_dec(x_26); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_16); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +else +{ +lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; +x_31 = lean_ctor_get(x_20, 0); +lean_inc(x_31); +x_32 = lean_ctor_get(x_20, 1); +lean_inc(x_32); +lean_dec(x_20); +lean_ctor_set_tag(x_7, 0); +lean_ctor_set(x_7, 0, x_31); +x_33 = lean_io_promise_resolve(x_7, x_6, x_32); +lean_dec(x_6); +x_34 = !lean_is_exclusive(x_33); +if (x_34 == 0) +{ +return x_33; +} +else +{ +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_33, 0); +x_36 = lean_ctor_get(x_33, 1); +lean_inc(x_36); +lean_inc(x_35); +lean_dec(x_33); +x_37 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_37, 0, x_35); +lean_ctor_set(x_37, 1, x_36); +return x_37; +} +} +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; uint8_t x_41; +lean_dec(x_14); +lean_dec(x_1); +x_38 = lean_ctor_get(x_17, 0); +lean_inc(x_38); +x_39 = lean_ctor_get(x_17, 1); +lean_inc(x_39); +lean_dec(x_17); +lean_ctor_set_tag(x_7, 0); +lean_ctor_set(x_7, 0, x_38); +x_40 = lean_io_promise_resolve(x_7, x_6, x_39); +lean_dec(x_6); +x_41 = !lean_is_exclusive(x_40); +if (x_41 == 0) +{ +return x_40; +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_40, 0); +x_43 = lean_ctor_get(x_40, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_40); +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_42); +lean_ctor_set(x_44, 1, x_43); +return x_44; +} +} +} +else +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48; +lean_dec(x_1); +x_45 = lean_ctor_get(x_13, 0); +lean_inc(x_45); +x_46 = lean_ctor_get(x_13, 1); +lean_inc(x_46); +lean_dec(x_13); +lean_ctor_set_tag(x_7, 0); +lean_ctor_set(x_7, 0, x_45); +x_47 = lean_io_promise_resolve(x_7, x_6, x_46); +lean_dec(x_6); +x_48 = !lean_is_exclusive(x_47); +if (x_48 == 0) +{ +return x_47; +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_49 = lean_ctor_get(x_47, 0); +x_50 = lean_ctor_get(x_47, 1); +lean_inc(x_50); +lean_inc(x_49); +lean_dec(x_47); +x_51 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +return x_51; +} +} +} +else +{ +lean_object* x_52; lean_object* x_53; +x_52 = lean_ctor_get(x_7, 0); +lean_inc(x_52); +lean_dec(x_7); +x_53 = l_IO_ofExcept___at_Std_Internal_IO_Async_Selectable_one___spec__2___rarg(x_52, x_8); +if (lean_obj_tag(x_53) == 0) +{ +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; +x_54 = lean_ctor_get(x_53, 0); +lean_inc(x_54); +x_55 = lean_ctor_get(x_53, 1); +lean_inc(x_55); +lean_dec(x_53); +x_56 = lean_box(0); +x_57 = l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__3___rarg(x_2, x_3, x_2, x_4, x_5, x_56, x_55); +if (lean_obj_tag(x_57) == 0) +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_57, 1); +lean_inc(x_58); +lean_dec(x_57); +x_59 = lean_ctor_get(x_1, 1); +lean_inc(x_59); +lean_dec(x_1); +x_60 = lean_apply_2(x_59, x_54, x_58); +if (lean_obj_tag(x_60) == 0) +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_ctor_get(x_60, 1); +lean_inc(x_62); +lean_dec(x_60); +x_63 = lean_alloc_closure((void*)(l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__1___boxed), 3, 1); +lean_closure_set(x_63, 0, x_6); +x_64 = l_Task_Priority_default; +x_65 = 0; +x_66 = lean_io_map_task(x_63, x_61, x_64, x_65, x_62); +x_67 = lean_ctor_get(x_66, 1); +lean_inc(x_67); +if (lean_is_exclusive(x_66)) { + lean_ctor_release(x_66, 0); + lean_ctor_release(x_66, 1); + x_68 = x_66; +} else { + lean_dec_ref(x_66); + x_68 = lean_box(0); +} +if (lean_is_scalar(x_68)) { + x_69 = lean_alloc_ctor(0, 2, 0); +} else { + x_69 = x_68; +} +lean_ctor_set(x_69, 0, x_56); +lean_ctor_set(x_69, 1, x_67); +return x_69; +} +else +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_70 = lean_ctor_get(x_60, 0); +lean_inc(x_70); +x_71 = lean_ctor_get(x_60, 1); +lean_inc(x_71); +lean_dec(x_60); +x_72 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_72, 0, x_70); +x_73 = lean_io_promise_resolve(x_72, x_6, x_71); +lean_dec(x_6); +x_74 = lean_ctor_get(x_73, 0); +lean_inc(x_74); +x_75 = lean_ctor_get(x_73, 1); +lean_inc(x_75); +if (lean_is_exclusive(x_73)) { + lean_ctor_release(x_73, 0); + lean_ctor_release(x_73, 1); + x_76 = x_73; +} else { + lean_dec_ref(x_73); + x_76 = lean_box(0); +} +if (lean_is_scalar(x_76)) { + x_77 = lean_alloc_ctor(0, 2, 0); +} else { + x_77 = x_76; +} +lean_ctor_set(x_77, 0, x_74); +lean_ctor_set(x_77, 1, x_75); +return x_77; +} +} +else +{ +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; +lean_dec(x_54); +lean_dec(x_1); +x_78 = lean_ctor_get(x_57, 0); +lean_inc(x_78); +x_79 = lean_ctor_get(x_57, 1); +lean_inc(x_79); +lean_dec(x_57); +x_80 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_80, 0, x_78); +x_81 = lean_io_promise_resolve(x_80, x_6, x_79); +lean_dec(x_6); +x_82 = lean_ctor_get(x_81, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_81, 1); +lean_inc(x_83); +if (lean_is_exclusive(x_81)) { + lean_ctor_release(x_81, 0); + lean_ctor_release(x_81, 1); + x_84 = x_81; +} else { + lean_dec_ref(x_81); + x_84 = lean_box(0); +} +if (lean_is_scalar(x_84)) { + x_85 = lean_alloc_ctor(0, 2, 0); +} else { + x_85 = x_84; +} +lean_ctor_set(x_85, 0, x_82); +lean_ctor_set(x_85, 1, x_83); +return x_85; +} +} +else +{ +lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; +lean_dec(x_1); +x_86 = lean_ctor_get(x_53, 0); +lean_inc(x_86); +x_87 = lean_ctor_get(x_53, 1); +lean_inc(x_87); +lean_dec(x_53); +x_88 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_88, 0, x_86); +x_89 = lean_io_promise_resolve(x_88, x_6, x_87); +lean_dec(x_6); +x_90 = lean_ctor_get(x_89, 0); +lean_inc(x_90); +x_91 = lean_ctor_get(x_89, 1); +lean_inc(x_91); +if (lean_is_exclusive(x_89)) { + lean_ctor_release(x_89, 0); + lean_ctor_release(x_89, 1); + x_92 = x_89; +} else { + lean_dec_ref(x_89); + x_92 = lean_box(0); +} +if (lean_is_scalar(x_92)) { + x_93 = lean_alloc_ctor(0, 2, 0); +} else { + x_93 = x_92; +} +lean_ctor_set(x_93, 0, x_90); +lean_ctor_set(x_93, 1, x_91); +return x_93; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, size_t x_8, size_t x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +uint8_t x_12; +x_12 = lean_usize_dec_lt(x_9, x_8); +if (x_12 == 0) +{ +lean_object* x_13; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +lean_dec(x_1); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_10); +lean_ctor_set(x_13, 1, x_11); +return x_13; +} +else +{ +lean_object* x_14; lean_object* x_15; uint8_t x_16; +lean_dec(x_10); +x_14 = lean_array_uget(x_7, x_9); +x_15 = lean_io_promise_new(x_11); +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_17 = lean_ctor_get(x_15, 0); +x_18 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_inc(x_5); +lean_ctor_set(x_15, 1, x_17); +lean_ctor_set(x_15, 0, x_5); +x_19 = lean_ctor_get(x_14, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_19, 1); +lean_inc(x_20); +lean_dec(x_19); +x_21 = lean_apply_2(x_20, x_15, x_18); +if (lean_obj_tag(x_21) == 0) +{ +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; lean_object* x_29; lean_object* x_30; size_t x_31; size_t x_32; lean_object* x_33; +x_22 = lean_ctor_get(x_21, 1); +lean_inc(x_22); +lean_dec(x_21); +x_23 = lean_io_promise_result_opt(x_17); +lean_dec(x_17); +x_24 = lean_box_usize(x_3); +x_25 = lean_box_usize(x_4); +lean_inc(x_6); +lean_inc(x_2); +lean_inc(x_1); +x_26 = lean_alloc_closure((void*)(l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__2___boxed), 8, 6); +lean_closure_set(x_26, 0, x_14); +lean_closure_set(x_26, 1, x_1); +lean_closure_set(x_26, 2, x_2); +lean_closure_set(x_26, 3, x_24); +lean_closure_set(x_26, 4, x_25); +lean_closure_set(x_26, 5, x_6); +x_27 = l_Task_Priority_default; +x_28 = 0; +x_29 = l_EIO_chainTask___rarg(x_23, x_26, x_27, x_28, x_22); +x_30 = lean_ctor_get(x_29, 1); +lean_inc(x_30); +lean_dec(x_29); +x_31 = 1; +x_32 = lean_usize_add(x_9, x_31); +x_33 = lean_box(0); +x_9 = x_32; +x_10 = x_33; +x_11 = x_30; +goto _start; +} +else +{ +uint8_t x_35; +lean_dec(x_17); +lean_dec(x_14); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +lean_dec(x_1); +x_35 = !lean_is_exclusive(x_21); +if (x_35 == 0) +{ +return x_21; +} +else +{ +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_21, 0); +x_37 = lean_ctor_get(x_21, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_21); +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +return x_38; +} +} +} +else +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_39 = lean_ctor_get(x_15, 0); +x_40 = lean_ctor_get(x_15, 1); +lean_inc(x_40); +lean_inc(x_39); +lean_dec(x_15); +lean_inc(x_39); +lean_inc(x_5); +x_41 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_41, 0, x_5); +lean_ctor_set(x_41, 1, x_39); +x_42 = lean_ctor_get(x_14, 0); +lean_inc(x_42); +x_43 = lean_ctor_get(x_42, 1); +lean_inc(x_43); +lean_dec(x_42); +x_44 = lean_apply_2(x_43, x_41, x_40); +if (lean_obj_tag(x_44) == 0) +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; uint8_t x_51; lean_object* x_52; lean_object* x_53; size_t x_54; size_t x_55; lean_object* x_56; +x_45 = lean_ctor_get(x_44, 1); +lean_inc(x_45); +lean_dec(x_44); +x_46 = lean_io_promise_result_opt(x_39); +lean_dec(x_39); +x_47 = lean_box_usize(x_3); +x_48 = lean_box_usize(x_4); +lean_inc(x_6); +lean_inc(x_2); +lean_inc(x_1); +x_49 = lean_alloc_closure((void*)(l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__2___boxed), 8, 6); +lean_closure_set(x_49, 0, x_14); +lean_closure_set(x_49, 1, x_1); +lean_closure_set(x_49, 2, x_2); +lean_closure_set(x_49, 3, x_47); +lean_closure_set(x_49, 4, x_48); +lean_closure_set(x_49, 5, x_6); +x_50 = l_Task_Priority_default; +x_51 = 0; +x_52 = l_EIO_chainTask___rarg(x_46, x_49, x_50, x_51, x_45); +x_53 = lean_ctor_get(x_52, 1); +lean_inc(x_53); +lean_dec(x_52); +x_54 = 1; +x_55 = lean_usize_add(x_9, x_54); +x_56 = lean_box(0); +x_9 = x_55; +x_10 = x_56; +x_11 = x_53; +goto _start; +} +else +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; +lean_dec(x_39); +lean_dec(x_14); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +lean_dec(x_1); +x_58 = lean_ctor_get(x_44, 0); +lean_inc(x_58); +x_59 = lean_ctor_get(x_44, 1); +lean_inc(x_59); +if (lean_is_exclusive(x_44)) { + lean_ctor_release(x_44, 0); + lean_ctor_release(x_44, 1); + x_60 = x_44; +} else { + lean_dec_ref(x_44); + x_60 = lean_box(0); +} +if (lean_is_scalar(x_60)) { + x_61 = lean_alloc_ctor(1, 2, 0); +} else { + x_61 = x_60; +} +lean_ctor_set(x_61, 0, x_58); +lean_ctor_set(x_61, 1, x_59); +return x_61; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___boxed), 11, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Selectable_one___rarg___lambda__1(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +uint8_t x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_7 = 0; +x_8 = lean_box(x_7); +x_9 = lean_st_mk_ref(x_8, x_6); +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = lean_io_promise_new(x_11); +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec(x_12); +x_15 = lean_box(0); +lean_inc(x_13); +lean_inc(x_1); +x_16 = l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg(x_1, x_2, x_3, x_4, x_10, x_13, x_1, x_3, x_4, x_15, x_14); +lean_dec(x_1); +if (lean_obj_tag(x_16) == 0) +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_16); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; +x_18 = lean_ctor_get(x_16, 0); +lean_dec(x_18); +x_19 = l_IO_Promise_result_x21___rarg(x_13); +lean_dec(x_13); +lean_ctor_set(x_16, 0, x_19); +return x_16; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_16, 1); +lean_inc(x_20); +lean_dec(x_16); +x_21 = l_IO_Promise_result_x21___rarg(x_13); +lean_dec(x_13); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_20); +return x_22; +} +} +else +{ +uint8_t x_23; +lean_dec(x_13); +x_23 = !lean_is_exclusive(x_16); +if (x_23 == 0) +{ +return x_16; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_16, 0); +x_25 = lean_ctor_get(x_16, 1); +lean_inc(x_25); +lean_inc(x_24); +lean_dec(x_16); +x_26 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_25); +return x_26; +} +} +} +} +static lean_object* _init_l_Std_Internal_IO_Async_Selectable_one___rarg___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = lean_box(0); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Selectable_one___rarg(lean_object* x_1, lean_object* x_2) { +_start: +{ +size_t x_3; lean_object* x_4; +x_3 = 8; +x_4 = lean_io_get_random_bytes(x_3, x_2); +if (lean_obj_tag(x_4) == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint64_t x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; size_t x_14; size_t x_15; lean_object* x_16; lean_object* x_17; +x_5 = lean_ctor_get(x_4, 0); +lean_inc(x_5); +x_6 = lean_ctor_get(x_4, 1); +lean_inc(x_6); +lean_dec(x_4); +x_7 = l_ByteArray_toUInt64LE_x21(x_5); +lean_dec(x_5); +x_8 = lean_unbox_uint64(x_7); +lean_dec(x_7); +x_9 = lean_uint64_to_nat(x_8); +x_10 = l_mkStdGen(x_9); +lean_dec(x_9); +x_11 = lean_unsigned_to_nat(0u); +x_12 = l___private_Std_Internal_Async_Select_0__Std_Internal_IO_Async_shuffleIt_go___rarg(x_1, x_10, x_11); +x_13 = lean_box(0); +x_14 = lean_array_size(x_12); +x_15 = 0; +x_16 = l_Std_Internal_IO_Async_Selectable_one___rarg___closed__1; +x_17 = l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__1___rarg(x_12, x_13, x_16, x_12, x_14, x_15, x_16, x_6); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; lean_object* x_19; +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +lean_dec(x_18); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_17, 1); +lean_inc(x_20); +lean_dec(x_17); +x_21 = lean_box(0); +x_22 = l_Std_Internal_IO_Async_Selectable_one___rarg___lambda__1(x_12, x_13, x_14, x_15, x_21, x_20); +return x_22; +} +else +{ +uint8_t x_23; +lean_dec(x_12); +x_23 = !lean_is_exclusive(x_17); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; +x_24 = lean_ctor_get(x_17, 0); +lean_dec(x_24); +x_25 = lean_ctor_get(x_19, 0); +lean_inc(x_25); +lean_dec(x_19); +lean_ctor_set(x_17, 0, x_25); +return x_17; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_17, 1); +lean_inc(x_26); +lean_dec(x_17); +x_27 = lean_ctor_get(x_19, 0); +lean_inc(x_27); +lean_dec(x_19); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_26); +return x_28; +} +} +} +else +{ +uint8_t x_29; +lean_dec(x_12); +x_29 = !lean_is_exclusive(x_17); +if (x_29 == 0) +{ +return x_17; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_17, 0); +x_31 = lean_ctor_get(x_17, 1); +lean_inc(x_31); +lean_inc(x_30); +lean_dec(x_17); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_30); +lean_ctor_set(x_32, 1, x_31); +return x_32; +} +} +} +else +{ +uint8_t x_33; +lean_dec(x_1); +x_33 = !lean_is_exclusive(x_4); +if (x_33 == 0) +{ +return x_4; +} +else +{ +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_4, 0); +x_35 = lean_ctor_get(x_4, 1); +lean_inc(x_35); +lean_inc(x_34); +lean_dec(x_4); +x_36 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +return x_36; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Selectable_one(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Std_Internal_IO_Async_Selectable_one___rarg), 2, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__1___rarg___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) { +_start: +{ +size_t x_9; size_t x_10; lean_object* x_11; +x_9 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_10 = lean_unbox_usize(x_6); +lean_dec(x_6); +x_11 = l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__1___rarg(x_1, x_2, x_3, x_4, x_9, x_10, x_7, x_8); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +return x_11; +} +} +LEAN_EXPORT lean_object* l_IO_ofExcept___at_Std_Internal_IO_Async_Selectable_one___spec__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_IO_ofExcept___at_Std_Internal_IO_Async_Selectable_one___spec__2(x_1, x_2); +lean_dec(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__3___rarg___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) { +_start: +{ +size_t x_8; size_t x_9; lean_object* x_10; +x_8 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_9 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_10 = l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__3___rarg(x_1, x_2, x_3, x_8, x_9, x_6, x_7); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__1(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +size_t x_9; size_t x_10; lean_object* x_11; +x_9 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_10 = lean_unbox_usize(x_5); +lean_dec(x_5); +x_11 = l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___lambda__2(x_1, x_2, x_3, x_9, x_10, x_6, x_7, x_8); +lean_dec(x_3); +lean_dec(x_2); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +size_t x_12; size_t x_13; size_t x_14; size_t x_15; lean_object* x_16; +x_12 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_13 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_14 = lean_unbox_usize(x_8); +lean_dec(x_8); +x_15 = lean_unbox_usize(x_9); +lean_dec(x_9); +x_16 = l_Array_forIn_x27Unsafe_loop___at_Std_Internal_IO_Async_Selectable_one___spec__4___rarg(x_1, x_2, x_12, x_13, x_5, x_6, x_7, x_14, x_15, x_10, x_11); +lean_dec(x_7); +return x_16; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Selectable_one___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +size_t x_7; size_t x_8; lean_object* x_9; +x_7 = lean_unbox_usize(x_3); +lean_dec(x_3); +x_8 = lean_unbox_usize(x_4); +lean_dec(x_4); +x_9 = l_Std_Internal_IO_Async_Selectable_one___rarg___lambda__1(x_1, x_2, x_7, x_8, x_5, x_6); +lean_dec(x_5); +return x_9; +} +} +lean_object* initialize_Init_Data_Array_Basic(uint8_t builtin, lean_object*); +lean_object* initialize_Init_Data_Random(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Internal_Async_Basic(uint8_t builtin, lean_object*); +static bool _G_initialized = false; +LEAN_EXPORT lean_object* initialize_Std_Internal_Async_Select(uint8_t builtin, lean_object* w) { +lean_object * res; +if (_G_initialized) return lean_io_result_mk_ok(lean_box(0)); +_G_initialized = true; +res = initialize_Init_Data_Array_Basic(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Init_Data_Random(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +res = initialize_Std_Internal_Async_Basic(builtin, lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___closed__1 = _init_l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___closed__1(); +lean_mark_persistent(l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___closed__1); +l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___closed__2 = _init_l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___closed__2(); +lean_mark_persistent(l_Std_Internal_IO_Async_Waiter_race___rarg___lambda__1___closed__2); +l_Std_Internal_IO_Async_Waiter_race___rarg___closed__1 = _init_l_Std_Internal_IO_Async_Waiter_race___rarg___closed__1(); +lean_mark_persistent(l_Std_Internal_IO_Async_Waiter_race___rarg___closed__1); +l_Std_Internal_IO_Async_Selectable_one___rarg___closed__1 = _init_l_Std_Internal_IO_Async_Selectable_one___rarg___closed__1(); +lean_mark_persistent(l_Std_Internal_IO_Async_Selectable_one___rarg___closed__1); +return lean_io_result_mk_ok(lean_box(0)); +} +#ifdef __cplusplus +} +#endif diff --git a/stage0/stdlib/Std/Internal/Async/Timer.c b/stage0/stdlib/Std/Internal/Async/Timer.c index 09a3f64776..fc476a3352 100644 --- a/stage0/stdlib/Std/Internal/Async/Timer.c +++ b/stage0/stdlib/Std/Internal/Async/Timer.c @@ -1,6 +1,6 @@ // Lean compiler output // Module: Std.Internal.Async.Timer -// Imports: Std.Time Std.Internal.UV Std.Internal.Async.Basic +// Imports: Std.Time Std.Internal.UV.Timer Std.Internal.Async.Select #include #if defined(__clang__) #pragma clang diagnostic ignored "-Wunused-parameter" @@ -14,64 +14,88 @@ extern "C" { #endif LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Interval_mk(lean_object*, lean_object*, lean_object*); +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__23; +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__12; LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_sleep(lean_object*, lean_object*); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__11; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__22; -LEAN_EXPORT lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141_; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__14; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__7; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__4; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__15; lean_object* lean_uv_timer_next(lean_object*, lean_object*); uint64_t lean_uint64_of_nat(lean_object*); +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__8; lean_object* lean_array_push(lean_object*, lean_object*); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__2; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__9; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__18; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__18; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__2; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__6; LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_stop(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__1___boxed(lean_object*, lean_object*); +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__5; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__24; LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_wait(lean_object*, lean_object*); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__13; LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Interval_mk___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Interval_stop(lean_object*, lean_object*); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__17; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__15; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__20; +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Selector_sleep(lean_object*, lean_object*); +lean_object* lean_io_promise_resolve(lean_object*, lean_object*, lean_object*); +lean_object* lean_st_ref_take(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_mk(lean_object*, lean_object*); lean_object* lean_uv_timer_stop(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Interval_tick___boxed(lean_object*, lean_object*); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__3; +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__2(uint8_t, lean_object*); lean_object* l_Except_pure___rarg(lean_object*); lean_object* lean_uv_timer_reset(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_sleep___boxed(lean_object*, lean_object*); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__8; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__25; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__3; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__9; +lean_object* l_EStateM_pure___rarg(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Selector_sleep___boxed(lean_object*, lean_object*); +lean_object* lean_io_map_task(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*); +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__14; extern lean_object* l_Task_Priority_default; lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__27; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__12; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__19; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__26; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__24; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__10; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__25; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__20; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__22; +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__4(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_reset___boxed(lean_object*, lean_object*); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__16; +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__2___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314_; LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Interval_stop___boxed(lean_object*, lean_object*); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__1; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__23; -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__4; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__27; +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__3___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__3(lean_object*, lean_object*, lean_object*); +lean_object* lean_io_get_task_state(lean_object*, lean_object*); lean_object* l_Int_toNat(lean_object*); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__7; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__17; lean_object* l_IO_Promise_result_x21___rarg(lean_object*); +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__13; lean_object* lean_task_map(lean_object*, lean_object*, lean_object*, uint8_t); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__21; LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Interval_reset(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_mk___boxed(lean_object*, lean_object*); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__6; LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_wait___boxed(lean_object*, lean_object*); -static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__5; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__26; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__11; +static lean_object* l_Std_Internal_IO_Async_Sleep_selector___closed__1; +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Interval_tick(lean_object*, lean_object*); +lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Interval_reset___boxed(lean_object*, lean_object*); +static lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__3___closed__1; lean_object* lean_uv_timer_mk(uint64_t, uint8_t, lean_object*); +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__21; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__16; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__19; LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_stop___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_reset(lean_object*, lean_object*); +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__10; +static lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__2___closed__1; +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1(lean_object*, lean_object*, lean_object*); +lean_object* l_EStateM_bind___rarg(lean_object*, lean_object*, lean_object*); +static lean_object* l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1___closed__1; +static lean_object* l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__1; +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__1(lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); static lean_object* l_Std_Internal_IO_Async_Sleep_wait___closed__1; LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_mk(lean_object* x_1, lean_object* x_2) { @@ -255,6 +279,547 @@ lean_dec(x_1); return x_3; } } +static lean_object* _init_l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_box(0); +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; lean_object* x_5; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_15 = lean_ctor_get(x_1, 0); +x_16 = lean_st_ref_take(x_15, x_3); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_unbox(x_17); +lean_dec(x_17); +if (x_18 == 0) +{ +lean_object* x_19; uint8_t x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +lean_dec(x_16); +x_20 = 1; +x_21 = lean_box(x_20); +x_22 = lean_st_ref_set(x_15, x_21, x_19); +x_23 = lean_ctor_get(x_22, 1); +lean_inc(x_23); +lean_dec(x_22); +x_4 = x_20; +x_5 = x_23; +goto block_14; +} +else +{ +lean_object* x_24; uint8_t x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; +x_24 = lean_ctor_get(x_16, 1); +lean_inc(x_24); +lean_dec(x_16); +x_25 = 1; +x_26 = lean_box(x_25); +x_27 = lean_st_ref_set(x_15, x_26, x_24); +x_28 = lean_ctor_get(x_27, 1); +lean_inc(x_28); +lean_dec(x_27); +x_29 = 0; +x_4 = x_29; +x_5 = x_28; +goto block_14; +} +block_14: +{ +if (x_4 == 0) +{ +lean_object* x_6; +x_6 = lean_apply_1(x_2, x_5); +return x_6; +} +else +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; +lean_dec(x_2); +x_7 = lean_ctor_get(x_1, 1); +x_8 = l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1___closed__1; +x_9 = lean_io_promise_resolve(x_8, x_7, x_5); +x_10 = !lean_is_exclusive(x_9); +if (x_10 == 0) +{ +return x_9; +} +else +{ +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); +lean_inc(x_12); +lean_inc(x_11); +lean_dec(x_9); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; lean_object* x_4; +x_3 = lean_io_get_task_state(x_1, x_2); +x_4 = lean_ctor_get(x_3, 0); +lean_inc(x_4); +if (lean_obj_tag(x_4) == 2) +{ +uint8_t x_5; +x_5 = !lean_is_exclusive(x_3); +if (x_5 == 0) +{ +lean_object* x_6; uint8_t x_7; lean_object* x_8; +x_6 = lean_ctor_get(x_3, 0); +lean_dec(x_6); +x_7 = 1; +x_8 = lean_box(x_7); +lean_ctor_set(x_3, 0, x_8); +return x_3; +} +else +{ +lean_object* x_9; uint8_t x_10; lean_object* x_11; lean_object* x_12; +x_9 = lean_ctor_get(x_3, 1); +lean_inc(x_9); +lean_dec(x_3); +x_10 = 1; +x_11 = lean_box(x_10); +x_12 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_12, 0, x_11); +lean_ctor_set(x_12, 1, x_9); +return x_12; +} +} +else +{ +uint8_t x_13; +lean_dec(x_4); +x_13 = !lean_is_exclusive(x_3); +if (x_13 == 0) +{ +lean_object* x_14; uint8_t x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_3, 0); +lean_dec(x_14); +x_15 = 0; +x_16 = lean_box(x_15); +lean_ctor_set(x_3, 0, x_16); +return x_3; +} +else +{ +lean_object* x_17; uint8_t x_18; lean_object* x_19; lean_object* x_20; +x_17 = lean_ctor_get(x_3, 1); +lean_inc(x_17); +lean_dec(x_3); +x_18 = 0; +x_19 = lean_box(x_18); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_17); +return x_20; +} +} +} +} +static lean_object* _init_l_Std_Internal_IO_Async_Sleep_selector___lambda__2___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_box(0); +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__2(uint8_t x_1, lean_object* x_2) { +_start: +{ +if (x_1 == 0) +{ +lean_object* x_3; lean_object* x_4; +x_3 = lean_box(0); +x_4 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_4, 0, x_3); +lean_ctor_set(x_4, 1, x_2); +return x_4; +} +else +{ +lean_object* x_5; lean_object* x_6; +x_5 = l_Std_Internal_IO_Async_Sleep_selector___lambda__2___closed__1; +x_6 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_6, 0, x_5); +lean_ctor_set(x_6, 1, x_2); +return x_6; +} +} +} +static lean_object* _init_l_Std_Internal_IO_Async_Sleep_selector___lambda__3___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_box(0); +x_2 = lean_alloc_closure((void*)(l_EStateM_pure___rarg), 2, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_4; +x_4 = !lean_is_exclusive(x_2); +if (x_4 == 0) +{ +lean_object* x_5; +x_5 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_5, 0, x_2); +lean_ctor_set(x_5, 1, x_3); +return x_5; +} +else +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = lean_ctor_get(x_2, 0); +lean_inc(x_6); +lean_dec(x_2); +x_7 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_7, 0, x_6); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_3); +return x_8; +} +} +else +{ +uint8_t x_9; +x_9 = !lean_is_exclusive(x_2); +if (x_9 == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_ctor_get(x_2, 0); +lean_dec(x_10); +x_11 = l_Std_Internal_IO_Async_Sleep_selector___lambda__3___closed__1; +x_12 = l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1(x_1, x_11, x_3); +if (lean_obj_tag(x_12) == 0) +{ +uint8_t x_13; +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; +x_14 = lean_ctor_get(x_12, 0); +lean_ctor_set(x_2, 0, x_14); +lean_ctor_set(x_12, 0, x_2); +return x_12; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_12, 0); +x_16 = lean_ctor_get(x_12, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_12); +lean_ctor_set(x_2, 0, x_15); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_2); +lean_ctor_set(x_17, 1, x_16); +return x_17; +} +} +else +{ +uint8_t x_18; +x_18 = !lean_is_exclusive(x_12); +if (x_18 == 0) +{ +lean_object* x_19; +x_19 = lean_ctor_get(x_12, 0); +lean_ctor_set_tag(x_2, 0); +lean_ctor_set(x_2, 0, x_19); +lean_ctor_set_tag(x_12, 0); +lean_ctor_set(x_12, 0, x_2); +return x_12; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_12, 0); +x_21 = lean_ctor_get(x_12, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_12); +lean_ctor_set_tag(x_2, 0); +lean_ctor_set(x_2, 0, x_20); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_2); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +} +else +{ +lean_object* x_23; lean_object* x_24; +lean_dec(x_2); +x_23 = l_Std_Internal_IO_Async_Sleep_selector___lambda__3___closed__1; +x_24 = l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1(x_1, x_23, x_3); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; +x_25 = lean_ctor_get(x_24, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +if (lean_is_exclusive(x_24)) { + lean_ctor_release(x_24, 0); + lean_ctor_release(x_24, 1); + x_27 = x_24; +} else { + lean_dec_ref(x_24); + x_27 = lean_box(0); +} +x_28 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_28, 0, x_25); +if (lean_is_scalar(x_27)) { + x_29 = lean_alloc_ctor(0, 2, 0); +} else { + x_29 = x_27; +} +lean_ctor_set(x_29, 0, x_28); +lean_ctor_set(x_29, 1, x_26); +return x_29; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_30 = lean_ctor_get(x_24, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_24, 1); +lean_inc(x_31); +if (lean_is_exclusive(x_24)) { + lean_ctor_release(x_24, 0); + lean_ctor_release(x_24, 1); + x_32 = x_24; +} else { + lean_dec_ref(x_24); + x_32 = lean_box(0); +} +x_33 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_33, 0, x_30); +if (lean_is_scalar(x_32)) { + x_34 = lean_alloc_ctor(0, 2, 0); +} else { + x_34 = x_32; + lean_ctor_set_tag(x_34, 0); +} +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_34, 1, x_31); +return x_34; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; lean_object* x_5; uint8_t x_6; lean_object* x_7; uint8_t x_8; +x_4 = lean_alloc_closure((void*)(l_Std_Internal_IO_Async_Sleep_selector___lambda__3___boxed), 3, 1); +lean_closure_set(x_4, 0, x_2); +x_5 = l_Task_Priority_default; +x_6 = 0; +x_7 = lean_io_map_task(x_4, x_1, x_5, x_6, x_3); +x_8 = !lean_is_exclusive(x_7); +if (x_8 == 0) +{ +lean_object* x_9; lean_object* x_10; +x_9 = lean_ctor_get(x_7, 0); +lean_dec(x_9); +x_10 = lean_box(0); +lean_ctor_set(x_7, 0, x_10); +return x_7; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_7, 1); +lean_inc(x_11); +lean_dec(x_7); +x_12 = lean_box(0); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_11); +return x_13; +} +} +} +static lean_object* _init_l_Std_Internal_IO_Async_Sleep_selector___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Std_Internal_IO_Async_Sleep_selector___lambda__2___boxed), 2, 0); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = lean_uv_timer_next(x_1, x_2); +if (lean_obj_tag(x_3) == 0) +{ +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; uint8_t x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_5 = lean_ctor_get(x_3, 0); +x_6 = l_IO_Promise_result_x21___rarg(x_5); +lean_dec(x_5); +x_7 = l_Std_Internal_IO_Async_Sleep_wait___closed__1; +x_8 = l_Task_Priority_default; +x_9 = 0; +x_10 = lean_task_map(x_7, x_6, x_8, x_9); +lean_inc(x_10); +x_11 = lean_alloc_closure((void*)(l_Std_Internal_IO_Async_Sleep_selector___lambda__1___boxed), 2, 1); +lean_closure_set(x_11, 0, x_10); +x_12 = l_Std_Internal_IO_Async_Sleep_selector___closed__1; +x_13 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2); +lean_closure_set(x_13, 0, x_11); +lean_closure_set(x_13, 1, x_12); +x_14 = lean_alloc_closure((void*)(l_Std_Internal_IO_Async_Sleep_selector___lambda__4), 3, 1); +lean_closure_set(x_14, 0, x_10); +x_15 = l_Std_Internal_IO_Async_Sleep_selector___lambda__3___closed__1; +x_16 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_16, 0, x_13); +lean_ctor_set(x_16, 1, x_14); +lean_ctor_set(x_16, 2, x_15); +lean_ctor_set(x_3, 0, x_16); +return x_3; +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_17 = lean_ctor_get(x_3, 0); +x_18 = lean_ctor_get(x_3, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_3); +x_19 = l_IO_Promise_result_x21___rarg(x_17); +lean_dec(x_17); +x_20 = l_Std_Internal_IO_Async_Sleep_wait___closed__1; +x_21 = l_Task_Priority_default; +x_22 = 0; +x_23 = lean_task_map(x_20, x_19, x_21, x_22); +lean_inc(x_23); +x_24 = lean_alloc_closure((void*)(l_Std_Internal_IO_Async_Sleep_selector___lambda__1___boxed), 2, 1); +lean_closure_set(x_24, 0, x_23); +x_25 = l_Std_Internal_IO_Async_Sleep_selector___closed__1; +x_26 = lean_alloc_closure((void*)(l_EStateM_bind___rarg), 3, 2); +lean_closure_set(x_26, 0, x_24); +lean_closure_set(x_26, 1, x_25); +x_27 = lean_alloc_closure((void*)(l_Std_Internal_IO_Async_Sleep_selector___lambda__4), 3, 1); +lean_closure_set(x_27, 0, x_23); +x_28 = l_Std_Internal_IO_Async_Sleep_selector___lambda__3___closed__1; +x_29 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_29, 0, x_26); +lean_ctor_set(x_29, 1, x_27); +lean_ctor_set(x_29, 2, x_28); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_18); +return x_30; +} +} +else +{ +uint8_t x_31; +x_31 = !lean_is_exclusive(x_3); +if (x_31 == 0) +{ +return x_3; +} +else +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; +x_32 = lean_ctor_get(x_3, 0); +x_33 = lean_ctor_get(x_3, 1); +lean_inc(x_33); +lean_inc(x_32); +lean_dec(x_3); +x_34 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_34, 0, x_32); +lean_ctor_set(x_34, 1, x_33); +return x_34; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_Internal_IO_Async_Sleep_selector___lambda__1(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__2___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +uint8_t x_3; lean_object* x_4; +x_3 = lean_unbox(x_1); +lean_dec(x_1); +x_4 = l_Std_Internal_IO_Async_Sleep_selector___lambda__2(x_3, x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Std_Internal_IO_Async_Sleep_selector___lambda__3(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Sleep_selector___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_Internal_IO_Async_Sleep_selector(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_sleep(lean_object* x_1, lean_object* x_2) { _start: { @@ -365,7 +930,61 @@ lean_dec(x_1); return x_3; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__1() { +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Selector_sleep(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; uint64_t x_4; uint8_t x_5; lean_object* x_6; +x_3 = l_Int_toNat(x_1); +x_4 = lean_uint64_of_nat(x_3); +lean_dec(x_3); +x_5 = 0; +x_6 = lean_uv_timer_mk(x_4, x_5, x_2); +if (lean_obj_tag(x_6) == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); +lean_dec(x_6); +x_9 = l_Std_Internal_IO_Async_Sleep_selector(x_7, x_8); +lean_dec(x_7); +return x_9; +} +else +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_6); +if (x_10 == 0) +{ +return x_6; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; +x_11 = lean_ctor_get(x_6, 0); +x_12 = lean_ctor_get(x_6, 1); +lean_inc(x_12); +lean_inc(x_11); +lean_dec(x_6); +x_13 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +return x_13; +} +} +} +} +LEAN_EXPORT lean_object* l_Std_Internal_IO_Async_Selector_sleep___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_Internal_IO_Async_Selector_sleep(x_1, x_2); +lean_dec(x_1); +return x_3; +} +} +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__1() { _start: { lean_object* x_1; @@ -373,7 +992,7 @@ x_1 = lean_mk_string_unchecked("Lean", 4, 4); return x_1; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__2() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__2() { _start: { lean_object* x_1; @@ -381,7 +1000,7 @@ x_1 = lean_mk_string_unchecked("Parser", 6, 6); return x_1; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__3() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__3() { _start: { lean_object* x_1; @@ -389,7 +1008,7 @@ x_1 = lean_mk_string_unchecked("Tactic", 6, 6); return x_1; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__4() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__4() { _start: { lean_object* x_1; @@ -397,19 +1016,19 @@ x_1 = lean_mk_string_unchecked("tacticSeq", 9, 9); return x_1; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__5() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__1; -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__2; -x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__3; -x_4 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__4; +x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__1; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__2; +x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__3; +x_4 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__4; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__6() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__6() { _start: { lean_object* x_1; lean_object* x_2; @@ -418,7 +1037,7 @@ x_2 = lean_mk_empty_array_with_capacity(x_1); return x_2; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__7() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__7() { _start: { lean_object* x_1; @@ -426,19 +1045,19 @@ x_1 = lean_mk_string_unchecked("tacticSeq1Indented", 18, 18); return x_1; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__8() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__1; -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__2; -x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__3; -x_4 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__7; +x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__1; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__2; +x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__3; +x_4 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__7; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__9() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__9() { _start: { lean_object* x_1; @@ -446,17 +1065,17 @@ x_1 = lean_mk_string_unchecked("null", 4, 4); return x_1; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__10() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__9; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__9; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__11() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__11() { _start: { lean_object* x_1; @@ -464,41 +1083,41 @@ x_1 = lean_mk_string_unchecked("decide", 6, 6); return x_1; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__12() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__1; -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__2; -x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__3; -x_4 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__11; +x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__1; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__2; +x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__3; +x_4 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__11; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__13() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(2); -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__11; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__11; x_3 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__14() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__6; -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__13; +x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__6; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__13; x_3 = lean_array_push(x_1, x_2); return x_3; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__15() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__15() { _start: { lean_object* x_1; @@ -506,25 +1125,25 @@ x_1 = lean_mk_string_unchecked("optConfig", 9, 9); return x_1; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__16() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__1; -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__2; -x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__3; -x_4 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__15; +x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__1; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__2; +x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__3; +x_4 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__15; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__17() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__17() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = lean_box(2); -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__10; -x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__6; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__10; +x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__6; x_4 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -532,23 +1151,23 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__18() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__18() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__6; -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__17; +x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__6; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__17; x_3 = lean_array_push(x_1, x_2); return x_3; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__19() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__19() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = lean_box(2); -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__16; -x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__18; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__16; +x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__18; x_4 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -556,23 +1175,23 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__20() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__20() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__14; -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__19; +x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__14; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__19; x_3 = lean_array_push(x_1, x_2); return x_3; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__21() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__21() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = lean_box(2); -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__12; -x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__20; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__12; +x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__20; x_4 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -580,23 +1199,23 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__22() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__22() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__6; -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__21; +x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__6; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__21; x_3 = lean_array_push(x_1, x_2); return x_3; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__23() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__23() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = lean_box(2); -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__10; -x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__22; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__10; +x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__22; x_4 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -604,23 +1223,23 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__24() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__24() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__6; -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__23; +x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__6; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__23; x_3 = lean_array_push(x_1, x_2); return x_3; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__25() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__25() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = lean_box(2); -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__8; -x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__24; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__8; +x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__24; x_4 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -628,23 +1247,23 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__26() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__26() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__6; -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__25; +x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__6; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__25; x_3 = lean_array_push(x_1, x_2); return x_3; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__27() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__27() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = lean_box(2); -x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__5; -x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__26; +x_2 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__5; +x_3 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__26; x_4 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -652,11 +1271,11 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141_() { +static lean_object* _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314_() { _start: { lean_object* x_1; -x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__27; +x_1 = l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__27; return x_1; } } @@ -834,8 +1453,8 @@ return x_3; } } lean_object* initialize_Std_Time(uint8_t builtin, lean_object*); -lean_object* initialize_Std_Internal_UV(uint8_t builtin, lean_object*); -lean_object* initialize_Std_Internal_Async_Basic(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Internal_UV_Timer(uint8_t builtin, lean_object*); +lean_object* initialize_Std_Internal_Async_Select(uint8_t builtin, lean_object*); static bool _G_initialized = false; LEAN_EXPORT lean_object* initialize_Std_Internal_Async_Timer(uint8_t builtin, lean_object* w) { lean_object * res; @@ -844,70 +1463,78 @@ _G_initialized = true; res = initialize_Std_Time(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Std_Internal_UV(builtin, lean_io_mk_world()); +res = initialize_Std_Internal_UV_Timer(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -res = initialize_Std_Internal_Async_Basic(builtin, lean_io_mk_world()); +res = initialize_Std_Internal_Async_Select(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Std_Internal_IO_Async_Sleep_wait___closed__1 = _init_l_Std_Internal_IO_Async_Sleep_wait___closed__1(); lean_mark_persistent(l_Std_Internal_IO_Async_Sleep_wait___closed__1); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__1 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__1(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__1); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__2 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__2(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__2); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__3 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__3(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__3); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__4 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__4(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__4); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__5 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__5(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__5); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__6 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__6(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__6); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__7 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__7(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__7); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__8 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__8(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__8); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__9 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__9(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__9); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__10 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__10(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__10); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__11 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__11(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__11); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__12 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__12(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__12); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__13 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__13(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__13); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__14 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__14(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__14); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__15 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__15(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__15); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__16 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__16(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__16); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__17 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__17(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__17); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__18 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__18(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__18); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__19 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__19(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__19); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__20 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__20(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__20); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__21 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__21(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__21); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__22 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__22(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__22); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__23 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__23(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__23); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__24 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__24(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__24); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__25 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__25(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__25); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__26 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__26(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__26); -l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__27 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__27(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141____closed__27); -l___auto____x40_Std_Internal_Async_Timer___hyg_141_ = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_141_(); -lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_141_); +l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1___closed__1 = _init_l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1___closed__1(); +lean_mark_persistent(l_Std_Internal_IO_Async_Waiter_race___at_Std_Internal_IO_Async_Sleep_selector___spec__1___closed__1); +l_Std_Internal_IO_Async_Sleep_selector___lambda__2___closed__1 = _init_l_Std_Internal_IO_Async_Sleep_selector___lambda__2___closed__1(); +lean_mark_persistent(l_Std_Internal_IO_Async_Sleep_selector___lambda__2___closed__1); +l_Std_Internal_IO_Async_Sleep_selector___lambda__3___closed__1 = _init_l_Std_Internal_IO_Async_Sleep_selector___lambda__3___closed__1(); +lean_mark_persistent(l_Std_Internal_IO_Async_Sleep_selector___lambda__3___closed__1); +l_Std_Internal_IO_Async_Sleep_selector___closed__1 = _init_l_Std_Internal_IO_Async_Sleep_selector___closed__1(); +lean_mark_persistent(l_Std_Internal_IO_Async_Sleep_selector___closed__1); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__1 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__1(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__1); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__2 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__2(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__2); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__3 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__3(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__3); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__4 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__4(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__4); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__5 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__5(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__5); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__6 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__6(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__6); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__7 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__7(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__7); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__8 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__8(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__8); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__9 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__9(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__9); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__10 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__10(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__10); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__11 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__11(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__11); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__12 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__12(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__12); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__13 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__13(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__13); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__14 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__14(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__14); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__15 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__15(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__15); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__16 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__16(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__16); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__17 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__17(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__17); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__18 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__18(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__18); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__19 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__19(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__19); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__20 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__20(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__20); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__21 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__21(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__21); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__22 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__22(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__22); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__23 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__23(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__23); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__24 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__24(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__24); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__25 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__25(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__25); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__26 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__26(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__26); +l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__27 = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__27(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314____closed__27); +l___auto____x40_Std_Internal_Async_Timer___hyg_314_ = _init_l___auto____x40_Std_Internal_Async_Timer___hyg_314_(); +lean_mark_persistent(l___auto____x40_Std_Internal_Async_Timer___hyg_314_); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus