From 11b0e7d89ce5ec87f1a798d4dfffe38c5de91bd5 Mon Sep 17 00:00:00 2001 From: Lean stage0 autoupdater <> Date: Wed, 17 Sep 2025 18:46:58 +0000 Subject: [PATCH] chore: update stage0 --- stage0/src/stdlib_flags.h | 1 - stage0/stdlib/Init/Grind/Tactics.c | 150 +- stage0/stdlib/Lean/Compiler/LCNF/ToExpr.c | 114 +- stage0/stdlib/Lean/Elab/Tactic/Grind.c | 15810 ++++++++-------- stage0/stdlib/Lean/Meta/Tactic/Grind/Beta.c | 2 +- .../Lean/Meta/Tactic/Grind/EMatchTheorem.c | 2293 +-- .../Lean/Meta/Tactic/Grind/ForallProp.c | 131 +- .../Lean/Meta/Tactic/Grind/Internalize.c | 4095 ++-- stage0/stdlib/Lean/Meta/Tactic/Grind/Types.c | 704 +- stage0/stdlib/Lean/Parser/Term.c | 2 +- 10 files changed, 11292 insertions(+), 12010 deletions(-) diff --git a/stage0/src/stdlib_flags.h b/stage0/src/stdlib_flags.h index ad491b0de1..79a0e58edd 100644 --- a/stage0/src/stdlib_flags.h +++ b/stage0/src/stdlib_flags.h @@ -1,4 +1,3 @@ -// update me! #include "util/options.h" namespace lean { diff --git a/stage0/stdlib/Init/Grind/Tactics.c b/stage0/stdlib/Init/Grind/Tactics.c index 40995e6405..c899265571 100644 --- a/stage0/stdlib/Init/Grind/Tactics.c +++ b/stage0/stdlib/Init/Grind/Tactics.c @@ -40,6 +40,7 @@ static lean_object* l_Lean_Parser_Tactic_grindTrace___closed__6; static lean_object* l_Lean_Parser_Tactic_grind___closed__29; static lean_object* l_Lean_Parser_Tactic_grindErase___closed__2; extern lean_object* l_Lean_Parser_Tactic_optConfig; +static lean_object* l_Lean_Parser_Tactic_grindLemmaMin___closed__3; static lean_object* l_Lean_Parser_Tactic_grobner___closed__4; static lean_object* l_Lean_Parser_Tactic_grind___closed__23; static lean_object* l_Lean_Parser_Tactic_grindLemma___closed__6; @@ -49,12 +50,16 @@ static lean_object* l_Lean_Parser_Tactic_grindLemma___closed__1; static lean_object* l_Lean_Parser_Tactic_grindErase___closed__12; static lean_object* l_Lean_Grind_instInhabitedConfig_default___closed__0; static lean_object* l_Lean_Parser_Tactic_grind___closed__10; +static lean_object* l_Lean_Parser_Tactic_grindLemmaMin___closed__5; +static lean_object* l_Lean_Parser_Tactic_grindLemmaMin___closed__4; static lean_object* l_Lean_Parser_Tactic_grindTrace___closed__8; static lean_object* l_Lean_Parser_Tactic_grindErase___closed__4; static lean_object* l_Lean_Parser_Tactic_grindLemma___closed__12; static lean_object* l_Lean_Parser_Tactic_grindTrace___closed__0; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_grindParam; static lean_object* l_Lean_Parser_Tactic_grindErase___closed__9; +static lean_object* l_Lean_Parser_Tactic_grindLemmaMin___closed__1; +static lean_object* l_Lean_Parser_Tactic_grindParam___closed__6; static lean_object* l_Lean_Parser_Tactic_grind___closed__6; static lean_object* l_Lean_Parser_Tactic_grindErase___closed__0; static lean_object* l_Lean_Parser_Tactic_grindErase___closed__13; @@ -85,6 +90,7 @@ static lean_object* l_Lean_Parser_Tactic_grind___closed__18; static lean_object* l_Lean_Parser_Tactic_cutsat___closed__1; static lean_object* l_Lean_Parser_Tactic_grindLemma___closed__9; static lean_object* l_Lean_Parser_Tactic_grindErase___closed__7; +static lean_object* l_Lean_Parser_Tactic_grindLemmaMin___closed__0; static lean_object* l_Lean_Parser_Tactic_grind___closed__13; static lean_object* l_Lean_Parser_Tactic_grind___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_grobner; @@ -106,19 +112,23 @@ static lean_object* l_Lean_Parser_Tactic_grindLemma___closed__2; static lean_object* l_Lean_Parser_Tactic_grobner___closed__0; static lean_object* l_Lean_Parser_Tactic_grind___closed__26; static lean_object* l_Lean_Parser_Tactic_grindLemma___closed__10; +static lean_object* l_Lean_Parser_Tactic_grindLemmaMin___closed__7; static lean_object* l_Lean_Parser_Tactic_grind___closed__4; static lean_object* l_Lean_Parser_Tactic_grind___closed__30; static lean_object* l_Lean_Parser_Tactic_grind___closed__21; static lean_object* l_Lean_Parser_Tactic_grind___closed__8; +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_grindLemmaMin; lean_object* l_Lean_Name_mkStr1(lean_object*); lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_grindLemma___closed__8; +static lean_object* l_Lean_Parser_Tactic_grindLemmaMin___closed__2; LEAN_EXPORT lean_object* l_Lean_Grind_NoopConfig_ctorIdx(lean_object*); static lean_object* l_Lean_Parser_Tactic_grind___closed__20; static lean_object* l_Lean_Parser_Tactic_grobner___closed__1; static lean_object* l_Lean_Parser_Tactic_grindErase___closed__6; static lean_object* l_Lean_Parser_Tactic_grind___closed__31; static lean_object* l_Lean_Parser_Tactic_grindLemma___closed__11; +static lean_object* l_Lean_Parser_Tactic_grindLemmaMin___closed__6; static lean_object* l_Lean_Parser_Tactic_grindErase___closed__10; static lean_object* l_Lean_Parser_Tactic_grindLemma___closed__0; static lean_object* l_Lean_Parser_Tactic_grind___closed__22; @@ -1267,6 +1277,106 @@ x_1 = l_Lean_Parser_Tactic_grindLemma___closed__14; return x_1; } } +static lean_object* _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__0() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("grindLemmaMin", 13, 13); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__1() { +_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_Parser_Tactic_grindLemmaMin___closed__0; +x_2 = l_Lean_Parser_Tactic_grindErase___closed__3; +x_3 = l_Lean_Parser_Tactic_grindErase___closed__2; +x_4 = l_Lean_Parser_Tactic_grindErase___closed__1; +x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("!", 1, 1); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_grindLemmaMin___closed__2; +x_2 = lean_alloc_ctor(5, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_grindLemma___closed__11; +x_2 = l_Lean_Parser_Tactic_grindLemmaMin___closed__3; +x_3 = l_Lean_Parser_Tactic_grindErase___closed__6; +x_4 = lean_alloc_ctor(2, 3, 0); +lean_ctor_set(x_4, 0, x_3); +lean_ctor_set(x_4, 1, x_2); +lean_ctor_set(x_4, 2, x_1); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_grindErase___closed__11; +x_2 = l_Lean_Parser_Tactic_grindLemmaMin___closed__4; +x_3 = l_Lean_Parser_Tactic_grindErase___closed__6; +x_4 = lean_alloc_ctor(2, 3, 0); +lean_ctor_set(x_4, 0, x_3); +lean_ctor_set(x_4, 1, x_2); +lean_ctor_set(x_4, 2, x_1); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Tactic_grindLemmaMin___closed__5; +x_2 = l_Lean_Parser_Tactic_grindLemma___closed__3; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_2); +lean_ctor_set(x_3, 1, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_grindLemmaMin___closed__6; +x_2 = l_Lean_Parser_Tactic_grindLemmaMin___closed__1; +x_3 = l_Lean_Parser_Tactic_grindLemmaMin___closed__0; +x_4 = lean_alloc_ctor(9, 3, 0); +lean_ctor_set(x_4, 0, x_3); +lean_ctor_set(x_4, 1, x_2); +lean_ctor_set(x_4, 2, x_1); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_grindLemmaMin() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Parser_Tactic_grindLemmaMin___closed__7; +return x_1; +} +} static lean_object* _init_l_Lean_Parser_Tactic_grindParam___closed__0() { _start: { @@ -1308,8 +1418,8 @@ static lean_object* _init_l_Lean_Parser_Tactic_grindParam___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_grindLemma; -x_2 = l_Lean_Parser_Tactic_grindErase; +x_1 = l_Lean_Parser_Tactic_grindLemmaMin; +x_2 = l_Lean_Parser_Tactic_grindLemma; x_3 = l_Lean_Parser_Tactic_grindParam___closed__3; x_4 = lean_alloc_ctor(2, 3, 0); lean_ctor_set(x_4, 0, x_3); @@ -1323,6 +1433,20 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Tactic_grindParam___closed__4; +x_2 = l_Lean_Parser_Tactic_grindErase; +x_3 = l_Lean_Parser_Tactic_grindParam___closed__3; +x_4 = lean_alloc_ctor(2, 3, 0); +lean_ctor_set(x_4, 0, x_3); +lean_ctor_set(x_4, 1, x_2); +lean_ctor_set(x_4, 2, x_1); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_grindParam___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_grindParam___closed__5; x_2 = l_Lean_Parser_Tactic_grindParam___closed__1; x_3 = l_Lean_Parser_Tactic_grindParam___closed__0; x_4 = lean_alloc_ctor(9, 3, 0); @@ -1336,7 +1460,7 @@ static lean_object* _init_l_Lean_Parser_Tactic_grindParam() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Tactic_grindParam___closed__5; +x_1 = l_Lean_Parser_Tactic_grindParam___closed__6; return x_1; } } @@ -2051,6 +2175,24 @@ l_Lean_Parser_Tactic_grindLemma___closed__14 = _init_l_Lean_Parser_Tactic_grindL lean_mark_persistent(l_Lean_Parser_Tactic_grindLemma___closed__14); l_Lean_Parser_Tactic_grindLemma = _init_l_Lean_Parser_Tactic_grindLemma(); lean_mark_persistent(l_Lean_Parser_Tactic_grindLemma); +l_Lean_Parser_Tactic_grindLemmaMin___closed__0 = _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__0(); +lean_mark_persistent(l_Lean_Parser_Tactic_grindLemmaMin___closed__0); +l_Lean_Parser_Tactic_grindLemmaMin___closed__1 = _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__1(); +lean_mark_persistent(l_Lean_Parser_Tactic_grindLemmaMin___closed__1); +l_Lean_Parser_Tactic_grindLemmaMin___closed__2 = _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__2(); +lean_mark_persistent(l_Lean_Parser_Tactic_grindLemmaMin___closed__2); +l_Lean_Parser_Tactic_grindLemmaMin___closed__3 = _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__3(); +lean_mark_persistent(l_Lean_Parser_Tactic_grindLemmaMin___closed__3); +l_Lean_Parser_Tactic_grindLemmaMin___closed__4 = _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__4(); +lean_mark_persistent(l_Lean_Parser_Tactic_grindLemmaMin___closed__4); +l_Lean_Parser_Tactic_grindLemmaMin___closed__5 = _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__5(); +lean_mark_persistent(l_Lean_Parser_Tactic_grindLemmaMin___closed__5); +l_Lean_Parser_Tactic_grindLemmaMin___closed__6 = _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__6(); +lean_mark_persistent(l_Lean_Parser_Tactic_grindLemmaMin___closed__6); +l_Lean_Parser_Tactic_grindLemmaMin___closed__7 = _init_l_Lean_Parser_Tactic_grindLemmaMin___closed__7(); +lean_mark_persistent(l_Lean_Parser_Tactic_grindLemmaMin___closed__7); +l_Lean_Parser_Tactic_grindLemmaMin = _init_l_Lean_Parser_Tactic_grindLemmaMin(); +lean_mark_persistent(l_Lean_Parser_Tactic_grindLemmaMin); l_Lean_Parser_Tactic_grindParam___closed__0 = _init_l_Lean_Parser_Tactic_grindParam___closed__0(); lean_mark_persistent(l_Lean_Parser_Tactic_grindParam___closed__0); l_Lean_Parser_Tactic_grindParam___closed__1 = _init_l_Lean_Parser_Tactic_grindParam___closed__1(); @@ -2063,6 +2205,8 @@ l_Lean_Parser_Tactic_grindParam___closed__4 = _init_l_Lean_Parser_Tactic_grindPa lean_mark_persistent(l_Lean_Parser_Tactic_grindParam___closed__4); l_Lean_Parser_Tactic_grindParam___closed__5 = _init_l_Lean_Parser_Tactic_grindParam___closed__5(); lean_mark_persistent(l_Lean_Parser_Tactic_grindParam___closed__5); +l_Lean_Parser_Tactic_grindParam___closed__6 = _init_l_Lean_Parser_Tactic_grindParam___closed__6(); +lean_mark_persistent(l_Lean_Parser_Tactic_grindParam___closed__6); l_Lean_Parser_Tactic_grindParam = _init_l_Lean_Parser_Tactic_grindParam(); lean_mark_persistent(l_Lean_Parser_Tactic_grindParam); l_Lean_Parser_Tactic_grind___closed__0 = _init_l_Lean_Parser_Tactic_grind___closed__0(); diff --git a/stage0/stdlib/Lean/Compiler/LCNF/ToExpr.c b/stage0/stdlib/Lean/Compiler/LCNF/ToExpr.c index b9ac132f41..75fbb1161c 100644 --- a/stage0/stdlib/Lean/Compiler/LCNF/ToExpr.c +++ b/stage0/stdlib/Lean/Compiler/LCNF/ToExpr.c @@ -994,13 +994,15 @@ return x_7; } else { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; x_8 = lean_array_uget(x_3, x_2); x_9 = lean_unsigned_to_nat(0u); x_10 = lean_array_uset(x_3, x_2, x_9); if (lean_obj_tag(x_8) == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; +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; +x_18 = lean_ctor_get(x_8, 0); +lean_inc(x_18); x_19 = lean_ctor_get(x_8, 1); lean_inc_ref(x_19); x_20 = lean_ctor_get(x_8, 2); @@ -1009,34 +1011,44 @@ lean_dec_ref(x_8); lean_inc(x_4); x_21 = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___Lean_Compiler_LCNF_FunDecl_toExprM_spec__0(x_20, x_19, x_19, x_9, x_4, x_5); lean_dec_ref(x_19); -x_11 = x_21; -goto block_18; +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_ref(x_21); +x_24 = lean_box(0); +x_25 = l_Lean_mkConst(x_18, x_24); +x_26 = l_Lean_Expr_app___override(x_25, x_22); +x_11 = x_26; +x_12 = x_23; +goto block_17; } else { -lean_object* x_22; lean_object* x_23; -x_22 = lean_ctor_get(x_8, 0); -lean_inc_ref(x_22); +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_27 = lean_ctor_get(x_8, 0); +lean_inc_ref(x_27); lean_dec_ref(x_8); lean_inc(x_4); -x_23 = l_Lean_Compiler_LCNF_Code_toExprM(x_22, x_4, x_5); -x_11 = x_23; -goto block_18; +x_28 = l_Lean_Compiler_LCNF_Code_toExprM(x_27, x_4, x_5); +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_ref(x_28); +x_11 = x_29; +x_12 = x_30; +goto block_17; } -block_18: +block_17: { -lean_object* x_12; lean_object* x_13; size_t x_14; size_t x_15; lean_object* x_16; -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); -lean_inc(x_13); -lean_dec_ref(x_11); -x_14 = 1; -x_15 = lean_usize_add(x_2, x_14); -x_16 = lean_array_uset(x_10, x_2, x_12); -x_2 = x_15; -x_3 = x_16; -x_5 = x_13; +size_t x_13; size_t x_14; lean_object* x_15; +x_13 = 1; +x_14 = lean_usize_add(x_2, x_13); +x_15 = lean_array_uset(x_10, x_2, x_11); +x_2 = x_14; +x_3 = x_15; +x_5 = x_12; goto _start; } } @@ -1058,13 +1070,15 @@ return x_7; } else { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; x_8 = lean_array_uget(x_3, x_2); x_9 = lean_unsigned_to_nat(0u); x_10 = lean_array_uset(x_3, x_2, x_9); if (lean_obj_tag(x_8) == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; +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; +x_18 = lean_ctor_get(x_8, 0); +lean_inc(x_18); x_19 = lean_ctor_get(x_8, 1); lean_inc_ref(x_19); x_20 = lean_ctor_get(x_8, 2); @@ -1073,33 +1087,43 @@ lean_dec_ref(x_8); lean_inc(x_4); x_21 = l___private_Lean_Compiler_LCNF_ToExpr_0__Lean_Compiler_LCNF_ToExpr_withParams_go___at___Lean_Compiler_LCNF_FunDecl_toExprM_spec__0(x_20, x_19, x_19, x_9, x_4, x_5); lean_dec_ref(x_19); -x_11 = x_21; -goto block_18; +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_ref(x_21); +x_24 = lean_box(0); +x_25 = l_Lean_mkConst(x_18, x_24); +x_26 = l_Lean_Expr_app___override(x_25, x_22); +x_11 = x_26; +x_12 = x_23; +goto block_17; } else { -lean_object* x_22; lean_object* x_23; -x_22 = lean_ctor_get(x_8, 0); -lean_inc_ref(x_22); +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_27 = lean_ctor_get(x_8, 0); +lean_inc_ref(x_27); lean_dec_ref(x_8); lean_inc(x_4); -x_23 = l_Lean_Compiler_LCNF_Code_toExprM(x_22, x_4, x_5); -x_11 = x_23; -goto block_18; +x_28 = l_Lean_Compiler_LCNF_Code_toExprM(x_27, x_4, x_5); +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_ref(x_28); +x_11 = x_29; +x_12 = x_30; +goto block_17; } -block_18: +block_17: { -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_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); -lean_inc(x_13); -lean_dec_ref(x_11); -x_14 = 1; -x_15 = lean_usize_add(x_2, x_14); -x_16 = lean_array_uset(x_10, x_2, x_12); -x_17 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at_____private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___Lean_Compiler_LCNF_Code_toExprM_spec__1_spec__1(x_1, x_15, x_16, x_4, x_13); -return x_17; +size_t x_13; size_t x_14; lean_object* x_15; lean_object* x_16; +x_13 = 1; +x_14 = lean_usize_add(x_2, x_13); +x_15 = lean_array_uset(x_10, x_2, x_11); +x_16 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at_____private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___Lean_Compiler_LCNF_Code_toExprM_spec__1_spec__1(x_1, x_14, x_15, x_4, x_12); +return x_16; } } } diff --git a/stage0/stdlib/Lean/Elab/Tactic/Grind.c b/stage0/stdlib/Lean/Elab/Tactic/Grind.c index f9f9d55ef6..81d0f33bea 100644 --- a/stage0/stdlib/Lean/Elab/Tactic/Grind.c +++ b/stage0/stdlib/Lean/Elab/Tactic/Grind.c @@ -15,21 +15,20 @@ extern "C" { #endif LEAN_EXPORT lean_object* l_Lean_ofExcept___at___Lean_evalConst___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback_unsafe__3_spec__0_spec__0(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_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__12(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_grind___lam__0___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabResetGrindAttrs___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalCutsat___closed__0; -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___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_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5_spec__5___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_filterMapTR_go___at___Lean_preprocessSyntaxAndResolve___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__9_spec__9(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18_spec__18___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_setGrindParams(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_format_pretty(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalGrindTrace___closed__0; +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__5; LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_grind___lam__0___closed__5; -LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__3(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback___closed__4; static lean_object* l_Lean_Elab_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__1___redArg___closed__2; LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___Lean_PersistentHashMap_foldlMAux___at___Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6_spec__6_spec__6_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); @@ -46,6 +45,7 @@ lean_object* l_Lean_Syntax_formatStx(lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Core_instMonadCoreM___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__17; uint8_t l_Lean_MacroScopesView_isSuffixOf(lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__11; lean_object* lean_mk_empty_array_with_capacity(lean_object*); static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__13; lean_object* l_Lean_Environment_evalConst___redArg(lean_object*, lean_object*, lean_object*, uint8_t); @@ -57,14 +57,16 @@ LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_ResolveName lean_object* l_Lean_TSyntax_getId(lean_object*); LEAN_EXPORT lean_object* l_Lean_withExporting___at___Lean_Elab_Tactic_elabInitGrindNorm_spec__2(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapTR_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__3___closed__0; +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_setGrindParams___closed__0; static lean_object* l_Lean_Elab_Tactic_elabGrindPattern___closed__7; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback___closed__2; -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18_spec__18_spec__18_spec__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabInitGrindNorm___lam__2(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_private_to_user_name(lean_object*); +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__8; static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__19; static lean_object* l_Lean_Elab_Tactic_elabGrindConfig___redArg___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at___Lean_Elab_Tactic_grind_spec__9___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -72,7 +74,10 @@ LEAN_EXPORT lean_object* l_Lean_resolveGlobalConst___at___Lean_resolveGlobalCons LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6___redArg___lam__0(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___lam__0___closed__0; static lean_object* l_Lean_Elab_Tactic_evalGrindTrace___closed__1; -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__9; LEAN_EXPORT lean_object* l_Lean_logWarningAt___at___Lean_Elab_Tactic_evalGrindCore_spec__0___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_Elab_Tactic_evalGrindCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -84,9 +89,10 @@ lean_object* l_Lean_Environment_header(lean_object*); LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__22___redArg(lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__14; LEAN_EXPORT lean_object* l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_EMatchTheoremKind_toAttribute(lean_object*); uint8_t lean_usize_dec_le(size_t, size_t); -lean_object* l_Lean_Meta_Grind_addEMatchTheorem(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Grind_addEMatchTheorem(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__3____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6_spec__6_spec__6___redArg(lean_object*, lean_object*, lean_object*); @@ -95,7 +101,7 @@ lean_object* l_Lean_indentD(lean_object*); uint8_t l_Array_isEmpty___redArg(lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__5; uint8_t l_Lean_Exception_isInterrupt(lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__23; +LEAN_EXPORT lean_object* l_List_filterTR_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__1(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_mkGrindOnly___closed__3; lean_object* l_Lean_Elab_Term_elabTerm(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___Lean_PersistentHashMap_insertAux___at___Lean_PersistentHashMap_insert___at___Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0_spec__0_spec__0_spec__2(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -112,7 +118,9 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabResetGrindAttrs___redArg___lam__ lean_object* l_Lean_Elab_Tactic_mkConfigItemViews(lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__34; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalGrindCore___lam__0___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___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__17; +LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__3___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__0; uint8_t l_Lean_instBEqMVarId_beq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__22___redArg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabCutsatConfig(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -125,10 +133,8 @@ extern lean_object* l_Lean_Elab_Tactic_tacticElabAttribute; LEAN_EXPORT lean_object* l_Lean_addMessageContextFull___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalGrobner___closed__1; lean_object* l_Lean_MessageData_ofList(lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__6; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18_spec__18_spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_push(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; static lean_object* l_Lean_Elab_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__1___redArg___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabInitGrindNorm___regBuiltin_Lean_Elab_Tactic_elabInitGrindNorm__1(lean_object*); @@ -138,7 +144,6 @@ LEAN_EXPORT lean_object* l_Lean_ofExcept___at___Lean_evalConst___at_____private_ static lean_object* l_Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12___closed__2; static lean_object* l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_84924930____hygCtx___hyg_3_; lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_go(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_evalGrind___regBuiltin_Lean_Elab_Tactic_evalGrind__1___closed__2; LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_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*); extern lean_object* l_Lean_unknownIdentifierMessageTag; @@ -153,11 +158,9 @@ LEAN_EXPORT uint8_t l_Lean_logAt___at___Lean_log___at___Lean_logWarning___at____ lean_object* l_ReaderT_instFunctorOfMonad___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_setGrindParams___closed__9; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18_spec__18(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); lean_object* l___private_Lean_Log_0__Lean_MessageData_appendDescriptionWidgetIfNamed(lean_object*); static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__9; -LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_logAt___at___Lean_logWarningAt___at___Lean_Elab_Tactic_evalGrindCore_spec__0_spec__0___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_Tactic_elabCutsatConfig___redArg___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_grindParamsPos; @@ -170,31 +173,35 @@ LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___Lean_PersistentH lean_object* l_Lean_Syntax_getPos_x3f(lean_object*, uint8_t); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__4___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8___redArg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_CasesTypes_insert(lean_object*, lean_object*, uint8_t); lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_evalGrind___regBuiltin_Lean_Elab_Tactic_evalGrind__1___closed__1; lean_object* l_Lean_Syntax_getTailPos_x3f(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___Lean_PersistentHashMap_insert___at___Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0_spec__0_spec__0___redArg(lean_object*, size_t, size_t, lean_object*, lean_object*); uint8_t l_Lean_instBEqMessageSeverity_beq(uint8_t, uint8_t); -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; LEAN_EXPORT lean_object* l_List_toString___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__14(lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__23; static lean_object* l_Lean_Elab_Tactic_evalGrindTrace___closed__3; +LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__16; -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__12; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabCutsatConfig___redArg(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_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Grind_3698851736____hygCtx___hyg_3____boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18_spec__18_spec__18___redArg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___Lean_Elab_Tactic_grind_spec__10(lean_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_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg___lam__0(lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_resetEMatchTheoremsExt___redArg(lean_object*, lean_object*); static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__20; lean_object* l_Lean_Meta_Grind_getCasesTypes___redArg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_evalCutsat___regBuiltin_Lean_Elab_Tactic_evalCutsat__1___closed__1; +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__1___redArg___closed__0; static lean_object* l_Lean_Elab_Tactic_elabGrindPattern___closed__12; -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalContextImp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_MessageData_hasSyntheticSorry(lean_object*); lean_object* l_Lean_Meta_Grind_isCasesAttrCandidate_x3f(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); @@ -204,58 +211,58 @@ static lean_object* l_Lean_Elab_Tactic_setGrindParams___closed__1; extern lean_object* l_Lean_Meta_Grind_instInhabitedEMatchTheorems_default; LEAN_EXPORT lean_object* l_Lean_evalConst___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback_unsafe__3_spec__0___redArg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_forallTelescopeReducingAuxAux(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_grind___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0(uint8_t, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_instApplicativeOfMonad___redArg___lam__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabInitGrindNorm___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_node5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__22___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabCutsatConfig___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5_spec__5(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_List_isEmpty___redArg(lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__3___redArg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_evalGrindTrace___regBuiltin_Lean_Elab_Tactic_evalGrindTrace__1(lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__13; lean_object* l_Lean_Meta_evalExpr_x27___redArg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabInitGrindNorm___closed__0; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_mkGrindParams___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalGrindCore___closed__1; -LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__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___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabResetGrindAttrs___regBuiltin_Lean_Elab_Tactic_elabResetGrindAttrs__1(lean_object*); lean_object* l_Lean_MessageData_note(lean_object*); static lean_object* l_Lean_Elab_Tactic_evalGrindCore___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_evalGrind___regBuiltin_Lean_Elab_Tactic_evalGrind__1(lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__9; LEAN_EXPORT lean_object* l_Lean_getConstVal___at___Lean_mkConstWithLevelParams___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__18_spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6(lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__23___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_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12___lam__0___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_string_dec_eq(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Meta_Grind_EMatchTheorems_containsWithSamePatterns(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_mkGrindParams(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Exception_toMessageData(lean_object*); +LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__3___redArg___boxed(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__1____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__1; static lean_object* l_Lean_Elab_Tactic_mkGrindOnly___closed__0; uint8_t l_Lean_Name_isPrefixOf(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__21; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabGrindPattern___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mkArray0(lean_object*); -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__2___redArg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___Lean_Elab_Tactic_elabInitGrindNorm_spec__0___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_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_toPArray_x27___redArg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Grind_3698851736____hygCtx___hyg_3_(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at___List_toString___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__14_spec__14___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__0(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_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__0(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalGrobner(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_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__9; lean_object* lean_string_push(lean_object*, uint32_t); +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__6; LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18___boxed(lean_object*); lean_object* l_ReaderT_instMonad___redArg(lean_object*); static lean_object* l_Lean_Elab_Tactic_mkGrindOnly___closed__2; @@ -265,21 +272,20 @@ LEAN_EXPORT lean_object* l_Lean_Option_get___at___Lean_Elab_addMacroStack___at__ LEAN_EXPORT lean_object* l_Lean_logAt___at___Lean_logWarningAt___at___Lean_Elab_Tactic_evalGrindCore_spec__0_spec__0(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabResetGrindAttrs___redArg___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_panic___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__12___closed__1; +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___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_Parser_Tactic_getConfigItems(lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18_spec__18_spec__18___redArg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___Lean_Elab_Tactic_grind_spec__7___redArg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0___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 l_Lean_Expr_hasMVar(lean_object*); -LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7_spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0_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_EXPORT lean_object* l_Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__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_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6___redArg___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6(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_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0___closed__1; uint8_t l_Lean_Meta_Grind_isBuiltinEagerCases(lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__11; -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_EMatchTheorems_eraseDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabResetGrindAttrs___regBuiltin_Lean_Elab_Tactic_elabResetGrindAttrs__1___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -288,14 +294,11 @@ static lean_object* l_Lean_Elab_Tactic_setGrindParams___closed__7; size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabResetGrindAttrs___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_get_reducibility_status(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__7; -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12___lam__0(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_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3____boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabGrindConfig___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__10; LEAN_EXPORT lean_object* l_Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_expr_abstract(lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_getMainGoal___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -308,18 +311,22 @@ static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_sp LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_preprocessPattern(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static double l_Lean_addTrace___at___Lean_Elab_Tactic_grind_spec__8___redArg___closed__0; -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__2; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__8; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg___lam__0___closed__0; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback___closed__13; lean_object* lean_st_ref_take(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8___boxed(lean_object*, lean_object*, lean_object*); static size_t l_Lean_PersistentHashMap_insertAux___at___Lean_PersistentHashMap_insert___at___Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0_spec__0_spec__0___redArg___closed__0; static lean_object* l_Lean_Elab_Tactic_elabGrindConfig___redArg___closed__5; lean_object* l_Lean_Meta_Grind_EMatchTheorems_find(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6___boxed(lean_object*); extern lean_object* l_Lean_Elab_Command_commandElabAttribute; +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__7; static lean_object* l_List_foldl___at___Lean_Elab_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__1_spec__2___closed__2; +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__3(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6___redArg(lean_object*); lean_object* l_Lean_mkPrivateName(lean_object*, lean_object*); extern lean_object* l_Lean_Meta_Grind_grind_warning; @@ -333,6 +340,7 @@ static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_sp LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabGrindParams___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___Lean_PersistentHashMap_foldlMAux___at___Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6_spec__6_spec__6_spec__7___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_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__6; LEAN_EXPORT lean_object* l_List_mapTR_loop___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18_spec__21(lean_object*, lean_object*); lean_object* l_Lean_MessageData_ofSyntax(lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback___closed__0; @@ -344,11 +352,10 @@ lean_object* l_Lean_MVarId_getType(lean_object*, lean_object*, lean_object*, lea lean_object* l_Array_empty(lean_object*); static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__10; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__19; -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__19; LEAN_EXPORT lean_object* l_Lean_throwError___at___Lean_Elab_Tactic_grind_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_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabGrindConfig___redArg___closed__2; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getRevAliases(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__24(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_Tactic_elabGrobnerConfig___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -362,7 +369,6 @@ lean_object* l_instMonadEIO(lean_object*); static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__3; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback___closed__5; LEAN_EXPORT lean_object* l_List_mapTR_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__4(lean_object*, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__14; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNodeAux___at___Lean_PersistentHashMap_insertAtCollisionNode___at___Lean_PersistentHashMap_insertAux___at___Lean_PersistentHashMap_insert___at___Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0_spec__0_spec__0_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getKind(lean_object*); lean_object* l_Lean_Syntax_TSepArray_getElems___redArg(lean_object*); @@ -370,7 +376,7 @@ lean_object* l_Lean_MessageData_ofFormat(lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_evalGrindTrace___regBuiltin_Lean_Elab_Tactic_evalGrindTrace__1___closed__0; LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__16; +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__2___redArg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getConstVal___at___Lean_mkConstWithLevelParams___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__18_spec__18_spec__18___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_withDeclNameForAuxNaming___at___Lean_Elab_Tactic_elabInitGrindNorm_spec__1(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_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__18; @@ -379,53 +385,51 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabCutsatConfig___boxed(lean_object static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabResetGrindAttrs___regBuiltin_Lean_Elab_Tactic_elabResetGrindAttrs__1___closed__0; lean_object* l_Lean_Meta_Grind_CasesTypes_eraseDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___Lean_Elab_Tactic_grind_spec__6___redArg(lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__3; lean_object* l_Lean_Elab_Term_instMonadTermElabM___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__4; lean_object* l_Lean_Elab_Tactic_replaceMainGoal___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_instApplicativeOfMonad___redArg___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabResetGrindAttrs___redArg(lean_object*, lean_object*, lean_object*); double lean_float_of_nat(lean_object*); static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__14; +LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_instInhabitedOfMonad___redArg(lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabGrindPattern___closed__9; LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3___redArg___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_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabGrindPattern___closed__11; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalGrindCore___lam__0(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___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__7; -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_mkParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9_spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_to_list(lean_object*); LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_contains___at___Lean_Elab_Tactic_mkGrindOnly_spec__15___redArg(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15(uint8_t, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___Lean_PersistentHashMap_insert___at___Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__1____x40_Lean_Elab_Tactic_Grind_3698851736____hygCtx___hyg_3_; LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0_spec__3(lean_object*, lean_object*, size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15(uint8_t, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_MessageData_hasTag(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__4; +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___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_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Syntax_node3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_evalGrobner___regBuiltin_Lean_Elab_Tactic_evalGrobner__1(lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__25; -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; lean_object* l_Lean_Name_append(lean_object*, lean_object*); +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__11; lean_object* l_Lean_Syntax_mkSep(lean_object*, lean_object*); uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabGrobnerConfig___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; LEAN_EXPORT lean_object* l_Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_mkEMatchTheoremForDecl(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkConst(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6_spec__6___redArg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabGrindPattern___closed__1; -LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabGrindConfig___redArg___closed__6; -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9_spec__9___redArg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0(uint8_t, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___Lean_Elab_Tactic_elabGrindPattern_spec__0(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at___Lean_Elab_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__1_spec__2(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_privateToUserName(lean_object*); @@ -435,59 +439,59 @@ lean_object* l_Lean_Meta_Grind_getEMatchTheorems___redArg(lean_object*, lean_obj static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_evalGrobner___regBuiltin_Lean_Elab_Tactic_evalGrobner__1___closed__1; static lean_object* l_Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3___redArg___closed__3; lean_object* l_Lean_Elab_Term_instMonadTermElabM___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__8; lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_realizeGlobalConstNoOverloadWithInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0___redArg___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_Tactic_elabGrindParams(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isEqnThm_x3f___redArg(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__8; uint8_t l_Lean_Meta_Grind_Result_hasFailed(lean_object*); static lean_object* l_Lean_Elab_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__1___redArg___closed__3; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg___lam__0___closed__2; lean_object* l_Lean_PersistentArray_push___redArg(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg___lam__0___closed__3; -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_evalGrind___regBuiltin_Lean_Elab_Tactic_evalGrind__1___closed__0; -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getSepArgs(lean_object*); +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__2(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_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__13(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_mkGrindParams___closed__1; -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___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_extractMacroScopes(lean_object*); lean_object* l_Lean_Name_componentsRev(lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__8; -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9_spec__9___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9(lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addTrace___at___Lean_Elab_Tactic_grind_spec__8___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__3___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_toString___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__14___closed__2; static lean_object* l_Lean_Elab_Tactic_elabGrindPattern___closed__0; static lean_object* l_Lean_Elab_Tactic_evalGrind___closed__1; -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__13; static lean_object* l_Lean_Elab_Tactic_elabGrindPattern___closed__6; extern lean_object* l_Lean_rootNamespace; lean_object* l_Lean_PersistentArray_append___redArg(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_grind___lam__0___closed__1; +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9_spec__9___redArg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__37; static lean_object* l_Lean_Elab_Tactic_elabGrindConfig___redArg___closed__8; extern lean_object* l_Lean_warningAsError; extern lean_object* l_Lean_Elab_pp_macroStack; +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; static lean_object* l_Lean_PersistentHashMap_insertAux___at___Lean_PersistentHashMap_insert___at___Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0_spec__0_spec__0___redArg___closed__2; lean_object* l_Lean_Syntax_node2(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVarsUsingDefault(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe___redArg____x40_Lean_Elab_Tactic_Grind_84924930____hygCtx___hyg_3_(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_setGrindParams___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___Lean_Elab_Tactic_evalGrind_spec__0___redArg(lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__22; lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__6; +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__10; LEAN_EXPORT lean_object* l_Lean_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0___lam__0___closed__2; uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*); @@ -495,10 +499,13 @@ static lean_object* l_Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOv LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__22(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_setGrindParams___closed__2; LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0___lam__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___Lean_Elab_Tactic_elabGrindPattern_spec__0___redArg(lean_object*); uint8_t l_Lean_Meta_Grind_instBEqEMatchTheoremKind_beq(lean_object*, lean_object*); static lean_object* l_Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12___closed__0; +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__8; +static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__38; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___Lean_Elab_Tactic_evalGrind_spec__0___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_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3___redArg___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_withLCtx___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback_spec__0___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -506,28 +513,25 @@ static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabF static lean_object* l_Lean_Elab_Tactic_elabCutsatConfig___redArg___closed__0; lean_object* l_Lean_LocalDecl_fvarId(lean_object*); LEAN_EXPORT lean_object* l_Lean_logAt___at___Lean_logWarningAt___at___Lean_Elab_Tactic_evalGrindCore_spec__0_spec__0___redArg___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_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___boxed(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_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg___lam__0___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7_spec__7___redArg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_preprocessSyntaxAndResolve___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__9___closed__1; -LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_mk_syntax_ident(lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15___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_Tactic_elabGrindConfig___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__1____x40_Lean_Elab_Tactic_Grind_84924930____hygCtx___hyg_3_; +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; uint8_t l_Lean_LocalDecl_isAuxDecl(lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabResetGrindAttrs___regBuiltin_Lean_Elab_Tactic_elabResetGrindAttrs__1___closed__2; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback___closed__7; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__17; +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___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_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18_spec__18___redArg(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___Lean_Elab_Tactic_elabInitGrindNorm_spec__0___redArg(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12___redArg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_NameSet_insert(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Std_Format_defWidth; +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0___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_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MacroScopesView_review(lean_object*); LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAux___at___Lean_PersistentHashMap_contains___at___Lean_Elab_Tactic_mkGrindOnly_spec__15_spec__15___redArg(lean_object*, size_t, lean_object*); @@ -536,8 +540,8 @@ LEAN_EXPORT lean_object* l_panic___at___Lean_ensureNonAmbiguous___at___Lean_reso static lean_object* l_Lean_Elab_Tactic_elabGrindPattern___closed__3; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__27; LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; static lean_object* l_Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0___lam__0___closed__0; +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabInitGrindNorm___lam__0(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_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18_spec__18___redArg___lam__0(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3___redArg___closed__1; @@ -549,7 +553,6 @@ LEAN_EXPORT uint8_t l_Lean_Option_get___at___Lean_Elab_addMacroStack___at___Lean LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabGrindConfig(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_ofConstName(lean_object*, uint8_t); static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__5; -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Environment_contains(lean_object*, lean_object*, uint8_t); static lean_object* l_Lean_Elab_Tactic_grind___lam__0___closed__3; @@ -563,27 +566,29 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabGrobnerConfig___redArg(lean_obje LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___Lean_Elab_Tactic_grind_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkAuxTheorem(lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8___redArg(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0___lam__0___closed__0; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___Lean_PersistentHashMap_insert___at___Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0_spec__0_spec__0(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0___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_withExporting___at___Lean_Elab_Tactic_elabInitGrindNorm_spec__2___redArg___lam__0(lean_object*, uint8_t, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__1; -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__5; +LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__2; lean_object* l_Lean_LocalDecl_userName(lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern___regBuiltin_Lean_Elab_Tactic_elabGrindPattern__1___closed__0; lean_object* l_Lean_Syntax_node4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0___redArg(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insert___at___Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___Lean_Elab_Tactic_elabGrindPattern_spec__0___redArg___closed__0; LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0_spec__2(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_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__3___redArg___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTR_loop___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__2(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_setGrindParams___closed__5; +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_withExporting___at___Lean_Elab_Tactic_elabInitGrindNorm_spec__2___redArg___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_setArg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12___redArg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabGrindConfig___redArg___closed__4; static lean_object* l_Lean_Elab_Tactic_elabGrindPattern___closed__10; LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__24___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -591,7 +596,6 @@ LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__33; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabInitGrindNorm___lam__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___redArg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabGrindConfig___redArg___closed__0; LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__24(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_panic___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__12___closed__4; @@ -599,11 +603,10 @@ LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___Lean_PersistentHa LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabGrindConfig___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Name_hasMacroScopes(lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTR_loop___at___Lean_mkConstWithLevelParams___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__18_spec__20(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_setGrindParams___closed__8; LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___redArg___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_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalGrind___closed__0; LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___Lean_Elab_Tactic_elabInitGrindNorm_spec__0(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_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -614,33 +617,38 @@ LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnkn static lean_object* l_Lean_Elab_Tactic_elabGrobnerConfig___redArg___closed__0; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__3; lean_object* l_Lean_Name_appendCore(lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__4; +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___closed__1; lean_object* l_Lean_Meta_instMonadMetaM___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__11; static lean_object* l_panic___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__12___closed__6; static lean_object* l_Lean_Elab_Tactic_elabGrindConfig___redArg___closed__7; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9_spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_throwInvalidUsrModifier___redArg(lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__5; LEAN_EXPORT lean_object* l_Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__2; lean_object* l_Lean_PersistentHashMap_mkCollisionNode___redArg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0___lam__0(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12___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_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Tactic_withMainContext___redArg(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_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0(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_Lean_evalConst___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback_unsafe__3_spec__0(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint64_t l_Lean_instHashableMVarId_hash(lean_object*); lean_object* l_Lean_Meta_Grind_mkEMatchEqTheoremsForDef_x3f(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__12; static lean_object* l_List_foldl___at___List_toString___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__14_spec__14___closed__0; LEAN_EXPORT lean_object* l_Lean_withExporting___at___Lean_Elab_Tactic_elabInitGrindNorm_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__2(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_containsAtAux___at___Lean_PersistentHashMap_containsAux___at___Lean_PersistentHashMap_contains___at___Lean_Elab_Tactic_mkGrindOnly_spec__15_spec__15_spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_EMatchTheorems_getKindsFor(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5_spec__5___redArg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___Lean_PersistentHashMap_foldlMAux___at___Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6_spec__6_spec__6_spec__7___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_panic___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__12___closed__5; -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_ofExcept___at___Lean_evalConst___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback_unsafe__3_spec__0_spec__0___redArg___boxed(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_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__2; @@ -652,59 +660,53 @@ LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_contains___at___Lean_Elab_Tact LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_mkGrindOnly(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0___lam__0___closed__1; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__36; -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__0; -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5_spec__5___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_logWarningAt___at___Lean_Elab_Tactic_evalGrindCore_spec__0(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_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_preprocessSyntaxAndResolve___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PersistentHashMap_mkEmptyEntries(lean_object*, lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__24___redArg___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___Lean_PersistentHashMap_foldlMAux___at___Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6_spec__6_spec__6_spec__7___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3___redArg___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_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_EnvironmentHeader_moduleNames(lean_object*); LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___Lean_Elab_Tactic_grind_spec__6(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_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabInitGrindNorm___closed__1; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_mkGrindParams___closed__0; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_grind(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_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12___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_Syntax_node1(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__7; lean_object* l_ReaderT_instFunctorOfMonad___redArg___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_toString___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__14___closed__1; -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Grind_84924930____hygCtx___hyg_3_(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__0___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_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Meta_Grind_EMatchTheoremKind_isDefault(lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabGrobnerConfig___redArg___closed__1; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__31; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg___lam__0___closed__1; uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_filterTR_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__1(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t); static lean_object* l_Lean_Elab_Tactic_elabGrindPattern___closed__4; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__28; uint64_t l_Lean_Name_hash___override(lean_object*); -LEAN_EXPORT lean_object* l_List_filterTR_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3___redArg(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_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7_spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12___closed__1; -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe___redArg____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12___closed__5; uint8_t l_Lean_Syntax_isNone(lean_object*); lean_object* lean_panic_fn(lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescope___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__24___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_Elab_Tactic_elabGrobnerConfig(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_forallTelescope___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__24___redArg(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_Grind_Result_toMessageData(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addTrace___at___Lean_Elab_Tactic_grind_spec__8___redArg___closed__1; -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5_spec__5___redArg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabGrindPattern___closed__8; lean_object* l_List_reverse___redArg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___Lean_Elab_Tactic_evalGrind_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -721,27 +723,35 @@ static lean_object* l_List_foldl___at___Lean_Elab_addMacroStack___at___Lean_thro lean_object* l_Lean_Meta_Grind_validateCasesAttr(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6_spec__6_spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_instApplicativeOfMonad___redArg___lam__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9_spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___Lean_Elab_Tactic_elabGrindPattern_spec__0___redArg___closed__1; static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__6; -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAtCollisionNode___at___Lean_PersistentHashMap_insertAux___at___Lean_PersistentHashMap_insert___at___Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0_spec__0_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_setGrindParams___closed__4; uint8_t l_Lean_isPrivateName(lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___Lean_PersistentHashMap_insertAux___at___Lean_PersistentHashMap_insert___at___Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0_spec__0_spec__0_spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6___redArg(lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__7; LEAN_EXPORT lean_object* l_Lean_Meta_withLCtx___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback___closed__6; +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18_spec__18_spec__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___Lean_PersistentHashMap_containsAux___at___Lean_PersistentHashMap_contains___at___Lean_Elab_Tactic_mkGrindOnly_spec__15_spec__15_spec__15___redArg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Environment_getModuleIdxFor_x3f(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_ensureNotBuiltinCases(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0___lam__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_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___closed__0; +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__4(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_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_elabGrindPattern___closed__2; lean_object* l_Lean_Meta_Grind_SymbolPriorities_insert(lean_object*, lean_object*, lean_object*); @@ -750,10 +760,8 @@ lean_object* l_Lean_Meta_mkAuxDefinition(lean_object*, lean_object*, lean_object size_t lean_usize_sub(size_t, size_t); lean_object* lean_array_mk(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalGrindCore(lean_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_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__12; LEAN_EXPORT lean_object* l_Lean_instantiateMVars___at___Lean_Elab_Tactic_grind_spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instantiateMVarsCore(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at___List_toString___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__14_spec__14(lean_object*, lean_object*); lean_object* l_Lean_PersistentHashMap_getCollisionNodeSize___redArg(lean_object*); @@ -770,24 +778,26 @@ LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___at___Lean_throwError___at__ size_t lean_usize_add(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Meta_withLCtx___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback_spec__0(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_mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6_spec__6___redArg___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__1___redArg___closed__1; static lean_object* l_Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0___closed__0; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabInitGrindNorm(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_foldlMAux_traverse___at___Lean_PersistentHashMap_foldlMAux___at___Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6_spec__6_spec__6_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_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_insertAux___at___Lean_PersistentHashMap_insert___at___Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_withContext___at___Lean_Elab_Tactic_grind_spec__10___redArg___lam__0(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_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1(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_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern___regBuiltin_Lean_Elab_Tactic_elabGrindPattern__1___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_setGrindParams___boxed(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___Lean_PersistentHashMap_containsAux___at___Lean_PersistentHashMap_contains___at___Lean_Elab_Tactic_mkGrindOnly_spec__15_spec__15_spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__18; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +LEAN_EXPORT lean_object* l_Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0(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); LEAN_EXPORT lean_object* l_Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18(lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9_spec__9___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3___redArg(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_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_addTermInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Grind_84924930____hygCtx___hyg_3____boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_setGrindParams___closed__3; @@ -796,13 +806,13 @@ static lean_object* l_Lean_Elab_Tactic_elabGrindConfig___redArg___closed__3; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern___regBuiltin_Lean_Elab_Tactic_elabGrindPattern__1___closed__1; LEAN_EXPORT lean_object* l_Lean_throwError___at___Lean_Elab_Tactic_grind_spec__9___redArg(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_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback___closed__10; static lean_object* l_Lean_Elab_Tactic_mkGrindOnly___closed__1; lean_object* l_Lean_Name_mkStr1(lean_object*); lean_object* l_Lean_Meta_instantiateMVarsProfiling(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_shift_left(size_t, size_t); lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9_spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_grind___lam__0___closed__0; static lean_object* l_List_toString___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__14___closed__0; @@ -815,12 +825,13 @@ static lean_object* l_Lean_preprocessSyntaxAndResolve___at___Lean_resolveGlobalC LEAN_EXPORT lean_object* l_Lean_evalConst___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback_unsafe__3_spec__0___redArg___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_PersistentHashMap_contains___at___Lean_Elab_Tactic_mkGrindOnly_spec__15___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback___closed__1; +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__4; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___Lean_PersistentHashMap_contains___at___Lean_Elab_Tactic_mkGrindOnly_spec__15_spec__15___redArg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_toString___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__14___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalCutsat(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_ResolveName_0__Lean_unresolveNameGlobal_unresolveNameCore___at___Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__20; lean_object* lean_string_append(lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__14; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback___closed__8; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__4; LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_unresolveNameGlobal_unresolveNameCore___at___Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -833,7 +844,7 @@ lean_object* l_Lean_LocalDecl_toExpr(lean_object*); static lean_object* l_Lean_Elab_Tactic_elabCutsatConfig___redArg___closed__1; static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__30; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabResetGrindAttrs___regBuiltin_Lean_Elab_Tactic_elabResetGrindAttrs__1___closed__1; -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__15; +LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12___lam__0___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_Elab_Tactic_elabGrindPattern(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback_unsafe__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_isGrindOnly___boxed(lean_object*); @@ -860,8 +871,8 @@ LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_ResolveName static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__1; lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_foldlMUnsafe_fold___at___Lean_PersistentHashMap_foldlMAux___at___Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6_spec__6_spec__6_spec__6___redArg(lean_object*, lean_object*, size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_ofExcept___at___Lean_evalConst___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback_unsafe__3_spec__0_spec__0___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_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18_spec__18___redArg___boxed(lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__1; static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabInitGrindNorm___regBuiltin_Lean_Elab_Tactic_elabInitGrindNorm__1___closed__1; @@ -869,8 +880,10 @@ uint8_t l_Lean_Exception_isRuntime(lean_object*); static lean_object* l_panic___at___Lean_ensureNonAmbiguous___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__12_spec__12___closed__0; LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__24___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Grind_isCasesAttrPredicateCandidate_x3f(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__23(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___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg___lam__0___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__4___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Environment_setExporting(lean_object*, uint8_t); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_ResolveName_0__Lean_unresolveNameGlobal_unresolveNameCore___at___Lean_unresolveNameGlobal___at___Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0_spec__0_spec__0_spec__0___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*); @@ -878,23 +891,20 @@ LEAN_EXPORT lean_object* l_Lean_addTrace___at___Lean_Elab_Tactic_grind_spec__8(l LEAN_EXPORT lean_object* l_Lean_withDeclNameForAuxNaming___at___Lean_Elab_Tactic_elabInitGrindNorm_spec__1___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_preprocessSyntaxAndResolve___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__9___closed__2; +LEAN_EXPORT lean_object* l_List_filterTR_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Data_PersistentHashMap_0__Lean_PersistentHashMap_insertAux_traverse___at___Lean_PersistentHashMap_insertAux___at___Lean_PersistentHashMap_insert___at___Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0_spec__0_spec__0_spec__2___redArg(size_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__6_spec__6_spec__6_spec__6_spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg___lam__0(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_evalCutsat___regBuiltin_Lean_Elab_Tactic_evalCutsat__1___closed__0; LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at___Lean_Elab_Tactic_elabInitGrindNorm_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_mvarId_x21(lean_object*); -LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7_spec__7___redArg___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_logAt___at___Lean_logWarningAt___at___Lean_Elab_Tactic_evalGrindCore_spec__0_spec__0___redArg(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0___lam__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_foldl___at___Lean_Elab_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__1_spec__2___closed__1; lean_object* lean_array_uset(lean_object*, size_t, lean_object*); -static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__2; lean_object* l_Lean_MessageData_ofName(lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabFallback___closed__3; +LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_instMonadMetaM___lam__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getConstVal___at___Lean_mkConstWithLevelParams___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__18_spec__18_spec__18(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_evalGrindTrace___closed__2; lean_object* l_Lean_mkLevelParam(lean_object*); @@ -903,20 +913,19 @@ LEAN_EXPORT lean_object* l_Lean_getConstVal___at___Lean_mkConstWithLevelParams__ static lean_object* l_Lean_Elab_Tactic_evalGrindCore___closed__2; static lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3_spec__3_spec__3___closed__2; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAux___at___Lean_PersistentHashMap_contains___at___Lean_Elab_Tactic_mkGrindOnly_spec__15_spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5_spec__5(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_filterTR_loop___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__1(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5_spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__3___redArg(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Tactic_isGrindOnly___closed__0; LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalGrindTrace(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageLog_add(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__32; size_t lean_usize_land(size_t, size_t); LEAN_EXPORT lean_object* l_Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1___lam__0(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_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__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_throwUnknownConstant___at___Lean_getConstVal___at___Lean_mkConstWithLevelParams___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__18_spec__18_spec__18___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_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6_spec__6___redArg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_Grind_instInhabitedCasesTypes_default; static lean_object* l_Lean_Elab_Tactic_grind___lam__0___closed__2; LEAN_EXPORT lean_object* l_Lean_addTrace___at___Lean_Elab_Tactic_grind_spec__8___redArg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -926,6 +935,8 @@ static lean_object* l_Lean_Elab_Tactic_evalGrindCore___closed__0; static lean_object* l_Lean_Elab_Tactic_evalCutsat___closed__1; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Elab_Tactic_mkGrindOnly_spec__18_spec__18_spec__18_spec__18___redArg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_grind___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__0; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_containsAtAux___at___Lean_PersistentHashMap_containsAux___at___Lean_PersistentHashMap_contains___at___Lean_Elab_Tactic_mkGrindOnly_spec__15_spec__15_spec__15___redArg___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern___regBuiltin_Lean_Elab_Tactic_elabGrindPattern__1___closed__3; LEAN_EXPORT lean_object* l_Lean_MVarId_assign___at___Lean_Elab_Tactic_grind_spec__0___redArg(lean_object*, lean_object*, lean_object*, lean_object*); @@ -7382,57 +7393,57 @@ x_12 = l_Lean_Meta_forallTelescope___at_____private_Lean_Elab_Tactic_Grind_0__Le return x_12; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t 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) { _start: { -lean_object* x_14; size_t x_15; size_t x_16; lean_object* x_17; -x_14 = l_Lean_Syntax_TSepArray_getElems___redArg(x_1); -x_15 = lean_array_size(x_14); -x_16 = 0; -lean_inc(x_12); -lean_inc_ref(x_11); -lean_inc(x_10); -lean_inc_ref(x_9); -x_17 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__23(x_2, x_5, x_15, x_16, x_14, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_17) == 0) +lean_object* x_15; size_t x_16; size_t x_17; lean_object* x_18; +x_15 = l_Lean_Syntax_TSepArray_getElems___redArg(x_1); +x_16 = lean_array_size(x_15); +x_17 = 0; +lean_inc(x_13); +lean_inc_ref(x_12); +lean_inc(x_11); +lean_inc_ref(x_10); +x_18 = l___private_Init_Data_Array_Basic_0__Array_mapMUnsafe_map___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__23(x_2, x_6, x_16, x_17, x_15, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +if (lean_obj_tag(x_18) == 0) { -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_17, 1); +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_19 = lean_ctor_get(x_18, 0); lean_inc(x_19); -lean_dec_ref(x_17); -x_20 = lean_array_get_size(x_5); -x_21 = lean_array_to_list(x_18); -x_22 = lean_box(9); -x_23 = l_Lean_Meta_Grind_addEMatchTheorem(x_3, x_20, x_21, x_22, x_4, x_9, x_10, x_11, x_12, x_19); -return x_23; +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec_ref(x_18); +x_21 = lean_array_get_size(x_6); +x_22 = lean_array_to_list(x_19); +x_23 = lean_box(9); +x_24 = l_Lean_Meta_Grind_addEMatchTheorem(x_3, x_21, x_22, x_23, x_4, x_5, x_10, x_11, x_12, x_13, x_20); +return x_24; } else { -uint8_t x_24; -lean_dec(x_12); -lean_dec_ref(x_11); -lean_dec(x_10); -lean_dec_ref(x_9); +uint8_t x_25; +lean_dec(x_13); +lean_dec_ref(x_12); +lean_dec(x_11); +lean_dec_ref(x_10); lean_dec(x_3); -x_24 = !lean_is_exclusive(x_17); -if (x_24 == 0) +x_25 = !lean_is_exclusive(x_18); +if (x_25 == 0) { -return x_17; +return x_18; } 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_object* x_26; lean_object* x_27; lean_object* x_28; +x_26 = lean_ctor_get(x_18, 0); +x_27 = lean_ctor_get(x_18, 1); +lean_inc(x_27); 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_dec(x_18); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_26); +lean_ctor_set(x_28, 1, x_27); +return x_28; } } } @@ -7491,7 +7502,7 @@ lean_inc(x_12); x_22 = l_Lean_getConstVal___at___Lean_mkConstWithLevelParams___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__18_spec__18(x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_21); if (lean_obj_tag(x_22) == 0) { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; x_23 = lean_ctor_get(x_22, 0); lean_inc(x_23); x_24 = lean_ctor_get(x_22, 1); @@ -7500,18 +7511,20 @@ lean_dec_ref(x_22); x_25 = lean_ctor_get(x_23, 2); lean_inc_ref(x_25); lean_dec(x_23); -x_26 = lean_box(x_3); -x_27 = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__0___boxed), 13, 4); -lean_closure_set(x_27, 0, x_2); -lean_closure_set(x_27, 1, x_17); -lean_closure_set(x_27, 2, x_12); -lean_closure_set(x_27, 3, x_26); -x_28 = l_Lean_Meta_forallTelescope___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__24___redArg(x_25, x_27, x_19, x_4, x_5, x_6, x_7, x_8, x_9, x_24); -return x_28; +x_26 = lean_box(x_19); +x_27 = lean_box(x_3); +x_28 = lean_alloc_closure((void*)(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__0___boxed), 14, 5); +lean_closure_set(x_28, 0, x_2); +lean_closure_set(x_28, 1, x_17); +lean_closure_set(x_28, 2, x_12); +lean_closure_set(x_28, 3, x_26); +lean_closure_set(x_28, 4, x_27); +x_29 = l_Lean_Meta_forallTelescope___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__24___redArg(x_25, x_28, x_19, x_4, x_5, x_6, x_7, x_8, x_9, x_24); +return x_29; } else { -uint8_t x_29; +uint8_t x_30; lean_dec(x_12); lean_dec(x_9); lean_dec_ref(x_8); @@ -7520,29 +7533,29 @@ lean_dec_ref(x_6); lean_dec(x_5); lean_dec_ref(x_4); lean_dec_ref(x_2); -x_29 = !lean_is_exclusive(x_22); -if (x_29 == 0) +x_30 = !lean_is_exclusive(x_22); +if (x_30 == 0) { return x_22; } else { -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_22, 0); -x_31 = lean_ctor_get(x_22, 1); +lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_31 = lean_ctor_get(x_22, 0); +x_32 = lean_ctor_get(x_22, 1); +lean_inc(x_32); lean_inc(x_31); -lean_inc(x_30); lean_dec(x_22); -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; +x_33 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_33, 0, x_31); +lean_ctor_set(x_33, 1, x_32); +return x_33; } } } else { -uint8_t x_33; +uint8_t x_34; lean_dec(x_12); lean_dec(x_9); lean_dec_ref(x_8); @@ -7551,29 +7564,29 @@ lean_dec_ref(x_6); lean_dec(x_5); lean_dec_ref(x_4); lean_dec_ref(x_2); -x_33 = !lean_is_exclusive(x_20); -if (x_33 == 0) +x_34 = !lean_is_exclusive(x_20); +if (x_34 == 0) { return x_20; } else { -lean_object* x_34; lean_object* x_35; lean_object* x_36; -x_34 = lean_ctor_get(x_20, 0); -x_35 = lean_ctor_get(x_20, 1); +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_20, 0); +x_36 = lean_ctor_get(x_20, 1); +lean_inc(x_36); lean_inc(x_35); -lean_inc(x_34); lean_dec(x_20); -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; +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_37; +uint8_t x_38; lean_dec(x_12); lean_dec(x_9); lean_dec_ref(x_8); @@ -7583,29 +7596,29 @@ lean_dec(x_5); lean_dec_ref(x_4); lean_dec_ref(x_2); lean_dec(x_1); -x_37 = !lean_is_exclusive(x_14); -if (x_37 == 0) +x_38 = !lean_is_exclusive(x_14); +if (x_38 == 0) { return x_14; } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; -x_38 = lean_ctor_get(x_14, 0); -x_39 = lean_ctor_get(x_14, 1); +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_14, 0); +x_40 = lean_ctor_get(x_14, 1); +lean_inc(x_40); lean_inc(x_39); -lean_inc(x_38); lean_dec(x_14); -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_9); lean_dec_ref(x_8); lean_dec(x_7); @@ -7614,23 +7627,23 @@ lean_dec(x_5); lean_dec_ref(x_4); lean_dec_ref(x_2); lean_dec(x_1); -x_41 = !lean_is_exclusive(x_11); -if (x_41 == 0) +x_42 = !lean_is_exclusive(x_11); +if (x_42 == 0) { return x_11; } else { -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = lean_ctor_get(x_11, 0); -x_43 = lean_ctor_get(x_11, 1); +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_11, 0); +x_44 = lean_ctor_get(x_11, 1); +lean_inc(x_44); lean_inc(x_43); -lean_inc(x_42); lean_dec(x_11); -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; } } } @@ -7934,16 +7947,17 @@ x_13 = l_Lean_Meta_forallTelescope___at_____private_Lean_Elab_Tactic_Grind_0__Le return x_13; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__0___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_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__0___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: { -uint8_t x_14; lean_object* x_15; -x_14 = lean_unbox(x_4); -x_15 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__0(x_1, x_2, x_3, x_14, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); +uint8_t x_15; uint8_t x_16; lean_object* x_17; +x_15 = lean_unbox(x_4); +x_16 = lean_unbox(x_5); +x_17 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__0(x_1, x_2, x_3, x_15, x_16, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14); +lean_dec_ref(x_7); lean_dec_ref(x_6); -lean_dec_ref(x_5); lean_dec_ref(x_1); -return x_15; +return x_17; } } LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go___lam__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) { @@ -9662,7 +9676,7 @@ return x_1; LEAN_EXPORT lean_object* l_Lean_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0(lean_object* x_1, lean_object* x_2, uint8_t x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; uint8_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_81; lean_object* x_82; uint8_t x_83; lean_object* x_84; uint8_t x_85; lean_object* x_86; uint8_t x_87; lean_object* x_88; lean_object* x_110; lean_object* x_111; uint8_t x_112; uint8_t x_113; lean_object* x_114; uint8_t x_115; lean_object* x_116; lean_object* x_117; lean_object* x_121; lean_object* x_122; lean_object* x_123; uint8_t x_124; lean_object* x_125; uint8_t x_126; uint8_t x_127; uint8_t x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; uint8_t x_138; uint8_t x_139; uint8_t x_140; uint8_t x_142; uint8_t x_158; +lean_object* x_10; uint8_t 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; lean_object* x_18; lean_object* x_19; lean_object* x_81; uint8_t x_82; lean_object* x_83; uint8_t x_84; uint8_t x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_110; uint8_t x_111; uint8_t x_112; lean_object* x_113; uint8_t x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_121; lean_object* x_122; uint8_t x_123; uint8_t x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127; uint8_t x_133; lean_object* x_134; uint8_t x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; uint8_t x_139; uint8_t x_140; uint8_t x_142; uint8_t x_158; x_133 = 2; x_158 = l_Lean_instBEqMessageSeverity_beq(x_3, x_133); if (x_158 == 0) @@ -9702,15 +9716,15 @@ lean_ctor_set(x_20, 1, x_25); lean_ctor_set(x_20, 0, x_24); x_28 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_28, 0, x_20); -lean_ctor_set(x_28, 1, x_16); +lean_ctor_set(x_28, 1, x_14); x_29 = lean_alloc_ctor(0, 5, 3); -lean_ctor_set(x_29, 0, x_11); -lean_ctor_set(x_29, 1, x_10); -lean_ctor_set(x_29, 2, x_15); -lean_ctor_set(x_29, 3, x_12); +lean_ctor_set(x_29, 0, x_15); +lean_ctor_set(x_29, 1, x_16); +lean_ctor_set(x_29, 2, x_12); +lean_ctor_set(x_29, 3, x_10); lean_ctor_set(x_29, 4, x_28); -lean_ctor_set_uint8(x_29, sizeof(void*)*5, x_13); -lean_ctor_set_uint8(x_29, sizeof(void*)*5 + 1, x_14); +lean_ctor_set_uint8(x_29, sizeof(void*)*5, x_11); +lean_ctor_set_uint8(x_29, sizeof(void*)*5 + 1, x_13); lean_ctor_set_uint8(x_29, sizeof(void*)*5 + 2, x_4); x_30 = l_Lean_MessageLog_add(x_29, x_27); lean_ctor_set(x_22, 6, x_30); @@ -9764,15 +9778,15 @@ lean_ctor_set(x_20, 1, x_25); lean_ctor_set(x_20, 0, x_24); x_47 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_47, 0, x_20); -lean_ctor_set(x_47, 1, x_16); +lean_ctor_set(x_47, 1, x_14); x_48 = lean_alloc_ctor(0, 5, 3); -lean_ctor_set(x_48, 0, x_11); -lean_ctor_set(x_48, 1, x_10); -lean_ctor_set(x_48, 2, x_15); -lean_ctor_set(x_48, 3, x_12); +lean_ctor_set(x_48, 0, x_15); +lean_ctor_set(x_48, 1, x_16); +lean_ctor_set(x_48, 2, x_12); +lean_ctor_set(x_48, 3, x_10); lean_ctor_set(x_48, 4, x_47); -lean_ctor_set_uint8(x_48, sizeof(void*)*5, x_13); -lean_ctor_set_uint8(x_48, sizeof(void*)*5 + 1, x_14); +lean_ctor_set_uint8(x_48, sizeof(void*)*5, x_11); +lean_ctor_set_uint8(x_48, sizeof(void*)*5 + 1, x_13); lean_ctor_set_uint8(x_48, sizeof(void*)*5 + 2, x_4); x_49 = l_Lean_MessageLog_add(x_48, x_44); x_50 = lean_alloc_ctor(0, 9, 0); @@ -9858,15 +9872,15 @@ lean_ctor_set(x_70, 0, x_58); lean_ctor_set(x_70, 1, x_59); x_71 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_71, 0, x_70); -lean_ctor_set(x_71, 1, x_16); +lean_ctor_set(x_71, 1, x_14); x_72 = lean_alloc_ctor(0, 5, 3); -lean_ctor_set(x_72, 0, x_11); -lean_ctor_set(x_72, 1, x_10); -lean_ctor_set(x_72, 2, x_15); -lean_ctor_set(x_72, 3, x_12); +lean_ctor_set(x_72, 0, x_15); +lean_ctor_set(x_72, 1, x_16); +lean_ctor_set(x_72, 2, x_12); +lean_ctor_set(x_72, 3, x_10); lean_ctor_set(x_72, 4, x_71); -lean_ctor_set_uint8(x_72, sizeof(void*)*5, x_13); -lean_ctor_set_uint8(x_72, sizeof(void*)*5 + 1, x_14); +lean_ctor_set_uint8(x_72, sizeof(void*)*5, x_11); +lean_ctor_set_uint8(x_72, sizeof(void*)*5 + 1, x_13); lean_ctor_set_uint8(x_72, sizeof(void*)*5 + 2, x_4); x_73 = l_Lean_MessageLog_add(x_72, x_66); if (lean_is_scalar(x_69)) { @@ -9917,24 +9931,24 @@ lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean x_92 = lean_ctor_get(x_90, 0); x_93 = lean_ctor_get(x_90, 1); lean_inc_ref(x_86); -x_94 = l_Lean_FileMap_toPosition(x_86, x_84); -lean_dec(x_84); +x_94 = l_Lean_FileMap_toPosition(x_86, x_83); +lean_dec(x_83); x_95 = l_Lean_FileMap_toPosition(x_86, x_88); lean_dec(x_88); x_96 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_96, 0, x_95); x_97 = l_Lean_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0___closed__0; -if (x_87 == 0) +if (x_82 == 0) { lean_free_object(x_90); lean_dec_ref(x_81); -x_10 = x_94; -x_11 = x_82; -x_12 = x_97; -x_13 = x_83; -x_14 = x_85; -x_15 = x_96; -x_16 = x_92; +x_10 = x_97; +x_11 = x_84; +x_12 = x_96; +x_13 = x_85; +x_14 = x_92; +x_15 = x_87; +x_16 = x_94; x_17 = x_7; x_18 = x_8; x_19 = x_93; @@ -9951,7 +9965,7 @@ lean_object* x_99; lean_dec_ref(x_96); lean_dec_ref(x_94); lean_dec(x_92); -lean_dec_ref(x_82); +lean_dec_ref(x_87); lean_dec_ref(x_7); x_99 = lean_box(0); lean_ctor_set(x_90, 0, x_99); @@ -9960,13 +9974,13 @@ return x_90; else { lean_free_object(x_90); -x_10 = x_94; -x_11 = x_82; -x_12 = x_97; -x_13 = x_83; -x_14 = x_85; -x_15 = x_96; -x_16 = x_92; +x_10 = x_97; +x_11 = x_84; +x_12 = x_96; +x_13 = x_85; +x_14 = x_92; +x_15 = x_87; +x_16 = x_94; x_17 = x_7; x_18 = x_8; x_19 = x_93; @@ -9983,23 +9997,23 @@ lean_inc(x_101); lean_inc(x_100); lean_dec(x_90); lean_inc_ref(x_86); -x_102 = l_Lean_FileMap_toPosition(x_86, x_84); -lean_dec(x_84); +x_102 = l_Lean_FileMap_toPosition(x_86, x_83); +lean_dec(x_83); x_103 = l_Lean_FileMap_toPosition(x_86, x_88); lean_dec(x_88); x_104 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_104, 0, x_103); x_105 = l_Lean_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0___closed__0; -if (x_87 == 0) +if (x_82 == 0) { lean_dec_ref(x_81); -x_10 = x_102; -x_11 = x_82; -x_12 = x_105; -x_13 = x_83; -x_14 = x_85; -x_15 = x_104; -x_16 = x_100; +x_10 = x_105; +x_11 = x_84; +x_12 = x_104; +x_13 = x_85; +x_14 = x_100; +x_15 = x_87; +x_16 = x_102; x_17 = x_7; x_18 = x_8; x_19 = x_101; @@ -10016,7 +10030,7 @@ lean_object* x_107; lean_object* x_108; lean_dec_ref(x_104); lean_dec_ref(x_102); lean_dec(x_100); -lean_dec_ref(x_82); +lean_dec_ref(x_87); lean_dec_ref(x_7); x_107 = lean_box(0); x_108 = lean_alloc_ctor(0, 2, 0); @@ -10026,13 +10040,13 @@ return x_108; } else { -x_10 = x_102; -x_11 = x_82; -x_12 = x_105; -x_13 = x_83; -x_14 = x_85; -x_15 = x_104; -x_16 = x_100; +x_10 = x_105; +x_11 = x_84; +x_12 = x_104; +x_13 = x_85; +x_14 = x_100; +x_15 = x_87; +x_16 = x_102; x_17 = x_7; x_18 = x_8; x_19 = x_101; @@ -10044,18 +10058,18 @@ goto block_80; block_120: { lean_object* x_118; -x_118 = l_Lean_Syntax_getTailPos_x3f(x_116, x_112); -lean_dec(x_116); +x_118 = l_Lean_Syntax_getTailPos_x3f(x_113, x_112); +lean_dec(x_113); if (lean_obj_tag(x_118) == 0) { lean_inc(x_117); x_81 = x_110; x_82 = x_111; -x_83 = x_112; -x_84 = x_117; -x_85 = x_113; -x_86 = x_114; -x_87 = x_115; +x_83 = x_117; +x_84 = x_112; +x_85 = x_114; +x_86 = x_115; +x_87 = x_116; x_88 = x_117; goto block_109; } @@ -10067,11 +10081,11 @@ lean_inc(x_119); lean_dec_ref(x_118); x_81 = x_110; x_82 = x_111; -x_83 = x_112; -x_84 = x_117; -x_85 = x_113; -x_86 = x_114; -x_87 = x_115; +x_83 = x_117; +x_84 = x_112; +x_85 = x_114; +x_86 = x_115; +x_87 = x_116; x_88 = x_119; goto block_109; } @@ -10079,20 +10093,20 @@ goto block_109; block_132: { lean_object* x_128; lean_object* x_129; -x_128 = l_Lean_replaceRef(x_1, x_123); -lean_dec(x_123); +x_128 = l_Lean_replaceRef(x_1, x_122); +lean_dec(x_122); x_129 = l_Lean_Syntax_getPos_x3f(x_128, x_124); if (lean_obj_tag(x_129) == 0) { lean_object* x_130; x_130 = lean_unsigned_to_nat(0u); x_110 = x_121; -x_111 = x_122; +x_111 = x_123; x_112 = x_124; -x_113 = x_127; -x_114 = x_125; -x_115 = x_126; -x_116 = x_128; +x_113 = x_128; +x_114 = x_127; +x_115 = x_125; +x_116 = x_126; x_117 = x_130; goto block_120; } @@ -10103,12 +10117,12 @@ x_131 = lean_ctor_get(x_129, 0); lean_inc(x_131); lean_dec_ref(x_129); x_110 = x_121; -x_111 = x_122; +x_111 = x_123; x_112 = x_124; -x_113 = x_127; -x_114 = x_125; -x_115 = x_126; -x_116 = x_128; +x_113 = x_128; +x_114 = x_127; +x_115 = x_125; +x_116 = x_126; x_117 = x_131; goto block_120; } @@ -10157,14 +10171,14 @@ x_151 = 1; x_152 = l_Lean_instBEqMessageSeverity_beq(x_3, x_151); if (x_152 == 0) { +lean_inc_ref(x_143); lean_inc_ref(x_144); lean_inc(x_146); -lean_inc_ref(x_143); -x_134 = x_143; -x_135 = x_146; +x_134 = x_146; +x_135 = x_147; x_136 = x_150; x_137 = x_144; -x_138 = x_147; +x_138 = x_143; x_139 = x_142; x_140 = x_152; goto block_141; @@ -10174,14 +10188,14 @@ else lean_object* x_153; uint8_t x_154; x_153 = l_Lean_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0___closed__1; x_154 = l_Lean_Option_get___at___Lean_Elab_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__1_spec__1(x_145, x_153); +lean_inc_ref(x_143); lean_inc_ref(x_144); lean_inc(x_146); -lean_inc_ref(x_143); -x_134 = x_143; -x_135 = x_146; +x_134 = x_146; +x_135 = x_147; x_136 = x_150; x_137 = x_144; -x_138 = x_147; +x_138 = x_143; x_139 = x_142; x_140 = x_154; goto block_141; @@ -10698,7 +10712,7 @@ lean_dec_ref(x_3); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(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_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(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; uint8_t x_9; @@ -10736,15 +10750,90 @@ return x_15; } } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0(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_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0(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; -x_8 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_2, x_3, x_4, x_5, x_6, x_7); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1___lam__0(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) { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___closed__0() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("redundant modifier `!` in `grind` parameter", 43, 43); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___closed__0; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +if (x_1 == 0) +{ +lean_object* x_7; lean_object* x_8; +x_7 = lean_box(0); +x_8 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +return x_8; +} +else +{ +lean_object* x_9; lean_object* x_10; +x_9 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___closed__1; +x_10 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_9, x_2, x_3, x_4, x_5, x_6); +return x_10; +} +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg___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_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec_ref(x_4); +lean_dec(x_3); +lean_dec_ref(x_2); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___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: +{ +lean_object* x_8; +x_8 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec_ref(x_5); +lean_dec(x_4); +lean_dec_ref(x_3); +return x_8; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___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: +{ +uint8_t x_7; lean_object* x_8; +x_7 = lean_unbox(x_1); +x_8 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable(x_7, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec_ref(x_4); +lean_dec(x_3); +lean_dec_ref(x_2); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0___lam__0(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; @@ -10758,7 +10847,7 @@ lean_ctor_set(x_10, 1, x_7); return x_10; } } -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_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_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0(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; uint8_t x_9; @@ -10919,14 +11008,14 @@ block_16: { lean_object* x_14; lean_object* x_15; x_14 = lean_box(0); -x_15 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1___lam__0(x_13, x_14, x_3, x_4, x_5, x_6, x_11); +x_15 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0___lam__0(x_13, x_14, x_3, x_4, x_5, x_6, x_11); return x_15; } block_19: { lean_object* x_17; lean_object* x_18; x_17 = lean_box(0); -x_18 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1___lam__0(x_1, x_17, x_3, x_4, x_5, x_6, x_11); +x_18 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0___lam__0(x_1, x_17, x_3, x_4, x_5, x_6, x_11); return x_18; } } @@ -11085,20 +11174,20 @@ block_68: { lean_object* x_66; lean_object* x_67; x_66 = lean_box(0); -x_67 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1___lam__0(x_65, x_66, x_3, x_4, x_5, x_6, x_63); +x_67 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0___lam__0(x_65, x_66, x_3, x_4, x_5, x_6, x_63); return x_67; } block_71: { lean_object* x_69; lean_object* x_70; x_69 = lean_box(0); -x_70 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1___lam__0(x_1, x_69, x_3, x_4, x_5, x_6, x_63); +x_70 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0___lam__0(x_1, x_69, x_3, x_4, x_5, x_6, x_63); return x_70; } } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2___redArg(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_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1___redArg(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_8; @@ -11110,7 +11199,7 @@ x_9 = lean_ctor_get(x_5, 5); x_10 = l_Lean_replaceRef(x_1, x_9); lean_dec(x_9); lean_ctor_set(x_5, 5, x_10); -x_11 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_2, x_3, x_4, x_5, x_6, x_7); +x_11 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_2, x_3, x_4, x_5, x_6, x_7); lean_dec_ref(x_5); return x_11; } @@ -11167,43 +11256,43 @@ lean_ctor_set(x_29, 12, x_25); lean_ctor_set(x_29, 13, x_27); lean_ctor_set_uint8(x_29, sizeof(void*)*14, x_24); lean_ctor_set_uint8(x_29, sizeof(void*)*14 + 1, x_26); -x_30 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_2, x_3, x_4, x_29, x_6, x_7); +x_30 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_2, x_3, x_4, x_29, x_6, x_7); lean_dec_ref(x_29); return x_30; } } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_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_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_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) { _start: { lean_object* x_9; -x_9 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2___redArg(x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1___redArg(x_2, x_3, x_4, x_5, x_6, x_7, x_8); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1___redArg(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_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0___redArg(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; -x_9 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1(x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0(x_2, x_3, x_4, x_5, x_6, x_7, x_8); 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_ref(x_9); -x_12 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2___redArg(x_1, x_10, x_4, x_5, x_6, x_7, x_11); +x_12 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1___redArg(x_1, x_10, x_4, x_5, x_6, x_7, x_11); return x_12; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_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_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1___redArg(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0___redArg(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); return x_10; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1___redArg(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_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0___redArg(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; uint8_t x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; @@ -11218,38 +11307,38 @@ x_12 = l_Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____privat x_13 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_13, 0, x_11); lean_ctor_set(x_13, 1, x_12); -x_14 = l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1___redArg(x_1, x_13, x_2, x_3, x_4, x_5, x_6, x_7); +x_14 = l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0___redArg(x_1, x_13, x_2, x_3, x_4, x_5, x_6, x_7); return x_14; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_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_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0(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; -x_9 = l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1___redArg(x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0___redArg(x_2, x_3, x_4, x_5, x_6, x_7, x_8); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1___redArg(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_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0___redArg(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; x_7 = lean_ctor_get(x_4, 5); lean_inc(x_7); -x_8 = l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1___redArg(x_7, x_1, x_2, x_3, x_4, x_5, x_6); +x_8 = l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0___redArg(x_7, x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_7); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_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_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0(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; -x_8 = l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1___redArg(x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0___redArg(x_2, x_3, x_4, x_5, x_6, x_7); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1(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_EXPORT lean_object* l_Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0(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: { lean_object* x_8; uint8_t x_9; @@ -11269,7 +11358,7 @@ if (lean_obj_tag(x_13) == 0) { lean_object* x_14; lean_free_object(x_8); -x_14 = l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1___redArg(x_1, x_3, x_4, x_5, x_6, x_11); +x_14 = l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0___redArg(x_1, x_3, x_4, x_5, x_6, x_11); return x_14; } else @@ -11300,7 +11389,7 @@ x_19 = l_Lean_Environment_findAsync_x3f(x_18, x_1, x_2); if (lean_obj_tag(x_19) == 0) { lean_object* x_20; -x_20 = l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1___redArg(x_1, x_3, x_4, x_5, x_6, x_17); +x_20 = l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0___redArg(x_1, x_3, x_4, x_5, x_6, x_17); return x_20; } else @@ -11319,7 +11408,7 @@ return x_22; } } } -LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7_spec__7___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6_spec__6___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; @@ -11357,19 +11446,19 @@ return x_15; } } } -LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7_spec__7(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_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6_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) { _start: { lean_object* x_7; -x_7 = l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7_spec__7___redArg(x_1, x_5, x_6); +x_7 = l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6_spec__6___redArg(x_1, x_5, x_6); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7(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_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_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) { _start: { lean_object* x_7; lean_object* x_8; uint8_t x_9; -x_7 = l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7_spec__7___redArg(x_1, x_5, x_6); +x_7 = l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6_spec__6___redArg(x_1, x_5, x_6); x_8 = lean_ctor_get(x_7, 0); lean_inc(x_8); x_9 = lean_unbox(x_8); @@ -11517,524 +11606,531 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(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_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _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; lean_object* x_16; lean_object* x_17; lean_object* x_18; 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_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_177; -x_37 = 0; -lean_inc_ref(x_6); +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_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_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_214; +x_38 = 0; +lean_inc_ref(x_7); lean_inc(x_2); -x_177 = l_Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1(x_2, x_37, x_4, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_177) == 0) +x_214 = l_Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0(x_2, x_38, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_214) == 0) { -lean_object* x_178; uint8_t x_179; -x_178 = lean_ctor_get(x_177, 0); -lean_inc(x_178); -x_179 = lean_ctor_get_uint8(x_178, sizeof(void*)*3); -lean_dec(x_178); -switch (x_179) { +lean_object* x_215; uint8_t x_216; +x_215 = lean_ctor_get(x_214, 0); +lean_inc(x_215); +x_216 = lean_ctor_get_uint8(x_215, sizeof(void*)*3); +lean_dec(x_215); +switch (x_216) { case 0: { -lean_object* x_180; lean_object* x_181; lean_object* x_182; uint8_t x_183; -x_180 = lean_ctor_get(x_177, 1); -lean_inc(x_180); -lean_dec_ref(x_177); +lean_object* x_217; lean_object* x_218; lean_object* x_219; uint8_t x_220; +x_217 = lean_ctor_get(x_214, 1); +lean_inc(x_217); +lean_dec_ref(x_214); lean_inc(x_2); -x_181 = l_Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7(x_2, x_4, x_5, x_6, x_7, x_180); -x_182 = lean_ctor_get(x_181, 0); -lean_inc(x_182); -x_183 = lean_unbox(x_182); -lean_dec(x_182); -if (x_183 == 0) +x_218 = l_Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6(x_2, x_5, x_6, x_7, x_8, x_217); +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) { -uint8_t x_184; -x_184 = !lean_is_exclusive(x_181); -if (x_184 == 0) +uint8_t x_221; +x_221 = !lean_is_exclusive(x_218); +if (x_221 == 0) { -lean_object* x_185; lean_object* x_186; uint8_t x_187; -x_185 = lean_ctor_get(x_181, 1); -x_186 = lean_ctor_get(x_181, 0); -lean_dec(x_186); -x_187 = l_Lean_Meta_Grind_EMatchTheoremKind_isEqLhs(x_3); -if (x_187 == 0) +lean_object* x_222; lean_object* x_223; uint8_t x_224; +x_222 = lean_ctor_get(x_218, 1); +x_223 = lean_ctor_get(x_218, 0); +lean_dec(x_223); +x_224 = l_Lean_Meta_Grind_EMatchTheoremKind_isEqLhs(x_3); +if (x_224 == 0) { -uint8_t x_188; -x_188 = l_Lean_Meta_Grind_EMatchTheoremKind_isDefault(x_3); +uint8_t x_225; +x_225 = l_Lean_Meta_Grind_EMatchTheoremKind_isDefault(x_3); lean_dec(x_3); -if (x_188 == 0) +if (x_225 == 0) { -lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; uint8_t x_194; +lean_object* x_226; lean_object* x_227; lean_object* x_228; lean_object* x_229; lean_object* x_230; uint8_t x_231; lean_dec_ref(x_1); -x_189 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__3; -x_190 = l_Lean_MessageData_ofConstName(x_2, x_37); -lean_ctor_set_tag(x_181, 7); -lean_ctor_set(x_181, 1, x_190); -lean_ctor_set(x_181, 0, x_189); -x_191 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__5; -x_192 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_192, 0, x_181); -lean_ctor_set(x_192, 1, x_191); -x_193 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_192, x_4, x_5, x_6, x_7, x_185); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec(x_5); -lean_dec_ref(x_4); -x_194 = !lean_is_exclusive(x_193); -if (x_194 == 0) +x_226 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__3; +x_227 = l_Lean_MessageData_ofConstName(x_2, x_38); +lean_ctor_set_tag(x_218, 7); +lean_ctor_set(x_218, 1, x_227); +lean_ctor_set(x_218, 0, x_226); +x_228 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__5; +x_229 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_229, 0, x_218); +lean_ctor_set(x_229, 1, x_228); +x_230 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_229, x_5, x_6, x_7, x_8, x_222); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec(x_6); +lean_dec_ref(x_5); +x_231 = !lean_is_exclusive(x_230); +if (x_231 == 0) { -return x_193; +return x_230; } else { -lean_object* x_195; lean_object* x_196; lean_object* x_197; -x_195 = lean_ctor_get(x_193, 0); -x_196 = lean_ctor_get(x_193, 1); -lean_inc(x_196); -lean_inc(x_195); -lean_dec(x_193); -x_197 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_197, 0, x_195); -lean_ctor_set(x_197, 1, x_196); -return x_197; +lean_object* x_232; lean_object* x_233; lean_object* x_234; +x_232 = lean_ctor_get(x_230, 0); +x_233 = lean_ctor_get(x_230, 1); +lean_inc(x_233); +lean_inc(x_232); +lean_dec(x_230); +x_234 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_234, 0, x_232); +lean_ctor_set(x_234, 1, x_233); +return x_234; } } else { -lean_free_object(x_181); -x_38 = x_4; +lean_free_object(x_218); x_39 = x_5; x_40 = x_6; x_41 = x_7; -x_42 = x_185; -goto block_87; +x_42 = x_8; +x_43 = x_222; +goto block_94; } } else { -lean_free_object(x_181); +lean_free_object(x_218); lean_dec(x_3); -x_38 = x_4; x_39 = x_5; x_40 = x_6; x_41 = x_7; -x_42 = x_185; -goto block_87; +x_42 = x_8; +x_43 = x_222; +goto block_94; } } else { -lean_object* x_198; uint8_t x_199; -x_198 = lean_ctor_get(x_181, 1); -lean_inc(x_198); -lean_dec(x_181); -x_199 = l_Lean_Meta_Grind_EMatchTheoremKind_isEqLhs(x_3); -if (x_199 == 0) -{ -uint8_t x_200; -x_200 = l_Lean_Meta_Grind_EMatchTheoremKind_isDefault(x_3); -lean_dec(x_3); -if (x_200 == 0) -{ -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_dec_ref(x_1); -x_201 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__3; -x_202 = l_Lean_MessageData_ofConstName(x_2, x_37); -x_203 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_203, 0, x_201); -lean_ctor_set(x_203, 1, x_202); -x_204 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__5; -x_205 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_205, 0, x_203); -lean_ctor_set(x_205, 1, x_204); -x_206 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_205, x_4, x_5, x_6, x_7, x_198); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec(x_5); -lean_dec_ref(x_4); -x_207 = lean_ctor_get(x_206, 0); -lean_inc(x_207); -x_208 = lean_ctor_get(x_206, 1); -lean_inc(x_208); -if (lean_is_exclusive(x_206)) { - lean_ctor_release(x_206, 0); - lean_ctor_release(x_206, 1); - x_209 = x_206; -} else { - lean_dec_ref(x_206); - x_209 = lean_box(0); -} -if (lean_is_scalar(x_209)) { - x_210 = lean_alloc_ctor(1, 2, 0); -} else { - x_210 = x_209; -} -lean_ctor_set(x_210, 0, x_207); -lean_ctor_set(x_210, 1, x_208); -return x_210; -} -else -{ -x_38 = x_4; -x_39 = x_5; -x_40 = x_6; -x_41 = x_7; -x_42 = x_198; -goto block_87; -} -} -else -{ -lean_dec(x_3); -x_38 = x_4; -x_39 = x_5; -x_40 = x_6; -x_41 = x_7; -x_42 = x_198; -goto block_87; -} -} -} -else -{ -uint8_t x_211; -lean_dec(x_3); -lean_dec_ref(x_1); -x_211 = !lean_is_exclusive(x_181); -if (x_211 == 0) -{ -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; uint8_t x_219; -x_212 = lean_ctor_get(x_181, 1); -x_213 = lean_ctor_get(x_181, 0); -lean_dec(x_213); -x_214 = l_Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3___redArg___closed__3; -x_215 = l_Lean_MessageData_ofConstName(x_2, x_37); -lean_ctor_set_tag(x_181, 7); -lean_ctor_set(x_181, 1, x_215); -lean_ctor_set(x_181, 0, x_214); -x_216 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__7; -x_217 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_217, 0, x_181); -lean_ctor_set(x_217, 1, x_216); -x_218 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_217, x_4, x_5, x_6, x_7, x_212); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec(x_5); -lean_dec_ref(x_4); -x_219 = !lean_is_exclusive(x_218); -if (x_219 == 0) -{ -return x_218; -} -else -{ -lean_object* x_220; lean_object* x_221; lean_object* x_222; -x_220 = lean_ctor_get(x_218, 0); -x_221 = lean_ctor_get(x_218, 1); -lean_inc(x_221); -lean_inc(x_220); +lean_object* x_235; uint8_t x_236; +x_235 = lean_ctor_get(x_218, 1); +lean_inc(x_235); lean_dec(x_218); -x_222 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_222, 0, x_220); -lean_ctor_set(x_222, 1, x_221); -return x_222; +x_236 = l_Lean_Meta_Grind_EMatchTheoremKind_isEqLhs(x_3); +if (x_236 == 0) +{ +uint8_t x_237; +x_237 = l_Lean_Meta_Grind_EMatchTheoremKind_isDefault(x_3); +lean_dec(x_3); +if (x_237 == 0) +{ +lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; +lean_dec_ref(x_1); +x_238 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__3; +x_239 = l_Lean_MessageData_ofConstName(x_2, x_38); +x_240 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_240, 0, x_238); +lean_ctor_set(x_240, 1, x_239); +x_241 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__5; +x_242 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_242, 0, x_240); +lean_ctor_set(x_242, 1, x_241); +x_243 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_242, x_5, x_6, x_7, x_8, x_235); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec(x_6); +lean_dec_ref(x_5); +x_244 = lean_ctor_get(x_243, 0); +lean_inc(x_244); +x_245 = lean_ctor_get(x_243, 1); +lean_inc(x_245); +if (lean_is_exclusive(x_243)) { + lean_ctor_release(x_243, 0); + lean_ctor_release(x_243, 1); + x_246 = x_243; +} else { + lean_dec_ref(x_243); + 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 +{ +x_39 = x_5; +x_40 = x_6; +x_41 = x_7; +x_42 = x_8; +x_43 = x_235; +goto block_94; } } 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; -x_223 = lean_ctor_get(x_181, 1); -lean_inc(x_223); -lean_dec(x_181); -x_224 = l_Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3___redArg___closed__3; -x_225 = l_Lean_MessageData_ofConstName(x_2, x_37); -x_226 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_226, 0, x_224); -lean_ctor_set(x_226, 1, x_225); -x_227 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__7; -x_228 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_228, 0, x_226); -lean_ctor_set(x_228, 1, x_227); -x_229 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_228, x_4, x_5, x_6, x_7, x_223); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec(x_5); -lean_dec_ref(x_4); -x_230 = lean_ctor_get(x_229, 0); -lean_inc(x_230); -x_231 = lean_ctor_get(x_229, 1); -lean_inc(x_231); -if (lean_is_exclusive(x_229)) { - lean_ctor_release(x_229, 0); - lean_ctor_release(x_229, 1); - x_232 = x_229; -} else { - lean_dec_ref(x_229); - x_232 = lean_box(0); +lean_dec(x_3); +x_39 = x_5; +x_40 = x_6; +x_41 = x_7; +x_42 = x_8; +x_43 = x_235; +goto block_94; } -if (lean_is_scalar(x_232)) { - x_233 = lean_alloc_ctor(1, 2, 0); -} else { - x_233 = x_232; } -lean_ctor_set(x_233, 0, x_230); -lean_ctor_set(x_233, 1, x_231); -return x_233; +} +else +{ +uint8_t x_248; +lean_dec(x_3); +lean_dec_ref(x_1); +x_248 = !lean_is_exclusive(x_218); +if (x_248 == 0) +{ +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; uint8_t x_256; +x_249 = lean_ctor_get(x_218, 1); +x_250 = lean_ctor_get(x_218, 0); +lean_dec(x_250); +x_251 = l_Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3___redArg___closed__3; +x_252 = l_Lean_MessageData_ofConstName(x_2, x_38); +lean_ctor_set_tag(x_218, 7); +lean_ctor_set(x_218, 1, x_252); +lean_ctor_set(x_218, 0, x_251); +x_253 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__7; +x_254 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_254, 0, x_218); +lean_ctor_set(x_254, 1, x_253); +x_255 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_254, x_5, x_6, x_7, x_8, x_249); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec(x_6); +lean_dec_ref(x_5); +x_256 = !lean_is_exclusive(x_255); +if (x_256 == 0) +{ +return x_255; +} +else +{ +lean_object* x_257; lean_object* x_258; lean_object* x_259; +x_257 = lean_ctor_get(x_255, 0); +x_258 = lean_ctor_get(x_255, 1); +lean_inc(x_258); +lean_inc(x_257); +lean_dec(x_255); +x_259 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_259, 0, x_257); +lean_ctor_set(x_259, 1, x_258); +return x_259; +} +} +else +{ +lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; +x_260 = lean_ctor_get(x_218, 1); +lean_inc(x_260); +lean_dec(x_218); +x_261 = l_Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3___redArg___closed__3; +x_262 = l_Lean_MessageData_ofConstName(x_2, x_38); +x_263 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_263, 0, x_261); +lean_ctor_set(x_263, 1, x_262); +x_264 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__7; +x_265 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_265, 0, x_263); +lean_ctor_set(x_265, 1, x_264); +x_266 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_265, x_5, x_6, x_7, x_8, x_260); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec(x_6); +lean_dec_ref(x_5); +x_267 = lean_ctor_get(x_266, 0); +lean_inc(x_267); +x_268 = lean_ctor_get(x_266, 1); +lean_inc(x_268); +if (lean_is_exclusive(x_266)) { + lean_ctor_release(x_266, 0); + lean_ctor_release(x_266, 1); + x_269 = x_266; +} else { + lean_dec_ref(x_266); + x_269 = lean_box(0); +} +if (lean_is_scalar(x_269)) { + x_270 = lean_alloc_ctor(1, 2, 0); +} else { + x_270 = x_269; +} +lean_ctor_set(x_270, 0, x_267); +lean_ctor_set(x_270, 1, x_268); +return x_270; } } } case 1: { -lean_object* x_234; -x_234 = lean_ctor_get(x_177, 1); -lean_inc(x_234); -lean_dec_ref(x_177); -x_88 = x_4; -x_89 = x_5; -x_90 = x_6; -x_91 = x_7; -x_92 = x_234; -goto block_176; +lean_object* x_271; +x_271 = lean_ctor_get(x_214, 1); +lean_inc(x_271); +lean_dec_ref(x_214); +x_132 = x_5; +x_133 = x_6; +x_134 = x_7; +x_135 = x_8; +x_136 = x_271; +goto block_213; } case 2: { -lean_object* x_235; -x_235 = lean_ctor_get(x_177, 1); -lean_inc(x_235); -lean_dec_ref(x_177); -x_88 = x_4; -x_89 = x_5; -x_90 = x_6; -x_91 = x_7; -x_92 = x_235; -goto block_176; +lean_object* x_272; +x_272 = lean_ctor_get(x_214, 1); +lean_inc(x_272); +lean_dec_ref(x_214); +x_132 = x_5; +x_133 = x_6; +x_134 = x_7; +x_135 = x_8; +x_136 = x_272; +goto block_213; } case 6: { -lean_object* x_236; -x_236 = lean_ctor_get(x_177, 1); -lean_inc(x_236); -lean_dec_ref(x_177); -x_88 = x_4; -x_89 = x_5; -x_90 = x_6; -x_91 = x_7; -x_92 = x_236; -goto block_176; +lean_object* x_273; +x_273 = lean_ctor_get(x_214, 1); +lean_inc(x_273); +lean_dec_ref(x_214); +x_132 = x_5; +x_133 = x_6; +x_134 = x_7; +x_135 = x_8; +x_136 = x_273; +goto block_213; } default: { -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; +lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_dec(x_3); lean_dec_ref(x_1); -x_237 = lean_ctor_get(x_177, 1); -lean_inc(x_237); -lean_dec_ref(x_177); -x_238 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__3; -x_239 = l_Lean_MessageData_ofConstName(x_2, x_37); -x_240 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_240, 0, x_238); -lean_ctor_set(x_240, 1, x_239); -x_241 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__9; -x_242 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_242, 0, x_240); -lean_ctor_set(x_242, 1, x_241); -x_243 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_242, x_4, x_5, x_6, x_7, x_237); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec(x_5); -lean_dec_ref(x_4); -return x_243; +x_274 = lean_ctor_get(x_214, 1); +lean_inc(x_274); +lean_dec_ref(x_214); +x_275 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__3; +x_276 = l_Lean_MessageData_ofConstName(x_2, x_38); +x_277 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_277, 0, x_275); +lean_ctor_set(x_277, 1, x_276); +x_278 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__9; +x_279 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_279, 0, x_277); +lean_ctor_set(x_279, 1, x_278); +x_280 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_279, x_5, x_6, x_7, x_8, x_274); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec(x_6); +lean_dec_ref(x_5); +return x_280; } } } else { -uint8_t x_244; -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec(x_5); -lean_dec_ref(x_4); +uint8_t x_281; +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec(x_6); +lean_dec_ref(x_5); lean_dec(x_3); lean_dec(x_2); lean_dec_ref(x_1); -x_244 = !lean_is_exclusive(x_177); -if (x_244 == 0) +x_281 = !lean_is_exclusive(x_214); +if (x_281 == 0) { -return x_177; +return x_214; } else { -lean_object* x_245; lean_object* x_246; lean_object* x_247; -x_245 = lean_ctor_get(x_177, 0); -x_246 = lean_ctor_get(x_177, 1); -lean_inc(x_246); -lean_inc(x_245); -lean_dec(x_177); -x_247 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_247, 0, x_245); -lean_ctor_set(x_247, 1, x_246); -return x_247; +lean_object* x_282; lean_object* x_283; lean_object* x_284; +x_282 = lean_ctor_get(x_214, 0); +x_283 = lean_ctor_get(x_214, 1); +lean_inc(x_283); +lean_inc(x_282); +lean_dec(x_214); +x_284 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_284, 0, x_282); +lean_ctor_set(x_284, 1, x_283); +return x_284; } } -block_23: +block_22: { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_19 = l_Lean_PersistentArray_push___redArg(x_11, x_16); -x_20 = l_Lean_PersistentArray_push___redArg(x_19, x_13); -x_21 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_21, 0, x_15); -lean_ctor_set(x_21, 1, x_14); -lean_ctor_set(x_21, 2, x_10); -lean_ctor_set(x_21, 3, x_12); -lean_ctor_set(x_21, 4, x_20); -lean_ctor_set(x_21, 5, x_17); -lean_ctor_set(x_21, 6, x_9); -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_21); -lean_ctor_set(x_22, 1, x_18); -return x_22; +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = l_Lean_PersistentArray_push___redArg(x_16, x_14); +x_20 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_20, 0, x_10); +lean_ctor_set(x_20, 1, x_15); +lean_ctor_set(x_20, 2, x_17); +lean_ctor_set(x_20, 3, x_13); +lean_ctor_set(x_20, 4, x_19); +lean_ctor_set(x_20, 5, x_11); +lean_ctor_set(x_20, 6, x_12); +x_21 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_18); +return x_21; } -block_36: +block_37: { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = l_Lean_PersistentArray_push___redArg(x_25, x_30); -x_34 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_34, 0, x_28); -lean_ctor_set(x_34, 1, x_27); -lean_ctor_set(x_34, 2, x_26); -lean_ctor_set(x_34, 3, x_29); -lean_ctor_set(x_34, 4, x_33); -lean_ctor_set(x_34, 5, x_31); -lean_ctor_set(x_34, 6, x_24); -x_35 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_35, 0, x_34); -lean_ctor_set(x_35, 1, x_32); -return x_35; +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_33 = l_Lean_PersistentArray_push___redArg(x_25, x_27); +x_34 = l_Lean_PersistentArray_push___redArg(x_33, x_26); +x_35 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_35, 0, x_28); +lean_ctor_set(x_35, 1, x_23); +lean_ctor_set(x_35, 2, x_29); +lean_ctor_set(x_35, 3, x_30); +lean_ctor_set(x_35, 4, x_34); +lean_ctor_set(x_35, 5, x_24); +lean_ctor_set(x_35, 6, x_31); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_32); +return x_36; } -block_87: -{ -lean_object* x_43; -lean_inc(x_41); -lean_inc_ref(x_40); -lean_inc(x_39); -lean_inc_ref(x_38); -lean_inc(x_2); -x_43 = l_Lean_Meta_Grind_mkEMatchEqTheoremsForDef_x3f(x_2, x_37, x_38, x_39, x_40, x_41, x_42); -if (lean_obj_tag(x_43) == 0) +block_94: { lean_object* x_44; -x_44 = lean_ctor_get(x_43, 0); -lean_inc(x_44); +x_44 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable(x_4, x_39, x_40, x_41, x_42, x_43); 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; lean_object* x_51; -lean_dec_ref(x_1); -x_45 = lean_ctor_get(x_43, 1); +lean_object* x_45; lean_object* x_46; +x_45 = lean_ctor_get(x_44, 1); lean_inc(x_45); -lean_dec_ref(x_43); -x_46 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__1; -x_47 = l_Lean_MessageData_ofConstName(x_2, x_37); -x_48 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -x_49 = l_Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3___redArg___closed__3; -x_50 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_50, 0, x_48); -lean_ctor_set(x_50, 1, x_49); -x_51 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_50, x_38, x_39, x_40, x_41, x_45); -lean_dec(x_41); -lean_dec_ref(x_40); -lean_dec(x_39); -lean_dec_ref(x_38); -return x_51; +lean_dec_ref(x_44); +lean_inc(x_42); +lean_inc_ref(x_41); +lean_inc(x_40); +lean_inc_ref(x_39); +lean_inc(x_2); +x_46 = l_Lean_Meta_Grind_mkEMatchEqTheoremsForDef_x3f(x_2, x_38, x_39, x_40, x_41, x_42, x_45); +if (lean_obj_tag(x_46) == 0) +{ +lean_object* x_47; +x_47 = lean_ctor_get(x_46, 0); +lean_inc(x_47); +if (lean_obj_tag(x_47) == 0) +{ +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_dec_ref(x_1); +x_48 = lean_ctor_get(x_46, 1); +lean_inc(x_48); +lean_dec_ref(x_46); +x_49 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__1; +x_50 = l_Lean_MessageData_ofConstName(x_2, x_38); +x_51 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_51, 0, x_49); +lean_ctor_set(x_51, 1, x_50); +x_52 = l_Lean_throwUnknownConstantAt___at___Lean_filterFieldList___at_____private_Lean_ResolveName_0__Lean_resolveGlobalConstCore___at___Lean_resolveGlobalConst___at___Lean_resolveGlobalConstNoOverload___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern_go_spec__0_spec__0_spec__0_spec__1_spec__3___redArg___closed__3; +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_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_53, x_39, x_40, x_41, x_42, x_48); +lean_dec(x_42); +lean_dec_ref(x_41); +lean_dec(x_40); +lean_dec_ref(x_39); +return x_54; } else { -uint8_t x_52; -lean_dec(x_41); -lean_dec_ref(x_40); -lean_dec(x_39); -lean_dec_ref(x_38); +uint8_t x_55; +lean_dec(x_42); +lean_dec_ref(x_41); +lean_dec(x_40); +lean_dec_ref(x_39); lean_dec(x_2); -x_52 = !lean_is_exclusive(x_43); -if (x_52 == 0) -{ -lean_object* x_53; lean_object* x_54; uint8_t x_55; -x_53 = lean_ctor_get(x_43, 0); -lean_dec(x_53); -x_54 = lean_ctor_get(x_44, 0); -lean_inc(x_54); -lean_dec_ref(x_44); -x_55 = !lean_is_exclusive(x_1); +x_55 = !lean_is_exclusive(x_46); if (x_55 == 0) { -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_1, 4); -x_57 = l_Array_toPArray_x27___redArg(x_54); -lean_dec(x_54); -x_58 = l_Lean_PersistentArray_append___redArg(x_56, x_57); -lean_dec_ref(x_57); -lean_ctor_set(x_1, 4, x_58); -lean_ctor_set(x_43, 0, x_1); -return x_43; +lean_object* x_56; lean_object* x_57; uint8_t x_58; +x_56 = lean_ctor_get(x_46, 0); +lean_dec(x_56); +x_57 = lean_ctor_get(x_47, 0); +lean_inc(x_57); +lean_dec_ref(x_47); +x_58 = !lean_is_exclusive(x_1); +if (x_58 == 0) +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; +x_59 = lean_ctor_get(x_1, 4); +x_60 = l_Array_toPArray_x27___redArg(x_57); +lean_dec(x_57); +x_61 = l_Lean_PersistentArray_append___redArg(x_59, x_60); +lean_dec_ref(x_60); +lean_ctor_set(x_1, 4, x_61); +lean_ctor_set(x_46, 0, x_1); +return x_46; } 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; -x_59 = lean_ctor_get(x_1, 0); -x_60 = lean_ctor_get(x_1, 1); -x_61 = lean_ctor_get(x_1, 2); -x_62 = lean_ctor_get(x_1, 3); -x_63 = lean_ctor_get(x_1, 4); -x_64 = lean_ctor_get(x_1, 5); -x_65 = lean_ctor_get(x_1, 6); +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; +x_62 = lean_ctor_get(x_1, 0); +x_63 = lean_ctor_get(x_1, 1); +x_64 = lean_ctor_get(x_1, 2); +x_65 = lean_ctor_get(x_1, 3); +x_66 = lean_ctor_get(x_1, 4); +x_67 = lean_ctor_get(x_1, 5); +x_68 = lean_ctor_get(x_1, 6); +lean_inc(x_68); +lean_inc(x_67); +lean_inc(x_66); lean_inc(x_65); lean_inc(x_64); lean_inc(x_63); lean_inc(x_62); -lean_inc(x_61); -lean_inc(x_60); -lean_inc(x_59); lean_dec(x_1); -x_66 = l_Array_toPArray_x27___redArg(x_54); -lean_dec(x_54); -x_67 = l_Lean_PersistentArray_append___redArg(x_63, x_66); -lean_dec_ref(x_66); -x_68 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_68, 0, x_59); -lean_ctor_set(x_68, 1, x_60); -lean_ctor_set(x_68, 2, x_61); -lean_ctor_set(x_68, 3, x_62); -lean_ctor_set(x_68, 4, x_67); -lean_ctor_set(x_68, 5, x_64); -lean_ctor_set(x_68, 6, x_65); -lean_ctor_set(x_43, 0, x_68); -return x_43; +x_69 = l_Array_toPArray_x27___redArg(x_57); +lean_dec(x_57); +x_70 = l_Lean_PersistentArray_append___redArg(x_66, x_69); +lean_dec_ref(x_69); +x_71 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_71, 0, x_62); +lean_ctor_set(x_71, 1, x_63); +lean_ctor_set(x_71, 2, x_64); +lean_ctor_set(x_71, 3, x_65); +lean_ctor_set(x_71, 4, x_70); +lean_ctor_set(x_71, 5, x_67); +lean_ctor_set(x_71, 6, x_68); +lean_ctor_set(x_46, 0, x_71); +return x_46; } } else { -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; -x_69 = lean_ctor_get(x_43, 1); -lean_inc(x_69); -lean_dec(x_43); -x_70 = lean_ctor_get(x_44, 0); -lean_inc(x_70); -lean_dec_ref(x_44); -x_71 = lean_ctor_get(x_1, 0); -lean_inc_ref(x_71); -x_72 = lean_ctor_get(x_1, 1); -lean_inc_ref(x_72); -x_73 = lean_ctor_get(x_1, 2); -lean_inc_ref(x_73); -x_74 = lean_ctor_get(x_1, 3); +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_72 = lean_ctor_get(x_46, 1); +lean_inc(x_72); +lean_dec(x_46); +x_73 = lean_ctor_get(x_47, 0); +lean_inc(x_73); +lean_dec_ref(x_47); +x_74 = lean_ctor_get(x_1, 0); lean_inc_ref(x_74); -x_75 = lean_ctor_get(x_1, 4); +x_75 = lean_ctor_get(x_1, 1); lean_inc_ref(x_75); -x_76 = lean_ctor_get(x_1, 5); +x_76 = lean_ctor_get(x_1, 2); lean_inc_ref(x_76); -x_77 = lean_ctor_get(x_1, 6); +x_77 = lean_ctor_get(x_1, 3); lean_inc_ref(x_77); +x_78 = lean_ctor_get(x_1, 4); +lean_inc_ref(x_78); +x_79 = lean_ctor_get(x_1, 5); +lean_inc_ref(x_79); +x_80 = lean_ctor_get(x_1, 6); +lean_inc_ref(x_80); if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); @@ -12043,608 +12139,779 @@ if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 4); lean_ctor_release(x_1, 5); lean_ctor_release(x_1, 6); - x_78 = x_1; + x_81 = x_1; } else { lean_dec_ref(x_1); - x_78 = lean_box(0); + x_81 = lean_box(0); } -x_79 = l_Array_toPArray_x27___redArg(x_70); -lean_dec(x_70); -x_80 = l_Lean_PersistentArray_append___redArg(x_75, x_79); -lean_dec_ref(x_79); -if (lean_is_scalar(x_78)) { - x_81 = lean_alloc_ctor(0, 7, 0); +x_82 = l_Array_toPArray_x27___redArg(x_73); +lean_dec(x_73); +x_83 = l_Lean_PersistentArray_append___redArg(x_78, x_82); +lean_dec_ref(x_82); +if (lean_is_scalar(x_81)) { + x_84 = lean_alloc_ctor(0, 7, 0); } else { - x_81 = x_78; + x_84 = x_81; } -lean_ctor_set(x_81, 0, x_71); -lean_ctor_set(x_81, 1, x_72); -lean_ctor_set(x_81, 2, x_73); -lean_ctor_set(x_81, 3, x_74); -lean_ctor_set(x_81, 4, x_80); -lean_ctor_set(x_81, 5, x_76); -lean_ctor_set(x_81, 6, x_77); -x_82 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_82, 0, x_81); -lean_ctor_set(x_82, 1, x_69); -return x_82; +lean_ctor_set(x_84, 0, x_74); +lean_ctor_set(x_84, 1, x_75); +lean_ctor_set(x_84, 2, x_76); +lean_ctor_set(x_84, 3, x_77); +lean_ctor_set(x_84, 4, x_83); +lean_ctor_set(x_84, 5, x_79); +lean_ctor_set(x_84, 6, x_80); +x_85 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_85, 0, x_84); +lean_ctor_set(x_85, 1, x_72); +return x_85; } } } else { -uint8_t x_83; -lean_dec(x_41); -lean_dec_ref(x_40); -lean_dec(x_39); -lean_dec_ref(x_38); +uint8_t x_86; +lean_dec(x_42); +lean_dec_ref(x_41); +lean_dec(x_40); +lean_dec_ref(x_39); lean_dec(x_2); lean_dec_ref(x_1); -x_83 = !lean_is_exclusive(x_43); -if (x_83 == 0) +x_86 = !lean_is_exclusive(x_46); +if (x_86 == 0) { -return x_43; +return x_46; } else { -lean_object* x_84; lean_object* x_85; lean_object* x_86; -x_84 = lean_ctor_get(x_43, 0); -x_85 = lean_ctor_get(x_43, 1); -lean_inc(x_85); -lean_inc(x_84); -lean_dec(x_43); -x_86 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_86, 0, x_84); -lean_ctor_set(x_86, 1, x_85); -return x_86; +lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_87 = lean_ctor_get(x_46, 0); +x_88 = lean_ctor_get(x_46, 1); +lean_inc(x_88); +lean_inc(x_87); +lean_dec(x_46); +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; } } } -block_176: +else +{ +uint8_t x_90; +lean_dec(x_42); +lean_dec_ref(x_41); +lean_dec(x_40); +lean_dec_ref(x_39); +lean_dec(x_2); +lean_dec_ref(x_1); +x_90 = !lean_is_exclusive(x_44); +if (x_90 == 0) +{ +return x_44; +} +else +{ +lean_object* x_91; lean_object* x_92; lean_object* x_93; +x_91 = lean_ctor_get(x_44, 0); +x_92 = lean_ctor_get(x_44, 1); +lean_inc(x_92); +lean_inc(x_91); +lean_dec(x_44); +x_93 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_93, 0, x_91); +lean_ctor_set(x_93, 1, x_92); +return x_93; +} +} +} +block_119: +{ +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; +x_100 = lean_ctor_get(x_1, 0); +lean_inc_ref(x_100); +x_101 = lean_ctor_get(x_1, 1); +lean_inc_ref(x_101); +x_102 = lean_ctor_get(x_1, 2); +lean_inc_ref(x_102); +x_103 = lean_ctor_get(x_1, 3); +lean_inc_ref(x_103); +x_104 = lean_ctor_get(x_1, 4); +lean_inc_ref(x_104); +x_105 = lean_ctor_get(x_1, 5); +lean_inc_ref(x_105); +x_106 = lean_ctor_get(x_1, 6); +lean_inc_ref(x_106); +lean_dec_ref(x_1); +lean_inc(x_98); +lean_inc_ref(x_97); +lean_inc(x_96); +lean_inc_ref(x_95); +lean_inc_ref(x_102); +lean_inc(x_2); +x_107 = l_Lean_Meta_Grind_mkEMatchTheoremForDecl(x_2, x_3, x_102, x_38, x_4, x_95, x_96, x_97, x_98, x_99); +if (lean_obj_tag(x_107) == 0) +{ +lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; uint8_t x_112; +x_108 = lean_ctor_get(x_107, 0); +lean_inc(x_108); +x_109 = lean_ctor_get(x_107, 1); +lean_inc(x_109); +lean_dec_ref(x_107); +x_110 = lean_ctor_get(x_108, 3); +x_111 = lean_ctor_get(x_108, 5); +lean_inc(x_110); +lean_inc_ref(x_101); +x_112 = l_Lean_Meta_Grind_EMatchTheorems_containsWithSamePatterns(x_101, x_111, x_110); +if (x_112 == 0) +{ +lean_dec(x_98); +lean_dec_ref(x_97); +lean_dec(x_96); +lean_dec_ref(x_95); +lean_dec(x_2); +x_10 = x_100; +x_11 = x_105; +x_12 = x_106; +x_13 = x_103; +x_14 = x_108; +x_15 = x_101; +x_16 = x_104; +x_17 = x_102; +x_18 = x_109; +goto block_22; +} +else +{ +lean_object* x_113; lean_object* x_114; +lean_inc_ref(x_101); +x_113 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg(x_101, x_2, x_95, x_96, x_97, x_98, x_109); +lean_dec(x_98); +lean_dec(x_96); +lean_dec_ref(x_95); +x_114 = lean_ctor_get(x_113, 1); +lean_inc(x_114); +lean_dec_ref(x_113); +x_10 = x_100; +x_11 = x_105; +x_12 = x_106; +x_13 = x_103; +x_14 = x_108; +x_15 = x_101; +x_16 = x_104; +x_17 = x_102; +x_18 = x_114; +goto block_22; +} +} +else +{ +uint8_t x_115; +lean_dec_ref(x_106); +lean_dec_ref(x_105); +lean_dec_ref(x_104); +lean_dec_ref(x_103); +lean_dec_ref(x_102); +lean_dec_ref(x_101); +lean_dec_ref(x_100); +lean_dec(x_98); +lean_dec_ref(x_97); +lean_dec(x_96); +lean_dec_ref(x_95); +lean_dec(x_2); +x_115 = !lean_is_exclusive(x_107); +if (x_115 == 0) +{ +return x_107; +} +else +{ +lean_object* x_116; lean_object* x_117; lean_object* x_118; +x_116 = lean_ctor_get(x_107, 0); +x_117 = lean_ctor_get(x_107, 1); +lean_inc(x_117); +lean_inc(x_116); +lean_dec(x_107); +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; +} +} +} +block_131: +{ +lean_object* x_125; +x_125 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable(x_4, x_121, x_120, x_124, x_122, x_123); +if (lean_obj_tag(x_125) == 0) +{ +lean_object* x_126; +x_126 = lean_ctor_get(x_125, 1); +lean_inc(x_126); +lean_dec_ref(x_125); +x_95 = x_121; +x_96 = x_120; +x_97 = x_124; +x_98 = x_122; +x_99 = x_126; +goto block_119; +} +else +{ +uint8_t x_127; +lean_dec_ref(x_124); +lean_dec(x_122); +lean_dec_ref(x_121); +lean_dec(x_120); +lean_dec(x_3); +lean_dec(x_2); +lean_dec_ref(x_1); +x_127 = !lean_is_exclusive(x_125); +if (x_127 == 0) +{ +return x_125; +} +else +{ +lean_object* x_128; lean_object* x_129; lean_object* x_130; +x_128 = lean_ctor_get(x_125, 0); +x_129 = lean_ctor_get(x_125, 1); +lean_inc(x_129); +lean_inc(x_128); +lean_dec(x_125); +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; +} +} +} +block_213: { if (lean_obj_tag(x_3) == 2) { -uint8_t x_93; -x_93 = !lean_is_exclusive(x_3); -if (x_93 == 0) +uint8_t x_137; +x_137 = !lean_is_exclusive(x_3); +if (x_137 == 0) { -uint8_t 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_94 = lean_ctor_get_uint8(x_3, 0); -x_95 = lean_ctor_get(x_1, 0); -lean_inc_ref(x_95); -x_96 = lean_ctor_get(x_1, 1); -lean_inc_ref(x_96); -x_97 = lean_ctor_get(x_1, 2); -lean_inc_ref(x_97); -x_98 = lean_ctor_get(x_1, 3); -lean_inc_ref(x_98); -x_99 = lean_ctor_get(x_1, 4); -lean_inc_ref(x_99); -x_100 = lean_ctor_get(x_1, 5); -lean_inc_ref(x_100); -x_101 = lean_ctor_get(x_1, 6); -lean_inc_ref(x_101); +uint8_t x_138; lean_object* x_139; +x_138 = lean_ctor_get_uint8(x_3, 0); +x_139 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable(x_4, x_132, x_133, x_134, x_135, x_136); +if (lean_obj_tag(x_139) == 0) +{ +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; +x_140 = lean_ctor_get(x_139, 1); +lean_inc(x_140); +lean_dec_ref(x_139); +x_141 = lean_ctor_get(x_1, 0); +lean_inc_ref(x_141); +x_142 = lean_ctor_get(x_1, 1); +lean_inc_ref(x_142); +x_143 = lean_ctor_get(x_1, 2); +lean_inc_ref(x_143); +x_144 = lean_ctor_get(x_1, 3); +lean_inc_ref(x_144); +x_145 = lean_ctor_get(x_1, 4); +lean_inc_ref(x_145); +x_146 = lean_ctor_get(x_1, 5); +lean_inc_ref(x_146); +x_147 = lean_ctor_get(x_1, 6); +lean_inc_ref(x_147); lean_dec_ref(x_1); lean_ctor_set_tag(x_3, 0); -lean_inc(x_91); -lean_inc_ref(x_90); -lean_inc(x_89); -lean_inc_ref(x_88); -lean_inc_ref(x_97); -lean_inc(x_2); -x_102 = l_Lean_Meta_Grind_mkEMatchTheoremForDecl(x_2, x_3, x_97, x_37, x_37, x_88, x_89, x_90, x_91, x_92); -if (lean_obj_tag(x_102) == 0) -{ -lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; -x_103 = lean_ctor_get(x_102, 0); -lean_inc(x_103); -x_104 = lean_ctor_get(x_102, 1); -lean_inc(x_104); -lean_dec_ref(x_102); -x_105 = lean_alloc_ctor(1, 0, 1); -lean_ctor_set_uint8(x_105, 0, x_94); -lean_inc(x_91); -lean_inc_ref(x_90); -lean_inc(x_89); -lean_inc_ref(x_88); -lean_inc_ref(x_97); -lean_inc(x_2); -x_106 = l_Lean_Meta_Grind_mkEMatchTheoremForDecl(x_2, x_105, x_97, x_37, x_37, x_88, x_89, x_90, x_91, x_104); -if (lean_obj_tag(x_106) == 0) -{ -lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111; -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_ref(x_106); -x_109 = lean_ctor_get(x_103, 3); -x_110 = lean_ctor_get(x_103, 5); -lean_inc(x_109); -lean_inc_ref(x_96); -x_111 = l_Lean_Meta_Grind_EMatchTheorems_containsWithSamePatterns(x_96, x_110, x_109); -if (x_111 == 0) -{ -lean_dec(x_91); -lean_dec_ref(x_90); -lean_dec(x_89); -lean_dec_ref(x_88); -lean_dec(x_2); -x_9 = x_101; -x_10 = x_97; -x_11 = x_99; -x_12 = x_98; -x_13 = x_107; -x_14 = x_96; -x_15 = x_95; -x_16 = x_103; -x_17 = x_100; -x_18 = x_108; -goto block_23; -} -else -{ -lean_object* x_112; lean_object* x_113; uint8_t x_114; -x_112 = lean_ctor_get(x_107, 3); -x_113 = lean_ctor_get(x_107, 5); -lean_inc(x_112); -lean_inc_ref(x_96); -x_114 = l_Lean_Meta_Grind_EMatchTheorems_containsWithSamePatterns(x_96, x_113, x_112); -if (x_114 == 0) -{ -lean_dec(x_91); -lean_dec_ref(x_90); -lean_dec(x_89); -lean_dec_ref(x_88); -lean_dec(x_2); -x_9 = x_101; -x_10 = x_97; -x_11 = x_99; -x_12 = x_98; -x_13 = x_107; -x_14 = x_96; -x_15 = x_95; -x_16 = x_103; -x_17 = x_100; -x_18 = x_108; -goto block_23; -} -else -{ -lean_object* x_115; lean_object* x_116; -lean_inc_ref(x_96); -x_115 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg(x_96, x_2, x_88, x_89, x_90, x_91, x_108); -lean_dec(x_91); -lean_dec(x_89); -lean_dec_ref(x_88); -x_116 = lean_ctor_get(x_115, 1); -lean_inc(x_116); -lean_dec_ref(x_115); -x_9 = x_101; -x_10 = x_97; -x_11 = x_99; -x_12 = x_98; -x_13 = x_107; -x_14 = x_96; -x_15 = x_95; -x_16 = x_103; -x_17 = x_100; -x_18 = x_116; -goto block_23; -} -} -} -else -{ -uint8_t x_117; -lean_dec(x_103); -lean_dec_ref(x_101); -lean_dec_ref(x_100); -lean_dec_ref(x_99); -lean_dec_ref(x_98); -lean_dec_ref(x_97); -lean_dec_ref(x_96); -lean_dec_ref(x_95); -lean_dec(x_91); -lean_dec_ref(x_90); -lean_dec(x_89); -lean_dec_ref(x_88); -lean_dec(x_2); -x_117 = !lean_is_exclusive(x_106); -if (x_117 == 0) -{ -return x_106; -} -else -{ -lean_object* x_118; lean_object* x_119; lean_object* x_120; -x_118 = lean_ctor_get(x_106, 0); -x_119 = lean_ctor_get(x_106, 1); -lean_inc(x_119); -lean_inc(x_118); -lean_dec(x_106); -x_120 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_120, 0, x_118); -lean_ctor_set(x_120, 1, x_119); -return x_120; -} -} -} -else -{ -uint8_t x_121; -lean_dec_ref(x_101); -lean_dec_ref(x_100); -lean_dec_ref(x_99); -lean_dec_ref(x_98); -lean_dec_ref(x_97); -lean_dec_ref(x_96); -lean_dec_ref(x_95); -lean_dec(x_91); -lean_dec_ref(x_90); -lean_dec(x_89); -lean_dec_ref(x_88); -lean_dec(x_2); -x_121 = !lean_is_exclusive(x_102); -if (x_121 == 0) -{ -return x_102; -} -else -{ -lean_object* x_122; lean_object* x_123; lean_object* x_124; -x_122 = lean_ctor_get(x_102, 0); -x_123 = lean_ctor_get(x_102, 1); -lean_inc(x_123); -lean_inc(x_122); -lean_dec(x_102); -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; -} -} -} -else -{ -uint8_t 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_125 = lean_ctor_get_uint8(x_3, 0); -lean_dec(x_3); -x_126 = lean_ctor_get(x_1, 0); -lean_inc_ref(x_126); -x_127 = lean_ctor_get(x_1, 1); -lean_inc_ref(x_127); -x_128 = lean_ctor_get(x_1, 2); -lean_inc_ref(x_128); -x_129 = lean_ctor_get(x_1, 3); -lean_inc_ref(x_129); -x_130 = lean_ctor_get(x_1, 4); -lean_inc_ref(x_130); -x_131 = lean_ctor_get(x_1, 5); -lean_inc_ref(x_131); -x_132 = lean_ctor_get(x_1, 6); -lean_inc_ref(x_132); -lean_dec_ref(x_1); -x_133 = lean_alloc_ctor(0, 0, 1); -lean_ctor_set_uint8(x_133, 0, x_125); -lean_inc(x_91); -lean_inc_ref(x_90); -lean_inc(x_89); -lean_inc_ref(x_88); -lean_inc_ref(x_128); -lean_inc(x_2); -x_134 = l_Lean_Meta_Grind_mkEMatchTheoremForDecl(x_2, x_133, x_128, x_37, x_37, x_88, x_89, x_90, x_91, x_92); -if (lean_obj_tag(x_134) == 0) -{ -lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; -x_135 = lean_ctor_get(x_134, 0); lean_inc(x_135); -x_136 = lean_ctor_get(x_134, 1); -lean_inc(x_136); -lean_dec_ref(x_134); -x_137 = lean_alloc_ctor(1, 0, 1); -lean_ctor_set_uint8(x_137, 0, x_125); -lean_inc(x_91); -lean_inc_ref(x_90); -lean_inc(x_89); -lean_inc_ref(x_88); -lean_inc_ref(x_128); +lean_inc_ref(x_134); +lean_inc(x_133); +lean_inc_ref(x_132); +lean_inc_ref(x_143); lean_inc(x_2); -x_138 = l_Lean_Meta_Grind_mkEMatchTheoremForDecl(x_2, x_137, x_128, x_37, x_37, x_88, x_89, x_90, x_91, x_136); -if (lean_obj_tag(x_138) == 0) -{ -lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; uint8_t x_143; -x_139 = lean_ctor_get(x_138, 0); -lean_inc(x_139); -x_140 = lean_ctor_get(x_138, 1); -lean_inc(x_140); -lean_dec_ref(x_138); -x_141 = lean_ctor_get(x_135, 3); -x_142 = lean_ctor_get(x_135, 5); -lean_inc(x_141); -lean_inc_ref(x_127); -x_143 = l_Lean_Meta_Grind_EMatchTheorems_containsWithSamePatterns(x_127, x_142, x_141); -if (x_143 == 0) -{ -lean_dec(x_91); -lean_dec_ref(x_90); -lean_dec(x_89); -lean_dec_ref(x_88); -lean_dec(x_2); -x_9 = x_132; -x_10 = x_128; -x_11 = x_130; -x_12 = x_129; -x_13 = x_139; -x_14 = x_127; -x_15 = x_126; -x_16 = x_135; -x_17 = x_131; -x_18 = x_140; -goto block_23; -} -else -{ -lean_object* x_144; lean_object* x_145; uint8_t x_146; -x_144 = lean_ctor_get(x_139, 3); -x_145 = lean_ctor_get(x_139, 5); -lean_inc(x_144); -lean_inc_ref(x_127); -x_146 = l_Lean_Meta_Grind_EMatchTheorems_containsWithSamePatterns(x_127, x_145, x_144); -if (x_146 == 0) -{ -lean_dec(x_91); -lean_dec_ref(x_90); -lean_dec(x_89); -lean_dec_ref(x_88); -lean_dec(x_2); -x_9 = x_132; -x_10 = x_128; -x_11 = x_130; -x_12 = x_129; -x_13 = x_139; -x_14 = x_127; -x_15 = x_126; -x_16 = x_135; -x_17 = x_131; -x_18 = x_140; -goto block_23; -} -else -{ -lean_object* x_147; lean_object* x_148; -lean_inc_ref(x_127); -x_147 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg(x_127, x_2, x_88, x_89, x_90, x_91, x_140); -lean_dec(x_91); -lean_dec(x_89); -lean_dec_ref(x_88); -x_148 = lean_ctor_get(x_147, 1); -lean_inc(x_148); -lean_dec_ref(x_147); -x_9 = x_132; -x_10 = x_128; -x_11 = x_130; -x_12 = x_129; -x_13 = x_139; -x_14 = x_127; -x_15 = x_126; -x_16 = x_135; -x_17 = x_131; -x_18 = x_148; -goto block_23; -} -} -} -else +x_148 = l_Lean_Meta_Grind_mkEMatchTheoremForDecl(x_2, x_3, x_143, x_38, x_38, x_132, x_133, x_134, x_135, x_140); +if (lean_obj_tag(x_148) == 0) { lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; -lean_dec(x_135); -lean_dec_ref(x_132); -lean_dec_ref(x_131); -lean_dec_ref(x_130); -lean_dec_ref(x_129); -lean_dec_ref(x_128); -lean_dec_ref(x_127); -lean_dec_ref(x_126); -lean_dec(x_91); -lean_dec_ref(x_90); -lean_dec(x_89); -lean_dec_ref(x_88); -lean_dec(x_2); -x_149 = lean_ctor_get(x_138, 0); +x_149 = lean_ctor_get(x_148, 0); lean_inc(x_149); -x_150 = lean_ctor_get(x_138, 1); +x_150 = lean_ctor_get(x_148, 1); lean_inc(x_150); -if (lean_is_exclusive(x_138)) { - lean_ctor_release(x_138, 0); - lean_ctor_release(x_138, 1); - x_151 = x_138; -} else { - lean_dec_ref(x_138); - x_151 = lean_box(0); +lean_dec_ref(x_148); +x_151 = lean_alloc_ctor(1, 0, 1); +lean_ctor_set_uint8(x_151, 0, x_138); +lean_inc(x_135); +lean_inc_ref(x_134); +lean_inc(x_133); +lean_inc_ref(x_132); +lean_inc_ref(x_143); +lean_inc(x_2); +x_152 = l_Lean_Meta_Grind_mkEMatchTheoremForDecl(x_2, x_151, x_143, x_38, x_38, x_132, x_133, x_134, x_135, x_150); +if (lean_obj_tag(x_152) == 0) +{ +lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; uint8_t x_157; +x_153 = lean_ctor_get(x_152, 0); +lean_inc(x_153); +x_154 = lean_ctor_get(x_152, 1); +lean_inc(x_154); +lean_dec_ref(x_152); +x_155 = lean_ctor_get(x_149, 3); +x_156 = lean_ctor_get(x_149, 5); +lean_inc(x_155); +lean_inc_ref(x_142); +x_157 = l_Lean_Meta_Grind_EMatchTheorems_containsWithSamePatterns(x_142, x_156, x_155); +if (x_157 == 0) +{ +lean_dec(x_135); +lean_dec_ref(x_134); +lean_dec(x_133); +lean_dec_ref(x_132); +lean_dec(x_2); +x_23 = x_142; +x_24 = x_146; +x_25 = x_145; +x_26 = x_153; +x_27 = x_149; +x_28 = x_141; +x_29 = x_143; +x_30 = x_144; +x_31 = x_147; +x_32 = x_154; +goto block_37; } -if (lean_is_scalar(x_151)) { - x_152 = lean_alloc_ctor(1, 2, 0); -} else { - x_152 = x_151; +else +{ +lean_object* x_158; lean_object* x_159; uint8_t x_160; +x_158 = lean_ctor_get(x_153, 3); +x_159 = lean_ctor_get(x_153, 5); +lean_inc(x_158); +lean_inc_ref(x_142); +x_160 = l_Lean_Meta_Grind_EMatchTheorems_containsWithSamePatterns(x_142, x_159, x_158); +if (x_160 == 0) +{ +lean_dec(x_135); +lean_dec_ref(x_134); +lean_dec(x_133); +lean_dec_ref(x_132); +lean_dec(x_2); +x_23 = x_142; +x_24 = x_146; +x_25 = x_145; +x_26 = x_153; +x_27 = x_149; +x_28 = x_141; +x_29 = x_143; +x_30 = x_144; +x_31 = x_147; +x_32 = x_154; +goto block_37; } -lean_ctor_set(x_152, 0, x_149); -lean_ctor_set(x_152, 1, x_150); +else +{ +lean_object* x_161; lean_object* x_162; +lean_inc_ref(x_142); +x_161 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg(x_142, x_2, x_132, x_133, x_134, x_135, x_154); +lean_dec(x_135); +lean_dec(x_133); +lean_dec_ref(x_132); +x_162 = lean_ctor_get(x_161, 1); +lean_inc(x_162); +lean_dec_ref(x_161); +x_23 = x_142; +x_24 = x_146; +x_25 = x_145; +x_26 = x_153; +x_27 = x_149; +x_28 = x_141; +x_29 = x_143; +x_30 = x_144; +x_31 = x_147; +x_32 = x_162; +goto block_37; +} +} +} +else +{ +uint8_t x_163; +lean_dec(x_149); +lean_dec_ref(x_147); +lean_dec_ref(x_146); +lean_dec_ref(x_145); +lean_dec_ref(x_144); +lean_dec_ref(x_143); +lean_dec_ref(x_142); +lean_dec_ref(x_141); +lean_dec(x_135); +lean_dec_ref(x_134); +lean_dec(x_133); +lean_dec_ref(x_132); +lean_dec(x_2); +x_163 = !lean_is_exclusive(x_152); +if (x_163 == 0) +{ return x_152; } -} else { -lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; -lean_dec_ref(x_132); -lean_dec_ref(x_131); -lean_dec_ref(x_130); -lean_dec_ref(x_129); -lean_dec_ref(x_128); -lean_dec_ref(x_127); -lean_dec_ref(x_126); -lean_dec(x_91); -lean_dec_ref(x_90); -lean_dec(x_89); -lean_dec_ref(x_88); -lean_dec(x_2); -x_153 = lean_ctor_get(x_134, 0); -lean_inc(x_153); -x_154 = lean_ctor_get(x_134, 1); -lean_inc(x_154); -if (lean_is_exclusive(x_134)) { - lean_ctor_release(x_134, 0); - lean_ctor_release(x_134, 1); - x_155 = x_134; -} else { - lean_dec_ref(x_134); - 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_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; -x_157 = lean_ctor_get(x_1, 0); -lean_inc_ref(x_157); -x_158 = lean_ctor_get(x_1, 1); -lean_inc_ref(x_158); -x_159 = lean_ctor_get(x_1, 2); -lean_inc_ref(x_159); -x_160 = lean_ctor_get(x_1, 3); -lean_inc_ref(x_160); -x_161 = lean_ctor_get(x_1, 4); -lean_inc_ref(x_161); -x_162 = lean_ctor_get(x_1, 5); -lean_inc_ref(x_162); -x_163 = lean_ctor_get(x_1, 6); -lean_inc_ref(x_163); -lean_dec_ref(x_1); -lean_inc(x_91); -lean_inc_ref(x_90); -lean_inc(x_89); -lean_inc_ref(x_88); -lean_inc_ref(x_159); -lean_inc(x_2); -x_164 = l_Lean_Meta_Grind_mkEMatchTheoremForDecl(x_2, x_3, x_159, x_37, x_37, x_88, x_89, x_90, x_91, x_92); -if (lean_obj_tag(x_164) == 0) -{ -lean_object* x_165; lean_object* x_166; lean_object* x_167; lean_object* x_168; uint8_t x_169; -x_165 = lean_ctor_get(x_164, 0); +lean_object* x_164; lean_object* x_165; lean_object* x_166; +x_164 = lean_ctor_get(x_152, 0); +x_165 = lean_ctor_get(x_152, 1); lean_inc(x_165); -x_166 = lean_ctor_get(x_164, 1); -lean_inc(x_166); -lean_dec_ref(x_164); -x_167 = lean_ctor_get(x_165, 3); -x_168 = lean_ctor_get(x_165, 5); -lean_inc(x_167); -lean_inc_ref(x_158); -x_169 = l_Lean_Meta_Grind_EMatchTheorems_containsWithSamePatterns(x_158, x_168, x_167); -if (x_169 == 0) +lean_inc(x_164); +lean_dec(x_152); +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; +} +} +} +else { -lean_dec(x_91); -lean_dec_ref(x_90); -lean_dec(x_89); -lean_dec_ref(x_88); +uint8_t x_167; +lean_dec_ref(x_147); +lean_dec_ref(x_146); +lean_dec_ref(x_145); +lean_dec_ref(x_144); +lean_dec_ref(x_143); +lean_dec_ref(x_142); +lean_dec_ref(x_141); +lean_dec(x_135); +lean_dec_ref(x_134); +lean_dec(x_133); +lean_dec_ref(x_132); lean_dec(x_2); -x_24 = x_163; -x_25 = x_161; -x_26 = x_159; -x_27 = x_158; -x_28 = x_157; -x_29 = x_160; -x_30 = x_165; -x_31 = x_162; -x_32 = x_166; -goto block_36; +x_167 = !lean_is_exclusive(x_148); +if (x_167 == 0) +{ +return x_148; } else { -lean_object* x_170; lean_object* x_171; -lean_inc_ref(x_158); -x_170 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg(x_158, x_2, x_88, x_89, x_90, x_91, x_166); -lean_dec(x_91); -lean_dec(x_89); -lean_dec_ref(x_88); -x_171 = lean_ctor_get(x_170, 1); -lean_inc(x_171); -lean_dec_ref(x_170); -x_24 = x_163; -x_25 = x_161; -x_26 = x_159; -x_27 = x_158; -x_28 = x_157; -x_29 = x_160; -x_30 = x_165; -x_31 = x_162; -x_32 = x_171; -goto block_36; +lean_object* x_168; lean_object* x_169; lean_object* x_170; +x_168 = lean_ctor_get(x_148, 0); +x_169 = lean_ctor_get(x_148, 1); +lean_inc(x_169); +lean_inc(x_168); +lean_dec(x_148); +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 { -uint8_t x_172; -lean_dec_ref(x_163); -lean_dec_ref(x_162); -lean_dec_ref(x_161); -lean_dec_ref(x_160); -lean_dec_ref(x_159); -lean_dec_ref(x_158); -lean_dec_ref(x_157); -lean_dec(x_91); -lean_dec_ref(x_90); -lean_dec(x_89); -lean_dec_ref(x_88); +uint8_t x_171; +lean_free_object(x_3); +lean_dec(x_135); +lean_dec_ref(x_134); +lean_dec(x_133); +lean_dec_ref(x_132); lean_dec(x_2); -x_172 = !lean_is_exclusive(x_164); -if (x_172 == 0) +lean_dec_ref(x_1); +x_171 = !lean_is_exclusive(x_139); +if (x_171 == 0) { -return x_164; +return x_139; } else { -lean_object* x_173; lean_object* x_174; lean_object* x_175; -x_173 = lean_ctor_get(x_164, 0); -x_174 = lean_ctor_get(x_164, 1); -lean_inc(x_174); +lean_object* x_172; lean_object* x_173; lean_object* x_174; +x_172 = lean_ctor_get(x_139, 0); +x_173 = lean_ctor_get(x_139, 1); lean_inc(x_173); -lean_dec(x_164); -x_175 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_175, 0, x_173); -lean_ctor_set(x_175, 1, x_174); -return x_175; +lean_inc(x_172); +lean_dec(x_139); +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; } } } -} -} -} -LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg___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: +else { -lean_object* x_7; -x_7 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec_ref(x_4); +uint8_t x_175; lean_object* x_176; +x_175 = lean_ctor_get_uint8(x_3, 0); lean_dec(x_3); -lean_dec_ref(x_2); -return x_7; +x_176 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable(x_4, x_132, x_133, x_134, x_135, x_136); +if (lean_obj_tag(x_176) == 0) +{ +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_object* x_186; +x_177 = lean_ctor_get(x_176, 1); +lean_inc(x_177); +lean_dec_ref(x_176); +x_178 = lean_ctor_get(x_1, 0); +lean_inc_ref(x_178); +x_179 = lean_ctor_get(x_1, 1); +lean_inc_ref(x_179); +x_180 = lean_ctor_get(x_1, 2); +lean_inc_ref(x_180); +x_181 = lean_ctor_get(x_1, 3); +lean_inc_ref(x_181); +x_182 = lean_ctor_get(x_1, 4); +lean_inc_ref(x_182); +x_183 = lean_ctor_get(x_1, 5); +lean_inc_ref(x_183); +x_184 = lean_ctor_get(x_1, 6); +lean_inc_ref(x_184); +lean_dec_ref(x_1); +x_185 = lean_alloc_ctor(0, 0, 1); +lean_ctor_set_uint8(x_185, 0, x_175); +lean_inc(x_135); +lean_inc_ref(x_134); +lean_inc(x_133); +lean_inc_ref(x_132); +lean_inc_ref(x_180); +lean_inc(x_2); +x_186 = l_Lean_Meta_Grind_mkEMatchTheoremForDecl(x_2, x_185, x_180, x_38, x_38, x_132, x_133, x_134, x_135, x_177); +if (lean_obj_tag(x_186) == 0) +{ +lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; +x_187 = lean_ctor_get(x_186, 0); +lean_inc(x_187); +x_188 = lean_ctor_get(x_186, 1); +lean_inc(x_188); +lean_dec_ref(x_186); +x_189 = lean_alloc_ctor(1, 0, 1); +lean_ctor_set_uint8(x_189, 0, x_175); +lean_inc(x_135); +lean_inc_ref(x_134); +lean_inc(x_133); +lean_inc_ref(x_132); +lean_inc_ref(x_180); +lean_inc(x_2); +x_190 = l_Lean_Meta_Grind_mkEMatchTheoremForDecl(x_2, x_189, x_180, x_38, x_38, x_132, x_133, x_134, x_135, x_188); +if (lean_obj_tag(x_190) == 0) +{ +lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; uint8_t x_195; +x_191 = lean_ctor_get(x_190, 0); +lean_inc(x_191); +x_192 = lean_ctor_get(x_190, 1); +lean_inc(x_192); +lean_dec_ref(x_190); +x_193 = lean_ctor_get(x_187, 3); +x_194 = lean_ctor_get(x_187, 5); +lean_inc(x_193); +lean_inc_ref(x_179); +x_195 = l_Lean_Meta_Grind_EMatchTheorems_containsWithSamePatterns(x_179, x_194, x_193); +if (x_195 == 0) +{ +lean_dec(x_135); +lean_dec_ref(x_134); +lean_dec(x_133); +lean_dec_ref(x_132); +lean_dec(x_2); +x_23 = x_179; +x_24 = x_183; +x_25 = x_182; +x_26 = x_191; +x_27 = x_187; +x_28 = x_178; +x_29 = x_180; +x_30 = x_181; +x_31 = x_184; +x_32 = x_192; +goto block_37; +} +else +{ +lean_object* x_196; lean_object* x_197; uint8_t x_198; +x_196 = lean_ctor_get(x_191, 3); +x_197 = lean_ctor_get(x_191, 5); +lean_inc(x_196); +lean_inc_ref(x_179); +x_198 = l_Lean_Meta_Grind_EMatchTheorems_containsWithSamePatterns(x_179, x_197, x_196); +if (x_198 == 0) +{ +lean_dec(x_135); +lean_dec_ref(x_134); +lean_dec(x_133); +lean_dec_ref(x_132); +lean_dec(x_2); +x_23 = x_179; +x_24 = x_183; +x_25 = x_182; +x_26 = x_191; +x_27 = x_187; +x_28 = x_178; +x_29 = x_180; +x_30 = x_181; +x_31 = x_184; +x_32 = x_192; +goto block_37; +} +else +{ +lean_object* x_199; lean_object* x_200; +lean_inc_ref(x_179); +x_199 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg(x_179, x_2, x_132, x_133, x_134, x_135, x_192); +lean_dec(x_135); +lean_dec(x_133); +lean_dec_ref(x_132); +x_200 = lean_ctor_get(x_199, 1); +lean_inc(x_200); +lean_dec_ref(x_199); +x_23 = x_179; +x_24 = x_183; +x_25 = x_182; +x_26 = x_191; +x_27 = x_187; +x_28 = x_178; +x_29 = x_180; +x_30 = x_181; +x_31 = x_184; +x_32 = x_200; +goto block_37; } } -LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___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 +{ +lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; +lean_dec(x_187); +lean_dec_ref(x_184); +lean_dec_ref(x_183); +lean_dec_ref(x_182); +lean_dec_ref(x_181); +lean_dec_ref(x_180); +lean_dec_ref(x_179); +lean_dec_ref(x_178); +lean_dec(x_135); +lean_dec_ref(x_134); +lean_dec(x_133); +lean_dec_ref(x_132); +lean_dec(x_2); +x_201 = lean_ctor_get(x_190, 0); +lean_inc(x_201); +x_202 = lean_ctor_get(x_190, 1); +lean_inc(x_202); +if (lean_is_exclusive(x_190)) { + lean_ctor_release(x_190, 0); + lean_ctor_release(x_190, 1); + x_203 = x_190; +} else { + lean_dec_ref(x_190); + x_203 = lean_box(0); +} +if (lean_is_scalar(x_203)) { + x_204 = lean_alloc_ctor(1, 2, 0); +} else { + x_204 = x_203; +} +lean_ctor_set(x_204, 0, x_201); +lean_ctor_set(x_204, 1, x_202); +return x_204; +} +} +else +{ +lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; +lean_dec_ref(x_184); +lean_dec_ref(x_183); +lean_dec_ref(x_182); +lean_dec_ref(x_181); +lean_dec_ref(x_180); +lean_dec_ref(x_179); +lean_dec_ref(x_178); +lean_dec(x_135); +lean_dec_ref(x_134); +lean_dec(x_133); +lean_dec_ref(x_132); +lean_dec(x_2); +x_205 = lean_ctor_get(x_186, 0); +lean_inc(x_205); +x_206 = lean_ctor_get(x_186, 1); +lean_inc(x_206); +if (lean_is_exclusive(x_186)) { + lean_ctor_release(x_186, 0); + lean_ctor_release(x_186, 1); + x_207 = x_186; +} else { + lean_dec_ref(x_186); + x_207 = lean_box(0); +} +if (lean_is_scalar(x_207)) { + x_208 = lean_alloc_ctor(1, 2, 0); +} else { + x_208 = x_207; +} +lean_ctor_set(x_208, 0, x_205); +lean_ctor_set(x_208, 1, x_206); +return x_208; +} +} +else +{ +lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; +lean_dec(x_135); +lean_dec_ref(x_134); +lean_dec(x_133); +lean_dec_ref(x_132); +lean_dec(x_2); +lean_dec_ref(x_1); +x_209 = lean_ctor_get(x_176, 0); +lean_inc(x_209); +x_210 = lean_ctor_get(x_176, 1); +lean_inc(x_210); +if (lean_is_exclusive(x_176)) { + lean_ctor_release(x_176, 0); + lean_ctor_release(x_176, 1); + x_211 = x_176; +} else { + lean_dec_ref(x_176); + x_211 = lean_box(0); +} +if (lean_is_scalar(x_211)) { + x_212 = lean_alloc_ctor(1, 2, 0); +} else { + x_212 = x_211; +} +lean_ctor_set(x_212, 0, x_209); +lean_ctor_set(x_212, 1, x_210); +return x_212; +} +} +} +else +{ +switch (lean_obj_tag(x_3)) { +case 0: +{ +x_120 = x_133; +x_121 = x_132; +x_122 = x_135; +x_123 = x_136; +x_124 = x_134; +goto block_131; +} +case 1: +{ +x_120 = x_133; +x_121 = x_132; +x_122 = x_135; +x_123 = x_136; +x_124 = x_134; +goto block_131; +} +default: +{ +x_95 = x_132; +x_96 = x_133; +x_97 = x_134; +x_98 = x_135; +x_99 = x_136; +goto block_119; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0___lam__0___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: { lean_object* x_8; -x_8 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0___lam__0(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); @@ -12652,11 +12919,11 @@ lean_dec_ref(x_3); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1___lam__0___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_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0___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: { lean_object* x_8; -x_8 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1___lam__0(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__0(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); @@ -12664,23 +12931,11 @@ lean_dec_ref(x_3); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_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_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1___redArg___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: { lean_object* x_8; -x_8 = l_Lean_mkUnknownIdentifierMessage___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); -lean_dec(x_6); -lean_dec_ref(x_5); -lean_dec(x_4); -lean_dec_ref(x_3); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2___redArg___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: -{ -lean_object* x_8; -x_8 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_4); lean_dec_ref(x_3); @@ -12688,11 +12943,11 @@ lean_dec(x_1); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_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_EXPORT lean_object* l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_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) { _start: { lean_object* x_9; -x_9 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_5); lean_dec_ref(x_4); @@ -12700,11 +12955,11 @@ lean_dec(x_2); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1___redArg___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_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0___redArg___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: { lean_object* x_9; -x_9 = l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_5); lean_dec_ref(x_4); @@ -12712,11 +12967,11 @@ lean_dec(x_1); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_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_EXPORT lean_object* l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { lean_object* x_10; -x_10 = l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_10 = l_Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); lean_dec(x_8); lean_dec(x_6); lean_dec_ref(x_5); @@ -12724,11 +12979,11 @@ lean_dec(x_2); return x_10; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1___redArg___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_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0___redArg___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: { lean_object* x_8; -x_8 = l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_4); lean_dec_ref(x_3); @@ -12736,11 +12991,11 @@ lean_dec(x_1); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_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_EXPORT lean_object* l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0___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: { lean_object* x_9; -x_9 = l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_9 = l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_5); lean_dec_ref(x_4); @@ -12748,54 +13003,54 @@ lean_dec(x_2); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1___redArg___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_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0___redArg___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_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1___redArg(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0___redArg(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec(x_3); lean_dec_ref(x_2); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_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_EXPORT lean_object* l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0___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: { lean_object* x_8; -x_8 = l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0(x_1, x_2, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_4); lean_dec_ref(x_3); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_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_EXPORT lean_object* l_Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___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_8; lean_object* x_9; x_8 = lean_unbox(x_2); -x_9 = l_Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +x_9 = l_Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0(x_1, x_8, x_3, x_4, x_5, x_6, x_7); lean_dec(x_6); lean_dec(x_4); lean_dec_ref(x_3); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7_spec__7___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6_spec__6___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7_spec__7___redArg(x_1, x_2, x_3); +x_4 = l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6_spec__6___redArg(x_1, x_2, x_3); lean_dec(x_2); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7_spec__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_EXPORT lean_object* l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6_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) { _start: { lean_object* x_7; -x_7 = l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7_spec__7(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_getReducibilityStatus___at___Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6_spec__6(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec_ref(x_4); lean_dec(x_3); @@ -12803,11 +13058,11 @@ lean_dec_ref(x_2); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__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_EXPORT lean_object* l_Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_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) { _start: { lean_object* x_7; -x_7 = l_Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__7(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Lean_isReducible___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__6(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_5); lean_dec_ref(x_4); lean_dec(x_3); @@ -12815,114 +13070,123 @@ lean_dec_ref(x_2); return x_7; } } -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___redArg(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) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -if (lean_obj_tag(x_3) == 0) +uint8_t x_10; lean_object* x_11; +x_10 = lean_unbox(x_4); +x_11 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_1, x_2, x_3, x_10, x_5, x_6, x_7, x_8, x_9); +return x_11; +} +} +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0___redArg(lean_object* x_1, uint8_t x_2, uint8_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) { +_start: { -lean_object* x_10; -lean_dec(x_8); -lean_dec(x_6); -lean_dec_ref(x_5); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_4); -lean_ctor_set(x_10, 1, x_9); -return x_10; +if (lean_obj_tag(x_4) == 0) +{ +lean_object* x_11; +lean_dec(x_9); +lean_dec(x_7); +lean_dec_ref(x_6); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_5); +lean_ctor_set(x_11, 1, x_10); +return x_11; } else { -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; uint8_t x_25; lean_object* x_26; uint8_t x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_11 = lean_ctor_get(x_3, 0); -lean_inc(x_11); -x_12 = lean_ctor_get(x_3, 1); +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; uint8_t x_26; lean_object* 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; +x_12 = lean_ctor_get(x_4, 0); lean_inc(x_12); -lean_dec_ref(x_3); -x_13 = lean_ctor_get(x_7, 0); -x_14 = lean_ctor_get(x_7, 1); -x_15 = lean_ctor_get(x_7, 2); -x_16 = lean_ctor_get(x_7, 3); -x_17 = lean_ctor_get(x_7, 4); -x_18 = lean_ctor_get(x_7, 5); -x_19 = lean_ctor_get(x_7, 6); -x_20 = lean_ctor_get(x_7, 7); -x_21 = lean_ctor_get(x_7, 8); -x_22 = lean_ctor_get(x_7, 9); -x_23 = lean_ctor_get(x_7, 10); -x_24 = lean_ctor_get(x_7, 11); -x_25 = lean_ctor_get_uint8(x_7, sizeof(void*)*14); -x_26 = lean_ctor_get(x_7, 12); -x_27 = lean_ctor_get_uint8(x_7, sizeof(void*)*14 + 1); -x_28 = lean_ctor_get(x_7, 13); -x_29 = lean_alloc_ctor(8, 0, 1); -lean_ctor_set_uint8(x_29, 0, x_2); -x_30 = l_Lean_replaceRef(x_1, x_18); -lean_inc_ref(x_28); -lean_inc(x_26); +x_13 = lean_ctor_get(x_4, 1); +lean_inc(x_13); +lean_dec_ref(x_4); +x_14 = lean_ctor_get(x_8, 0); +x_15 = lean_ctor_get(x_8, 1); +x_16 = lean_ctor_get(x_8, 2); +x_17 = lean_ctor_get(x_8, 3); +x_18 = lean_ctor_get(x_8, 4); +x_19 = lean_ctor_get(x_8, 5); +x_20 = lean_ctor_get(x_8, 6); +x_21 = lean_ctor_get(x_8, 7); +x_22 = lean_ctor_get(x_8, 8); +x_23 = lean_ctor_get(x_8, 9); +x_24 = lean_ctor_get(x_8, 10); +x_25 = lean_ctor_get(x_8, 11); +x_26 = lean_ctor_get_uint8(x_8, sizeof(void*)*14); +x_27 = lean_ctor_get(x_8, 12); +x_28 = lean_ctor_get_uint8(x_8, sizeof(void*)*14 + 1); +x_29 = lean_ctor_get(x_8, 13); +x_30 = lean_alloc_ctor(8, 0, 1); +lean_ctor_set_uint8(x_30, 0, x_2); +x_31 = l_Lean_replaceRef(x_1, x_19); +lean_inc_ref(x_29); +lean_inc(x_27); +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_16); -lean_inc(x_15); +lean_inc_ref(x_15); lean_inc_ref(x_14); -lean_inc_ref(x_13); -x_31 = lean_alloc_ctor(0, 14, 2); -lean_ctor_set(x_31, 0, x_13); -lean_ctor_set(x_31, 1, x_14); -lean_ctor_set(x_31, 2, x_15); -lean_ctor_set(x_31, 3, x_16); -lean_ctor_set(x_31, 4, x_17); -lean_ctor_set(x_31, 5, x_30); -lean_ctor_set(x_31, 6, x_19); -lean_ctor_set(x_31, 7, x_20); -lean_ctor_set(x_31, 8, x_21); -lean_ctor_set(x_31, 9, x_22); -lean_ctor_set(x_31, 10, x_23); -lean_ctor_set(x_31, 11, x_24); -lean_ctor_set(x_31, 12, x_26); -lean_ctor_set(x_31, 13, x_28); -lean_ctor_set_uint8(x_31, sizeof(void*)*14, x_25); -lean_ctor_set_uint8(x_31, sizeof(void*)*14 + 1, x_27); -lean_inc(x_8); -lean_inc(x_6); -lean_inc_ref(x_5); -x_32 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_4, x_11, x_29, x_5, x_6, x_31, x_8, x_9); -if (lean_obj_tag(x_32) == 0) +x_32 = lean_alloc_ctor(0, 14, 2); +lean_ctor_set(x_32, 0, x_14); +lean_ctor_set(x_32, 1, x_15); +lean_ctor_set(x_32, 2, x_16); +lean_ctor_set(x_32, 3, x_17); +lean_ctor_set(x_32, 4, x_18); +lean_ctor_set(x_32, 5, x_31); +lean_ctor_set(x_32, 6, x_20); +lean_ctor_set(x_32, 7, x_21); +lean_ctor_set(x_32, 8, x_22); +lean_ctor_set(x_32, 9, x_23); +lean_ctor_set(x_32, 10, x_24); +lean_ctor_set(x_32, 11, x_25); +lean_ctor_set(x_32, 12, x_27); +lean_ctor_set(x_32, 13, x_29); +lean_ctor_set_uint8(x_32, sizeof(void*)*14, x_26); +lean_ctor_set_uint8(x_32, sizeof(void*)*14 + 1, x_28); +lean_inc(x_9); +lean_inc(x_7); +lean_inc_ref(x_6); +x_33 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_5, x_12, x_30, x_3, x_6, x_7, x_32, x_9, x_10); +if (lean_obj_tag(x_33) == 0) { -lean_object* x_33; lean_object* x_34; -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; +x_34 = lean_ctor_get(x_33, 0); lean_inc(x_34); -lean_dec_ref(x_32); -x_3 = x_12; -x_4 = x_33; -x_9 = x_34; +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +lean_dec_ref(x_33); +x_4 = x_13; +x_5 = x_34; +x_10 = x_35; goto _start; } else { -lean_dec(x_12); -lean_dec(x_8); -lean_dec(x_6); -lean_dec_ref(x_5); -return x_32; +lean_dec(x_13); +lean_dec(x_9); +lean_dec(x_7); +lean_dec_ref(x_6); +return x_33; } } } } -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0(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, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0(lean_object* x_1, uint8_t x_2, uint8_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) { _start: { -lean_object* x_12; -x_12 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___redArg(x_1, x_2, x_4, x_5, x_7, x_8, x_9, x_10, x_11); -return x_12; +lean_object* x_13; +x_13 = l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0___redArg(x_1, x_2, x_3, x_5, x_6, x_8, x_9, x_10, x_11, x_12); +return x_13; } } -LEAN_EXPORT lean_object* l_List_filterTR_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_filterTR_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_2) == 0) @@ -12991,7 +13255,7 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__2___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__2___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_1) == 0) @@ -13054,15 +13318,15 @@ goto _start; } } } -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_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_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_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) { _start: { lean_object* x_10; -x_10 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__2___redArg(x_2, x_3, x_9); +x_10 = l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__2___redArg(x_2, x_3, x_9); return x_10; } } -LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__3___redArg(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__3___redArg(lean_object* x_1, lean_object* x_2) { _start: { if (lean_obj_tag(x_1) == 0) @@ -13102,15 +13366,15 @@ return x_11; } } } -LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__3___redArg(x_2, x_3); +x_4 = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__3___redArg(x_2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg___lam__0(lean_object* x_1, lean_object* x_2) { +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg___lam__0(lean_object* x_1, lean_object* x_2) { _start: { lean_object* x_3; uint8_t x_4; @@ -13133,7 +13397,7 @@ return x_6; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg(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_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg(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: { lean_object* x_8; uint8_t x_9; @@ -13169,7 +13433,7 @@ if (x_18 == 0) { lean_object* x_19; lean_inc(x_17); -x_19 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg___lam__0(x_17, x_1); +x_19 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg___lam__0(x_17, x_1); x_13 = x_19; goto block_15; } @@ -13186,13 +13450,13 @@ else { lean_object* x_21; lean_object* x_22; x_21 = l_Lean_LocalDecl_fvarId(x_17); -x_22 = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__3___redArg(x_3, x_21); +x_22 = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__3___redArg(x_3, x_21); lean_dec(x_21); if (lean_obj_tag(x_22) == 0) { lean_object* x_23; lean_inc(x_17); -x_23 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg___lam__0(x_17, x_1); +x_23 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg___lam__0(x_17, x_1); x_13 = x_23; goto block_15; } @@ -13372,15 +13636,15 @@ return x_13; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4(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_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4(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) { _start: { lean_object* x_9; -x_9 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_9 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); return x_9; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5_spec__5___redArg(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_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5_spec__5___redArg(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: { lean_object* x_8; uint8_t x_9; @@ -13404,7 +13668,7 @@ lean_dec(x_7); x_13 = lean_array_fget_borrowed(x_6, x_12); lean_inc_ref(x_5); lean_inc(x_4); -x_14 = l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5(x_1, x_2, x_3, x_4, x_5, x_13); +x_14 = l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5(x_1, x_2, x_3, x_4, x_5, x_13); if (lean_obj_tag(x_14) == 0) { x_7 = x_12; @@ -13420,15 +13684,15 @@ return x_14; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5_spec__5(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_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5_spec__5(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) { _start: { lean_object* x_9; -x_9 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5_spec__5___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +x_9 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5_spec__5___redArg(x_1, x_2, x_3, x_4, x_5, x_6, x_7); return x_9; } } -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5(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_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { if (lean_obj_tag(x_6) == 0) @@ -13436,7 +13700,7 @@ 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); x_8 = lean_array_get_size(x_7); -x_9 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5_spec__5___redArg(x_1, x_2, x_3, x_4, x_5, x_7, x_8); +x_9 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5_spec__5___redArg(x_1, x_2, x_3, x_4, x_5, x_7, x_8); return x_9; } else @@ -13444,12 +13708,12 @@ else lean_object* x_10; lean_object* x_11; lean_object* x_12; x_10 = lean_ctor_get(x_6, 0); x_11 = lean_array_get_size(x_10); -x_12 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg(x_1, x_2, x_3, x_4, x_5, x_10, x_11); +x_12 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg(x_1, x_2, x_3, x_4, x_5, x_10, x_11); return x_12; } } } -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4(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_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4(lean_object* x_1, uint8_t 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; @@ -13458,11 +13722,11 @@ x_8 = lean_ctor_get(x_6, 1); x_9 = lean_array_get_size(x_8); lean_inc_ref(x_5); lean_inc(x_4); -x_10 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg(x_1, x_2, x_3, x_4, x_5, x_8, x_9); +x_10 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg(x_1, x_2, x_3, x_4, x_5, x_8, x_9); if (lean_obj_tag(x_10) == 0) { lean_object* x_11; -x_11 = l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5(x_1, x_2, x_3, x_4, x_5, x_7); +x_11 = l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5(x_1, x_2, x_3, x_4, x_5, x_7); return x_11; } else @@ -13473,7 +13737,7 @@ return x_10; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; uint8_t x_6; @@ -13546,15 +13810,15 @@ return x_10; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8(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___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8(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; -x_6 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8___redArg(x_1, x_2, x_3, x_4); +x_6 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8___redArg(x_1, x_2, x_3, x_4); return x_6; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9_spec__9___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9_spec__9___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; uint8_t x_6; @@ -13576,7 +13840,7 @@ x_9 = lean_nat_sub(x_4, x_8); lean_dec(x_4); x_10 = lean_array_fget_borrowed(x_3, x_9); lean_inc(x_1); -x_11 = l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9(x_1, x_2, x_10); +x_11 = l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9(x_1, x_2, x_10); if (lean_obj_tag(x_11) == 0) { x_4 = x_9; @@ -13591,15 +13855,15 @@ return x_11; } } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9_spec__9(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___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9_spec__9(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; -x_6 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9_spec__9___redArg(x_1, x_2, x_3, x_4); +x_6 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9_spec__9___redArg(x_1, x_2, x_3, x_4); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { if (lean_obj_tag(x_3) == 0) @@ -13607,7 +13871,7 @@ if (lean_obj_tag(x_3) == 0) lean_object* x_4; lean_object* x_5; lean_object* x_6; x_4 = lean_ctor_get(x_3, 0); x_5 = lean_array_get_size(x_4); -x_6 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9_spec__9___redArg(x_1, x_2, x_4, x_5); +x_6 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9_spec__9___redArg(x_1, x_2, x_4, x_5); return x_6; } else @@ -13615,12 +13879,12 @@ else lean_object* x_7; lean_object* x_8; lean_object* x_9; x_7 = lean_ctor_get(x_3, 0); x_8 = lean_array_get_size(x_7); -x_9 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8___redArg(x_1, x_2, x_7, x_8); +x_9 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8___redArg(x_1, x_2, x_7, x_8); return x_9; } } } -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8(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; @@ -13628,11 +13892,11 @@ x_4 = lean_ctor_get(x_3, 0); x_5 = lean_ctor_get(x_3, 1); x_6 = lean_array_get_size(x_5); lean_inc(x_1); -x_7 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8___redArg(x_1, x_2, x_5, x_6); +x_7 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8___redArg(x_1, x_2, x_5, x_6); if (lean_obj_tag(x_7) == 0) { lean_object* x_8; -x_8 = l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9(x_1, x_2, x_4); +x_8 = l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9(x_1, x_2, x_4); return x_8; } else @@ -13642,7 +13906,7 @@ return x_7; } } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12___redArg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; uint8_t x_6; @@ -13688,26 +13952,26 @@ return x_18; } } } -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12(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_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12(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_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12___redArg(x_1, x_4, x_5, x_6); +x_7 = l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12___redArg(x_1, x_4, x_5, x_6); return x_7; } } -LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12___lam__0(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_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12___lam__0(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_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; x_13 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_13, 0, x_1); lean_ctor_set(x_13, 1, x_2); -x_14 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12(x_3, x_4, x_5, x_13, x_6, x_8, x_9, x_10, x_11, x_12); +x_14 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12(x_3, x_4, x_5, x_13, x_6, x_8, x_9, x_10, x_11, x_12); return x_14; } } -LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12(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_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12(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_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; @@ -13766,7 +14030,7 @@ lean_inc_ref(x_19); lean_dec_ref(x_3); x_20 = l_Lean_MacroScopesView_review(x_14); lean_inc_ref(x_8); -x_21 = l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12___redArg(x_20, x_8, x_9, x_10); +x_21 = l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12___redArg(x_20, x_8, x_9, x_10); x_22 = lean_ctor_get(x_21, 0); lean_inc(x_22); x_23 = lean_ctor_get(x_21, 1); @@ -13781,14 +14045,14 @@ if (x_26 == 0) uint8_t x_27; lean_object* x_28; lean_object* x_29; x_27 = 1; x_28 = lean_box(0); -x_29 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12___lam__0(x_19, x_4, x_1, x_2, x_18, x_27, x_28, x_6, x_7, x_8, x_9, x_23); +x_29 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12___lam__0(x_19, x_4, x_1, x_2, x_18, x_27, x_28, x_6, x_7, x_8, x_9, x_23); return x_29; } else { lean_object* x_30; lean_object* x_31; x_30 = lean_box(0); -x_31 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12___lam__0(x_19, x_4, x_1, x_2, x_18, x_5, x_30, x_6, x_7, x_8, x_9, x_23); +x_31 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12___lam__0(x_19, x_4, x_1, x_2, x_18, x_5, x_30, x_6, x_7, x_8, x_9, x_23); return x_31; } } @@ -13802,7 +14066,7 @@ x_33 = lean_ctor_get(x_3, 1); lean_inc_ref(x_33); lean_dec_ref(x_3); x_34 = lean_box(0); -x_35 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12___lam__0(x_33, x_4, x_1, x_2, x_32, x_5, x_34, x_6, x_7, x_8, x_9, x_10); +x_35 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12___lam__0(x_33, x_4, x_1, x_2, x_32, x_5, x_34, x_6, x_7, x_8, x_9, x_10); return x_35; } } @@ -13864,19 +14128,19 @@ return x_47; } } } -LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3___lam__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5) { +LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3___lam__0(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_inc_ref(x_4); x_6 = l_Lean_MacroScopesView_review(x_4); -x_7 = l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4(x_6, x_5, x_1, x_2, x_4, x_3); +x_7 = l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4(x_6, x_5, x_1, x_2, x_4, x_3); if (lean_obj_tag(x_7) == 0) { if (x_5 == 0) { lean_object* x_8; -x_8 = l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8(x_7, x_6, x_3); +x_8 = l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8(x_7, x_6, x_3); lean_dec(x_6); return x_8; } @@ -13893,7 +14157,7 @@ return x_7; } } } -LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _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; uint8_t x_15; lean_object* x_16; @@ -13907,76 +14171,29 @@ lean_inc(x_12); lean_inc_ref(x_8); lean_inc(x_10); lean_inc(x_9); -x_13 = lean_alloc_closure((void*)(l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3___lam__0___boxed), 5, 3); +x_13 = lean_alloc_closure((void*)(l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3___lam__0___boxed), 5, 3); lean_closure_set(x_13, 0, x_9); lean_closure_set(x_13, 1, x_10); lean_closure_set(x_13, 2, x_8); x_14 = lean_box(0); x_15 = 0; -x_16 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12(x_11, x_13, x_12, x_14, x_15, x_2, x_3, x_4, x_5, x_6); +x_16 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12(x_11, x_13, x_12, x_14, x_15, x_2, x_3, x_4, x_5, x_6); lean_dec_ref(x_2); lean_dec_ref(x_11); return x_16; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__0() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__0() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("grindParam", 10, 10); -return x_1; -} -} -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__0; -x_2 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern___regBuiltin_Lean_Elab_Tactic_elabGrindPattern__1___closed__2; -x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; -x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; -x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); -return x_5; -} -} -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("unexpected `grind` parameter", 28, 28); -return x_1; -} -} -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__2; -x_2 = l_Lean_stringToMessageData(x_1); +uint8_t x_1; lean_object* x_2; +x_1 = 0; +x_2 = lean_alloc_ctor(8, 0, 1); +lean_ctor_set_uint8(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__4() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("grindErase", 10, 10); -return x_1; -} -} -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___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___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__4; -x_2 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern___regBuiltin_Lean_Elab_Tactic_elabGrindPattern__1___closed__2; -x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; -x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; -x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); -return x_5; -} -} -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__6() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__1() { _start: { lean_object* x_1; @@ -13984,16 +14201,16 @@ x_1 = lean_mk_string_unchecked("invalid use of `usr` modifier, `", 32, 32); return x_1; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__7() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__6; +x_1 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__8() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__3() { _start: { lean_object* x_1; @@ -14001,16 +14218,16 @@ x_1 = lean_mk_string_unchecked("` does not have patterns specified with the comm return x_1; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__9() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__8; +x_1 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__10() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__5() { _start: { lean_object* x_1; @@ -14018,16 +14235,16 @@ x_1 = lean_mk_string_unchecked("invalid use of `intro` modifier, `", 34, 34); return x_1; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__11() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__10; +x_1 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__5; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__12() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__7() { _start: { lean_object* x_1; @@ -14035,16 +14252,16 @@ x_1 = lean_mk_string_unchecked("` is not an inductive predicate", 31, 31); return x_1; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__13() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__12; +x_1 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__7; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__14() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__9() { _start: { lean_object* x_1; @@ -14052,16 +14269,16 @@ x_1 = lean_mk_string_unchecked("`[grind ext]` cannot be set using parameters", 4 return x_1; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__15() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__10() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__14; +x_1 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__9; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__16() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__11() { _start: { lean_object* x_1; @@ -14069,16 +14286,16 @@ x_1 = lean_mk_string_unchecked("redundant parameter `", 21, 21); return x_1; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__17() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__12() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__16; +x_1 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__11; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__18() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__13() { _start: { lean_object* x_1; @@ -14086,1961 +14303,1436 @@ x_1 = lean_mk_string_unchecked("`, `grind` uses local hypotheses automatically", return x_1; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__19() { +static lean_object* _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__14() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__18; +x_1 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__13; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__20() { +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam(uint8_t 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_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("grindLemma", 10, 10); -return x_1; -} -} -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21() { -_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; lean_object* x_18; 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_138; lean_object* x_348; lean_object* x_349; +x_348 = lean_box(0); +lean_inc(x_10); +lean_inc_ref(x_9); +lean_inc(x_5); +x_349 = l_Lean_Elab_realizeGlobalConstNoOverloadWithInfo(x_5, x_348, x_9, x_10, x_11); +if (lean_obj_tag(x_349) == 0) { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__20; -x_2 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern___regBuiltin_Lean_Elab_Tactic_elabGrindPattern__1___closed__2; -x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; -x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; -x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); -return x_5; -} -} -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("Attr", 4, 4); -return x_1; -} -} -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__23() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("grindMod", 8, 8); -return x_1; -} -} -static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__23; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; -x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; -x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; -x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); -return x_5; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15(uint8_t 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, lean_object* x_10) { -_start: -{ -lean_object* x_11; lean_object* x_12; 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_28; -x_28 = lean_usize_dec_lt(x_4, x_3); -if (x_28 == 0) -{ -lean_object* x_29; -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_29 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_29, 0, x_5); -lean_ctor_set(x_29, 1, x_10); -return x_29; +lean_dec(x_5); +x_138 = x_349; +goto block_347; } else { -lean_object* x_30; lean_object* x_31; uint8_t x_32; -x_30 = lean_array_uget(x_2, x_4); -x_31 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -lean_inc(x_30); -x_32 = l_Lean_Syntax_isOfKind(x_30, x_31); -if (x_32 == 0) +lean_object* x_350; lean_object* x_351; uint8_t x_352; uint8_t x_383; +x_350 = lean_ctor_get(x_349, 0); +lean_inc(x_350); +x_351 = lean_ctor_get(x_349, 1); +lean_inc(x_351); +x_383 = l_Lean_Exception_isInterrupt(x_350); +if (x_383 == 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; -lean_dec_ref(x_5); -x_33 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; -x_34 = l_Lean_MessageData_ofSyntax(x_30); -x_35 = l_Lean_indentD(x_34); -x_36 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_36, 0, x_33); -lean_ctor_set(x_36, 1, x_35); -x_37 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_36, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_38 = !lean_is_exclusive(x_37); -if (x_38 == 0) -{ -return x_37; +uint8_t x_384; +x_384 = l_Lean_Exception_isRuntime(x_350); +x_352 = x_384; +goto block_382; } else { -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_37, 0); -x_40 = lean_ctor_get(x_37, 1); -lean_inc(x_40); +x_352 = x_383; +goto block_382; +} +block_382: +{ +if (x_352 == 0) +{ +uint8_t x_353; +x_353 = !lean_is_exclusive(x_349); +if (x_353 == 0) +{ +lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; +x_354 = lean_ctor_get(x_349, 1); +lean_dec(x_354); +x_355 = lean_ctor_get(x_349, 0); +lean_dec(x_355); +x_356 = l_Lean_TSyntax_getId(x_5); +lean_inc_ref(x_9); +lean_inc_ref(x_7); +x_357 = l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3(x_356, x_7, x_8, x_9, x_10, x_351); +x_358 = lean_ctor_get(x_357, 0); +lean_inc(x_358); +if (lean_obj_tag(x_358) == 0) +{ +uint8_t x_359; +lean_free_object(x_349); +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec_ref(x_2); +x_359 = !lean_is_exclusive(x_357); +if (x_359 == 0) +{ +lean_object* x_360; +x_360 = lean_ctor_get(x_357, 0); +lean_dec(x_360); +lean_ctor_set_tag(x_357, 1); +lean_ctor_set(x_357, 0, x_350); +return x_357; +} +else +{ +lean_object* x_361; lean_object* x_362; +x_361 = lean_ctor_get(x_357, 1); +lean_inc(x_361); +lean_dec(x_357); +x_362 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_362, 0, x_350); +lean_ctor_set(x_362, 1, x_361); +return x_362; +} +} +else +{ +lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; +lean_dec_ref(x_358); +lean_dec(x_350); +x_363 = lean_ctor_get(x_357, 1); +lean_inc(x_363); +lean_dec_ref(x_357); +x_364 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__12; +lean_inc(x_5); +x_365 = l_Lean_MessageData_ofSyntax(x_5); +lean_ctor_set_tag(x_349, 7); +lean_ctor_set(x_349, 1, x_365); +lean_ctor_set(x_349, 0, x_364); +x_366 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__14; +x_367 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_367, 0, x_349); +lean_ctor_set(x_367, 1, x_366); +lean_inc_ref(x_9); +x_368 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1___redArg(x_5, x_367, x_7, x_8, x_9, x_10, x_363); +lean_dec(x_5); +x_138 = x_368; +goto block_347; +} +} +else +{ +lean_object* x_369; lean_object* x_370; lean_object* x_371; +lean_dec(x_349); +x_369 = l_Lean_TSyntax_getId(x_5); +lean_inc_ref(x_9); +lean_inc_ref(x_7); +x_370 = l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3(x_369, x_7, x_8, x_9, x_10, x_351); +x_371 = lean_ctor_get(x_370, 0); +lean_inc(x_371); +if (lean_obj_tag(x_371) == 0) +{ +lean_object* x_372; lean_object* x_373; lean_object* x_374; +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec(x_5); +lean_dec(x_4); +lean_dec_ref(x_2); +x_372 = lean_ctor_get(x_370, 1); +lean_inc(x_372); +if (lean_is_exclusive(x_370)) { + lean_ctor_release(x_370, 0); + lean_ctor_release(x_370, 1); + x_373 = x_370; +} else { + lean_dec_ref(x_370); + x_373 = lean_box(0); +} +if (lean_is_scalar(x_373)) { + x_374 = lean_alloc_ctor(1, 2, 0); +} else { + x_374 = x_373; + lean_ctor_set_tag(x_374, 1); +} +lean_ctor_set(x_374, 0, x_350); +lean_ctor_set(x_374, 1, x_372); +return x_374; +} +else +{ +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_dec_ref(x_371); +lean_dec(x_350); +x_375 = lean_ctor_get(x_370, 1); +lean_inc(x_375); +lean_dec_ref(x_370); +x_376 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__12; +lean_inc(x_5); +x_377 = l_Lean_MessageData_ofSyntax(x_5); +x_378 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_378, 0, x_376); +lean_ctor_set(x_378, 1, x_377); +x_379 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__14; +x_380 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_380, 0, x_378); +lean_ctor_set(x_380, 1, x_379); +lean_inc_ref(x_9); +x_381 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1___redArg(x_5, x_380, x_7, x_8, x_9, x_10, x_375); +lean_dec(x_5); +x_138 = x_381; +goto block_347; +} +} +} +else +{ +lean_dec(x_351); +lean_dec(x_350); +lean_dec(x_5); +x_138 = x_349; +goto block_347; +} +} +} +block_98: +{ +uint8_t x_19; lean_object* x_20; +x_19 = 0; +lean_inc(x_17); +lean_inc_ref(x_16); +lean_inc(x_12); +x_20 = l_Lean_Meta_Grind_isCasesAttrCandidate_x3f(x_12, x_19, x_16, x_17, x_18); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +if (lean_obj_tag(x_21) == 0) +{ +lean_object* x_22; uint8_t x_23; +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec_ref(x_20); +x_23 = !lean_is_exclusive(x_16); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +x_24 = lean_ctor_get(x_16, 5); +x_25 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__0; +x_26 = l_Lean_replaceRef(x_3, x_24); +lean_dec(x_24); +lean_ctor_set(x_16, 5, x_26); +x_27 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_13, x_12, x_25, x_6, x_14, x_15, x_16, x_17, x_22); +return x_27; +} +else +{ +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; lean_object* x_39; uint8_t x_40; lean_object* x_41; uint8_t x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_28 = lean_ctor_get(x_16, 0); +x_29 = lean_ctor_get(x_16, 1); +x_30 = lean_ctor_get(x_16, 2); +x_31 = lean_ctor_get(x_16, 3); +x_32 = lean_ctor_get(x_16, 4); +x_33 = lean_ctor_get(x_16, 5); +x_34 = lean_ctor_get(x_16, 6); +x_35 = lean_ctor_get(x_16, 7); +x_36 = lean_ctor_get(x_16, 8); +x_37 = lean_ctor_get(x_16, 9); +x_38 = lean_ctor_get(x_16, 10); +x_39 = lean_ctor_get(x_16, 11); +x_40 = lean_ctor_get_uint8(x_16, sizeof(void*)*14); +x_41 = lean_ctor_get(x_16, 12); +x_42 = lean_ctor_get_uint8(x_16, sizeof(void*)*14 + 1); +x_43 = lean_ctor_get(x_16, 13); +lean_inc(x_43); +lean_inc(x_41); lean_inc(x_39); -lean_dec(x_37); -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; +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_inc(x_31); +lean_inc(x_30); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_16); +x_44 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__0; +x_45 = l_Lean_replaceRef(x_3, x_33); +lean_dec(x_33); +x_46 = lean_alloc_ctor(0, 14, 2); +lean_ctor_set(x_46, 0, x_28); +lean_ctor_set(x_46, 1, x_29); +lean_ctor_set(x_46, 2, x_30); +lean_ctor_set(x_46, 3, x_31); +lean_ctor_set(x_46, 4, x_32); +lean_ctor_set(x_46, 5, x_45); +lean_ctor_set(x_46, 6, x_34); +lean_ctor_set(x_46, 7, x_35); +lean_ctor_set(x_46, 8, x_36); +lean_ctor_set(x_46, 9, x_37); +lean_ctor_set(x_46, 10, x_38); +lean_ctor_set(x_46, 11, x_39); +lean_ctor_set(x_46, 12, x_41); +lean_ctor_set(x_46, 13, x_43); +lean_ctor_set_uint8(x_46, sizeof(void*)*14, x_40); +lean_ctor_set_uint8(x_46, sizeof(void*)*14 + 1, x_42); +x_47 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_13, x_12, x_44, x_6, x_14, x_15, x_46, x_17, x_22); +return x_47; } } else { -lean_object* x_42; 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; lean_object* x_52; 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_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; uint8_t x_332; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; uint8_t x_342; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; -x_42 = lean_unsigned_to_nat(0u); -x_43 = l_Lean_Syntax_getArg(x_30, x_42); -x_44 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__5; -lean_inc(x_43); -x_45 = l_Lean_Syntax_isOfKind(x_43, x_44); -if (x_45 == 0) +lean_object* x_48; lean_object* x_49; lean_object* x_50; +lean_dec(x_12); +x_48 = lean_ctor_get(x_20, 1); +lean_inc(x_48); +lean_dec_ref(x_20); +x_49 = lean_ctor_get(x_21, 0); +lean_inc(x_49); +lean_dec_ref(x_21); +lean_inc(x_17); +lean_inc_ref(x_16); +lean_inc(x_15); +lean_inc_ref(x_14); +lean_inc(x_49); +x_50 = l_Lean_Meta_isInductivePredicate_x3f(x_49, x_14, x_15, x_16, x_17, x_48); +if (lean_obj_tag(x_50) == 0) { -lean_object* x_388; uint8_t x_389; -x_388 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -lean_inc(x_43); -x_389 = l_Lean_Syntax_isOfKind(x_43, x_388); -if (x_389 == 0) +uint8_t x_51; +x_51 = !lean_is_exclusive(x_50); +if (x_51 == 0) { -lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; uint8_t x_395; -lean_dec(x_43); -lean_dec_ref(x_5); -x_390 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; -x_391 = l_Lean_MessageData_ofSyntax(x_30); -x_392 = l_Lean_indentD(x_391); -x_393 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_393, 0, x_390); -lean_ctor_set(x_393, 1, x_392); -x_394 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_393, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_395 = !lean_is_exclusive(x_394); -if (x_395 == 0) +uint8_t x_52; +x_52 = !lean_is_exclusive(x_13); +if (x_52 == 0) { -return x_394; -} -else -{ -lean_object* x_396; lean_object* x_397; lean_object* x_398; -x_396 = lean_ctor_get(x_394, 0); -x_397 = lean_ctor_get(x_394, 1); -lean_inc(x_397); -lean_inc(x_396); -lean_dec(x_394); -x_398 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_398, 0, x_396); -lean_ctor_set(x_398, 1, x_397); -return x_398; -} -} -else -{ -lean_object* x_399; uint8_t x_400; -x_399 = l_Lean_Syntax_getArg(x_43, x_42); -x_400 = l_Lean_Syntax_isNone(x_399); -if (x_400 == 0) -{ -lean_object* x_401; uint8_t x_402; -x_401 = lean_unsigned_to_nat(1u); -lean_inc(x_399); -x_402 = l_Lean_Syntax_matchesNull(x_399, x_401); -if (x_402 == 0) -{ -lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; uint8_t x_408; -lean_dec(x_399); -lean_dec(x_43); -lean_dec_ref(x_5); -x_403 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; -x_404 = l_Lean_MessageData_ofSyntax(x_30); -x_405 = l_Lean_indentD(x_404); -x_406 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_406, 0, x_403); -lean_ctor_set(x_406, 1, x_405); -x_407 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_406, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_408 = !lean_is_exclusive(x_407); -if (x_408 == 0) -{ -return x_407; -} -else -{ -lean_object* x_409; lean_object* x_410; lean_object* x_411; -x_409 = lean_ctor_get(x_407, 0); -x_410 = lean_ctor_get(x_407, 1); -lean_inc(x_410); -lean_inc(x_409); -lean_dec(x_407); -x_411 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_411, 0, x_409); -lean_ctor_set(x_411, 1, x_410); -return x_411; -} -} -else -{ -lean_object* x_412; lean_object* x_413; uint8_t x_414; -x_412 = l_Lean_Syntax_getArg(x_399, x_42); -lean_dec(x_399); -x_413 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -lean_inc(x_412); -x_414 = l_Lean_Syntax_isOfKind(x_412, x_413); -if (x_414 == 0) -{ -lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; uint8_t x_420; -lean_dec(x_412); -lean_dec(x_43); -lean_dec_ref(x_5); -x_415 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; -x_416 = l_Lean_MessageData_ofSyntax(x_30); -x_417 = l_Lean_indentD(x_416); -x_418 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_418, 0, x_415); -lean_ctor_set(x_418, 1, x_417); -x_419 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_418, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_420 = !lean_is_exclusive(x_419); -if (x_420 == 0) -{ -return x_419; -} -else -{ -lean_object* x_421; lean_object* x_422; lean_object* x_423; -x_421 = lean_ctor_get(x_419, 0); -x_422 = lean_ctor_get(x_419, 1); -lean_inc(x_422); -lean_inc(x_421); -lean_dec(x_419); -x_423 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_423, 0, x_421); -lean_ctor_set(x_423, 1, x_422); -return x_423; -} -} -else -{ -lean_object* x_424; -x_424 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_424, 0, x_412); -lean_inc(x_9); -lean_inc_ref(x_8); -lean_inc(x_7); -lean_inc_ref(x_6); -x_362 = x_424; -x_363 = x_6; -x_364 = x_7; -x_365 = x_8; -x_366 = x_9; -x_367 = x_10; -goto block_387; -} -} -} -else -{ -lean_object* x_425; -lean_dec(x_399); -x_425 = lean_box(0); -lean_inc(x_9); -lean_inc_ref(x_8); -lean_inc(x_7); -lean_inc_ref(x_6); -x_362 = x_425; -x_363 = x_6; -x_364 = x_7; -x_365 = x_8; -x_366 = x_9; -x_367 = x_10; -goto block_387; -} -} -} -else -{ -lean_object* x_426; lean_object* x_427; lean_object* x_428; uint8_t x_429; -x_426 = lean_unsigned_to_nat(1u); -x_427 = l_Lean_Syntax_getArg(x_43, x_426); -lean_dec(x_43); -x_428 = l_Lean_Elab_Tactic_elabGrindPattern___closed__12; -lean_inc(x_427); -x_429 = l_Lean_Syntax_isOfKind(x_427, x_428); -if (x_429 == 0) -{ -lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; uint8_t x_435; -lean_dec(x_427); -lean_dec_ref(x_5); -x_430 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; -x_431 = l_Lean_MessageData_ofSyntax(x_30); -x_432 = l_Lean_indentD(x_431); -x_433 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_433, 0, x_430); -lean_ctor_set(x_433, 1, x_432); -x_434 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_433, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_435 = !lean_is_exclusive(x_434); -if (x_435 == 0) -{ -return x_434; -} -else -{ -lean_object* x_436; lean_object* x_437; lean_object* x_438; -x_436 = lean_ctor_get(x_434, 0); -x_437 = lean_ctor_get(x_434, 1); -lean_inc(x_437); -lean_inc(x_436); -lean_dec(x_434); -x_438 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_438, 0, x_436); -lean_ctor_set(x_438, 1, x_437); -return x_438; -} -} -else -{ -lean_object* x_439; lean_object* x_440; -lean_dec(x_30); -x_439 = lean_box(0); -lean_inc(x_9); -lean_inc_ref(x_8); -x_440 = l_Lean_Elab_realizeGlobalConstNoOverloadWithInfo(x_427, x_439, x_8, x_9, x_10); -if (lean_obj_tag(x_440) == 0) -{ -lean_object* x_441; lean_object* x_442; uint8_t x_443; lean_object* x_444; -x_441 = lean_ctor_get(x_440, 0); -lean_inc(x_441); -x_442 = lean_ctor_get(x_440, 1); -lean_inc(x_442); -lean_dec_ref(x_440); -x_443 = 0; -lean_inc(x_9); -lean_inc_ref(x_8); -lean_inc(x_441); -x_444 = l_Lean_Meta_Grind_isCasesAttrCandidate_x3f(x_441, x_443, x_8, x_9, x_442); -if (lean_obj_tag(x_444) == 0) -{ -lean_object* x_445; -x_445 = lean_ctor_get(x_444, 0); -lean_inc(x_445); -if (lean_obj_tag(x_445) == 0) -{ -lean_object* x_446; uint8_t x_447; -x_446 = lean_ctor_get(x_444, 1); -lean_inc(x_446); -lean_dec_ref(x_444); -x_447 = !lean_is_exclusive(x_5); -if (x_447 == 0) -{ -lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451; lean_object* x_452; lean_object* x_453; lean_object* x_454; lean_object* x_455; -x_448 = lean_ctor_get(x_5, 0); -x_449 = lean_ctor_get(x_5, 1); -x_450 = lean_ctor_get(x_5, 2); -x_451 = lean_ctor_get(x_5, 3); -x_452 = lean_ctor_get(x_5, 4); -x_453 = lean_ctor_get(x_5, 5); -x_454 = lean_ctor_get(x_5, 6); -lean_inc(x_9); -lean_inc_ref(x_8); -lean_inc(x_7); -lean_inc_ref(x_6); -x_455 = l_Lean_Meta_Grind_EMatchTheorems_eraseDecl(x_449, x_441, x_6, x_7, x_8, x_9, x_446); -if (lean_obj_tag(x_455) == 0) -{ -lean_object* x_456; lean_object* x_457; -x_456 = lean_ctor_get(x_455, 0); -lean_inc(x_456); -x_457 = lean_ctor_get(x_455, 1); -lean_inc(x_457); -lean_dec_ref(x_455); -lean_ctor_set(x_5, 1, x_456); -x_11 = x_5; -x_12 = x_457; -goto block_16; -} -else -{ -uint8_t x_458; -lean_free_object(x_5); -lean_dec_ref(x_454); -lean_dec_ref(x_453); -lean_dec_ref(x_452); -lean_dec_ref(x_451); -lean_dec_ref(x_450); -lean_dec_ref(x_448); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_458 = !lean_is_exclusive(x_455); -if (x_458 == 0) -{ -return x_455; -} -else -{ -lean_object* x_459; lean_object* x_460; lean_object* x_461; -x_459 = lean_ctor_get(x_455, 0); -x_460 = lean_ctor_get(x_455, 1); -lean_inc(x_460); -lean_inc(x_459); -lean_dec(x_455); -x_461 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_461, 0, x_459); -lean_ctor_set(x_461, 1, x_460); -return x_461; -} -} -} -else -{ -lean_object* x_462; lean_object* x_463; lean_object* x_464; lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; lean_object* x_469; -x_462 = lean_ctor_get(x_5, 0); -x_463 = lean_ctor_get(x_5, 1); -x_464 = lean_ctor_get(x_5, 2); -x_465 = lean_ctor_get(x_5, 3); -x_466 = lean_ctor_get(x_5, 4); -x_467 = lean_ctor_get(x_5, 5); -x_468 = lean_ctor_get(x_5, 6); -lean_inc(x_468); -lean_inc(x_467); -lean_inc(x_466); -lean_inc(x_465); -lean_inc(x_464); -lean_inc(x_463); -lean_inc(x_462); -lean_dec(x_5); -lean_inc(x_9); -lean_inc_ref(x_8); -lean_inc(x_7); -lean_inc_ref(x_6); -x_469 = l_Lean_Meta_Grind_EMatchTheorems_eraseDecl(x_463, x_441, x_6, x_7, x_8, x_9, x_446); -if (lean_obj_tag(x_469) == 0) -{ -lean_object* x_470; lean_object* x_471; lean_object* x_472; -x_470 = lean_ctor_get(x_469, 0); -lean_inc(x_470); -x_471 = lean_ctor_get(x_469, 1); -lean_inc(x_471); -lean_dec_ref(x_469); -x_472 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_472, 0, x_462); -lean_ctor_set(x_472, 1, x_470); -lean_ctor_set(x_472, 2, x_464); -lean_ctor_set(x_472, 3, x_465); -lean_ctor_set(x_472, 4, x_466); -lean_ctor_set(x_472, 5, x_467); -lean_ctor_set(x_472, 6, x_468); -x_11 = x_472; -x_12 = x_471; -goto block_16; -} -else -{ -lean_object* x_473; lean_object* x_474; lean_object* x_475; lean_object* x_476; -lean_dec_ref(x_468); -lean_dec_ref(x_467); -lean_dec_ref(x_466); -lean_dec_ref(x_465); -lean_dec_ref(x_464); -lean_dec_ref(x_462); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_473 = lean_ctor_get(x_469, 0); -lean_inc(x_473); -x_474 = lean_ctor_get(x_469, 1); -lean_inc(x_474); -if (lean_is_exclusive(x_469)) { - lean_ctor_release(x_469, 0); - lean_ctor_release(x_469, 1); - x_475 = x_469; -} else { - lean_dec_ref(x_469); - x_475 = lean_box(0); -} -if (lean_is_scalar(x_475)) { - x_476 = lean_alloc_ctor(1, 2, 0); -} else { - x_476 = x_475; -} -lean_ctor_set(x_476, 0, x_473); -lean_ctor_set(x_476, 1, x_474); -return x_476; -} -} -} -else -{ -lean_object* x_477; lean_object* x_478; lean_object* x_479; -lean_dec(x_441); -x_477 = lean_ctor_get(x_444, 1); -lean_inc(x_477); -lean_dec_ref(x_444); -x_478 = lean_ctor_get(x_445, 0); -lean_inc(x_478); -lean_dec_ref(x_445); -lean_inc(x_478); -x_479 = l_Lean_Meta_Grind_ensureNotBuiltinCases(x_478, x_8, x_9, x_477); -if (lean_obj_tag(x_479) == 0) -{ -lean_object* x_480; uint8_t x_481; -x_480 = lean_ctor_get(x_479, 1); -lean_inc(x_480); -lean_dec_ref(x_479); -x_481 = !lean_is_exclusive(x_5); -if (x_481 == 0) -{ -lean_object* x_482; lean_object* x_483; lean_object* x_484; lean_object* x_485; lean_object* x_486; lean_object* x_487; lean_object* x_488; lean_object* x_489; -x_482 = lean_ctor_get(x_5, 0); -x_483 = lean_ctor_get(x_5, 1); -x_484 = lean_ctor_get(x_5, 2); -x_485 = lean_ctor_get(x_5, 3); -x_486 = lean_ctor_get(x_5, 4); -x_487 = lean_ctor_get(x_5, 5); -x_488 = lean_ctor_get(x_5, 6); -x_489 = l_Lean_Meta_Grind_CasesTypes_eraseDecl(x_485, x_478, x_8, x_9, x_480); -if (lean_obj_tag(x_489) == 0) -{ -lean_object* x_490; lean_object* x_491; -x_490 = lean_ctor_get(x_489, 0); -lean_inc(x_490); -x_491 = lean_ctor_get(x_489, 1); -lean_inc(x_491); -lean_dec_ref(x_489); -lean_ctor_set(x_5, 3, x_490); -x_11 = x_5; -x_12 = x_491; -goto block_16; -} -else -{ -uint8_t x_492; -lean_free_object(x_5); -lean_dec_ref(x_488); -lean_dec_ref(x_487); -lean_dec_ref(x_486); -lean_dec_ref(x_484); -lean_dec_ref(x_483); -lean_dec_ref(x_482); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_492 = !lean_is_exclusive(x_489); -if (x_492 == 0) -{ -return x_489; -} -else -{ -lean_object* x_493; lean_object* x_494; lean_object* x_495; -x_493 = lean_ctor_get(x_489, 0); -x_494 = lean_ctor_get(x_489, 1); -lean_inc(x_494); -lean_inc(x_493); -lean_dec(x_489); -x_495 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_495, 0, x_493); -lean_ctor_set(x_495, 1, x_494); -return x_495; -} -} -} -else -{ -lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; lean_object* x_500; lean_object* x_501; lean_object* x_502; lean_object* x_503; -x_496 = lean_ctor_get(x_5, 0); -x_497 = lean_ctor_get(x_5, 1); -x_498 = lean_ctor_get(x_5, 2); -x_499 = lean_ctor_get(x_5, 3); -x_500 = lean_ctor_get(x_5, 4); -x_501 = lean_ctor_get(x_5, 5); -x_502 = lean_ctor_get(x_5, 6); -lean_inc(x_502); -lean_inc(x_501); -lean_inc(x_500); -lean_inc(x_499); -lean_inc(x_498); -lean_inc(x_497); -lean_inc(x_496); -lean_dec(x_5); -x_503 = l_Lean_Meta_Grind_CasesTypes_eraseDecl(x_499, x_478, x_8, x_9, x_480); -if (lean_obj_tag(x_503) == 0) -{ -lean_object* x_504; lean_object* x_505; lean_object* x_506; -x_504 = lean_ctor_get(x_503, 0); -lean_inc(x_504); -x_505 = lean_ctor_get(x_503, 1); -lean_inc(x_505); -lean_dec_ref(x_503); -x_506 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_506, 0, x_496); -lean_ctor_set(x_506, 1, x_497); -lean_ctor_set(x_506, 2, x_498); -lean_ctor_set(x_506, 3, x_504); -lean_ctor_set(x_506, 4, x_500); -lean_ctor_set(x_506, 5, x_501); -lean_ctor_set(x_506, 6, x_502); -x_11 = x_506; -x_12 = x_505; -goto block_16; -} -else -{ -lean_object* x_507; lean_object* x_508; lean_object* x_509; lean_object* x_510; -lean_dec_ref(x_502); -lean_dec_ref(x_501); -lean_dec_ref(x_500); -lean_dec_ref(x_498); -lean_dec_ref(x_497); -lean_dec_ref(x_496); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_507 = lean_ctor_get(x_503, 0); -lean_inc(x_507); -x_508 = lean_ctor_get(x_503, 1); -lean_inc(x_508); -if (lean_is_exclusive(x_503)) { - lean_ctor_release(x_503, 0); - lean_ctor_release(x_503, 1); - x_509 = x_503; -} else { - lean_dec_ref(x_503); - x_509 = lean_box(0); -} -if (lean_is_scalar(x_509)) { - x_510 = lean_alloc_ctor(1, 2, 0); -} else { - x_510 = x_509; -} -lean_ctor_set(x_510, 0, x_507); -lean_ctor_set(x_510, 1, x_508); -return x_510; -} -} -} -else -{ -uint8_t x_511; -lean_dec(x_478); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_511 = !lean_is_exclusive(x_479); -if (x_511 == 0) -{ -return x_479; -} -else -{ -lean_object* x_512; lean_object* x_513; lean_object* x_514; -x_512 = lean_ctor_get(x_479, 0); -x_513 = lean_ctor_get(x_479, 1); -lean_inc(x_513); -lean_inc(x_512); -lean_dec(x_479); -x_514 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_514, 0, x_512); -lean_ctor_set(x_514, 1, x_513); -return x_514; -} -} -} -} -else -{ -uint8_t x_515; -lean_dec(x_441); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_515 = !lean_is_exclusive(x_444); -if (x_515 == 0) -{ -return x_444; -} -else -{ -lean_object* x_516; lean_object* x_517; lean_object* x_518; -x_516 = lean_ctor_get(x_444, 0); -x_517 = lean_ctor_get(x_444, 1); -lean_inc(x_517); -lean_inc(x_516); -lean_dec(x_444); -x_518 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_518, 0, x_516); -lean_ctor_set(x_518, 1, x_517); -return x_518; -} -} -} -else -{ -uint8_t x_519; -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_519 = !lean_is_exclusive(x_440); -if (x_519 == 0) -{ -return x_440; -} -else -{ -lean_object* x_520; lean_object* x_521; lean_object* x_522; -x_520 = lean_ctor_get(x_440, 0); -x_521 = lean_ctor_get(x_440, 1); -lean_inc(x_521); -lean_inc(x_520); -lean_dec(x_440); -x_522 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_522, 0, x_520); -lean_ctor_set(x_522, 1, x_521); -return x_522; -} -} -} -} -block_120: -{ -lean_object* x_53; -lean_inc(x_51); -lean_inc_ref(x_50); -lean_inc(x_46); -x_53 = l_Lean_Meta_Grind_isCasesAttrCandidate_x3f(x_46, x_45, x_50, x_51, x_52); +lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_53 = lean_ctor_get(x_50, 0); +x_54 = lean_ctor_get(x_50, 1); +x_55 = lean_ctor_get(x_13, 3); +x_56 = l_Lean_Meta_Grind_CasesTypes_insert(x_55, x_49, x_19); +lean_ctor_set(x_13, 3, x_56); if (lean_obj_tag(x_53) == 0) { -lean_object* x_54; -x_54 = lean_ctor_get(x_53, 0); -lean_inc(x_54); -if (lean_obj_tag(x_54) == 0) +lean_dec(x_17); +lean_dec_ref(x_16); +lean_dec(x_15); +lean_dec_ref(x_14); +lean_ctor_set(x_50, 0, x_13); +return x_50; +} +else { -lean_object* x_55; uint8_t x_56; -x_55 = lean_ctor_get(x_53, 1); -lean_inc(x_55); +lean_object* x_57; lean_object* x_58; lean_object* x_59; +lean_free_object(x_50); +x_57 = lean_ctor_get(x_53, 0); +lean_inc(x_57); lean_dec_ref(x_53); -x_56 = !lean_is_exclusive(x_50); -if (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_50, 5); -x_58 = lean_alloc_ctor(8, 0, 1); -lean_ctor_set_uint8(x_58, 0, x_45); -x_59 = l_Lean_replaceRef(x_30, x_57); +x_58 = lean_ctor_get(x_57, 4); +lean_inc(x_58); lean_dec(x_57); -lean_dec(x_30); -lean_ctor_set(x_50, 5, x_59); -x_60 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_47, x_46, x_58, x_48, x_49, x_50, x_51, x_55); -if (lean_obj_tag(x_60) == 0) -{ -lean_object* x_61; lean_object* x_62; -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_ref(x_60); -x_11 = x_61; -x_12 = x_62; -goto block_16; -} -else -{ -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -return x_60; +x_59 = l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0___redArg(x_3, x_19, x_6, x_58, x_13, x_14, x_15, x_16, x_17, x_54); +lean_dec_ref(x_16); +return x_59; } } 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; uint8_t x_75; lean_object* x_76; uint8_t x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_63 = lean_ctor_get(x_50, 0); -x_64 = lean_ctor_get(x_50, 1); -x_65 = lean_ctor_get(x_50, 2); -x_66 = lean_ctor_get(x_50, 3); -x_67 = lean_ctor_get(x_50, 4); -x_68 = lean_ctor_get(x_50, 5); -x_69 = lean_ctor_get(x_50, 6); -x_70 = lean_ctor_get(x_50, 7); -x_71 = lean_ctor_get(x_50, 8); -x_72 = lean_ctor_get(x_50, 9); -x_73 = lean_ctor_get(x_50, 10); -x_74 = lean_ctor_get(x_50, 11); -x_75 = lean_ctor_get_uint8(x_50, sizeof(void*)*14); -x_76 = lean_ctor_get(x_50, 12); -x_77 = lean_ctor_get_uint8(x_50, sizeof(void*)*14 + 1); -x_78 = lean_ctor_get(x_50, 13); -lean_inc(x_78); -lean_inc(x_76); -lean_inc(x_74); -lean_inc(x_73); -lean_inc(x_72); -lean_inc(x_71); -lean_inc(x_70); -lean_inc(x_69); +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; +x_60 = lean_ctor_get(x_50, 0); +x_61 = lean_ctor_get(x_50, 1); +x_62 = lean_ctor_get(x_13, 0); +x_63 = lean_ctor_get(x_13, 1); +x_64 = lean_ctor_get(x_13, 2); +x_65 = lean_ctor_get(x_13, 3); +x_66 = lean_ctor_get(x_13, 4); +x_67 = lean_ctor_get(x_13, 5); +x_68 = lean_ctor_get(x_13, 6); lean_inc(x_68); lean_inc(x_67); lean_inc(x_66); lean_inc(x_65); lean_inc(x_64); lean_inc(x_63); +lean_inc(x_62); +lean_dec(x_13); +x_69 = l_Lean_Meta_Grind_CasesTypes_insert(x_65, x_49, x_19); +x_70 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_70, 0, x_62); +lean_ctor_set(x_70, 1, x_63); +lean_ctor_set(x_70, 2, x_64); +lean_ctor_set(x_70, 3, x_69); +lean_ctor_set(x_70, 4, x_66); +lean_ctor_set(x_70, 5, x_67); +lean_ctor_set(x_70, 6, x_68); +if (lean_obj_tag(x_60) == 0) +{ +lean_dec(x_17); +lean_dec_ref(x_16); +lean_dec(x_15); +lean_dec_ref(x_14); +lean_ctor_set(x_50, 0, x_70); +return x_50; +} +else +{ +lean_object* x_71; lean_object* x_72; lean_object* x_73; +lean_free_object(x_50); +x_71 = lean_ctor_get(x_60, 0); +lean_inc(x_71); +lean_dec_ref(x_60); +x_72 = lean_ctor_get(x_71, 4); +lean_inc(x_72); +lean_dec(x_71); +x_73 = l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0___redArg(x_3, x_19, x_6, x_72, x_70, x_14, x_15, x_16, x_17, x_61); +lean_dec_ref(x_16); +return x_73; +} +} +} +else +{ +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_74 = lean_ctor_get(x_50, 0); +x_75 = lean_ctor_get(x_50, 1); +lean_inc(x_75); +lean_inc(x_74); lean_dec(x_50); -x_79 = lean_alloc_ctor(8, 0, 1); -lean_ctor_set_uint8(x_79, 0, x_45); -x_80 = l_Lean_replaceRef(x_30, x_68); -lean_dec(x_68); -lean_dec(x_30); -x_81 = lean_alloc_ctor(0, 14, 2); -lean_ctor_set(x_81, 0, x_63); -lean_ctor_set(x_81, 1, x_64); -lean_ctor_set(x_81, 2, x_65); -lean_ctor_set(x_81, 3, x_66); -lean_ctor_set(x_81, 4, x_67); -lean_ctor_set(x_81, 5, x_80); -lean_ctor_set(x_81, 6, x_69); -lean_ctor_set(x_81, 7, x_70); -lean_ctor_set(x_81, 8, x_71); -lean_ctor_set(x_81, 9, x_72); -lean_ctor_set(x_81, 10, x_73); -lean_ctor_set(x_81, 11, x_74); -lean_ctor_set(x_81, 12, x_76); -lean_ctor_set(x_81, 13, x_78); -lean_ctor_set_uint8(x_81, sizeof(void*)*14, x_75); -lean_ctor_set_uint8(x_81, sizeof(void*)*14 + 1, x_77); -x_82 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_47, x_46, x_79, x_48, x_49, x_81, x_51, x_55); -if (lean_obj_tag(x_82) == 0) +x_76 = lean_ctor_get(x_13, 0); +lean_inc_ref(x_76); +x_77 = lean_ctor_get(x_13, 1); +lean_inc_ref(x_77); +x_78 = lean_ctor_get(x_13, 2); +lean_inc_ref(x_78); +x_79 = lean_ctor_get(x_13, 3); +lean_inc_ref(x_79); +x_80 = lean_ctor_get(x_13, 4); +lean_inc_ref(x_80); +x_81 = lean_ctor_get(x_13, 5); +lean_inc_ref(x_81); +x_82 = lean_ctor_get(x_13, 6); +lean_inc_ref(x_82); +if (lean_is_exclusive(x_13)) { + lean_ctor_release(x_13, 0); + lean_ctor_release(x_13, 1); + lean_ctor_release(x_13, 2); + lean_ctor_release(x_13, 3); + lean_ctor_release(x_13, 4); + lean_ctor_release(x_13, 5); + lean_ctor_release(x_13, 6); + x_83 = x_13; +} else { + lean_dec_ref(x_13); + x_83 = lean_box(0); +} +x_84 = l_Lean_Meta_Grind_CasesTypes_insert(x_79, x_49, x_19); +if (lean_is_scalar(x_83)) { + x_85 = lean_alloc_ctor(0, 7, 0); +} else { + x_85 = x_83; +} +lean_ctor_set(x_85, 0, x_76); +lean_ctor_set(x_85, 1, x_77); +lean_ctor_set(x_85, 2, x_78); +lean_ctor_set(x_85, 3, x_84); +lean_ctor_set(x_85, 4, x_80); +lean_ctor_set(x_85, 5, x_81); +lean_ctor_set(x_85, 6, x_82); +if (lean_obj_tag(x_74) == 0) { -lean_object* x_83; lean_object* x_84; -x_83 = lean_ctor_get(x_82, 0); -lean_inc(x_83); -x_84 = lean_ctor_get(x_82, 1); -lean_inc(x_84); -lean_dec_ref(x_82); -x_11 = x_83; -x_12 = x_84; -goto block_16; +lean_object* x_86; +lean_dec(x_17); +lean_dec_ref(x_16); +lean_dec(x_15); +lean_dec_ref(x_14); +x_86 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_86, 0, x_85); +lean_ctor_set(x_86, 1, x_75); +return x_86; } else { -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -return x_82; -} -} -} -else -{ -lean_object* x_85; lean_object* x_86; lean_object* x_87; -lean_dec(x_46); -x_85 = lean_ctor_get(x_53, 1); -lean_inc(x_85); -lean_dec_ref(x_53); -x_86 = lean_ctor_get(x_54, 0); -lean_inc(x_86); -lean_dec_ref(x_54); -lean_inc(x_51); -lean_inc_ref(x_50); -lean_inc(x_49); -lean_inc_ref(x_48); -lean_inc(x_86); -x_87 = l_Lean_Meta_isInductivePredicate_x3f(x_86, x_48, x_49, x_50, x_51, x_85); -if (lean_obj_tag(x_87) == 0) -{ -lean_object* x_88; lean_object* x_89; uint8_t x_90; -x_88 = lean_ctor_get(x_87, 0); +lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_87 = lean_ctor_get(x_74, 0); +lean_inc(x_87); +lean_dec_ref(x_74); +x_88 = lean_ctor_get(x_87, 4); lean_inc(x_88); -x_89 = lean_ctor_get(x_87, 1); -lean_inc(x_89); -lean_dec_ref(x_87); -x_90 = !lean_is_exclusive(x_47); +lean_dec(x_87); +x_89 = l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0___redArg(x_3, x_19, x_6, x_88, x_85, x_14, x_15, x_16, x_17, x_75); +lean_dec_ref(x_16); +return x_89; +} +} +} +else +{ +uint8_t x_90; +lean_dec(x_49); +lean_dec(x_17); +lean_dec_ref(x_16); +lean_dec(x_15); +lean_dec_ref(x_14); +lean_dec_ref(x_13); +x_90 = !lean_is_exclusive(x_50); if (x_90 == 0) { -lean_object* x_91; lean_object* x_92; -x_91 = lean_ctor_get(x_47, 3); -x_92 = l_Lean_Meta_Grind_CasesTypes_insert(x_91, x_86, x_45); -lean_ctor_set(x_47, 3, x_92); -if (lean_obj_tag(x_88) == 0) -{ -lean_dec(x_51); -lean_dec_ref(x_50); -lean_dec(x_49); -lean_dec_ref(x_48); -lean_dec(x_30); -x_11 = x_47; -x_12 = x_89; -goto block_16; +return x_50; } else { -lean_object* x_93; lean_object* x_94; lean_object* x_95; -x_93 = lean_ctor_get(x_88, 0); -lean_inc(x_93); -lean_dec_ref(x_88); -x_94 = lean_ctor_get(x_93, 4); -lean_inc(x_94); -lean_dec(x_93); -x_95 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___redArg(x_30, x_45, x_94, x_47, x_48, x_49, x_50, x_51, x_89); -lean_dec_ref(x_50); -lean_dec(x_30); -if (lean_obj_tag(x_95) == 0) +lean_object* x_91; lean_object* x_92; lean_object* x_93; +x_91 = lean_ctor_get(x_50, 0); +x_92 = lean_ctor_get(x_50, 1); +lean_inc(x_92); +lean_inc(x_91); +lean_dec(x_50); +x_93 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_93, 0, x_91); +lean_ctor_set(x_93, 1, x_92); +return x_93; +} +} +} +} +else { -lean_object* x_96; lean_object* x_97; -x_96 = lean_ctor_get(x_95, 0); +uint8_t x_94; +lean_dec(x_17); +lean_dec_ref(x_16); +lean_dec(x_15); +lean_dec_ref(x_14); +lean_dec_ref(x_13); +lean_dec(x_12); +x_94 = !lean_is_exclusive(x_20); +if (x_94 == 0) +{ +return x_20; +} +else +{ +lean_object* x_95; lean_object* x_96; lean_object* x_97; +x_95 = lean_ctor_get(x_20, 0); +x_96 = lean_ctor_get(x_20, 1); lean_inc(x_96); -x_97 = lean_ctor_get(x_95, 1); -lean_inc(x_97); -lean_dec_ref(x_95); -x_11 = x_96; -x_12 = x_97; -goto block_16; +lean_inc(x_95); +lean_dec(x_20); +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; } -else +} +} +block_137: { -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -return x_95; -} -} -} -else +lean_object* x_107; +x_107 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable(x_6, x_102, x_103, x_104, x_105, x_106); +if (lean_obj_tag(x_107) == 0) { -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_98 = lean_ctor_get(x_47, 0); -x_99 = lean_ctor_get(x_47, 1); -x_100 = lean_ctor_get(x_47, 2); -x_101 = lean_ctor_get(x_47, 3); -x_102 = lean_ctor_get(x_47, 4); -x_103 = lean_ctor_get(x_47, 5); -x_104 = lean_ctor_get(x_47, 6); -lean_inc(x_104); -lean_inc(x_103); -lean_inc(x_102); -lean_inc(x_101); -lean_inc(x_100); -lean_inc(x_99); -lean_inc(x_98); -lean_dec(x_47); -x_105 = l_Lean_Meta_Grind_CasesTypes_insert(x_101, x_86, x_45); -x_106 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_106, 0, x_98); -lean_ctor_set(x_106, 1, x_99); -lean_ctor_set(x_106, 2, x_100); -lean_ctor_set(x_106, 3, x_105); -lean_ctor_set(x_106, 4, x_102); -lean_ctor_set(x_106, 5, x_103); -lean_ctor_set(x_106, 6, x_104); -if (lean_obj_tag(x_88) == 0) -{ -lean_dec(x_51); -lean_dec_ref(x_50); -lean_dec(x_49); -lean_dec_ref(x_48); -lean_dec(x_30); -x_11 = x_106; -x_12 = x_89; -goto block_16; -} -else -{ -lean_object* x_107; lean_object* x_108; lean_object* x_109; -x_107 = lean_ctor_get(x_88, 0); -lean_inc(x_107); -lean_dec_ref(x_88); -x_108 = lean_ctor_get(x_107, 4); +lean_object* x_108; lean_object* x_109; +x_108 = lean_ctor_get(x_107, 1); lean_inc(x_108); -lean_dec(x_107); -x_109 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___redArg(x_30, x_45, x_108, x_106, x_48, x_49, x_50, x_51, x_89); -lean_dec_ref(x_50); -lean_dec(x_30); +lean_dec_ref(x_107); +x_109 = l_Lean_Meta_Grind_getEMatchTheorems___redArg(x_105, x_108); if (lean_obj_tag(x_109) == 0) { -lean_object* x_110; lean_object* x_111; +lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; uint8_t x_116; x_110 = lean_ctor_get(x_109, 0); lean_inc(x_110); x_111 = lean_ctor_get(x_109, 1); lean_inc(x_111); lean_dec_ref(x_109); -x_11 = x_110; -x_12 = x_111; -goto block_16; -} -else -{ -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -return x_109; -} -} -} -} -else -{ -uint8_t x_112; -lean_dec(x_86); -lean_dec(x_51); -lean_dec_ref(x_50); -lean_dec(x_49); -lean_dec_ref(x_48); -lean_dec_ref(x_47); -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_112 = !lean_is_exclusive(x_87); -if (x_112 == 0) -{ -return x_87; -} -else -{ -lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_113 = lean_ctor_get(x_87, 0); -x_114 = lean_ctor_get(x_87, 1); -lean_inc(x_114); -lean_inc(x_113); -lean_dec(x_87); -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_116; -lean_dec(x_51); -lean_dec_ref(x_50); -lean_dec(x_49); -lean_dec_ref(x_48); -lean_dec_ref(x_47); -lean_dec(x_46); -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_116 = !lean_is_exclusive(x_53); +lean_inc(x_100); +x_112 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_112, 0, x_100); +x_113 = l_Lean_Meta_Grind_EMatchTheorems_find(x_110, x_112); +lean_dec_ref(x_112); +x_114 = lean_box(0); +x_115 = l_List_filterTR_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__1(x_99, x_113, x_114); +lean_dec(x_99); +x_116 = l_List_isEmpty___redArg(x_115); if (x_116 == 0) { -return x_53; +lean_object* x_117; +lean_dec(x_105); +lean_dec_ref(x_104); +lean_dec(x_103); +lean_dec_ref(x_102); +lean_dec(x_100); +x_117 = l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__2___redArg(x_115, x_101, x_111); +return x_117; } else { -lean_object* x_117; lean_object* x_118; lean_object* x_119; -x_117 = lean_ctor_get(x_53, 0); -x_118 = lean_ctor_get(x_53, 1); -lean_inc(x_118); -lean_inc(x_117); -lean_dec(x_53); -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; -} -} -} -block_151: +lean_object* x_118; uint8_t x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; uint8_t x_125; +lean_dec(x_115); +lean_dec_ref(x_101); +x_118 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__2; +x_119 = 0; +x_120 = l_Lean_MessageData_ofConstName(x_100, x_119); +x_121 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_121, 0, x_118); +lean_ctor_set(x_121, 1, x_120); +x_122 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__4; +x_123 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_123, 0, x_121); +lean_ctor_set(x_123, 1, x_122); +x_124 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0_spec__0_spec__0_spec__0_spec__1___redArg(x_3, x_123, x_102, x_103, x_104, x_105, x_111); +lean_dec(x_105); +lean_dec(x_103); +lean_dec_ref(x_102); +x_125 = !lean_is_exclusive(x_124); +if (x_125 == 0) { -lean_object* x_129; -x_129 = l_Lean_Meta_Grind_getEMatchTheorems___redArg(x_127, x_128); -if (lean_obj_tag(x_129) == 0) +return x_124; +} +else { -lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136; -x_130 = lean_ctor_get(x_129, 0); -lean_inc(x_130); -x_131 = lean_ctor_get(x_129, 1); +lean_object* x_126; lean_object* x_127; lean_object* x_128; +x_126 = lean_ctor_get(x_124, 0); +x_127 = lean_ctor_get(x_124, 1); +lean_inc(x_127); +lean_inc(x_126); +lean_dec(x_124); +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; +lean_dec(x_105); +lean_dec_ref(x_104); +lean_dec(x_103); +lean_dec_ref(x_102); +lean_dec_ref(x_101); +lean_dec(x_100); +lean_dec(x_99); +x_129 = !lean_is_exclusive(x_109); +if (x_129 == 0) +{ +return x_109; +} +else +{ +lean_object* x_130; lean_object* x_131; lean_object* x_132; +x_130 = lean_ctor_get(x_109, 0); +x_131 = lean_ctor_get(x_109, 1); lean_inc(x_131); -lean_dec_ref(x_129); -lean_inc(x_122); -x_132 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_132, 0, x_122); -x_133 = l_Lean_Meta_Grind_EMatchTheorems_find(x_130, x_132); -lean_dec_ref(x_132); -x_134 = lean_box(0); -x_135 = l_List_filterTR_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__1(x_121, x_133, x_134); -lean_dec(x_121); -x_136 = l_List_isEmpty___redArg(x_135); -if (x_136 == 0) -{ -lean_dec(x_122); -lean_dec(x_30); -x_17 = x_135; -x_18 = x_123; -x_19 = x_124; -x_20 = x_125; -x_21 = x_126; -x_22 = x_127; -x_23 = x_131; -goto block_27; +lean_inc(x_130); +lean_dec(x_109); +x_132 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_132, 0, x_130); +lean_ctor_set(x_132, 1, x_131); +return x_132; +} +} } else { -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; -lean_dec(x_135); -lean_dec_ref(x_123); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_137 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__7; -x_138 = l_Lean_MessageData_ofConstName(x_122, x_45); -x_139 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_139, 0, x_137); -lean_ctor_set(x_139, 1, x_138); -x_140 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__9; -x_141 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_141, 0, x_139); -lean_ctor_set(x_141, 1, x_140); -x_142 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2___redArg(x_30, x_141, x_124, x_125, x_126, x_127, x_131); -lean_dec(x_127); -lean_dec(x_125); -lean_dec_ref(x_124); -lean_dec(x_30); -x_143 = !lean_is_exclusive(x_142); -if (x_143 == 0) +uint8_t x_133; +lean_dec(x_105); +lean_dec_ref(x_104); +lean_dec(x_103); +lean_dec_ref(x_102); +lean_dec_ref(x_101); +lean_dec(x_100); +lean_dec(x_99); +x_133 = !lean_is_exclusive(x_107); +if (x_133 == 0) { -return x_142; +return x_107; } else { -lean_object* x_144; lean_object* x_145; lean_object* x_146; -x_144 = lean_ctor_get(x_142, 0); -x_145 = lean_ctor_get(x_142, 1); +lean_object* x_134; lean_object* x_135; lean_object* x_136; +x_134 = lean_ctor_get(x_107, 0); +x_135 = lean_ctor_get(x_107, 1); +lean_inc(x_135); +lean_inc(x_134); +lean_dec(x_107); +x_136 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_136, 0, x_134); +lean_ctor_set(x_136, 1, x_135); +return x_136; +} +} +} +block_347: +{ +if (lean_obj_tag(x_138) == 0) +{ +if (lean_obj_tag(x_4) == 0) +{ +lean_object* x_139; lean_object* x_140; +x_139 = lean_ctor_get(x_138, 0); +lean_inc(x_139); +x_140 = lean_ctor_get(x_138, 1); +lean_inc(x_140); +lean_dec_ref(x_138); +x_12 = x_139; +x_13 = x_2; +x_14 = x_7; +x_15 = x_8; +x_16 = x_9; +x_17 = x_10; +x_18 = x_140; +goto block_98; +} +else +{ +lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; +x_141 = lean_ctor_get(x_138, 0); +lean_inc(x_141); +x_142 = lean_ctor_get(x_138, 1); +lean_inc(x_142); +lean_dec_ref(x_138); +x_143 = lean_ctor_get(x_4, 0); +lean_inc(x_143); +lean_dec_ref(x_4); +lean_inc_ref(x_9); +x_144 = l_Lean_Meta_Grind_getAttrKindCore(x_143, x_9, x_10, x_142); +if (lean_obj_tag(x_144) == 0) +{ +lean_object* x_145; +x_145 = lean_ctor_get(x_144, 0); lean_inc(x_145); -lean_inc(x_144); -lean_dec(x_142); -x_146 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_146, 0, x_144); -lean_ctor_set(x_146, 1, x_145); -return x_146; -} -} -} -else -{ -uint8_t x_147; -lean_dec(x_127); -lean_dec_ref(x_126); -lean_dec(x_125); -lean_dec_ref(x_124); -lean_dec_ref(x_123); -lean_dec(x_122); -lean_dec(x_121); -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_147 = !lean_is_exclusive(x_129); -if (x_147 == 0) -{ -return x_129; -} -else -{ -lean_object* x_148; lean_object* x_149; lean_object* x_150; -x_148 = lean_ctor_get(x_129, 0); -x_149 = lean_ctor_get(x_129, 1); -lean_inc(x_149); -lean_inc(x_148); -lean_dec(x_129); -x_150 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_150, 0, x_148); -lean_ctor_set(x_150, 1, x_149); -return x_150; -} -} -} -block_331: -{ -if (lean_obj_tag(x_157) == 0) -{ -if (lean_obj_tag(x_152) == 0) -{ -lean_object* x_158; lean_object* x_159; -x_158 = lean_ctor_get(x_157, 0); -lean_inc(x_158); -x_159 = lean_ctor_get(x_157, 1); -lean_inc(x_159); -lean_dec_ref(x_157); -x_46 = x_158; -x_47 = x_5; -x_48 = x_155; -x_49 = x_156; -x_50 = x_153; -x_51 = x_154; -x_52 = x_159; -goto block_120; -} -else -{ -lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; -x_160 = lean_ctor_get(x_157, 0); -lean_inc(x_160); -x_161 = lean_ctor_get(x_157, 1); -lean_inc(x_161); -lean_dec_ref(x_157); -x_162 = lean_ctor_get(x_152, 0); -lean_inc(x_162); -lean_dec_ref(x_152); -lean_inc_ref(x_153); -x_163 = l_Lean_Meta_Grind_getAttrKindCore(x_162, x_153, x_154, x_161); -if (lean_obj_tag(x_163) == 0) -{ -lean_object* x_164; -x_164 = lean_ctor_get(x_163, 0); -lean_inc(x_164); -switch (lean_obj_tag(x_164)) { +switch (lean_obj_tag(x_145)) { case 0: { -lean_object* x_165; -x_165 = lean_ctor_get(x_164, 0); -lean_inc(x_165); -lean_dec_ref(x_164); -if (lean_obj_tag(x_165) == 9) +lean_object* x_146; +x_146 = lean_ctor_get(x_145, 0); +lean_inc(x_146); +lean_dec_ref(x_145); +if (lean_obj_tag(x_146) == 9) { if (x_1 == 0) { -lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; uint8_t x_179; lean_object* x_180; uint8_t x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; -x_166 = lean_ctor_get(x_163, 1); -lean_inc(x_166); -lean_dec_ref(x_163); -x_167 = lean_ctor_get(x_153, 0); -x_168 = lean_ctor_get(x_153, 1); -x_169 = lean_ctor_get(x_153, 2); -x_170 = lean_ctor_get(x_153, 3); -x_171 = lean_ctor_get(x_153, 4); -x_172 = lean_ctor_get(x_153, 5); -x_173 = lean_ctor_get(x_153, 6); -x_174 = lean_ctor_get(x_153, 7); -x_175 = lean_ctor_get(x_153, 8); -x_176 = lean_ctor_get(x_153, 9); -x_177 = lean_ctor_get(x_153, 10); -x_178 = lean_ctor_get(x_153, 11); -x_179 = lean_ctor_get_uint8(x_153, sizeof(void*)*14); -x_180 = lean_ctor_get(x_153, 12); -x_181 = lean_ctor_get_uint8(x_153, sizeof(void*)*14 + 1); -x_182 = lean_ctor_get(x_153, 13); -x_183 = l_Lean_replaceRef(x_30, x_172); -lean_inc_ref(x_182); -lean_inc(x_180); -lean_inc(x_178); -lean_inc(x_177); -lean_inc(x_176); -lean_inc(x_175); -lean_inc(x_174); -lean_inc(x_173); -lean_inc(x_171); +lean_object* x_147; 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; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; uint8_t x_160; lean_object* x_161; uint8_t x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; +x_147 = lean_ctor_get(x_144, 1); +lean_inc(x_147); +lean_dec_ref(x_144); +x_148 = lean_ctor_get(x_9, 0); +x_149 = lean_ctor_get(x_9, 1); +x_150 = lean_ctor_get(x_9, 2); +x_151 = lean_ctor_get(x_9, 3); +x_152 = lean_ctor_get(x_9, 4); +x_153 = lean_ctor_get(x_9, 5); +x_154 = lean_ctor_get(x_9, 6); +x_155 = lean_ctor_get(x_9, 7); +x_156 = lean_ctor_get(x_9, 8); +x_157 = lean_ctor_get(x_9, 9); +x_158 = lean_ctor_get(x_9, 10); +x_159 = lean_ctor_get(x_9, 11); +x_160 = lean_ctor_get_uint8(x_9, sizeof(void*)*14); +x_161 = lean_ctor_get(x_9, 12); +x_162 = lean_ctor_get_uint8(x_9, sizeof(void*)*14 + 1); +x_163 = lean_ctor_get(x_9, 13); +x_164 = l_Lean_replaceRef(x_3, x_153); +lean_inc_ref(x_163); +lean_inc(x_161); +lean_inc(x_159); +lean_inc(x_158); +lean_inc(x_157); +lean_inc(x_156); +lean_inc(x_155); +lean_inc(x_154); +lean_inc(x_152); +lean_inc(x_151); +lean_inc(x_150); +lean_inc_ref(x_149); +lean_inc_ref(x_148); +x_165 = lean_alloc_ctor(0, 14, 2); +lean_ctor_set(x_165, 0, x_148); +lean_ctor_set(x_165, 1, x_149); +lean_ctor_set(x_165, 2, x_150); +lean_ctor_set(x_165, 3, x_151); +lean_ctor_set(x_165, 4, x_152); +lean_ctor_set(x_165, 5, x_164); +lean_ctor_set(x_165, 6, x_154); +lean_ctor_set(x_165, 7, x_155); +lean_ctor_set(x_165, 8, x_156); +lean_ctor_set(x_165, 9, x_157); +lean_ctor_set(x_165, 10, x_158); +lean_ctor_set(x_165, 11, x_159); +lean_ctor_set(x_165, 12, x_161); +lean_ctor_set(x_165, 13, x_163); +lean_ctor_set_uint8(x_165, sizeof(void*)*14, x_160); +lean_ctor_set_uint8(x_165, sizeof(void*)*14 + 1, x_162); +x_166 = l_Lean_Meta_Grind_throwInvalidUsrModifier___redArg(x_165, x_10, x_147); +lean_dec_ref(x_165); +if (lean_obj_tag(x_166) == 0) +{ +lean_object* x_167; +x_167 = lean_ctor_get(x_166, 1); +lean_inc(x_167); +lean_dec_ref(x_166); +x_99 = x_146; +x_100 = x_141; +x_101 = x_2; +x_102 = x_7; +x_103 = x_8; +x_104 = x_9; +x_105 = x_10; +x_106 = x_167; +goto block_137; +} +else +{ +uint8_t x_168; +lean_dec(x_141); +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec_ref(x_2); +x_168 = !lean_is_exclusive(x_166); +if (x_168 == 0) +{ +return x_166; +} +else +{ +lean_object* x_169; lean_object* x_170; lean_object* x_171; +x_169 = lean_ctor_get(x_166, 0); +x_170 = lean_ctor_get(x_166, 1); lean_inc(x_170); lean_inc(x_169); -lean_inc_ref(x_168); -lean_inc_ref(x_167); -x_184 = lean_alloc_ctor(0, 14, 2); -lean_ctor_set(x_184, 0, x_167); -lean_ctor_set(x_184, 1, x_168); -lean_ctor_set(x_184, 2, x_169); -lean_ctor_set(x_184, 3, x_170); -lean_ctor_set(x_184, 4, x_171); -lean_ctor_set(x_184, 5, x_183); -lean_ctor_set(x_184, 6, x_173); -lean_ctor_set(x_184, 7, x_174); -lean_ctor_set(x_184, 8, x_175); -lean_ctor_set(x_184, 9, x_176); -lean_ctor_set(x_184, 10, x_177); -lean_ctor_set(x_184, 11, x_178); -lean_ctor_set(x_184, 12, x_180); -lean_ctor_set(x_184, 13, x_182); -lean_ctor_set_uint8(x_184, sizeof(void*)*14, x_179); -lean_ctor_set_uint8(x_184, sizeof(void*)*14 + 1, x_181); -x_185 = l_Lean_Meta_Grind_throwInvalidUsrModifier___redArg(x_184, x_154, x_166); -lean_dec_ref(x_184); -if (lean_obj_tag(x_185) == 0) -{ -lean_object* x_186; -x_186 = lean_ctor_get(x_185, 1); -lean_inc(x_186); -lean_dec_ref(x_185); -x_121 = x_165; -x_122 = x_160; -x_123 = x_5; -x_124 = x_155; -x_125 = x_156; -x_126 = x_153; -x_127 = x_154; -x_128 = x_186; -goto block_151; +lean_dec(x_166); +x_171 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_171, 0, x_169); +lean_ctor_set(x_171, 1, x_170); +return x_171; +} +} } else { -uint8_t x_187; -lean_dec(x_160); -lean_dec(x_156); -lean_dec_ref(x_155); -lean_dec(x_154); -lean_dec_ref(x_153); -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_187 = !lean_is_exclusive(x_185); -if (x_187 == 0) -{ -return x_185; +lean_object* x_172; +x_172 = lean_ctor_get(x_144, 1); +lean_inc(x_172); +lean_dec_ref(x_144); +x_99 = x_146; +x_100 = x_141; +x_101 = x_2; +x_102 = x_7; +x_103 = x_8; +x_104 = x_9; +x_105 = x_10; +x_106 = x_172; +goto block_137; +} } else { -lean_object* x_188; lean_object* x_189; lean_object* x_190; -x_188 = lean_ctor_get(x_185, 0); -x_189 = lean_ctor_get(x_185, 1); +lean_object* x_173; uint8_t x_174; +x_173 = lean_ctor_get(x_144, 1); +lean_inc(x_173); +lean_dec_ref(x_144); +x_174 = !lean_is_exclusive(x_9); +if (x_174 == 0) +{ +lean_object* x_175; lean_object* x_176; lean_object* x_177; +x_175 = lean_ctor_get(x_9, 5); +x_176 = l_Lean_replaceRef(x_3, x_175); +lean_dec(x_175); +lean_ctor_set(x_9, 5, x_176); +x_177 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_2, x_141, x_146, x_6, x_7, x_8, x_9, x_10, x_173); +return x_177; +} +else +{ +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_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; uint8_t x_190; lean_object* x_191; uint8_t x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; +x_178 = lean_ctor_get(x_9, 0); +x_179 = lean_ctor_get(x_9, 1); +x_180 = lean_ctor_get(x_9, 2); +x_181 = lean_ctor_get(x_9, 3); +x_182 = lean_ctor_get(x_9, 4); +x_183 = lean_ctor_get(x_9, 5); +x_184 = lean_ctor_get(x_9, 6); +x_185 = lean_ctor_get(x_9, 7); +x_186 = lean_ctor_get(x_9, 8); +x_187 = lean_ctor_get(x_9, 9); +x_188 = lean_ctor_get(x_9, 10); +x_189 = lean_ctor_get(x_9, 11); +x_190 = lean_ctor_get_uint8(x_9, sizeof(void*)*14); +x_191 = lean_ctor_get(x_9, 12); +x_192 = lean_ctor_get_uint8(x_9, sizeof(void*)*14 + 1); +x_193 = lean_ctor_get(x_9, 13); +lean_inc(x_193); +lean_inc(x_191); lean_inc(x_189); lean_inc(x_188); -lean_dec(x_185); -x_190 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_190, 0, x_188); -lean_ctor_set(x_190, 1, x_189); -return x_190; -} -} -} -else -{ -lean_object* x_191; -x_191 = lean_ctor_get(x_163, 1); -lean_inc(x_191); -lean_dec_ref(x_163); -x_121 = x_165; -x_122 = x_160; -x_123 = x_5; -x_124 = x_155; -x_125 = x_156; -x_126 = x_153; -x_127 = x_154; -x_128 = x_191; -goto block_151; -} -} -else -{ -lean_object* x_192; uint8_t x_193; -x_192 = lean_ctor_get(x_163, 1); -lean_inc(x_192); -lean_dec_ref(x_163); -x_193 = !lean_is_exclusive(x_153); -if (x_193 == 0) -{ -lean_object* x_194; lean_object* x_195; lean_object* x_196; -x_194 = lean_ctor_get(x_153, 5); -x_195 = l_Lean_replaceRef(x_30, x_194); -lean_dec(x_194); -lean_dec(x_30); -lean_ctor_set(x_153, 5, x_195); -x_196 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_5, x_160, x_165, x_155, x_156, x_153, x_154, x_192); -if (lean_obj_tag(x_196) == 0) -{ -lean_object* x_197; lean_object* x_198; -x_197 = lean_ctor_get(x_196, 0); -lean_inc(x_197); -x_198 = lean_ctor_get(x_196, 1); -lean_inc(x_198); -lean_dec_ref(x_196); -x_11 = x_197; -x_12 = x_198; -goto block_16; -} -else -{ +lean_inc(x_187); +lean_inc(x_186); +lean_inc(x_185); +lean_inc(x_184); +lean_inc(x_183); +lean_inc(x_182); +lean_inc(x_181); +lean_inc(x_180); +lean_inc(x_179); +lean_inc(x_178); lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); +x_194 = l_Lean_replaceRef(x_3, x_183); +lean_dec(x_183); +x_195 = lean_alloc_ctor(0, 14, 2); +lean_ctor_set(x_195, 0, x_178); +lean_ctor_set(x_195, 1, x_179); +lean_ctor_set(x_195, 2, x_180); +lean_ctor_set(x_195, 3, x_181); +lean_ctor_set(x_195, 4, x_182); +lean_ctor_set(x_195, 5, x_194); +lean_ctor_set(x_195, 6, x_184); +lean_ctor_set(x_195, 7, x_185); +lean_ctor_set(x_195, 8, x_186); +lean_ctor_set(x_195, 9, x_187); +lean_ctor_set(x_195, 10, x_188); +lean_ctor_set(x_195, 11, x_189); +lean_ctor_set(x_195, 12, x_191); +lean_ctor_set(x_195, 13, x_193); +lean_ctor_set_uint8(x_195, sizeof(void*)*14, x_190); +lean_ctor_set_uint8(x_195, sizeof(void*)*14 + 1, x_192); +x_196 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_2, x_141, x_146, x_6, x_7, x_8, x_195, x_10, x_173); return x_196; } } -else -{ -lean_object* x_199; lean_object* x_200; 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; uint8_t x_211; lean_object* x_212; uint8_t x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; -x_199 = lean_ctor_get(x_153, 0); -x_200 = lean_ctor_get(x_153, 1); -x_201 = lean_ctor_get(x_153, 2); -x_202 = lean_ctor_get(x_153, 3); -x_203 = lean_ctor_get(x_153, 4); -x_204 = lean_ctor_get(x_153, 5); -x_205 = lean_ctor_get(x_153, 6); -x_206 = lean_ctor_get(x_153, 7); -x_207 = lean_ctor_get(x_153, 8); -x_208 = lean_ctor_get(x_153, 9); -x_209 = lean_ctor_get(x_153, 10); -x_210 = lean_ctor_get(x_153, 11); -x_211 = lean_ctor_get_uint8(x_153, sizeof(void*)*14); -x_212 = lean_ctor_get(x_153, 12); -x_213 = lean_ctor_get_uint8(x_153, sizeof(void*)*14 + 1); -x_214 = lean_ctor_get(x_153, 13); -lean_inc(x_214); -lean_inc(x_212); -lean_inc(x_210); -lean_inc(x_209); -lean_inc(x_208); -lean_inc(x_207); -lean_inc(x_206); -lean_inc(x_205); -lean_inc(x_204); -lean_inc(x_203); -lean_inc(x_202); -lean_inc(x_201); -lean_inc(x_200); -lean_inc(x_199); -lean_dec(x_153); -x_215 = l_Lean_replaceRef(x_30, x_204); -lean_dec(x_204); -lean_dec(x_30); -x_216 = lean_alloc_ctor(0, 14, 2); -lean_ctor_set(x_216, 0, x_199); -lean_ctor_set(x_216, 1, x_200); -lean_ctor_set(x_216, 2, x_201); -lean_ctor_set(x_216, 3, x_202); -lean_ctor_set(x_216, 4, x_203); -lean_ctor_set(x_216, 5, x_215); -lean_ctor_set(x_216, 6, x_205); -lean_ctor_set(x_216, 7, x_206); -lean_ctor_set(x_216, 8, x_207); -lean_ctor_set(x_216, 9, x_208); -lean_ctor_set(x_216, 10, x_209); -lean_ctor_set(x_216, 11, x_210); -lean_ctor_set(x_216, 12, x_212); -lean_ctor_set(x_216, 13, x_214); -lean_ctor_set_uint8(x_216, sizeof(void*)*14, x_211); -lean_ctor_set_uint8(x_216, sizeof(void*)*14 + 1, x_213); -x_217 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_5, x_160, x_165, x_155, x_156, x_216, x_154, x_192); -if (lean_obj_tag(x_217) == 0) -{ -lean_object* x_218; lean_object* x_219; -x_218 = lean_ctor_get(x_217, 0); -lean_inc(x_218); -x_219 = lean_ctor_get(x_217, 1); -lean_inc(x_219); -lean_dec_ref(x_217); -x_11 = x_218; -x_12 = x_219; -goto block_16; -} -else -{ -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -return x_217; -} -} -} } case 1: { -lean_object* x_220; uint8_t x_221; uint8_t x_222; -lean_dec(x_156); -lean_dec_ref(x_155); -x_220 = lean_ctor_get(x_163, 1); -lean_inc(x_220); -lean_dec_ref(x_163); -x_221 = lean_ctor_get_uint8(x_164, 0); -lean_dec_ref(x_164); -x_222 = !lean_is_exclusive(x_153); -if (x_222 == 0) +lean_object* x_197; uint8_t x_198; lean_object* x_199; +x_197 = lean_ctor_get(x_144, 1); +lean_inc(x_197); +lean_dec_ref(x_144); +x_198 = lean_ctor_get_uint8(x_145, 0); +lean_dec_ref(x_145); +x_199 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable(x_6, x_7, x_8, x_9, x_10, x_197); +lean_dec(x_8); +lean_dec_ref(x_7); +if (lean_obj_tag(x_199) == 0) { -lean_object* x_223; lean_object* x_224; lean_object* x_225; -x_223 = lean_ctor_get(x_153, 5); -x_224 = l_Lean_replaceRef(x_30, x_223); -lean_dec(x_223); -lean_dec(x_30); -lean_ctor_set(x_153, 5, x_224); -lean_inc(x_160); -x_225 = l_Lean_Meta_Grind_validateCasesAttr(x_160, x_221, x_153, x_154, x_220); -if (lean_obj_tag(x_225) == 0) +lean_object* x_200; uint8_t x_201; +x_200 = lean_ctor_get(x_199, 1); +lean_inc(x_200); +lean_dec_ref(x_199); +x_201 = !lean_is_exclusive(x_9); +if (x_201 == 0) { -lean_object* x_226; uint8_t x_227; -x_226 = lean_ctor_get(x_225, 1); -lean_inc(x_226); -lean_dec_ref(x_225); -x_227 = !lean_is_exclusive(x_5); -if (x_227 == 0) +lean_object* x_202; lean_object* x_203; lean_object* x_204; +x_202 = lean_ctor_get(x_9, 5); +x_203 = l_Lean_replaceRef(x_3, x_202); +lean_dec(x_202); +lean_ctor_set(x_9, 5, x_203); +lean_inc(x_141); +x_204 = l_Lean_Meta_Grind_validateCasesAttr(x_141, x_198, x_9, x_10, x_200); +if (lean_obj_tag(x_204) == 0) { -lean_object* x_228; lean_object* x_229; -x_228 = lean_ctor_get(x_5, 3); -x_229 = l_Lean_Meta_Grind_CasesTypes_insert(x_228, x_160, x_221); -lean_ctor_set(x_5, 3, x_229); -x_11 = x_5; -x_12 = x_226; -goto block_16; +uint8_t x_205; +x_205 = !lean_is_exclusive(x_204); +if (x_205 == 0) +{ +lean_object* x_206; uint8_t x_207; +x_206 = lean_ctor_get(x_204, 0); +lean_dec(x_206); +x_207 = !lean_is_exclusive(x_2); +if (x_207 == 0) +{ +lean_object* x_208; lean_object* x_209; +x_208 = lean_ctor_get(x_2, 3); +x_209 = l_Lean_Meta_Grind_CasesTypes_insert(x_208, x_141, x_198); +lean_ctor_set(x_2, 3, x_209); +lean_ctor_set(x_204, 0, x_2); +return x_204; } else { -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; lean_object* x_237; lean_object* x_238; -x_230 = lean_ctor_get(x_5, 0); -x_231 = lean_ctor_get(x_5, 1); -x_232 = lean_ctor_get(x_5, 2); -x_233 = lean_ctor_get(x_5, 3); -x_234 = lean_ctor_get(x_5, 4); -x_235 = lean_ctor_get(x_5, 5); -x_236 = lean_ctor_get(x_5, 6); -lean_inc(x_236); -lean_inc(x_235); -lean_inc(x_234); +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; +x_210 = lean_ctor_get(x_2, 0); +x_211 = lean_ctor_get(x_2, 1); +x_212 = lean_ctor_get(x_2, 2); +x_213 = lean_ctor_get(x_2, 3); +x_214 = lean_ctor_get(x_2, 4); +x_215 = lean_ctor_get(x_2, 5); +x_216 = lean_ctor_get(x_2, 6); +lean_inc(x_216); +lean_inc(x_215); +lean_inc(x_214); +lean_inc(x_213); +lean_inc(x_212); +lean_inc(x_211); +lean_inc(x_210); +lean_dec(x_2); +x_217 = l_Lean_Meta_Grind_CasesTypes_insert(x_213, x_141, x_198); +x_218 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_218, 0, x_210); +lean_ctor_set(x_218, 1, x_211); +lean_ctor_set(x_218, 2, x_212); +lean_ctor_set(x_218, 3, x_217); +lean_ctor_set(x_218, 4, x_214); +lean_ctor_set(x_218, 5, x_215); +lean_ctor_set(x_218, 6, x_216); +lean_ctor_set(x_204, 0, x_218); +return x_204; +} +} +else +{ +lean_object* x_219; 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; +x_219 = lean_ctor_get(x_204, 1); +lean_inc(x_219); +lean_dec(x_204); +x_220 = lean_ctor_get(x_2, 0); +lean_inc_ref(x_220); +x_221 = lean_ctor_get(x_2, 1); +lean_inc_ref(x_221); +x_222 = lean_ctor_get(x_2, 2); +lean_inc_ref(x_222); +x_223 = lean_ctor_get(x_2, 3); +lean_inc_ref(x_223); +x_224 = lean_ctor_get(x_2, 4); +lean_inc_ref(x_224); +x_225 = lean_ctor_get(x_2, 5); +lean_inc_ref(x_225); +x_226 = lean_ctor_get(x_2, 6); +lean_inc_ref(x_226); +if (lean_is_exclusive(x_2)) { + lean_ctor_release(x_2, 0); + lean_ctor_release(x_2, 1); + lean_ctor_release(x_2, 2); + lean_ctor_release(x_2, 3); + lean_ctor_release(x_2, 4); + lean_ctor_release(x_2, 5); + lean_ctor_release(x_2, 6); + x_227 = x_2; +} else { + lean_dec_ref(x_2); + x_227 = lean_box(0); +} +x_228 = l_Lean_Meta_Grind_CasesTypes_insert(x_223, x_141, x_198); +if (lean_is_scalar(x_227)) { + x_229 = lean_alloc_ctor(0, 7, 0); +} else { + x_229 = x_227; +} +lean_ctor_set(x_229, 0, x_220); +lean_ctor_set(x_229, 1, x_221); +lean_ctor_set(x_229, 2, x_222); +lean_ctor_set(x_229, 3, x_228); +lean_ctor_set(x_229, 4, x_224); +lean_ctor_set(x_229, 5, x_225); +lean_ctor_set(x_229, 6, x_226); +x_230 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_230, 0, x_229); +lean_ctor_set(x_230, 1, x_219); +return x_230; +} +} +else +{ +uint8_t x_231; +lean_dec(x_141); +lean_dec_ref(x_2); +x_231 = !lean_is_exclusive(x_204); +if (x_231 == 0) +{ +return x_204; +} +else +{ +lean_object* x_232; lean_object* x_233; lean_object* x_234; +x_232 = lean_ctor_get(x_204, 0); +x_233 = lean_ctor_get(x_204, 1); lean_inc(x_233); lean_inc(x_232); -lean_inc(x_231); -lean_inc(x_230); -lean_dec(x_5); -x_237 = l_Lean_Meta_Grind_CasesTypes_insert(x_233, x_160, x_221); -x_238 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_238, 0, x_230); -lean_ctor_set(x_238, 1, x_231); -lean_ctor_set(x_238, 2, x_232); -lean_ctor_set(x_238, 3, x_237); -lean_ctor_set(x_238, 4, x_234); -lean_ctor_set(x_238, 5, x_235); -lean_ctor_set(x_238, 6, x_236); -x_11 = x_238; -x_12 = x_226; -goto block_16; -} -} -else -{ -uint8_t x_239; -lean_dec(x_160); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_239 = !lean_is_exclusive(x_225); -if (x_239 == 0) -{ -return x_225; -} -else -{ -lean_object* x_240; lean_object* x_241; lean_object* x_242; -x_240 = lean_ctor_get(x_225, 0); -x_241 = lean_ctor_get(x_225, 1); -lean_inc(x_241); -lean_inc(x_240); -lean_dec(x_225); -x_242 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_242, 0, x_240); -lean_ctor_set(x_242, 1, x_241); -return x_242; +lean_dec(x_204); +x_234 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_234, 0, x_232); +lean_ctor_set(x_234, 1, x_233); +return x_234; } } } else { -lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; 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; uint8_t x_255; lean_object* x_256; uint8_t x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; -x_243 = lean_ctor_get(x_153, 0); -x_244 = lean_ctor_get(x_153, 1); -x_245 = lean_ctor_get(x_153, 2); -x_246 = lean_ctor_get(x_153, 3); -x_247 = lean_ctor_get(x_153, 4); -x_248 = lean_ctor_get(x_153, 5); -x_249 = lean_ctor_get(x_153, 6); -x_250 = lean_ctor_get(x_153, 7); -x_251 = lean_ctor_get(x_153, 8); -x_252 = lean_ctor_get(x_153, 9); -x_253 = lean_ctor_get(x_153, 10); -x_254 = lean_ctor_get(x_153, 11); -x_255 = lean_ctor_get_uint8(x_153, sizeof(void*)*14); -x_256 = lean_ctor_get(x_153, 12); -x_257 = lean_ctor_get_uint8(x_153, sizeof(void*)*14 + 1); -x_258 = lean_ctor_get(x_153, 13); -lean_inc(x_258); -lean_inc(x_256); -lean_inc(x_254); -lean_inc(x_253); -lean_inc(x_252); -lean_inc(x_251); +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; lean_object* x_244; lean_object* x_245; lean_object* x_246; uint8_t x_247; lean_object* x_248; uint8_t x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; +x_235 = lean_ctor_get(x_9, 0); +x_236 = lean_ctor_get(x_9, 1); +x_237 = lean_ctor_get(x_9, 2); +x_238 = lean_ctor_get(x_9, 3); +x_239 = lean_ctor_get(x_9, 4); +x_240 = lean_ctor_get(x_9, 5); +x_241 = lean_ctor_get(x_9, 6); +x_242 = lean_ctor_get(x_9, 7); +x_243 = lean_ctor_get(x_9, 8); +x_244 = lean_ctor_get(x_9, 9); +x_245 = lean_ctor_get(x_9, 10); +x_246 = lean_ctor_get(x_9, 11); +x_247 = lean_ctor_get_uint8(x_9, sizeof(void*)*14); +x_248 = lean_ctor_get(x_9, 12); +x_249 = lean_ctor_get_uint8(x_9, sizeof(void*)*14 + 1); +x_250 = lean_ctor_get(x_9, 13); lean_inc(x_250); -lean_inc(x_249); lean_inc(x_248); -lean_inc(x_247); lean_inc(x_246); lean_inc(x_245); lean_inc(x_244); lean_inc(x_243); -lean_dec(x_153); -x_259 = l_Lean_replaceRef(x_30, x_248); -lean_dec(x_248); -lean_dec(x_30); -x_260 = lean_alloc_ctor(0, 14, 2); -lean_ctor_set(x_260, 0, x_243); -lean_ctor_set(x_260, 1, x_244); -lean_ctor_set(x_260, 2, x_245); -lean_ctor_set(x_260, 3, x_246); -lean_ctor_set(x_260, 4, x_247); -lean_ctor_set(x_260, 5, x_259); -lean_ctor_set(x_260, 6, x_249); -lean_ctor_set(x_260, 7, x_250); -lean_ctor_set(x_260, 8, x_251); -lean_ctor_set(x_260, 9, x_252); -lean_ctor_set(x_260, 10, x_253); -lean_ctor_set(x_260, 11, x_254); -lean_ctor_set(x_260, 12, x_256); -lean_ctor_set(x_260, 13, x_258); -lean_ctor_set_uint8(x_260, sizeof(void*)*14, x_255); -lean_ctor_set_uint8(x_260, sizeof(void*)*14 + 1, x_257); -lean_inc(x_160); -x_261 = l_Lean_Meta_Grind_validateCasesAttr(x_160, x_221, x_260, x_154, x_220); -if (lean_obj_tag(x_261) == 0) +lean_inc(x_242); +lean_inc(x_241); +lean_inc(x_240); +lean_inc(x_239); +lean_inc(x_238); +lean_inc(x_237); +lean_inc(x_236); +lean_inc(x_235); +lean_dec(x_9); +x_251 = l_Lean_replaceRef(x_3, x_240); +lean_dec(x_240); +x_252 = lean_alloc_ctor(0, 14, 2); +lean_ctor_set(x_252, 0, x_235); +lean_ctor_set(x_252, 1, x_236); +lean_ctor_set(x_252, 2, x_237); +lean_ctor_set(x_252, 3, x_238); +lean_ctor_set(x_252, 4, x_239); +lean_ctor_set(x_252, 5, x_251); +lean_ctor_set(x_252, 6, x_241); +lean_ctor_set(x_252, 7, x_242); +lean_ctor_set(x_252, 8, x_243); +lean_ctor_set(x_252, 9, x_244); +lean_ctor_set(x_252, 10, x_245); +lean_ctor_set(x_252, 11, x_246); +lean_ctor_set(x_252, 12, x_248); +lean_ctor_set(x_252, 13, x_250); +lean_ctor_set_uint8(x_252, sizeof(void*)*14, x_247); +lean_ctor_set_uint8(x_252, sizeof(void*)*14 + 1, x_249); +lean_inc(x_141); +x_253 = l_Lean_Meta_Grind_validateCasesAttr(x_141, x_198, x_252, x_10, x_200); +if (lean_obj_tag(x_253) == 0) { -lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; -x_262 = lean_ctor_get(x_261, 1); -lean_inc(x_262); -lean_dec_ref(x_261); -x_263 = lean_ctor_get(x_5, 0); -lean_inc_ref(x_263); -x_264 = lean_ctor_get(x_5, 1); -lean_inc_ref(x_264); -x_265 = lean_ctor_get(x_5, 2); -lean_inc_ref(x_265); -x_266 = lean_ctor_get(x_5, 3); -lean_inc_ref(x_266); -x_267 = lean_ctor_get(x_5, 4); -lean_inc_ref(x_267); -x_268 = lean_ctor_get(x_5, 5); -lean_inc_ref(x_268); -x_269 = lean_ctor_get(x_5, 6); -lean_inc_ref(x_269); -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_270 = x_5; +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; lean_object* x_264; lean_object* x_265; lean_object* x_266; +x_254 = lean_ctor_get(x_253, 1); +lean_inc(x_254); +if (lean_is_exclusive(x_253)) { + lean_ctor_release(x_253, 0); + lean_ctor_release(x_253, 1); + x_255 = x_253; } else { - lean_dec_ref(x_5); - x_270 = lean_box(0); + lean_dec_ref(x_253); + x_255 = lean_box(0); } -x_271 = l_Lean_Meta_Grind_CasesTypes_insert(x_266, x_160, x_221); -if (lean_is_scalar(x_270)) { - x_272 = lean_alloc_ctor(0, 7, 0); +x_256 = lean_ctor_get(x_2, 0); +lean_inc_ref(x_256); +x_257 = lean_ctor_get(x_2, 1); +lean_inc_ref(x_257); +x_258 = lean_ctor_get(x_2, 2); +lean_inc_ref(x_258); +x_259 = lean_ctor_get(x_2, 3); +lean_inc_ref(x_259); +x_260 = lean_ctor_get(x_2, 4); +lean_inc_ref(x_260); +x_261 = lean_ctor_get(x_2, 5); +lean_inc_ref(x_261); +x_262 = lean_ctor_get(x_2, 6); +lean_inc_ref(x_262); +if (lean_is_exclusive(x_2)) { + lean_ctor_release(x_2, 0); + lean_ctor_release(x_2, 1); + lean_ctor_release(x_2, 2); + lean_ctor_release(x_2, 3); + lean_ctor_release(x_2, 4); + lean_ctor_release(x_2, 5); + lean_ctor_release(x_2, 6); + x_263 = x_2; } else { - x_272 = x_270; + lean_dec_ref(x_2); + x_263 = lean_box(0); } -lean_ctor_set(x_272, 0, x_263); -lean_ctor_set(x_272, 1, x_264); -lean_ctor_set(x_272, 2, x_265); -lean_ctor_set(x_272, 3, x_271); -lean_ctor_set(x_272, 4, x_267); -lean_ctor_set(x_272, 5, x_268); -lean_ctor_set(x_272, 6, x_269); -x_11 = x_272; -x_12 = x_262; -goto block_16; +x_264 = l_Lean_Meta_Grind_CasesTypes_insert(x_259, x_141, x_198); +if (lean_is_scalar(x_263)) { + x_265 = lean_alloc_ctor(0, 7, 0); +} else { + x_265 = x_263; +} +lean_ctor_set(x_265, 0, x_256); +lean_ctor_set(x_265, 1, x_257); +lean_ctor_set(x_265, 2, x_258); +lean_ctor_set(x_265, 3, x_264); +lean_ctor_set(x_265, 4, x_260); +lean_ctor_set(x_265, 5, x_261); +lean_ctor_set(x_265, 6, x_262); +if (lean_is_scalar(x_255)) { + x_266 = lean_alloc_ctor(0, 2, 0); +} else { + x_266 = x_255; +} +lean_ctor_set(x_266, 0, x_265); +lean_ctor_set(x_266, 1, x_254); +return x_266; } else { -lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; -lean_dec(x_160); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_273 = lean_ctor_get(x_261, 0); +lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; +lean_dec(x_141); +lean_dec_ref(x_2); +x_267 = lean_ctor_get(x_253, 0); +lean_inc(x_267); +x_268 = lean_ctor_get(x_253, 1); +lean_inc(x_268); +if (lean_is_exclusive(x_253)) { + lean_ctor_release(x_253, 0); + lean_ctor_release(x_253, 1); + x_269 = x_253; +} else { + lean_dec_ref(x_253); + x_269 = lean_box(0); +} +if (lean_is_scalar(x_269)) { + x_270 = lean_alloc_ctor(1, 2, 0); +} else { + x_270 = x_269; +} +lean_ctor_set(x_270, 0, x_267); +lean_ctor_set(x_270, 1, x_268); +return x_270; +} +} +} +else +{ +uint8_t x_271; +lean_dec(x_141); +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec_ref(x_2); +x_271 = !lean_is_exclusive(x_199); +if (x_271 == 0) +{ +return x_199; +} +else +{ +lean_object* x_272; lean_object* x_273; lean_object* x_274; +x_272 = lean_ctor_get(x_199, 0); +x_273 = lean_ctor_get(x_199, 1); lean_inc(x_273); -x_274 = lean_ctor_get(x_261, 1); -lean_inc(x_274); -if (lean_is_exclusive(x_261)) { - lean_ctor_release(x_261, 0); - lean_ctor_release(x_261, 1); - x_275 = x_261; -} else { - lean_dec_ref(x_261); - x_275 = lean_box(0); -} -if (lean_is_scalar(x_275)) { - x_276 = lean_alloc_ctor(1, 2, 0); -} else { - x_276 = x_275; -} -lean_ctor_set(x_276, 0, x_273); -lean_ctor_set(x_276, 1, x_274); -return x_276; +lean_inc(x_272); +lean_dec(x_199); +x_274 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_274, 0, x_272); +lean_ctor_set(x_274, 1, x_273); +return x_274; } } } case 2: { -lean_object* x_277; lean_object* x_278; -x_277 = lean_ctor_get(x_163, 1); -lean_inc(x_277); -lean_dec_ref(x_163); -lean_inc(x_154); -lean_inc_ref(x_153); -lean_inc(x_156); -lean_inc_ref(x_155); -lean_inc(x_160); -x_278 = l_Lean_Meta_Grind_isCasesAttrPredicateCandidate_x3f(x_160, x_45, x_155, x_156, x_153, x_154, x_277); +lean_object* x_275; uint8_t x_276; lean_object* x_277; +x_275 = lean_ctor_get(x_144, 1); +lean_inc(x_275); +lean_dec_ref(x_144); +x_276 = 0; +lean_inc(x_10); +lean_inc_ref(x_9); +lean_inc(x_8); +lean_inc_ref(x_7); +lean_inc(x_141); +x_277 = l_Lean_Meta_Grind_isCasesAttrPredicateCandidate_x3f(x_141, x_276, x_7, x_8, x_9, x_10, x_275); +if (lean_obj_tag(x_277) == 0) +{ +lean_object* x_278; +x_278 = lean_ctor_get(x_277, 0); +lean_inc(x_278); if (lean_obj_tag(x_278) == 0) { -lean_object* x_279; -x_279 = lean_ctor_get(x_278, 0); +lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; uint8_t x_286; +lean_dec_ref(x_2); +x_279 = lean_ctor_get(x_277, 1); lean_inc(x_279); -if (lean_obj_tag(x_279) == 0) +lean_dec_ref(x_277); +x_280 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__6; +x_281 = l_Lean_MessageData_ofConstName(x_141, x_276); +x_282 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_282, 0, x_280); +lean_ctor_set(x_282, 1, x_281); +x_283 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__8; +x_284 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_284, 0, x_282); +lean_ctor_set(x_284, 1, x_283); +x_285 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_284, x_7, x_8, x_9, x_10, x_279); +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +lean_dec_ref(x_7); +x_286 = !lean_is_exclusive(x_285); +if (x_286 == 0) { -lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; uint8_t x_287; -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_280 = lean_ctor_get(x_278, 1); -lean_inc(x_280); -lean_dec_ref(x_278); -x_281 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__11; -x_282 = l_Lean_MessageData_ofConstName(x_160, x_45); -x_283 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_283, 0, x_281); -lean_ctor_set(x_283, 1, x_282); -x_284 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__13; -x_285 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_285, 0, x_283); -lean_ctor_set(x_285, 1, x_284); -x_286 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_285, x_155, x_156, x_153, x_154, x_280); -lean_dec(x_154); -lean_dec_ref(x_153); -lean_dec(x_156); -lean_dec_ref(x_155); -x_287 = !lean_is_exclusive(x_286); -if (x_287 == 0) -{ -return x_286; +return x_285; } else { -lean_object* x_288; lean_object* x_289; lean_object* x_290; -x_288 = lean_ctor_get(x_286, 0); -x_289 = lean_ctor_get(x_286, 1); -lean_inc(x_289); +lean_object* x_287; lean_object* x_288; lean_object* x_289; +x_287 = lean_ctor_get(x_285, 0); +x_288 = lean_ctor_get(x_285, 1); lean_inc(x_288); -lean_dec(x_286); -x_290 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_290, 0, x_288); -lean_ctor_set(x_290, 1, x_289); -return x_290; +lean_inc(x_287); +lean_dec(x_285); +x_289 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_289, 0, x_287); +lean_ctor_set(x_289, 1, x_288); +return x_289; } } else { -lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; -lean_dec(x_160); -x_291 = lean_ctor_get(x_279, 0); -lean_inc(x_291); -lean_dec_ref(x_279); -x_292 = lean_ctor_get(x_278, 1); -lean_inc(x_292); +lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; +lean_dec(x_141); +x_290 = lean_ctor_get(x_278, 0); +lean_inc(x_290); lean_dec_ref(x_278); -x_293 = lean_ctor_get(x_291, 4); -lean_inc(x_293); -lean_dec(x_291); -x_294 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___redArg(x_30, x_45, x_293, x_5, x_155, x_156, x_153, x_154, x_292); -lean_dec_ref(x_153); -lean_dec(x_30); -if (lean_obj_tag(x_294) == 0) +x_291 = lean_ctor_get(x_277, 1); +lean_inc(x_291); +lean_dec_ref(x_277); +x_292 = lean_ctor_get(x_290, 4); +lean_inc(x_292); +lean_dec(x_290); +x_293 = l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0___redArg(x_3, x_276, x_6, x_292, x_2, x_7, x_8, x_9, x_10, x_291); +lean_dec_ref(x_9); +return x_293; +} +} +else { -lean_object* x_295; lean_object* x_296; -x_295 = lean_ctor_get(x_294, 0); -lean_inc(x_295); -x_296 = lean_ctor_get(x_294, 1); +uint8_t x_294; +lean_dec(x_141); +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec_ref(x_2); +x_294 = !lean_is_exclusive(x_277); +if (x_294 == 0) +{ +return x_277; +} +else +{ +lean_object* x_295; lean_object* x_296; lean_object* x_297; +x_295 = lean_ctor_get(x_277, 0); +x_296 = lean_ctor_get(x_277, 1); lean_inc(x_296); -lean_dec_ref(x_294); -x_11 = x_295; -x_12 = x_296; -goto block_16; -} -else -{ -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -return x_294; -} -} -} -else -{ -uint8_t x_297; -lean_dec(x_160); -lean_dec(x_156); -lean_dec_ref(x_155); -lean_dec(x_154); -lean_dec_ref(x_153); -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_297 = !lean_is_exclusive(x_278); -if (x_297 == 0) -{ -return x_278; -} -else -{ -lean_object* x_298; lean_object* x_299; lean_object* x_300; -x_298 = lean_ctor_get(x_278, 0); -x_299 = lean_ctor_get(x_278, 1); -lean_inc(x_299); -lean_inc(x_298); -lean_dec(x_278); -x_300 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_300, 0, x_298); -lean_ctor_set(x_300, 1, x_299); -return x_300; +lean_inc(x_295); +lean_dec(x_277); +x_297 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_297, 0, x_295); +lean_ctor_set(x_297, 1, x_296); +return x_297; } } } case 3: { -lean_object* x_301; -x_301 = lean_ctor_get(x_163, 1); -lean_inc(x_301); -lean_dec_ref(x_163); -x_46 = x_160; -x_47 = x_5; -x_48 = x_155; -x_49 = x_156; -x_50 = x_153; -x_51 = x_154; -x_52 = x_301; -goto block_120; +lean_object* x_298; +x_298 = lean_ctor_get(x_144, 1); +lean_inc(x_298); +lean_dec_ref(x_144); +x_12 = x_141; +x_13 = x_2; +x_14 = x_7; +x_15 = x_8; +x_16 = x_9; +x_17 = x_10; +x_18 = x_298; +goto block_98; } case 4: { -lean_object* x_302; lean_object* x_303; lean_object* x_304; uint8_t x_305; -lean_dec(x_160); -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_302 = lean_ctor_get(x_163, 1); -lean_inc(x_302); -lean_dec_ref(x_163); -x_303 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__15; -x_304 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_303, x_155, x_156, x_153, x_154, x_302); -lean_dec(x_154); -lean_dec_ref(x_153); -lean_dec(x_156); -lean_dec_ref(x_155); -x_305 = !lean_is_exclusive(x_304); -if (x_305 == 0) +lean_object* x_299; lean_object* x_300; lean_object* x_301; uint8_t x_302; +lean_dec(x_141); +lean_dec_ref(x_2); +x_299 = lean_ctor_get(x_144, 1); +lean_inc(x_299); +lean_dec_ref(x_144); +x_300 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__10; +x_301 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_300, x_7, x_8, x_9, x_10, x_299); +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +lean_dec_ref(x_7); +x_302 = !lean_is_exclusive(x_301); +if (x_302 == 0) { -return x_304; +return x_301; } else { -lean_object* x_306; lean_object* x_307; lean_object* x_308; -x_306 = lean_ctor_get(x_304, 0); -x_307 = lean_ctor_get(x_304, 1); -lean_inc(x_307); -lean_inc(x_306); -lean_dec(x_304); -x_308 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_308, 0, x_306); -lean_ctor_set(x_308, 1, x_307); -return x_308; +lean_object* x_303; lean_object* x_304; lean_object* x_305; +x_303 = lean_ctor_get(x_301, 0); +x_304 = lean_ctor_get(x_301, 1); +lean_inc(x_304); +lean_inc(x_303); +lean_dec(x_301); +x_305 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_305, 0, x_303); +lean_ctor_set(x_305, 1, x_304); +return x_305; } } default: { -lean_object* x_309; lean_object* x_310; uint8_t x_311; -lean_dec(x_156); -lean_dec_ref(x_155); -lean_dec(x_154); -lean_dec_ref(x_153); -lean_dec(x_30); -x_309 = lean_ctor_get(x_163, 1); -lean_inc(x_309); -lean_dec_ref(x_163); -x_310 = lean_ctor_get(x_164, 0); -lean_inc(x_310); -lean_dec_ref(x_164); -x_311 = !lean_is_exclusive(x_5); +lean_object* x_306; lean_object* x_307; lean_object* x_308; +x_306 = lean_ctor_get(x_144, 1); +lean_inc(x_306); +lean_dec_ref(x_144); +x_307 = lean_ctor_get(x_145, 0); +lean_inc(x_307); +lean_dec_ref(x_145); +x_308 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable(x_6, x_7, x_8, x_9, x_10, x_306); +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +lean_dec_ref(x_7); +if (lean_obj_tag(x_308) == 0) +{ +uint8_t x_309; +x_309 = !lean_is_exclusive(x_308); +if (x_309 == 0) +{ +lean_object* x_310; uint8_t x_311; +x_310 = lean_ctor_get(x_308, 0); +lean_dec(x_310); +x_311 = !lean_is_exclusive(x_2); if (x_311 == 0) { lean_object* x_312; lean_object* x_313; -x_312 = lean_ctor_get(x_5, 2); -x_313 = l_Lean_Meta_Grind_SymbolPriorities_insert(x_312, x_160, x_310); -lean_ctor_set(x_5, 2, x_313); -x_11 = x_5; -x_12 = x_309; -goto block_16; +x_312 = lean_ctor_get(x_2, 2); +x_313 = l_Lean_Meta_Grind_SymbolPriorities_insert(x_312, x_141, x_307); +lean_ctor_set(x_2, 2, x_313); +lean_ctor_set(x_308, 0, x_2); +return x_308; } else { lean_object* x_314; 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; -x_314 = lean_ctor_get(x_5, 0); -x_315 = lean_ctor_get(x_5, 1); -x_316 = lean_ctor_get(x_5, 2); -x_317 = lean_ctor_get(x_5, 3); -x_318 = lean_ctor_get(x_5, 4); -x_319 = lean_ctor_get(x_5, 5); -x_320 = lean_ctor_get(x_5, 6); +x_314 = lean_ctor_get(x_2, 0); +x_315 = lean_ctor_get(x_2, 1); +x_316 = lean_ctor_get(x_2, 2); +x_317 = lean_ctor_get(x_2, 3); +x_318 = lean_ctor_get(x_2, 4); +x_319 = lean_ctor_get(x_2, 5); +x_320 = lean_ctor_get(x_2, 6); lean_inc(x_320); lean_inc(x_319); lean_inc(x_318); @@ -16048,8 +15740,8 @@ lean_inc(x_317); lean_inc(x_316); lean_inc(x_315); lean_inc(x_314); -lean_dec(x_5); -x_321 = l_Lean_Meta_Grind_SymbolPriorities_insert(x_316, x_160, x_310); +lean_dec(x_2); +x_321 = l_Lean_Meta_Grind_SymbolPriorities_insert(x_316, x_141, x_307); x_322 = lean_alloc_ctor(0, 7, 0); lean_ctor_set(x_322, 0, x_314); lean_ctor_set(x_322, 1, x_315); @@ -16058,322 +15750,1540 @@ lean_ctor_set(x_322, 3, x_317); lean_ctor_set(x_322, 4, x_318); lean_ctor_set(x_322, 5, x_319); lean_ctor_set(x_322, 6, x_320); -x_11 = x_322; -x_12 = x_309; +lean_ctor_set(x_308, 0, x_322); +return x_308; +} +} +else +{ +lean_object* x_323; lean_object* x_324; lean_object* x_325; 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; lean_object* x_333; lean_object* x_334; +x_323 = lean_ctor_get(x_308, 1); +lean_inc(x_323); +lean_dec(x_308); +x_324 = lean_ctor_get(x_2, 0); +lean_inc_ref(x_324); +x_325 = lean_ctor_get(x_2, 1); +lean_inc_ref(x_325); +x_326 = lean_ctor_get(x_2, 2); +lean_inc_ref(x_326); +x_327 = lean_ctor_get(x_2, 3); +lean_inc_ref(x_327); +x_328 = lean_ctor_get(x_2, 4); +lean_inc_ref(x_328); +x_329 = lean_ctor_get(x_2, 5); +lean_inc_ref(x_329); +x_330 = lean_ctor_get(x_2, 6); +lean_inc_ref(x_330); +if (lean_is_exclusive(x_2)) { + lean_ctor_release(x_2, 0); + lean_ctor_release(x_2, 1); + lean_ctor_release(x_2, 2); + lean_ctor_release(x_2, 3); + lean_ctor_release(x_2, 4); + lean_ctor_release(x_2, 5); + lean_ctor_release(x_2, 6); + x_331 = x_2; +} else { + lean_dec_ref(x_2); + x_331 = lean_box(0); +} +x_332 = l_Lean_Meta_Grind_SymbolPriorities_insert(x_326, x_141, x_307); +if (lean_is_scalar(x_331)) { + x_333 = lean_alloc_ctor(0, 7, 0); +} else { + x_333 = x_331; +} +lean_ctor_set(x_333, 0, x_324); +lean_ctor_set(x_333, 1, x_325); +lean_ctor_set(x_333, 2, x_332); +lean_ctor_set(x_333, 3, x_327); +lean_ctor_set(x_333, 4, x_328); +lean_ctor_set(x_333, 5, x_329); +lean_ctor_set(x_333, 6, x_330); +x_334 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_334, 0, x_333); +lean_ctor_set(x_334, 1, x_323); +return x_334; +} +} +else +{ +uint8_t x_335; +lean_dec(x_307); +lean_dec(x_141); +lean_dec_ref(x_2); +x_335 = !lean_is_exclusive(x_308); +if (x_335 == 0) +{ +return x_308; +} +else +{ +lean_object* x_336; lean_object* x_337; lean_object* x_338; +x_336 = lean_ctor_get(x_308, 0); +x_337 = lean_ctor_get(x_308, 1); +lean_inc(x_337); +lean_inc(x_336); +lean_dec(x_308); +x_338 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_338, 0, x_336); +lean_ctor_set(x_338, 1, x_337); +return x_338; +} +} +} +} +} +else +{ +uint8_t x_339; +lean_dec(x_141); +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec_ref(x_2); +x_339 = !lean_is_exclusive(x_144); +if (x_339 == 0) +{ +return x_144; +} +else +{ +lean_object* x_340; lean_object* x_341; lean_object* x_342; +x_340 = lean_ctor_get(x_144, 0); +x_341 = lean_ctor_get(x_144, 1); +lean_inc(x_341); +lean_inc(x_340); +lean_dec(x_144); +x_342 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_342, 0, x_340); +lean_ctor_set(x_342, 1, x_341); +return x_342; +} +} +} +} +else +{ +uint8_t x_343; +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec(x_4); +lean_dec_ref(x_2); +x_343 = !lean_is_exclusive(x_138); +if (x_343 == 0) +{ +return x_138; +} +else +{ +lean_object* x_344; lean_object* x_345; lean_object* x_346; +x_344 = lean_ctor_get(x_138, 0); +x_345 = lean_ctor_get(x_138, 1); +lean_inc(x_345); +lean_inc(x_344); +lean_dec(x_138); +x_346 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_346, 0, x_344); +lean_ctor_set(x_346, 1, x_345); +return x_346; +} +} +} +} +} +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0___redArg___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: +{ +uint8_t x_11; uint8_t x_12; lean_object* x_13; +x_11 = lean_unbox(x_2); +x_12 = lean_unbox(x_3); +x_13 = l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0___redArg(x_1, x_11, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec_ref(x_8); +lean_dec(x_1); +return x_13; +} +} +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0___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: +{ +uint8_t x_13; uint8_t x_14; lean_object* x_15; +x_13 = lean_unbox(x_2); +x_14 = lean_unbox(x_3); +x_15 = l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__0(x_1, x_13, x_14, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec_ref(x_10); +lean_dec(x_4); +lean_dec(x_1); +return x_15; +} +} +LEAN_EXPORT lean_object* l_List_filterTR_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_List_filterTR_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__1(x_1, x_2, x_3); +lean_dec(x_1); +return x_4; +} +} +LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_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) { +_start: +{ +lean_object* x_10; +x_10 = l_List_forIn_x27_loop___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec(x_6); +lean_dec_ref(x_5); +lean_dec(x_1); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__3___redArg___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__3___redArg(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__3(x_1, x_2, x_3); +lean_dec(x_3); +lean_dec(x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg___lam__0___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg___lam__0(x_1, x_2); +lean_dec(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg___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_8; lean_object* x_9; +x_8 = lean_unbox(x_2); +x_9 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4___redArg(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +lean_dec_ref(x_6); +lean_dec(x_3); +lean_dec(x_1); +return x_9; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_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) { +_start: +{ +uint8_t x_9; lean_object* x_10; +x_9 = lean_unbox(x_2); +x_10 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__4(x_1, x_9, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec_ref(x_6); +lean_dec(x_3); +lean_dec(x_1); +return x_10; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5_spec__5___redArg___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_8; lean_object* x_9; +x_8 = lean_unbox(x_2); +x_9 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5_spec__5___redArg(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +lean_dec_ref(x_6); +lean_dec(x_3); +lean_dec(x_1); +return x_9; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5_spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +uint8_t x_9; lean_object* x_10; +x_9 = lean_unbox(x_2); +x_10 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5_spec__5(x_1, x_9, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec_ref(x_6); +lean_dec(x_3); +lean_dec(x_1); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__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) { +_start: +{ +uint8_t x_7; lean_object* x_8; +x_7 = lean_unbox(x_2); +x_8 = l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4_spec__5(x_1, x_7, x_3, x_4, x_5, x_6); +lean_dec_ref(x_6); +lean_dec(x_3); +lean_dec(x_1); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_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) { +_start: +{ +uint8_t x_7; lean_object* x_8; +x_7 = lean_unbox(x_2); +x_8 = l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__4(x_1, x_7, x_3, x_4, x_5, x_6); +lean_dec_ref(x_6); +lean_dec(x_3); +lean_dec(x_1); +return x_8; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8___redArg(x_1, x_2, x_3, x_4); +lean_dec_ref(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8___boxed(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; +x_6 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__8(x_1, x_2, x_3, x_4, x_5); +lean_dec_ref(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9_spec__9___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9_spec__9___redArg(x_1, x_2, x_3, x_4); +lean_dec_ref(x_3); +lean_dec(x_2); +return x_5; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9_spec__9___boxed(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; +x_6 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9_spec__9(x_1, x_2, x_3, x_4, x_5); +lean_dec_ref(x_3); +lean_dec(x_2); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8_spec__9(x_1, x_2, x_3); +lean_dec_ref(x_3); +lean_dec(x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__8(x_1, x_2, x_3); +lean_dec_ref(x_3); +lean_dec(x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12___redArg(x_1, x_2, x_3, x_4); +lean_dec(x_3); +return x_5; +} +} +LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12___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_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec_ref(x_2); +return x_7; +} +} +LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12___lam__0___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: +{ +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_6); +x_14 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12___lam__0(x_1, x_2, x_3, x_4, x_5, x_13, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_11); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec_ref(x_3); +return x_14; +} +} +LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12___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: +{ +uint8_t x_11; lean_object* x_12; +x_11 = lean_unbox(x_5); +x_12 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12(x_1, x_2, x_3, x_4, x_11, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec(x_7); +lean_dec_ref(x_6); +lean_dec_ref(x_1); +return x_12; +} +} +LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3___lam__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +uint8_t x_6; lean_object* x_7; +x_6 = lean_unbox(x_5); +x_7 = l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3___lam__0(x_1, x_2, x_3, x_4, x_6); +lean_dec_ref(x_3); +lean_dec(x_1); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_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) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_3); +return x_7; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___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; uint8_t x_13; lean_object* x_14; +x_12 = lean_unbox(x_1); +x_13 = lean_unbox(x_6); +x_14 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam(x_12, x_2, x_3, x_4, x_5, x_13, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_3); +return x_14; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__0() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("grindParam", 10, 10); +return x_1; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__0; +x_2 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern___regBuiltin_Lean_Elab_Tactic_elabGrindPattern__1___closed__2; +x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; +x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; +x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); +return x_5; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("unexpected `grind` parameter", 28, 28); +return x_1; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__2; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("grindErase", 10, 10); +return x_1; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___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___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__4; +x_2 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern___regBuiltin_Lean_Elab_Tactic_elabGrindPattern__1___closed__2; +x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; +x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; +x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); +return x_5; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("grindLemma", 10, 10); +return x_1; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__6; +x_2 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern___regBuiltin_Lean_Elab_Tactic_elabGrindPattern__1___closed__2; +x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; +x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; +x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); +return x_5; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__8() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("grindLemmaMin", 13, 13); +return x_1; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__8; +x_2 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindPattern___regBuiltin_Lean_Elab_Tactic_elabGrindPattern__1___closed__2; +x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; +x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; +x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); +return x_5; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("Attr", 4, 4); +return x_1; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__11() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("grindMod", 8, 8); +return x_1; +} +} +static lean_object* _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___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___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__11; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; +x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; +x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; +x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); +return x_5; +} +} +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0(uint8_t 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, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; uint8_t x_17; +x_17 = lean_usize_dec_lt(x_4, x_3); +if (x_17 == 0) +{ +lean_object* x_18; +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_5); +lean_ctor_set(x_18, 1, x_10); +return x_18; +} +else +{ +lean_object* x_19; lean_object* x_20; uint8_t x_21; +x_19 = lean_array_uget(x_2, x_4); +x_20 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +lean_inc(x_19); +x_21 = l_Lean_Syntax_isOfKind(x_19, 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; uint8_t x_27; +lean_dec_ref(x_5); +x_22 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_23 = l_Lean_MessageData_ofSyntax(x_19); +x_24 = l_Lean_indentD(x_23); +x_25 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_25, 0, x_22); +lean_ctor_set(x_25, 1, x_24); +x_26 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_25, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_27 = !lean_is_exclusive(x_26); +if (x_27 == 0) +{ +return x_26; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_26, 0); +x_29 = lean_ctor_get(x_26, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_26); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; +} +} +else +{ +lean_object* x_31; lean_object* x_32; lean_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; +x_31 = lean_unsigned_to_nat(0u); +x_32 = l_Lean_Syntax_getArg(x_19, x_31); +x_33 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__5; +lean_inc(x_32); +x_34 = l_Lean_Syntax_isOfKind(x_32, x_33); +if (x_34 == 0) +{ +lean_object* x_58; uint8_t x_59; +x_58 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +lean_inc(x_32); +x_59 = l_Lean_Syntax_isOfKind(x_32, x_58); +if (x_59 == 0) +{ +lean_object* x_60; uint8_t 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_60 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +lean_inc(x_32); +x_61 = l_Lean_Syntax_isOfKind(x_32, x_60); +if (x_61 == 0) +{ +lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90; +lean_dec(x_32); +lean_dec_ref(x_5); +x_85 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_86 = l_Lean_MessageData_ofSyntax(x_19); +x_87 = l_Lean_indentD(x_86); +x_88 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_88, 0, x_85); +lean_ctor_set(x_88, 1, x_87); +x_89 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_88, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_90 = !lean_is_exclusive(x_89); +if (x_90 == 0) +{ +return x_89; +} +else +{ +lean_object* x_91; lean_object* x_92; lean_object* x_93; +x_91 = lean_ctor_get(x_89, 0); +x_92 = lean_ctor_get(x_89, 1); +lean_inc(x_92); +lean_inc(x_91); +lean_dec(x_89); +x_93 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_93, 0, x_91); +lean_ctor_set(x_93, 1, x_92); +return x_93; +} +} +else +{ +lean_object* x_94; lean_object* x_95; uint8_t x_96; +x_94 = lean_unsigned_to_nat(1u); +x_95 = l_Lean_Syntax_getArg(x_32, x_94); +x_96 = l_Lean_Syntax_isNone(x_95); +if (x_96 == 0) +{ +uint8_t x_97; +lean_inc(x_95); +x_97 = l_Lean_Syntax_matchesNull(x_95, x_94); +if (x_97 == 0) +{ +lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; +lean_dec(x_95); +lean_dec(x_32); +lean_dec_ref(x_5); +x_98 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_99 = l_Lean_MessageData_ofSyntax(x_19); +x_100 = l_Lean_indentD(x_99); +x_101 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_101, 0, x_98); +lean_ctor_set(x_101, 1, x_100); +x_102 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_101, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_103 = !lean_is_exclusive(x_102); +if (x_103 == 0) +{ +return x_102; +} +else +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; +x_104 = lean_ctor_get(x_102, 0); +x_105 = lean_ctor_get(x_102, 1); +lean_inc(x_105); +lean_inc(x_104); +lean_dec(x_102); +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; +} +} +else +{ +lean_object* x_107; lean_object* x_108; uint8_t x_109; +x_107 = l_Lean_Syntax_getArg(x_95, x_31); +lean_dec(x_95); +x_108 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +lean_inc(x_107); +x_109 = l_Lean_Syntax_isOfKind(x_107, x_108); +if (x_109 == 0) +{ +lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115; +lean_dec(x_107); +lean_dec(x_32); +lean_dec_ref(x_5); +x_110 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_111 = l_Lean_MessageData_ofSyntax(x_19); +x_112 = l_Lean_indentD(x_111); +x_113 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_113, 0, x_110); +lean_ctor_set(x_113, 1, x_112); +x_114 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_113, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_115 = !lean_is_exclusive(x_114); +if (x_115 == 0) +{ +return x_114; +} +else +{ +lean_object* x_116; lean_object* x_117; lean_object* x_118; +x_116 = lean_ctor_get(x_114, 0); +x_117 = lean_ctor_get(x_114, 1); +lean_inc(x_117); +lean_inc(x_116); +lean_dec(x_114); +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; +} +} +else +{ +lean_object* x_119; +x_119 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_119, 0, x_107); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); +x_62 = x_119; +x_63 = x_6; +x_64 = x_7; +x_65 = x_8; +x_66 = x_9; +x_67 = x_10; +goto block_84; +} +} +} +else +{ +lean_object* x_120; +lean_dec(x_95); +x_120 = lean_box(0); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); +x_62 = x_120; +x_63 = x_6; +x_64 = x_7; +x_65 = x_8; +x_66 = x_9; +x_67 = x_10; +goto block_84; +} +} +block_84: +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; +x_68 = lean_unsigned_to_nat(2u); +x_69 = l_Lean_Syntax_getArg(x_32, x_68); +lean_dec(x_32); +x_70 = l_Lean_Elab_Tactic_elabGrindPattern___closed__12; +lean_inc(x_69); +x_71 = l_Lean_Syntax_isOfKind(x_69, x_70); +if (x_71 == 0) +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; +lean_dec(x_69); +lean_dec(x_62); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +lean_dec_ref(x_5); +x_72 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_73 = l_Lean_MessageData_ofSyntax(x_19); +x_74 = l_Lean_indentD(x_73); +x_75 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_75, 0, x_72); +lean_ctor_set(x_75, 1, x_74); +x_76 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_75, x_63, x_64, x_65, x_66, x_67); +lean_dec(x_66); +lean_dec_ref(x_65); +lean_dec(x_64); +lean_dec_ref(x_63); +x_77 = !lean_is_exclusive(x_76); +if (x_77 == 0) +{ +return x_76; +} +else +{ +lean_object* x_78; lean_object* x_79; lean_object* x_80; +x_78 = lean_ctor_get(x_76, 0); +x_79 = lean_ctor_get(x_76, 1); +lean_inc(x_79); +lean_inc(x_78); +lean_dec(x_76); +x_80 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_80, 0, x_78); +lean_ctor_set(x_80, 1, x_79); +return x_80; +} +} +else +{ +lean_object* x_81; +x_81 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam(x_1, x_5, x_19, x_62, x_69, x_61, x_63, x_64, x_65, x_66, x_67); +lean_dec(x_19); +if (lean_obj_tag(x_81) == 0) +{ +lean_object* x_82; lean_object* x_83; +x_82 = lean_ctor_get(x_81, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_81, 1); +lean_inc(x_83); +lean_dec_ref(x_81); +x_11 = x_82; +x_12 = x_83; goto block_16; } -} -} -} else { -uint8_t x_323; -lean_dec(x_160); -lean_dec(x_156); -lean_dec_ref(x_155); -lean_dec(x_154); -lean_dec_ref(x_153); -lean_dec(x_30); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_323 = !lean_is_exclusive(x_163); -if (x_323 == 0) -{ -return x_163; +return x_81; +} +} +} } else { -lean_object* x_324; lean_object* x_325; lean_object* x_326; -x_324 = lean_ctor_get(x_163, 0); -x_325 = lean_ctor_get(x_163, 1); -lean_inc(x_325); -lean_inc(x_324); +lean_object* x_121; uint8_t x_122; +x_121 = l_Lean_Syntax_getArg(x_32, x_31); +x_122 = l_Lean_Syntax_isNone(x_121); +if (x_122 == 0) +{ +lean_object* x_123; uint8_t x_124; +x_123 = lean_unsigned_to_nat(1u); +lean_inc(x_121); +x_124 = l_Lean_Syntax_matchesNull(x_121, x_123); +if (x_124 == 0) +{ +lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; uint8_t x_130; +lean_dec(x_121); +lean_dec(x_32); +lean_dec_ref(x_5); +x_125 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_126 = l_Lean_MessageData_ofSyntax(x_19); +x_127 = l_Lean_indentD(x_126); +x_128 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_128, 0, x_125); +lean_ctor_set(x_128, 1, x_127); +x_129 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_128, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_130 = !lean_is_exclusive(x_129); +if (x_130 == 0) +{ +return x_129; +} +else +{ +lean_object* x_131; lean_object* x_132; lean_object* x_133; +x_131 = lean_ctor_get(x_129, 0); +x_132 = lean_ctor_get(x_129, 1); +lean_inc(x_132); +lean_inc(x_131); +lean_dec(x_129); +x_133 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_133, 0, x_131); +lean_ctor_set(x_133, 1, x_132); +return x_133; +} +} +else +{ +lean_object* x_134; lean_object* x_135; uint8_t x_136; +x_134 = l_Lean_Syntax_getArg(x_121, x_31); +lean_dec(x_121); +x_135 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +lean_inc(x_134); +x_136 = l_Lean_Syntax_isOfKind(x_134, 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; uint8_t x_142; +lean_dec(x_134); +lean_dec(x_32); +lean_dec_ref(x_5); +x_137 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_138 = l_Lean_MessageData_ofSyntax(x_19); +x_139 = l_Lean_indentD(x_138); +x_140 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_140, 0, x_137); +lean_ctor_set(x_140, 1, x_139); +x_141 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_140, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_142 = !lean_is_exclusive(x_141); +if (x_142 == 0) +{ +return x_141; +} +else +{ +lean_object* x_143; lean_object* x_144; lean_object* x_145; +x_143 = lean_ctor_get(x_141, 0); +x_144 = lean_ctor_get(x_141, 1); +lean_inc(x_144); +lean_inc(x_143); +lean_dec(x_141); +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; +} +} +else +{ +lean_object* x_146; +x_146 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_146, 0, x_134); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); +x_35 = x_146; +x_36 = x_6; +x_37 = x_7; +x_38 = x_8; +x_39 = x_9; +x_40 = x_10; +goto block_57; +} +} +} +else +{ +lean_object* x_147; +lean_dec(x_121); +x_147 = lean_box(0); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); +x_35 = x_147; +x_36 = x_6; +x_37 = x_7; +x_38 = x_8; +x_39 = x_9; +x_40 = x_10; +goto block_57; +} +} +} +else +{ +lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; +x_148 = lean_unsigned_to_nat(1u); +x_149 = l_Lean_Syntax_getArg(x_32, x_148); +lean_dec(x_32); +x_150 = l_Lean_Elab_Tactic_elabGrindPattern___closed__12; +lean_inc(x_149); +x_151 = l_Lean_Syntax_isOfKind(x_149, x_150); +if (x_151 == 0) +{ +lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; uint8_t x_157; +lean_dec(x_149); +lean_dec_ref(x_5); +x_152 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_153 = l_Lean_MessageData_ofSyntax(x_19); +x_154 = l_Lean_indentD(x_153); +x_155 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_155, 0, x_152); +lean_ctor_set(x_155, 1, x_154); +x_156 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_155, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_157 = !lean_is_exclusive(x_156); +if (x_157 == 0) +{ +return x_156; +} +else +{ +lean_object* x_158; lean_object* x_159; lean_object* x_160; +x_158 = lean_ctor_get(x_156, 0); +x_159 = lean_ctor_get(x_156, 1); +lean_inc(x_159); +lean_inc(x_158); +lean_dec(x_156); +x_160 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_160, 0, x_158); +lean_ctor_set(x_160, 1, x_159); +return x_160; +} +} +else +{ +lean_object* x_161; lean_object* x_162; +lean_dec(x_19); +x_161 = lean_box(0); +lean_inc(x_9); +lean_inc_ref(x_8); +x_162 = l_Lean_Elab_realizeGlobalConstNoOverloadWithInfo(x_149, x_161, x_8, x_9, x_10); +if (lean_obj_tag(x_162) == 0) +{ +lean_object* x_163; lean_object* x_164; uint8_t x_165; lean_object* x_166; +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_ref(x_162); +x_165 = 0; +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_163); +x_166 = l_Lean_Meta_Grind_isCasesAttrCandidate_x3f(x_163, x_165, x_8, x_9, x_164); +if (lean_obj_tag(x_166) == 0) +{ +lean_object* x_167; +x_167 = lean_ctor_get(x_166, 0); +lean_inc(x_167); +if (lean_obj_tag(x_167) == 0) +{ +lean_object* x_168; uint8_t x_169; +x_168 = lean_ctor_get(x_166, 1); +lean_inc(x_168); +lean_dec_ref(x_166); +x_169 = !lean_is_exclusive(x_5); +if (x_169 == 0) +{ +lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; +x_170 = lean_ctor_get(x_5, 0); +x_171 = lean_ctor_get(x_5, 1); +x_172 = lean_ctor_get(x_5, 2); +x_173 = lean_ctor_get(x_5, 3); +x_174 = lean_ctor_get(x_5, 4); +x_175 = lean_ctor_get(x_5, 5); +x_176 = lean_ctor_get(x_5, 6); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); +x_177 = l_Lean_Meta_Grind_EMatchTheorems_eraseDecl(x_171, x_163, x_6, x_7, x_8, x_9, x_168); +if (lean_obj_tag(x_177) == 0) +{ +lean_object* x_178; lean_object* x_179; +x_178 = lean_ctor_get(x_177, 0); +lean_inc(x_178); +x_179 = lean_ctor_get(x_177, 1); +lean_inc(x_179); +lean_dec_ref(x_177); +lean_ctor_set(x_5, 1, x_178); +x_11 = x_5; +x_12 = x_179; +goto block_16; +} +else +{ +uint8_t x_180; +lean_free_object(x_5); +lean_dec_ref(x_176); +lean_dec_ref(x_175); +lean_dec_ref(x_174); +lean_dec_ref(x_173); +lean_dec_ref(x_172); +lean_dec_ref(x_170); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_180 = !lean_is_exclusive(x_177); +if (x_180 == 0) +{ +return x_177; +} +else +{ +lean_object* x_181; lean_object* x_182; lean_object* x_183; +x_181 = lean_ctor_get(x_177, 0); +x_182 = lean_ctor_get(x_177, 1); +lean_inc(x_182); +lean_inc(x_181); +lean_dec(x_177); +x_183 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_183, 0, x_181); +lean_ctor_set(x_183, 1, x_182); +return x_183; +} +} +} +else +{ +lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; +x_184 = lean_ctor_get(x_5, 0); +x_185 = lean_ctor_get(x_5, 1); +x_186 = lean_ctor_get(x_5, 2); +x_187 = lean_ctor_get(x_5, 3); +x_188 = lean_ctor_get(x_5, 4); +x_189 = lean_ctor_get(x_5, 5); +x_190 = lean_ctor_get(x_5, 6); +lean_inc(x_190); +lean_inc(x_189); +lean_inc(x_188); +lean_inc(x_187); +lean_inc(x_186); +lean_inc(x_185); +lean_inc(x_184); +lean_dec(x_5); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); +x_191 = l_Lean_Meta_Grind_EMatchTheorems_eraseDecl(x_185, x_163, x_6, x_7, x_8, x_9, x_168); +if (lean_obj_tag(x_191) == 0) +{ +lean_object* x_192; lean_object* x_193; lean_object* x_194; +x_192 = lean_ctor_get(x_191, 0); +lean_inc(x_192); +x_193 = lean_ctor_get(x_191, 1); +lean_inc(x_193); +lean_dec_ref(x_191); +x_194 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_194, 0, x_184); +lean_ctor_set(x_194, 1, x_192); +lean_ctor_set(x_194, 2, x_186); +lean_ctor_set(x_194, 3, x_187); +lean_ctor_set(x_194, 4, x_188); +lean_ctor_set(x_194, 5, x_189); +lean_ctor_set(x_194, 6, x_190); +x_11 = x_194; +x_12 = x_193; +goto block_16; +} +else +{ +lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; +lean_dec_ref(x_190); +lean_dec_ref(x_189); +lean_dec_ref(x_188); +lean_dec_ref(x_187); +lean_dec_ref(x_186); +lean_dec_ref(x_184); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_195 = lean_ctor_get(x_191, 0); +lean_inc(x_195); +x_196 = lean_ctor_get(x_191, 1); +lean_inc(x_196); +if (lean_is_exclusive(x_191)) { + lean_ctor_release(x_191, 0); + lean_ctor_release(x_191, 1); + x_197 = x_191; +} else { + lean_dec_ref(x_191); + x_197 = lean_box(0); +} +if (lean_is_scalar(x_197)) { + x_198 = lean_alloc_ctor(1, 2, 0); +} else { + x_198 = x_197; +} +lean_ctor_set(x_198, 0, x_195); +lean_ctor_set(x_198, 1, x_196); +return x_198; +} +} +} +else +{ +lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_dec(x_163); -x_326 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_326, 0, x_324); -lean_ctor_set(x_326, 1, x_325); -return x_326; +x_199 = lean_ctor_get(x_166, 1); +lean_inc(x_199); +lean_dec_ref(x_166); +x_200 = lean_ctor_get(x_167, 0); +lean_inc(x_200); +lean_dec_ref(x_167); +lean_inc(x_200); +x_201 = l_Lean_Meta_Grind_ensureNotBuiltinCases(x_200, x_8, x_9, x_199); +if (lean_obj_tag(x_201) == 0) +{ +lean_object* x_202; uint8_t x_203; +x_202 = lean_ctor_get(x_201, 1); +lean_inc(x_202); +lean_dec_ref(x_201); +x_203 = !lean_is_exclusive(x_5); +if (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; +x_204 = lean_ctor_get(x_5, 0); +x_205 = lean_ctor_get(x_5, 1); +x_206 = lean_ctor_get(x_5, 2); +x_207 = lean_ctor_get(x_5, 3); +x_208 = lean_ctor_get(x_5, 4); +x_209 = lean_ctor_get(x_5, 5); +x_210 = lean_ctor_get(x_5, 6); +x_211 = l_Lean_Meta_Grind_CasesTypes_eraseDecl(x_207, x_200, x_8, x_9, x_202); +if (lean_obj_tag(x_211) == 0) +{ +lean_object* x_212; lean_object* x_213; +x_212 = lean_ctor_get(x_211, 0); +lean_inc(x_212); +x_213 = lean_ctor_get(x_211, 1); +lean_inc(x_213); +lean_dec_ref(x_211); +lean_ctor_set(x_5, 3, x_212); +x_11 = x_5; +x_12 = x_213; +goto block_16; } +else +{ +uint8_t x_214; +lean_free_object(x_5); +lean_dec_ref(x_210); +lean_dec_ref(x_209); +lean_dec_ref(x_208); +lean_dec_ref(x_206); +lean_dec_ref(x_205); +lean_dec_ref(x_204); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_214 = !lean_is_exclusive(x_211); +if (x_214 == 0) +{ +return x_211; +} +else +{ +lean_object* x_215; lean_object* x_216; lean_object* x_217; +x_215 = lean_ctor_get(x_211, 0); +x_216 = lean_ctor_get(x_211, 1); +lean_inc(x_216); +lean_inc(x_215); +lean_dec(x_211); +x_217 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_217, 0, x_215); +lean_ctor_set(x_217, 1, x_216); +return x_217; } } } else { -uint8_t x_327; -lean_dec(x_156); -lean_dec_ref(x_155); -lean_dec(x_154); -lean_dec_ref(x_153); -lean_dec(x_152); -lean_dec(x_30); +lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; +x_218 = lean_ctor_get(x_5, 0); +x_219 = lean_ctor_get(x_5, 1); +x_220 = lean_ctor_get(x_5, 2); +x_221 = lean_ctor_get(x_5, 3); +x_222 = lean_ctor_get(x_5, 4); +x_223 = lean_ctor_get(x_5, 5); +x_224 = lean_ctor_get(x_5, 6); +lean_inc(x_224); +lean_inc(x_223); +lean_inc(x_222); +lean_inc(x_221); +lean_inc(x_220); +lean_inc(x_219); +lean_inc(x_218); +lean_dec(x_5); +x_225 = l_Lean_Meta_Grind_CasesTypes_eraseDecl(x_221, x_200, x_8, x_9, x_202); +if (lean_obj_tag(x_225) == 0) +{ +lean_object* x_226; lean_object* x_227; lean_object* x_228; +x_226 = lean_ctor_get(x_225, 0); +lean_inc(x_226); +x_227 = lean_ctor_get(x_225, 1); +lean_inc(x_227); +lean_dec_ref(x_225); +x_228 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_228, 0, x_218); +lean_ctor_set(x_228, 1, x_219); +lean_ctor_set(x_228, 2, x_220); +lean_ctor_set(x_228, 3, x_226); +lean_ctor_set(x_228, 4, x_222); +lean_ctor_set(x_228, 5, x_223); +lean_ctor_set(x_228, 6, x_224); +x_11 = x_228; +x_12 = x_227; +goto block_16; +} +else +{ +lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; +lean_dec_ref(x_224); +lean_dec_ref(x_223); +lean_dec_ref(x_222); +lean_dec_ref(x_220); +lean_dec_ref(x_219); +lean_dec_ref(x_218); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_229 = lean_ctor_get(x_225, 0); +lean_inc(x_229); +x_230 = lean_ctor_get(x_225, 1); +lean_inc(x_230); +if (lean_is_exclusive(x_225)) { + lean_ctor_release(x_225, 0); + lean_ctor_release(x_225, 1); + x_231 = x_225; +} else { + lean_dec_ref(x_225); + x_231 = lean_box(0); +} +if (lean_is_scalar(x_231)) { + x_232 = lean_alloc_ctor(1, 2, 0); +} else { + x_232 = x_231; +} +lean_ctor_set(x_232, 0, x_229); +lean_ctor_set(x_232, 1, x_230); +return x_232; +} +} +} +else +{ +uint8_t x_233; +lean_dec(x_200); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); lean_dec_ref(x_5); -x_327 = !lean_is_exclusive(x_157); -if (x_327 == 0) +x_233 = !lean_is_exclusive(x_201); +if (x_233 == 0) { -return x_157; +return x_201; } else { -lean_object* x_328; lean_object* x_329; lean_object* x_330; -x_328 = lean_ctor_get(x_157, 0); -x_329 = lean_ctor_get(x_157, 1); -lean_inc(x_329); -lean_inc(x_328); -lean_dec(x_157); -x_330 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_330, 0, x_328); -lean_ctor_set(x_330, 1, x_329); -return x_330; +lean_object* x_234; lean_object* x_235; lean_object* x_236; +x_234 = lean_ctor_get(x_201, 0); +x_235 = lean_ctor_get(x_201, 1); +lean_inc(x_235); +lean_inc(x_234); +lean_dec(x_201); +x_236 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_236, 0, x_234); +lean_ctor_set(x_236, 1, x_235); +return x_236; } } } -block_361: +} +else { -if (x_342 == 0) -{ -lean_object* x_343; lean_object* x_344; lean_object* x_345; -lean_dec_ref(x_337); -x_343 = l_Lean_TSyntax_getId(x_341); -lean_inc_ref(x_334); -lean_inc_ref(x_336); -x_344 = l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3(x_343, x_336, x_340, x_334, x_335, x_339); -x_345 = lean_ctor_get(x_344, 0); -lean_inc(x_345); -if (lean_obj_tag(x_345) == 0) -{ -uint8_t x_346; -lean_dec(x_341); -lean_dec(x_340); -lean_dec_ref(x_336); -lean_dec(x_335); -lean_dec_ref(x_334); -lean_dec(x_333); -lean_dec(x_30); +uint8_t x_237; +lean_dec(x_163); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); lean_dec_ref(x_5); -x_346 = !lean_is_exclusive(x_344); -if (x_346 == 0) +x_237 = !lean_is_exclusive(x_166); +if (x_237 == 0) { -lean_object* x_347; -x_347 = lean_ctor_get(x_344, 0); -lean_dec(x_347); -lean_ctor_set_tag(x_344, 1); -lean_ctor_set(x_344, 0, x_338); -return x_344; +return x_166; } else { -lean_object* x_348; lean_object* x_349; -x_348 = lean_ctor_get(x_344, 1); -lean_inc(x_348); -lean_dec(x_344); -x_349 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_349, 0, x_338); -lean_ctor_set(x_349, 1, x_348); -return x_349; +lean_object* x_238; lean_object* x_239; lean_object* x_240; +x_238 = lean_ctor_get(x_166, 0); +x_239 = lean_ctor_get(x_166, 1); +lean_inc(x_239); +lean_inc(x_238); +lean_dec(x_166); +x_240 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_240, 0, x_238); +lean_ctor_set(x_240, 1, x_239); +return x_240; +} } } else { -lean_dec_ref(x_345); -if (x_332 == 0) -{ -uint8_t x_350; -lean_dec(x_341); -lean_dec(x_340); -lean_dec_ref(x_336); -lean_dec(x_335); -lean_dec_ref(x_334); -lean_dec(x_333); -lean_dec(x_30); +uint8_t x_241; lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); lean_dec_ref(x_5); -x_350 = !lean_is_exclusive(x_344); -if (x_350 == 0) +x_241 = !lean_is_exclusive(x_162); +if (x_241 == 0) { -lean_object* x_351; -x_351 = lean_ctor_get(x_344, 0); -lean_dec(x_351); -lean_ctor_set_tag(x_344, 1); -lean_ctor_set(x_344, 0, x_338); -return x_344; +return x_162; } else { -lean_object* x_352; lean_object* x_353; -x_352 = lean_ctor_get(x_344, 1); -lean_inc(x_352); -lean_dec(x_344); -x_353 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_353, 0, x_338); -lean_ctor_set(x_353, 1, x_352); -return x_353; +lean_object* x_242; lean_object* x_243; lean_object* x_244; +x_242 = lean_ctor_get(x_162, 0); +x_243 = lean_ctor_get(x_162, 1); +lean_inc(x_243); +lean_inc(x_242); +lean_dec(x_162); +x_244 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_244, 0, x_242); +lean_ctor_set(x_244, 1, x_243); +return x_244; } } -else +} +} +block_57: { -lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; -lean_dec_ref(x_338); -x_354 = lean_ctor_get(x_344, 1); -lean_inc(x_354); -lean_dec_ref(x_344); -x_355 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__17; -lean_inc(x_341); -x_356 = l_Lean_MessageData_ofSyntax(x_341); -x_357 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_357, 0, x_355); -lean_ctor_set(x_357, 1, x_356); -x_358 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__19; -x_359 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_359, 0, x_357); -lean_ctor_set(x_359, 1, x_358); -lean_inc_ref(x_334); -x_360 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2___redArg(x_341, x_359, x_336, x_340, x_334, x_335, x_354); -lean_dec(x_341); -x_152 = x_333; -x_153 = x_334; -x_154 = x_335; -x_155 = x_336; -x_156 = x_340; -x_157 = x_360; -goto block_331; -} -} -} -else +lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; +x_41 = lean_unsigned_to_nat(1u); +x_42 = l_Lean_Syntax_getArg(x_32, x_41); +lean_dec(x_32); +x_43 = l_Lean_Elab_Tactic_elabGrindPattern___closed__12; +lean_inc(x_42); +x_44 = l_Lean_Syntax_isOfKind(x_42, x_43); +if (x_44 == 0) { -lean_dec(x_341); -lean_dec_ref(x_338); -x_152 = x_333; -x_153 = x_334; -x_154 = x_335; -x_155 = x_336; -x_156 = x_340; -x_157 = x_337; -goto block_331; -} -} -block_387: -{ -lean_object* x_368; lean_object* x_369; lean_object* x_370; uint8_t x_371; -x_368 = lean_unsigned_to_nat(1u); -x_369 = l_Lean_Syntax_getArg(x_43, x_368); -lean_dec(x_43); -x_370 = l_Lean_Elab_Tactic_elabGrindPattern___closed__12; -lean_inc(x_369); -x_371 = l_Lean_Syntax_isOfKind(x_369, x_370); -if (x_371 == 0) -{ -lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; uint8_t x_377; -lean_dec(x_369); -lean_dec(x_362); +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; +lean_dec(x_42); +lean_dec(x_35); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); lean_dec_ref(x_5); -x_372 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; -x_373 = l_Lean_MessageData_ofSyntax(x_30); -x_374 = l_Lean_indentD(x_373); -x_375 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_375, 0, x_372); -lean_ctor_set(x_375, 1, x_374); -x_376 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_375, x_363, x_364, x_365, x_366, x_367); -lean_dec(x_366); -lean_dec_ref(x_365); -lean_dec(x_364); -lean_dec_ref(x_363); -x_377 = !lean_is_exclusive(x_376); -if (x_377 == 0) +x_45 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_46 = l_Lean_MessageData_ofSyntax(x_19); +x_47 = l_Lean_indentD(x_46); +x_48 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_48, 0, x_45); +lean_ctor_set(x_48, 1, x_47); +x_49 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_48, x_36, x_37, x_38, x_39, x_40); +lean_dec(x_39); +lean_dec_ref(x_38); +lean_dec(x_37); +lean_dec_ref(x_36); +x_50 = !lean_is_exclusive(x_49); +if (x_50 == 0) { -return x_376; +return x_49; } else { -lean_object* x_378; lean_object* x_379; lean_object* x_380; -x_378 = lean_ctor_get(x_376, 0); -x_379 = lean_ctor_get(x_376, 1); -lean_inc(x_379); -lean_inc(x_378); -lean_dec(x_376); -x_380 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_380, 0, x_378); -lean_ctor_set(x_380, 1, x_379); -return x_380; +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_49, 0); +x_52 = lean_ctor_get(x_49, 1); +lean_inc(x_52); +lean_inc(x_51); +lean_dec(x_49); +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 { -lean_object* x_381; lean_object* x_382; -x_381 = lean_box(0); -lean_inc(x_366); -lean_inc_ref(x_365); -lean_inc(x_369); -x_382 = l_Lean_Elab_realizeGlobalConstNoOverloadWithInfo(x_369, x_381, x_365, x_366, x_367); -if (lean_obj_tag(x_382) == 0) +lean_object* x_54; +x_54 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam(x_1, x_5, x_19, x_35, x_42, x_34, x_36, x_37, x_38, x_39, x_40); +lean_dec(x_19); +if (lean_obj_tag(x_54) == 0) { -lean_dec(x_369); -x_152 = x_362; -x_153 = x_365; -x_154 = x_366; -x_155 = x_363; -x_156 = x_364; -x_157 = x_382; -goto block_331; +lean_object* x_55; lean_object* x_56; +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_ref(x_54); +x_11 = x_55; +x_12 = x_56; +goto block_16; } else { -lean_object* x_383; lean_object* x_384; uint8_t x_385; -x_383 = lean_ctor_get(x_382, 0); -lean_inc(x_383); -x_384 = lean_ctor_get(x_382, 1); -lean_inc(x_384); -x_385 = l_Lean_Exception_isInterrupt(x_383); -if (x_385 == 0) -{ -uint8_t x_386; -x_386 = l_Lean_Exception_isRuntime(x_383); -x_332 = x_371; -x_333 = x_362; -x_334 = x_365; -x_335 = x_366; -x_336 = x_363; -x_337 = x_382; -x_338 = x_383; -x_339 = x_384; -x_340 = x_364; -x_341 = x_369; -x_342 = x_386; -goto block_361; -} -else -{ -x_332 = x_371; -x_333 = x_362; -x_334 = x_365; -x_335 = x_366; -x_336 = x_363; -x_337 = x_382; -x_338 = x_383; -x_339 = x_384; -x_340 = x_364; -x_341 = x_369; -x_342 = x_385; -goto block_361; -} +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +return x_54; } } } @@ -16389,985 +17299,313 @@ x_5 = x_11; x_10 = x_12; goto _start; } -block_27: -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -lean_dec(x_22); -lean_dec_ref(x_21); -lean_dec(x_20); -lean_dec_ref(x_19); -x_24 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__2___redArg(x_17, x_18, x_23); -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_ref(x_24); -x_11 = x_25; -x_12 = x_26; -goto block_16; } } -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15(uint8_t 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, lean_object* x_10) { +LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0(uint8_t 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, lean_object* x_10) { _start: { -lean_object* x_11; lean_object* x_12; 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_28; -x_28 = lean_usize_dec_lt(x_4, x_3); -if (x_28 == 0) +lean_object* x_11; lean_object* x_12; uint8_t x_17; +x_17 = lean_usize_dec_lt(x_4, x_3); +if (x_17 == 0) { -lean_object* x_29; +lean_object* x_18; lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); -x_29 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_29, 0, x_5); -lean_ctor_set(x_29, 1, x_10); -return x_29; +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_5); +lean_ctor_set(x_18, 1, x_10); +return x_18; } else { -lean_object* x_30; lean_object* x_31; uint8_t x_32; -x_30 = lean_array_uget(x_2, x_4); -x_31 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -lean_inc(x_30); -x_32 = l_Lean_Syntax_isOfKind(x_30, x_31); -if (x_32 == 0) +lean_object* x_19; lean_object* x_20; uint8_t x_21; +x_19 = lean_array_uget(x_2, x_4); +x_20 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +lean_inc(x_19); +x_21 = l_Lean_Syntax_isOfKind(x_19, x_20); +if (x_21 == 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; +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; uint8_t x_27; lean_dec_ref(x_5); -x_33 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; -x_34 = l_Lean_MessageData_ofSyntax(x_30); -x_35 = l_Lean_indentD(x_34); -x_36 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_36, 0, x_33); -lean_ctor_set(x_36, 1, x_35); -x_37 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_36, x_6, x_7, x_8, x_9, x_10); +x_22 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_23 = l_Lean_MessageData_ofSyntax(x_19); +x_24 = l_Lean_indentD(x_23); +x_25 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_25, 0, x_22); +lean_ctor_set(x_25, 1, x_24); +x_26 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_25, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); -x_38 = !lean_is_exclusive(x_37); -if (x_38 == 0) +x_27 = !lean_is_exclusive(x_26); +if (x_27 == 0) { -return x_37; +return x_26; } else { -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_37, 0); -x_40 = lean_ctor_get(x_37, 1); -lean_inc(x_40); -lean_inc(x_39); -lean_dec(x_37); -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; +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_26, 0); +x_29 = lean_ctor_get(x_26, 1); +lean_inc(x_29); +lean_inc(x_28); +lean_dec(x_26); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_28); +lean_ctor_set(x_30, 1, x_29); +return x_30; } } else { -lean_object* x_42; 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; lean_object* x_52; 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_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_332; uint8_t x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; lean_object* x_339; lean_object* x_340; lean_object* x_341; uint8_t x_342; lean_object* x_362; lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; -x_42 = lean_unsigned_to_nat(0u); -x_43 = l_Lean_Syntax_getArg(x_30, x_42); -x_44 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__5; -lean_inc(x_43); -x_45 = l_Lean_Syntax_isOfKind(x_43, x_44); -if (x_45 == 0) +lean_object* x_31; lean_object* x_32; 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; +x_31 = lean_unsigned_to_nat(0u); +x_32 = l_Lean_Syntax_getArg(x_19, x_31); +x_33 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__5; +lean_inc(x_32); +x_34 = l_Lean_Syntax_isOfKind(x_32, x_33); +if (x_34 == 0) { -lean_object* x_388; uint8_t x_389; -x_388 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -lean_inc(x_43); -x_389 = l_Lean_Syntax_isOfKind(x_43, x_388); -if (x_389 == 0) +lean_object* x_58; uint8_t x_59; +x_58 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +lean_inc(x_32); +x_59 = l_Lean_Syntax_isOfKind(x_32, x_58); +if (x_59 == 0) { -lean_object* x_390; lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; uint8_t x_395; -lean_dec(x_43); +lean_object* x_60; uint8_t 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_60 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +lean_inc(x_32); +x_61 = l_Lean_Syntax_isOfKind(x_32, x_60); +if (x_61 == 0) +{ +lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; uint8_t x_90; +lean_dec(x_32); lean_dec_ref(x_5); -x_390 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; -x_391 = l_Lean_MessageData_ofSyntax(x_30); -x_392 = l_Lean_indentD(x_391); -x_393 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_393, 0, x_390); -lean_ctor_set(x_393, 1, x_392); -x_394 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_393, x_6, x_7, x_8, x_9, x_10); +x_85 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_86 = l_Lean_MessageData_ofSyntax(x_19); +x_87 = l_Lean_indentD(x_86); +x_88 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_88, 0, x_85); +lean_ctor_set(x_88, 1, x_87); +x_89 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_88, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); -x_395 = !lean_is_exclusive(x_394); -if (x_395 == 0) -{ -return x_394; -} -else -{ -lean_object* x_396; lean_object* x_397; lean_object* x_398; -x_396 = lean_ctor_get(x_394, 0); -x_397 = lean_ctor_get(x_394, 1); -lean_inc(x_397); -lean_inc(x_396); -lean_dec(x_394); -x_398 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_398, 0, x_396); -lean_ctor_set(x_398, 1, x_397); -return x_398; -} -} -else -{ -lean_object* x_399; uint8_t x_400; -x_399 = l_Lean_Syntax_getArg(x_43, x_42); -x_400 = l_Lean_Syntax_isNone(x_399); -if (x_400 == 0) -{ -lean_object* x_401; uint8_t x_402; -x_401 = lean_unsigned_to_nat(1u); -lean_inc(x_399); -x_402 = l_Lean_Syntax_matchesNull(x_399, x_401); -if (x_402 == 0) -{ -lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; uint8_t x_408; -lean_dec(x_399); -lean_dec(x_43); -lean_dec_ref(x_5); -x_403 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; -x_404 = l_Lean_MessageData_ofSyntax(x_30); -x_405 = l_Lean_indentD(x_404); -x_406 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_406, 0, x_403); -lean_ctor_set(x_406, 1, x_405); -x_407 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_406, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_408 = !lean_is_exclusive(x_407); -if (x_408 == 0) -{ -return x_407; -} -else -{ -lean_object* x_409; lean_object* x_410; lean_object* x_411; -x_409 = lean_ctor_get(x_407, 0); -x_410 = lean_ctor_get(x_407, 1); -lean_inc(x_410); -lean_inc(x_409); -lean_dec(x_407); -x_411 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_411, 0, x_409); -lean_ctor_set(x_411, 1, x_410); -return x_411; -} -} -else -{ -lean_object* x_412; lean_object* x_413; uint8_t x_414; -x_412 = l_Lean_Syntax_getArg(x_399, x_42); -lean_dec(x_399); -x_413 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -lean_inc(x_412); -x_414 = l_Lean_Syntax_isOfKind(x_412, x_413); -if (x_414 == 0) -{ -lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; uint8_t x_420; -lean_dec(x_412); -lean_dec(x_43); -lean_dec_ref(x_5); -x_415 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; -x_416 = l_Lean_MessageData_ofSyntax(x_30); -x_417 = l_Lean_indentD(x_416); -x_418 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_418, 0, x_415); -lean_ctor_set(x_418, 1, x_417); -x_419 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_418, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_420 = !lean_is_exclusive(x_419); -if (x_420 == 0) -{ -return x_419; -} -else -{ -lean_object* x_421; lean_object* x_422; lean_object* x_423; -x_421 = lean_ctor_get(x_419, 0); -x_422 = lean_ctor_get(x_419, 1); -lean_inc(x_422); -lean_inc(x_421); -lean_dec(x_419); -x_423 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_423, 0, x_421); -lean_ctor_set(x_423, 1, x_422); -return x_423; -} -} -else -{ -lean_object* x_424; -x_424 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_424, 0, x_412); -lean_inc(x_9); -lean_inc_ref(x_8); -lean_inc(x_7); -lean_inc_ref(x_6); -x_362 = x_424; -x_363 = x_6; -x_364 = x_7; -x_365 = x_8; -x_366 = x_9; -x_367 = x_10; -goto block_387; -} -} -} -else -{ -lean_object* x_425; -lean_dec(x_399); -x_425 = lean_box(0); -lean_inc(x_9); -lean_inc_ref(x_8); -lean_inc(x_7); -lean_inc_ref(x_6); -x_362 = x_425; -x_363 = x_6; -x_364 = x_7; -x_365 = x_8; -x_366 = x_9; -x_367 = x_10; -goto block_387; -} -} -} -else -{ -lean_object* x_426; lean_object* x_427; lean_object* x_428; uint8_t x_429; -x_426 = lean_unsigned_to_nat(1u); -x_427 = l_Lean_Syntax_getArg(x_43, x_426); -lean_dec(x_43); -x_428 = l_Lean_Elab_Tactic_elabGrindPattern___closed__12; -lean_inc(x_427); -x_429 = l_Lean_Syntax_isOfKind(x_427, x_428); -if (x_429 == 0) -{ -lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; uint8_t x_435; -lean_dec(x_427); -lean_dec_ref(x_5); -x_430 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; -x_431 = l_Lean_MessageData_ofSyntax(x_30); -x_432 = l_Lean_indentD(x_431); -x_433 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_433, 0, x_430); -lean_ctor_set(x_433, 1, x_432); -x_434 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_433, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_435 = !lean_is_exclusive(x_434); -if (x_435 == 0) -{ -return x_434; -} -else -{ -lean_object* x_436; lean_object* x_437; lean_object* x_438; -x_436 = lean_ctor_get(x_434, 0); -x_437 = lean_ctor_get(x_434, 1); -lean_inc(x_437); -lean_inc(x_436); -lean_dec(x_434); -x_438 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_438, 0, x_436); -lean_ctor_set(x_438, 1, x_437); -return x_438; -} -} -else -{ -lean_object* x_439; lean_object* x_440; -lean_dec(x_30); -x_439 = lean_box(0); -lean_inc(x_9); -lean_inc_ref(x_8); -x_440 = l_Lean_Elab_realizeGlobalConstNoOverloadWithInfo(x_427, x_439, x_8, x_9, x_10); -if (lean_obj_tag(x_440) == 0) -{ -lean_object* x_441; lean_object* x_442; uint8_t x_443; lean_object* x_444; -x_441 = lean_ctor_get(x_440, 0); -lean_inc(x_441); -x_442 = lean_ctor_get(x_440, 1); -lean_inc(x_442); -lean_dec_ref(x_440); -x_443 = 0; -lean_inc(x_9); -lean_inc_ref(x_8); -lean_inc(x_441); -x_444 = l_Lean_Meta_Grind_isCasesAttrCandidate_x3f(x_441, x_443, x_8, x_9, x_442); -if (lean_obj_tag(x_444) == 0) -{ -lean_object* x_445; -x_445 = lean_ctor_get(x_444, 0); -lean_inc(x_445); -if (lean_obj_tag(x_445) == 0) -{ -lean_object* x_446; uint8_t x_447; -x_446 = lean_ctor_get(x_444, 1); -lean_inc(x_446); -lean_dec_ref(x_444); -x_447 = !lean_is_exclusive(x_5); -if (x_447 == 0) -{ -lean_object* x_448; lean_object* x_449; lean_object* x_450; lean_object* x_451; lean_object* x_452; lean_object* x_453; lean_object* x_454; lean_object* x_455; -x_448 = lean_ctor_get(x_5, 0); -x_449 = lean_ctor_get(x_5, 1); -x_450 = lean_ctor_get(x_5, 2); -x_451 = lean_ctor_get(x_5, 3); -x_452 = lean_ctor_get(x_5, 4); -x_453 = lean_ctor_get(x_5, 5); -x_454 = lean_ctor_get(x_5, 6); -lean_inc(x_9); -lean_inc_ref(x_8); -lean_inc(x_7); -lean_inc_ref(x_6); -x_455 = l_Lean_Meta_Grind_EMatchTheorems_eraseDecl(x_449, x_441, x_6, x_7, x_8, x_9, x_446); -if (lean_obj_tag(x_455) == 0) -{ -lean_object* x_456; lean_object* x_457; -x_456 = lean_ctor_get(x_455, 0); -lean_inc(x_456); -x_457 = lean_ctor_get(x_455, 1); -lean_inc(x_457); -lean_dec_ref(x_455); -lean_ctor_set(x_5, 1, x_456); -x_11 = x_5; -x_12 = x_457; -goto block_16; -} -else -{ -uint8_t x_458; -lean_free_object(x_5); -lean_dec_ref(x_454); -lean_dec_ref(x_453); -lean_dec_ref(x_452); -lean_dec_ref(x_451); -lean_dec_ref(x_450); -lean_dec_ref(x_448); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_458 = !lean_is_exclusive(x_455); -if (x_458 == 0) -{ -return x_455; -} -else -{ -lean_object* x_459; lean_object* x_460; lean_object* x_461; -x_459 = lean_ctor_get(x_455, 0); -x_460 = lean_ctor_get(x_455, 1); -lean_inc(x_460); -lean_inc(x_459); -lean_dec(x_455); -x_461 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_461, 0, x_459); -lean_ctor_set(x_461, 1, x_460); -return x_461; -} -} -} -else -{ -lean_object* x_462; lean_object* x_463; lean_object* x_464; lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; lean_object* x_469; -x_462 = lean_ctor_get(x_5, 0); -x_463 = lean_ctor_get(x_5, 1); -x_464 = lean_ctor_get(x_5, 2); -x_465 = lean_ctor_get(x_5, 3); -x_466 = lean_ctor_get(x_5, 4); -x_467 = lean_ctor_get(x_5, 5); -x_468 = lean_ctor_get(x_5, 6); -lean_inc(x_468); -lean_inc(x_467); -lean_inc(x_466); -lean_inc(x_465); -lean_inc(x_464); -lean_inc(x_463); -lean_inc(x_462); -lean_dec(x_5); -lean_inc(x_9); -lean_inc_ref(x_8); -lean_inc(x_7); -lean_inc_ref(x_6); -x_469 = l_Lean_Meta_Grind_EMatchTheorems_eraseDecl(x_463, x_441, x_6, x_7, x_8, x_9, x_446); -if (lean_obj_tag(x_469) == 0) -{ -lean_object* x_470; lean_object* x_471; lean_object* x_472; -x_470 = lean_ctor_get(x_469, 0); -lean_inc(x_470); -x_471 = lean_ctor_get(x_469, 1); -lean_inc(x_471); -lean_dec_ref(x_469); -x_472 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_472, 0, x_462); -lean_ctor_set(x_472, 1, x_470); -lean_ctor_set(x_472, 2, x_464); -lean_ctor_set(x_472, 3, x_465); -lean_ctor_set(x_472, 4, x_466); -lean_ctor_set(x_472, 5, x_467); -lean_ctor_set(x_472, 6, x_468); -x_11 = x_472; -x_12 = x_471; -goto block_16; -} -else -{ -lean_object* x_473; lean_object* x_474; lean_object* x_475; lean_object* x_476; -lean_dec_ref(x_468); -lean_dec_ref(x_467); -lean_dec_ref(x_466); -lean_dec_ref(x_465); -lean_dec_ref(x_464); -lean_dec_ref(x_462); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_473 = lean_ctor_get(x_469, 0); -lean_inc(x_473); -x_474 = lean_ctor_get(x_469, 1); -lean_inc(x_474); -if (lean_is_exclusive(x_469)) { - lean_ctor_release(x_469, 0); - lean_ctor_release(x_469, 1); - x_475 = x_469; -} else { - lean_dec_ref(x_469); - x_475 = lean_box(0); -} -if (lean_is_scalar(x_475)) { - x_476 = lean_alloc_ctor(1, 2, 0); -} else { - x_476 = x_475; -} -lean_ctor_set(x_476, 0, x_473); -lean_ctor_set(x_476, 1, x_474); -return x_476; -} -} -} -else -{ -lean_object* x_477; lean_object* x_478; lean_object* x_479; -lean_dec(x_441); -x_477 = lean_ctor_get(x_444, 1); -lean_inc(x_477); -lean_dec_ref(x_444); -x_478 = lean_ctor_get(x_445, 0); -lean_inc(x_478); -lean_dec_ref(x_445); -lean_inc(x_478); -x_479 = l_Lean_Meta_Grind_ensureNotBuiltinCases(x_478, x_8, x_9, x_477); -if (lean_obj_tag(x_479) == 0) -{ -lean_object* x_480; uint8_t x_481; -x_480 = lean_ctor_get(x_479, 1); -lean_inc(x_480); -lean_dec_ref(x_479); -x_481 = !lean_is_exclusive(x_5); -if (x_481 == 0) -{ -lean_object* x_482; lean_object* x_483; lean_object* x_484; lean_object* x_485; lean_object* x_486; lean_object* x_487; lean_object* x_488; lean_object* x_489; -x_482 = lean_ctor_get(x_5, 0); -x_483 = lean_ctor_get(x_5, 1); -x_484 = lean_ctor_get(x_5, 2); -x_485 = lean_ctor_get(x_5, 3); -x_486 = lean_ctor_get(x_5, 4); -x_487 = lean_ctor_get(x_5, 5); -x_488 = lean_ctor_get(x_5, 6); -x_489 = l_Lean_Meta_Grind_CasesTypes_eraseDecl(x_485, x_478, x_8, x_9, x_480); -if (lean_obj_tag(x_489) == 0) -{ -lean_object* x_490; lean_object* x_491; -x_490 = lean_ctor_get(x_489, 0); -lean_inc(x_490); -x_491 = lean_ctor_get(x_489, 1); -lean_inc(x_491); -lean_dec_ref(x_489); -lean_ctor_set(x_5, 3, x_490); -x_11 = x_5; -x_12 = x_491; -goto block_16; -} -else -{ -uint8_t x_492; -lean_free_object(x_5); -lean_dec_ref(x_488); -lean_dec_ref(x_487); -lean_dec_ref(x_486); -lean_dec_ref(x_484); -lean_dec_ref(x_483); -lean_dec_ref(x_482); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_492 = !lean_is_exclusive(x_489); -if (x_492 == 0) -{ -return x_489; -} -else -{ -lean_object* x_493; lean_object* x_494; lean_object* x_495; -x_493 = lean_ctor_get(x_489, 0); -x_494 = lean_ctor_get(x_489, 1); -lean_inc(x_494); -lean_inc(x_493); -lean_dec(x_489); -x_495 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_495, 0, x_493); -lean_ctor_set(x_495, 1, x_494); -return x_495; -} -} -} -else -{ -lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; lean_object* x_500; lean_object* x_501; lean_object* x_502; lean_object* x_503; -x_496 = lean_ctor_get(x_5, 0); -x_497 = lean_ctor_get(x_5, 1); -x_498 = lean_ctor_get(x_5, 2); -x_499 = lean_ctor_get(x_5, 3); -x_500 = lean_ctor_get(x_5, 4); -x_501 = lean_ctor_get(x_5, 5); -x_502 = lean_ctor_get(x_5, 6); -lean_inc(x_502); -lean_inc(x_501); -lean_inc(x_500); -lean_inc(x_499); -lean_inc(x_498); -lean_inc(x_497); -lean_inc(x_496); -lean_dec(x_5); -x_503 = l_Lean_Meta_Grind_CasesTypes_eraseDecl(x_499, x_478, x_8, x_9, x_480); -if (lean_obj_tag(x_503) == 0) -{ -lean_object* x_504; lean_object* x_505; lean_object* x_506; -x_504 = lean_ctor_get(x_503, 0); -lean_inc(x_504); -x_505 = lean_ctor_get(x_503, 1); -lean_inc(x_505); -lean_dec_ref(x_503); -x_506 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_506, 0, x_496); -lean_ctor_set(x_506, 1, x_497); -lean_ctor_set(x_506, 2, x_498); -lean_ctor_set(x_506, 3, x_504); -lean_ctor_set(x_506, 4, x_500); -lean_ctor_set(x_506, 5, x_501); -lean_ctor_set(x_506, 6, x_502); -x_11 = x_506; -x_12 = x_505; -goto block_16; -} -else -{ -lean_object* x_507; lean_object* x_508; lean_object* x_509; lean_object* x_510; -lean_dec_ref(x_502); -lean_dec_ref(x_501); -lean_dec_ref(x_500); -lean_dec_ref(x_498); -lean_dec_ref(x_497); -lean_dec_ref(x_496); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_507 = lean_ctor_get(x_503, 0); -lean_inc(x_507); -x_508 = lean_ctor_get(x_503, 1); -lean_inc(x_508); -if (lean_is_exclusive(x_503)) { - lean_ctor_release(x_503, 0); - lean_ctor_release(x_503, 1); - x_509 = x_503; -} else { - lean_dec_ref(x_503); - x_509 = lean_box(0); -} -if (lean_is_scalar(x_509)) { - x_510 = lean_alloc_ctor(1, 2, 0); -} else { - x_510 = x_509; -} -lean_ctor_set(x_510, 0, x_507); -lean_ctor_set(x_510, 1, x_508); -return x_510; -} -} -} -else -{ -uint8_t x_511; -lean_dec(x_478); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_511 = !lean_is_exclusive(x_479); -if (x_511 == 0) -{ -return x_479; -} -else -{ -lean_object* x_512; lean_object* x_513; lean_object* x_514; -x_512 = lean_ctor_get(x_479, 0); -x_513 = lean_ctor_get(x_479, 1); -lean_inc(x_513); -lean_inc(x_512); -lean_dec(x_479); -x_514 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_514, 0, x_512); -lean_ctor_set(x_514, 1, x_513); -return x_514; -} -} -} -} -else -{ -uint8_t x_515; -lean_dec(x_441); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_515 = !lean_is_exclusive(x_444); -if (x_515 == 0) -{ -return x_444; -} -else -{ -lean_object* x_516; lean_object* x_517; lean_object* x_518; -x_516 = lean_ctor_get(x_444, 0); -x_517 = lean_ctor_get(x_444, 1); -lean_inc(x_517); -lean_inc(x_516); -lean_dec(x_444); -x_518 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_518, 0, x_516); -lean_ctor_set(x_518, 1, x_517); -return x_518; -} -} -} -else -{ -uint8_t x_519; -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_519 = !lean_is_exclusive(x_440); -if (x_519 == 0) -{ -return x_440; -} -else -{ -lean_object* x_520; lean_object* x_521; lean_object* x_522; -x_520 = lean_ctor_get(x_440, 0); -x_521 = lean_ctor_get(x_440, 1); -lean_inc(x_521); -lean_inc(x_520); -lean_dec(x_440); -x_522 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_522, 0, x_520); -lean_ctor_set(x_522, 1, x_521); -return x_522; -} -} -} -} -block_120: -{ -lean_object* x_53; -lean_inc(x_51); -lean_inc_ref(x_50); -lean_inc(x_46); -x_53 = l_Lean_Meta_Grind_isCasesAttrCandidate_x3f(x_46, x_45, x_50, x_51, x_52); -if (lean_obj_tag(x_53) == 0) -{ -lean_object* x_54; -x_54 = lean_ctor_get(x_53, 0); -lean_inc(x_54); -if (lean_obj_tag(x_54) == 0) -{ -lean_object* x_55; uint8_t x_56; -x_55 = lean_ctor_get(x_53, 1); -lean_inc(x_55); -lean_dec_ref(x_53); -x_56 = !lean_is_exclusive(x_50); -if (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_50, 5); -x_58 = lean_alloc_ctor(8, 0, 1); -lean_ctor_set_uint8(x_58, 0, x_45); -x_59 = l_Lean_replaceRef(x_30, x_57); -lean_dec(x_57); -lean_dec(x_30); -lean_ctor_set(x_50, 5, x_59); -x_60 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_47, x_46, x_58, x_48, x_49, x_50, x_51, x_55); -if (lean_obj_tag(x_60) == 0) -{ -lean_object* x_61; lean_object* x_62; -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_ref(x_60); -x_11 = x_61; -x_12 = x_62; -goto block_16; -} -else -{ -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -return x_60; -} -} -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; uint8_t x_75; lean_object* x_76; uint8_t x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; -x_63 = lean_ctor_get(x_50, 0); -x_64 = lean_ctor_get(x_50, 1); -x_65 = lean_ctor_get(x_50, 2); -x_66 = lean_ctor_get(x_50, 3); -x_67 = lean_ctor_get(x_50, 4); -x_68 = lean_ctor_get(x_50, 5); -x_69 = lean_ctor_get(x_50, 6); -x_70 = lean_ctor_get(x_50, 7); -x_71 = lean_ctor_get(x_50, 8); -x_72 = lean_ctor_get(x_50, 9); -x_73 = lean_ctor_get(x_50, 10); -x_74 = lean_ctor_get(x_50, 11); -x_75 = lean_ctor_get_uint8(x_50, sizeof(void*)*14); -x_76 = lean_ctor_get(x_50, 12); -x_77 = lean_ctor_get_uint8(x_50, sizeof(void*)*14 + 1); -x_78 = lean_ctor_get(x_50, 13); -lean_inc(x_78); -lean_inc(x_76); -lean_inc(x_74); -lean_inc(x_73); -lean_inc(x_72); -lean_inc(x_71); -lean_inc(x_70); -lean_inc(x_69); -lean_inc(x_68); -lean_inc(x_67); -lean_inc(x_66); -lean_inc(x_65); -lean_inc(x_64); -lean_inc(x_63); -lean_dec(x_50); -x_79 = lean_alloc_ctor(8, 0, 1); -lean_ctor_set_uint8(x_79, 0, x_45); -x_80 = l_Lean_replaceRef(x_30, x_68); -lean_dec(x_68); -lean_dec(x_30); -x_81 = lean_alloc_ctor(0, 14, 2); -lean_ctor_set(x_81, 0, x_63); -lean_ctor_set(x_81, 1, x_64); -lean_ctor_set(x_81, 2, x_65); -lean_ctor_set(x_81, 3, x_66); -lean_ctor_set(x_81, 4, x_67); -lean_ctor_set(x_81, 5, x_80); -lean_ctor_set(x_81, 6, x_69); -lean_ctor_set(x_81, 7, x_70); -lean_ctor_set(x_81, 8, x_71); -lean_ctor_set(x_81, 9, x_72); -lean_ctor_set(x_81, 10, x_73); -lean_ctor_set(x_81, 11, x_74); -lean_ctor_set(x_81, 12, x_76); -lean_ctor_set(x_81, 13, x_78); -lean_ctor_set_uint8(x_81, sizeof(void*)*14, x_75); -lean_ctor_set_uint8(x_81, sizeof(void*)*14 + 1, x_77); -x_82 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_47, x_46, x_79, x_48, x_49, x_81, x_51, x_55); -if (lean_obj_tag(x_82) == 0) -{ -lean_object* x_83; lean_object* x_84; -x_83 = lean_ctor_get(x_82, 0); -lean_inc(x_83); -x_84 = lean_ctor_get(x_82, 1); -lean_inc(x_84); -lean_dec_ref(x_82); -x_11 = x_83; -x_12 = x_84; -goto block_16; -} -else -{ -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -return x_82; -} -} -} -else -{ -lean_object* x_85; lean_object* x_86; lean_object* x_87; -lean_dec(x_46); -x_85 = lean_ctor_get(x_53, 1); -lean_inc(x_85); -lean_dec_ref(x_53); -x_86 = lean_ctor_get(x_54, 0); -lean_inc(x_86); -lean_dec_ref(x_54); -lean_inc(x_51); -lean_inc_ref(x_50); -lean_inc(x_49); -lean_inc_ref(x_48); -lean_inc(x_86); -x_87 = l_Lean_Meta_isInductivePredicate_x3f(x_86, x_48, x_49, x_50, x_51, x_85); -if (lean_obj_tag(x_87) == 0) -{ -lean_object* x_88; lean_object* x_89; uint8_t x_90; -x_88 = lean_ctor_get(x_87, 0); -lean_inc(x_88); -x_89 = lean_ctor_get(x_87, 1); -lean_inc(x_89); -lean_dec_ref(x_87); -x_90 = !lean_is_exclusive(x_47); +x_90 = !lean_is_exclusive(x_89); if (x_90 == 0) { -lean_object* x_91; lean_object* x_92; -x_91 = lean_ctor_get(x_47, 3); -x_92 = l_Lean_Meta_Grind_CasesTypes_insert(x_91, x_86, x_45); -lean_ctor_set(x_47, 3, x_92); -if (lean_obj_tag(x_88) == 0) -{ -lean_dec(x_51); -lean_dec_ref(x_50); -lean_dec(x_49); -lean_dec_ref(x_48); -lean_dec(x_30); -x_11 = x_47; -x_12 = x_89; -goto block_16; +return x_89; } else { -lean_object* x_93; lean_object* x_94; lean_object* x_95; -x_93 = lean_ctor_get(x_88, 0); -lean_inc(x_93); -lean_dec_ref(x_88); -x_94 = lean_ctor_get(x_93, 4); -lean_inc(x_94); -lean_dec(x_93); -x_95 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___redArg(x_30, x_45, x_94, x_47, x_48, x_49, x_50, x_51, x_89); -lean_dec_ref(x_50); -lean_dec(x_30); -if (lean_obj_tag(x_95) == 0) -{ -lean_object* x_96; lean_object* x_97; -x_96 = lean_ctor_get(x_95, 0); -lean_inc(x_96); -x_97 = lean_ctor_get(x_95, 1); -lean_inc(x_97); -lean_dec_ref(x_95); -x_11 = x_96; -x_12 = x_97; -goto block_16; +lean_object* x_91; lean_object* x_92; lean_object* x_93; +x_91 = lean_ctor_get(x_89, 0); +x_92 = lean_ctor_get(x_89, 1); +lean_inc(x_92); +lean_inc(x_91); +lean_dec(x_89); +x_93 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_93, 0, x_91); +lean_ctor_set(x_93, 1, x_92); +return x_93; +} } else { +lean_object* x_94; lean_object* x_95; uint8_t x_96; +x_94 = lean_unsigned_to_nat(1u); +x_95 = l_Lean_Syntax_getArg(x_32, x_94); +x_96 = l_Lean_Syntax_isNone(x_95); +if (x_96 == 0) +{ +uint8_t x_97; +lean_inc(x_95); +x_97 = l_Lean_Syntax_matchesNull(x_95, x_94); +if (x_97 == 0) +{ +lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; uint8_t x_103; +lean_dec(x_95); +lean_dec(x_32); +lean_dec_ref(x_5); +x_98 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_99 = l_Lean_MessageData_ofSyntax(x_19); +x_100 = l_Lean_indentD(x_99); +x_101 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_101, 0, x_98); +lean_ctor_set(x_101, 1, x_100); +x_102 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_101, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); -return x_95; -} -} +x_103 = !lean_is_exclusive(x_102); +if (x_103 == 0) +{ +return x_102; } else { -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_98 = lean_ctor_get(x_47, 0); -x_99 = lean_ctor_get(x_47, 1); -x_100 = lean_ctor_get(x_47, 2); -x_101 = lean_ctor_get(x_47, 3); -x_102 = lean_ctor_get(x_47, 4); -x_103 = lean_ctor_get(x_47, 5); -x_104 = lean_ctor_get(x_47, 6); +lean_object* x_104; lean_object* x_105; lean_object* x_106; +x_104 = lean_ctor_get(x_102, 0); +x_105 = lean_ctor_get(x_102, 1); +lean_inc(x_105); lean_inc(x_104); -lean_inc(x_103); -lean_inc(x_102); -lean_inc(x_101); -lean_inc(x_100); -lean_inc(x_99); -lean_inc(x_98); -lean_dec(x_47); -x_105 = l_Lean_Meta_Grind_CasesTypes_insert(x_101, x_86, x_45); -x_106 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_106, 0, x_98); -lean_ctor_set(x_106, 1, x_99); -lean_ctor_set(x_106, 2, x_100); -lean_ctor_set(x_106, 3, x_105); -lean_ctor_set(x_106, 4, x_102); -lean_ctor_set(x_106, 5, x_103); -lean_ctor_set(x_106, 6, x_104); -if (lean_obj_tag(x_88) == 0) -{ -lean_dec(x_51); -lean_dec_ref(x_50); -lean_dec(x_49); -lean_dec_ref(x_48); -lean_dec(x_30); -x_11 = x_106; -x_12 = x_89; -goto block_16; +lean_dec(x_102); +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; +} } else { -lean_object* x_107; lean_object* x_108; lean_object* x_109; -x_107 = lean_ctor_get(x_88, 0); +lean_object* x_107; lean_object* x_108; uint8_t x_109; +x_107 = l_Lean_Syntax_getArg(x_95, x_31); +lean_dec(x_95); +x_108 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; lean_inc(x_107); -lean_dec_ref(x_88); -x_108 = lean_ctor_get(x_107, 4); -lean_inc(x_108); -lean_dec(x_107); -x_109 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___redArg(x_30, x_45, x_108, x_106, x_48, x_49, x_50, x_51, x_89); -lean_dec_ref(x_50); -lean_dec(x_30); -if (lean_obj_tag(x_109) == 0) +x_109 = l_Lean_Syntax_isOfKind(x_107, x_108); +if (x_109 == 0) { -lean_object* x_110; lean_object* x_111; -x_110 = lean_ctor_get(x_109, 0); -lean_inc(x_110); -x_111 = lean_ctor_get(x_109, 1); -lean_inc(x_111); -lean_dec_ref(x_109); -x_11 = x_110; -x_12 = x_111; +lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; uint8_t x_115; +lean_dec(x_107); +lean_dec(x_32); +lean_dec_ref(x_5); +x_110 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_111 = l_Lean_MessageData_ofSyntax(x_19); +x_112 = l_Lean_indentD(x_111); +x_113 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_113, 0, x_110); +lean_ctor_set(x_113, 1, x_112); +x_114 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_113, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_115 = !lean_is_exclusive(x_114); +if (x_115 == 0) +{ +return x_114; +} +else +{ +lean_object* x_116; lean_object* x_117; lean_object* x_118; +x_116 = lean_ctor_get(x_114, 0); +x_117 = lean_ctor_get(x_114, 1); +lean_inc(x_117); +lean_inc(x_116); +lean_dec(x_114); +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; +} +} +else +{ +lean_object* x_119; +x_119 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_119, 0, x_107); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); +x_62 = x_119; +x_63 = x_6; +x_64 = x_7; +x_65 = x_8; +x_66 = x_9; +x_67 = x_10; +goto block_84; +} +} +} +else +{ +lean_object* x_120; +lean_dec(x_95); +x_120 = lean_box(0); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); +x_62 = x_120; +x_63 = x_6; +x_64 = x_7; +x_65 = x_8; +x_66 = x_9; +x_67 = x_10; +goto block_84; +} +} +block_84: +{ +lean_object* x_68; lean_object* x_69; lean_object* x_70; uint8_t x_71; +x_68 = lean_unsigned_to_nat(2u); +x_69 = l_Lean_Syntax_getArg(x_32, x_68); +lean_dec(x_32); +x_70 = l_Lean_Elab_Tactic_elabGrindPattern___closed__12; +lean_inc(x_69); +x_71 = l_Lean_Syntax_isOfKind(x_69, x_70); +if (x_71 == 0) +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; +lean_dec(x_69); +lean_dec(x_62); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +lean_dec_ref(x_5); +x_72 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_73 = l_Lean_MessageData_ofSyntax(x_19); +x_74 = l_Lean_indentD(x_73); +x_75 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_75, 0, x_72); +lean_ctor_set(x_75, 1, x_74); +x_76 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_75, x_63, x_64, x_65, x_66, x_67); +lean_dec(x_66); +lean_dec_ref(x_65); +lean_dec(x_64); +lean_dec_ref(x_63); +x_77 = !lean_is_exclusive(x_76); +if (x_77 == 0) +{ +return x_76; +} +else +{ +lean_object* x_78; lean_object* x_79; lean_object* x_80; +x_78 = lean_ctor_get(x_76, 0); +x_79 = lean_ctor_get(x_76, 1); +lean_inc(x_79); +lean_inc(x_78); +lean_dec(x_76); +x_80 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_80, 0, x_78); +lean_ctor_set(x_80, 1, x_79); +return x_80; +} +} +else +{ +lean_object* x_81; +x_81 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam(x_1, x_5, x_19, x_62, x_69, x_61, x_63, x_64, x_65, x_66, x_67); +lean_dec(x_19); +if (lean_obj_tag(x_81) == 0) +{ +lean_object* x_82; lean_object* x_83; +x_82 = lean_ctor_get(x_81, 0); +lean_inc(x_82); +x_83 = lean_ctor_get(x_81, 1); +lean_inc(x_83); +lean_dec_ref(x_81); +x_11 = x_82; +x_12 = x_83; goto block_16; } else @@ -17376,1269 +17614,671 @@ lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); -return x_109; +return x_81; } } } } else { -uint8_t x_112; -lean_dec(x_86); -lean_dec(x_51); -lean_dec_ref(x_50); -lean_dec(x_49); -lean_dec_ref(x_48); -lean_dec_ref(x_47); -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_112 = !lean_is_exclusive(x_87); -if (x_112 == 0) +lean_object* x_121; uint8_t x_122; +x_121 = l_Lean_Syntax_getArg(x_32, x_31); +x_122 = l_Lean_Syntax_isNone(x_121); +if (x_122 == 0) { -return x_87; -} -else +lean_object* x_123; uint8_t x_124; +x_123 = lean_unsigned_to_nat(1u); +lean_inc(x_121); +x_124 = l_Lean_Syntax_matchesNull(x_121, x_123); +if (x_124 == 0) { -lean_object* x_113; lean_object* x_114; lean_object* x_115; -x_113 = lean_ctor_get(x_87, 0); -x_114 = lean_ctor_get(x_87, 1); -lean_inc(x_114); -lean_inc(x_113); -lean_dec(x_87); -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_116; -lean_dec(x_51); -lean_dec_ref(x_50); -lean_dec(x_49); -lean_dec_ref(x_48); -lean_dec_ref(x_47); -lean_dec(x_46); -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_116 = !lean_is_exclusive(x_53); -if (x_116 == 0) -{ -return x_53; -} -else -{ -lean_object* x_117; lean_object* x_118; lean_object* x_119; -x_117 = lean_ctor_get(x_53, 0); -x_118 = lean_ctor_get(x_53, 1); -lean_inc(x_118); -lean_inc(x_117); -lean_dec(x_53); -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; -} -} -} -block_151: -{ -lean_object* x_129; -x_129 = l_Lean_Meta_Grind_getEMatchTheorems___redArg(x_127, x_128); -if (lean_obj_tag(x_129) == 0) -{ -lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; uint8_t x_136; -x_130 = lean_ctor_get(x_129, 0); -lean_inc(x_130); -x_131 = lean_ctor_get(x_129, 1); -lean_inc(x_131); -lean_dec_ref(x_129); -lean_inc(x_122); -x_132 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_132, 0, x_122); -x_133 = l_Lean_Meta_Grind_EMatchTheorems_find(x_130, x_132); -lean_dec_ref(x_132); -x_134 = lean_box(0); -x_135 = l_List_filterTR_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__1(x_121, x_133, x_134); +lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; uint8_t x_130; lean_dec(x_121); -x_136 = l_List_isEmpty___redArg(x_135); -if (x_136 == 0) -{ -lean_dec(x_122); -lean_dec(x_30); -x_17 = x_135; -x_18 = x_123; -x_19 = x_124; -x_20 = x_125; -x_21 = x_126; -x_22 = x_127; -x_23 = x_131; -goto block_27; -} -else -{ -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; -lean_dec(x_135); -lean_dec_ref(x_123); +lean_dec(x_32); +lean_dec_ref(x_5); +x_125 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_126 = l_Lean_MessageData_ofSyntax(x_19); +x_127 = l_Lean_indentD(x_126); +x_128 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_128, 0, x_125); +lean_ctor_set(x_128, 1, x_127); +x_129 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_128, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); -x_137 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__7; -x_138 = l_Lean_MessageData_ofConstName(x_122, x_45); -x_139 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_139, 0, x_137); -lean_ctor_set(x_139, 1, x_138); -x_140 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__9; -x_141 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_141, 0, x_139); -lean_ctor_set(x_141, 1, x_140); -x_142 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2___redArg(x_30, x_141, x_124, x_125, x_126, x_127, x_131); -lean_dec(x_127); -lean_dec(x_125); -lean_dec_ref(x_124); -lean_dec(x_30); -x_143 = !lean_is_exclusive(x_142); -if (x_143 == 0) -{ -return x_142; -} -else -{ -lean_object* x_144; lean_object* x_145; lean_object* x_146; -x_144 = lean_ctor_get(x_142, 0); -x_145 = lean_ctor_get(x_142, 1); -lean_inc(x_145); -lean_inc(x_144); -lean_dec(x_142); -x_146 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_146, 0, x_144); -lean_ctor_set(x_146, 1, x_145); -return x_146; -} -} -} -else -{ -uint8_t x_147; -lean_dec(x_127); -lean_dec_ref(x_126); -lean_dec(x_125); -lean_dec_ref(x_124); -lean_dec_ref(x_123); -lean_dec(x_122); -lean_dec(x_121); -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -x_147 = !lean_is_exclusive(x_129); -if (x_147 == 0) +x_130 = !lean_is_exclusive(x_129); +if (x_130 == 0) { return x_129; } else { -lean_object* x_148; lean_object* x_149; lean_object* x_150; -x_148 = lean_ctor_get(x_129, 0); -x_149 = lean_ctor_get(x_129, 1); -lean_inc(x_149); -lean_inc(x_148); +lean_object* x_131; lean_object* x_132; lean_object* x_133; +x_131 = lean_ctor_get(x_129, 0); +x_132 = lean_ctor_get(x_129, 1); +lean_inc(x_132); +lean_inc(x_131); lean_dec(x_129); -x_150 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_150, 0, x_148); -lean_ctor_set(x_150, 1, x_149); -return x_150; +x_133 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_133, 0, x_131); +lean_ctor_set(x_133, 1, x_132); +return x_133; } } -} -block_331: -{ -if (lean_obj_tag(x_157) == 0) -{ -if (lean_obj_tag(x_156) == 0) -{ -lean_object* x_158; lean_object* x_159; -x_158 = lean_ctor_get(x_157, 0); -lean_inc(x_158); -x_159 = lean_ctor_get(x_157, 1); -lean_inc(x_159); -lean_dec_ref(x_157); -x_46 = x_158; -x_47 = x_5; -x_48 = x_152; -x_49 = x_155; -x_50 = x_154; -x_51 = x_153; -x_52 = x_159; -goto block_120; -} else { -lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; -x_160 = lean_ctor_get(x_157, 0); -lean_inc(x_160); -x_161 = lean_ctor_get(x_157, 1); -lean_inc(x_161); -lean_dec_ref(x_157); -x_162 = lean_ctor_get(x_156, 0); -lean_inc(x_162); -lean_dec_ref(x_156); -lean_inc_ref(x_154); -x_163 = l_Lean_Meta_Grind_getAttrKindCore(x_162, x_154, x_153, x_161); -if (lean_obj_tag(x_163) == 0) +lean_object* x_134; lean_object* x_135; uint8_t x_136; +x_134 = l_Lean_Syntax_getArg(x_121, x_31); +lean_dec(x_121); +x_135 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +lean_inc(x_134); +x_136 = l_Lean_Syntax_isOfKind(x_134, x_135); +if (x_136 == 0) { -lean_object* x_164; -x_164 = lean_ctor_get(x_163, 0); -lean_inc(x_164); -switch (lean_obj_tag(x_164)) { -case 0: -{ -lean_object* x_165; -x_165 = lean_ctor_get(x_164, 0); -lean_inc(x_165); -lean_dec_ref(x_164); -if (lean_obj_tag(x_165) == 9) -{ -if (x_1 == 0) -{ -lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; uint8_t x_179; lean_object* x_180; uint8_t x_181; lean_object* x_182; lean_object* x_183; lean_object* x_184; lean_object* x_185; -x_166 = lean_ctor_get(x_163, 1); -lean_inc(x_166); -lean_dec_ref(x_163); -x_167 = lean_ctor_get(x_154, 0); -x_168 = lean_ctor_get(x_154, 1); -x_169 = lean_ctor_get(x_154, 2); -x_170 = lean_ctor_get(x_154, 3); -x_171 = lean_ctor_get(x_154, 4); -x_172 = lean_ctor_get(x_154, 5); -x_173 = lean_ctor_get(x_154, 6); -x_174 = lean_ctor_get(x_154, 7); -x_175 = lean_ctor_get(x_154, 8); -x_176 = lean_ctor_get(x_154, 9); -x_177 = lean_ctor_get(x_154, 10); -x_178 = lean_ctor_get(x_154, 11); -x_179 = lean_ctor_get_uint8(x_154, sizeof(void*)*14); -x_180 = lean_ctor_get(x_154, 12); -x_181 = lean_ctor_get_uint8(x_154, sizeof(void*)*14 + 1); -x_182 = lean_ctor_get(x_154, 13); -x_183 = l_Lean_replaceRef(x_30, x_172); -lean_inc_ref(x_182); -lean_inc(x_180); -lean_inc(x_178); -lean_inc(x_177); -lean_inc(x_176); -lean_inc(x_175); -lean_inc(x_174); -lean_inc(x_173); -lean_inc(x_171); -lean_inc(x_170); -lean_inc(x_169); -lean_inc_ref(x_168); -lean_inc_ref(x_167); -x_184 = lean_alloc_ctor(0, 14, 2); -lean_ctor_set(x_184, 0, x_167); -lean_ctor_set(x_184, 1, x_168); -lean_ctor_set(x_184, 2, x_169); -lean_ctor_set(x_184, 3, x_170); -lean_ctor_set(x_184, 4, x_171); -lean_ctor_set(x_184, 5, x_183); -lean_ctor_set(x_184, 6, x_173); -lean_ctor_set(x_184, 7, x_174); -lean_ctor_set(x_184, 8, x_175); -lean_ctor_set(x_184, 9, x_176); -lean_ctor_set(x_184, 10, x_177); -lean_ctor_set(x_184, 11, x_178); -lean_ctor_set(x_184, 12, x_180); -lean_ctor_set(x_184, 13, x_182); -lean_ctor_set_uint8(x_184, sizeof(void*)*14, x_179); -lean_ctor_set_uint8(x_184, sizeof(void*)*14 + 1, x_181); -x_185 = l_Lean_Meta_Grind_throwInvalidUsrModifier___redArg(x_184, x_153, x_166); -lean_dec_ref(x_184); -if (lean_obj_tag(x_185) == 0) -{ -lean_object* x_186; -x_186 = lean_ctor_get(x_185, 1); -lean_inc(x_186); -lean_dec_ref(x_185); -x_121 = x_165; -x_122 = x_160; -x_123 = x_5; -x_124 = x_152; -x_125 = x_155; -x_126 = x_154; -x_127 = x_153; -x_128 = x_186; -goto block_151; -} -else -{ -uint8_t x_187; -lean_dec(x_160); -lean_dec(x_155); -lean_dec_ref(x_154); -lean_dec(x_153); -lean_dec_ref(x_152); -lean_dec(x_30); +lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142; +lean_dec(x_134); +lean_dec(x_32); +lean_dec_ref(x_5); +x_137 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_138 = l_Lean_MessageData_ofSyntax(x_19); +x_139 = l_Lean_indentD(x_138); +x_140 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_140, 0, x_137); +lean_ctor_set(x_140, 1, x_139); +x_141 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_140, x_6, x_7, x_8, x_9, x_10); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_187 = !lean_is_exclusive(x_185); -if (x_187 == 0) +x_142 = !lean_is_exclusive(x_141); +if (x_142 == 0) { -return x_185; +return x_141; } else { -lean_object* x_188; lean_object* x_189; lean_object* x_190; -x_188 = lean_ctor_get(x_185, 0); -x_189 = lean_ctor_get(x_185, 1); +lean_object* x_143; lean_object* x_144; lean_object* x_145; +x_143 = lean_ctor_get(x_141, 0); +x_144 = lean_ctor_get(x_141, 1); +lean_inc(x_144); +lean_inc(x_143); +lean_dec(x_141); +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; +} +} +else +{ +lean_object* x_146; +x_146 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_146, 0, x_134); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); +x_35 = x_146; +x_36 = x_6; +x_37 = x_7; +x_38 = x_8; +x_39 = x_9; +x_40 = x_10; +goto block_57; +} +} +} +else +{ +lean_object* x_147; +lean_dec(x_121); +x_147 = lean_box(0); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); +x_35 = x_147; +x_36 = x_6; +x_37 = x_7; +x_38 = x_8; +x_39 = x_9; +x_40 = x_10; +goto block_57; +} +} +} +else +{ +lean_object* x_148; lean_object* x_149; lean_object* x_150; uint8_t x_151; +x_148 = lean_unsigned_to_nat(1u); +x_149 = l_Lean_Syntax_getArg(x_32, x_148); +lean_dec(x_32); +x_150 = l_Lean_Elab_Tactic_elabGrindPattern___closed__12; +lean_inc(x_149); +x_151 = l_Lean_Syntax_isOfKind(x_149, x_150); +if (x_151 == 0) +{ +lean_object* x_152; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; uint8_t x_157; +lean_dec(x_149); +lean_dec_ref(x_5); +x_152 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_153 = l_Lean_MessageData_ofSyntax(x_19); +x_154 = l_Lean_indentD(x_153); +x_155 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_155, 0, x_152); +lean_ctor_set(x_155, 1, x_154); +x_156 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_155, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_157 = !lean_is_exclusive(x_156); +if (x_157 == 0) +{ +return x_156; +} +else +{ +lean_object* x_158; lean_object* x_159; lean_object* x_160; +x_158 = lean_ctor_get(x_156, 0); +x_159 = lean_ctor_get(x_156, 1); +lean_inc(x_159); +lean_inc(x_158); +lean_dec(x_156); +x_160 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_160, 0, x_158); +lean_ctor_set(x_160, 1, x_159); +return x_160; +} +} +else +{ +lean_object* x_161; lean_object* x_162; +lean_dec(x_19); +x_161 = lean_box(0); +lean_inc(x_9); +lean_inc_ref(x_8); +x_162 = l_Lean_Elab_realizeGlobalConstNoOverloadWithInfo(x_149, x_161, x_8, x_9, x_10); +if (lean_obj_tag(x_162) == 0) +{ +lean_object* x_163; lean_object* x_164; uint8_t x_165; lean_object* x_166; +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_ref(x_162); +x_165 = 0; +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_163); +x_166 = l_Lean_Meta_Grind_isCasesAttrCandidate_x3f(x_163, x_165, x_8, x_9, x_164); +if (lean_obj_tag(x_166) == 0) +{ +lean_object* x_167; +x_167 = lean_ctor_get(x_166, 0); +lean_inc(x_167); +if (lean_obj_tag(x_167) == 0) +{ +lean_object* x_168; uint8_t x_169; +x_168 = lean_ctor_get(x_166, 1); +lean_inc(x_168); +lean_dec_ref(x_166); +x_169 = !lean_is_exclusive(x_5); +if (x_169 == 0) +{ +lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; +x_170 = lean_ctor_get(x_5, 0); +x_171 = lean_ctor_get(x_5, 1); +x_172 = lean_ctor_get(x_5, 2); +x_173 = lean_ctor_get(x_5, 3); +x_174 = lean_ctor_get(x_5, 4); +x_175 = lean_ctor_get(x_5, 5); +x_176 = lean_ctor_get(x_5, 6); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); +x_177 = l_Lean_Meta_Grind_EMatchTheorems_eraseDecl(x_171, x_163, x_6, x_7, x_8, x_9, x_168); +if (lean_obj_tag(x_177) == 0) +{ +lean_object* x_178; lean_object* x_179; +x_178 = lean_ctor_get(x_177, 0); +lean_inc(x_178); +x_179 = lean_ctor_get(x_177, 1); +lean_inc(x_179); +lean_dec_ref(x_177); +lean_ctor_set(x_5, 1, x_178); +x_11 = x_5; +x_12 = x_179; +goto block_16; +} +else +{ +uint8_t x_180; +lean_free_object(x_5); +lean_dec_ref(x_176); +lean_dec_ref(x_175); +lean_dec_ref(x_174); +lean_dec_ref(x_173); +lean_dec_ref(x_172); +lean_dec_ref(x_170); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_180 = !lean_is_exclusive(x_177); +if (x_180 == 0) +{ +return x_177; +} +else +{ +lean_object* x_181; lean_object* x_182; lean_object* x_183; +x_181 = lean_ctor_get(x_177, 0); +x_182 = lean_ctor_get(x_177, 1); +lean_inc(x_182); +lean_inc(x_181); +lean_dec(x_177); +x_183 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_183, 0, x_181); +lean_ctor_set(x_183, 1, x_182); +return x_183; +} +} +} +else +{ +lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; +x_184 = lean_ctor_get(x_5, 0); +x_185 = lean_ctor_get(x_5, 1); +x_186 = lean_ctor_get(x_5, 2); +x_187 = lean_ctor_get(x_5, 3); +x_188 = lean_ctor_get(x_5, 4); +x_189 = lean_ctor_get(x_5, 5); +x_190 = lean_ctor_get(x_5, 6); +lean_inc(x_190); lean_inc(x_189); lean_inc(x_188); -lean_dec(x_185); -x_190 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_190, 0, x_188); -lean_ctor_set(x_190, 1, x_189); -return x_190; -} -} -} -else +lean_inc(x_187); +lean_inc(x_186); +lean_inc(x_185); +lean_inc(x_184); +lean_dec(x_5); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); +x_191 = l_Lean_Meta_Grind_EMatchTheorems_eraseDecl(x_185, x_163, x_6, x_7, x_8, x_9, x_168); +if (lean_obj_tag(x_191) == 0) { -lean_object* x_191; -x_191 = lean_ctor_get(x_163, 1); -lean_inc(x_191); -lean_dec_ref(x_163); -x_121 = x_165; -x_122 = x_160; -x_123 = x_5; -x_124 = x_152; -x_125 = x_155; -x_126 = x_154; -x_127 = x_153; -x_128 = x_191; -goto block_151; -} -} -else -{ -lean_object* x_192; uint8_t x_193; -x_192 = lean_ctor_get(x_163, 1); +lean_object* x_192; lean_object* x_193; lean_object* x_194; +x_192 = lean_ctor_get(x_191, 0); lean_inc(x_192); -lean_dec_ref(x_163); -x_193 = !lean_is_exclusive(x_154); -if (x_193 == 0) -{ -lean_object* x_194; lean_object* x_195; lean_object* x_196; -x_194 = lean_ctor_get(x_154, 5); -x_195 = l_Lean_replaceRef(x_30, x_194); -lean_dec(x_194); -lean_dec(x_30); -lean_ctor_set(x_154, 5, x_195); -x_196 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_5, x_160, x_165, x_152, x_155, x_154, x_153, x_192); -if (lean_obj_tag(x_196) == 0) -{ -lean_object* x_197; lean_object* x_198; -x_197 = lean_ctor_get(x_196, 0); -lean_inc(x_197); -x_198 = lean_ctor_get(x_196, 1); -lean_inc(x_198); -lean_dec_ref(x_196); -x_11 = x_197; -x_12 = x_198; +x_193 = lean_ctor_get(x_191, 1); +lean_inc(x_193); +lean_dec_ref(x_191); +x_194 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_194, 0, x_184); +lean_ctor_set(x_194, 1, x_192); +lean_ctor_set(x_194, 2, x_186); +lean_ctor_set(x_194, 3, x_187); +lean_ctor_set(x_194, 4, x_188); +lean_ctor_set(x_194, 5, x_189); +lean_ctor_set(x_194, 6, x_190); +x_11 = x_194; +x_12 = x_193; goto block_16; } else { +lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; +lean_dec_ref(x_190); +lean_dec_ref(x_189); +lean_dec_ref(x_188); +lean_dec_ref(x_187); +lean_dec_ref(x_186); +lean_dec_ref(x_184); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); -return x_196; +x_195 = lean_ctor_get(x_191, 0); +lean_inc(x_195); +x_196 = lean_ctor_get(x_191, 1); +lean_inc(x_196); +if (lean_is_exclusive(x_191)) { + lean_ctor_release(x_191, 0); + lean_ctor_release(x_191, 1); + x_197 = x_191; +} else { + lean_dec_ref(x_191); + x_197 = lean_box(0); +} +if (lean_is_scalar(x_197)) { + x_198 = lean_alloc_ctor(1, 2, 0); +} else { + x_198 = x_197; +} +lean_ctor_set(x_198, 0, x_195); +lean_ctor_set(x_198, 1, x_196); +return x_198; +} } } else { -lean_object* x_199; lean_object* x_200; 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; uint8_t x_211; lean_object* x_212; uint8_t x_213; lean_object* x_214; lean_object* x_215; lean_object* x_216; lean_object* x_217; -x_199 = lean_ctor_get(x_154, 0); -x_200 = lean_ctor_get(x_154, 1); -x_201 = lean_ctor_get(x_154, 2); -x_202 = lean_ctor_get(x_154, 3); -x_203 = lean_ctor_get(x_154, 4); -x_204 = lean_ctor_get(x_154, 5); -x_205 = lean_ctor_get(x_154, 6); -x_206 = lean_ctor_get(x_154, 7); -x_207 = lean_ctor_get(x_154, 8); -x_208 = lean_ctor_get(x_154, 9); -x_209 = lean_ctor_get(x_154, 10); -x_210 = lean_ctor_get(x_154, 11); -x_211 = lean_ctor_get_uint8(x_154, sizeof(void*)*14); -x_212 = lean_ctor_get(x_154, 12); -x_213 = lean_ctor_get_uint8(x_154, sizeof(void*)*14 + 1); -x_214 = lean_ctor_get(x_154, 13); -lean_inc(x_214); -lean_inc(x_212); -lean_inc(x_210); -lean_inc(x_209); -lean_inc(x_208); -lean_inc(x_207); -lean_inc(x_206); -lean_inc(x_205); -lean_inc(x_204); -lean_inc(x_203); -lean_inc(x_202); -lean_inc(x_201); -lean_inc(x_200); +lean_object* x_199; lean_object* x_200; lean_object* x_201; +lean_dec(x_163); +x_199 = lean_ctor_get(x_166, 1); lean_inc(x_199); -lean_dec(x_154); -x_215 = l_Lean_replaceRef(x_30, x_204); -lean_dec(x_204); -lean_dec(x_30); -x_216 = lean_alloc_ctor(0, 14, 2); -lean_ctor_set(x_216, 0, x_199); -lean_ctor_set(x_216, 1, x_200); -lean_ctor_set(x_216, 2, x_201); -lean_ctor_set(x_216, 3, x_202); -lean_ctor_set(x_216, 4, x_203); -lean_ctor_set(x_216, 5, x_215); -lean_ctor_set(x_216, 6, x_205); -lean_ctor_set(x_216, 7, x_206); -lean_ctor_set(x_216, 8, x_207); -lean_ctor_set(x_216, 9, x_208); -lean_ctor_set(x_216, 10, x_209); -lean_ctor_set(x_216, 11, x_210); -lean_ctor_set(x_216, 12, x_212); -lean_ctor_set(x_216, 13, x_214); -lean_ctor_set_uint8(x_216, sizeof(void*)*14, x_211); -lean_ctor_set_uint8(x_216, sizeof(void*)*14 + 1, x_213); -x_217 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem(x_5, x_160, x_165, x_152, x_155, x_216, x_153, x_192); -if (lean_obj_tag(x_217) == 0) +lean_dec_ref(x_166); +x_200 = lean_ctor_get(x_167, 0); +lean_inc(x_200); +lean_dec_ref(x_167); +lean_inc(x_200); +x_201 = l_Lean_Meta_Grind_ensureNotBuiltinCases(x_200, x_8, x_9, x_199); +if (lean_obj_tag(x_201) == 0) { -lean_object* x_218; lean_object* x_219; -x_218 = lean_ctor_get(x_217, 0); -lean_inc(x_218); -x_219 = lean_ctor_get(x_217, 1); -lean_inc(x_219); -lean_dec_ref(x_217); -x_11 = x_218; -x_12 = x_219; +lean_object* x_202; uint8_t x_203; +x_202 = lean_ctor_get(x_201, 1); +lean_inc(x_202); +lean_dec_ref(x_201); +x_203 = !lean_is_exclusive(x_5); +if (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; +x_204 = lean_ctor_get(x_5, 0); +x_205 = lean_ctor_get(x_5, 1); +x_206 = lean_ctor_get(x_5, 2); +x_207 = lean_ctor_get(x_5, 3); +x_208 = lean_ctor_get(x_5, 4); +x_209 = lean_ctor_get(x_5, 5); +x_210 = lean_ctor_get(x_5, 6); +x_211 = l_Lean_Meta_Grind_CasesTypes_eraseDecl(x_207, x_200, x_8, x_9, x_202); +if (lean_obj_tag(x_211) == 0) +{ +lean_object* x_212; lean_object* x_213; +x_212 = lean_ctor_get(x_211, 0); +lean_inc(x_212); +x_213 = lean_ctor_get(x_211, 1); +lean_inc(x_213); +lean_dec_ref(x_211); +lean_ctor_set(x_5, 3, x_212); +x_11 = x_5; +x_12 = x_213; goto block_16; } else { +uint8_t x_214; +lean_free_object(x_5); +lean_dec_ref(x_210); +lean_dec_ref(x_209); +lean_dec_ref(x_208); +lean_dec_ref(x_206); +lean_dec_ref(x_205); +lean_dec_ref(x_204); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); +x_214 = !lean_is_exclusive(x_211); +if (x_214 == 0) +{ +return x_211; +} +else +{ +lean_object* x_215; lean_object* x_216; lean_object* x_217; +x_215 = lean_ctor_get(x_211, 0); +x_216 = lean_ctor_get(x_211, 1); +lean_inc(x_216); +lean_inc(x_215); +lean_dec(x_211); +x_217 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_217, 0, x_215); +lean_ctor_set(x_217, 1, x_216); return x_217; } } } -} -case 1: +else { -lean_object* x_220; uint8_t x_221; uint8_t x_222; -lean_dec(x_155); -lean_dec_ref(x_152); -x_220 = lean_ctor_get(x_163, 1); +lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; +x_218 = lean_ctor_get(x_5, 0); +x_219 = lean_ctor_get(x_5, 1); +x_220 = lean_ctor_get(x_5, 2); +x_221 = lean_ctor_get(x_5, 3); +x_222 = lean_ctor_get(x_5, 4); +x_223 = lean_ctor_get(x_5, 5); +x_224 = lean_ctor_get(x_5, 6); +lean_inc(x_224); +lean_inc(x_223); +lean_inc(x_222); +lean_inc(x_221); lean_inc(x_220); -lean_dec_ref(x_163); -x_221 = lean_ctor_get_uint8(x_164, 0); -lean_dec_ref(x_164); -x_222 = !lean_is_exclusive(x_154); -if (x_222 == 0) -{ -lean_object* x_223; lean_object* x_224; lean_object* x_225; -x_223 = lean_ctor_get(x_154, 5); -x_224 = l_Lean_replaceRef(x_30, x_223); -lean_dec(x_223); -lean_dec(x_30); -lean_ctor_set(x_154, 5, x_224); -lean_inc(x_160); -x_225 = l_Lean_Meta_Grind_validateCasesAttr(x_160, x_221, x_154, x_153, x_220); +lean_inc(x_219); +lean_inc(x_218); +lean_dec(x_5); +x_225 = l_Lean_Meta_Grind_CasesTypes_eraseDecl(x_221, x_200, x_8, x_9, x_202); if (lean_obj_tag(x_225) == 0) { -lean_object* x_226; uint8_t x_227; -x_226 = lean_ctor_get(x_225, 1); +lean_object* x_226; lean_object* x_227; lean_object* x_228; +x_226 = lean_ctor_get(x_225, 0); lean_inc(x_226); +x_227 = lean_ctor_get(x_225, 1); +lean_inc(x_227); lean_dec_ref(x_225); -x_227 = !lean_is_exclusive(x_5); -if (x_227 == 0) -{ -lean_object* x_228; lean_object* x_229; -x_228 = lean_ctor_get(x_5, 3); -x_229 = l_Lean_Meta_Grind_CasesTypes_insert(x_228, x_160, x_221); -lean_ctor_set(x_5, 3, x_229); -x_11 = x_5; -x_12 = x_226; +x_228 = lean_alloc_ctor(0, 7, 0); +lean_ctor_set(x_228, 0, x_218); +lean_ctor_set(x_228, 1, x_219); +lean_ctor_set(x_228, 2, x_220); +lean_ctor_set(x_228, 3, x_226); +lean_ctor_set(x_228, 4, x_222); +lean_ctor_set(x_228, 5, x_223); +lean_ctor_set(x_228, 6, x_224); +x_11 = x_228; +x_12 = x_227; goto block_16; } else { -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; lean_object* x_237; lean_object* x_238; -x_230 = lean_ctor_get(x_5, 0); -x_231 = lean_ctor_get(x_5, 1); -x_232 = lean_ctor_get(x_5, 2); -x_233 = lean_ctor_get(x_5, 3); -x_234 = lean_ctor_get(x_5, 4); -x_235 = lean_ctor_get(x_5, 5); -x_236 = lean_ctor_get(x_5, 6); -lean_inc(x_236); +lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; +lean_dec_ref(x_224); +lean_dec_ref(x_223); +lean_dec_ref(x_222); +lean_dec_ref(x_220); +lean_dec_ref(x_219); +lean_dec_ref(x_218); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +x_229 = lean_ctor_get(x_225, 0); +lean_inc(x_229); +x_230 = lean_ctor_get(x_225, 1); +lean_inc(x_230); +if (lean_is_exclusive(x_225)) { + lean_ctor_release(x_225, 0); + lean_ctor_release(x_225, 1); + x_231 = x_225; +} else { + lean_dec_ref(x_225); + x_231 = lean_box(0); +} +if (lean_is_scalar(x_231)) { + x_232 = lean_alloc_ctor(1, 2, 0); +} else { + x_232 = x_231; +} +lean_ctor_set(x_232, 0, x_229); +lean_ctor_set(x_232, 1, x_230); +return x_232; +} +} +} +else +{ +uint8_t x_233; +lean_dec(x_200); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); +lean_dec_ref(x_5); +x_233 = !lean_is_exclusive(x_201); +if (x_233 == 0) +{ +return x_201; +} +else +{ +lean_object* x_234; lean_object* x_235; lean_object* x_236; +x_234 = lean_ctor_get(x_201, 0); +x_235 = lean_ctor_get(x_201, 1); lean_inc(x_235); lean_inc(x_234); -lean_inc(x_233); -lean_inc(x_232); -lean_inc(x_231); -lean_inc(x_230); -lean_dec(x_5); -x_237 = l_Lean_Meta_Grind_CasesTypes_insert(x_233, x_160, x_221); -x_238 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_238, 0, x_230); -lean_ctor_set(x_238, 1, x_231); -lean_ctor_set(x_238, 2, x_232); -lean_ctor_set(x_238, 3, x_237); -lean_ctor_set(x_238, 4, x_234); -lean_ctor_set(x_238, 5, x_235); -lean_ctor_set(x_238, 6, x_236); -x_11 = x_238; -x_12 = x_226; -goto block_16; -} -} -else -{ -uint8_t x_239; -lean_dec(x_160); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_239 = !lean_is_exclusive(x_225); -if (x_239 == 0) -{ -return x_225; -} -else -{ -lean_object* x_240; lean_object* x_241; lean_object* x_242; -x_240 = lean_ctor_get(x_225, 0); -x_241 = lean_ctor_get(x_225, 1); -lean_inc(x_241); -lean_inc(x_240); -lean_dec(x_225); -x_242 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_242, 0, x_240); -lean_ctor_set(x_242, 1, x_241); -return x_242; -} -} -} -else -{ -lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; 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; uint8_t x_255; lean_object* x_256; uint8_t x_257; lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; -x_243 = lean_ctor_get(x_154, 0); -x_244 = lean_ctor_get(x_154, 1); -x_245 = lean_ctor_get(x_154, 2); -x_246 = lean_ctor_get(x_154, 3); -x_247 = lean_ctor_get(x_154, 4); -x_248 = lean_ctor_get(x_154, 5); -x_249 = lean_ctor_get(x_154, 6); -x_250 = lean_ctor_get(x_154, 7); -x_251 = lean_ctor_get(x_154, 8); -x_252 = lean_ctor_get(x_154, 9); -x_253 = lean_ctor_get(x_154, 10); -x_254 = lean_ctor_get(x_154, 11); -x_255 = lean_ctor_get_uint8(x_154, sizeof(void*)*14); -x_256 = lean_ctor_get(x_154, 12); -x_257 = lean_ctor_get_uint8(x_154, sizeof(void*)*14 + 1); -x_258 = lean_ctor_get(x_154, 13); -lean_inc(x_258); -lean_inc(x_256); -lean_inc(x_254); -lean_inc(x_253); -lean_inc(x_252); -lean_inc(x_251); -lean_inc(x_250); -lean_inc(x_249); -lean_inc(x_248); -lean_inc(x_247); -lean_inc(x_246); -lean_inc(x_245); -lean_inc(x_244); -lean_inc(x_243); -lean_dec(x_154); -x_259 = l_Lean_replaceRef(x_30, x_248); -lean_dec(x_248); -lean_dec(x_30); -x_260 = lean_alloc_ctor(0, 14, 2); -lean_ctor_set(x_260, 0, x_243); -lean_ctor_set(x_260, 1, x_244); -lean_ctor_set(x_260, 2, x_245); -lean_ctor_set(x_260, 3, x_246); -lean_ctor_set(x_260, 4, x_247); -lean_ctor_set(x_260, 5, x_259); -lean_ctor_set(x_260, 6, x_249); -lean_ctor_set(x_260, 7, x_250); -lean_ctor_set(x_260, 8, x_251); -lean_ctor_set(x_260, 9, x_252); -lean_ctor_set(x_260, 10, x_253); -lean_ctor_set(x_260, 11, x_254); -lean_ctor_set(x_260, 12, x_256); -lean_ctor_set(x_260, 13, x_258); -lean_ctor_set_uint8(x_260, sizeof(void*)*14, x_255); -lean_ctor_set_uint8(x_260, sizeof(void*)*14 + 1, x_257); -lean_inc(x_160); -x_261 = l_Lean_Meta_Grind_validateCasesAttr(x_160, x_221, x_260, x_153, x_220); -if (lean_obj_tag(x_261) == 0) -{ -lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; -x_262 = lean_ctor_get(x_261, 1); -lean_inc(x_262); -lean_dec_ref(x_261); -x_263 = lean_ctor_get(x_5, 0); -lean_inc_ref(x_263); -x_264 = lean_ctor_get(x_5, 1); -lean_inc_ref(x_264); -x_265 = lean_ctor_get(x_5, 2); -lean_inc_ref(x_265); -x_266 = lean_ctor_get(x_5, 3); -lean_inc_ref(x_266); -x_267 = lean_ctor_get(x_5, 4); -lean_inc_ref(x_267); -x_268 = lean_ctor_get(x_5, 5); -lean_inc_ref(x_268); -x_269 = lean_ctor_get(x_5, 6); -lean_inc_ref(x_269); -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_270 = x_5; -} else { - lean_dec_ref(x_5); - x_270 = lean_box(0); -} -x_271 = l_Lean_Meta_Grind_CasesTypes_insert(x_266, x_160, x_221); -if (lean_is_scalar(x_270)) { - x_272 = lean_alloc_ctor(0, 7, 0); -} else { - x_272 = x_270; -} -lean_ctor_set(x_272, 0, x_263); -lean_ctor_set(x_272, 1, x_264); -lean_ctor_set(x_272, 2, x_265); -lean_ctor_set(x_272, 3, x_271); -lean_ctor_set(x_272, 4, x_267); -lean_ctor_set(x_272, 5, x_268); -lean_ctor_set(x_272, 6, x_269); -x_11 = x_272; -x_12 = x_262; -goto block_16; -} -else -{ -lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; -lean_dec(x_160); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_273 = lean_ctor_get(x_261, 0); -lean_inc(x_273); -x_274 = lean_ctor_get(x_261, 1); -lean_inc(x_274); -if (lean_is_exclusive(x_261)) { - lean_ctor_release(x_261, 0); - lean_ctor_release(x_261, 1); - x_275 = x_261; -} else { - lean_dec_ref(x_261); - x_275 = lean_box(0); -} -if (lean_is_scalar(x_275)) { - x_276 = lean_alloc_ctor(1, 2, 0); -} else { - x_276 = x_275; -} -lean_ctor_set(x_276, 0, x_273); -lean_ctor_set(x_276, 1, x_274); -return x_276; -} -} -} -case 2: -{ -lean_object* x_277; lean_object* x_278; -x_277 = lean_ctor_get(x_163, 1); -lean_inc(x_277); -lean_dec_ref(x_163); -lean_inc(x_153); -lean_inc_ref(x_154); -lean_inc(x_155); -lean_inc_ref(x_152); -lean_inc(x_160); -x_278 = l_Lean_Meta_Grind_isCasesAttrPredicateCandidate_x3f(x_160, x_45, x_152, x_155, x_154, x_153, x_277); -if (lean_obj_tag(x_278) == 0) -{ -lean_object* x_279; -x_279 = lean_ctor_get(x_278, 0); -lean_inc(x_279); -if (lean_obj_tag(x_279) == 0) -{ -lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; uint8_t x_287; -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_280 = lean_ctor_get(x_278, 1); -lean_inc(x_280); -lean_dec_ref(x_278); -x_281 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__11; -x_282 = l_Lean_MessageData_ofConstName(x_160, x_45); -x_283 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_283, 0, x_281); -lean_ctor_set(x_283, 1, x_282); -x_284 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__13; -x_285 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_285, 0, x_283); -lean_ctor_set(x_285, 1, x_284); -x_286 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_285, x_152, x_155, x_154, x_153, x_280); -lean_dec(x_153); -lean_dec_ref(x_154); -lean_dec(x_155); -lean_dec_ref(x_152); -x_287 = !lean_is_exclusive(x_286); -if (x_287 == 0) -{ -return x_286; -} -else -{ -lean_object* x_288; lean_object* x_289; lean_object* x_290; -x_288 = lean_ctor_get(x_286, 0); -x_289 = lean_ctor_get(x_286, 1); -lean_inc(x_289); -lean_inc(x_288); -lean_dec(x_286); -x_290 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_290, 0, x_288); -lean_ctor_set(x_290, 1, x_289); -return x_290; -} -} -else -{ -lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; -lean_dec(x_160); -x_291 = lean_ctor_get(x_279, 0); -lean_inc(x_291); -lean_dec_ref(x_279); -x_292 = lean_ctor_get(x_278, 1); -lean_inc(x_292); -lean_dec_ref(x_278); -x_293 = lean_ctor_get(x_291, 4); -lean_inc(x_293); -lean_dec(x_291); -x_294 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___redArg(x_30, x_45, x_293, x_5, x_152, x_155, x_154, x_153, x_292); -lean_dec_ref(x_154); -lean_dec(x_30); -if (lean_obj_tag(x_294) == 0) -{ -lean_object* x_295; lean_object* x_296; -x_295 = lean_ctor_get(x_294, 0); -lean_inc(x_295); -x_296 = lean_ctor_get(x_294, 1); -lean_inc(x_296); -lean_dec_ref(x_294); -x_11 = x_295; -x_12 = x_296; -goto block_16; -} -else -{ -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -return x_294; -} -} -} -else -{ -uint8_t x_297; -lean_dec(x_160); -lean_dec(x_155); -lean_dec_ref(x_154); -lean_dec(x_153); -lean_dec_ref(x_152); -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_297 = !lean_is_exclusive(x_278); -if (x_297 == 0) -{ -return x_278; -} -else -{ -lean_object* x_298; lean_object* x_299; lean_object* x_300; -x_298 = lean_ctor_get(x_278, 0); -x_299 = lean_ctor_get(x_278, 1); -lean_inc(x_299); -lean_inc(x_298); -lean_dec(x_278); -x_300 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_300, 0, x_298); -lean_ctor_set(x_300, 1, x_299); -return x_300; -} -} -} -case 3: -{ -lean_object* x_301; -x_301 = lean_ctor_get(x_163, 1); -lean_inc(x_301); -lean_dec_ref(x_163); -x_46 = x_160; -x_47 = x_5; -x_48 = x_152; -x_49 = x_155; -x_50 = x_154; -x_51 = x_153; -x_52 = x_301; -goto block_120; -} -case 4: -{ -lean_object* x_302; lean_object* x_303; lean_object* x_304; uint8_t x_305; -lean_dec(x_160); -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_302 = lean_ctor_get(x_163, 1); -lean_inc(x_302); -lean_dec_ref(x_163); -x_303 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__15; -x_304 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_303, x_152, x_155, x_154, x_153, x_302); -lean_dec(x_153); -lean_dec_ref(x_154); -lean_dec(x_155); -lean_dec_ref(x_152); -x_305 = !lean_is_exclusive(x_304); -if (x_305 == 0) -{ -return x_304; -} -else -{ -lean_object* x_306; lean_object* x_307; lean_object* x_308; -x_306 = lean_ctor_get(x_304, 0); -x_307 = lean_ctor_get(x_304, 1); -lean_inc(x_307); -lean_inc(x_306); -lean_dec(x_304); -x_308 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_308, 0, x_306); -lean_ctor_set(x_308, 1, x_307); -return x_308; -} -} -default: -{ -lean_object* x_309; lean_object* x_310; uint8_t x_311; -lean_dec(x_155); -lean_dec_ref(x_154); -lean_dec(x_153); -lean_dec_ref(x_152); -lean_dec(x_30); -x_309 = lean_ctor_get(x_163, 1); -lean_inc(x_309); -lean_dec_ref(x_163); -x_310 = lean_ctor_get(x_164, 0); -lean_inc(x_310); -lean_dec_ref(x_164); -x_311 = !lean_is_exclusive(x_5); -if (x_311 == 0) -{ -lean_object* x_312; lean_object* x_313; -x_312 = lean_ctor_get(x_5, 2); -x_313 = l_Lean_Meta_Grind_SymbolPriorities_insert(x_312, x_160, x_310); -lean_ctor_set(x_5, 2, x_313); -x_11 = x_5; -x_12 = x_309; -goto block_16; -} -else -{ -lean_object* x_314; 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; -x_314 = lean_ctor_get(x_5, 0); -x_315 = lean_ctor_get(x_5, 1); -x_316 = lean_ctor_get(x_5, 2); -x_317 = lean_ctor_get(x_5, 3); -x_318 = lean_ctor_get(x_5, 4); -x_319 = lean_ctor_get(x_5, 5); -x_320 = lean_ctor_get(x_5, 6); -lean_inc(x_320); -lean_inc(x_319); -lean_inc(x_318); -lean_inc(x_317); -lean_inc(x_316); -lean_inc(x_315); -lean_inc(x_314); -lean_dec(x_5); -x_321 = l_Lean_Meta_Grind_SymbolPriorities_insert(x_316, x_160, x_310); -x_322 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_322, 0, x_314); -lean_ctor_set(x_322, 1, x_315); -lean_ctor_set(x_322, 2, x_321); -lean_ctor_set(x_322, 3, x_317); -lean_ctor_set(x_322, 4, x_318); -lean_ctor_set(x_322, 5, x_319); -lean_ctor_set(x_322, 6, x_320); -x_11 = x_322; -x_12 = x_309; -goto block_16; +lean_dec(x_201); +x_236 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_236, 0, x_234); +lean_ctor_set(x_236, 1, x_235); +return x_236; } } } } else { -uint8_t x_323; -lean_dec(x_160); -lean_dec(x_155); -lean_dec_ref(x_154); -lean_dec(x_153); -lean_dec_ref(x_152); -lean_dec(x_30); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_323 = !lean_is_exclusive(x_163); -if (x_323 == 0) -{ -return x_163; -} -else -{ -lean_object* x_324; lean_object* x_325; lean_object* x_326; -x_324 = lean_ctor_get(x_163, 0); -x_325 = lean_ctor_get(x_163, 1); -lean_inc(x_325); -lean_inc(x_324); +uint8_t x_237; lean_dec(x_163); -x_326 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_326, 0, x_324); -lean_ctor_set(x_326, 1, x_325); -return x_326; -} -} -} -} -else -{ -uint8_t x_327; -lean_dec(x_156); -lean_dec(x_155); -lean_dec_ref(x_154); -lean_dec(x_153); -lean_dec_ref(x_152); -lean_dec(x_30); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); lean_dec_ref(x_5); -x_327 = !lean_is_exclusive(x_157); -if (x_327 == 0) +x_237 = !lean_is_exclusive(x_166); +if (x_237 == 0) { -return x_157; +return x_166; } else { -lean_object* x_328; lean_object* x_329; lean_object* x_330; -x_328 = lean_ctor_get(x_157, 0); -x_329 = lean_ctor_get(x_157, 1); -lean_inc(x_329); -lean_inc(x_328); -lean_dec(x_157); -x_330 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_330, 0, x_328); -lean_ctor_set(x_330, 1, x_329); -return x_330; +lean_object* x_238; lean_object* x_239; lean_object* x_240; +x_238 = lean_ctor_get(x_166, 0); +x_239 = lean_ctor_get(x_166, 1); +lean_inc(x_239); +lean_inc(x_238); +lean_dec(x_166); +x_240 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_240, 0, x_238); +lean_ctor_set(x_240, 1, x_239); +return x_240; } } } -block_361: +else { -if (x_342 == 0) -{ -lean_object* x_343; lean_object* x_344; lean_object* x_345; -lean_dec_ref(x_332); -x_343 = l_Lean_TSyntax_getId(x_335); -lean_inc_ref(x_337); -lean_inc_ref(x_334); -x_344 = l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3(x_343, x_334, x_338, x_337, x_336, x_340); -x_345 = lean_ctor_get(x_344, 0); -lean_inc(x_345); -if (lean_obj_tag(x_345) == 0) -{ -uint8_t x_346; -lean_dec(x_341); -lean_dec(x_338); -lean_dec_ref(x_337); -lean_dec(x_336); -lean_dec(x_335); -lean_dec_ref(x_334); -lean_dec(x_30); +uint8_t x_241; lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); lean_dec_ref(x_5); -x_346 = !lean_is_exclusive(x_344); -if (x_346 == 0) +x_241 = !lean_is_exclusive(x_162); +if (x_241 == 0) { -lean_object* x_347; -x_347 = lean_ctor_get(x_344, 0); -lean_dec(x_347); -lean_ctor_set_tag(x_344, 1); -lean_ctor_set(x_344, 0, x_339); -return x_344; +return x_162; } else { -lean_object* x_348; lean_object* x_349; -x_348 = lean_ctor_get(x_344, 1); -lean_inc(x_348); -lean_dec(x_344); -x_349 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_349, 0, x_339); -lean_ctor_set(x_349, 1, x_348); -return x_349; +lean_object* x_242; lean_object* x_243; lean_object* x_244; +x_242 = lean_ctor_get(x_162, 0); +x_243 = lean_ctor_get(x_162, 1); +lean_inc(x_243); +lean_inc(x_242); +lean_dec(x_162); +x_244 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_244, 0, x_242); +lean_ctor_set(x_244, 1, x_243); +return x_244; } } -else +} +} +block_57: { -lean_dec_ref(x_345); -if (x_333 == 0) +lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; +x_41 = lean_unsigned_to_nat(1u); +x_42 = l_Lean_Syntax_getArg(x_32, x_41); +lean_dec(x_32); +x_43 = l_Lean_Elab_Tactic_elabGrindPattern___closed__12; +lean_inc(x_42); +x_44 = l_Lean_Syntax_isOfKind(x_42, x_43); +if (x_44 == 0) { -uint8_t x_350; -lean_dec(x_341); -lean_dec(x_338); -lean_dec_ref(x_337); -lean_dec(x_336); -lean_dec(x_335); -lean_dec_ref(x_334); -lean_dec(x_30); +lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; +lean_dec(x_42); +lean_dec(x_35); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); lean_dec_ref(x_5); -x_350 = !lean_is_exclusive(x_344); -if (x_350 == 0) +x_45 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3; +x_46 = l_Lean_MessageData_ofSyntax(x_19); +x_47 = l_Lean_indentD(x_46); +x_48 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_48, 0, x_45); +lean_ctor_set(x_48, 1, x_47); +x_49 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable_spec__0___redArg(x_48, x_36, x_37, x_38, x_39, x_40); +lean_dec(x_39); +lean_dec_ref(x_38); +lean_dec(x_37); +lean_dec_ref(x_36); +x_50 = !lean_is_exclusive(x_49); +if (x_50 == 0) { -lean_object* x_351; -x_351 = lean_ctor_get(x_344, 0); -lean_dec(x_351); -lean_ctor_set_tag(x_344, 1); -lean_ctor_set(x_344, 0, x_339); -return x_344; +return x_49; } else { -lean_object* x_352; lean_object* x_353; -x_352 = lean_ctor_get(x_344, 1); -lean_inc(x_352); -lean_dec(x_344); -x_353 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_353, 0, x_339); -lean_ctor_set(x_353, 1, x_352); -return x_353; +lean_object* x_51; lean_object* x_52; lean_object* x_53; +x_51 = lean_ctor_get(x_49, 0); +x_52 = lean_ctor_get(x_49, 1); +lean_inc(x_52); +lean_inc(x_51); +lean_dec(x_49); +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 { -lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; -lean_dec_ref(x_339); -x_354 = lean_ctor_get(x_344, 1); -lean_inc(x_354); -lean_dec_ref(x_344); -x_355 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__17; -lean_inc(x_335); -x_356 = l_Lean_MessageData_ofSyntax(x_335); -x_357 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_357, 0, x_355); -lean_ctor_set(x_357, 1, x_356); -x_358 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__19; -x_359 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_359, 0, x_357); -lean_ctor_set(x_359, 1, x_358); -lean_inc_ref(x_337); -x_360 = l_Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getAsyncConstInfo___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__1_spec__1_spec__1_spec__1_spec__2___redArg(x_335, x_359, x_334, x_338, x_337, x_336, x_354); -lean_dec(x_335); -x_152 = x_334; -x_153 = x_336; -x_154 = x_337; -x_155 = x_338; -x_156 = x_341; -x_157 = x_360; -goto block_331; -} -} +lean_object* x_54; +x_54 = l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam(x_1, x_5, x_19, x_35, x_42, x_34, x_36, x_37, x_38, x_39, x_40); +lean_dec(x_19); +if (lean_obj_tag(x_54) == 0) +{ +lean_object* x_55; lean_object* x_56; +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_ref(x_54); +x_11 = x_55; +x_12 = x_56; +goto block_16; } else { -lean_dec_ref(x_339); -lean_dec(x_335); -x_152 = x_334; -x_153 = x_336; -x_154 = x_337; -x_155 = x_338; -x_156 = x_341; -x_157 = x_332; -goto block_331; -} -} -block_387: -{ -lean_object* x_368; lean_object* x_369; lean_object* x_370; uint8_t x_371; -x_368 = lean_unsigned_to_nat(1u); -x_369 = l_Lean_Syntax_getArg(x_43, x_368); -lean_dec(x_43); -x_370 = l_Lean_Elab_Tactic_elabGrindPattern___closed__12; -lean_inc(x_369); -x_371 = l_Lean_Syntax_isOfKind(x_369, x_370); -if (x_371 == 0) -{ -lean_object* x_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; uint8_t x_377; -lean_dec(x_369); -lean_dec(x_362); lean_dec(x_9); lean_dec_ref(x_8); lean_dec(x_7); lean_dec_ref(x_6); -lean_dec_ref(x_5); -x_372 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3; -x_373 = l_Lean_MessageData_ofSyntax(x_30); -x_374 = l_Lean_indentD(x_373); -x_375 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_375, 0, x_372); -lean_ctor_set(x_375, 1, x_374); -x_376 = l_Lean_throwError___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem_spec__0___redArg(x_375, x_363, x_364, x_365, x_366, x_367); -lean_dec(x_366); -lean_dec_ref(x_365); -lean_dec(x_364); -lean_dec_ref(x_363); -x_377 = !lean_is_exclusive(x_376); -if (x_377 == 0) -{ -return x_376; -} -else -{ -lean_object* x_378; lean_object* x_379; lean_object* x_380; -x_378 = lean_ctor_get(x_376, 0); -x_379 = lean_ctor_get(x_376, 1); -lean_inc(x_379); -lean_inc(x_378); -lean_dec(x_376); -x_380 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_380, 0, x_378); -lean_ctor_set(x_380, 1, x_379); -return x_380; -} -} -else -{ -lean_object* x_381; lean_object* x_382; -x_381 = lean_box(0); -lean_inc(x_366); -lean_inc_ref(x_365); -lean_inc(x_369); -x_382 = l_Lean_Elab_realizeGlobalConstNoOverloadWithInfo(x_369, x_381, x_365, x_366, x_367); -if (lean_obj_tag(x_382) == 0) -{ -lean_dec(x_369); -x_152 = x_363; -x_153 = x_366; -x_154 = x_365; -x_155 = x_364; -x_156 = x_362; -x_157 = x_382; -goto block_331; -} -else -{ -lean_object* x_383; lean_object* x_384; uint8_t x_385; -x_383 = lean_ctor_get(x_382, 0); -lean_inc(x_383); -x_384 = lean_ctor_get(x_382, 1); -lean_inc(x_384); -x_385 = l_Lean_Exception_isInterrupt(x_383); -if (x_385 == 0) -{ -uint8_t x_386; -x_386 = l_Lean_Exception_isRuntime(x_383); -x_332 = x_382; -x_333 = x_371; -x_334 = x_363; -x_335 = x_369; -x_336 = x_366; -x_337 = x_365; -x_338 = x_364; -x_339 = x_383; -x_340 = x_384; -x_341 = x_362; -x_342 = x_386; -goto block_361; -} -else -{ -x_332 = x_382; -x_333 = x_371; -x_334 = x_363; -x_335 = x_369; -x_336 = x_366; -x_337 = x_365; -x_338 = x_364; -x_339 = x_383; -x_340 = x_384; -x_341 = x_362; -x_342 = x_385; -goto block_361; -} +return x_54; } } } @@ -18649,26 +18289,9 @@ block_16: size_t x_13; size_t x_14; lean_object* x_15; x_13 = 1; x_14 = lean_usize_add(x_4, x_13); -x_15 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15(x_1, x_2, x_3, x_14, x_11, x_6, x_7, x_8, x_9, x_12); +x_15 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0(x_1, x_2, x_3, x_14, x_11, x_6, x_7, x_8, x_9, x_12); return x_15; } -block_27: -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -lean_dec(x_22); -lean_dec_ref(x_21); -lean_dec(x_20); -lean_dec_ref(x_19); -x_24 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__2___redArg(x_17, x_18, x_23); -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_ref(x_24); -x_11 = x_25; -x_12 = x_26; -goto block_16; -} } } LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabGrindParams(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { @@ -18677,284 +18300,11 @@ _start: size_t x_9; size_t x_10; lean_object* x_11; x_9 = lean_array_size(x_2); x_10 = 0; -x_11 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15(x_3, x_2, x_9, x_10, x_1, x_4, x_5, x_6, x_7, x_8); +x_11 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0(x_3, x_2, x_9, x_10, x_1, x_4, x_5, x_6, x_7, x_8); return x_11; } } -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -uint8_t x_10; lean_object* x_11; -x_10 = lean_unbox(x_2); -x_11 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___redArg(x_1, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec_ref(x_7); -lean_dec(x_1); -return x_11; -} -} -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___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; lean_object* x_13; -x_12 = lean_unbox(x_2); -x_13 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec_ref(x_9); -lean_dec(x_3); -lean_dec(x_1); -return x_13; -} -} -LEAN_EXPORT lean_object* l_List_filterTR_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_List_filterTR_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__1(x_1, x_2, x_3); -lean_dec(x_1); -return x_4; -} -} -LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_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) { -_start: -{ -lean_object* x_10; -x_10 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); -lean_dec(x_8); -lean_dec_ref(x_7); -lean_dec(x_6); -lean_dec_ref(x_5); -lean_dec(x_1); -return x_10; -} -} -LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__3___redArg___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__3___redArg(x_1, x_2); -lean_dec(x_2); -lean_dec(x_1); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_Std_DTreeMap_Internal_Impl_Const_get_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__3(x_1, x_2, x_3); -lean_dec(x_3); -lean_dec(x_2); -return x_4; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg___lam__0___boxed(lean_object* x_1, lean_object* x_2) { -_start: -{ -lean_object* x_3; -x_3 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg___lam__0(x_1, x_2); -lean_dec(x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg___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_8; lean_object* x_9; -x_8 = lean_unbox(x_2); -x_9 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4___redArg(x_1, x_8, x_3, x_4, x_5, x_6, x_7); -lean_dec_ref(x_6); -lean_dec(x_3); -lean_dec(x_1); -return x_9; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_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) { -_start: -{ -uint8_t x_9; lean_object* x_10; -x_9 = lean_unbox(x_2); -x_10 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__4(x_1, x_9, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec_ref(x_6); -lean_dec(x_3); -lean_dec(x_1); -return x_10; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5_spec__5___redArg___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_8; lean_object* x_9; -x_8 = lean_unbox(x_2); -x_9 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5_spec__5___redArg(x_1, x_8, x_3, x_4, x_5, x_6, x_7); -lean_dec_ref(x_6); -lean_dec(x_3); -lean_dec(x_1); -return x_9; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5_spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -uint8_t x_9; lean_object* x_10; -x_9 = lean_unbox(x_2); -x_10 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5_spec__5(x_1, x_9, x_3, x_4, x_5, x_6, x_7, x_8); -lean_dec_ref(x_6); -lean_dec(x_3); -lean_dec(x_1); -return x_10; -} -} -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__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) { -_start: -{ -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_2); -x_8 = l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4_spec__5(x_1, x_7, x_3, x_4, x_5, x_6); -lean_dec_ref(x_6); -lean_dec(x_3); -lean_dec(x_1); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_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) { -_start: -{ -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_2); -x_8 = l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__4(x_1, x_7, x_3, x_4, x_5, x_6); -lean_dec_ref(x_6); -lean_dec(x_3); -lean_dec(x_1); -return x_8; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8___redArg(x_1, x_2, x_3, x_4); -lean_dec_ref(x_3); -lean_dec(x_2); -return x_5; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8___boxed(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; -x_6 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__8(x_1, x_2, x_3, x_4, x_5); -lean_dec_ref(x_3); -lean_dec(x_2); -return x_6; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9_spec__9___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9_spec__9___redArg(x_1, x_2, x_3, x_4); -lean_dec_ref(x_3); -lean_dec(x_2); -return x_5; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9_spec__9___boxed(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; -x_6 = l___private_Init_Data_Array_Basic_0__Array_findSomeRevM_x3f_find___at___Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9_spec__9(x_1, x_2, x_3, x_4, x_5); -lean_dec_ref(x_3); -lean_dec(x_2); -return x_6; -} -} -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_Lean_PersistentArray_findSomeRevMAux___at___Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8_spec__9(x_1, x_2, x_3); -lean_dec_ref(x_3); -lean_dec(x_2); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_Lean_PersistentArray_findSomeRevM_x3f___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__8(x_1, x_2, x_3); -lean_dec_ref(x_3); -lean_dec(x_2); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12___redArg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12___redArg(x_1, x_2, x_3, x_4); -lean_dec(x_3); -return x_5; -} -} -LEAN_EXPORT lean_object* l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12___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_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_3); -lean_dec_ref(x_2); -return x_7; -} -} -LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12___lam__0___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: -{ -uint8_t x_13; lean_object* x_14; -x_13 = lean_unbox(x_6); -x_14 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12___lam__0(x_1, x_2, x_3, x_4, x_5, x_13, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_11); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec_ref(x_3); -return x_14; -} -} -LEAN_EXPORT lean_object* l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12___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: -{ -uint8_t x_11; lean_object* x_12; -x_11 = lean_unbox(x_5); -x_12 = l___private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12(x_1, x_2, x_3, x_4, x_11, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec_ref(x_6); -lean_dec_ref(x_1); -return x_12; -} -} -LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3___lam__0___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -uint8_t x_6; lean_object* x_7; -x_6 = lean_unbox(x_5); -x_7 = l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3___lam__0(x_1, x_2, x_3, x_4, x_6); -lean_dec_ref(x_3); -lean_dec(x_1); -return x_7; -} -} -LEAN_EXPORT lean_object* l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_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) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_3); -return x_7; -} -} -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___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___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___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: { uint8_t x_11; size_t x_12; size_t x_13; lean_object* x_14; @@ -18963,12 +18313,12 @@ x_12 = lean_unbox_usize(x_3); lean_dec(x_3); x_13 = lean_unbox_usize(x_4); lean_dec(x_4); -x_14 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15(x_11, x_2, x_12, x_13, x_5, x_6, x_7, x_8, x_9, x_10); +x_14 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0(x_11, x_2, x_12, x_13, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec_ref(x_2); return x_14; } } -LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15___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___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0___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: { uint8_t x_11; size_t x_12; size_t x_13; lean_object* x_14; @@ -18977,7 +18327,7 @@ x_12 = lean_unbox_usize(x_3); lean_dec(x_3); x_13 = lean_unbox_usize(x_4); lean_dec(x_4); -x_14 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15(x_11, x_2, x_12, x_13, x_5, x_6, x_7, x_8, x_9, x_10); +x_14 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0(x_11, x_2, x_12, x_13, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec_ref(x_2); return x_14; } @@ -22244,7 +21594,7 @@ return x_11; LEAN_EXPORT lean_object* l_Lean_logAt___at___Lean_logWarningAt___at___Lean_Elab_Tactic_evalGrindCore_spec__0_spec__0___redArg(lean_object* x_1, lean_object* x_2, uint8_t x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -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; lean_object* x_18; lean_object* x_19; lean_object* x_81; uint8_t x_82; uint8_t x_83; lean_object* x_84; uint8_t x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_110; lean_object* x_111; uint8_t x_112; uint8_t x_113; uint8_t x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_121; uint8_t x_122; uint8_t x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; uint8_t x_127; uint8_t x_133; uint8_t x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; uint8_t x_139; uint8_t x_140; uint8_t x_142; uint8_t x_158; +lean_object* x_10; uint8_t x_11; lean_object* x_12; lean_object* x_13; uint8_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_81; lean_object* x_82; uint8_t x_83; lean_object* x_84; uint8_t x_85; lean_object* x_86; uint8_t x_87; lean_object* x_88; lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113; lean_object* x_114; uint8_t x_115; uint8_t x_116; lean_object* x_117; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; uint8_t x_125; uint8_t x_126; uint8_t x_127; uint8_t x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; uint8_t x_138; uint8_t x_139; uint8_t x_140; uint8_t x_142; uint8_t x_158; x_133 = 2; x_158 = l_Lean_instBEqMessageSeverity_beq(x_3, x_133); if (x_158 == 0) @@ -22284,15 +21634,15 @@ lean_ctor_set(x_20, 1, x_25); lean_ctor_set(x_20, 0, x_24); x_28 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_28, 0, x_20); -lean_ctor_set(x_28, 1, x_11); +lean_ctor_set(x_28, 1, x_16); x_29 = lean_alloc_ctor(0, 5, 3); -lean_ctor_set(x_29, 0, x_14); -lean_ctor_set(x_29, 1, x_12); -lean_ctor_set(x_29, 2, x_16); -lean_ctor_set(x_29, 3, x_15); +lean_ctor_set(x_29, 0, x_10); +lean_ctor_set(x_29, 1, x_15); +lean_ctor_set(x_29, 2, x_13); +lean_ctor_set(x_29, 3, x_12); lean_ctor_set(x_29, 4, x_28); -lean_ctor_set_uint8(x_29, sizeof(void*)*5, x_10); -lean_ctor_set_uint8(x_29, sizeof(void*)*5 + 1, x_13); +lean_ctor_set_uint8(x_29, sizeof(void*)*5, x_14); +lean_ctor_set_uint8(x_29, sizeof(void*)*5 + 1, x_11); lean_ctor_set_uint8(x_29, sizeof(void*)*5 + 2, x_4); x_30 = l_Lean_MessageLog_add(x_29, x_27); lean_ctor_set(x_22, 6, x_30); @@ -22346,15 +21696,15 @@ lean_ctor_set(x_20, 1, x_25); lean_ctor_set(x_20, 0, x_24); x_47 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_47, 0, x_20); -lean_ctor_set(x_47, 1, x_11); +lean_ctor_set(x_47, 1, x_16); x_48 = lean_alloc_ctor(0, 5, 3); -lean_ctor_set(x_48, 0, x_14); -lean_ctor_set(x_48, 1, x_12); -lean_ctor_set(x_48, 2, x_16); -lean_ctor_set(x_48, 3, x_15); +lean_ctor_set(x_48, 0, x_10); +lean_ctor_set(x_48, 1, x_15); +lean_ctor_set(x_48, 2, x_13); +lean_ctor_set(x_48, 3, x_12); lean_ctor_set(x_48, 4, x_47); -lean_ctor_set_uint8(x_48, sizeof(void*)*5, x_10); -lean_ctor_set_uint8(x_48, sizeof(void*)*5 + 1, x_13); +lean_ctor_set_uint8(x_48, sizeof(void*)*5, x_14); +lean_ctor_set_uint8(x_48, sizeof(void*)*5 + 1, x_11); lean_ctor_set_uint8(x_48, sizeof(void*)*5 + 2, x_4); x_49 = l_Lean_MessageLog_add(x_48, x_44); x_50 = lean_alloc_ctor(0, 9, 0); @@ -22440,15 +21790,15 @@ lean_ctor_set(x_70, 0, x_58); lean_ctor_set(x_70, 1, x_59); x_71 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_71, 0, x_70); -lean_ctor_set(x_71, 1, x_11); +lean_ctor_set(x_71, 1, x_16); x_72 = lean_alloc_ctor(0, 5, 3); -lean_ctor_set(x_72, 0, x_14); -lean_ctor_set(x_72, 1, x_12); -lean_ctor_set(x_72, 2, x_16); -lean_ctor_set(x_72, 3, x_15); +lean_ctor_set(x_72, 0, x_10); +lean_ctor_set(x_72, 1, x_15); +lean_ctor_set(x_72, 2, x_13); +lean_ctor_set(x_72, 3, x_12); lean_ctor_set(x_72, 4, x_71); -lean_ctor_set_uint8(x_72, sizeof(void*)*5, x_10); -lean_ctor_set_uint8(x_72, sizeof(void*)*5 + 1, x_13); +lean_ctor_set_uint8(x_72, sizeof(void*)*5, x_14); +lean_ctor_set_uint8(x_72, sizeof(void*)*5 + 1, x_11); lean_ctor_set_uint8(x_72, sizeof(void*)*5 + 2, x_4); x_73 = l_Lean_MessageLog_add(x_72, x_66); if (lean_is_scalar(x_69)) { @@ -22498,25 +21848,25 @@ 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; x_92 = lean_ctor_get(x_90, 0); x_93 = lean_ctor_get(x_90, 1); -lean_inc_ref(x_86); -x_94 = l_Lean_FileMap_toPosition(x_86, x_87); -lean_dec(x_87); -x_95 = l_Lean_FileMap_toPosition(x_86, x_88); +lean_inc_ref(x_84); +x_94 = l_Lean_FileMap_toPosition(x_84, x_86); +lean_dec(x_86); +x_95 = l_Lean_FileMap_toPosition(x_84, x_88); lean_dec(x_88); x_96 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_96, 0, x_95); x_97 = l_Lean_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0___closed__0; -if (x_83 == 0) +if (x_87 == 0) { lean_free_object(x_90); lean_dec_ref(x_81); x_10 = x_82; -x_11 = x_92; -x_12 = x_94; -x_13 = x_85; -x_14 = x_84; -x_15 = x_97; -x_16 = x_96; +x_11 = x_83; +x_12 = x_97; +x_13 = x_96; +x_14 = x_85; +x_15 = x_94; +x_16 = x_92; x_17 = x_7; x_18 = x_8; x_19 = x_93; @@ -22533,7 +21883,7 @@ lean_object* x_99; lean_dec_ref(x_96); lean_dec_ref(x_94); lean_dec(x_92); -lean_dec_ref(x_84); +lean_dec_ref(x_82); lean_dec_ref(x_7); x_99 = lean_box(0); lean_ctor_set(x_90, 0, x_99); @@ -22543,12 +21893,12 @@ else { lean_free_object(x_90); x_10 = x_82; -x_11 = x_92; -x_12 = x_94; -x_13 = x_85; -x_14 = x_84; -x_15 = x_97; -x_16 = x_96; +x_11 = x_83; +x_12 = x_97; +x_13 = x_96; +x_14 = x_85; +x_15 = x_94; +x_16 = x_92; x_17 = x_7; x_18 = x_8; x_19 = x_93; @@ -22564,24 +21914,24 @@ x_101 = lean_ctor_get(x_90, 1); lean_inc(x_101); lean_inc(x_100); lean_dec(x_90); -lean_inc_ref(x_86); -x_102 = l_Lean_FileMap_toPosition(x_86, x_87); -lean_dec(x_87); -x_103 = l_Lean_FileMap_toPosition(x_86, x_88); +lean_inc_ref(x_84); +x_102 = l_Lean_FileMap_toPosition(x_84, x_86); +lean_dec(x_86); +x_103 = l_Lean_FileMap_toPosition(x_84, x_88); lean_dec(x_88); x_104 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_104, 0, x_103); x_105 = l_Lean_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0___closed__0; -if (x_83 == 0) +if (x_87 == 0) { lean_dec_ref(x_81); x_10 = x_82; -x_11 = x_100; -x_12 = x_102; -x_13 = x_85; -x_14 = x_84; -x_15 = x_105; -x_16 = x_104; +x_11 = x_83; +x_12 = x_105; +x_13 = x_104; +x_14 = x_85; +x_15 = x_102; +x_16 = x_100; x_17 = x_7; x_18 = x_8; x_19 = x_101; @@ -22598,7 +21948,7 @@ lean_object* x_107; lean_object* x_108; lean_dec_ref(x_104); lean_dec_ref(x_102); lean_dec(x_100); -lean_dec_ref(x_84); +lean_dec_ref(x_82); lean_dec_ref(x_7); x_107 = lean_box(0); x_108 = lean_alloc_ctor(0, 2, 0); @@ -22609,12 +21959,12 @@ return x_108; else { x_10 = x_82; -x_11 = x_100; -x_12 = x_102; -x_13 = x_85; -x_14 = x_84; -x_15 = x_105; -x_16 = x_104; +x_11 = x_83; +x_12 = x_105; +x_13 = x_104; +x_14 = x_85; +x_15 = x_102; +x_16 = x_100; x_17 = x_7; x_18 = x_8; x_19 = x_101; @@ -22626,7 +21976,7 @@ goto block_80; block_120: { lean_object* x_118; -x_118 = l_Lean_Syntax_getTailPos_x3f(x_111, x_112); +x_118 = l_Lean_Syntax_getTailPos_x3f(x_111, x_115); lean_dec(x_111); if (lean_obj_tag(x_118) == 0) { @@ -22634,10 +21984,10 @@ lean_inc(x_117); x_81 = x_110; x_82 = x_112; x_83 = x_113; -x_84 = x_115; -x_85 = x_114; -x_86 = x_116; -x_87 = x_117; +x_84 = x_114; +x_85 = x_115; +x_86 = x_117; +x_87 = x_116; x_88 = x_117; goto block_109; } @@ -22650,10 +22000,10 @@ lean_dec_ref(x_118); x_81 = x_110; x_82 = x_112; x_83 = x_113; -x_84 = x_115; -x_85 = x_114; -x_86 = x_116; -x_87 = x_117; +x_84 = x_114; +x_85 = x_115; +x_86 = x_117; +x_87 = x_116; x_88 = x_119; goto block_109; } @@ -22661,9 +22011,9 @@ goto block_109; block_132: { lean_object* x_128; lean_object* x_129; -x_128 = l_Lean_replaceRef(x_1, x_126); -lean_dec(x_126); -x_129 = l_Lean_Syntax_getPos_x3f(x_128, x_122); +x_128 = l_Lean_replaceRef(x_1, x_123); +lean_dec(x_123); +x_129 = l_Lean_Syntax_getPos_x3f(x_128, x_125); if (lean_obj_tag(x_129) == 0) { lean_object* x_130; @@ -22671,10 +22021,10 @@ x_130 = lean_unsigned_to_nat(0u); x_110 = x_121; x_111 = x_128; x_112 = x_122; -x_113 = x_123; -x_114 = x_127; -x_115 = x_124; -x_116 = x_125; +x_113 = x_127; +x_114 = x_124; +x_115 = x_125; +x_116 = x_126; x_117 = x_130; goto block_120; } @@ -22687,10 +22037,10 @@ lean_dec_ref(x_129); x_110 = x_121; x_111 = x_128; x_112 = x_122; -x_113 = x_123; -x_114 = x_127; -x_115 = x_124; -x_116 = x_125; +x_113 = x_127; +x_114 = x_124; +x_115 = x_125; +x_116 = x_126; x_117 = x_131; goto block_120; } @@ -22699,22 +22049,22 @@ block_141: { if (x_140 == 0) { -x_121 = x_136; -x_122 = x_139; -x_123 = x_134; -x_124 = x_135; -x_125 = x_137; +x_121 = x_134; +x_122 = x_135; +x_123 = x_136; +x_124 = x_137; +x_125 = x_139; x_126 = x_138; x_127 = x_3; goto block_132; } else { -x_121 = x_136; -x_122 = x_139; -x_123 = x_134; -x_124 = x_135; -x_125 = x_137; +x_121 = x_134; +x_122 = x_135; +x_123 = x_136; +x_124 = x_137; +x_125 = x_139; x_126 = x_138; x_127 = x_133; goto block_132; @@ -22739,14 +22089,14 @@ x_151 = 1; x_152 = l_Lean_instBEqMessageSeverity_beq(x_3, x_151); if (x_152 == 0) { -lean_inc(x_146); lean_inc_ref(x_144); +lean_inc(x_146); lean_inc_ref(x_143); -x_134 = x_147; +x_134 = x_150; x_135 = x_143; -x_136 = x_150; +x_136 = x_146; x_137 = x_144; -x_138 = x_146; +x_138 = x_147; x_139 = x_142; x_140 = x_152; goto block_141; @@ -22756,14 +22106,14 @@ else lean_object* x_153; uint8_t x_154; x_153 = l_Lean_logAt___at___Lean_log___at___Lean_logWarning___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg_spec__0_spec__0_spec__0___closed__1; x_154 = l_Lean_Option_get___at___Lean_Elab_addMacroStack___at___Lean_throwError___at___Lean_Elab_Tactic_elabGrindConfig_spec__0_spec__1_spec__1(x_145, x_153); -lean_inc(x_146); lean_inc_ref(x_144); +lean_inc(x_146); lean_inc_ref(x_143); -x_134 = x_147; +x_134 = x_150; x_135 = x_143; -x_136 = x_150; +x_136 = x_146; x_137 = x_144; -x_138 = x_146; +x_138 = x_147; x_139 = x_142; x_140 = x_154; goto block_141; @@ -23424,7 +22774,7 @@ if (lean_is_exclusive(x_5)) { x_16 = l_Lean_Name_appendCore(x_12, x_14); lean_inc_ref(x_8); lean_inc(x_16); -x_17 = l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12___redArg(x_16, x_8, x_9, x_10); +x_17 = l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12___redArg(x_16, x_8, x_9, x_10); x_18 = lean_ctor_get(x_17, 0); lean_inc(x_18); x_19 = lean_ctor_get(x_17, 1); @@ -24381,7 +23731,7 @@ lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_dec_ref(x_34); lean_inc_ref(x_7); lean_inc(x_35); -x_54 = l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3_spec__12_spec__12___redArg(x_35, x_7, x_8, x_32); +x_54 = l_Lean_resolveGlobalName___at_____private_Lean_ResolveName_0__Lean_resolveLocalName_loop___at___Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3_spec__12_spec__12___redArg(x_35, x_7, x_8, x_32); x_55 = lean_ctor_get(x_54, 0); lean_inc(x_55); x_56 = lean_ctor_get(x_54, 1); @@ -24420,8 +23770,8 @@ lean_dec(x_60); if (x_61 == 0) { lean_dec_ref(x_4); -x_10 = x_57; -x_11 = x_35; +x_10 = x_35; +x_11 = x_57; x_12 = x_61; x_13 = x_56; goto block_17; @@ -24445,8 +23795,8 @@ lean_inc(x_64); lean_dec_ref(x_62); x_65 = lean_unbox(x_63); lean_dec(x_63); -x_10 = x_57; -x_11 = x_35; +x_10 = x_35; +x_11 = x_57; x_12 = x_65; x_13 = x_64; goto block_17; @@ -24514,21 +23864,21 @@ block_17: if (x_12 == 0) { lean_object* x_14; lean_object* x_15; -lean_dec(x_11); +lean_dec(x_10); x_14 = lean_box(0); -x_15 = lean_apply_6(x_10, x_14, x_5, x_6, x_7, x_8, x_13); +x_15 = lean_apply_6(x_11, x_14, x_5, x_6, x_7, x_8, x_13); return x_15; } else { lean_object* x_16; -lean_dec_ref(x_10); +lean_dec_ref(x_11); lean_dec(x_8); lean_dec_ref(x_7); lean_dec(x_6); lean_dec_ref(x_5); x_16 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_16, 0, x_11); +lean_ctor_set(x_16, 0, x_10); lean_ctor_set(x_16, 1, x_13); return x_16; } @@ -24553,7 +23903,7 @@ LEAN_EXPORT lean_object* l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_El _start: { lean_object* x_8; lean_object* x_9; -x_8 = l_Lean_resolveLocalName___at___Lean_Elab_Tactic_elabGrindParams_spec__3(x_2, x_3, x_4, x_5, x_6, x_7); +x_8 = l_Lean_resolveLocalName___at_____private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam_spec__3(x_2, x_3, x_4, x_5, x_6, x_7); x_9 = lean_ctor_get(x_8, 0); lean_inc(x_9); if (lean_obj_tag(x_9) == 0) @@ -24934,7 +24284,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__0; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); @@ -24970,7 +24320,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__4; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); @@ -24998,7 +24348,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__7; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); @@ -25026,7 +24376,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__10; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); @@ -25046,7 +24396,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__12; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); @@ -25108,7 +24458,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__19; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); @@ -25145,23 +24495,31 @@ static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindO _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("grindBwd", 8, 8); +x_1 = lean_mk_string_unchecked("!", 1, 1); return x_1; } } static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__25() { _start: { +lean_object* x_1; +x_1 = lean_mk_string_unchecked("grindBwd", 8, 8); +return x_1; +} +} +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; +x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__25; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); return x_5; } } -static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26() { +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__27() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -25171,7 +24529,7 @@ x_3 = l_Lean_Name_mkStr2(x_2, x_1); return x_3; } } -static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__27() { +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__28() { _start: { lean_object* x_1; @@ -25179,19 +24537,19 @@ x_1 = lean_mk_string_unchecked("grindLR", 7, 7); return x_1; } } -static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__28() { +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__29() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__27; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; +x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__28; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); return x_5; } } -static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__29() { +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__30() { _start: { lean_object* x_1; @@ -25199,17 +24557,17 @@ x_1 = lean_mk_string_unchecked("=>", 2, 2); return x_1; } } -static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__30() { +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__31() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__29; +x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__30; x_2 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__21; x_3 = l_Lean_Name_mkStr2(x_2, x_1); return x_3; } } -static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__31() { +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__32() { _start: { lean_object* x_1; @@ -25217,19 +24575,19 @@ x_1 = lean_mk_string_unchecked("grindRL", 7, 7); return x_1; } } -static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__32() { +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__33() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__31; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; +x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__32; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); return x_5; } } -static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__33() { +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__34() { _start: { lean_object* x_1; @@ -25237,17 +24595,17 @@ x_1 = lean_mk_string_unchecked("<=", 2, 2); return x_1; } } -static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__34() { +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__35() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__33; +x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__34; x_2 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__21; x_3 = l_Lean_Name_mkStr2(x_2, x_1); return x_3; } } -static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__35() { +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__36() { _start: { lean_object* x_1; @@ -25255,19 +24613,19 @@ x_1 = lean_mk_string_unchecked("grindUsr", 8, 8); return x_1; } } -static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__36() { +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__37() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__35; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; +x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__36; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); return x_5; } } -static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__37() { +static lean_object* _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__38() { _start: { lean_object* x_1; @@ -25294,2599 +24652,2259 @@ else { lean_object* x_9; lean_object* x_10; x_9 = lean_ctor_get(x_1, 0); -lean_inc(x_9); x_10 = lean_ctor_get(x_9, 0); -lean_inc_ref(x_10); if (lean_obj_tag(x_10) == 0) { uint8_t x_11; +lean_inc_ref(x_10); +lean_inc(x_9); x_11 = !lean_is_exclusive(x_1); if (x_11 == 0) { -lean_object* x_12; lean_object* x_13; uint8_t x_14; +lean_object* x_12; 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_12 = lean_ctor_get(x_1, 1); x_13 = lean_ctor_get(x_1, 0); lean_dec(x_13); -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; -x_15 = lean_ctor_get(x_9, 1); -x_16 = lean_ctor_get(x_9, 0); -lean_dec(x_16); -x_17 = lean_ctor_get(x_2, 0); +x_14 = lean_ctor_get(x_9, 1); +lean_inc(x_14); +x_15 = lean_ctor_get_uint8(x_9, sizeof(void*)*2); +lean_dec(x_9); +x_16 = lean_ctor_get(x_2, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_2, 1); lean_inc(x_17); -x_18 = lean_ctor_get(x_2, 1); -lean_inc(x_18); if (lean_is_exclusive(x_2)) { lean_ctor_release(x_2, 0); lean_ctor_release(x_2, 1); - x_19 = x_2; + x_18 = x_2; } else { lean_dec_ref(x_2); - x_19 = lean_box(0); + x_18 = lean_box(0); } -x_20 = lean_ctor_get(x_10, 0); -lean_inc(x_20); +x_19 = lean_ctor_get(x_10, 0); +lean_inc(x_19); lean_dec_ref(x_10); -x_21 = l_Lean_Meta_isEqnThm_x3f___redArg(x_20, x_6, x_7); +x_20 = l_Lean_Meta_isEqnThm_x3f___redArg(x_19, x_6, x_7); +if (lean_obj_tag(x_20) == 0) +{ +lean_object* x_21; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); if (lean_obj_tag(x_21) == 0) { -lean_object* x_22; -x_22 = lean_ctor_get(x_21, 0); +lean_object* x_22; uint8_t x_23; lean_object* x_24; +x_22 = lean_ctor_get(x_20, 1); lean_inc(x_22); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; uint8_t x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_21, 1); -lean_inc(x_23); -lean_dec_ref(x_21); -x_24 = 0; +lean_dec_ref(x_20); +x_23 = 0; lean_inc(x_6); lean_inc_ref(x_5); lean_inc(x_4); lean_inc_ref(x_3); -x_25 = l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0(x_20, x_24, x_3, x_4, x_5, x_6, x_23); -if (lean_obj_tag(x_25) == 0) +x_24 = l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0(x_19, x_23, x_3, x_4, x_5, x_6, x_22); +if (lean_obj_tag(x_24) == 0) { -lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_34; -x_26 = lean_ctor_get(x_25, 0); +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; 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); -x_27 = lean_ctor_get(x_25, 1); -lean_inc(x_27); -lean_dec_ref(x_25); -x_34 = lean_mk_syntax_ident(x_26); -switch (lean_obj_tag(x_15)) { +lean_dec_ref(x_24); +x_33 = lean_mk_syntax_ident(x_25); +switch (lean_obj_tag(x_14)) { case 0: { -uint8_t x_35; -x_35 = lean_ctor_get_uint8(x_15, 0); -lean_dec_ref(x_15); -if (x_35 == 0) +uint8_t x_34; +x_34 = lean_ctor_get_uint8(x_14, 0); +lean_dec_ref(x_14); +if (x_34 == 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; 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_free_object(x_1); -x_36 = lean_ctor_get(x_5, 5); -x_37 = l_Lean_SourceInfo_fromRef(x_36, x_35); -x_38 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_39 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_40 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_41 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_42 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__1; -x_43 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_37); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_43); -lean_ctor_set(x_9, 0, x_37); -x_44 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_37); -x_45 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_45, 0, x_37); -lean_ctor_set(x_45, 1, x_40); -lean_ctor_set(x_45, 2, x_44); -lean_inc(x_37); -x_46 = l_Lean_Syntax_node2(x_37, x_42, x_9, x_45); -lean_inc(x_37); -x_47 = l_Lean_Syntax_node1(x_37, x_41, x_46); -lean_inc(x_37); -x_48 = l_Lean_Syntax_node1(x_37, x_40, x_47); -lean_inc(x_37); -x_49 = l_Lean_Syntax_node2(x_37, x_39, x_48, x_34); -x_50 = l_Lean_Syntax_node1(x_37, x_38, x_49); -x_28 = x_18; -x_29 = x_50; -goto block_33; +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; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; +x_35 = lean_ctor_get(x_5, 5); +x_36 = l_Lean_SourceInfo_fromRef(x_35, x_34); +x_37 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_38 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_39 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_40 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_41 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__1; +x_42 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_36); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_42); +lean_ctor_set(x_1, 0, x_36); +x_43 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_36); +x_44 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_44, 0, x_36); +lean_ctor_set(x_44, 1, x_39); +lean_ctor_set(x_44, 2, x_43); +lean_inc(x_36); +x_45 = l_Lean_Syntax_node2(x_36, x_41, x_1, x_44); +lean_inc(x_36); +x_46 = l_Lean_Syntax_node1(x_36, x_40, x_45); +lean_inc(x_36); +x_47 = l_Lean_Syntax_node1(x_36, x_39, x_46); +lean_inc(x_36); +x_48 = l_Lean_Syntax_node2(x_36, x_38, x_47, x_33); +x_49 = l_Lean_Syntax_node1(x_36, x_37, x_48); +x_27 = x_17; +x_28 = x_49; +goto block_32; } else { -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; lean_object* x_66; lean_object* x_67; -x_51 = lean_ctor_get(x_5, 5); -x_52 = l_Lean_SourceInfo_fromRef(x_51, x_24); -x_53 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_54 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_55 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_56 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_57 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__1; -x_58 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_52); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_58); -lean_ctor_set(x_9, 0, x_52); -x_59 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_60 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_52); +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; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_50 = lean_ctor_get(x_5, 5); +x_51 = l_Lean_SourceInfo_fromRef(x_50, x_23); +x_52 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_53 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_54 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_55 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_56 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__1; +x_57 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_51); lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_60); -lean_ctor_set(x_1, 0, x_52); -lean_inc(x_52); -x_61 = l_Lean_Syntax_node1(x_52, x_59, x_1); -lean_inc(x_52); -x_62 = l_Lean_Syntax_node1(x_52, x_55, x_61); -lean_inc(x_52); -x_63 = l_Lean_Syntax_node2(x_52, x_57, x_9, x_62); -lean_inc(x_52); -x_64 = l_Lean_Syntax_node1(x_52, x_56, x_63); -lean_inc(x_52); -x_65 = l_Lean_Syntax_node1(x_52, x_55, x_64); -lean_inc(x_52); -x_66 = l_Lean_Syntax_node2(x_52, x_54, x_65, x_34); -x_67 = l_Lean_Syntax_node1(x_52, x_53, x_66); -x_28 = x_18; -x_29 = x_67; -goto block_33; +lean_ctor_set(x_1, 1, x_57); +lean_ctor_set(x_1, 0, x_51); +x_58 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_59 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_51); +x_60 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_60, 0, x_51); +lean_ctor_set(x_60, 1, x_59); +lean_inc(x_51); +x_61 = l_Lean_Syntax_node1(x_51, x_58, x_60); +lean_inc(x_51); +x_62 = l_Lean_Syntax_node1(x_51, x_54, x_61); +lean_inc(x_51); +x_63 = l_Lean_Syntax_node2(x_51, x_56, x_1, x_62); +lean_inc(x_51); +x_64 = l_Lean_Syntax_node1(x_51, x_55, x_63); +lean_inc(x_51); +x_65 = l_Lean_Syntax_node1(x_51, x_54, x_64); +lean_inc(x_51); +x_66 = l_Lean_Syntax_node2(x_51, x_53, x_65, x_33); +x_67 = l_Lean_Syntax_node1(x_51, x_52, x_66); +x_27 = x_17; +x_28 = x_67; +goto block_32; } } case 1: { uint8_t x_68; -x_68 = lean_ctor_get_uint8(x_15, 0); -lean_dec_ref(x_15); +x_68 = lean_ctor_get_uint8(x_14, 0); +lean_dec_ref(x_14); 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; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; +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_69 = lean_ctor_get(x_5, 5); x_70 = l_Lean_SourceInfo_fromRef(x_69, x_68); -x_71 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_72 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; +x_71 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_72 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; x_73 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_74 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; +x_74 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; x_75 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__8; x_76 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; lean_inc(x_70); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_76); -lean_ctor_set(x_9, 0, x_70); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_76); +lean_ctor_set(x_1, 0, x_70); x_77 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; lean_inc(x_70); -lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_77); -lean_ctor_set(x_1, 0, x_70); -x_78 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +x_78 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_78, 0, x_70); +lean_ctor_set(x_78, 1, x_77); +x_79 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; lean_inc(x_70); -x_79 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_79, 0, x_70); -lean_ctor_set(x_79, 1, x_73); -lean_ctor_set(x_79, 2, x_78); +x_80 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_80, 0, x_70); +lean_ctor_set(x_80, 1, x_73); +lean_ctor_set(x_80, 2, x_79); lean_inc(x_70); -x_80 = l_Lean_Syntax_node3(x_70, x_75, x_9, x_1, x_79); +x_81 = l_Lean_Syntax_node3(x_70, x_75, x_1, x_78, x_80); lean_inc(x_70); -x_81 = l_Lean_Syntax_node1(x_70, x_74, x_80); +x_82 = l_Lean_Syntax_node1(x_70, x_74, x_81); lean_inc(x_70); -x_82 = l_Lean_Syntax_node1(x_70, x_73, x_81); +x_83 = l_Lean_Syntax_node1(x_70, x_73, x_82); lean_inc(x_70); -x_83 = l_Lean_Syntax_node2(x_70, x_72, x_82, x_34); -x_84 = l_Lean_Syntax_node1(x_70, x_71, x_83); -x_28 = x_18; -x_29 = x_84; -goto block_33; +x_84 = l_Lean_Syntax_node2(x_70, x_72, x_83, x_33); +x_85 = l_Lean_Syntax_node1(x_70, x_71, x_84); +x_27 = x_17; +x_28 = x_85; +goto block_32; } 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; 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; lean_object* x_102; lean_object* x_103; -x_85 = lean_ctor_get(x_5, 5); -x_86 = l_Lean_SourceInfo_fromRef(x_85, x_24); -x_87 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_88 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_89 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_90 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_91 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__8; -x_92 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_86); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_92); -lean_ctor_set(x_9, 0, x_86); -x_93 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; -lean_inc(x_86); +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_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; +x_86 = lean_ctor_get(x_5, 5); +x_87 = l_Lean_SourceInfo_fromRef(x_86, x_23); +x_88 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_89 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_90 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_91 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_92 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__8; +x_93 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_87); lean_ctor_set_tag(x_1, 2); lean_ctor_set(x_1, 1, x_93); -lean_ctor_set(x_1, 0, x_86); -x_94 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_95 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_86); -x_96 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_96, 0, x_86); -lean_ctor_set(x_96, 1, x_95); -lean_inc(x_86); -x_97 = l_Lean_Syntax_node1(x_86, x_94, x_96); -lean_inc(x_86); -x_98 = l_Lean_Syntax_node1(x_86, x_89, x_97); -lean_inc(x_86); -x_99 = l_Lean_Syntax_node3(x_86, x_91, x_9, x_1, x_98); -lean_inc(x_86); -x_100 = l_Lean_Syntax_node1(x_86, x_90, x_99); -lean_inc(x_86); -x_101 = l_Lean_Syntax_node1(x_86, x_89, x_100); -lean_inc(x_86); -x_102 = l_Lean_Syntax_node2(x_86, x_88, x_101, x_34); -x_103 = l_Lean_Syntax_node1(x_86, x_87, x_102); -x_28 = x_18; -x_29 = x_103; -goto block_33; +lean_ctor_set(x_1, 0, x_87); +x_94 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; +lean_inc(x_87); +x_95 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_95, 0, x_87); +lean_ctor_set(x_95, 1, x_94); +x_96 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_97 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_87); +x_98 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_98, 0, x_87); +lean_ctor_set(x_98, 1, x_97); +lean_inc(x_87); +x_99 = l_Lean_Syntax_node1(x_87, x_96, x_98); +lean_inc(x_87); +x_100 = l_Lean_Syntax_node1(x_87, x_90, x_99); +lean_inc(x_87); +x_101 = l_Lean_Syntax_node3(x_87, x_92, x_1, x_95, x_100); +lean_inc(x_87); +x_102 = l_Lean_Syntax_node1(x_87, x_91, x_101); +lean_inc(x_87); +x_103 = l_Lean_Syntax_node1(x_87, x_90, x_102); +lean_inc(x_87); +x_104 = l_Lean_Syntax_node2(x_87, x_89, x_103, x_33); +x_105 = l_Lean_Syntax_node1(x_87, x_88, x_104); +x_27 = x_17; +x_28 = x_105; +goto block_32; } } case 2: { -uint8_t x_104; -x_104 = lean_ctor_get_uint8(x_15, 0); -lean_dec_ref(x_15); -if (x_104 == 0) +uint8_t x_106; +x_106 = lean_ctor_get_uint8(x_14, 0); +lean_dec_ref(x_14); +if (x_106 == 0) { -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; 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; -x_105 = lean_ctor_get(x_5, 5); -x_106 = l_Lean_SourceInfo_fromRef(x_105, x_104); -x_107 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_108 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_109 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_110 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_111 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__11; -x_112 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; -lean_inc(x_106); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_112); -lean_ctor_set(x_9, 0, x_106); -x_113 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_106); +lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; 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; +x_107 = lean_ctor_get(x_5, 5); +x_108 = l_Lean_SourceInfo_fromRef(x_107, x_106); +x_109 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_110 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_111 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_112 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_113 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__11; +x_114 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; +lean_inc(x_108); lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_113); -lean_ctor_set(x_1, 0, x_106); -x_114 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_106); -x_115 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_115, 0, x_106); -lean_ctor_set(x_115, 1, x_109); -lean_ctor_set(x_115, 2, x_114); -lean_inc_ref(x_9); -lean_inc(x_106); -x_116 = l_Lean_Syntax_node4(x_106, x_111, x_9, x_1, x_9, x_115); -lean_inc(x_106); -x_117 = l_Lean_Syntax_node1(x_106, x_110, x_116); -lean_inc(x_106); -x_118 = l_Lean_Syntax_node1(x_106, x_109, x_117); -lean_inc(x_106); -x_119 = l_Lean_Syntax_node2(x_106, x_108, x_118, x_34); -x_120 = l_Lean_Syntax_node1(x_106, x_107, x_119); -x_28 = x_18; -x_29 = x_120; -goto block_33; +lean_ctor_set(x_1, 1, x_114); +lean_ctor_set(x_1, 0, x_108); +x_115 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_108); +x_116 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_116, 0, x_108); +lean_ctor_set(x_116, 1, x_115); +x_117 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_108); +x_118 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_118, 0, x_108); +lean_ctor_set(x_118, 1, x_111); +lean_ctor_set(x_118, 2, x_117); +lean_inc_ref(x_1); +lean_inc(x_108); +x_119 = l_Lean_Syntax_node4(x_108, x_113, x_1, x_116, x_1, x_118); +lean_inc(x_108); +x_120 = l_Lean_Syntax_node1(x_108, x_112, x_119); +lean_inc(x_108); +x_121 = l_Lean_Syntax_node1(x_108, x_111, x_120); +lean_inc(x_108); +x_122 = l_Lean_Syntax_node2(x_108, x_110, x_121, x_33); +x_123 = l_Lean_Syntax_node1(x_108, x_109, x_122); +x_27 = x_17; +x_28 = x_123; +goto block_32; } else { -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; 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; -x_121 = lean_ctor_get(x_5, 5); -x_122 = l_Lean_SourceInfo_fromRef(x_121, x_24); -x_123 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_124 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_125 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_126 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_127 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__11; -x_128 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; -lean_inc(x_122); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_128); -lean_ctor_set(x_9, 0, x_122); -x_129 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_122); +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; 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; +x_124 = lean_ctor_get(x_5, 5); +x_125 = l_Lean_SourceInfo_fromRef(x_124, x_23); +x_126 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_127 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_128 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_129 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_130 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__11; +x_131 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; +lean_inc(x_125); lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_129); -lean_ctor_set(x_1, 0, x_122); -x_130 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_131 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_122); -x_132 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_132, 0, x_122); -lean_ctor_set(x_132, 1, x_131); -lean_inc(x_122); -x_133 = l_Lean_Syntax_node1(x_122, x_130, x_132); -lean_inc(x_122); -x_134 = l_Lean_Syntax_node1(x_122, x_125, x_133); -lean_inc_ref(x_9); -lean_inc(x_122); -x_135 = l_Lean_Syntax_node4(x_122, x_127, x_9, x_1, x_9, x_134); -lean_inc(x_122); -x_136 = l_Lean_Syntax_node1(x_122, x_126, x_135); -lean_inc(x_122); -x_137 = l_Lean_Syntax_node1(x_122, x_125, x_136); -lean_inc(x_122); -x_138 = l_Lean_Syntax_node2(x_122, x_124, x_137, x_34); -x_139 = l_Lean_Syntax_node1(x_122, x_123, x_138); -x_28 = x_18; -x_29 = x_139; -goto block_33; +lean_ctor_set(x_1, 1, x_131); +lean_ctor_set(x_1, 0, x_125); +x_132 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_125); +x_133 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_133, 0, x_125); +lean_ctor_set(x_133, 1, x_132); +x_134 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_135 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_125); +x_136 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_136, 0, x_125); +lean_ctor_set(x_136, 1, x_135); +lean_inc(x_125); +x_137 = l_Lean_Syntax_node1(x_125, x_134, x_136); +lean_inc(x_125); +x_138 = l_Lean_Syntax_node1(x_125, x_128, x_137); +lean_inc_ref(x_1); +lean_inc(x_125); +x_139 = l_Lean_Syntax_node4(x_125, x_130, x_1, x_133, x_1, x_138); +lean_inc(x_125); +x_140 = l_Lean_Syntax_node1(x_125, x_129, x_139); +lean_inc(x_125); +x_141 = l_Lean_Syntax_node1(x_125, x_128, x_140); +lean_inc(x_125); +x_142 = l_Lean_Syntax_node2(x_125, x_127, x_141, x_33); +x_143 = l_Lean_Syntax_node1(x_125, x_126, x_142); +x_27 = x_17; +x_28 = x_143; +goto block_32; } } case 3: { -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; lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; lean_object* x_157; -x_140 = lean_ctor_get(x_5, 5); -x_141 = l_Lean_SourceInfo_fromRef(x_140, x_24); -x_142 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_143 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_144 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_145 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_146 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__13; -x_147 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_148 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__17; -x_149 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; -lean_inc(x_141); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_149); -lean_ctor_set(x_9, 0, x_141); -x_150 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_141); +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; 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_144 = lean_ctor_get(x_5, 5); +x_145 = l_Lean_SourceInfo_fromRef(x_144, x_23); +x_146 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_147 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_148 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_149 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_150 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__13; +x_151 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_152 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__17; +x_153 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; +lean_inc(x_145); lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_150); -lean_ctor_set(x_1, 0, x_141); -lean_inc(x_141); -x_151 = l_Lean_Syntax_node2(x_141, x_148, x_9, x_1); -lean_inc(x_141); -x_152 = l_Lean_Syntax_node1(x_141, x_147, x_151); -lean_inc(x_141); -x_153 = l_Lean_Syntax_node1(x_141, x_146, x_152); -lean_inc(x_141); -x_154 = l_Lean_Syntax_node1(x_141, x_145, x_153); -lean_inc(x_141); -x_155 = l_Lean_Syntax_node1(x_141, x_144, x_154); -lean_inc(x_141); -x_156 = l_Lean_Syntax_node2(x_141, x_143, x_155, x_34); -x_157 = l_Lean_Syntax_node1(x_141, x_142, x_156); -x_28 = x_18; -x_29 = x_157; -goto block_33; +lean_ctor_set(x_1, 1, x_153); +lean_ctor_set(x_1, 0, x_145); +x_154 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_145); +x_155 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_155, 0, x_145); +lean_ctor_set(x_155, 1, x_154); +lean_inc(x_145); +x_156 = l_Lean_Syntax_node2(x_145, x_152, x_1, x_155); +lean_inc(x_145); +x_157 = l_Lean_Syntax_node1(x_145, x_151, x_156); +lean_inc(x_145); +x_158 = l_Lean_Syntax_node1(x_145, x_150, x_157); +lean_inc(x_145); +x_159 = l_Lean_Syntax_node1(x_145, x_149, x_158); +lean_inc(x_145); +x_160 = l_Lean_Syntax_node1(x_145, x_148, x_159); +lean_inc(x_145); +x_161 = l_Lean_Syntax_node2(x_145, x_147, x_160, x_33); +x_162 = l_Lean_Syntax_node1(x_145, x_146, x_161); +x_27 = x_17; +x_28 = x_162; +goto block_32; } case 4: { -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; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; -lean_free_object(x_1); -x_158 = lean_ctor_get(x_5, 5); -x_159 = l_Lean_SourceInfo_fromRef(x_158, x_24); -x_160 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_161 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_162 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_163 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_164 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__20; -x_165 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_166 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__22; -x_167 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__23; -lean_inc(x_159); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_166); -lean_ctor_set(x_9, 0, x_159); -lean_inc(x_159); -x_168 = l_Lean_Syntax_node1(x_159, x_167, x_9); -lean_inc(x_159); -x_169 = l_Lean_Syntax_node1(x_159, x_165, x_168); -lean_inc(x_159); -x_170 = l_Lean_Syntax_node1(x_159, x_164, x_169); -lean_inc(x_159); -x_171 = l_Lean_Syntax_node1(x_159, x_163, x_170); -lean_inc(x_159); -x_172 = l_Lean_Syntax_node1(x_159, x_162, x_171); -lean_inc(x_159); -x_173 = l_Lean_Syntax_node2(x_159, x_161, x_172, x_34); -x_174 = l_Lean_Syntax_node1(x_159, x_160, x_173); -x_28 = x_18; -x_29 = x_174; -goto block_33; -} -case 5: +if (x_15 == 0) { -uint8_t x_175; -x_175 = lean_ctor_get_uint8(x_15, 0); -lean_dec_ref(x_15); -if (x_175 == 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_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; -lean_free_object(x_1); -x_176 = lean_ctor_get(x_5, 5); -x_177 = l_Lean_SourceInfo_fromRef(x_176, x_175); -x_178 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_179 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_180 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_181 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_182 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__25; -x_183 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_184 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; -x_185 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; -lean_inc(x_177); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_184); -lean_ctor_set(x_9, 0, x_177); -lean_inc(x_177); -x_186 = l_Lean_Syntax_node1(x_177, x_185, x_9); -lean_inc(x_177); -x_187 = l_Lean_Syntax_node1(x_177, x_183, x_186); -x_188 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_177); -x_189 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_189, 0, x_177); -lean_ctor_set(x_189, 1, x_180); -lean_ctor_set(x_189, 2, x_188); -lean_inc(x_177); -x_190 = l_Lean_Syntax_node2(x_177, x_182, x_187, x_189); -lean_inc(x_177); -x_191 = l_Lean_Syntax_node1(x_177, x_181, x_190); -lean_inc(x_177); -x_192 = l_Lean_Syntax_node1(x_177, x_180, x_191); -lean_inc(x_177); -x_193 = l_Lean_Syntax_node2(x_177, x_179, x_192, x_34); -x_194 = l_Lean_Syntax_node1(x_177, x_178, x_193); -x_28 = x_18; -x_29 = x_194; -goto block_33; +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; lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; +x_163 = lean_ctor_get(x_5, 5); +x_164 = l_Lean_SourceInfo_fromRef(x_163, x_15); +x_165 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_166 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_167 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_168 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_169 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__20; +x_170 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_171 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__22; +x_172 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__23; +lean_inc(x_164); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_171); +lean_ctor_set(x_1, 0, x_164); +lean_inc(x_164); +x_173 = l_Lean_Syntax_node1(x_164, x_172, x_1); +lean_inc(x_164); +x_174 = l_Lean_Syntax_node1(x_164, x_170, x_173); +lean_inc(x_164); +x_175 = l_Lean_Syntax_node1(x_164, x_169, x_174); +lean_inc(x_164); +x_176 = l_Lean_Syntax_node1(x_164, x_168, x_175); +lean_inc(x_164); +x_177 = l_Lean_Syntax_node1(x_164, x_167, x_176); +lean_inc(x_164); +x_178 = l_Lean_Syntax_node2(x_164, x_166, x_177, x_33); +x_179 = l_Lean_Syntax_node1(x_164, x_165, x_178); +x_27 = x_17; +x_28 = x_179; +goto block_32; } else { -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; 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_215; -x_195 = lean_ctor_get(x_5, 5); -x_196 = l_Lean_SourceInfo_fromRef(x_195, x_24); -x_197 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_198 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_199 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_200 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_201 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__25; -x_202 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_203 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; -x_204 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; -lean_inc(x_196); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_203); -lean_ctor_set(x_9, 0, x_196); -lean_inc(x_196); -x_205 = l_Lean_Syntax_node1(x_196, x_204, x_9); -lean_inc(x_196); -x_206 = l_Lean_Syntax_node1(x_196, x_202, x_205); -x_207 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_208 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_196); +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_object* x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; +x_180 = lean_ctor_get(x_5, 5); +x_181 = l_Lean_SourceInfo_fromRef(x_180, x_23); +x_182 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_183 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_184 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_181); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_184); +lean_ctor_set(x_1, 0, x_181); +x_185 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_186 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_187 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__20; +x_188 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_189 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__22; +x_190 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__23; +lean_inc(x_181); +x_191 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_191, 0, x_181); +lean_ctor_set(x_191, 1, x_189); +lean_inc(x_181); +x_192 = l_Lean_Syntax_node1(x_181, x_190, x_191); +lean_inc(x_181); +x_193 = l_Lean_Syntax_node1(x_181, x_188, x_192); +lean_inc(x_181); +x_194 = l_Lean_Syntax_node1(x_181, x_187, x_193); +lean_inc(x_181); +x_195 = l_Lean_Syntax_node1(x_181, x_186, x_194); +lean_inc(x_181); +x_196 = l_Lean_Syntax_node1(x_181, x_185, x_195); +lean_inc(x_181); +x_197 = l_Lean_Syntax_node3(x_181, x_183, x_1, x_196, x_33); +x_198 = l_Lean_Syntax_node1(x_181, x_182, x_197); +x_27 = x_17; +x_28 = x_198; +goto block_32; +} +} +case 5: +{ +uint8_t x_199; +x_199 = lean_ctor_get_uint8(x_14, 0); +lean_dec_ref(x_14); +if (x_199 == 0) +{ +if (x_15 == 0) +{ +lean_object* x_200; 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_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; +x_200 = lean_ctor_get(x_5, 5); +x_201 = l_Lean_SourceInfo_fromRef(x_200, x_15); +x_202 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_203 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_204 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_205 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_206 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; +x_207 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_208 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; +x_209 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__27; +lean_inc(x_201); lean_ctor_set_tag(x_1, 2); lean_ctor_set(x_1, 1, x_208); -lean_ctor_set(x_1, 0, x_196); -lean_inc(x_196); -x_209 = l_Lean_Syntax_node1(x_196, x_207, x_1); -lean_inc(x_196); -x_210 = l_Lean_Syntax_node1(x_196, x_199, x_209); -lean_inc(x_196); -x_211 = l_Lean_Syntax_node2(x_196, x_201, x_206, x_210); -lean_inc(x_196); -x_212 = l_Lean_Syntax_node1(x_196, x_200, x_211); -lean_inc(x_196); -x_213 = l_Lean_Syntax_node1(x_196, x_199, x_212); -lean_inc(x_196); -x_214 = l_Lean_Syntax_node2(x_196, x_198, x_213, x_34); -x_215 = l_Lean_Syntax_node1(x_196, x_197, x_214); -x_28 = x_18; -x_29 = x_215; -goto block_33; +lean_ctor_set(x_1, 0, x_201); +lean_inc(x_201); +x_210 = l_Lean_Syntax_node1(x_201, x_209, x_1); +lean_inc(x_201); +x_211 = l_Lean_Syntax_node1(x_201, x_207, x_210); +x_212 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_201); +x_213 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_213, 0, x_201); +lean_ctor_set(x_213, 1, x_204); +lean_ctor_set(x_213, 2, x_212); +lean_inc(x_201); +x_214 = l_Lean_Syntax_node2(x_201, x_206, x_211, x_213); +lean_inc(x_201); +x_215 = l_Lean_Syntax_node1(x_201, x_205, x_214); +lean_inc(x_201); +x_216 = l_Lean_Syntax_node1(x_201, x_204, x_215); +lean_inc(x_201); +x_217 = l_Lean_Syntax_node2(x_201, x_203, x_216, x_33); +x_218 = l_Lean_Syntax_node1(x_201, x_202, x_217); +x_27 = x_17; +x_28 = x_218; +goto block_32; +} +else +{ +lean_object* x_219; 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; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; +x_219 = lean_ctor_get(x_5, 5); +x_220 = l_Lean_SourceInfo_fromRef(x_219, x_199); +x_221 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_222 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_223 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_220); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_223); +lean_ctor_set(x_1, 0, x_220); +x_224 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_225 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_226 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; +x_227 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_228 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; +x_229 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__27; +lean_inc(x_220); +x_230 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_230, 0, x_220); +lean_ctor_set(x_230, 1, x_228); +lean_inc(x_220); +x_231 = l_Lean_Syntax_node1(x_220, x_229, x_230); +lean_inc(x_220); +x_232 = l_Lean_Syntax_node1(x_220, x_227, x_231); +x_233 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_220); +x_234 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_234, 0, x_220); +lean_ctor_set(x_234, 1, x_224); +lean_ctor_set(x_234, 2, x_233); +lean_inc(x_220); +x_235 = l_Lean_Syntax_node2(x_220, x_226, x_232, x_234); +lean_inc(x_220); +x_236 = l_Lean_Syntax_node1(x_220, x_225, x_235); +lean_inc(x_220); +x_237 = l_Lean_Syntax_node1(x_220, x_224, x_236); +lean_inc(x_220); +x_238 = l_Lean_Syntax_node3(x_220, x_222, x_1, x_237, x_33); +x_239 = l_Lean_Syntax_node1(x_220, x_221, x_238); +x_27 = x_17; +x_28 = x_239; +goto block_32; +} +} +else +{ +if (x_15 == 0) +{ +lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; lean_object* x_244; lean_object* x_245; lean_object* x_246; 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; lean_object* x_261; +x_240 = lean_ctor_get(x_5, 5); +x_241 = l_Lean_SourceInfo_fromRef(x_240, x_15); +x_242 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_243 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_244 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_245 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_246 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; +x_247 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_248 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; +x_249 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__27; +lean_inc(x_241); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_248); +lean_ctor_set(x_1, 0, x_241); +lean_inc(x_241); +x_250 = l_Lean_Syntax_node1(x_241, x_249, x_1); +lean_inc(x_241); +x_251 = l_Lean_Syntax_node1(x_241, x_247, x_250); +x_252 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_253 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_241); +x_254 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_254, 0, x_241); +lean_ctor_set(x_254, 1, x_253); +lean_inc(x_241); +x_255 = l_Lean_Syntax_node1(x_241, x_252, x_254); +lean_inc(x_241); +x_256 = l_Lean_Syntax_node1(x_241, x_244, x_255); +lean_inc(x_241); +x_257 = l_Lean_Syntax_node2(x_241, x_246, x_251, x_256); +lean_inc(x_241); +x_258 = l_Lean_Syntax_node1(x_241, x_245, x_257); +lean_inc(x_241); +x_259 = l_Lean_Syntax_node1(x_241, x_244, x_258); +lean_inc(x_241); +x_260 = l_Lean_Syntax_node2(x_241, x_243, x_259, x_33); +x_261 = l_Lean_Syntax_node1(x_241, x_242, x_260); +x_27 = x_17; +x_28 = x_261; +goto block_32; +} +else +{ +lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; +x_262 = lean_ctor_get(x_5, 5); +x_263 = l_Lean_SourceInfo_fromRef(x_262, x_23); +x_264 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_265 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_266 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_263); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_266); +lean_ctor_set(x_1, 0, x_263); +x_267 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_268 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_269 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; +x_270 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_271 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; +x_272 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__27; +lean_inc(x_263); +x_273 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_273, 0, x_263); +lean_ctor_set(x_273, 1, x_271); +lean_inc(x_263); +x_274 = l_Lean_Syntax_node1(x_263, x_272, x_273); +lean_inc(x_263); +x_275 = l_Lean_Syntax_node1(x_263, x_270, x_274); +x_276 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_277 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_263); +x_278 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_278, 0, x_263); +lean_ctor_set(x_278, 1, x_277); +lean_inc(x_263); +x_279 = l_Lean_Syntax_node1(x_263, x_276, x_278); +lean_inc(x_263); +x_280 = l_Lean_Syntax_node1(x_263, x_267, x_279); +lean_inc(x_263); +x_281 = l_Lean_Syntax_node2(x_263, x_269, x_275, x_280); +lean_inc(x_263); +x_282 = l_Lean_Syntax_node1(x_263, x_268, x_281); +lean_inc(x_263); +x_283 = l_Lean_Syntax_node1(x_263, x_267, x_282); +lean_inc(x_263); +x_284 = l_Lean_Syntax_node3(x_263, x_265, x_1, x_283, x_33); +x_285 = l_Lean_Syntax_node1(x_263, x_264, x_284); +x_27 = x_17; +x_28 = x_285; +goto block_32; +} } } case 6: { -lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; 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_free_object(x_1); -x_216 = lean_ctor_get(x_5, 5); -x_217 = l_Lean_SourceInfo_fromRef(x_216, x_24); -x_218 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_219 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_220 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_221 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_222 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__28; -x_223 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_224 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__29; -x_225 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__30; -lean_inc(x_217); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_224); -lean_ctor_set(x_9, 0, x_217); -lean_inc(x_217); -x_226 = l_Lean_Syntax_node1(x_217, x_225, x_9); -lean_inc(x_217); -x_227 = l_Lean_Syntax_node1(x_217, x_223, x_226); -lean_inc(x_217); -x_228 = l_Lean_Syntax_node1(x_217, x_222, x_227); -lean_inc(x_217); -x_229 = l_Lean_Syntax_node1(x_217, x_221, x_228); -lean_inc(x_217); -x_230 = l_Lean_Syntax_node1(x_217, x_220, x_229); -lean_inc(x_217); -x_231 = l_Lean_Syntax_node2(x_217, x_219, x_230, x_34); -x_232 = l_Lean_Syntax_node1(x_217, x_218, x_231); -x_28 = x_18; -x_29 = x_232; -goto block_33; -} -case 7: +if (x_15 == 0) { -lean_object* x_233; 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; lean_object* x_244; lean_object* x_245; lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; -lean_free_object(x_1); -x_233 = lean_ctor_get(x_5, 5); -x_234 = l_Lean_SourceInfo_fromRef(x_233, x_24); -x_235 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_236 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_237 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_238 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_239 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__32; -x_240 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_241 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__33; -x_242 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__34; -lean_inc(x_234); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_241); -lean_ctor_set(x_9, 0, x_234); -lean_inc(x_234); -x_243 = l_Lean_Syntax_node1(x_234, x_242, x_9); -lean_inc(x_234); -x_244 = l_Lean_Syntax_node1(x_234, x_240, x_243); -lean_inc(x_234); -x_245 = l_Lean_Syntax_node1(x_234, x_239, x_244); -lean_inc(x_234); -x_246 = l_Lean_Syntax_node1(x_234, x_238, x_245); -lean_inc(x_234); -x_247 = l_Lean_Syntax_node1(x_234, x_237, x_246); -lean_inc(x_234); -x_248 = l_Lean_Syntax_node2(x_234, x_236, x_247, x_34); -x_249 = l_Lean_Syntax_node1(x_234, x_235, x_248); -x_28 = x_18; -x_29 = x_249; -goto block_33; -} -case 8: -{ -uint8_t x_250; -lean_free_object(x_1); -x_250 = lean_ctor_get_uint8(x_15, 0); -lean_dec_ref(x_15); -if (x_250 == 0) -{ -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_free_object(x_9); -x_251 = lean_ctor_get(x_5, 5); -x_252 = l_Lean_SourceInfo_fromRef(x_251, x_250); -x_253 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_254 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_255 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_256 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_252); -x_257 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_257, 0, x_252); -lean_ctor_set(x_257, 1, x_255); -lean_ctor_set(x_257, 2, x_256); -lean_inc(x_252); -x_258 = l_Lean_Syntax_node2(x_252, x_254, x_257, x_34); -x_259 = l_Lean_Syntax_node1(x_252, x_253, x_258); -x_28 = x_18; -x_29 = x_259; -goto block_33; -} -else -{ -lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; -x_260 = lean_ctor_get(x_5, 5); -x_261 = l_Lean_SourceInfo_fromRef(x_260, x_24); -x_262 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_263 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_264 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_265 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_266 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_267 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_261); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_267); -lean_ctor_set(x_9, 0, x_261); -lean_inc(x_261); -x_268 = l_Lean_Syntax_node1(x_261, x_266, x_9); -lean_inc(x_261); -x_269 = l_Lean_Syntax_node1(x_261, x_265, x_268); -lean_inc(x_261); -x_270 = l_Lean_Syntax_node1(x_261, x_264, x_269); -lean_inc(x_261); -x_271 = l_Lean_Syntax_node2(x_261, x_263, x_270, x_34); -x_272 = l_Lean_Syntax_node1(x_261, x_262, x_271); -x_28 = x_18; -x_29 = x_272; -goto block_33; -} -} -default: -{ -lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; -lean_free_object(x_1); -x_273 = lean_ctor_get(x_5, 5); -x_274 = l_Lean_SourceInfo_fromRef(x_273, x_24); -x_275 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_276 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_277 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_278 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_279 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__36; -x_280 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__37; -lean_inc(x_274); -lean_ctor_set_tag(x_9, 2); -lean_ctor_set(x_9, 1, x_280); -lean_ctor_set(x_9, 0, x_274); -lean_inc(x_274); -x_281 = l_Lean_Syntax_node1(x_274, x_279, x_9); -lean_inc(x_274); -x_282 = l_Lean_Syntax_node1(x_274, x_278, x_281); -lean_inc(x_274); -x_283 = l_Lean_Syntax_node1(x_274, x_277, x_282); -lean_inc(x_274); -x_284 = l_Lean_Syntax_node2(x_274, x_276, x_283, x_34); -x_285 = l_Lean_Syntax_node1(x_274, x_275, x_284); -x_28 = x_18; -x_29 = x_285; -goto block_33; -} -} -block_33: -{ -lean_object* x_30; lean_object* x_31; -x_30 = lean_array_push(x_28, x_29); -if (lean_is_scalar(x_19)) { - x_31 = lean_alloc_ctor(0, 2, 0); -} else { - x_31 = x_19; -} -lean_ctor_set(x_31, 0, x_17); -lean_ctor_set(x_31, 1, x_30); -x_1 = x_12; -x_2 = x_31; -x_7 = x_27; -goto _start; -} -} -else -{ -uint8_t x_286; -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_free_object(x_9); -lean_dec(x_15); -lean_free_object(x_1); -lean_dec(x_12); -lean_dec(x_6); -lean_dec_ref(x_5); -lean_dec(x_4); -lean_dec_ref(x_3); -x_286 = !lean_is_exclusive(x_25); -if (x_286 == 0) -{ -return x_25; -} -else -{ -lean_object* x_287; lean_object* x_288; lean_object* x_289; -x_287 = lean_ctor_get(x_25, 0); -x_288 = lean_ctor_get(x_25, 1); -lean_inc(x_288); +lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_301; lean_object* x_302; +x_286 = lean_ctor_get(x_5, 5); +x_287 = l_Lean_SourceInfo_fromRef(x_286, x_15); +x_288 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_289 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_290 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_291 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_292 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__29; +x_293 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_294 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__30; +x_295 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__31; lean_inc(x_287); -lean_dec(x_25); -x_289 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_289, 0, x_287); -lean_ctor_set(x_289, 1, x_288); -return x_289; -} -} +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_294); +lean_ctor_set(x_1, 0, x_287); +lean_inc(x_287); +x_296 = l_Lean_Syntax_node1(x_287, x_295, x_1); +lean_inc(x_287); +x_297 = l_Lean_Syntax_node1(x_287, x_293, x_296); +lean_inc(x_287); +x_298 = l_Lean_Syntax_node1(x_287, x_292, x_297); +lean_inc(x_287); +x_299 = l_Lean_Syntax_node1(x_287, x_291, x_298); +lean_inc(x_287); +x_300 = l_Lean_Syntax_node1(x_287, x_290, x_299); +lean_inc(x_287); +x_301 = l_Lean_Syntax_node2(x_287, x_289, x_300, x_33); +x_302 = l_Lean_Syntax_node1(x_287, x_288, x_301); +x_27 = x_17; +x_28 = x_302; +goto block_32; } else { -lean_object* x_290; lean_object* x_291; uint8_t x_292; -lean_dec(x_20); -lean_free_object(x_9); -lean_dec(x_15); -lean_free_object(x_1); -x_290 = lean_ctor_get(x_21, 1); -lean_inc(x_290); -lean_dec_ref(x_21); -x_291 = lean_ctor_get(x_22, 0); -lean_inc(x_291); -lean_dec_ref(x_22); -x_292 = l_Lean_NameSet_contains(x_17, x_291); -if (x_292 == 0) -{ -lean_object* x_293; -lean_inc(x_6); -lean_inc_ref(x_5); -lean_inc(x_4); -lean_inc_ref(x_3); -lean_inc(x_291); -x_293 = l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0(x_291, x_292, x_3, x_4, x_5, x_6, x_290); -if (lean_obj_tag(x_293) == 0) -{ -lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; 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; -x_294 = lean_ctor_get(x_293, 0); -lean_inc(x_294); -x_295 = lean_ctor_get(x_293, 1); -lean_inc(x_295); -lean_dec_ref(x_293); -x_296 = lean_ctor_get(x_5, 5); -x_297 = l_Lean_NameSet_insert(x_17, x_291); -x_298 = lean_mk_syntax_ident(x_294); -x_299 = l_Lean_SourceInfo_fromRef(x_296, x_292); -x_300 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_301 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_302 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_303 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_299); -x_304 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_304, 0, x_299); -lean_ctor_set(x_304, 1, x_302); -lean_ctor_set(x_304, 2, x_303); -lean_inc(x_299); -x_305 = l_Lean_Syntax_node2(x_299, x_301, x_304, x_298); -x_306 = l_Lean_Syntax_node1(x_299, x_300, x_305); -x_307 = lean_array_push(x_18, x_306); -if (lean_is_scalar(x_19)) { - x_308 = lean_alloc_ctor(0, 2, 0); -} else { - x_308 = x_19; +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; lean_object* x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; 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; +x_303 = lean_ctor_get(x_5, 5); +x_304 = l_Lean_SourceInfo_fromRef(x_303, x_23); +x_305 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_306 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_307 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_304); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_307); +lean_ctor_set(x_1, 0, x_304); +x_308 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_309 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_310 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__29; +x_311 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_312 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__30; +x_313 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__31; +lean_inc(x_304); +x_314 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_314, 0, x_304); +lean_ctor_set(x_314, 1, x_312); +lean_inc(x_304); +x_315 = l_Lean_Syntax_node1(x_304, x_313, x_314); +lean_inc(x_304); +x_316 = l_Lean_Syntax_node1(x_304, x_311, x_315); +lean_inc(x_304); +x_317 = l_Lean_Syntax_node1(x_304, x_310, x_316); +lean_inc(x_304); +x_318 = l_Lean_Syntax_node1(x_304, x_309, x_317); +lean_inc(x_304); +x_319 = l_Lean_Syntax_node1(x_304, x_308, x_318); +lean_inc(x_304); +x_320 = l_Lean_Syntax_node3(x_304, x_306, x_1, x_319, x_33); +x_321 = l_Lean_Syntax_node1(x_304, x_305, x_320); +x_27 = x_17; +x_28 = x_321; +goto block_32; } -lean_ctor_set(x_308, 0, x_297); -lean_ctor_set(x_308, 1, x_307); -x_1 = x_12; -x_2 = x_308; -x_7 = x_295; -goto _start; +} +case 7: +{ +if (x_15 == 0) +{ +lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; 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; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; +x_322 = lean_ctor_get(x_5, 5); +x_323 = l_Lean_SourceInfo_fromRef(x_322, x_15); +x_324 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_325 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_326 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_327 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_328 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__33; +x_329 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_330 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__34; +x_331 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__35; +lean_inc(x_323); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_330); +lean_ctor_set(x_1, 0, x_323); +lean_inc(x_323); +x_332 = l_Lean_Syntax_node1(x_323, x_331, x_1); +lean_inc(x_323); +x_333 = l_Lean_Syntax_node1(x_323, x_329, x_332); +lean_inc(x_323); +x_334 = l_Lean_Syntax_node1(x_323, x_328, x_333); +lean_inc(x_323); +x_335 = l_Lean_Syntax_node1(x_323, x_327, x_334); +lean_inc(x_323); +x_336 = l_Lean_Syntax_node1(x_323, x_326, x_335); +lean_inc(x_323); +x_337 = l_Lean_Syntax_node2(x_323, x_325, x_336, x_33); +x_338 = l_Lean_Syntax_node1(x_323, x_324, x_337); +x_27 = x_17; +x_28 = x_338; +goto block_32; } else { -uint8_t x_310; -lean_dec(x_291); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_6); -lean_dec_ref(x_5); -lean_dec(x_4); -lean_dec_ref(x_3); -x_310 = !lean_is_exclusive(x_293); -if (x_310 == 0) -{ -return x_293; -} -else -{ -lean_object* x_311; lean_object* x_312; lean_object* x_313; -x_311 = lean_ctor_get(x_293, 0); -x_312 = lean_ctor_get(x_293, 1); -lean_inc(x_312); -lean_inc(x_311); -lean_dec(x_293); -x_313 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_313, 0, x_311); -lean_ctor_set(x_313, 1, x_312); -return x_313; -} -} -} -else -{ -lean_object* x_314; -lean_dec(x_291); -if (lean_is_scalar(x_19)) { - x_314 = lean_alloc_ctor(0, 2, 0); -} else { - x_314 = x_19; -} -lean_ctor_set(x_314, 0, x_17); -lean_ctor_set(x_314, 1, x_18); -x_1 = x_12; -x_2 = x_314; -x_7 = x_290; -goto _start; -} -} -} -else -{ -uint8_t x_316; -lean_dec(x_20); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_17); -lean_free_object(x_9); -lean_dec(x_15); -lean_free_object(x_1); -lean_dec(x_12); -lean_dec(x_6); -lean_dec_ref(x_5); -lean_dec(x_4); -lean_dec_ref(x_3); -x_316 = !lean_is_exclusive(x_21); -if (x_316 == 0) -{ -return x_21; -} -else -{ -lean_object* x_317; lean_object* x_318; lean_object* x_319; -x_317 = lean_ctor_get(x_21, 0); -x_318 = lean_ctor_get(x_21, 1); -lean_inc(x_318); -lean_inc(x_317); -lean_dec(x_21); -x_319 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_319, 0, x_317); -lean_ctor_set(x_319, 1, x_318); -return x_319; -} -} -} -else -{ -lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; lean_object* x_324; lean_object* x_325; -x_320 = lean_ctor_get(x_9, 1); -lean_inc(x_320); -lean_dec(x_9); -x_321 = lean_ctor_get(x_2, 0); -lean_inc(x_321); -x_322 = lean_ctor_get(x_2, 1); -lean_inc(x_322); -if (lean_is_exclusive(x_2)) { - lean_ctor_release(x_2, 0); - lean_ctor_release(x_2, 1); - x_323 = x_2; -} else { - lean_dec_ref(x_2); - x_323 = lean_box(0); -} -x_324 = lean_ctor_get(x_10, 0); -lean_inc(x_324); -lean_dec_ref(x_10); -x_325 = l_Lean_Meta_isEqnThm_x3f___redArg(x_324, x_6, x_7); -if (lean_obj_tag(x_325) == 0) -{ -lean_object* x_326; -x_326 = lean_ctor_get(x_325, 0); -lean_inc(x_326); -if (lean_obj_tag(x_326) == 0) -{ -lean_object* x_327; uint8_t x_328; lean_object* x_329; -x_327 = lean_ctor_get(x_325, 1); -lean_inc(x_327); -lean_dec_ref(x_325); -x_328 = 0; -lean_inc(x_6); -lean_inc_ref(x_5); -lean_inc(x_4); -lean_inc_ref(x_3); -x_329 = l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0(x_324, x_328, x_3, x_4, x_5, x_6, x_327); -if (lean_obj_tag(x_329) == 0) -{ -lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_338; -x_330 = lean_ctor_get(x_329, 0); -lean_inc(x_330); -x_331 = lean_ctor_get(x_329, 1); -lean_inc(x_331); -lean_dec_ref(x_329); -x_338 = lean_mk_syntax_ident(x_330); -switch (lean_obj_tag(x_320)) { -case 0: -{ -uint8_t x_339; -x_339 = lean_ctor_get_uint8(x_320, 0); -lean_dec_ref(x_320); -if (x_339 == 0) -{ -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; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; -lean_free_object(x_1); -x_340 = lean_ctor_get(x_5, 5); -x_341 = l_Lean_SourceInfo_fromRef(x_340, x_339); -x_342 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_343 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; +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; lean_object* x_349; lean_object* x_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; +x_339 = lean_ctor_get(x_5, 5); +x_340 = l_Lean_SourceInfo_fromRef(x_339, x_23); +x_341 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_342 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_343 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_340); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_343); +lean_ctor_set(x_1, 0, x_340); x_344 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_345 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_346 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__1; -x_347 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_341); -x_348 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_348, 0, x_341); -lean_ctor_set(x_348, 1, x_347); -x_349 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_341); -x_350 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_350, 0, x_341); -lean_ctor_set(x_350, 1, x_344); -lean_ctor_set(x_350, 2, x_349); -lean_inc(x_341); -x_351 = l_Lean_Syntax_node2(x_341, x_346, x_348, x_350); -lean_inc(x_341); -x_352 = l_Lean_Syntax_node1(x_341, x_345, x_351); -lean_inc(x_341); -x_353 = l_Lean_Syntax_node1(x_341, x_344, x_352); -lean_inc(x_341); -x_354 = l_Lean_Syntax_node2(x_341, x_343, x_353, x_338); -x_355 = l_Lean_Syntax_node1(x_341, x_342, x_354); -x_332 = x_322; -x_333 = x_355; -goto block_337; +x_345 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_346 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__33; +x_347 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_348 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__34; +x_349 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__35; +lean_inc(x_340); +x_350 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_350, 0, x_340); +lean_ctor_set(x_350, 1, x_348); +lean_inc(x_340); +x_351 = l_Lean_Syntax_node1(x_340, x_349, x_350); +lean_inc(x_340); +x_352 = l_Lean_Syntax_node1(x_340, x_347, x_351); +lean_inc(x_340); +x_353 = l_Lean_Syntax_node1(x_340, x_346, x_352); +lean_inc(x_340); +x_354 = l_Lean_Syntax_node1(x_340, x_345, x_353); +lean_inc(x_340); +x_355 = l_Lean_Syntax_node1(x_340, x_344, x_354); +lean_inc(x_340); +x_356 = l_Lean_Syntax_node3(x_340, x_342, x_1, x_355, x_33); +x_357 = l_Lean_Syntax_node1(x_340, x_341, x_356); +x_27 = x_17; +x_28 = x_357; +goto block_32; } -else -{ -lean_object* x_356; lean_object* x_357; 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_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; -x_356 = lean_ctor_get(x_5, 5); -x_357 = l_Lean_SourceInfo_fromRef(x_356, x_328); -x_358 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_359 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_360 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_361 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_362 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__1; -x_363 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_357); -x_364 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_364, 0, x_357); -lean_ctor_set(x_364, 1, x_363); -x_365 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_366 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_357); -lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_366); -lean_ctor_set(x_1, 0, x_357); -lean_inc(x_357); -x_367 = l_Lean_Syntax_node1(x_357, x_365, x_1); -lean_inc(x_357); -x_368 = l_Lean_Syntax_node1(x_357, x_360, x_367); -lean_inc(x_357); -x_369 = l_Lean_Syntax_node2(x_357, x_362, x_364, x_368); -lean_inc(x_357); -x_370 = l_Lean_Syntax_node1(x_357, x_361, x_369); -lean_inc(x_357); -x_371 = l_Lean_Syntax_node1(x_357, x_360, x_370); -lean_inc(x_357); -x_372 = l_Lean_Syntax_node2(x_357, x_359, x_371, x_338); -x_373 = l_Lean_Syntax_node1(x_357, x_358, x_372); -x_332 = x_322; -x_333 = x_373; -goto block_337; -} -} -case 1: -{ -uint8_t x_374; -x_374 = lean_ctor_get_uint8(x_320, 0); -lean_dec_ref(x_320); -if (x_374 == 0) -{ -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; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; lean_object* x_391; -x_375 = lean_ctor_get(x_5, 5); -x_376 = l_Lean_SourceInfo_fromRef(x_375, x_374); -x_377 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_378 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_379 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_380 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_381 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__8; -x_382 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_376); -x_383 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_383, 0, x_376); -lean_ctor_set(x_383, 1, x_382); -x_384 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; -lean_inc(x_376); -lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_384); -lean_ctor_set(x_1, 0, x_376); -x_385 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_376); -x_386 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_386, 0, x_376); -lean_ctor_set(x_386, 1, x_379); -lean_ctor_set(x_386, 2, x_385); -lean_inc(x_376); -x_387 = l_Lean_Syntax_node3(x_376, x_381, x_383, x_1, x_386); -lean_inc(x_376); -x_388 = l_Lean_Syntax_node1(x_376, x_380, x_387); -lean_inc(x_376); -x_389 = l_Lean_Syntax_node1(x_376, x_379, x_388); -lean_inc(x_376); -x_390 = l_Lean_Syntax_node2(x_376, x_378, x_389, x_338); -x_391 = l_Lean_Syntax_node1(x_376, x_377, x_390); -x_332 = x_322; -x_333 = x_391; -goto block_337; -} -else -{ -lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; -x_392 = lean_ctor_get(x_5, 5); -x_393 = l_Lean_SourceInfo_fromRef(x_392, x_328); -x_394 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_395 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_396 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_397 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_398 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__8; -x_399 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_393); -x_400 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_400, 0, x_393); -lean_ctor_set(x_400, 1, x_399); -x_401 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; -lean_inc(x_393); -lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_401); -lean_ctor_set(x_1, 0, x_393); -x_402 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_403 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_393); -x_404 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_404, 0, x_393); -lean_ctor_set(x_404, 1, x_403); -lean_inc(x_393); -x_405 = l_Lean_Syntax_node1(x_393, x_402, x_404); -lean_inc(x_393); -x_406 = l_Lean_Syntax_node1(x_393, x_396, x_405); -lean_inc(x_393); -x_407 = l_Lean_Syntax_node3(x_393, x_398, x_400, x_1, x_406); -lean_inc(x_393); -x_408 = l_Lean_Syntax_node1(x_393, x_397, x_407); -lean_inc(x_393); -x_409 = l_Lean_Syntax_node1(x_393, x_396, x_408); -lean_inc(x_393); -x_410 = l_Lean_Syntax_node2(x_393, x_395, x_409, x_338); -x_411 = l_Lean_Syntax_node1(x_393, x_394, x_410); -x_332 = x_322; -x_333 = x_411; -goto block_337; -} -} -case 2: -{ -uint8_t x_412; -x_412 = lean_ctor_get_uint8(x_320, 0); -lean_dec_ref(x_320); -if (x_412 == 0) -{ -lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; lean_object* x_419; lean_object* x_420; lean_object* x_421; lean_object* x_422; lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; -x_413 = lean_ctor_get(x_5, 5); -x_414 = l_Lean_SourceInfo_fromRef(x_413, x_412); -x_415 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_416 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_417 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_418 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_419 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__11; -x_420 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; -lean_inc(x_414); -x_421 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_421, 0, x_414); -lean_ctor_set(x_421, 1, x_420); -x_422 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_414); -lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_422); -lean_ctor_set(x_1, 0, x_414); -x_423 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_414); -x_424 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_424, 0, x_414); -lean_ctor_set(x_424, 1, x_417); -lean_ctor_set(x_424, 2, x_423); -lean_inc_ref(x_421); -lean_inc(x_414); -x_425 = l_Lean_Syntax_node4(x_414, x_419, x_421, x_1, x_421, x_424); -lean_inc(x_414); -x_426 = l_Lean_Syntax_node1(x_414, x_418, x_425); -lean_inc(x_414); -x_427 = l_Lean_Syntax_node1(x_414, x_417, x_426); -lean_inc(x_414); -x_428 = l_Lean_Syntax_node2(x_414, x_416, x_427, x_338); -x_429 = l_Lean_Syntax_node1(x_414, x_415, x_428); -x_332 = x_322; -x_333 = x_429; -goto block_337; -} -else -{ -lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; lean_object* x_440; lean_object* x_441; lean_object* x_442; lean_object* x_443; lean_object* x_444; lean_object* x_445; lean_object* x_446; lean_object* x_447; lean_object* x_448; lean_object* x_449; -x_430 = lean_ctor_get(x_5, 5); -x_431 = l_Lean_SourceInfo_fromRef(x_430, x_328); -x_432 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_433 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_434 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_435 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_436 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__11; -x_437 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; -lean_inc(x_431); -x_438 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_438, 0, x_431); -lean_ctor_set(x_438, 1, x_437); -x_439 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_431); -lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_439); -lean_ctor_set(x_1, 0, x_431); -x_440 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_441 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_431); -x_442 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_442, 0, x_431); -lean_ctor_set(x_442, 1, x_441); -lean_inc(x_431); -x_443 = l_Lean_Syntax_node1(x_431, x_440, x_442); -lean_inc(x_431); -x_444 = l_Lean_Syntax_node1(x_431, x_434, x_443); -lean_inc_ref(x_438); -lean_inc(x_431); -x_445 = l_Lean_Syntax_node4(x_431, x_436, x_438, x_1, x_438, x_444); -lean_inc(x_431); -x_446 = l_Lean_Syntax_node1(x_431, x_435, x_445); -lean_inc(x_431); -x_447 = l_Lean_Syntax_node1(x_431, x_434, x_446); -lean_inc(x_431); -x_448 = l_Lean_Syntax_node2(x_431, x_433, x_447, x_338); -x_449 = l_Lean_Syntax_node1(x_431, x_432, x_448); -x_332 = x_322; -x_333 = x_449; -goto block_337; -} -} -case 3: -{ -lean_object* x_450; lean_object* x_451; lean_object* x_452; lean_object* x_453; lean_object* x_454; lean_object* x_455; lean_object* x_456; lean_object* x_457; lean_object* x_458; lean_object* x_459; lean_object* x_460; lean_object* x_461; lean_object* x_462; lean_object* x_463; lean_object* x_464; lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; -x_450 = lean_ctor_get(x_5, 5); -x_451 = l_Lean_SourceInfo_fromRef(x_450, x_328); -x_452 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_453 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_454 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_455 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_456 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__13; -x_457 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_458 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__17; -x_459 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; -lean_inc(x_451); -x_460 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_460, 0, x_451); -lean_ctor_set(x_460, 1, x_459); -x_461 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_451); -lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_461); -lean_ctor_set(x_1, 0, x_451); -lean_inc(x_451); -x_462 = l_Lean_Syntax_node2(x_451, x_458, x_460, x_1); -lean_inc(x_451); -x_463 = l_Lean_Syntax_node1(x_451, x_457, x_462); -lean_inc(x_451); -x_464 = l_Lean_Syntax_node1(x_451, x_456, x_463); -lean_inc(x_451); -x_465 = l_Lean_Syntax_node1(x_451, x_455, x_464); -lean_inc(x_451); -x_466 = l_Lean_Syntax_node1(x_451, x_454, x_465); -lean_inc(x_451); -x_467 = l_Lean_Syntax_node2(x_451, x_453, x_466, x_338); -x_468 = l_Lean_Syntax_node1(x_451, x_452, x_467); -x_332 = x_322; -x_333 = x_468; -goto block_337; -} -case 4: -{ -lean_object* x_469; lean_object* x_470; lean_object* x_471; lean_object* x_472; lean_object* x_473; lean_object* x_474; lean_object* x_475; lean_object* x_476; lean_object* x_477; lean_object* x_478; lean_object* x_479; lean_object* x_480; lean_object* x_481; lean_object* x_482; lean_object* x_483; lean_object* x_484; lean_object* x_485; lean_object* x_486; -lean_free_object(x_1); -x_469 = lean_ctor_get(x_5, 5); -x_470 = l_Lean_SourceInfo_fromRef(x_469, x_328); -x_471 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_472 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_473 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_474 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_475 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__20; -x_476 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_477 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__22; -x_478 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__23; -lean_inc(x_470); -x_479 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_479, 0, x_470); -lean_ctor_set(x_479, 1, x_477); -lean_inc(x_470); -x_480 = l_Lean_Syntax_node1(x_470, x_478, x_479); -lean_inc(x_470); -x_481 = l_Lean_Syntax_node1(x_470, x_476, x_480); -lean_inc(x_470); -x_482 = l_Lean_Syntax_node1(x_470, x_475, x_481); -lean_inc(x_470); -x_483 = l_Lean_Syntax_node1(x_470, x_474, x_482); -lean_inc(x_470); -x_484 = l_Lean_Syntax_node1(x_470, x_473, x_483); -lean_inc(x_470); -x_485 = l_Lean_Syntax_node2(x_470, x_472, x_484, x_338); -x_486 = l_Lean_Syntax_node1(x_470, x_471, x_485); -x_332 = x_322; -x_333 = x_486; -goto block_337; -} -case 5: -{ -uint8_t x_487; -x_487 = lean_ctor_get_uint8(x_320, 0); -lean_dec_ref(x_320); -if (x_487 == 0) -{ -lean_object* x_488; lean_object* x_489; lean_object* x_490; lean_object* x_491; lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; lean_object* x_500; lean_object* x_501; lean_object* x_502; lean_object* x_503; lean_object* x_504; lean_object* x_505; lean_object* x_506; lean_object* x_507; -lean_free_object(x_1); -x_488 = lean_ctor_get(x_5, 5); -x_489 = l_Lean_SourceInfo_fromRef(x_488, x_487); -x_490 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_491 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_492 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_493 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_494 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__25; -x_495 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_496 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; -x_497 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; -lean_inc(x_489); -x_498 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_498, 0, x_489); -lean_ctor_set(x_498, 1, x_496); -lean_inc(x_489); -x_499 = l_Lean_Syntax_node1(x_489, x_497, x_498); -lean_inc(x_489); -x_500 = l_Lean_Syntax_node1(x_489, x_495, x_499); -x_501 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_489); -x_502 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_502, 0, x_489); -lean_ctor_set(x_502, 1, x_492); -lean_ctor_set(x_502, 2, x_501); -lean_inc(x_489); -x_503 = l_Lean_Syntax_node2(x_489, x_494, x_500, x_502); -lean_inc(x_489); -x_504 = l_Lean_Syntax_node1(x_489, x_493, x_503); -lean_inc(x_489); -x_505 = l_Lean_Syntax_node1(x_489, x_492, x_504); -lean_inc(x_489); -x_506 = l_Lean_Syntax_node2(x_489, x_491, x_505, x_338); -x_507 = l_Lean_Syntax_node1(x_489, x_490, x_506); -x_332 = x_322; -x_333 = x_507; -goto block_337; -} -else -{ -lean_object* x_508; lean_object* x_509; lean_object* x_510; lean_object* x_511; lean_object* x_512; lean_object* x_513; lean_object* x_514; lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; lean_object* x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; lean_object* x_526; lean_object* x_527; lean_object* x_528; lean_object* x_529; -x_508 = lean_ctor_get(x_5, 5); -x_509 = l_Lean_SourceInfo_fromRef(x_508, x_328); -x_510 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_511 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_512 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_513 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_514 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__25; -x_515 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_516 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; -x_517 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; -lean_inc(x_509); -x_518 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_518, 0, x_509); -lean_ctor_set(x_518, 1, x_516); -lean_inc(x_509); -x_519 = l_Lean_Syntax_node1(x_509, x_517, x_518); -lean_inc(x_509); -x_520 = l_Lean_Syntax_node1(x_509, x_515, x_519); -x_521 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_522 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_509); -lean_ctor_set_tag(x_1, 2); -lean_ctor_set(x_1, 1, x_522); -lean_ctor_set(x_1, 0, x_509); -lean_inc(x_509); -x_523 = l_Lean_Syntax_node1(x_509, x_521, x_1); -lean_inc(x_509); -x_524 = l_Lean_Syntax_node1(x_509, x_512, x_523); -lean_inc(x_509); -x_525 = l_Lean_Syntax_node2(x_509, x_514, x_520, x_524); -lean_inc(x_509); -x_526 = l_Lean_Syntax_node1(x_509, x_513, x_525); -lean_inc(x_509); -x_527 = l_Lean_Syntax_node1(x_509, x_512, x_526); -lean_inc(x_509); -x_528 = l_Lean_Syntax_node2(x_509, x_511, x_527, x_338); -x_529 = l_Lean_Syntax_node1(x_509, x_510, x_528); -x_332 = x_322; -x_333 = x_529; -goto block_337; -} -} -case 6: -{ -lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; lean_object* x_537; lean_object* x_538; lean_object* x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; lean_object* x_543; lean_object* x_544; lean_object* x_545; lean_object* x_546; lean_object* x_547; -lean_free_object(x_1); -x_530 = lean_ctor_get(x_5, 5); -x_531 = l_Lean_SourceInfo_fromRef(x_530, x_328); -x_532 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_533 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_534 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_535 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_536 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__28; -x_537 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_538 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__29; -x_539 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__30; -lean_inc(x_531); -x_540 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_540, 0, x_531); -lean_ctor_set(x_540, 1, x_538); -lean_inc(x_531); -x_541 = l_Lean_Syntax_node1(x_531, x_539, x_540); -lean_inc(x_531); -x_542 = l_Lean_Syntax_node1(x_531, x_537, x_541); -lean_inc(x_531); -x_543 = l_Lean_Syntax_node1(x_531, x_536, x_542); -lean_inc(x_531); -x_544 = l_Lean_Syntax_node1(x_531, x_535, x_543); -lean_inc(x_531); -x_545 = l_Lean_Syntax_node1(x_531, x_534, x_544); -lean_inc(x_531); -x_546 = l_Lean_Syntax_node2(x_531, x_533, x_545, x_338); -x_547 = l_Lean_Syntax_node1(x_531, x_532, x_546); -x_332 = x_322; -x_333 = x_547; -goto block_337; -} -case 7: -{ -lean_object* x_548; lean_object* x_549; lean_object* x_550; lean_object* x_551; lean_object* x_552; lean_object* x_553; lean_object* x_554; lean_object* x_555; lean_object* x_556; lean_object* x_557; lean_object* x_558; lean_object* x_559; lean_object* x_560; lean_object* x_561; lean_object* x_562; lean_object* x_563; lean_object* x_564; lean_object* x_565; -lean_free_object(x_1); -x_548 = lean_ctor_get(x_5, 5); -x_549 = l_Lean_SourceInfo_fromRef(x_548, x_328); -x_550 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_551 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_552 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_553 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_554 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__32; -x_555 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_556 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__33; -x_557 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__34; -lean_inc(x_549); -x_558 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_558, 0, x_549); -lean_ctor_set(x_558, 1, x_556); -lean_inc(x_549); -x_559 = l_Lean_Syntax_node1(x_549, x_557, x_558); -lean_inc(x_549); -x_560 = l_Lean_Syntax_node1(x_549, x_555, x_559); -lean_inc(x_549); -x_561 = l_Lean_Syntax_node1(x_549, x_554, x_560); -lean_inc(x_549); -x_562 = l_Lean_Syntax_node1(x_549, x_553, x_561); -lean_inc(x_549); -x_563 = l_Lean_Syntax_node1(x_549, x_552, x_562); -lean_inc(x_549); -x_564 = l_Lean_Syntax_node2(x_549, x_551, x_563, x_338); -x_565 = l_Lean_Syntax_node1(x_549, x_550, x_564); -x_332 = x_322; -x_333 = x_565; -goto block_337; } case 8: { -uint8_t x_566; -lean_free_object(x_1); -x_566 = lean_ctor_get_uint8(x_320, 0); -lean_dec_ref(x_320); -if (x_566 == 0) +uint8_t x_358; +x_358 = lean_ctor_get_uint8(x_14, 0); +lean_dec_ref(x_14); +if (x_358 == 0) { -lean_object* x_567; lean_object* x_568; lean_object* x_569; lean_object* x_570; lean_object* x_571; lean_object* x_572; lean_object* x_573; lean_object* x_574; lean_object* x_575; -x_567 = lean_ctor_get(x_5, 5); -x_568 = l_Lean_SourceInfo_fromRef(x_567, x_566); -x_569 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_570 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_571 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_572 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_568); -x_573 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_573, 0, x_568); -lean_ctor_set(x_573, 1, x_571); -lean_ctor_set(x_573, 2, x_572); -lean_inc(x_568); -x_574 = l_Lean_Syntax_node2(x_568, x_570, x_573, x_338); -x_575 = l_Lean_Syntax_node1(x_568, x_569, x_574); -x_332 = x_322; -x_333 = x_575; -goto block_337; +if (x_15 == 0) +{ +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_free_object(x_1); +x_359 = lean_ctor_get(x_5, 5); +x_360 = l_Lean_SourceInfo_fromRef(x_359, x_15); +x_361 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_362 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_363 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_364 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_360); +x_365 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_365, 0, x_360); +lean_ctor_set(x_365, 1, x_363); +lean_ctor_set(x_365, 2, x_364); +lean_inc(x_360); +x_366 = l_Lean_Syntax_node2(x_360, x_362, x_365, x_33); +x_367 = l_Lean_Syntax_node1(x_360, x_361, x_366); +x_27 = x_17; +x_28 = x_367; +goto block_32; } else { -lean_object* x_576; lean_object* x_577; lean_object* x_578; lean_object* x_579; lean_object* x_580; lean_object* x_581; lean_object* x_582; lean_object* x_583; lean_object* x_584; lean_object* x_585; lean_object* x_586; lean_object* x_587; lean_object* x_588; lean_object* x_589; -x_576 = lean_ctor_get(x_5, 5); -x_577 = l_Lean_SourceInfo_fromRef(x_576, x_328); -x_578 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_579 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_580 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_581 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_582 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_583 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_577); -x_584 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_584, 0, x_577); -lean_ctor_set(x_584, 1, x_583); -lean_inc(x_577); -x_585 = l_Lean_Syntax_node1(x_577, x_582, x_584); -lean_inc(x_577); -x_586 = l_Lean_Syntax_node1(x_577, x_581, x_585); -lean_inc(x_577); -x_587 = l_Lean_Syntax_node1(x_577, x_580, x_586); -lean_inc(x_577); -x_588 = l_Lean_Syntax_node2(x_577, x_579, x_587, x_338); -x_589 = l_Lean_Syntax_node1(x_577, x_578, x_588); -x_332 = x_322; -x_333 = x_589; -goto block_337; +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; +x_368 = lean_ctor_get(x_5, 5); +x_369 = l_Lean_SourceInfo_fromRef(x_368, x_358); +x_370 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_371 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_372 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_369); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_372); +lean_ctor_set(x_1, 0, x_369); +x_373 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_374 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_369); +x_375 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_375, 0, x_369); +lean_ctor_set(x_375, 1, x_373); +lean_ctor_set(x_375, 2, x_374); +lean_inc(x_369); +x_376 = l_Lean_Syntax_node3(x_369, x_371, x_1, x_375, x_33); +x_377 = l_Lean_Syntax_node1(x_369, x_370, x_376); +x_27 = x_17; +x_28 = x_377; +goto block_32; +} +} +else +{ +if (x_15 == 0) +{ +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; lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; +x_378 = lean_ctor_get(x_5, 5); +x_379 = l_Lean_SourceInfo_fromRef(x_378, x_15); +x_380 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_381 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_382 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_383 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_384 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_385 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_379); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_385); +lean_ctor_set(x_1, 0, x_379); +lean_inc(x_379); +x_386 = l_Lean_Syntax_node1(x_379, x_384, x_1); +lean_inc(x_379); +x_387 = l_Lean_Syntax_node1(x_379, x_383, x_386); +lean_inc(x_379); +x_388 = l_Lean_Syntax_node1(x_379, x_382, x_387); +lean_inc(x_379); +x_389 = l_Lean_Syntax_node2(x_379, x_381, x_388, x_33); +x_390 = l_Lean_Syntax_node1(x_379, x_380, x_389); +x_27 = x_17; +x_28 = x_390; +goto block_32; +} +else +{ +lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; lean_object* x_400; lean_object* x_401; lean_object* x_402; lean_object* x_403; lean_object* x_404; lean_object* x_405; +x_391 = lean_ctor_get(x_5, 5); +x_392 = l_Lean_SourceInfo_fromRef(x_391, x_23); +x_393 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_394 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_395 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_392); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_395); +lean_ctor_set(x_1, 0, x_392); +x_396 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_397 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_398 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_399 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_392); +x_400 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_400, 0, x_392); +lean_ctor_set(x_400, 1, x_399); +lean_inc(x_392); +x_401 = l_Lean_Syntax_node1(x_392, x_398, x_400); +lean_inc(x_392); +x_402 = l_Lean_Syntax_node1(x_392, x_397, x_401); +lean_inc(x_392); +x_403 = l_Lean_Syntax_node1(x_392, x_396, x_402); +lean_inc(x_392); +x_404 = l_Lean_Syntax_node3(x_392, x_394, x_1, x_403, x_33); +x_405 = l_Lean_Syntax_node1(x_392, x_393, x_404); +x_27 = x_17; +x_28 = x_405; +goto block_32; +} } } default: { -lean_object* x_590; lean_object* x_591; lean_object* x_592; lean_object* x_593; lean_object* x_594; lean_object* x_595; lean_object* x_596; lean_object* x_597; lean_object* x_598; lean_object* x_599; lean_object* x_600; lean_object* x_601; lean_object* x_602; lean_object* x_603; -lean_free_object(x_1); -x_590 = lean_ctor_get(x_5, 5); -x_591 = l_Lean_SourceInfo_fromRef(x_590, x_328); -x_592 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_593 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_594 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_595 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_596 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__36; -x_597 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__37; -lean_inc(x_591); -x_598 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_598, 0, x_591); -lean_ctor_set(x_598, 1, x_597); -lean_inc(x_591); -x_599 = l_Lean_Syntax_node1(x_591, x_596, x_598); -lean_inc(x_591); -x_600 = l_Lean_Syntax_node1(x_591, x_595, x_599); -lean_inc(x_591); -x_601 = l_Lean_Syntax_node1(x_591, x_594, x_600); -lean_inc(x_591); -x_602 = l_Lean_Syntax_node2(x_591, x_593, x_601, x_338); -x_603 = l_Lean_Syntax_node1(x_591, x_592, x_602); -x_332 = x_322; -x_333 = x_603; -goto block_337; +lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; +x_406 = lean_ctor_get(x_5, 5); +x_407 = l_Lean_SourceInfo_fromRef(x_406, x_23); +x_408 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_409 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_410 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_411 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_412 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__37; +x_413 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__38; +lean_inc(x_407); +lean_ctor_set_tag(x_1, 2); +lean_ctor_set(x_1, 1, x_413); +lean_ctor_set(x_1, 0, x_407); +lean_inc(x_407); +x_414 = l_Lean_Syntax_node1(x_407, x_412, x_1); +lean_inc(x_407); +x_415 = l_Lean_Syntax_node1(x_407, x_411, x_414); +lean_inc(x_407); +x_416 = l_Lean_Syntax_node1(x_407, x_410, x_415); +lean_inc(x_407); +x_417 = l_Lean_Syntax_node2(x_407, x_409, x_416, x_33); +x_418 = l_Lean_Syntax_node1(x_407, x_408, x_417); +x_27 = x_17; +x_28 = x_418; +goto block_32; } } -block_337: +block_32: { -lean_object* x_334; lean_object* x_335; -x_334 = lean_array_push(x_332, x_333); -if (lean_is_scalar(x_323)) { - x_335 = lean_alloc_ctor(0, 2, 0); +lean_object* x_29; lean_object* x_30; +x_29 = lean_array_push(x_27, x_28); +if (lean_is_scalar(x_18)) { + x_30 = lean_alloc_ctor(0, 2, 0); } else { - x_335 = x_323; + x_30 = x_18; } -lean_ctor_set(x_335, 0, x_321); -lean_ctor_set(x_335, 1, x_334); +lean_ctor_set(x_30, 0, x_16); +lean_ctor_set(x_30, 1, x_29); x_1 = x_12; -x_2 = x_335; -x_7 = x_331; +x_2 = x_30; +x_7 = x_26; goto _start; } } else { -lean_object* x_604; lean_object* x_605; lean_object* x_606; lean_object* x_607; -lean_dec(x_323); -lean_dec(x_322); -lean_dec(x_321); -lean_dec(x_320); +uint8_t x_419; +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_14); lean_free_object(x_1); lean_dec(x_12); lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); lean_dec_ref(x_3); -x_604 = lean_ctor_get(x_329, 0); -lean_inc(x_604); -x_605 = lean_ctor_get(x_329, 1); -lean_inc(x_605); -if (lean_is_exclusive(x_329)) { - lean_ctor_release(x_329, 0); - lean_ctor_release(x_329, 1); - x_606 = x_329; -} else { - lean_dec_ref(x_329); - x_606 = lean_box(0); +x_419 = !lean_is_exclusive(x_24); +if (x_419 == 0) +{ +return x_24; } -if (lean_is_scalar(x_606)) { - x_607 = lean_alloc_ctor(1, 2, 0); -} else { - x_607 = x_606; +else +{ +lean_object* x_420; lean_object* x_421; lean_object* x_422; +x_420 = lean_ctor_get(x_24, 0); +x_421 = lean_ctor_get(x_24, 1); +lean_inc(x_421); +lean_inc(x_420); +lean_dec(x_24); +x_422 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_422, 0, x_420); +lean_ctor_set(x_422, 1, x_421); +return x_422; } -lean_ctor_set(x_607, 0, x_604); -lean_ctor_set(x_607, 1, x_605); -return x_607; } } else { -lean_object* x_608; lean_object* x_609; uint8_t x_610; -lean_dec(x_324); -lean_dec(x_320); +lean_object* x_423; lean_object* x_424; uint8_t x_425; +lean_dec(x_19); +lean_dec(x_14); lean_free_object(x_1); -x_608 = lean_ctor_get(x_325, 1); -lean_inc(x_608); -lean_dec_ref(x_325); -x_609 = lean_ctor_get(x_326, 0); -lean_inc(x_609); -lean_dec_ref(x_326); -x_610 = l_Lean_NameSet_contains(x_321, x_609); -if (x_610 == 0) +x_423 = lean_ctor_get(x_20, 1); +lean_inc(x_423); +lean_dec_ref(x_20); +x_424 = lean_ctor_get(x_21, 0); +lean_inc(x_424); +lean_dec_ref(x_21); +x_425 = l_Lean_NameSet_contains(x_16, x_424); +if (x_425 == 0) { -lean_object* x_611; +lean_object* x_426; lean_inc(x_6); lean_inc_ref(x_5); lean_inc(x_4); lean_inc_ref(x_3); -lean_inc(x_609); -x_611 = l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0(x_609, x_610, x_3, x_4, x_5, x_6, x_608); -if (lean_obj_tag(x_611) == 0) +lean_inc(x_424); +x_426 = l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0(x_424, x_425, x_3, x_4, x_5, x_6, x_423); +if (lean_obj_tag(x_426) == 0) { -lean_object* x_612; lean_object* x_613; lean_object* x_614; lean_object* x_615; lean_object* x_616; lean_object* x_617; lean_object* x_618; lean_object* x_619; lean_object* x_620; lean_object* x_621; lean_object* x_622; lean_object* x_623; lean_object* x_624; lean_object* x_625; lean_object* x_626; -x_612 = lean_ctor_get(x_611, 0); -lean_inc(x_612); -x_613 = lean_ctor_get(x_611, 1); -lean_inc(x_613); -lean_dec_ref(x_611); -x_614 = lean_ctor_get(x_5, 5); -x_615 = l_Lean_NameSet_insert(x_321, x_609); -x_616 = lean_mk_syntax_ident(x_612); -x_617 = l_Lean_SourceInfo_fromRef(x_614, x_610); -x_618 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_619 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_620 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_621 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_617); -x_622 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_622, 0, x_617); -lean_ctor_set(x_622, 1, x_620); -lean_ctor_set(x_622, 2, x_621); -lean_inc(x_617); -x_623 = l_Lean_Syntax_node2(x_617, x_619, x_622, x_616); -x_624 = l_Lean_Syntax_node1(x_617, x_618, x_623); -x_625 = lean_array_push(x_322, x_624); -if (lean_is_scalar(x_323)) { - x_626 = lean_alloc_ctor(0, 2, 0); +lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; lean_object* x_440; lean_object* x_441; +x_427 = lean_ctor_get(x_426, 0); +lean_inc(x_427); +x_428 = lean_ctor_get(x_426, 1); +lean_inc(x_428); +lean_dec_ref(x_426); +x_429 = lean_ctor_get(x_5, 5); +x_430 = l_Lean_NameSet_insert(x_16, x_424); +x_431 = lean_mk_syntax_ident(x_427); +x_432 = l_Lean_SourceInfo_fromRef(x_429, x_425); +x_433 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_434 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_435 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_436 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_432); +x_437 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_437, 0, x_432); +lean_ctor_set(x_437, 1, x_435); +lean_ctor_set(x_437, 2, x_436); +lean_inc(x_432); +x_438 = l_Lean_Syntax_node2(x_432, x_434, x_437, x_431); +x_439 = l_Lean_Syntax_node1(x_432, x_433, x_438); +x_440 = lean_array_push(x_17, x_439); +if (lean_is_scalar(x_18)) { + x_441 = lean_alloc_ctor(0, 2, 0); } else { - x_626 = x_323; + x_441 = x_18; } -lean_ctor_set(x_626, 0, x_615); -lean_ctor_set(x_626, 1, x_625); +lean_ctor_set(x_441, 0, x_430); +lean_ctor_set(x_441, 1, x_440); x_1 = x_12; -x_2 = x_626; -x_7 = x_613; +x_2 = x_441; +x_7 = x_428; goto _start; } else { -lean_object* x_628; lean_object* x_629; lean_object* x_630; lean_object* x_631; -lean_dec(x_609); -lean_dec(x_323); -lean_dec(x_322); -lean_dec(x_321); +uint8_t x_443; +lean_dec(x_424); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); lean_dec(x_12); lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); lean_dec_ref(x_3); -x_628 = lean_ctor_get(x_611, 0); -lean_inc(x_628); -x_629 = lean_ctor_get(x_611, 1); -lean_inc(x_629); -if (lean_is_exclusive(x_611)) { - lean_ctor_release(x_611, 0); - lean_ctor_release(x_611, 1); - x_630 = x_611; -} else { - lean_dec_ref(x_611); - x_630 = lean_box(0); +x_443 = !lean_is_exclusive(x_426); +if (x_443 == 0) +{ +return x_426; } -if (lean_is_scalar(x_630)) { - x_631 = lean_alloc_ctor(1, 2, 0); -} else { - x_631 = x_630; +else +{ +lean_object* x_444; lean_object* x_445; lean_object* x_446; +x_444 = lean_ctor_get(x_426, 0); +x_445 = lean_ctor_get(x_426, 1); +lean_inc(x_445); +lean_inc(x_444); +lean_dec(x_426); +x_446 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_446, 0, x_444); +lean_ctor_set(x_446, 1, x_445); +return x_446; } -lean_ctor_set(x_631, 0, x_628); -lean_ctor_set(x_631, 1, x_629); -return x_631; } } else { -lean_object* x_632; -lean_dec(x_609); -if (lean_is_scalar(x_323)) { - x_632 = lean_alloc_ctor(0, 2, 0); +lean_object* x_447; +lean_dec(x_424); +if (lean_is_scalar(x_18)) { + x_447 = lean_alloc_ctor(0, 2, 0); } else { - x_632 = x_323; + x_447 = x_18; } -lean_ctor_set(x_632, 0, x_321); -lean_ctor_set(x_632, 1, x_322); +lean_ctor_set(x_447, 0, x_16); +lean_ctor_set(x_447, 1, x_17); x_1 = x_12; -x_2 = x_632; -x_7 = x_608; +x_2 = x_447; +x_7 = x_423; goto _start; } } } else { -lean_object* x_634; lean_object* x_635; lean_object* x_636; lean_object* x_637; -lean_dec(x_324); -lean_dec(x_323); -lean_dec(x_322); -lean_dec(x_321); -lean_dec(x_320); +uint8_t x_449; +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_14); lean_free_object(x_1); lean_dec(x_12); lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); lean_dec_ref(x_3); -x_634 = lean_ctor_get(x_325, 0); -lean_inc(x_634); -x_635 = lean_ctor_get(x_325, 1); -lean_inc(x_635); -if (lean_is_exclusive(x_325)) { - lean_ctor_release(x_325, 0); - lean_ctor_release(x_325, 1); - x_636 = x_325; -} else { - lean_dec_ref(x_325); - x_636 = lean_box(0); +x_449 = !lean_is_exclusive(x_20); +if (x_449 == 0) +{ +return x_20; } -if (lean_is_scalar(x_636)) { - x_637 = lean_alloc_ctor(1, 2, 0); -} else { - x_637 = x_636; -} -lean_ctor_set(x_637, 0, x_634); -lean_ctor_set(x_637, 1, x_635); -return x_637; +else +{ +lean_object* x_450; lean_object* x_451; lean_object* x_452; +x_450 = lean_ctor_get(x_20, 0); +x_451 = lean_ctor_get(x_20, 1); +lean_inc(x_451); +lean_inc(x_450); +lean_dec(x_20); +x_452 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_452, 0, x_450); +lean_ctor_set(x_452, 1, x_451); +return x_452; } } } else { -lean_object* x_638; lean_object* x_639; lean_object* x_640; lean_object* x_641; lean_object* x_642; lean_object* x_643; lean_object* x_644; lean_object* x_645; -x_638 = lean_ctor_get(x_1, 1); -lean_inc(x_638); +lean_object* x_453; lean_object* x_454; uint8_t x_455; lean_object* x_456; lean_object* x_457; lean_object* x_458; lean_object* x_459; lean_object* x_460; +x_453 = lean_ctor_get(x_1, 1); +lean_inc(x_453); lean_dec(x_1); -x_639 = lean_ctor_get(x_9, 1); -lean_inc(x_639); -if (lean_is_exclusive(x_9)) { - lean_ctor_release(x_9, 0); - lean_ctor_release(x_9, 1); - x_640 = x_9; -} else { - lean_dec_ref(x_9); - x_640 = lean_box(0); -} -x_641 = lean_ctor_get(x_2, 0); -lean_inc(x_641); -x_642 = lean_ctor_get(x_2, 1); -lean_inc(x_642); +x_454 = lean_ctor_get(x_9, 1); +lean_inc(x_454); +x_455 = lean_ctor_get_uint8(x_9, sizeof(void*)*2); +lean_dec(x_9); +x_456 = lean_ctor_get(x_2, 0); +lean_inc(x_456); +x_457 = lean_ctor_get(x_2, 1); +lean_inc(x_457); if (lean_is_exclusive(x_2)) { lean_ctor_release(x_2, 0); lean_ctor_release(x_2, 1); - x_643 = x_2; + x_458 = x_2; } else { lean_dec_ref(x_2); - x_643 = lean_box(0); + x_458 = lean_box(0); } -x_644 = lean_ctor_get(x_10, 0); -lean_inc(x_644); +x_459 = lean_ctor_get(x_10, 0); +lean_inc(x_459); lean_dec_ref(x_10); -x_645 = l_Lean_Meta_isEqnThm_x3f___redArg(x_644, x_6, x_7); -if (lean_obj_tag(x_645) == 0) +x_460 = l_Lean_Meta_isEqnThm_x3f___redArg(x_459, x_6, x_7); +if (lean_obj_tag(x_460) == 0) { -lean_object* x_646; -x_646 = lean_ctor_get(x_645, 0); -lean_inc(x_646); -if (lean_obj_tag(x_646) == 0) +lean_object* x_461; +x_461 = lean_ctor_get(x_460, 0); +lean_inc(x_461); +if (lean_obj_tag(x_461) == 0) { -lean_object* x_647; uint8_t x_648; lean_object* x_649; -x_647 = lean_ctor_get(x_645, 1); -lean_inc(x_647); -lean_dec_ref(x_645); -x_648 = 0; +lean_object* x_462; uint8_t x_463; lean_object* x_464; +x_462 = lean_ctor_get(x_460, 1); +lean_inc(x_462); +lean_dec_ref(x_460); +x_463 = 0; lean_inc(x_6); lean_inc_ref(x_5); lean_inc(x_4); lean_inc_ref(x_3); -x_649 = l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0(x_644, x_648, x_3, x_4, x_5, x_6, x_647); -if (lean_obj_tag(x_649) == 0) +x_464 = l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0(x_459, x_463, x_3, x_4, x_5, x_6, x_462); +if (lean_obj_tag(x_464) == 0) { -lean_object* x_650; lean_object* x_651; lean_object* x_652; lean_object* x_653; lean_object* x_658; -x_650 = lean_ctor_get(x_649, 0); -lean_inc(x_650); -x_651 = lean_ctor_get(x_649, 1); -lean_inc(x_651); -lean_dec_ref(x_649); -x_658 = lean_mk_syntax_ident(x_650); -switch (lean_obj_tag(x_639)) { +lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; lean_object* x_473; +x_465 = lean_ctor_get(x_464, 0); +lean_inc(x_465); +x_466 = lean_ctor_get(x_464, 1); +lean_inc(x_466); +lean_dec_ref(x_464); +x_473 = lean_mk_syntax_ident(x_465); +switch (lean_obj_tag(x_454)) { case 0: { -uint8_t x_659; -x_659 = lean_ctor_get_uint8(x_639, 0); -lean_dec_ref(x_639); -if (x_659 == 0) +uint8_t x_474; +x_474 = lean_ctor_get_uint8(x_454, 0); +lean_dec_ref(x_454); +if (x_474 == 0) { -lean_object* x_660; lean_object* x_661; lean_object* x_662; lean_object* x_663; lean_object* x_664; lean_object* x_665; lean_object* x_666; lean_object* x_667; lean_object* x_668; lean_object* x_669; lean_object* x_670; lean_object* x_671; lean_object* x_672; lean_object* x_673; lean_object* x_674; lean_object* x_675; -x_660 = lean_ctor_get(x_5, 5); -x_661 = l_Lean_SourceInfo_fromRef(x_660, x_659); -x_662 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_663 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_664 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_665 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_666 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__1; -x_667 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_661); -if (lean_is_scalar(x_640)) { - x_668 = lean_alloc_ctor(2, 2, 0); -} else { - x_668 = x_640; - lean_ctor_set_tag(x_668, 2); -} -lean_ctor_set(x_668, 0, x_661); -lean_ctor_set(x_668, 1, x_667); -x_669 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_661); -x_670 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_670, 0, x_661); -lean_ctor_set(x_670, 1, x_664); -lean_ctor_set(x_670, 2, x_669); -lean_inc(x_661); -x_671 = l_Lean_Syntax_node2(x_661, x_666, x_668, x_670); -lean_inc(x_661); -x_672 = l_Lean_Syntax_node1(x_661, x_665, x_671); -lean_inc(x_661); -x_673 = l_Lean_Syntax_node1(x_661, x_664, x_672); -lean_inc(x_661); -x_674 = l_Lean_Syntax_node2(x_661, x_663, x_673, x_658); -x_675 = l_Lean_Syntax_node1(x_661, x_662, x_674); -x_652 = x_642; -x_653 = x_675; -goto block_657; +lean_object* x_475; lean_object* x_476; lean_object* x_477; lean_object* x_478; lean_object* x_479; lean_object* x_480; lean_object* x_481; lean_object* x_482; lean_object* x_483; lean_object* x_484; lean_object* x_485; lean_object* x_486; lean_object* x_487; lean_object* x_488; lean_object* x_489; lean_object* x_490; +x_475 = lean_ctor_get(x_5, 5); +x_476 = l_Lean_SourceInfo_fromRef(x_475, x_474); +x_477 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_478 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_479 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_480 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_481 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__1; +x_482 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_476); +x_483 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_483, 0, x_476); +lean_ctor_set(x_483, 1, x_482); +x_484 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_476); +x_485 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_485, 0, x_476); +lean_ctor_set(x_485, 1, x_479); +lean_ctor_set(x_485, 2, x_484); +lean_inc(x_476); +x_486 = l_Lean_Syntax_node2(x_476, x_481, x_483, x_485); +lean_inc(x_476); +x_487 = l_Lean_Syntax_node1(x_476, x_480, x_486); +lean_inc(x_476); +x_488 = l_Lean_Syntax_node1(x_476, x_479, x_487); +lean_inc(x_476); +x_489 = l_Lean_Syntax_node2(x_476, x_478, x_488, x_473); +x_490 = l_Lean_Syntax_node1(x_476, x_477, x_489); +x_467 = x_457; +x_468 = x_490; +goto block_472; } else { -lean_object* x_676; lean_object* x_677; lean_object* x_678; lean_object* x_679; lean_object* x_680; lean_object* x_681; lean_object* x_682; lean_object* x_683; lean_object* x_684; lean_object* x_685; lean_object* x_686; lean_object* x_687; lean_object* x_688; lean_object* x_689; lean_object* x_690; lean_object* x_691; lean_object* x_692; lean_object* x_693; lean_object* x_694; -x_676 = lean_ctor_get(x_5, 5); -x_677 = l_Lean_SourceInfo_fromRef(x_676, x_648); -x_678 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_679 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_680 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_681 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_682 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__1; -x_683 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_677); -if (lean_is_scalar(x_640)) { - x_684 = lean_alloc_ctor(2, 2, 0); -} else { - x_684 = x_640; - lean_ctor_set_tag(x_684, 2); -} -lean_ctor_set(x_684, 0, x_677); -lean_ctor_set(x_684, 1, x_683); -x_685 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_686 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_677); -x_687 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_687, 0, x_677); -lean_ctor_set(x_687, 1, x_686); -lean_inc(x_677); -x_688 = l_Lean_Syntax_node1(x_677, x_685, x_687); -lean_inc(x_677); -x_689 = l_Lean_Syntax_node1(x_677, x_680, x_688); -lean_inc(x_677); -x_690 = l_Lean_Syntax_node2(x_677, x_682, x_684, x_689); -lean_inc(x_677); -x_691 = l_Lean_Syntax_node1(x_677, x_681, x_690); -lean_inc(x_677); -x_692 = l_Lean_Syntax_node1(x_677, x_680, x_691); -lean_inc(x_677); -x_693 = l_Lean_Syntax_node2(x_677, x_679, x_692, x_658); -x_694 = l_Lean_Syntax_node1(x_677, x_678, x_693); -x_652 = x_642; -x_653 = x_694; -goto block_657; +lean_object* x_491; lean_object* x_492; lean_object* x_493; lean_object* x_494; lean_object* x_495; lean_object* x_496; lean_object* x_497; lean_object* x_498; lean_object* x_499; lean_object* x_500; lean_object* x_501; lean_object* x_502; lean_object* x_503; lean_object* x_504; lean_object* x_505; lean_object* x_506; lean_object* x_507; lean_object* x_508; lean_object* x_509; +x_491 = lean_ctor_get(x_5, 5); +x_492 = l_Lean_SourceInfo_fromRef(x_491, x_463); +x_493 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_494 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_495 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_496 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_497 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__1; +x_498 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_492); +x_499 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_499, 0, x_492); +lean_ctor_set(x_499, 1, x_498); +x_500 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_501 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_492); +x_502 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_502, 0, x_492); +lean_ctor_set(x_502, 1, x_501); +lean_inc(x_492); +x_503 = l_Lean_Syntax_node1(x_492, x_500, x_502); +lean_inc(x_492); +x_504 = l_Lean_Syntax_node1(x_492, x_495, x_503); +lean_inc(x_492); +x_505 = l_Lean_Syntax_node2(x_492, x_497, x_499, x_504); +lean_inc(x_492); +x_506 = l_Lean_Syntax_node1(x_492, x_496, x_505); +lean_inc(x_492); +x_507 = l_Lean_Syntax_node1(x_492, x_495, x_506); +lean_inc(x_492); +x_508 = l_Lean_Syntax_node2(x_492, x_494, x_507, x_473); +x_509 = l_Lean_Syntax_node1(x_492, x_493, x_508); +x_467 = x_457; +x_468 = x_509; +goto block_472; } } case 1: { -uint8_t x_695; -x_695 = lean_ctor_get_uint8(x_639, 0); -lean_dec_ref(x_639); -if (x_695 == 0) +uint8_t x_510; +x_510 = lean_ctor_get_uint8(x_454, 0); +lean_dec_ref(x_454); +if (x_510 == 0) { -lean_object* x_696; lean_object* x_697; lean_object* x_698; lean_object* x_699; lean_object* x_700; lean_object* x_701; lean_object* x_702; lean_object* x_703; lean_object* x_704; lean_object* x_705; lean_object* x_706; lean_object* x_707; lean_object* x_708; lean_object* x_709; lean_object* x_710; lean_object* x_711; lean_object* x_712; lean_object* x_713; -x_696 = lean_ctor_get(x_5, 5); -x_697 = l_Lean_SourceInfo_fromRef(x_696, x_695); -x_698 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_699 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_700 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_701 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_702 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__8; -x_703 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_697); -if (lean_is_scalar(x_640)) { - x_704 = lean_alloc_ctor(2, 2, 0); -} else { - x_704 = x_640; - lean_ctor_set_tag(x_704, 2); -} -lean_ctor_set(x_704, 0, x_697); -lean_ctor_set(x_704, 1, x_703); -x_705 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; -lean_inc(x_697); -x_706 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_706, 0, x_697); -lean_ctor_set(x_706, 1, x_705); -x_707 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_697); -x_708 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_708, 0, x_697); -lean_ctor_set(x_708, 1, x_700); -lean_ctor_set(x_708, 2, x_707); -lean_inc(x_697); -x_709 = l_Lean_Syntax_node3(x_697, x_702, x_704, x_706, x_708); -lean_inc(x_697); -x_710 = l_Lean_Syntax_node1(x_697, x_701, x_709); -lean_inc(x_697); -x_711 = l_Lean_Syntax_node1(x_697, x_700, x_710); -lean_inc(x_697); -x_712 = l_Lean_Syntax_node2(x_697, x_699, x_711, x_658); -x_713 = l_Lean_Syntax_node1(x_697, x_698, x_712); -x_652 = x_642; -x_653 = x_713; -goto block_657; +lean_object* x_511; lean_object* x_512; lean_object* x_513; lean_object* x_514; lean_object* x_515; lean_object* x_516; lean_object* x_517; lean_object* x_518; lean_object* x_519; lean_object* x_520; lean_object* x_521; lean_object* x_522; lean_object* x_523; lean_object* x_524; lean_object* x_525; lean_object* x_526; lean_object* x_527; lean_object* x_528; +x_511 = lean_ctor_get(x_5, 5); +x_512 = l_Lean_SourceInfo_fromRef(x_511, x_510); +x_513 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_514 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_515 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_516 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_517 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__8; +x_518 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_512); +x_519 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_519, 0, x_512); +lean_ctor_set(x_519, 1, x_518); +x_520 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; +lean_inc(x_512); +x_521 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_521, 0, x_512); +lean_ctor_set(x_521, 1, x_520); +x_522 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_512); +x_523 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_523, 0, x_512); +lean_ctor_set(x_523, 1, x_515); +lean_ctor_set(x_523, 2, x_522); +lean_inc(x_512); +x_524 = l_Lean_Syntax_node3(x_512, x_517, x_519, x_521, x_523); +lean_inc(x_512); +x_525 = l_Lean_Syntax_node1(x_512, x_516, x_524); +lean_inc(x_512); +x_526 = l_Lean_Syntax_node1(x_512, x_515, x_525); +lean_inc(x_512); +x_527 = l_Lean_Syntax_node2(x_512, x_514, x_526, x_473); +x_528 = l_Lean_Syntax_node1(x_512, x_513, x_527); +x_467 = x_457; +x_468 = x_528; +goto block_472; } else { -lean_object* x_714; lean_object* x_715; lean_object* x_716; lean_object* x_717; lean_object* x_718; lean_object* x_719; lean_object* x_720; lean_object* x_721; lean_object* x_722; lean_object* x_723; lean_object* x_724; lean_object* x_725; lean_object* x_726; lean_object* x_727; lean_object* x_728; lean_object* x_729; lean_object* x_730; lean_object* x_731; lean_object* x_732; lean_object* x_733; lean_object* x_734; -x_714 = lean_ctor_get(x_5, 5); -x_715 = l_Lean_SourceInfo_fromRef(x_714, x_648); -x_716 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_717 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_718 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_719 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_720 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__8; -x_721 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_715); -if (lean_is_scalar(x_640)) { - x_722 = lean_alloc_ctor(2, 2, 0); -} else { - x_722 = x_640; - lean_ctor_set_tag(x_722, 2); -} -lean_ctor_set(x_722, 0, x_715); -lean_ctor_set(x_722, 1, x_721); -x_723 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; -lean_inc(x_715); -x_724 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_724, 0, x_715); -lean_ctor_set(x_724, 1, x_723); -x_725 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_726 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_715); -x_727 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_727, 0, x_715); -lean_ctor_set(x_727, 1, x_726); -lean_inc(x_715); -x_728 = l_Lean_Syntax_node1(x_715, x_725, x_727); -lean_inc(x_715); -x_729 = l_Lean_Syntax_node1(x_715, x_718, x_728); -lean_inc(x_715); -x_730 = l_Lean_Syntax_node3(x_715, x_720, x_722, x_724, x_729); -lean_inc(x_715); -x_731 = l_Lean_Syntax_node1(x_715, x_719, x_730); -lean_inc(x_715); -x_732 = l_Lean_Syntax_node1(x_715, x_718, x_731); -lean_inc(x_715); -x_733 = l_Lean_Syntax_node2(x_715, x_717, x_732, x_658); -x_734 = l_Lean_Syntax_node1(x_715, x_716, x_733); -x_652 = x_642; -x_653 = x_734; -goto block_657; +lean_object* x_529; lean_object* x_530; lean_object* x_531; lean_object* x_532; lean_object* x_533; lean_object* x_534; lean_object* x_535; lean_object* x_536; lean_object* x_537; lean_object* x_538; lean_object* x_539; lean_object* x_540; lean_object* x_541; lean_object* x_542; lean_object* x_543; lean_object* x_544; lean_object* x_545; lean_object* x_546; lean_object* x_547; lean_object* x_548; lean_object* x_549; +x_529 = lean_ctor_get(x_5, 5); +x_530 = l_Lean_SourceInfo_fromRef(x_529, x_463); +x_531 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_532 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_533 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_534 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_535 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__8; +x_536 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_530); +x_537 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_537, 0, x_530); +lean_ctor_set(x_537, 1, x_536); +x_538 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; +lean_inc(x_530); +x_539 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_539, 0, x_530); +lean_ctor_set(x_539, 1, x_538); +x_540 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_541 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_530); +x_542 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_542, 0, x_530); +lean_ctor_set(x_542, 1, x_541); +lean_inc(x_530); +x_543 = l_Lean_Syntax_node1(x_530, x_540, x_542); +lean_inc(x_530); +x_544 = l_Lean_Syntax_node1(x_530, x_533, x_543); +lean_inc(x_530); +x_545 = l_Lean_Syntax_node3(x_530, x_535, x_537, x_539, x_544); +lean_inc(x_530); +x_546 = l_Lean_Syntax_node1(x_530, x_534, x_545); +lean_inc(x_530); +x_547 = l_Lean_Syntax_node1(x_530, x_533, x_546); +lean_inc(x_530); +x_548 = l_Lean_Syntax_node2(x_530, x_532, x_547, x_473); +x_549 = l_Lean_Syntax_node1(x_530, x_531, x_548); +x_467 = x_457; +x_468 = x_549; +goto block_472; } } case 2: { -uint8_t x_735; -x_735 = lean_ctor_get_uint8(x_639, 0); -lean_dec_ref(x_639); -if (x_735 == 0) +uint8_t x_550; +x_550 = lean_ctor_get_uint8(x_454, 0); +lean_dec_ref(x_454); +if (x_550 == 0) { -lean_object* x_736; lean_object* x_737; lean_object* x_738; lean_object* x_739; lean_object* x_740; lean_object* x_741; lean_object* x_742; lean_object* x_743; lean_object* x_744; lean_object* x_745; lean_object* x_746; lean_object* x_747; lean_object* x_748; lean_object* x_749; lean_object* x_750; lean_object* x_751; lean_object* x_752; lean_object* x_753; -x_736 = lean_ctor_get(x_5, 5); -x_737 = l_Lean_SourceInfo_fromRef(x_736, x_735); -x_738 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_739 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_740 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_741 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_742 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__11; -x_743 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; -lean_inc(x_737); -if (lean_is_scalar(x_640)) { - x_744 = lean_alloc_ctor(2, 2, 0); -} else { - x_744 = x_640; - lean_ctor_set_tag(x_744, 2); -} -lean_ctor_set(x_744, 0, x_737); -lean_ctor_set(x_744, 1, x_743); -x_745 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_737); -x_746 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_746, 0, x_737); -lean_ctor_set(x_746, 1, x_745); -x_747 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_737); -x_748 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_748, 0, x_737); -lean_ctor_set(x_748, 1, x_740); -lean_ctor_set(x_748, 2, x_747); -lean_inc_ref(x_744); -lean_inc(x_737); -x_749 = l_Lean_Syntax_node4(x_737, x_742, x_744, x_746, x_744, x_748); -lean_inc(x_737); -x_750 = l_Lean_Syntax_node1(x_737, x_741, x_749); -lean_inc(x_737); -x_751 = l_Lean_Syntax_node1(x_737, x_740, x_750); -lean_inc(x_737); -x_752 = l_Lean_Syntax_node2(x_737, x_739, x_751, x_658); -x_753 = l_Lean_Syntax_node1(x_737, x_738, x_752); -x_652 = x_642; -x_653 = x_753; -goto block_657; +lean_object* x_551; lean_object* x_552; lean_object* x_553; lean_object* x_554; lean_object* x_555; lean_object* x_556; lean_object* x_557; lean_object* x_558; lean_object* x_559; lean_object* x_560; lean_object* x_561; lean_object* x_562; lean_object* x_563; lean_object* x_564; lean_object* x_565; lean_object* x_566; lean_object* x_567; lean_object* x_568; +x_551 = lean_ctor_get(x_5, 5); +x_552 = l_Lean_SourceInfo_fromRef(x_551, x_550); +x_553 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_554 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_555 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_556 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_557 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__11; +x_558 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; +lean_inc(x_552); +x_559 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_559, 0, x_552); +lean_ctor_set(x_559, 1, x_558); +x_560 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_552); +x_561 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_561, 0, x_552); +lean_ctor_set(x_561, 1, x_560); +x_562 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_552); +x_563 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_563, 0, x_552); +lean_ctor_set(x_563, 1, x_555); +lean_ctor_set(x_563, 2, x_562); +lean_inc_ref(x_559); +lean_inc(x_552); +x_564 = l_Lean_Syntax_node4(x_552, x_557, x_559, x_561, x_559, x_563); +lean_inc(x_552); +x_565 = l_Lean_Syntax_node1(x_552, x_556, x_564); +lean_inc(x_552); +x_566 = l_Lean_Syntax_node1(x_552, x_555, x_565); +lean_inc(x_552); +x_567 = l_Lean_Syntax_node2(x_552, x_554, x_566, x_473); +x_568 = l_Lean_Syntax_node1(x_552, x_553, x_567); +x_467 = x_457; +x_468 = x_568; +goto block_472; } else { -lean_object* x_754; lean_object* x_755; lean_object* x_756; lean_object* x_757; lean_object* x_758; lean_object* x_759; lean_object* x_760; lean_object* x_761; lean_object* x_762; lean_object* x_763; lean_object* x_764; lean_object* x_765; lean_object* x_766; lean_object* x_767; lean_object* x_768; lean_object* x_769; lean_object* x_770; lean_object* x_771; lean_object* x_772; lean_object* x_773; lean_object* x_774; -x_754 = lean_ctor_get(x_5, 5); -x_755 = l_Lean_SourceInfo_fromRef(x_754, x_648); -x_756 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_757 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_758 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_759 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_760 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__11; -x_761 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; -lean_inc(x_755); -if (lean_is_scalar(x_640)) { - x_762 = lean_alloc_ctor(2, 2, 0); -} else { - x_762 = x_640; - lean_ctor_set_tag(x_762, 2); -} -lean_ctor_set(x_762, 0, x_755); -lean_ctor_set(x_762, 1, x_761); -x_763 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_755); -x_764 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_764, 0, x_755); -lean_ctor_set(x_764, 1, x_763); -x_765 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_766 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_755); -x_767 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_767, 0, x_755); -lean_ctor_set(x_767, 1, x_766); -lean_inc(x_755); -x_768 = l_Lean_Syntax_node1(x_755, x_765, x_767); -lean_inc(x_755); -x_769 = l_Lean_Syntax_node1(x_755, x_758, x_768); -lean_inc_ref(x_762); -lean_inc(x_755); -x_770 = l_Lean_Syntax_node4(x_755, x_760, x_762, x_764, x_762, x_769); -lean_inc(x_755); -x_771 = l_Lean_Syntax_node1(x_755, x_759, x_770); -lean_inc(x_755); -x_772 = l_Lean_Syntax_node1(x_755, x_758, x_771); -lean_inc(x_755); -x_773 = l_Lean_Syntax_node2(x_755, x_757, x_772, x_658); -x_774 = l_Lean_Syntax_node1(x_755, x_756, x_773); -x_652 = x_642; -x_653 = x_774; -goto block_657; +lean_object* x_569; lean_object* x_570; lean_object* x_571; lean_object* x_572; lean_object* x_573; lean_object* x_574; lean_object* x_575; lean_object* x_576; lean_object* x_577; lean_object* x_578; lean_object* x_579; lean_object* x_580; lean_object* x_581; lean_object* x_582; lean_object* x_583; lean_object* x_584; lean_object* x_585; lean_object* x_586; lean_object* x_587; lean_object* x_588; lean_object* x_589; +x_569 = lean_ctor_get(x_5, 5); +x_570 = l_Lean_SourceInfo_fromRef(x_569, x_463); +x_571 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_572 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_573 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_574 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_575 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__11; +x_576 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__9; +lean_inc(x_570); +x_577 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_577, 0, x_570); +lean_ctor_set(x_577, 1, x_576); +x_578 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_570); +x_579 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_579, 0, x_570); +lean_ctor_set(x_579, 1, x_578); +x_580 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_581 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_570); +x_582 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_582, 0, x_570); +lean_ctor_set(x_582, 1, x_581); +lean_inc(x_570); +x_583 = l_Lean_Syntax_node1(x_570, x_580, x_582); +lean_inc(x_570); +x_584 = l_Lean_Syntax_node1(x_570, x_573, x_583); +lean_inc_ref(x_577); +lean_inc(x_570); +x_585 = l_Lean_Syntax_node4(x_570, x_575, x_577, x_579, x_577, x_584); +lean_inc(x_570); +x_586 = l_Lean_Syntax_node1(x_570, x_574, x_585); +lean_inc(x_570); +x_587 = l_Lean_Syntax_node1(x_570, x_573, x_586); +lean_inc(x_570); +x_588 = l_Lean_Syntax_node2(x_570, x_572, x_587, x_473); +x_589 = l_Lean_Syntax_node1(x_570, x_571, x_588); +x_467 = x_457; +x_468 = x_589; +goto block_472; } } case 3: { -lean_object* x_775; lean_object* x_776; lean_object* x_777; lean_object* x_778; lean_object* x_779; lean_object* x_780; lean_object* x_781; lean_object* x_782; lean_object* x_783; lean_object* x_784; lean_object* x_785; lean_object* x_786; lean_object* x_787; lean_object* x_788; lean_object* x_789; lean_object* x_790; lean_object* x_791; lean_object* x_792; lean_object* x_793; lean_object* x_794; -x_775 = lean_ctor_get(x_5, 5); -x_776 = l_Lean_SourceInfo_fromRef(x_775, x_648); -x_777 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_778 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_779 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_780 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_781 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__13; -x_782 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_783 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__17; -x_784 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; -lean_inc(x_776); -if (lean_is_scalar(x_640)) { - x_785 = lean_alloc_ctor(2, 2, 0); -} else { - x_785 = x_640; - lean_ctor_set_tag(x_785, 2); -} -lean_ctor_set(x_785, 0, x_776); -lean_ctor_set(x_785, 1, x_784); -x_786 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; -lean_inc(x_776); -x_787 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_787, 0, x_776); -lean_ctor_set(x_787, 1, x_786); -lean_inc(x_776); -x_788 = l_Lean_Syntax_node2(x_776, x_783, x_785, x_787); -lean_inc(x_776); -x_789 = l_Lean_Syntax_node1(x_776, x_782, x_788); -lean_inc(x_776); -x_790 = l_Lean_Syntax_node1(x_776, x_781, x_789); -lean_inc(x_776); -x_791 = l_Lean_Syntax_node1(x_776, x_780, x_790); -lean_inc(x_776); -x_792 = l_Lean_Syntax_node1(x_776, x_779, x_791); -lean_inc(x_776); -x_793 = l_Lean_Syntax_node2(x_776, x_778, x_792, x_658); -x_794 = l_Lean_Syntax_node1(x_776, x_777, x_793); -x_652 = x_642; -x_653 = x_794; -goto block_657; +lean_object* x_590; lean_object* x_591; lean_object* x_592; lean_object* x_593; lean_object* x_594; lean_object* x_595; lean_object* x_596; lean_object* x_597; lean_object* x_598; lean_object* x_599; lean_object* x_600; lean_object* x_601; lean_object* x_602; lean_object* x_603; lean_object* x_604; lean_object* x_605; lean_object* x_606; lean_object* x_607; lean_object* x_608; lean_object* x_609; +x_590 = lean_ctor_get(x_5, 5); +x_591 = l_Lean_SourceInfo_fromRef(x_590, x_463); +x_592 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_593 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_594 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_595 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_596 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__13; +x_597 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_598 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__17; +x_599 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; +lean_inc(x_591); +x_600 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_600, 0, x_591); +lean_ctor_set(x_600, 1, x_599); +x_601 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__2; +lean_inc(x_591); +x_602 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_602, 0, x_591); +lean_ctor_set(x_602, 1, x_601); +lean_inc(x_591); +x_603 = l_Lean_Syntax_node2(x_591, x_598, x_600, x_602); +lean_inc(x_591); +x_604 = l_Lean_Syntax_node1(x_591, x_597, x_603); +lean_inc(x_591); +x_605 = l_Lean_Syntax_node1(x_591, x_596, x_604); +lean_inc(x_591); +x_606 = l_Lean_Syntax_node1(x_591, x_595, x_605); +lean_inc(x_591); +x_607 = l_Lean_Syntax_node1(x_591, x_594, x_606); +lean_inc(x_591); +x_608 = l_Lean_Syntax_node2(x_591, x_593, x_607, x_473); +x_609 = l_Lean_Syntax_node1(x_591, x_592, x_608); +x_467 = x_457; +x_468 = x_609; +goto block_472; } case 4: { -lean_object* x_795; lean_object* x_796; lean_object* x_797; lean_object* x_798; lean_object* x_799; lean_object* x_800; lean_object* x_801; lean_object* x_802; lean_object* x_803; lean_object* x_804; lean_object* x_805; lean_object* x_806; lean_object* x_807; lean_object* x_808; lean_object* x_809; lean_object* x_810; lean_object* x_811; lean_object* x_812; -x_795 = lean_ctor_get(x_5, 5); -x_796 = l_Lean_SourceInfo_fromRef(x_795, x_648); -x_797 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_798 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_799 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_800 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_801 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__20; -x_802 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_803 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__22; -x_804 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__23; -lean_inc(x_796); -if (lean_is_scalar(x_640)) { - x_805 = lean_alloc_ctor(2, 2, 0); -} else { - x_805 = x_640; - lean_ctor_set_tag(x_805, 2); -} -lean_ctor_set(x_805, 0, x_796); -lean_ctor_set(x_805, 1, x_803); -lean_inc(x_796); -x_806 = l_Lean_Syntax_node1(x_796, x_804, x_805); -lean_inc(x_796); -x_807 = l_Lean_Syntax_node1(x_796, x_802, x_806); -lean_inc(x_796); -x_808 = l_Lean_Syntax_node1(x_796, x_801, x_807); -lean_inc(x_796); -x_809 = l_Lean_Syntax_node1(x_796, x_800, x_808); -lean_inc(x_796); -x_810 = l_Lean_Syntax_node1(x_796, x_799, x_809); -lean_inc(x_796); -x_811 = l_Lean_Syntax_node2(x_796, x_798, x_810, x_658); -x_812 = l_Lean_Syntax_node1(x_796, x_797, x_811); -x_652 = x_642; -x_653 = x_812; -goto block_657; -} -case 5: +if (x_455 == 0) { -uint8_t x_813; -x_813 = lean_ctor_get_uint8(x_639, 0); -lean_dec_ref(x_639); -if (x_813 == 0) -{ -lean_object* x_814; lean_object* x_815; lean_object* x_816; lean_object* x_817; lean_object* x_818; lean_object* x_819; lean_object* x_820; lean_object* x_821; lean_object* x_822; lean_object* x_823; lean_object* x_824; lean_object* x_825; lean_object* x_826; lean_object* x_827; lean_object* x_828; lean_object* x_829; lean_object* x_830; lean_object* x_831; lean_object* x_832; lean_object* x_833; -x_814 = lean_ctor_get(x_5, 5); -x_815 = l_Lean_SourceInfo_fromRef(x_814, x_813); -x_816 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_817 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_818 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_819 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_820 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__25; -x_821 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_822 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; -x_823 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; -lean_inc(x_815); -if (lean_is_scalar(x_640)) { - x_824 = lean_alloc_ctor(2, 2, 0); -} else { - x_824 = x_640; - lean_ctor_set_tag(x_824, 2); -} -lean_ctor_set(x_824, 0, x_815); -lean_ctor_set(x_824, 1, x_822); -lean_inc(x_815); -x_825 = l_Lean_Syntax_node1(x_815, x_823, x_824); -lean_inc(x_815); -x_826 = l_Lean_Syntax_node1(x_815, x_821, x_825); -x_827 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_815); -x_828 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_828, 0, x_815); -lean_ctor_set(x_828, 1, x_818); -lean_ctor_set(x_828, 2, x_827); -lean_inc(x_815); -x_829 = l_Lean_Syntax_node2(x_815, x_820, x_826, x_828); -lean_inc(x_815); -x_830 = l_Lean_Syntax_node1(x_815, x_819, x_829); -lean_inc(x_815); -x_831 = l_Lean_Syntax_node1(x_815, x_818, x_830); -lean_inc(x_815); -x_832 = l_Lean_Syntax_node2(x_815, x_817, x_831, x_658); -x_833 = l_Lean_Syntax_node1(x_815, x_816, x_832); -x_652 = x_642; -x_653 = x_833; -goto block_657; +lean_object* x_610; lean_object* x_611; lean_object* x_612; lean_object* x_613; lean_object* x_614; lean_object* x_615; lean_object* x_616; lean_object* x_617; lean_object* x_618; lean_object* x_619; lean_object* x_620; lean_object* x_621; lean_object* x_622; lean_object* x_623; lean_object* x_624; lean_object* x_625; lean_object* x_626; lean_object* x_627; +x_610 = lean_ctor_get(x_5, 5); +x_611 = l_Lean_SourceInfo_fromRef(x_610, x_455); +x_612 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_613 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_614 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_615 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_616 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__20; +x_617 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_618 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__22; +x_619 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__23; +lean_inc(x_611); +x_620 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_620, 0, x_611); +lean_ctor_set(x_620, 1, x_618); +lean_inc(x_611); +x_621 = l_Lean_Syntax_node1(x_611, x_619, x_620); +lean_inc(x_611); +x_622 = l_Lean_Syntax_node1(x_611, x_617, x_621); +lean_inc(x_611); +x_623 = l_Lean_Syntax_node1(x_611, x_616, x_622); +lean_inc(x_611); +x_624 = l_Lean_Syntax_node1(x_611, x_615, x_623); +lean_inc(x_611); +x_625 = l_Lean_Syntax_node1(x_611, x_614, x_624); +lean_inc(x_611); +x_626 = l_Lean_Syntax_node2(x_611, x_613, x_625, x_473); +x_627 = l_Lean_Syntax_node1(x_611, x_612, x_626); +x_467 = x_457; +x_468 = x_627; +goto block_472; } else { -lean_object* x_834; lean_object* x_835; lean_object* x_836; lean_object* x_837; lean_object* x_838; lean_object* x_839; lean_object* x_840; lean_object* x_841; lean_object* x_842; lean_object* x_843; lean_object* x_844; lean_object* x_845; lean_object* x_846; lean_object* x_847; lean_object* x_848; lean_object* x_849; lean_object* x_850; lean_object* x_851; lean_object* x_852; lean_object* x_853; lean_object* x_854; lean_object* x_855; lean_object* x_856; -x_834 = lean_ctor_get(x_5, 5); -x_835 = l_Lean_SourceInfo_fromRef(x_834, x_648); -x_836 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_837 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_838 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_839 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_840 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__25; -x_841 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_842 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; -x_843 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; -lean_inc(x_835); -if (lean_is_scalar(x_640)) { - x_844 = lean_alloc_ctor(2, 2, 0); -} else { - x_844 = x_640; - lean_ctor_set_tag(x_844, 2); +lean_object* x_628; lean_object* x_629; lean_object* x_630; lean_object* x_631; lean_object* x_632; lean_object* x_633; lean_object* x_634; lean_object* x_635; lean_object* x_636; lean_object* x_637; lean_object* x_638; lean_object* x_639; lean_object* x_640; lean_object* x_641; lean_object* x_642; lean_object* x_643; lean_object* x_644; lean_object* x_645; lean_object* x_646; lean_object* x_647; +x_628 = lean_ctor_get(x_5, 5); +x_629 = l_Lean_SourceInfo_fromRef(x_628, x_463); +x_630 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_631 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_632 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_629); +x_633 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_633, 0, x_629); +lean_ctor_set(x_633, 1, x_632); +x_634 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_635 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_636 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__20; +x_637 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_638 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__22; +x_639 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__23; +lean_inc(x_629); +x_640 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_640, 0, x_629); +lean_ctor_set(x_640, 1, x_638); +lean_inc(x_629); +x_641 = l_Lean_Syntax_node1(x_629, x_639, x_640); +lean_inc(x_629); +x_642 = l_Lean_Syntax_node1(x_629, x_637, x_641); +lean_inc(x_629); +x_643 = l_Lean_Syntax_node1(x_629, x_636, x_642); +lean_inc(x_629); +x_644 = l_Lean_Syntax_node1(x_629, x_635, x_643); +lean_inc(x_629); +x_645 = l_Lean_Syntax_node1(x_629, x_634, x_644); +lean_inc(x_629); +x_646 = l_Lean_Syntax_node3(x_629, x_631, x_633, x_645, x_473); +x_647 = l_Lean_Syntax_node1(x_629, x_630, x_646); +x_467 = x_457; +x_468 = x_647; +goto block_472; +} +} +case 5: +{ +uint8_t x_648; +x_648 = lean_ctor_get_uint8(x_454, 0); +lean_dec_ref(x_454); +if (x_648 == 0) +{ +if (x_455 == 0) +{ +lean_object* x_649; lean_object* x_650; lean_object* x_651; lean_object* x_652; lean_object* x_653; lean_object* x_654; lean_object* x_655; lean_object* x_656; lean_object* x_657; lean_object* x_658; lean_object* x_659; lean_object* x_660; lean_object* x_661; lean_object* x_662; lean_object* x_663; lean_object* x_664; lean_object* x_665; lean_object* x_666; lean_object* x_667; lean_object* x_668; +x_649 = lean_ctor_get(x_5, 5); +x_650 = l_Lean_SourceInfo_fromRef(x_649, x_455); +x_651 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_652 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_653 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_654 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_655 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; +x_656 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_657 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; +x_658 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__27; +lean_inc(x_650); +x_659 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_659, 0, x_650); +lean_ctor_set(x_659, 1, x_657); +lean_inc(x_650); +x_660 = l_Lean_Syntax_node1(x_650, x_658, x_659); +lean_inc(x_650); +x_661 = l_Lean_Syntax_node1(x_650, x_656, x_660); +x_662 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_650); +x_663 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_663, 0, x_650); +lean_ctor_set(x_663, 1, x_653); +lean_ctor_set(x_663, 2, x_662); +lean_inc(x_650); +x_664 = l_Lean_Syntax_node2(x_650, x_655, x_661, x_663); +lean_inc(x_650); +x_665 = l_Lean_Syntax_node1(x_650, x_654, x_664); +lean_inc(x_650); +x_666 = l_Lean_Syntax_node1(x_650, x_653, x_665); +lean_inc(x_650); +x_667 = l_Lean_Syntax_node2(x_650, x_652, x_666, x_473); +x_668 = l_Lean_Syntax_node1(x_650, x_651, x_667); +x_467 = x_457; +x_468 = x_668; +goto block_472; +} +else +{ +lean_object* x_669; lean_object* x_670; lean_object* x_671; lean_object* x_672; lean_object* x_673; lean_object* x_674; lean_object* x_675; lean_object* x_676; lean_object* x_677; lean_object* x_678; lean_object* x_679; lean_object* x_680; lean_object* x_681; lean_object* x_682; lean_object* x_683; lean_object* x_684; lean_object* x_685; lean_object* x_686; lean_object* x_687; lean_object* x_688; lean_object* x_689; lean_object* x_690; +x_669 = lean_ctor_get(x_5, 5); +x_670 = l_Lean_SourceInfo_fromRef(x_669, x_648); +x_671 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_672 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_673 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_670); +x_674 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_674, 0, x_670); +lean_ctor_set(x_674, 1, x_673); +x_675 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_676 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_677 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; +x_678 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_679 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; +x_680 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__27; +lean_inc(x_670); +x_681 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_681, 0, x_670); +lean_ctor_set(x_681, 1, x_679); +lean_inc(x_670); +x_682 = l_Lean_Syntax_node1(x_670, x_680, x_681); +lean_inc(x_670); +x_683 = l_Lean_Syntax_node1(x_670, x_678, x_682); +x_684 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_670); +x_685 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_685, 0, x_670); +lean_ctor_set(x_685, 1, x_675); +lean_ctor_set(x_685, 2, x_684); +lean_inc(x_670); +x_686 = l_Lean_Syntax_node2(x_670, x_677, x_683, x_685); +lean_inc(x_670); +x_687 = l_Lean_Syntax_node1(x_670, x_676, x_686); +lean_inc(x_670); +x_688 = l_Lean_Syntax_node1(x_670, x_675, x_687); +lean_inc(x_670); +x_689 = l_Lean_Syntax_node3(x_670, x_672, x_674, x_688, x_473); +x_690 = l_Lean_Syntax_node1(x_670, x_671, x_689); +x_467 = x_457; +x_468 = x_690; +goto block_472; +} +} +else +{ +if (x_455 == 0) +{ +lean_object* x_691; lean_object* x_692; lean_object* x_693; lean_object* x_694; lean_object* x_695; lean_object* x_696; lean_object* x_697; lean_object* x_698; lean_object* x_699; lean_object* x_700; lean_object* x_701; lean_object* x_702; lean_object* x_703; lean_object* x_704; lean_object* x_705; lean_object* x_706; lean_object* x_707; lean_object* x_708; lean_object* x_709; lean_object* x_710; lean_object* x_711; lean_object* x_712; lean_object* x_713; +x_691 = lean_ctor_get(x_5, 5); +x_692 = l_Lean_SourceInfo_fromRef(x_691, x_455); +x_693 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_694 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_695 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_696 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_697 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; +x_698 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_699 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; +x_700 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__27; +lean_inc(x_692); +x_701 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_701, 0, x_692); +lean_ctor_set(x_701, 1, x_699); +lean_inc(x_692); +x_702 = l_Lean_Syntax_node1(x_692, x_700, x_701); +lean_inc(x_692); +x_703 = l_Lean_Syntax_node1(x_692, x_698, x_702); +x_704 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_705 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_692); +x_706 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_706, 0, x_692); +lean_ctor_set(x_706, 1, x_705); +lean_inc(x_692); +x_707 = l_Lean_Syntax_node1(x_692, x_704, x_706); +lean_inc(x_692); +x_708 = l_Lean_Syntax_node1(x_692, x_695, x_707); +lean_inc(x_692); +x_709 = l_Lean_Syntax_node2(x_692, x_697, x_703, x_708); +lean_inc(x_692); +x_710 = l_Lean_Syntax_node1(x_692, x_696, x_709); +lean_inc(x_692); +x_711 = l_Lean_Syntax_node1(x_692, x_695, x_710); +lean_inc(x_692); +x_712 = l_Lean_Syntax_node2(x_692, x_694, x_711, x_473); +x_713 = l_Lean_Syntax_node1(x_692, x_693, x_712); +x_467 = x_457; +x_468 = x_713; +goto block_472; +} +else +{ +lean_object* x_714; lean_object* x_715; lean_object* x_716; lean_object* x_717; lean_object* x_718; lean_object* x_719; lean_object* x_720; lean_object* x_721; lean_object* x_722; lean_object* x_723; lean_object* x_724; lean_object* x_725; lean_object* x_726; lean_object* x_727; lean_object* x_728; lean_object* x_729; lean_object* x_730; lean_object* x_731; lean_object* x_732; lean_object* x_733; lean_object* x_734; lean_object* x_735; lean_object* x_736; lean_object* x_737; lean_object* x_738; +x_714 = lean_ctor_get(x_5, 5); +x_715 = l_Lean_SourceInfo_fromRef(x_714, x_463); +x_716 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_717 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_718 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_715); +x_719 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_719, 0, x_715); +lean_ctor_set(x_719, 1, x_718); +x_720 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_721 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_722 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__26; +x_723 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_724 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__18; +x_725 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__27; +lean_inc(x_715); +x_726 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_726, 0, x_715); +lean_ctor_set(x_726, 1, x_724); +lean_inc(x_715); +x_727 = l_Lean_Syntax_node1(x_715, x_725, x_726); +lean_inc(x_715); +x_728 = l_Lean_Syntax_node1(x_715, x_723, x_727); +x_729 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_730 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_715); +x_731 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_731, 0, x_715); +lean_ctor_set(x_731, 1, x_730); +lean_inc(x_715); +x_732 = l_Lean_Syntax_node1(x_715, x_729, x_731); +lean_inc(x_715); +x_733 = l_Lean_Syntax_node1(x_715, x_720, x_732); +lean_inc(x_715); +x_734 = l_Lean_Syntax_node2(x_715, x_722, x_728, x_733); +lean_inc(x_715); +x_735 = l_Lean_Syntax_node1(x_715, x_721, x_734); +lean_inc(x_715); +x_736 = l_Lean_Syntax_node1(x_715, x_720, x_735); +lean_inc(x_715); +x_737 = l_Lean_Syntax_node3(x_715, x_717, x_719, x_736, x_473); +x_738 = l_Lean_Syntax_node1(x_715, x_716, x_737); +x_467 = x_457; +x_468 = x_738; +goto block_472; } -lean_ctor_set(x_844, 0, x_835); -lean_ctor_set(x_844, 1, x_842); -lean_inc(x_835); -x_845 = l_Lean_Syntax_node1(x_835, x_843, x_844); -lean_inc(x_835); -x_846 = l_Lean_Syntax_node1(x_835, x_841, x_845); -x_847 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_848 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_835); -x_849 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_849, 0, x_835); -lean_ctor_set(x_849, 1, x_848); -lean_inc(x_835); -x_850 = l_Lean_Syntax_node1(x_835, x_847, x_849); -lean_inc(x_835); -x_851 = l_Lean_Syntax_node1(x_835, x_838, x_850); -lean_inc(x_835); -x_852 = l_Lean_Syntax_node2(x_835, x_840, x_846, x_851); -lean_inc(x_835); -x_853 = l_Lean_Syntax_node1(x_835, x_839, x_852); -lean_inc(x_835); -x_854 = l_Lean_Syntax_node1(x_835, x_838, x_853); -lean_inc(x_835); -x_855 = l_Lean_Syntax_node2(x_835, x_837, x_854, x_658); -x_856 = l_Lean_Syntax_node1(x_835, x_836, x_855); -x_652 = x_642; -x_653 = x_856; -goto block_657; } } case 6: { -lean_object* x_857; lean_object* x_858; lean_object* x_859; lean_object* x_860; lean_object* x_861; lean_object* x_862; lean_object* x_863; lean_object* x_864; lean_object* x_865; lean_object* x_866; lean_object* x_867; lean_object* x_868; lean_object* x_869; lean_object* x_870; lean_object* x_871; lean_object* x_872; lean_object* x_873; lean_object* x_874; -x_857 = lean_ctor_get(x_5, 5); -x_858 = l_Lean_SourceInfo_fromRef(x_857, x_648); -x_859 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_860 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_861 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_862 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_863 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__28; -x_864 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_865 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__29; -x_866 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__30; -lean_inc(x_858); -if (lean_is_scalar(x_640)) { - x_867 = lean_alloc_ctor(2, 2, 0); -} else { - x_867 = x_640; - lean_ctor_set_tag(x_867, 2); -} -lean_ctor_set(x_867, 0, x_858); -lean_ctor_set(x_867, 1, x_865); -lean_inc(x_858); -x_868 = l_Lean_Syntax_node1(x_858, x_866, x_867); -lean_inc(x_858); -x_869 = l_Lean_Syntax_node1(x_858, x_864, x_868); -lean_inc(x_858); -x_870 = l_Lean_Syntax_node1(x_858, x_863, x_869); -lean_inc(x_858); -x_871 = l_Lean_Syntax_node1(x_858, x_862, x_870); -lean_inc(x_858); -x_872 = l_Lean_Syntax_node1(x_858, x_861, x_871); -lean_inc(x_858); -x_873 = l_Lean_Syntax_node2(x_858, x_860, x_872, x_658); -x_874 = l_Lean_Syntax_node1(x_858, x_859, x_873); -x_652 = x_642; -x_653 = x_874; -goto block_657; -} -case 7: +if (x_455 == 0) { -lean_object* x_875; lean_object* x_876; lean_object* x_877; lean_object* x_878; lean_object* x_879; lean_object* x_880; lean_object* x_881; lean_object* x_882; lean_object* x_883; lean_object* x_884; lean_object* x_885; lean_object* x_886; lean_object* x_887; lean_object* x_888; lean_object* x_889; lean_object* x_890; lean_object* x_891; lean_object* x_892; -x_875 = lean_ctor_get(x_5, 5); -x_876 = l_Lean_SourceInfo_fromRef(x_875, x_648); -x_877 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_878 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_879 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_880 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_881 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__32; -x_882 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; -x_883 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__33; -x_884 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__34; -lean_inc(x_876); -if (lean_is_scalar(x_640)) { - x_885 = lean_alloc_ctor(2, 2, 0); -} else { - x_885 = x_640; - lean_ctor_set_tag(x_885, 2); -} -lean_ctor_set(x_885, 0, x_876); -lean_ctor_set(x_885, 1, x_883); -lean_inc(x_876); -x_886 = l_Lean_Syntax_node1(x_876, x_884, x_885); -lean_inc(x_876); -x_887 = l_Lean_Syntax_node1(x_876, x_882, x_886); -lean_inc(x_876); -x_888 = l_Lean_Syntax_node1(x_876, x_881, x_887); -lean_inc(x_876); -x_889 = l_Lean_Syntax_node1(x_876, x_880, x_888); -lean_inc(x_876); -x_890 = l_Lean_Syntax_node1(x_876, x_879, x_889); -lean_inc(x_876); -x_891 = l_Lean_Syntax_node2(x_876, x_878, x_890, x_658); -x_892 = l_Lean_Syntax_node1(x_876, x_877, x_891); -x_652 = x_642; -x_653 = x_892; -goto block_657; -} -case 8: -{ -uint8_t x_893; -x_893 = lean_ctor_get_uint8(x_639, 0); -lean_dec_ref(x_639); -if (x_893 == 0) -{ -lean_object* x_894; lean_object* x_895; lean_object* x_896; lean_object* x_897; lean_object* x_898; lean_object* x_899; lean_object* x_900; lean_object* x_901; lean_object* x_902; -lean_dec(x_640); -x_894 = lean_ctor_get(x_5, 5); -x_895 = l_Lean_SourceInfo_fromRef(x_894, x_893); -x_896 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_897 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_898 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_899 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_895); -x_900 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_900, 0, x_895); -lean_ctor_set(x_900, 1, x_898); -lean_ctor_set(x_900, 2, x_899); -lean_inc(x_895); -x_901 = l_Lean_Syntax_node2(x_895, x_897, x_900, x_658); -x_902 = l_Lean_Syntax_node1(x_895, x_896, x_901); -x_652 = x_642; -x_653 = x_902; -goto block_657; +lean_object* x_739; lean_object* x_740; lean_object* x_741; lean_object* x_742; lean_object* x_743; lean_object* x_744; lean_object* x_745; lean_object* x_746; lean_object* x_747; lean_object* x_748; lean_object* x_749; lean_object* x_750; lean_object* x_751; lean_object* x_752; lean_object* x_753; lean_object* x_754; lean_object* x_755; lean_object* x_756; +x_739 = lean_ctor_get(x_5, 5); +x_740 = l_Lean_SourceInfo_fromRef(x_739, x_455); +x_741 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_742 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_743 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_744 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_745 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__29; +x_746 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_747 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__30; +x_748 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__31; +lean_inc(x_740); +x_749 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_749, 0, x_740); +lean_ctor_set(x_749, 1, x_747); +lean_inc(x_740); +x_750 = l_Lean_Syntax_node1(x_740, x_748, x_749); +lean_inc(x_740); +x_751 = l_Lean_Syntax_node1(x_740, x_746, x_750); +lean_inc(x_740); +x_752 = l_Lean_Syntax_node1(x_740, x_745, x_751); +lean_inc(x_740); +x_753 = l_Lean_Syntax_node1(x_740, x_744, x_752); +lean_inc(x_740); +x_754 = l_Lean_Syntax_node1(x_740, x_743, x_753); +lean_inc(x_740); +x_755 = l_Lean_Syntax_node2(x_740, x_742, x_754, x_473); +x_756 = l_Lean_Syntax_node1(x_740, x_741, x_755); +x_467 = x_457; +x_468 = x_756; +goto block_472; } else { -lean_object* x_903; lean_object* x_904; lean_object* x_905; lean_object* x_906; lean_object* x_907; lean_object* x_908; lean_object* x_909; lean_object* x_910; lean_object* x_911; lean_object* x_912; lean_object* x_913; lean_object* x_914; lean_object* x_915; lean_object* x_916; -x_903 = lean_ctor_get(x_5, 5); -x_904 = l_Lean_SourceInfo_fromRef(x_903, x_648); -x_905 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_906 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_907 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_908 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_909 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; -x_910 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; -lean_inc(x_904); -if (lean_is_scalar(x_640)) { - x_911 = lean_alloc_ctor(2, 2, 0); -} else { - x_911 = x_640; - lean_ctor_set_tag(x_911, 2); +lean_object* x_757; lean_object* x_758; lean_object* x_759; lean_object* x_760; lean_object* x_761; lean_object* x_762; lean_object* x_763; lean_object* x_764; lean_object* x_765; lean_object* x_766; lean_object* x_767; lean_object* x_768; lean_object* x_769; lean_object* x_770; lean_object* x_771; lean_object* x_772; lean_object* x_773; lean_object* x_774; lean_object* x_775; lean_object* x_776; +x_757 = lean_ctor_get(x_5, 5); +x_758 = l_Lean_SourceInfo_fromRef(x_757, x_463); +x_759 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_760 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_761 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_758); +x_762 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_762, 0, x_758); +lean_ctor_set(x_762, 1, x_761); +x_763 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_764 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_765 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__29; +x_766 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_767 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__30; +x_768 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__31; +lean_inc(x_758); +x_769 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_769, 0, x_758); +lean_ctor_set(x_769, 1, x_767); +lean_inc(x_758); +x_770 = l_Lean_Syntax_node1(x_758, x_768, x_769); +lean_inc(x_758); +x_771 = l_Lean_Syntax_node1(x_758, x_766, x_770); +lean_inc(x_758); +x_772 = l_Lean_Syntax_node1(x_758, x_765, x_771); +lean_inc(x_758); +x_773 = l_Lean_Syntax_node1(x_758, x_764, x_772); +lean_inc(x_758); +x_774 = l_Lean_Syntax_node1(x_758, x_763, x_773); +lean_inc(x_758); +x_775 = l_Lean_Syntax_node3(x_758, x_760, x_762, x_774, x_473); +x_776 = l_Lean_Syntax_node1(x_758, x_759, x_775); +x_467 = x_457; +x_468 = x_776; +goto block_472; +} +} +case 7: +{ +if (x_455 == 0) +{ +lean_object* x_777; lean_object* x_778; lean_object* x_779; lean_object* x_780; lean_object* x_781; lean_object* x_782; lean_object* x_783; lean_object* x_784; lean_object* x_785; lean_object* x_786; lean_object* x_787; lean_object* x_788; lean_object* x_789; lean_object* x_790; lean_object* x_791; lean_object* x_792; lean_object* x_793; lean_object* x_794; +x_777 = lean_ctor_get(x_5, 5); +x_778 = l_Lean_SourceInfo_fromRef(x_777, x_455); +x_779 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_780 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_781 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_782 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_783 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__33; +x_784 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_785 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__34; +x_786 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__35; +lean_inc(x_778); +x_787 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_787, 0, x_778); +lean_ctor_set(x_787, 1, x_785); +lean_inc(x_778); +x_788 = l_Lean_Syntax_node1(x_778, x_786, x_787); +lean_inc(x_778); +x_789 = l_Lean_Syntax_node1(x_778, x_784, x_788); +lean_inc(x_778); +x_790 = l_Lean_Syntax_node1(x_778, x_783, x_789); +lean_inc(x_778); +x_791 = l_Lean_Syntax_node1(x_778, x_782, x_790); +lean_inc(x_778); +x_792 = l_Lean_Syntax_node1(x_778, x_781, x_791); +lean_inc(x_778); +x_793 = l_Lean_Syntax_node2(x_778, x_780, x_792, x_473); +x_794 = l_Lean_Syntax_node1(x_778, x_779, x_793); +x_467 = x_457; +x_468 = x_794; +goto block_472; +} +else +{ +lean_object* x_795; lean_object* x_796; lean_object* x_797; lean_object* x_798; lean_object* x_799; lean_object* x_800; lean_object* x_801; lean_object* x_802; lean_object* x_803; lean_object* x_804; lean_object* x_805; lean_object* x_806; lean_object* x_807; lean_object* x_808; lean_object* x_809; lean_object* x_810; lean_object* x_811; lean_object* x_812; lean_object* x_813; lean_object* x_814; +x_795 = lean_ctor_get(x_5, 5); +x_796 = l_Lean_SourceInfo_fromRef(x_795, x_463); +x_797 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_798 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_799 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_796); +x_800 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_800, 0, x_796); +lean_ctor_set(x_800, 1, x_799); +x_801 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_802 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_803 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__33; +x_804 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__15; +x_805 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__34; +x_806 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__35; +lean_inc(x_796); +x_807 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_807, 0, x_796); +lean_ctor_set(x_807, 1, x_805); +lean_inc(x_796); +x_808 = l_Lean_Syntax_node1(x_796, x_806, x_807); +lean_inc(x_796); +x_809 = l_Lean_Syntax_node1(x_796, x_804, x_808); +lean_inc(x_796); +x_810 = l_Lean_Syntax_node1(x_796, x_803, x_809); +lean_inc(x_796); +x_811 = l_Lean_Syntax_node1(x_796, x_802, x_810); +lean_inc(x_796); +x_812 = l_Lean_Syntax_node1(x_796, x_801, x_811); +lean_inc(x_796); +x_813 = l_Lean_Syntax_node3(x_796, x_798, x_800, x_812, x_473); +x_814 = l_Lean_Syntax_node1(x_796, x_797, x_813); +x_467 = x_457; +x_468 = x_814; +goto block_472; +} +} +case 8: +{ +uint8_t x_815; +x_815 = lean_ctor_get_uint8(x_454, 0); +lean_dec_ref(x_454); +if (x_815 == 0) +{ +if (x_455 == 0) +{ +lean_object* x_816; lean_object* x_817; lean_object* x_818; lean_object* x_819; lean_object* x_820; lean_object* x_821; lean_object* x_822; lean_object* x_823; lean_object* x_824; +x_816 = lean_ctor_get(x_5, 5); +x_817 = l_Lean_SourceInfo_fromRef(x_816, x_455); +x_818 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_819 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_820 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_821 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_817); +x_822 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_822, 0, x_817); +lean_ctor_set(x_822, 1, x_820); +lean_ctor_set(x_822, 2, x_821); +lean_inc(x_817); +x_823 = l_Lean_Syntax_node2(x_817, x_819, x_822, x_473); +x_824 = l_Lean_Syntax_node1(x_817, x_818, x_823); +x_467 = x_457; +x_468 = x_824; +goto block_472; +} +else +{ +lean_object* x_825; lean_object* x_826; lean_object* x_827; lean_object* x_828; lean_object* x_829; lean_object* x_830; lean_object* x_831; lean_object* x_832; lean_object* x_833; lean_object* x_834; lean_object* x_835; +x_825 = lean_ctor_get(x_5, 5); +x_826 = l_Lean_SourceInfo_fromRef(x_825, x_815); +x_827 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_828 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_829 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_826); +x_830 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_830, 0, x_826); +lean_ctor_set(x_830, 1, x_829); +x_831 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_832 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_826); +x_833 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_833, 0, x_826); +lean_ctor_set(x_833, 1, x_831); +lean_ctor_set(x_833, 2, x_832); +lean_inc(x_826); +x_834 = l_Lean_Syntax_node3(x_826, x_828, x_830, x_833, x_473); +x_835 = l_Lean_Syntax_node1(x_826, x_827, x_834); +x_467 = x_457; +x_468 = x_835; +goto block_472; +} +} +else +{ +if (x_455 == 0) +{ +lean_object* x_836; lean_object* x_837; lean_object* x_838; lean_object* x_839; lean_object* x_840; lean_object* x_841; lean_object* x_842; lean_object* x_843; lean_object* x_844; lean_object* x_845; lean_object* x_846; lean_object* x_847; lean_object* x_848; lean_object* x_849; +x_836 = lean_ctor_get(x_5, 5); +x_837 = l_Lean_SourceInfo_fromRef(x_836, x_455); +x_838 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_839 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_840 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_841 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_842 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_843 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_837); +x_844 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_844, 0, x_837); +lean_ctor_set(x_844, 1, x_843); +lean_inc(x_837); +x_845 = l_Lean_Syntax_node1(x_837, x_842, x_844); +lean_inc(x_837); +x_846 = l_Lean_Syntax_node1(x_837, x_841, x_845); +lean_inc(x_837); +x_847 = l_Lean_Syntax_node1(x_837, x_840, x_846); +lean_inc(x_837); +x_848 = l_Lean_Syntax_node2(x_837, x_839, x_847, x_473); +x_849 = l_Lean_Syntax_node1(x_837, x_838, x_848); +x_467 = x_457; +x_468 = x_849; +goto block_472; +} +else +{ +lean_object* x_850; lean_object* x_851; lean_object* x_852; lean_object* x_853; lean_object* x_854; lean_object* x_855; lean_object* x_856; lean_object* x_857; lean_object* x_858; lean_object* x_859; lean_object* x_860; lean_object* x_861; lean_object* x_862; lean_object* x_863; lean_object* x_864; lean_object* x_865; +x_850 = lean_ctor_get(x_5, 5); +x_851 = l_Lean_SourceInfo_fromRef(x_850, x_463); +x_852 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_853 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9; +x_854 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__24; +lean_inc(x_851); +x_855 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_855, 0, x_851); +lean_ctor_set(x_855, 1, x_854); +x_856 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_857 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_858 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__5; +x_859 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__6; +lean_inc(x_851); +x_860 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_860, 0, x_851); +lean_ctor_set(x_860, 1, x_859); +lean_inc(x_851); +x_861 = l_Lean_Syntax_node1(x_851, x_858, x_860); +lean_inc(x_851); +x_862 = l_Lean_Syntax_node1(x_851, x_857, x_861); +lean_inc(x_851); +x_863 = l_Lean_Syntax_node1(x_851, x_856, x_862); +lean_inc(x_851); +x_864 = l_Lean_Syntax_node3(x_851, x_853, x_855, x_863, x_473); +x_865 = l_Lean_Syntax_node1(x_851, x_852, x_864); +x_467 = x_457; +x_468 = x_865; +goto block_472; } -lean_ctor_set(x_911, 0, x_904); -lean_ctor_set(x_911, 1, x_910); -lean_inc(x_904); -x_912 = l_Lean_Syntax_node1(x_904, x_909, x_911); -lean_inc(x_904); -x_913 = l_Lean_Syntax_node1(x_904, x_908, x_912); -lean_inc(x_904); -x_914 = l_Lean_Syntax_node1(x_904, x_907, x_913); -lean_inc(x_904); -x_915 = l_Lean_Syntax_node2(x_904, x_906, x_914, x_658); -x_916 = l_Lean_Syntax_node1(x_904, x_905, x_915); -x_652 = x_642; -x_653 = x_916; -goto block_657; } } default: { -lean_object* x_917; lean_object* x_918; lean_object* x_919; lean_object* x_920; lean_object* x_921; lean_object* x_922; lean_object* x_923; lean_object* x_924; lean_object* x_925; lean_object* x_926; lean_object* x_927; lean_object* x_928; lean_object* x_929; lean_object* x_930; -x_917 = lean_ctor_get(x_5, 5); -x_918 = l_Lean_SourceInfo_fromRef(x_917, x_648); -x_919 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_920 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_921 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_922 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; -x_923 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__36; -x_924 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__37; -lean_inc(x_918); -if (lean_is_scalar(x_640)) { - x_925 = lean_alloc_ctor(2, 2, 0); -} else { - x_925 = x_640; - lean_ctor_set_tag(x_925, 2); -} -lean_ctor_set(x_925, 0, x_918); -lean_ctor_set(x_925, 1, x_924); -lean_inc(x_918); -x_926 = l_Lean_Syntax_node1(x_918, x_923, x_925); -lean_inc(x_918); -x_927 = l_Lean_Syntax_node1(x_918, x_922, x_926); -lean_inc(x_918); -x_928 = l_Lean_Syntax_node1(x_918, x_921, x_927); -lean_inc(x_918); -x_929 = l_Lean_Syntax_node2(x_918, x_920, x_928, x_658); -x_930 = l_Lean_Syntax_node1(x_918, x_919, x_929); -x_652 = x_642; -x_653 = x_930; -goto block_657; +lean_object* x_866; lean_object* x_867; lean_object* x_868; lean_object* x_869; lean_object* x_870; lean_object* x_871; lean_object* x_872; lean_object* x_873; lean_object* x_874; lean_object* x_875; lean_object* x_876; lean_object* x_877; lean_object* x_878; lean_object* x_879; +x_866 = lean_ctor_get(x_5, 5); +x_867 = l_Lean_SourceInfo_fromRef(x_866, x_463); +x_868 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_869 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_870 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_871 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; +x_872 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__37; +x_873 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__38; +lean_inc(x_867); +x_874 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_874, 0, x_867); +lean_ctor_set(x_874, 1, x_873); +lean_inc(x_867); +x_875 = l_Lean_Syntax_node1(x_867, x_872, x_874); +lean_inc(x_867); +x_876 = l_Lean_Syntax_node1(x_867, x_871, x_875); +lean_inc(x_867); +x_877 = l_Lean_Syntax_node1(x_867, x_870, x_876); +lean_inc(x_867); +x_878 = l_Lean_Syntax_node2(x_867, x_869, x_877, x_473); +x_879 = l_Lean_Syntax_node1(x_867, x_868, x_878); +x_467 = x_457; +x_468 = x_879; +goto block_472; } } -block_657: +block_472: { -lean_object* x_654; lean_object* x_655; -x_654 = lean_array_push(x_652, x_653); -if (lean_is_scalar(x_643)) { - x_655 = lean_alloc_ctor(0, 2, 0); +lean_object* x_469; lean_object* x_470; +x_469 = lean_array_push(x_467, x_468); +if (lean_is_scalar(x_458)) { + x_470 = lean_alloc_ctor(0, 2, 0); } else { - x_655 = x_643; + x_470 = x_458; } -lean_ctor_set(x_655, 0, x_641); -lean_ctor_set(x_655, 1, x_654); -x_1 = x_638; -x_2 = x_655; -x_7 = x_651; +lean_ctor_set(x_470, 0, x_456); +lean_ctor_set(x_470, 1, x_469); +x_1 = x_453; +x_2 = x_470; +x_7 = x_466; goto _start; } } else { -lean_object* x_931; lean_object* x_932; lean_object* x_933; lean_object* x_934; -lean_dec(x_643); -lean_dec(x_642); -lean_dec(x_641); -lean_dec(x_640); -lean_dec(x_639); -lean_dec(x_638); +lean_object* x_880; lean_object* x_881; lean_object* x_882; lean_object* x_883; +lean_dec(x_458); +lean_dec(x_457); +lean_dec(x_456); +lean_dec(x_454); +lean_dec(x_453); lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); lean_dec_ref(x_3); -x_931 = lean_ctor_get(x_649, 0); -lean_inc(x_931); -x_932 = lean_ctor_get(x_649, 1); -lean_inc(x_932); -if (lean_is_exclusive(x_649)) { - lean_ctor_release(x_649, 0); - lean_ctor_release(x_649, 1); - x_933 = x_649; +x_880 = lean_ctor_get(x_464, 0); +lean_inc(x_880); +x_881 = lean_ctor_get(x_464, 1); +lean_inc(x_881); +if (lean_is_exclusive(x_464)) { + lean_ctor_release(x_464, 0); + lean_ctor_release(x_464, 1); + x_882 = x_464; } else { - lean_dec_ref(x_649); - x_933 = lean_box(0); + lean_dec_ref(x_464); + x_882 = lean_box(0); } -if (lean_is_scalar(x_933)) { - x_934 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_882)) { + x_883 = lean_alloc_ctor(1, 2, 0); } else { - x_934 = x_933; + x_883 = x_882; } -lean_ctor_set(x_934, 0, x_931); -lean_ctor_set(x_934, 1, x_932); -return x_934; +lean_ctor_set(x_883, 0, x_880); +lean_ctor_set(x_883, 1, x_881); +return x_883; } } else { -lean_object* x_935; lean_object* x_936; uint8_t x_937; -lean_dec(x_644); -lean_dec(x_640); -lean_dec(x_639); -x_935 = lean_ctor_get(x_645, 1); -lean_inc(x_935); -lean_dec_ref(x_645); -x_936 = lean_ctor_get(x_646, 0); -lean_inc(x_936); -lean_dec_ref(x_646); -x_937 = l_Lean_NameSet_contains(x_641, x_936); -if (x_937 == 0) +lean_object* x_884; lean_object* x_885; uint8_t x_886; +lean_dec(x_459); +lean_dec(x_454); +x_884 = lean_ctor_get(x_460, 1); +lean_inc(x_884); +lean_dec_ref(x_460); +x_885 = lean_ctor_get(x_461, 0); +lean_inc(x_885); +lean_dec_ref(x_461); +x_886 = l_Lean_NameSet_contains(x_456, x_885); +if (x_886 == 0) { -lean_object* x_938; +lean_object* x_887; lean_inc(x_6); lean_inc_ref(x_5); lean_inc(x_4); lean_inc_ref(x_3); -lean_inc(x_936); -x_938 = l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0(x_936, x_937, x_3, x_4, x_5, x_6, x_935); -if (lean_obj_tag(x_938) == 0) +lean_inc(x_885); +x_887 = l_Lean_unresolveNameGlobalAvoidingLocals___at___Lean_Elab_Tactic_mkGrindOnly_spec__0(x_885, x_886, x_3, x_4, x_5, x_6, x_884); +if (lean_obj_tag(x_887) == 0) { -lean_object* x_939; lean_object* x_940; lean_object* x_941; lean_object* x_942; lean_object* x_943; lean_object* x_944; lean_object* x_945; lean_object* x_946; lean_object* x_947; lean_object* x_948; lean_object* x_949; lean_object* x_950; lean_object* x_951; lean_object* x_952; lean_object* x_953; -x_939 = lean_ctor_get(x_938, 0); -lean_inc(x_939); -x_940 = lean_ctor_get(x_938, 1); -lean_inc(x_940); -lean_dec_ref(x_938); -x_941 = lean_ctor_get(x_5, 5); -x_942 = l_Lean_NameSet_insert(x_641, x_936); -x_943 = lean_mk_syntax_ident(x_939); -x_944 = l_Lean_SourceInfo_fromRef(x_941, x_937); -x_945 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_946 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; -x_947 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_948 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; -lean_inc(x_944); -x_949 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_949, 0, x_944); -lean_ctor_set(x_949, 1, x_947); -lean_ctor_set(x_949, 2, x_948); -lean_inc(x_944); -x_950 = l_Lean_Syntax_node2(x_944, x_946, x_949, x_943); -x_951 = l_Lean_Syntax_node1(x_944, x_945, x_950); -x_952 = lean_array_push(x_642, x_951); -if (lean_is_scalar(x_643)) { - x_953 = lean_alloc_ctor(0, 2, 0); +lean_object* x_888; lean_object* x_889; lean_object* x_890; lean_object* x_891; lean_object* x_892; lean_object* x_893; lean_object* x_894; lean_object* x_895; lean_object* x_896; lean_object* x_897; lean_object* x_898; lean_object* x_899; lean_object* x_900; lean_object* x_901; lean_object* x_902; +x_888 = lean_ctor_get(x_887, 0); +lean_inc(x_888); +x_889 = lean_ctor_get(x_887, 1); +lean_inc(x_889); +lean_dec_ref(x_887); +x_890 = lean_ctor_get(x_5, 5); +x_891 = l_Lean_NameSet_insert(x_456, x_885); +x_892 = lean_mk_syntax_ident(x_888); +x_893 = l_Lean_SourceInfo_fromRef(x_890, x_886); +x_894 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_895 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; +x_896 = l_Lean_Elab_Tactic_setGrindParams___closed__7; +x_897 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__3; +lean_inc(x_893); +x_898 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_898, 0, x_893); +lean_ctor_set(x_898, 1, x_896); +lean_ctor_set(x_898, 2, x_897); +lean_inc(x_893); +x_899 = l_Lean_Syntax_node2(x_893, x_895, x_898, x_892); +x_900 = l_Lean_Syntax_node1(x_893, x_894, x_899); +x_901 = lean_array_push(x_457, x_900); +if (lean_is_scalar(x_458)) { + x_902 = lean_alloc_ctor(0, 2, 0); } else { - x_953 = x_643; + x_902 = x_458; } -lean_ctor_set(x_953, 0, x_942); -lean_ctor_set(x_953, 1, x_952); -x_1 = x_638; -x_2 = x_953; -x_7 = x_940; +lean_ctor_set(x_902, 0, x_891); +lean_ctor_set(x_902, 1, x_901); +x_1 = x_453; +x_2 = x_902; +x_7 = x_889; goto _start; } else { -lean_object* x_955; lean_object* x_956; lean_object* x_957; lean_object* x_958; -lean_dec(x_936); -lean_dec(x_643); -lean_dec(x_642); -lean_dec(x_641); -lean_dec(x_638); +lean_object* x_904; lean_object* x_905; lean_object* x_906; lean_object* x_907; +lean_dec(x_885); +lean_dec(x_458); +lean_dec(x_457); +lean_dec(x_456); +lean_dec(x_453); lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); lean_dec_ref(x_3); -x_955 = lean_ctor_get(x_938, 0); -lean_inc(x_955); -x_956 = lean_ctor_get(x_938, 1); -lean_inc(x_956); -if (lean_is_exclusive(x_938)) { - lean_ctor_release(x_938, 0); - lean_ctor_release(x_938, 1); - x_957 = x_938; +x_904 = lean_ctor_get(x_887, 0); +lean_inc(x_904); +x_905 = lean_ctor_get(x_887, 1); +lean_inc(x_905); +if (lean_is_exclusive(x_887)) { + lean_ctor_release(x_887, 0); + lean_ctor_release(x_887, 1); + x_906 = x_887; } else { - lean_dec_ref(x_938); - x_957 = lean_box(0); + lean_dec_ref(x_887); + x_906 = lean_box(0); } -if (lean_is_scalar(x_957)) { - x_958 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_906)) { + x_907 = lean_alloc_ctor(1, 2, 0); } else { - x_958 = x_957; + x_907 = x_906; } -lean_ctor_set(x_958, 0, x_955); -lean_ctor_set(x_958, 1, x_956); -return x_958; +lean_ctor_set(x_907, 0, x_904); +lean_ctor_set(x_907, 1, x_905); +return x_907; } } else { -lean_object* x_959; -lean_dec(x_936); -if (lean_is_scalar(x_643)) { - x_959 = lean_alloc_ctor(0, 2, 0); +lean_object* x_908; +lean_dec(x_885); +if (lean_is_scalar(x_458)) { + x_908 = lean_alloc_ctor(0, 2, 0); } else { - x_959 = x_643; + x_908 = x_458; } -lean_ctor_set(x_959, 0, x_641); -lean_ctor_set(x_959, 1, x_642); -x_1 = x_638; -x_2 = x_959; -x_7 = x_935; +lean_ctor_set(x_908, 0, x_456); +lean_ctor_set(x_908, 1, x_457); +x_1 = x_453; +x_2 = x_908; +x_7 = x_884; goto _start; } } } else { -lean_object* x_961; lean_object* x_962; lean_object* x_963; lean_object* x_964; -lean_dec(x_644); -lean_dec(x_643); -lean_dec(x_642); -lean_dec(x_641); -lean_dec(x_640); -lean_dec(x_639); -lean_dec(x_638); +lean_object* x_910; lean_object* x_911; lean_object* x_912; lean_object* x_913; +lean_dec(x_459); +lean_dec(x_458); +lean_dec(x_457); +lean_dec(x_456); +lean_dec(x_454); +lean_dec(x_453); lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); lean_dec_ref(x_3); -x_961 = lean_ctor_get(x_645, 0); -lean_inc(x_961); -x_962 = lean_ctor_get(x_645, 1); -lean_inc(x_962); -if (lean_is_exclusive(x_645)) { - lean_ctor_release(x_645, 0); - lean_ctor_release(x_645, 1); - x_963 = x_645; +x_910 = lean_ctor_get(x_460, 0); +lean_inc(x_910); +x_911 = lean_ctor_get(x_460, 1); +lean_inc(x_911); +if (lean_is_exclusive(x_460)) { + lean_ctor_release(x_460, 0); + lean_ctor_release(x_460, 1); + x_912 = x_460; } else { - lean_dec_ref(x_645); - x_963 = lean_box(0); + lean_dec_ref(x_460); + x_912 = lean_box(0); } -if (lean_is_scalar(x_963)) { - x_964 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_912)) { + x_913 = lean_alloc_ctor(1, 2, 0); } else { - x_964 = x_963; + x_913 = x_912; } -lean_ctor_set(x_964, 0, x_961); -lean_ctor_set(x_964, 1, x_962); -return x_964; +lean_ctor_set(x_913, 0, x_910); +lean_ctor_set(x_913, 1, x_911); +return x_913; } } } else { -lean_object* x_965; uint8_t x_966; -lean_dec_ref(x_10); -lean_dec(x_9); -x_965 = lean_ctor_get(x_1, 1); -lean_inc(x_965); +lean_object* x_914; uint8_t x_915; +x_914 = lean_ctor_get(x_1, 1); +lean_inc(x_914); lean_dec_ref(x_1); -x_966 = !lean_is_exclusive(x_2); -if (x_966 == 0) +x_915 = !lean_is_exclusive(x_2); +if (x_915 == 0) { -x_1 = x_965; +x_1 = x_914; goto _start; } else { -lean_object* x_968; lean_object* x_969; lean_object* x_970; -x_968 = lean_ctor_get(x_2, 0); -x_969 = lean_ctor_get(x_2, 1); -lean_inc(x_969); -lean_inc(x_968); +lean_object* x_917; lean_object* x_918; lean_object* x_919; +x_917 = lean_ctor_get(x_2, 0); +x_918 = lean_ctor_get(x_2, 1); +lean_inc(x_918); +lean_inc(x_917); lean_dec(x_2); -x_970 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_970, 0, x_968); -lean_ctor_set(x_970, 1, x_969); -x_1 = x_965; -x_2 = x_970; +x_919 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_919, 0, x_917); +lean_ctor_set(x_919, 1, x_918); +x_1 = x_914; +x_2 = x_919; goto _start; } } @@ -28177,7 +27195,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__0; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); @@ -28244,10 +27262,10 @@ lean_dec_ref(x_13); x_16 = lean_ctor_get(x_5, 5); x_17 = lean_mk_syntax_ident(x_14); x_18 = l_Lean_SourceInfo_fromRef(x_16, x_12); -x_19 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_20 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; +x_19 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_20 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; x_21 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_22 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; +x_22 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; x_23 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__1; x_24 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__2; lean_inc(x_18); @@ -28340,10 +27358,10 @@ lean_dec_ref(x_42); x_45 = lean_ctor_get(x_5, 5); x_46 = lean_mk_syntax_ident(x_43); x_47 = l_Lean_SourceInfo_fromRef(x_45, x_41); -x_48 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_49 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; +x_48 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_49 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; x_50 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_51 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; +x_51 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; x_52 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__1; x_53 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__2; lean_inc(x_47); @@ -28432,7 +27450,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__24___redArg___closed__0; -x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22; +x_2 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10; x_3 = l_Lean_Elab_Tactic_elabGrindPattern___closed__0; x_4 = l_Lean_Elab_Tactic_evalUnsafe___redArg___closed__0____x40_Lean_Elab_Tactic_Grind_2289994934____hygCtx___hyg_3_; x_5 = l_Lean_Name_mkStr4(x_4, x_3, x_2, x_1); @@ -28505,10 +27523,10 @@ lean_dec_ref(x_14); x_17 = lean_ctor_get(x_6, 5); x_18 = lean_mk_syntax_ident(x_15); x_19 = l_Lean_SourceInfo_fromRef(x_17, x_13); -x_20 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1; -x_21 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21; +x_20 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1; +x_21 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7; x_22 = l_Lean_Elab_Tactic_setGrindParams___closed__7; -x_23 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24; +x_23 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12; x_24 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__24___redArg___closed__1; x_25 = l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__2; lean_inc(x_19); @@ -31587,6 +30605,10 @@ l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg___ lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg___lam__0___closed__2); l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg___lam__0___closed__3 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg___lam__0___closed__3(); lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_warnRedundantEMatchArg___lam__0___closed__3); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___closed__0 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___closed__0(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___closed__0); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___closed__1 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_ensureNoMinIndexable___closed__1); l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__0 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__0(); lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__0); l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__1 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__1(); @@ -31607,56 +30629,62 @@ l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatch lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__8); l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__9 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__9(); lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_addEMatchTheorem___closed__9); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__0 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__0(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__0); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__1); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__2 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__2(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__2); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__3); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__4 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__4(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__4); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__5 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__5(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__5); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__6 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__6(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__6); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__7 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__7(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__7); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__8 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__8(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__8); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__9 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__9(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__9); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__10 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__10(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__10); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__11 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__11(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__11); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__12 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__12(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__12); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__13 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__13(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__13); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__14 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__14(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__14); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__15 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__15(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__15); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__16 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__16(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__16); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__17 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__17(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__17); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__18 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__18(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__18); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__19 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__19(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__19); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__20 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__20(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__20); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__21); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__22); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__23 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__23(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__23); -l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24(); -lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__15_spec__15___closed__24); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__0 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__0(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__0); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__1 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__1); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__2 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__2(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__2); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__3 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__3(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__3); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__4 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__4(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__4); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__5 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__5(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__5); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__6 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__6(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__6); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__7 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__7(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__7); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__8 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__8(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__8); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__9 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__9(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__9); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__10 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__10(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__10); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__11 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__11(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__11); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__12 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__12(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__12); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__13 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__13(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__13); +l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__14 = _init_l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__14(); +lean_mark_persistent(l___private_Lean_Elab_Tactic_Grind_0__Lean_Elab_Tactic_elabGrindParams_processParam___closed__14); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__0 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__0(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__0); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__1); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__2 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__2(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__2); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__3); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__4 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__4(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__4); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__5 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__5(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__5); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__6 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__6(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__6); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__7); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__8 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__8(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__8); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__9); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__10); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__11 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__11(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__11); +l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12 = _init_l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12(); +lean_mark_persistent(l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at___Lean_Elab_Tactic_elabGrindParams_spec__0_spec__0___closed__12); l_Lean_Elab_Tactic_mkGrindParams___closed__0 = _init_l_Lean_Elab_Tactic_mkGrindParams___closed__0(); lean_mark_persistent(l_Lean_Elab_Tactic_mkGrindParams___closed__0); l_Lean_Elab_Tactic_mkGrindParams___closed__1 = _init_l_Lean_Elab_Tactic_mkGrindParams___closed__1(); @@ -31828,6 +30856,8 @@ l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___cl lean_mark_persistent(l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__36); l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__37 = _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__37(); lean_mark_persistent(l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__37); +l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__38 = _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__38(); +lean_mark_persistent(l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__14___redArg___closed__38); l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__0 = _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__0(); lean_mark_persistent(l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__0); l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__1 = _init_l_List_forIn_x27_loop___at___Lean_Elab_Tactic_mkGrindOnly_spec__23___redArg___closed__1(); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Grind/Beta.c b/stage0/stdlib/Lean/Meta/Tactic/Grind/Beta.c index d8de57ea7f..8cb9887f88 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Grind/Beta.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Grind/Beta.c @@ -820,7 +820,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_getEqcLambdas___closed__3; x_2 = lean_unsigned_to_nat(2u); -x_3 = lean_unsigned_to_nat(1227u); +x_3 = lean_unsigned_to_nat(1232u); x_4 = l_Lean_Meta_Grind_getEqcLambdas___closed__2; x_5 = l_Lean_Meta_Grind_getEqcLambdas___closed__1; x_6 = l_mkPanicMessageWithDecl(x_5, x_4, x_3, x_2, x_1); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Grind/EMatchTheorem.c b/stage0/stdlib/Lean/Meta/Tactic/Grind/EMatchTheorem.c index e450cfb0b4..32689482c2 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Grind/EMatchTheorem.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Grind/EMatchTheorem.c @@ -138,7 +138,7 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Grind_EMatchTheoremKind_toAttribute(lean_ob extern lean_object* l_Lean_maxRecDepthErrorMessage; static lean_object* l_Lean_PersistentHashMap_insertAux___at___Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_EMatchTheorems_insert_spec__1_spec__1___redArg___closed__0; uint8_t lean_usize_dec_le(size_t, size_t); -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_addEMatchTheorem(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_addEMatchTheorem(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_checkTypeFVars___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___Lean_PersistentHashMap_containsAux___at___Lean_PersistentHashMap_contains___at___Lean_Meta_Grind_SymbolPriorities_contains_spec__0_spec__0_spec__0(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_EMatchTheoremKind_eqBoth_elim(lean_object*, lean_object*, lean_object*, lean_object*); @@ -270,6 +270,7 @@ static lean_object* l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Met lean_object* l_Lean_replaceRef(lean_object*, lean_object*); lean_object* lean_mk_array(lean_object*, lean_object*); uint64_t l_Lean_ExprStructEq_hash(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkEMatchTheorem___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_Meta_Grind_isGenPattern_x3f___closed__4; static lean_object* l_Lean_Meta_Grind_ppPattern___closed__8; static lean_object* l_Lean_Meta_Grind_isGenPattern_x3f___closed__3; @@ -665,7 +666,7 @@ LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Uns LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_isPatternFnCandidate___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_instMonadEIO(lean_object*); LEAN_EXPORT lean_object* l_Std_PRange_RangeIterator_instIteratorLoop_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_preprocessMatchCongrEqType_spec__1___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkEMatchTheorem(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_mkEMatchTheorem(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_resetEMatchTheoremsExt___redArg___boxed(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_OldCollector_collect___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_Grind_resetEMatchTheoremsExt___boxed(lean_object*, lean_object*, lean_object*); @@ -743,7 +744,7 @@ lean_object* lean_st_mk_ref(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_splitWhileForbidden(lean_object*); LEAN_EXPORT lean_object* l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_preprocessMatchCongrEqType_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_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_OldCollector_hasChildWithSameNewBVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_addEMatchTheorem___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_addEMatchTheorem___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkEMatchEqBwdTheoremCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Std_Data_DHashMap_Internal_Defs_0__Std_DHashMap_Internal_Raw_u2080_expand_go___at___Std_DHashMap_Internal_Raw_u2080_expand___at___Std_DHashMap_Internal_Raw_u2080_insertIfNew___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_NormalizePattern_saveBVar_spec__0_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Meta_Grind_EMatchTheorems_getOrigins_spec__0_spec__0___redArg___lam__0(lean_object*, lean_object*, lean_object*); @@ -751,7 +752,7 @@ static lean_object* l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Met LEAN_EXPORT lean_object* l_Lean_throwError___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_NormalizePattern_go_spec__0___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_to_list(lean_object*); LEAN_EXPORT uint8_t l_Lean_PersistentHashMap_containsAtAux___at___Lean_PersistentHashMap_containsAux___at___Lean_PersistentHashMap_contains___at___Lean_Meta_Grind_EMatchTheorems_contains_spec__0_spec__0_spec__0___redArg(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkEMatchTheoremCore___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_mkEMatchTheoremCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_Raw_u2080_insert___at_____private_Lean_Meta_Transform_0__Lean_Core_transform_visit___at___Lean_Core_transform___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_detectOffsets_spec__0_spec__0_spec__8___redArg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlM___at___Lean_PersistentHashMap_foldl___at___Lean_PersistentHashMap_toList___at___Lean_PersistentHashSet_toList___at___Lean_Meta_Grind_EMatchTheorems_getOrigins_spec__0_spec__0_spec__0_spec__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___Std_DHashMap_Internal_Raw_u2080_Const_get_x3f___at_____private_Lean_Meta_Transform_0__Lean_Core_transform_visit___at___Lean_Core_transform___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_detectOffsets_spec__0_spec__0_spec__2_spec__2(lean_object*, lean_object*, lean_object*); @@ -1255,7 +1256,7 @@ LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_find_x3f___at___Lean_Meta_Grin lean_object* l_Lean_Meta_instInhabitedMetaM___lam__0___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_logAt___at___Lean_log___at___Lean_logInfo___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__2_spec__2_spec__2___lam__0___closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_Grind_CheckCoverageResult_ok_elim(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkEMatchTheoremCore(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_EXPORT lean_object* l_Lean_Meta_Grind_mkEMatchTheoremCore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Grind_instReprEMatchTheoremKind_repr___closed__8; LEAN_EXPORT lean_object* l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__1(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at___List_toString___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_save_spec__1_spec__1___boxed(lean_object*, lean_object*); @@ -1648,7 +1649,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lea LEAN_EXPORT lean_object* l_Lean_throwError___at___Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getConstVal___at___Lean_Meta_Grind_EMatchTheorem_getProofWithFreshMVarLevels_spec__1_spec__1_spec__1_spec__1_spec__2_spec__2___redArg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_initFn___closed__0____x40_Lean_Meta_Tactic_Grind_EMatchTheorem_2275318982____hygCtx___hyg_2_; static lean_object* l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__0; -static lean_object* l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__7; LEAN_EXPORT lean_object* l_Array_mapFinIdxM_map___at___Lean_Meta_Grind_NormalizePattern_getPatternArgKinds_spec__0___redArg(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_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectPatterns_x3f___closed__2; static lean_object* l_Lean_Meta_Grind_mkEMatchEqTheoremCore___lam__0___closed__5; @@ -16352,22 +16352,24 @@ return x_3; static lean_object* _init_l_Lean_Meta_Grind_instInhabitedEMatchTheorem_default___closed__4() { _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; lean_object* x_7; -x_1 = l_Lean_Meta_Grind_instInhabitedEMatchTheoremKind_default; -x_2 = l_Lean_Meta_Grind_instInhabitedOrigin_default; -x_3 = lean_box(0); -x_4 = lean_unsigned_to_nat(0u); -x_5 = l_Lean_Meta_Grind_instInhabitedEMatchTheorem_default___closed__3; -x_6 = l_Lean_Meta_Grind_instInhabitedEMatchTheorem_default___closed__0; -x_7 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_7, 0, x_6); -lean_ctor_set(x_7, 1, x_5); -lean_ctor_set(x_7, 2, x_4); -lean_ctor_set(x_7, 3, x_3); -lean_ctor_set(x_7, 4, x_3); -lean_ctor_set(x_7, 5, x_2); -lean_ctor_set(x_7, 6, x_1); -return x_7; +uint8_t 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; +x_1 = 0; +x_2 = l_Lean_Meta_Grind_instInhabitedEMatchTheoremKind_default; +x_3 = l_Lean_Meta_Grind_instInhabitedOrigin_default; +x_4 = lean_box(0); +x_5 = lean_unsigned_to_nat(0u); +x_6 = l_Lean_Meta_Grind_instInhabitedEMatchTheorem_default___closed__3; +x_7 = l_Lean_Meta_Grind_instInhabitedEMatchTheorem_default___closed__0; +x_8 = lean_alloc_ctor(0, 7, 1); +lean_ctor_set(x_8, 0, x_7); +lean_ctor_set(x_8, 1, x_6); +lean_ctor_set(x_8, 2, x_5); +lean_ctor_set(x_8, 3, x_4); +lean_ctor_set(x_8, 4, x_4); +lean_ctor_set(x_8, 5, x_3); +lean_ctor_set(x_8, 6, x_2); +lean_ctor_set_uint8(x_8, sizeof(void*)*7, x_1); +return x_8; } } static lean_object* _init_l_Lean_Meta_Grind_instInhabitedEMatchTheorem_default() { @@ -17615,7 +17617,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_isGenPattern_x3f___closed__2; x_2 = lean_unsigned_to_nat(6u); -x_3 = lean_unsigned_to_nat(426u); +x_3 = lean_unsigned_to_nat(428u); x_4 = l_Lean_Meta_Grind_EMatchTheorems_insert___closed__0; x_5 = l_Lean_Meta_Grind_isGenPattern_x3f___closed__0; x_6 = l_mkPanicMessageWithDecl(x_5, x_4, x_3, x_2, x_1); @@ -17776,13 +17778,14 @@ return x_32; } 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; 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_71; +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; uint8_t 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_72; x_41 = lean_ctor_get(x_2, 0); x_42 = lean_ctor_get(x_2, 1); x_43 = lean_ctor_get(x_2, 2); x_44 = lean_ctor_get(x_2, 3); x_45 = lean_ctor_get(x_2, 5); x_46 = lean_ctor_get(x_2, 6); +x_47 = lean_ctor_get_uint8(x_2, sizeof(void*)*7); lean_inc(x_46); lean_inc(x_45); lean_inc(x_44); @@ -17790,135 +17793,136 @@ lean_inc(x_43); lean_inc(x_42); lean_inc(x_41); lean_dec(x_2); -x_47 = lean_ctor_get(x_6, 1); -lean_inc(x_47); +x_48 = lean_ctor_get(x_6, 1); +lean_inc(x_48); if (lean_is_exclusive(x_6)) { lean_ctor_release(x_6, 0); lean_ctor_release(x_6, 1); - x_48 = x_6; + x_49 = x_6; } else { lean_dec_ref(x_6); - x_48 = lean_box(0); + x_49 = lean_box(0); } -x_49 = lean_ctor_get(x_7, 0); -lean_inc(x_49); +x_50 = lean_ctor_get(x_7, 0); +lean_inc(x_50); lean_dec_ref(x_7); -x_50 = lean_ctor_get(x_1, 0); -lean_inc_ref(x_50); -x_51 = lean_ctor_get(x_1, 1); +x_51 = lean_ctor_get(x_1, 0); lean_inc_ref(x_51); -x_52 = lean_ctor_get(x_1, 2); +x_52 = lean_ctor_get(x_1, 1); lean_inc_ref(x_52); -x_53 = lean_ctor_get(x_1, 3); +x_53 = lean_ctor_get(x_1, 2); lean_inc_ref(x_53); -x_54 = lean_ctor_get(x_1, 4); +x_54 = lean_ctor_get(x_1, 3); lean_inc_ref(x_54); +x_55 = lean_ctor_get(x_1, 4); +lean_inc_ref(x_55); if (lean_is_exclusive(x_1)) { lean_ctor_release(x_1, 0); lean_ctor_release(x_1, 1); lean_ctor_release(x_1, 2); lean_ctor_release(x_1, 3); lean_ctor_release(x_1, 4); - x_55 = x_1; + x_56 = x_1; } else { lean_dec_ref(x_1); - x_55 = lean_box(0); + x_56 = lean_box(0); } lean_inc_ref(x_45); -x_56 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_56, 0, x_41); -lean_ctor_set(x_56, 1, x_42); -lean_ctor_set(x_56, 2, x_43); -lean_ctor_set(x_56, 3, x_44); -lean_ctor_set(x_56, 4, x_47); -lean_ctor_set(x_56, 5, x_45); -lean_ctor_set(x_56, 6, x_46); -x_57 = lean_box(0); +x_57 = lean_alloc_ctor(0, 7, 1); +lean_ctor_set(x_57, 0, x_41); +lean_ctor_set(x_57, 1, x_42); +lean_ctor_set(x_57, 2, x_43); +lean_ctor_set(x_57, 3, x_44); +lean_ctor_set(x_57, 4, x_48); +lean_ctor_set(x_57, 5, x_45); +lean_ctor_set(x_57, 6, x_46); +lean_ctor_set_uint8(x_57, sizeof(void*)*7, x_47); +x_58 = lean_box(0); lean_inc_ref(x_45); -x_58 = l_Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_EMatchTheorems_insert_spec__1___redArg(x_51, x_45, x_57); -x_59 = l_Lean_PersistentHashMap_erase___at___Lean_Meta_Grind_EMatchTheorems_insert_spec__6___redArg(x_52, x_45); -lean_inc_ref(x_50); -x_71 = l_Lean_PersistentHashMap_find_x3f___at___Lean_Meta_Grind_SymbolPriorities_getPrio_spec__0___redArg(x_50, x_49); -if (lean_obj_tag(x_71) == 0) +x_59 = l_Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_EMatchTheorems_insert_spec__1___redArg(x_52, x_45, x_58); +x_60 = l_Lean_PersistentHashMap_erase___at___Lean_Meta_Grind_EMatchTheorems_insert_spec__6___redArg(x_53, x_45); +lean_inc_ref(x_51); +x_72 = l_Lean_PersistentHashMap_find_x3f___at___Lean_Meta_Grind_SymbolPriorities_getPrio_spec__0___redArg(x_51, x_50); +if (lean_obj_tag(x_72) == 0) { -lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_72 = lean_box(0); -lean_inc_ref(x_56); -x_73 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_73, 0, x_56); -lean_ctor_set(x_73, 1, x_72); -x_74 = l_Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_SymbolPriorities_insert_spec__0___redArg(x_50, x_49, x_73); -x_60 = x_74; -goto block_70; +lean_object* x_73; lean_object* x_74; lean_object* x_75; +x_73 = lean_box(0); +lean_inc_ref(x_57); +x_74 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_74, 0, x_57); +lean_ctor_set(x_74, 1, x_73); +x_75 = l_Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_SymbolPriorities_insert_spec__0___redArg(x_51, x_50, x_74); +x_61 = x_75; +goto block_71; } else { -lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_71, 0); -lean_inc(x_75); -lean_dec_ref(x_71); -lean_inc_ref(x_56); -x_76 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_76, 0, x_56); -lean_ctor_set(x_76, 1, x_75); -x_77 = l_Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_SymbolPriorities_insert_spec__0___redArg(x_50, x_49, x_76); -x_60 = x_77; -goto block_70; +lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_76 = lean_ctor_get(x_72, 0); +lean_inc(x_76); +lean_dec_ref(x_72); +lean_inc_ref(x_57); +x_77 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_77, 0, x_57); +lean_ctor_set(x_77, 1, x_76); +x_78 = l_Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_SymbolPriorities_insert_spec__0___redArg(x_51, x_50, x_77); +x_61 = x_78; +goto block_71; } -block_70: +block_71: { -lean_object* x_61; -lean_inc_ref(x_53); -x_61 = l_Lean_PersistentHashMap_find_x3f___at___Lean_Meta_Grind_EMatchTheorems_insert_spec__10___redArg(x_53, x_45); -if (lean_obj_tag(x_61) == 0) +lean_object* x_62; +lean_inc_ref(x_54); +x_62 = l_Lean_PersistentHashMap_find_x3f___at___Lean_Meta_Grind_EMatchTheorems_insert_spec__10___redArg(x_54, x_45); +if (lean_obj_tag(x_62) == 0) { -lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_62 = lean_box(0); -if (lean_is_scalar(x_48)) { - x_63 = lean_alloc_ctor(1, 2, 0); +lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; +x_63 = lean_box(0); +if (lean_is_scalar(x_49)) { + x_64 = lean_alloc_ctor(1, 2, 0); } else { - x_63 = x_48; + x_64 = x_49; } -lean_ctor_set(x_63, 0, x_56); -lean_ctor_set(x_63, 1, x_62); -x_64 = l_Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_EMatchTheorems_insert_spec__1___redArg(x_53, x_45, x_63); -if (lean_is_scalar(x_55)) { - x_65 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_64, 0, x_57); +lean_ctor_set(x_64, 1, x_63); +x_65 = l_Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_EMatchTheorems_insert_spec__1___redArg(x_54, x_45, x_64); +if (lean_is_scalar(x_56)) { + x_66 = lean_alloc_ctor(0, 5, 0); } else { - x_65 = x_55; + x_66 = x_56; } -lean_ctor_set(x_65, 0, x_60); -lean_ctor_set(x_65, 1, x_58); -lean_ctor_set(x_65, 2, x_59); -lean_ctor_set(x_65, 3, x_64); -lean_ctor_set(x_65, 4, x_54); -return x_65; +lean_ctor_set(x_66, 0, x_61); +lean_ctor_set(x_66, 1, x_59); +lean_ctor_set(x_66, 2, x_60); +lean_ctor_set(x_66, 3, x_65); +lean_ctor_set(x_66, 4, x_55); +return x_66; } else { -lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_66 = lean_ctor_get(x_61, 0); -lean_inc(x_66); -lean_dec_ref(x_61); -if (lean_is_scalar(x_48)) { - x_67 = lean_alloc_ctor(1, 2, 0); +lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; +x_67 = lean_ctor_get(x_62, 0); +lean_inc(x_67); +lean_dec_ref(x_62); +if (lean_is_scalar(x_49)) { + x_68 = lean_alloc_ctor(1, 2, 0); } else { - x_67 = x_48; + x_68 = x_49; } -lean_ctor_set(x_67, 0, x_56); -lean_ctor_set(x_67, 1, x_66); -x_68 = l_Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_EMatchTheorems_insert_spec__1___redArg(x_53, x_45, x_67); -if (lean_is_scalar(x_55)) { - x_69 = lean_alloc_ctor(0, 5, 0); +lean_ctor_set(x_68, 0, x_57); +lean_ctor_set(x_68, 1, x_67); +x_69 = l_Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_EMatchTheorems_insert_spec__1___redArg(x_54, x_45, x_68); +if (lean_is_scalar(x_56)) { + x_70 = lean_alloc_ctor(0, 5, 0); } else { - x_69 = x_55; + x_70 = x_56; } -lean_ctor_set(x_69, 0, x_60); -lean_ctor_set(x_69, 1, x_58); -lean_ctor_set(x_69, 2, x_59); -lean_ctor_set(x_69, 3, x_68); -lean_ctor_set(x_69, 4, x_54); -return x_69; +lean_ctor_set(x_70, 0, x_61); +lean_ctor_set(x_70, 1, x_59); +lean_ctor_set(x_70, 2, x_60); +lean_ctor_set(x_70, 3, x_69); +lean_ctor_set(x_70, 4, x_55); +return x_70; } } } @@ -23834,10 +23838,10 @@ block_20: { lean_object* x_18; lean_object* x_19; x_18 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 0, x_17); x_19 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_19, 0, x_18); -lean_ctor_set(x_19, 1, x_17); +lean_ctor_set(x_19, 1, x_16); return x_19; } block_71: @@ -24007,8 +24011,8 @@ else { lean_free_object(x_27); lean_dec(x_26); -x_16 = x_21; -x_17 = x_37; +x_16 = x_37; +x_17 = x_21; goto block_20; } } @@ -24016,8 +24020,8 @@ else { lean_free_object(x_27); lean_dec(x_26); -x_16 = x_21; -x_17 = x_37; +x_16 = x_37; +x_17 = x_21; goto block_20; } } @@ -24113,16 +24117,16 @@ return x_68; else { lean_dec(x_26); -x_16 = x_21; -x_17 = x_54; +x_16 = x_54; +x_17 = x_21; goto block_20; } } else { lean_dec(x_26); -x_16 = x_21; -x_17 = x_54; +x_16 = x_54; +x_17 = x_21; goto block_20; } } @@ -25173,7 +25177,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_EMatchTheorem_0__Lean_Meta_Grind_NormalizePattern_go___closed__3; x_2 = lean_unsigned_to_nat(2u); -x_3 = lean_unsigned_to_nat(714u); +x_3 = lean_unsigned_to_nat(716u); x_4 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_NormalizePattern_go___closed__2; x_5 = l_Lean_Meta_Grind_isGenPattern_x3f___closed__0; x_6 = l_mkPanicMessageWithDecl(x_5, x_4, x_3, x_2, x_1); @@ -29837,7 +29841,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_EMatchTheorem_0__Lean_Meta_Grind_checkCoverage___lam__0___closed__2; x_2 = lean_unsigned_to_nat(4u); -x_3 = lean_unsigned_to_nat(804u); +x_3 = lean_unsigned_to_nat(806u); x_4 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_checkCoverage___lam__0___closed__1; x_5 = l_Lean_Meta_Grind_isGenPattern_x3f___closed__0; x_6 = l_mkPanicMessageWithDecl(x_5, x_4, x_3, x_2, x_1); @@ -29917,7 +29921,7 @@ lean_inc(x_9); lean_inc_ref(x_8); lean_inc(x_7); lean_inc_ref(x_6); -x_30 = l___private_Init_While_0__Lean_Loop_forIn_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_checkCoverage_spec__9(x_2, x_4, x_21, x_18, x_25, x_1, x_29, x_6, x_7, x_8, x_9, x_19); +x_30 = l___private_Init_While_0__Lean_Loop_forIn_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_checkCoverage_spec__9(x_2, x_4, x_19, x_18, x_25, x_1, x_29, x_6, x_7, x_8, x_9, x_21); if (lean_obj_tag(x_30) == 0) { lean_object* x_31; lean_object* x_32; lean_object* x_33; @@ -30049,8 +30053,8 @@ else { lean_object* x_56; lean_object* x_57; lean_dec(x_22); -lean_dec(x_21); lean_dec(x_20); +lean_dec(x_19); lean_dec(x_17); lean_dec(x_9); lean_dec_ref(x_8); @@ -30060,7 +30064,7 @@ lean_dec_ref(x_4); x_56 = lean_box(0); x_57 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_57, 0, x_56); -lean_ctor_set(x_57, 1, x_19); +lean_ctor_set(x_57, 1, x_21); return x_57; } } @@ -30093,9 +30097,9 @@ lean_inc(x_68); lean_dec_ref(x_66); x_69 = lean_ctor_get(x_67, 0); lean_inc(x_69); -x_19 = x_68; +x_19 = x_64; x_20 = x_67; -x_21 = x_64; +x_21 = x_68; x_22 = x_65; x_23 = x_69; goto block_58; @@ -30107,9 +30111,9 @@ x_70 = lean_ctor_get(x_66, 1); lean_inc(x_70); lean_dec_ref(x_66); x_71 = lean_unsigned_to_nat(0u); -x_19 = x_70; +x_19 = x_64; x_20 = x_67; -x_21 = x_64; +x_21 = x_70; x_22 = x_65; x_23 = x_71; goto block_58; @@ -31989,7 +31993,7 @@ return x_1; LEAN_EXPORT lean_object* l_Lean_logAt___at___Lean_log___at___Lean_logInfo___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__2_spec__2_spec__2(lean_object* x_1, lean_object* x_2, uint8_t x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_10; lean_object* x_11; uint8_t x_12; lean_object* x_13; uint8_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_81; lean_object* x_82; uint8_t x_83; lean_object* x_84; uint8_t x_85; uint8_t x_86; lean_object* x_87; lean_object* x_88; lean_object* x_110; lean_object* x_111; lean_object* x_112; uint8_t x_113; uint8_t x_114; uint8_t x_115; lean_object* x_116; lean_object* x_117; lean_object* x_121; lean_object* x_122; uint8_t x_123; lean_object* x_124; uint8_t x_125; lean_object* x_126; uint8_t x_127; uint8_t x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; uint8_t x_137; lean_object* x_138; uint8_t x_139; uint8_t x_140; uint8_t x_142; uint8_t x_158; +uint8_t x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_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_81; lean_object* x_82; uint8_t x_83; uint8_t x_84; lean_object* x_85; uint8_t x_86; lean_object* x_87; lean_object* x_88; lean_object* x_110; lean_object* x_111; uint8_t x_112; uint8_t x_113; uint8_t x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_121; lean_object* x_122; uint8_t x_123; lean_object* x_124; uint8_t x_125; lean_object* x_126; uint8_t x_127; uint8_t x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; uint8_t x_137; lean_object* x_138; uint8_t x_139; uint8_t x_140; uint8_t x_142; uint8_t x_158; x_133 = 2; x_158 = l_Lean_instBEqMessageSeverity_beq(x_3, x_133); if (x_158 == 0) @@ -32029,14 +32033,14 @@ lean_ctor_set(x_20, 1, x_25); lean_ctor_set(x_20, 0, x_24); x_28 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_28, 0, x_20); -lean_ctor_set(x_28, 1, x_11); +lean_ctor_set(x_28, 1, x_13); x_29 = lean_alloc_ctor(0, 5, 3); -lean_ctor_set(x_29, 0, x_10); -lean_ctor_set(x_29, 1, x_15); -lean_ctor_set(x_29, 2, x_13); -lean_ctor_set(x_29, 3, x_16); +lean_ctor_set(x_29, 0, x_15); +lean_ctor_set(x_29, 1, x_16); +lean_ctor_set(x_29, 2, x_12); +lean_ctor_set(x_29, 3, x_11); lean_ctor_set(x_29, 4, x_28); -lean_ctor_set_uint8(x_29, sizeof(void*)*5, x_12); +lean_ctor_set_uint8(x_29, sizeof(void*)*5, x_10); lean_ctor_set_uint8(x_29, sizeof(void*)*5 + 1, x_14); lean_ctor_set_uint8(x_29, sizeof(void*)*5 + 2, x_4); x_30 = l_Lean_MessageLog_add(x_29, x_27); @@ -32091,14 +32095,14 @@ lean_ctor_set(x_20, 1, x_25); lean_ctor_set(x_20, 0, x_24); x_47 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_47, 0, x_20); -lean_ctor_set(x_47, 1, x_11); +lean_ctor_set(x_47, 1, x_13); x_48 = lean_alloc_ctor(0, 5, 3); -lean_ctor_set(x_48, 0, x_10); -lean_ctor_set(x_48, 1, x_15); -lean_ctor_set(x_48, 2, x_13); -lean_ctor_set(x_48, 3, x_16); +lean_ctor_set(x_48, 0, x_15); +lean_ctor_set(x_48, 1, x_16); +lean_ctor_set(x_48, 2, x_12); +lean_ctor_set(x_48, 3, x_11); lean_ctor_set(x_48, 4, x_47); -lean_ctor_set_uint8(x_48, sizeof(void*)*5, x_12); +lean_ctor_set_uint8(x_48, sizeof(void*)*5, x_10); lean_ctor_set_uint8(x_48, sizeof(void*)*5 + 1, x_14); lean_ctor_set_uint8(x_48, sizeof(void*)*5 + 2, x_4); x_49 = l_Lean_MessageLog_add(x_48, x_44); @@ -32185,14 +32189,14 @@ lean_ctor_set(x_70, 0, x_58); lean_ctor_set(x_70, 1, x_59); x_71 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_71, 0, x_70); -lean_ctor_set(x_71, 1, x_11); +lean_ctor_set(x_71, 1, x_13); x_72 = lean_alloc_ctor(0, 5, 3); -lean_ctor_set(x_72, 0, x_10); -lean_ctor_set(x_72, 1, x_15); -lean_ctor_set(x_72, 2, x_13); -lean_ctor_set(x_72, 3, x_16); +lean_ctor_set(x_72, 0, x_15); +lean_ctor_set(x_72, 1, x_16); +lean_ctor_set(x_72, 2, x_12); +lean_ctor_set(x_72, 3, x_11); lean_ctor_set(x_72, 4, x_71); -lean_ctor_set_uint8(x_72, sizeof(void*)*5, x_12); +lean_ctor_set_uint8(x_72, sizeof(void*)*5, x_10); lean_ctor_set_uint8(x_72, sizeof(void*)*5 + 1, x_14); lean_ctor_set_uint8(x_72, sizeof(void*)*5 + 2, x_4); x_73 = l_Lean_MessageLog_add(x_72, x_66); @@ -32243,25 +32247,25 @@ 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; x_92 = lean_ctor_get(x_90, 0); x_93 = lean_ctor_get(x_90, 1); -lean_inc_ref(x_84); -x_94 = l_Lean_FileMap_toPosition(x_84, x_87); +lean_inc_ref(x_82); +x_94 = l_Lean_FileMap_toPosition(x_82, x_87); lean_dec(x_87); -x_95 = l_Lean_FileMap_toPosition(x_84, x_88); +x_95 = l_Lean_FileMap_toPosition(x_82, x_88); lean_dec(x_88); x_96 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_96, 0, x_95); x_97 = l_Lean_Meta_Grind_EMatchTheoremKind_toAttributeCore___closed__12; -if (x_85 == 0) +if (x_84 == 0) { lean_free_object(x_90); lean_dec_ref(x_81); -x_10 = x_82; -x_11 = x_92; -x_12 = x_83; -x_13 = x_96; +x_10 = x_83; +x_11 = x_97; +x_12 = x_96; +x_13 = x_92; x_14 = x_86; -x_15 = x_94; -x_16 = x_97; +x_15 = x_85; +x_16 = x_94; x_17 = x_7; x_18 = x_8; x_19 = x_93; @@ -32278,7 +32282,7 @@ lean_object* x_99; lean_dec_ref(x_96); lean_dec_ref(x_94); lean_dec(x_92); -lean_dec_ref(x_82); +lean_dec_ref(x_85); lean_dec_ref(x_7); x_99 = lean_box(0); lean_ctor_set(x_90, 0, x_99); @@ -32287,13 +32291,13 @@ return x_90; else { lean_free_object(x_90); -x_10 = x_82; -x_11 = x_92; -x_12 = x_83; -x_13 = x_96; +x_10 = x_83; +x_11 = x_97; +x_12 = x_96; +x_13 = x_92; x_14 = x_86; -x_15 = x_94; -x_16 = x_97; +x_15 = x_85; +x_16 = x_94; x_17 = x_7; x_18 = x_8; x_19 = x_93; @@ -32309,24 +32313,24 @@ x_101 = lean_ctor_get(x_90, 1); lean_inc(x_101); lean_inc(x_100); lean_dec(x_90); -lean_inc_ref(x_84); -x_102 = l_Lean_FileMap_toPosition(x_84, x_87); +lean_inc_ref(x_82); +x_102 = l_Lean_FileMap_toPosition(x_82, x_87); lean_dec(x_87); -x_103 = l_Lean_FileMap_toPosition(x_84, x_88); +x_103 = l_Lean_FileMap_toPosition(x_82, x_88); lean_dec(x_88); x_104 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_104, 0, x_103); x_105 = l_Lean_Meta_Grind_EMatchTheoremKind_toAttributeCore___closed__12; -if (x_85 == 0) +if (x_84 == 0) { lean_dec_ref(x_81); -x_10 = x_82; -x_11 = x_100; -x_12 = x_83; -x_13 = x_104; +x_10 = x_83; +x_11 = x_105; +x_12 = x_104; +x_13 = x_100; x_14 = x_86; -x_15 = x_102; -x_16 = x_105; +x_15 = x_85; +x_16 = x_102; x_17 = x_7; x_18 = x_8; x_19 = x_101; @@ -32343,7 +32347,7 @@ lean_object* x_107; lean_object* x_108; lean_dec_ref(x_104); lean_dec_ref(x_102); lean_dec(x_100); -lean_dec_ref(x_82); +lean_dec_ref(x_85); lean_dec_ref(x_7); x_107 = lean_box(0); x_108 = lean_alloc_ctor(0, 2, 0); @@ -32353,13 +32357,13 @@ return x_108; } else { -x_10 = x_82; -x_11 = x_100; -x_12 = x_83; -x_13 = x_104; +x_10 = x_83; +x_11 = x_105; +x_12 = x_104; +x_13 = x_100; x_14 = x_86; -x_15 = x_102; -x_16 = x_105; +x_15 = x_85; +x_16 = x_102; x_17 = x_7; x_18 = x_8; x_19 = x_101; @@ -32371,17 +32375,17 @@ goto block_80; block_120: { lean_object* x_118; -x_118 = l_Lean_Syntax_getTailPos_x3f(x_116, x_113); +x_118 = l_Lean_Syntax_getTailPos_x3f(x_116, x_112); lean_dec(x_116); if (lean_obj_tag(x_118) == 0) { lean_inc(x_117); x_81 = x_110; x_82 = x_111; -x_83 = x_113; -x_84 = x_112; -x_85 = x_114; -x_86 = x_115; +x_83 = x_112; +x_84 = x_113; +x_85 = x_115; +x_86 = x_114; x_87 = x_117; x_88 = x_117; goto block_109; @@ -32394,10 +32398,10 @@ lean_inc(x_119); lean_dec_ref(x_118); x_81 = x_110; x_82 = x_111; -x_83 = x_113; -x_84 = x_112; -x_85 = x_114; -x_86 = x_115; +x_83 = x_112; +x_84 = x_113; +x_85 = x_115; +x_86 = x_114; x_87 = x_117; x_88 = x_119; goto block_109; @@ -32406,8 +32410,8 @@ goto block_109; block_132: { lean_object* x_128; lean_object* x_129; -x_128 = l_Lean_replaceRef(x_1, x_126); -lean_dec(x_126); +x_128 = l_Lean_replaceRef(x_1, x_124); +lean_dec(x_124); x_129 = l_Lean_Syntax_getPos_x3f(x_128, x_123); if (lean_obj_tag(x_129) == 0) { @@ -32415,10 +32419,10 @@ lean_object* x_130; x_130 = lean_unsigned_to_nat(0u); x_110 = x_121; x_111 = x_122; -x_112 = x_124; -x_113 = x_123; -x_114 = x_125; -x_115 = x_127; +x_112 = x_123; +x_113 = x_125; +x_114 = x_127; +x_115 = x_126; x_116 = x_128; x_117 = x_130; goto block_120; @@ -32431,10 +32435,10 @@ lean_inc(x_131); lean_dec_ref(x_129); x_110 = x_121; x_111 = x_122; -x_112 = x_124; -x_113 = x_123; -x_114 = x_125; -x_115 = x_127; +x_112 = x_123; +x_113 = x_125; +x_114 = x_127; +x_115 = x_126; x_116 = x_128; x_117 = x_131; goto block_120; @@ -32444,10 +32448,10 @@ block_141: { if (x_140 == 0) { -x_121 = x_134; -x_122 = x_135; +x_121 = x_136; +x_122 = x_134; x_123 = x_139; -x_124 = x_136; +x_124 = x_135; x_125 = x_137; x_126 = x_138; x_127 = x_3; @@ -32455,10 +32459,10 @@ goto block_132; } else { -x_121 = x_134; -x_122 = x_135; +x_121 = x_136; +x_122 = x_134; x_123 = x_139; -x_124 = x_136; +x_124 = x_135; x_125 = x_137; x_126 = x_138; x_127 = x_133; @@ -32484,14 +32488,14 @@ x_151 = 1; x_152 = l_Lean_instBEqMessageSeverity_beq(x_3, x_151); if (x_152 == 0) { +lean_inc_ref(x_143); lean_inc(x_146); lean_inc_ref(x_144); -lean_inc_ref(x_143); -x_134 = x_150; -x_135 = x_143; -x_136 = x_144; +x_134 = x_144; +x_135 = x_146; +x_136 = x_150; x_137 = x_147; -x_138 = x_146; +x_138 = x_143; x_139 = x_142; x_140 = x_152; goto block_141; @@ -32501,14 +32505,14 @@ else lean_object* x_153; uint8_t x_154; x_153 = l_Lean_logAt___at___Lean_log___at___Lean_logInfo___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__2_spec__2_spec__2___closed__0; x_154 = l_Lean_Option_get___at___Lean_logAt___at___Lean_log___at___Lean_logInfo___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__2_spec__2_spec__2_spec__2(x_145, x_153); +lean_inc_ref(x_143); lean_inc(x_146); lean_inc_ref(x_144); -lean_inc_ref(x_143); -x_134 = x_150; -x_135 = x_143; -x_136 = x_144; +x_134 = x_144; +x_135 = x_146; +x_136 = x_150; x_137 = x_147; -x_138 = x_146; +x_138 = x_143; x_139 = x_142; x_140 = x_154; goto block_141; @@ -33134,465 +33138,467 @@ x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkEMatchTheoremCore(lean_object* x_1, lean_object* 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, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkEMatchTheoremCore(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, uint8_t 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) { _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; -x_13 = l_Lean_Meta_Grind_getGlobalSymbolPriorities___redArg(x_11, x_12); -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); +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 = l_Lean_Meta_Grind_getGlobalSymbolPriorities___redArg(x_12, x_13); +x_15 = lean_ctor_get(x_14, 0); lean_inc(x_15); -if (lean_is_exclusive(x_13)) { - lean_ctor_release(x_13, 0); - lean_ctor_release(x_13, 1); - x_16 = x_13; +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +if (lean_is_exclusive(x_14)) { + lean_ctor_release(x_14, 0); + lean_ctor_release(x_14, 1); + x_17 = x_14; } else { - lean_dec_ref(x_13); - x_16 = lean_box(0); + lean_dec_ref(x_14); + x_17 = lean_box(0); } -x_17 = lean_unsigned_to_nat(1u); -lean_inc(x_11); -lean_inc_ref(x_10); -lean_inc(x_9); -lean_inc_ref(x_8); -x_18 = l_Lean_Meta_Grind_NormalizePattern_main(x_5, x_14, x_17, x_8, x_9, x_10, x_11, x_15); -if (lean_obj_tag(x_18) == 0) +x_18 = lean_unsigned_to_nat(1u); +lean_inc(x_12); +lean_inc_ref(x_11); +lean_inc(x_10); +lean_inc_ref(x_9); +x_19 = l_Lean_Meta_Grind_NormalizePattern_main(x_5, x_15, x_18, x_9, x_10, x_11, x_12, x_16); +if (lean_obj_tag(x_19) == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; 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; uint8_t x_76; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_19, 1); +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_77; +x_20 = lean_ctor_get(x_19, 0); lean_inc(x_20); -x_21 = lean_ctor_get(x_18, 1); +x_21 = lean_ctor_get(x_20, 1); lean_inc(x_21); -lean_dec_ref(x_18); -x_22 = lean_ctor_get(x_19, 0); +x_22 = lean_ctor_get(x_19, 1); lean_inc(x_22); -if (lean_is_exclusive(x_19)) { - lean_ctor_release(x_19, 0); - lean_ctor_release(x_19, 1); - x_23 = x_19; -} else { - lean_dec_ref(x_19); - x_23 = lean_box(0); -} -x_24 = lean_ctor_get(x_20, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_20, 1); -lean_inc(x_25); +lean_dec_ref(x_19); +x_23 = lean_ctor_get(x_20, 0); +lean_inc(x_23); if (lean_is_exclusive(x_20)) { lean_ctor_release(x_20, 0); lean_ctor_release(x_20, 1); - x_26 = x_20; + x_24 = x_20; } else { lean_dec_ref(x_20); - x_26 = lean_box(0); + x_24 = lean_box(0); } -x_76 = l_List_isEmpty___redArg(x_24); -if (x_76 == 0) +x_25 = lean_ctor_get(x_21, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_21, 1); +lean_inc(x_26); +if (lean_is_exclusive(x_21)) { + lean_ctor_release(x_21, 0); + lean_ctor_release(x_21, 1); + x_27 = x_21; +} else { + lean_dec_ref(x_21); + x_27 = lean_box(0); +} +x_77 = l_List_isEmpty___redArg(x_25); +if (x_77 == 0) { -lean_object* x_77; lean_object* x_78; lean_object* x_79; uint8_t x_80; -x_77 = l_Lean_Meta_Grind_mkEMatchTheoremCore___closed__6; -x_78 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_mkEMatchTheoremCore_spec__0___redArg(x_77, x_10, x_21); -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_78; lean_object* x_79; lean_object* x_80; uint8_t x_81; +x_78 = l_Lean_Meta_Grind_mkEMatchTheoremCore___closed__6; +x_79 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_mkEMatchTheoremCore_spec__0___redArg(x_78, x_11, x_22); +x_80 = lean_ctor_get(x_79, 0); +lean_inc(x_80); +x_81 = lean_unbox(x_80); +lean_dec(x_80); +if (x_81 == 0) { -lean_object* x_81; -x_81 = lean_ctor_get(x_78, 1); -lean_inc(x_81); -lean_dec_ref(x_78); -x_27 = x_8; +lean_object* x_82; +x_82 = lean_ctor_get(x_79, 1); +lean_inc(x_82); +lean_dec_ref(x_79); x_28 = x_9; x_29 = x_10; x_30 = x_11; -x_31 = x_81; -goto block_75; +x_31 = x_12; +x_32 = x_82; +goto block_76; } else { -uint8_t x_82; -x_82 = !lean_is_exclusive(x_78); -if (x_82 == 0) +uint8_t x_83; +x_83 = !lean_is_exclusive(x_79); +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; lean_object* x_93; -x_83 = lean_ctor_get(x_78, 1); -x_84 = lean_ctor_get(x_78, 0); -lean_dec(x_84); +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; lean_object* x_94; +x_84 = lean_ctor_get(x_79, 1); +x_85 = lean_ctor_get(x_79, 0); +lean_dec(x_85); lean_inc_ref(x_1); -x_85 = l_Lean_Meta_Grind_Origin_pp(x_1); -x_86 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen___closed__1; -lean_ctor_set_tag(x_78, 7); -lean_ctor_set(x_78, 1, x_86); -lean_ctor_set(x_78, 0, x_85); -x_87 = lean_box(0); -lean_inc(x_22); -x_88 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__0(x_22, x_87); -x_89 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__1(x_88, x_87); -x_90 = l_Lean_MessageData_ofList(x_89); -x_91 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_91, 0, x_78); -lean_ctor_set(x_91, 1, x_90); -x_92 = l_Lean_addTrace___at___Lean_Meta_Grind_mkEMatchTheoremCore_spec__1(x_77, x_91, x_8, x_9, x_10, x_11, x_83); -x_93 = lean_ctor_get(x_92, 1); -lean_inc(x_93); -lean_dec_ref(x_92); -x_27 = x_8; -x_28 = x_9; -x_29 = x_10; -x_30 = x_11; -x_31 = x_93; -goto block_75; -} -else -{ -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; -x_94 = lean_ctor_get(x_78, 1); +x_86 = l_Lean_Meta_Grind_Origin_pp(x_1); +x_87 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen___closed__1; +lean_ctor_set_tag(x_79, 7); +lean_ctor_set(x_79, 1, x_87); +lean_ctor_set(x_79, 0, x_86); +x_88 = lean_box(0); +lean_inc(x_23); +x_89 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__0(x_23, x_88); +x_90 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__1(x_89, x_88); +x_91 = l_Lean_MessageData_ofList(x_90); +x_92 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_92, 0, x_79); +lean_ctor_set(x_92, 1, x_91); +x_93 = l_Lean_addTrace___at___Lean_Meta_Grind_mkEMatchTheoremCore_spec__1(x_78, x_92, x_9, x_10, x_11, x_12, x_84); +x_94 = lean_ctor_get(x_93, 1); lean_inc(x_94); -lean_dec(x_78); -lean_inc_ref(x_1); -x_95 = l_Lean_Meta_Grind_Origin_pp(x_1); -x_96 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen___closed__1; -x_97 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_97, 0, x_95); -lean_ctor_set(x_97, 1, x_96); -x_98 = lean_box(0); -lean_inc(x_22); -x_99 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__0(x_22, x_98); -x_100 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__1(x_99, x_98); -x_101 = l_Lean_MessageData_ofList(x_100); -x_102 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_102, 0, x_97); -lean_ctor_set(x_102, 1, x_101); -x_103 = l_Lean_addTrace___at___Lean_Meta_Grind_mkEMatchTheoremCore_spec__1(x_77, x_102, x_8, x_9, x_10, x_11, x_94); -x_104 = lean_ctor_get(x_103, 1); -lean_inc(x_104); -lean_dec_ref(x_103); -x_27 = x_8; +lean_dec_ref(x_93); x_28 = x_9; x_29 = x_10; x_30 = x_11; -x_31 = x_104; -goto block_75; +x_31 = x_12; +x_32 = x_94; +goto block_76; +} +else +{ +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; +x_95 = lean_ctor_get(x_79, 1); +lean_inc(x_95); +lean_dec(x_79); +lean_inc_ref(x_1); +x_96 = l_Lean_Meta_Grind_Origin_pp(x_1); +x_97 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen___closed__1; +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 = lean_box(0); +lean_inc(x_23); +x_100 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__0(x_23, x_99); +x_101 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__1(x_100, x_99); +x_102 = l_Lean_MessageData_ofList(x_101); +x_103 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_103, 0, x_98); +lean_ctor_set(x_103, 1, x_102); +x_104 = l_Lean_addTrace___at___Lean_Meta_Grind_mkEMatchTheoremCore_spec__1(x_78, x_103, x_9, x_10, x_11, x_12, x_95); +x_105 = lean_ctor_get(x_104, 1); +lean_inc(x_105); +lean_dec_ref(x_104); +x_28 = x_9; +x_29 = x_10; +x_30 = x_11; +x_31 = x_12; +x_32 = x_105; +goto block_76; } } } else { -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; uint8_t x_118; +lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; uint8_t x_119; +lean_dec(x_27); lean_dec(x_26); lean_dec(x_25); lean_dec(x_24); -lean_dec(x_23); -lean_dec(x_16); +lean_dec(x_17); lean_dec(x_6); lean_dec_ref(x_4); lean_dec(x_3); lean_dec_ref(x_2); -x_105 = l_Lean_Meta_Grind_mkEMatchTheoremCore___closed__8; -x_106 = l_Lean_Meta_Grind_Origin_pp(x_1); -x_107 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_107, 0, x_105); -lean_ctor_set(x_107, 1, x_106); -x_108 = l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getConstVal___at___Lean_Meta_Grind_EMatchTheorem_getProofWithFreshMVarLevels_spec__1_spec__1_spec__1___redArg___closed__3; -x_109 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_109, 0, x_107); -lean_ctor_set(x_109, 1, x_108); -x_110 = lean_box(0); -x_111 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__0(x_22, x_110); -x_112 = l_Lean_MessageData_ofList(x_111); -x_113 = l_Lean_indentD(x_112); -x_114 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_114, 0, x_109); -lean_ctor_set(x_114, 1, x_113); -x_115 = l_Lean_Meta_Grind_mkEMatchTheoremCore___closed__10; -x_116 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_116, 0, x_114); -lean_ctor_set(x_116, 1, x_115); -x_117 = l_Lean_throwError___at___Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getConstVal___at___Lean_Meta_Grind_EMatchTheorem_getProofWithFreshMVarLevels_spec__1_spec__1_spec__1_spec__1_spec__2_spec__2___redArg(x_116, x_8, x_9, x_10, x_11, x_21); -lean_dec(x_11); -lean_dec_ref(x_10); -lean_dec(x_9); -lean_dec_ref(x_8); -x_118 = !lean_is_exclusive(x_117); -if (x_118 == 0) +x_106 = l_Lean_Meta_Grind_mkEMatchTheoremCore___closed__8; +x_107 = l_Lean_Meta_Grind_Origin_pp(x_1); +x_108 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_108, 0, x_106); +lean_ctor_set(x_108, 1, x_107); +x_109 = l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getConstVal___at___Lean_Meta_Grind_EMatchTheorem_getProofWithFreshMVarLevels_spec__1_spec__1_spec__1___redArg___closed__3; +x_110 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_110, 0, x_108); +lean_ctor_set(x_110, 1, x_109); +x_111 = lean_box(0); +x_112 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__0(x_23, x_111); +x_113 = l_Lean_MessageData_ofList(x_112); +x_114 = l_Lean_indentD(x_113); +x_115 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_115, 0, x_110); +lean_ctor_set(x_115, 1, x_114); +x_116 = l_Lean_Meta_Grind_mkEMatchTheoremCore___closed__10; +x_117 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_117, 0, x_115); +lean_ctor_set(x_117, 1, x_116); +x_118 = l_Lean_throwError___at___Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getConstVal___at___Lean_Meta_Grind_EMatchTheorem_getProofWithFreshMVarLevels_spec__1_spec__1_spec__1_spec__1_spec__2_spec__2___redArg(x_117, x_9, x_10, x_11, x_12, x_22); +lean_dec(x_12); +lean_dec_ref(x_11); +lean_dec(x_10); +lean_dec_ref(x_9); +x_119 = !lean_is_exclusive(x_118); +if (x_119 == 0) { -return x_117; +return x_118; } else { -lean_object* x_119; lean_object* x_120; lean_object* x_121; -x_119 = lean_ctor_get(x_117, 0); -x_120 = lean_ctor_get(x_117, 1); +lean_object* x_120; lean_object* x_121; lean_object* x_122; +x_120 = lean_ctor_get(x_118, 0); +x_121 = lean_ctor_get(x_118, 1); +lean_inc(x_121); lean_inc(x_120); -lean_inc(x_119); -lean_dec(x_117); -x_121 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_121, 0, x_119); -lean_ctor_set(x_121, 1, x_120); -return x_121; +lean_dec(x_118); +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; } } -block_75: -{ -lean_object* x_32; -lean_inc(x_30); -lean_inc_ref(x_29); -lean_inc(x_28); -lean_inc_ref(x_27); -lean_inc(x_3); -lean_inc_ref(x_4); -x_32 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_checkCoverage(x_4, x_3, x_25, x_27, x_28, x_29, x_30, x_31); -if (lean_obj_tag(x_32) == 0) +block_76: { lean_object* x_33; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); +lean_inc(x_31); +lean_inc_ref(x_30); +lean_inc(x_29); +lean_inc_ref(x_28); +lean_inc(x_3); +lean_inc_ref(x_4); +x_33 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_checkCoverage(x_4, x_3, x_26, x_28, x_29, x_30, x_31, x_32); if (lean_obj_tag(x_33) == 0) { -lean_object* x_34; lean_object* x_35; uint8_t x_36; -lean_dec(x_26); -lean_dec(x_23); -lean_dec(x_16); -x_34 = lean_ctor_get(x_32, 1); +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); lean_inc(x_34); -lean_dec_ref(x_32); -lean_inc(x_22); -lean_inc_ref(x_1); -x_35 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen(x_7, x_1, x_22, x_27, x_28, x_29, x_30, x_34); -lean_dec(x_30); -lean_dec(x_28); -lean_dec_ref(x_27); -x_36 = !lean_is_exclusive(x_35); -if (x_36 == 0) +if (lean_obj_tag(x_34) == 0) { -lean_object* x_37; lean_object* x_38; -x_37 = lean_ctor_get(x_35, 0); -lean_dec(x_37); -x_38 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_38, 0, x_2); -lean_ctor_set(x_38, 1, x_4); -lean_ctor_set(x_38, 2, x_3); -lean_ctor_set(x_38, 3, x_22); -lean_ctor_set(x_38, 4, x_24); -lean_ctor_set(x_38, 5, x_1); -lean_ctor_set(x_38, 6, x_6); -lean_ctor_set(x_35, 0, x_38); -return x_35; -} -else -{ -lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_39 = lean_ctor_get(x_35, 1); -lean_inc(x_39); -lean_dec(x_35); -x_40 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_40, 0, x_2); -lean_ctor_set(x_40, 1, x_4); -lean_ctor_set(x_40, 2, x_3); -lean_ctor_set(x_40, 3, x_22); -lean_ctor_set(x_40, 4, x_24); -lean_ctor_set(x_40, 5, x_1); -lean_ctor_set(x_40, 6, x_6); -x_41 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_41, 0, x_40); -lean_ctor_set(x_41, 1, x_39); -return x_41; -} -} -else -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; +lean_object* x_35; lean_object* x_36; uint8_t x_37; +lean_dec(x_27); lean_dec(x_24); +lean_dec(x_17); +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +lean_dec_ref(x_33); +lean_inc(x_23); +lean_inc_ref(x_1); +x_36 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen(x_7, x_1, x_23, x_28, x_29, x_30, x_31, x_35); +lean_dec(x_31); +lean_dec(x_29); +lean_dec_ref(x_28); +x_37 = !lean_is_exclusive(x_36); +if (x_37 == 0) +{ +lean_object* x_38; lean_object* x_39; +x_38 = lean_ctor_get(x_36, 0); +lean_dec(x_38); +x_39 = lean_alloc_ctor(0, 7, 1); +lean_ctor_set(x_39, 0, x_2); +lean_ctor_set(x_39, 1, x_4); +lean_ctor_set(x_39, 2, x_3); +lean_ctor_set(x_39, 3, x_23); +lean_ctor_set(x_39, 4, x_25); +lean_ctor_set(x_39, 5, x_1); +lean_ctor_set(x_39, 6, x_6); +lean_ctor_set_uint8(x_39, sizeof(void*)*7, x_8); +lean_ctor_set(x_36, 0, x_39); +return x_36; +} +else +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_36, 1); +lean_inc(x_40); +lean_dec(x_36); +x_41 = lean_alloc_ctor(0, 7, 1); +lean_ctor_set(x_41, 0, x_2); +lean_ctor_set(x_41, 1, x_4); +lean_ctor_set(x_41, 2, x_3); +lean_ctor_set(x_41, 3, x_23); +lean_ctor_set(x_41, 4, x_25); +lean_ctor_set(x_41, 5, x_1); +lean_ctor_set(x_41, 6, x_6); +lean_ctor_set_uint8(x_41, sizeof(void*)*7, x_8); +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; +} +} +else +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +lean_dec(x_25); lean_dec(x_6); lean_dec_ref(x_2); -x_42 = lean_ctor_get(x_32, 1); -lean_inc(x_42); -lean_dec_ref(x_32); -x_43 = lean_ctor_get(x_33, 0); +x_43 = lean_ctor_get(x_33, 1); lean_inc(x_43); lean_dec_ref(x_33); -lean_inc(x_30); -lean_inc_ref(x_29); -lean_inc(x_28); -lean_inc_ref(x_27); -x_44 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_ppParamsAt(x_4, x_3, x_43, x_27, x_28, x_29, x_30, x_42); -if (lean_obj_tag(x_44) == 0) +x_44 = lean_ctor_get(x_34, 0); +lean_inc(x_44); +lean_dec_ref(x_34); +lean_inc(x_31); +lean_inc_ref(x_30); +lean_inc(x_29); +lean_inc_ref(x_28); +x_45 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_ppParamsAt(x_4, x_3, x_44, x_28, x_29, x_30, x_31, x_43); +if (lean_obj_tag(x_45) == 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; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; uint8_t x_63; -x_45 = lean_ctor_get(x_44, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_44, 1); +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; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; +x_46 = lean_ctor_get(x_45, 0); lean_inc(x_46); -lean_dec_ref(x_44); -x_47 = lean_box(0); -x_48 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__0(x_22, x_47); -x_49 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__1(x_48, x_47); -x_50 = l_Lean_MessageData_ofList(x_49); -x_51 = l_Lean_Meta_Grind_mkEMatchTheoremCore___closed__1; -x_52 = l_Lean_Meta_Grind_Origin_pp(x_1); -if (lean_is_scalar(x_26)) { - x_53 = lean_alloc_ctor(7, 2, 0); +x_47 = lean_ctor_get(x_45, 1); +lean_inc(x_47); +lean_dec_ref(x_45); +x_48 = lean_box(0); +x_49 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__0(x_23, x_48); +x_50 = l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__1(x_49, x_48); +x_51 = l_Lean_MessageData_ofList(x_50); +x_52 = l_Lean_Meta_Grind_mkEMatchTheoremCore___closed__1; +x_53 = l_Lean_Meta_Grind_Origin_pp(x_1); +if (lean_is_scalar(x_27)) { + x_54 = lean_alloc_ctor(7, 2, 0); } else { - x_53 = x_26; - lean_ctor_set_tag(x_53, 7); + x_54 = x_27; + lean_ctor_set_tag(x_54, 7); } -lean_ctor_set(x_53, 0, x_51); -lean_ctor_set(x_53, 1, x_52); -x_54 = l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getConstVal___at___Lean_Meta_Grind_EMatchTheorem_getProofWithFreshMVarLevels_spec__1_spec__1_spec__1___redArg___closed__3; -if (lean_is_scalar(x_23)) { - x_55 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +x_55 = l_Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getConstVal___at___Lean_Meta_Grind_EMatchTheorem_getProofWithFreshMVarLevels_spec__1_spec__1_spec__1___redArg___closed__3; +if (lean_is_scalar(x_24)) { + x_56 = lean_alloc_ctor(7, 2, 0); } else { - x_55 = x_23; - lean_ctor_set_tag(x_55, 7); + x_56 = x_24; + lean_ctor_set_tag(x_56, 7); } -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); -x_56 = l_Lean_indentD(x_50); -if (lean_is_scalar(x_16)) { - x_57 = 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_Lean_indentD(x_51); +if (lean_is_scalar(x_17)) { + x_58 = lean_alloc_ctor(7, 2, 0); } else { - x_57 = x_16; - lean_ctor_set_tag(x_57, 7); + x_58 = x_17; + lean_ctor_set_tag(x_58, 7); } -lean_ctor_set(x_57, 0, x_55); -lean_ctor_set(x_57, 1, x_56); -x_58 = l_Lean_Meta_Grind_mkEMatchTheoremCore___closed__3; -x_59 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_59, 0, x_57); -lean_ctor_set(x_59, 1, x_58); -x_60 = l_Lean_indentD(x_45); -x_61 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_61, 0, x_59); -lean_ctor_set(x_61, 1, x_60); -x_62 = l_Lean_throwError___at___Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getConstVal___at___Lean_Meta_Grind_EMatchTheorem_getProofWithFreshMVarLevels_spec__1_spec__1_spec__1_spec__1_spec__2_spec__2___redArg(x_61, x_27, x_28, x_29, x_30, x_46); -lean_dec(x_30); -lean_dec_ref(x_29); -lean_dec(x_28); -lean_dec_ref(x_27); -x_63 = !lean_is_exclusive(x_62); -if (x_63 == 0) +lean_ctor_set(x_58, 0, x_56); +lean_ctor_set(x_58, 1, x_57); +x_59 = l_Lean_Meta_Grind_mkEMatchTheoremCore___closed__3; +x_60 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_60, 0, x_58); +lean_ctor_set(x_60, 1, x_59); +x_61 = l_Lean_indentD(x_46); +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_throwError___at___Lean_throwErrorAt___at___Lean_throwUnknownIdentifierAt___at___Lean_throwUnknownConstantAt___at___Lean_throwUnknownConstant___at___Lean_getConstVal___at___Lean_Meta_Grind_EMatchTheorem_getProofWithFreshMVarLevels_spec__1_spec__1_spec__1_spec__1_spec__2_spec__2___redArg(x_62, x_28, x_29, x_30, x_31, x_47); +lean_dec(x_31); +lean_dec_ref(x_30); +lean_dec(x_29); +lean_dec_ref(x_28); +x_64 = !lean_is_exclusive(x_63); +if (x_64 == 0) { -return x_62; +return x_63; } else { -lean_object* x_64; lean_object* x_65; lean_object* x_66; -x_64 = lean_ctor_get(x_62, 0); -x_65 = lean_ctor_get(x_62, 1); +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_63, 0); +x_66 = lean_ctor_get(x_63, 1); +lean_inc(x_66); lean_inc(x_65); -lean_inc(x_64); -lean_dec(x_62); -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; +lean_dec(x_63); +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_67; -lean_dec(x_30); -lean_dec_ref(x_29); -lean_dec(x_28); -lean_dec_ref(x_27); -lean_dec(x_26); -lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_16); -lean_dec_ref(x_1); -x_67 = !lean_is_exclusive(x_44); -if (x_67 == 0) -{ -return x_44; -} -else -{ -lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_68 = lean_ctor_get(x_44, 0); -x_69 = lean_ctor_get(x_44, 1); -lean_inc(x_69); -lean_inc(x_68); -lean_dec(x_44); -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_30); -lean_dec_ref(x_29); -lean_dec(x_28); -lean_dec_ref(x_27); -lean_dec(x_26); +uint8_t x_68; +lean_dec(x_31); +lean_dec_ref(x_30); +lean_dec(x_29); +lean_dec_ref(x_28); +lean_dec(x_27); lean_dec(x_24); lean_dec(x_23); -lean_dec(x_22); -lean_dec(x_16); +lean_dec(x_17); +lean_dec_ref(x_1); +x_68 = !lean_is_exclusive(x_45); +if (x_68 == 0) +{ +return x_45; +} +else +{ +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_45, 0); +x_70 = lean_ctor_get(x_45, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_45); +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_31); +lean_dec_ref(x_30); +lean_dec(x_29); +lean_dec_ref(x_28); +lean_dec(x_27); +lean_dec(x_25); +lean_dec(x_24); +lean_dec(x_23); +lean_dec(x_17); lean_dec(x_6); lean_dec_ref(x_4); lean_dec(x_3); lean_dec_ref(x_2); lean_dec_ref(x_1); -x_71 = !lean_is_exclusive(x_32); -if (x_71 == 0) +x_72 = !lean_is_exclusive(x_33); +if (x_72 == 0) { -return x_32; +return x_33; } else { -lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_72 = lean_ctor_get(x_32, 0); -x_73 = lean_ctor_get(x_32, 1); +lean_object* x_73; lean_object* x_74; lean_object* x_75; +x_73 = lean_ctor_get(x_33, 0); +x_74 = lean_ctor_get(x_33, 1); +lean_inc(x_74); lean_inc(x_73); -lean_inc(x_72); -lean_dec(x_32); -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; +lean_dec(x_33); +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; } } } } else { -uint8_t x_122; -lean_dec(x_16); -lean_dec(x_11); -lean_dec_ref(x_10); -lean_dec(x_9); -lean_dec_ref(x_8); +uint8_t x_123; +lean_dec(x_17); +lean_dec(x_12); +lean_dec_ref(x_11); +lean_dec(x_10); +lean_dec_ref(x_9); lean_dec(x_6); lean_dec_ref(x_4); lean_dec(x_3); lean_dec_ref(x_2); lean_dec_ref(x_1); -x_122 = !lean_is_exclusive(x_18); -if (x_122 == 0) +x_123 = !lean_is_exclusive(x_19); +if (x_123 == 0) { -return x_18; +return x_19; } else { -lean_object* x_123; lean_object* x_124; lean_object* x_125; -x_123 = lean_ctor_get(x_18, 0); -x_124 = lean_ctor_get(x_18, 1); +lean_object* x_124; lean_object* x_125; lean_object* x_126; +x_124 = lean_ctor_get(x_19, 0); +x_125 = lean_ctor_get(x_19, 1); +lean_inc(x_125); lean_inc(x_124); -lean_inc(x_123); -lean_dec(x_18); -x_125 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_125, 0, x_123); -lean_ctor_set(x_125, 1, x_124); -return x_125; +lean_dec(x_19); +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; } } } @@ -33630,13 +33636,14 @@ lean_dec_ref(x_3); return x_8; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkEMatchTheoremCore___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_EXPORT lean_object* l_Lean_Meta_Grind_mkEMatchTheoremCore___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: { -uint8_t x_13; lean_object* x_14; -x_13 = lean_unbox(x_7); -x_14 = l_Lean_Meta_Grind_mkEMatchTheoremCore(x_1, x_2, x_3, x_4, x_5, x_6, x_13, x_8, x_9, x_10, x_11, x_12); -return x_14; +uint8_t x_14; uint8_t x_15; lean_object* x_16; +x_14 = lean_unbox(x_7); +x_15 = lean_unbox(x_8); +x_16 = l_Lean_Meta_Grind_mkEMatchTheoremCore(x_1, x_2, x_3, x_4, x_5, x_6, x_14, x_15, x_9, x_10, x_11, x_12, x_13); +return x_16; } } LEAN_EXPORT lean_object* l_List_mapTR_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_getProofFor_spec__0(lean_object* x_1, lean_object* x_2) { @@ -34051,63 +34058,72 @@ return x_72; } } } -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkEMatchTheorem(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_Lean_Meta_Grind_mkEMatchTheorem(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_8, lean_object* x_9, lean_object* x_10) { _start: { -lean_object* x_10; -lean_inc(x_8); -lean_inc_ref(x_7); -lean_inc(x_6); -lean_inc_ref(x_5); +lean_object* x_11; +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc_ref(x_6); lean_inc(x_1); -x_10 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_getProofFor(x_1, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_10) == 0) +x_11 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_getProofFor(x_1, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_11) == 0) { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; lean_object* x_16; -x_11 = lean_ctor_get(x_10, 0); -lean_inc(x_11); -x_12 = lean_ctor_get(x_10, 1); +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; +x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); -lean_dec_ref(x_10); -x_13 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_13, 0, x_1); -x_14 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_checkTypeFVars___closed__0; -x_15 = 0; -x_16 = l_Lean_Meta_Grind_mkEMatchTheoremCore(x_13, x_14, x_2, x_11, x_3, x_4, x_15, x_5, x_6, x_7, x_8, x_12); -return x_16; +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec_ref(x_11); +x_14 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_14, 0, x_1); +x_15 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_checkTypeFVars___closed__0; +x_16 = 0; +x_17 = l_Lean_Meta_Grind_mkEMatchTheoremCore(x_14, x_15, x_2, x_12, x_3, x_4, x_16, x_5, x_6, x_7, x_8, x_9, x_13); +return x_17; } else { -uint8_t x_17; -lean_dec(x_8); -lean_dec_ref(x_7); -lean_dec(x_6); -lean_dec_ref(x_5); +uint8_t x_18; +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec_ref(x_6); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_17 = !lean_is_exclusive(x_10); -if (x_17 == 0) +x_18 = !lean_is_exclusive(x_11); +if (x_18 == 0) { -return x_10; +return x_11; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_10, 0); -x_19 = lean_ctor_get(x_10, 1); +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_11, 0); +x_20 = lean_ctor_get(x_11, 1); +lean_inc(x_20); lean_inc(x_19); -lean_inc(x_18); -lean_dec(x_10); -x_20 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_20, 0, x_18); -lean_ctor_set(x_20, 1, x_19); -return x_20; +lean_dec(x_11); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_19); +lean_ctor_set(x_21, 1, x_20); +return x_21; } } } } +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_mkEMatchTheorem___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: +{ +uint8_t x_11; lean_object* x_12; +x_11 = lean_unbox(x_5); +x_12 = l_Lean_Meta_Grind_mkEMatchTheorem(x_1, x_2, x_3, x_4, x_11, x_6, x_7, x_8, x_9, x_10); +return x_12; +} +} static lean_object* _init_l_Lean_Meta_Grind_mkEMatchEqTheoremCore___lam__0___closed__0() { _start: { @@ -34499,15 +34515,15 @@ x_80 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_80, 0, x_79); x_81 = l_Lean_MessageData_ofFormat(x_80); x_82 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_82, 0, x_78); +lean_ctor_set(x_82, 0, x_77); lean_ctor_set(x_82, 1, x_81); -lean_inc(x_77); -x_83 = l_Lean_addTrace___at___Lean_Meta_Grind_mkEMatchTheoremCore_spec__1(x_77, x_82, x_6, x_7, x_8, x_9, x_76); +lean_inc(x_76); +x_83 = l_Lean_addTrace___at___Lean_Meta_Grind_mkEMatchTheoremCore_spec__1(x_76, x_82, x_6, x_7, x_8, x_9, x_78); x_84 = lean_ctor_get(x_83, 1); lean_inc(x_84); lean_dec_ref(x_83); x_19 = x_75; -x_20 = x_77; +x_20 = x_76; x_21 = x_6; x_22 = x_7; x_23 = x_8; @@ -34573,9 +34589,9 @@ if (x_4 == 0) lean_object* x_103; x_103 = l_Lean_Meta_Grind_mkEMatchEqTheoremCore___lam__0___closed__12; x_75 = x_86; -x_76 = x_93; -x_77 = x_87; -x_78 = x_102; +x_76 = x_87; +x_77 = x_102; +x_78 = x_93; x_79 = x_103; goto block_85; } @@ -34584,9 +34600,9 @@ else lean_object* x_104; x_104 = l_Lean_Meta_Grind_mkEMatchEqTheoremCore___lam__0___closed__13; x_75 = x_86; -x_76 = x_93; -x_77 = x_87; -x_78 = x_102; +x_76 = x_87; +x_77 = x_102; +x_78 = x_93; x_79 = x_104; goto block_85; } @@ -34620,9 +34636,9 @@ if (x_4 == 0) lean_object* x_115; x_115 = l_Lean_Meta_Grind_mkEMatchEqTheoremCore___lam__0___closed__12; x_75 = x_86; -x_76 = x_105; -x_77 = x_87; -x_78 = x_114; +x_76 = x_87; +x_77 = x_114; +x_78 = x_105; x_79 = x_115; goto block_85; } @@ -34631,9 +34647,9 @@ else lean_object* x_116; x_116 = l_Lean_Meta_Grind_mkEMatchEqTheoremCore___lam__0___closed__13; x_75 = x_86; -x_76 = x_105; -x_77 = x_87; -x_78 = x_114; +x_76 = x_87; +x_77 = x_114; +x_78 = x_105; x_79 = x_116; goto block_85; } @@ -34941,7 +34957,7 @@ lean_inc(x_24); lean_dec(x_21); x_25 = lean_alloc_ctor(1, 0, 1); lean_ctor_set_uint8(x_25, 0, x_6); -x_26 = l_Lean_Meta_Grind_mkEMatchTheoremCore(x_1, x_2, x_23, x_3, x_24, x_25, x_7, x_8, x_9, x_10, x_11, x_22); +x_26 = l_Lean_Meta_Grind_mkEMatchTheoremCore(x_1, x_2, x_23, x_3, x_24, x_25, x_7, x_19, x_8, x_9, x_10, x_11, x_22); return x_26; } else @@ -34957,7 +34973,7 @@ lean_inc(x_29); lean_dec(x_21); x_30 = lean_alloc_ctor(0, 0, 1); lean_ctor_set_uint8(x_30, 0, x_6); -x_31 = l_Lean_Meta_Grind_mkEMatchTheoremCore(x_1, x_2, x_28, x_3, x_29, x_30, x_7, x_8, x_9, x_10, x_11, x_27); +x_31 = l_Lean_Meta_Grind_mkEMatchTheoremCore(x_1, x_2, x_28, x_3, x_29, x_30, x_7, x_19, x_8, x_9, x_10, x_11, x_27); return x_31; } } @@ -35269,7 +35285,7 @@ x_19 = lean_ctor_get(x_16, 1); lean_inc(x_19); lean_dec(x_16); x_20 = lean_box(3); -x_21 = l_Lean_Meta_Grind_mkEMatchTheoremCore(x_1, x_2, x_18, x_3, x_19, x_20, x_4, x_5, x_6, x_7, x_8, x_17); +x_21 = l_Lean_Meta_Grind_mkEMatchTheoremCore(x_1, x_2, x_18, x_3, x_19, x_20, x_4, x_10, x_5, x_6, x_7, x_8, x_17); return x_21; } else @@ -35416,62 +35432,63 @@ x_15 = l_Lean_Meta_Grind_mkEMatchEqTheorem(x_1, x_11, x_12, x_13, x_14, x_6, x_7 return x_15; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_addEMatchTheorem(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_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Lean_Meta_Grind_addEMatchTheorem(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, uint8_t 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_11; -lean_inc(x_9); -lean_inc_ref(x_8); -lean_inc(x_7); -x_11 = l_Lean_Meta_Grind_mkEMatchTheorem(x_1, x_2, x_3, x_4, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_11) == 0) +lean_object* x_12; +lean_inc(x_10); +lean_inc_ref(x_9); +lean_inc(x_8); +x_12 = l_Lean_Meta_Grind_mkEMatchTheorem(x_1, x_2, x_3, x_4, x_5, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_12 = lean_ctor_get(x_11, 0); -lean_inc(x_12); -x_13 = lean_ctor_get(x_11, 1); +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_13 = lean_ctor_get(x_12, 0); lean_inc(x_13); -lean_dec_ref(x_11); -x_14 = l_Lean_Meta_Grind_isEMatchTheorem___redArg___closed__0; -x_15 = l_Lean_ScopedEnvExtension_add___at___Lean_Meta_Grind_addSymbolPriorityAttr_spec__0___redArg(x_14, x_12, x_5, x_7, x_8, x_9, x_13); -lean_dec(x_9); -lean_dec(x_7); -return x_15; +x_14 = lean_ctor_get(x_12, 1); +lean_inc(x_14); +lean_dec_ref(x_12); +x_15 = l_Lean_Meta_Grind_isEMatchTheorem___redArg___closed__0; +x_16 = l_Lean_ScopedEnvExtension_add___at___Lean_Meta_Grind_addSymbolPriorityAttr_spec__0___redArg(x_15, x_13, x_6, x_8, x_9, x_10, x_14); +lean_dec(x_10); +lean_dec(x_8); +return x_16; } else { -uint8_t x_16; -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -x_16 = !lean_is_exclusive(x_11); -if (x_16 == 0) +uint8_t x_17; +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +x_17 = !lean_is_exclusive(x_12); +if (x_17 == 0) { -return x_11; +return x_12; } 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_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_12, 0); +x_19 = lean_ctor_get(x_12, 1); +lean_inc(x_19); lean_inc(x_18); -lean_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; +lean_dec(x_12); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +return x_20; } } } } -LEAN_EXPORT lean_object* l_Lean_Meta_Grind_addEMatchTheorem___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_Lean_Meta_Grind_addEMatchTheorem___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_11; lean_object* x_12; -x_11 = lean_unbox(x_5); -x_12 = l_Lean_Meta_Grind_addEMatchTheorem(x_1, x_2, x_3, x_4, x_11, x_6, x_7, x_8, x_9, x_10); -return x_12; +uint8_t x_12; uint8_t x_13; lean_object* x_14; +x_12 = lean_unbox(x_5); +x_13 = lean_unbox(x_6); +x_14 = l_Lean_Meta_Grind_addEMatchTheorem(x_1, x_2, x_3, x_4, x_12, x_13, x_7, x_8, x_9, x_10, x_11); +return x_14; } } LEAN_EXPORT lean_object* l_Lean_Meta_Grind_addEMatchEqTheorem(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { @@ -39618,15 +39635,15 @@ block_49: { 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; size_t x_36; size_t x_37; lean_object* x_38; x_28 = l___private_Lean_Meta_Transform_0__Lean_Core_transform_visit___at___Lean_Core_transform___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_detectOffsets_spec__0_spec__0___lam__1___closed__0; -lean_inc(x_18); -x_29 = lean_mk_array(x_18, x_28); +lean_inc(x_17); +x_29 = lean_mk_array(x_17, x_28); x_30 = lean_unsigned_to_nat(1u); -x_31 = lean_nat_sub(x_18, x_30); -lean_dec(x_18); +x_31 = lean_nat_sub(x_17, x_30); +lean_dec(x_17); x_32 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_29, x_31); x_33 = lean_unsigned_to_nat(0u); -x_34 = lean_array_get_size(x_17); -x_35 = l_Array_toSubarray___redArg(x_17, x_33, x_34); +x_34 = lean_array_get_size(x_18); +x_35 = l_Array_toSubarray___redArg(x_18, x_33, x_34); x_36 = lean_array_size(x_32); x_37 = 0; x_38 = l___private_Init_Data_Array_Basic_0__Array_forIn_x27Unsafe_loop___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_OldCollector_collect_spec__0___redArg(x_16, x_32, x_36, x_37, x_35, x_19, x_20, x_21, x_22, x_23, x_24, x_25, x_26, x_27); @@ -39686,16 +39703,16 @@ if (lean_obj_tag(x_60) == 0) { lean_dec_ref(x_60); lean_dec(x_15); -x_17 = x_52; -x_18 = x_55; -x_19 = x_53; -x_20 = x_51; -x_21 = x_59; -x_22 = x_54; -x_23 = x_58; -x_24 = x_57; -x_25 = x_50; -x_26 = x_56; +x_17 = x_55; +x_18 = x_57; +x_19 = x_59; +x_20 = x_54; +x_21 = x_56; +x_22 = x_50; +x_23 = x_53; +x_24 = x_52; +x_25 = x_51; +x_26 = x_58; x_27 = x_61; goto block_49; } @@ -39703,15 +39720,15 @@ else { lean_object* x_62; lean_object* x_63; lean_dec_ref(x_59); -lean_dec_ref(x_58); -lean_dec(x_57); -lean_dec(x_56); +lean_dec(x_58); +lean_dec_ref(x_57); +lean_dec_ref(x_56); lean_dec(x_55); lean_dec(x_54); lean_dec_ref(x_53); -lean_dec_ref(x_52); -lean_dec(x_51); -lean_dec_ref(x_50); +lean_dec(x_52); +lean_dec_ref(x_51); +lean_dec(x_50); lean_dec_ref(x_1); x_62 = lean_ctor_get(x_60, 0); lean_inc(x_62); @@ -39737,15 +39754,15 @@ x_77 = lean_ctor_get(x_75, 1); lean_inc(x_77); lean_dec_ref(x_75); x_50 = x_65; -x_51 = x_66; -x_52 = x_67; -x_53 = x_68; -x_54 = x_69; -x_55 = x_71; -x_56 = x_70; -x_57 = x_74; -x_58 = x_73; -x_59 = x_72; +x_51 = x_67; +x_52 = x_66; +x_53 = x_69; +x_54 = x_68; +x_55 = x_70; +x_56 = x_71; +x_57 = x_73; +x_58 = x_72; +x_59 = x_74; x_60 = x_76; x_61 = x_77; goto block_64; @@ -39753,16 +39770,16 @@ goto block_64; else { uint8_t x_78; -lean_dec(x_74); +lean_dec_ref(x_74); lean_dec_ref(x_73); -lean_dec_ref(x_72); -lean_dec(x_71); +lean_dec(x_72); +lean_dec_ref(x_71); lean_dec(x_70); -lean_dec(x_69); -lean_dec_ref(x_68); +lean_dec_ref(x_69); +lean_dec(x_68); lean_dec_ref(x_67); lean_dec(x_66); -lean_dec_ref(x_65); +lean_dec(x_65); lean_dec(x_15); lean_dec_ref(x_1); x_78 = !lean_is_exclusive(x_75); @@ -39790,7 +39807,7 @@ block_123: if (x_96 == 0) { lean_object* x_97; lean_object* x_98; uint8_t x_99; -x_97 = l_Lean_isTracingEnabledFor___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_addNewPattern_spec__0___redArg(x_16, x_83, x_86); +x_97 = l_Lean_isTracingEnabledFor___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_addNewPattern_spec__0___redArg(x_16, x_89, x_92); x_98 = lean_ctor_get(x_97, 0); lean_inc(x_98); x_99 = lean_unbox(x_98); @@ -39798,30 +39815,30 @@ lean_dec(x_98); if (x_99 == 0) { lean_object* x_100; lean_object* x_101; lean_object* x_102; -lean_dec_ref(x_89); +lean_dec_ref(x_84); x_100 = lean_ctor_get(x_97, 1); lean_inc(x_100); lean_dec_ref(x_97); x_101 = lean_box(0); -lean_inc(x_93); -lean_inc_ref(x_83); -lean_inc(x_95); -lean_inc_ref(x_88); -lean_inc(x_92); -lean_inc_ref(x_87); -lean_inc(x_84); +lean_inc(x_87); +lean_inc_ref(x_89); +lean_inc(x_90); lean_inc_ref(x_91); -x_102 = lean_apply_10(x_90, x_101, x_91, x_84, x_87, x_92, x_88, x_95, x_83, x_93, x_100); +lean_inc(x_83); +lean_inc_ref(x_86); +lean_inc(x_85); +lean_inc_ref(x_88); +x_102 = lean_apply_10(x_95, x_101, x_88, x_85, x_86, x_83, x_91, x_90, x_89, x_87, x_100); x_65 = x_83; -x_66 = x_84; -x_67 = x_85; -x_68 = x_91; -x_69 = x_92; +x_66 = x_90; +x_67 = x_89; +x_68 = x_85; +x_69 = x_91; x_70 = x_93; -x_71 = x_94; +x_71 = x_86; x_72 = x_87; -x_73 = x_88; -x_74 = x_95; +x_73 = x_94; +x_74 = x_88; x_75 = x_102; goto block_82; } @@ -39836,36 +39853,36 @@ x_104 = lean_ctor_get(x_97, 1); x_105 = lean_ctor_get(x_97, 0); lean_dec(x_105); x_106 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_OldCollector_collect___closed__1; -x_107 = l_Lean_Exception_toMessageData(x_89); +x_107 = l_Lean_Exception_toMessageData(x_84); x_108 = l_Lean_indentD(x_107); lean_ctor_set_tag(x_97, 7); lean_ctor_set(x_97, 1, x_108); lean_ctor_set(x_97, 0, x_106); -x_109 = l_Lean_addTrace___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_addNewPattern_spec__1___redArg(x_16, x_97, x_88, x_95, x_83, x_93, x_104); +x_109 = l_Lean_addTrace___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_addNewPattern_spec__1___redArg(x_16, x_97, x_91, x_90, x_89, x_87, x_104); x_110 = lean_ctor_get(x_109, 0); lean_inc(x_110); x_111 = lean_ctor_get(x_109, 1); lean_inc(x_111); lean_dec_ref(x_109); -lean_inc(x_93); -lean_inc_ref(x_83); -lean_inc(x_95); -lean_inc_ref(x_88); -lean_inc(x_92); -lean_inc_ref(x_87); -lean_inc(x_84); +lean_inc(x_87); +lean_inc_ref(x_89); +lean_inc(x_90); lean_inc_ref(x_91); -x_112 = lean_apply_10(x_90, x_110, x_91, x_84, x_87, x_92, x_88, x_95, x_83, x_93, x_111); +lean_inc(x_83); +lean_inc_ref(x_86); +lean_inc(x_85); +lean_inc_ref(x_88); +x_112 = lean_apply_10(x_95, x_110, x_88, x_85, x_86, x_83, x_91, x_90, x_89, x_87, x_111); x_65 = x_83; -x_66 = x_84; -x_67 = x_85; -x_68 = x_91; -x_69 = x_92; +x_66 = x_90; +x_67 = x_89; +x_68 = x_85; +x_69 = x_91; x_70 = x_93; -x_71 = x_94; +x_71 = x_86; x_72 = x_87; -x_73 = x_88; -x_74 = x_95; +x_73 = x_94; +x_74 = x_88; x_75 = x_112; goto block_82; } @@ -39876,36 +39893,36 @@ x_113 = lean_ctor_get(x_97, 1); lean_inc(x_113); lean_dec(x_97); x_114 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_OldCollector_collect___closed__1; -x_115 = l_Lean_Exception_toMessageData(x_89); +x_115 = l_Lean_Exception_toMessageData(x_84); x_116 = l_Lean_indentD(x_115); x_117 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_117, 0, x_114); lean_ctor_set(x_117, 1, x_116); -x_118 = l_Lean_addTrace___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_addNewPattern_spec__1___redArg(x_16, x_117, x_88, x_95, x_83, x_93, x_113); +x_118 = l_Lean_addTrace___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_addNewPattern_spec__1___redArg(x_16, x_117, x_91, x_90, x_89, x_87, x_113); x_119 = lean_ctor_get(x_118, 0); lean_inc(x_119); x_120 = lean_ctor_get(x_118, 1); lean_inc(x_120); lean_dec_ref(x_118); -lean_inc(x_93); -lean_inc_ref(x_83); -lean_inc(x_95); -lean_inc_ref(x_88); -lean_inc(x_92); -lean_inc_ref(x_87); -lean_inc(x_84); +lean_inc(x_87); +lean_inc_ref(x_89); +lean_inc(x_90); lean_inc_ref(x_91); -x_121 = lean_apply_10(x_90, x_119, x_91, x_84, x_87, x_92, x_88, x_95, x_83, x_93, x_120); +lean_inc(x_83); +lean_inc_ref(x_86); +lean_inc(x_85); +lean_inc_ref(x_88); +x_121 = lean_apply_10(x_95, x_119, x_88, x_85, x_86, x_83, x_91, x_90, x_89, x_87, x_120); x_65 = x_83; -x_66 = x_84; -x_67 = x_85; -x_68 = x_91; -x_69 = x_92; +x_66 = x_90; +x_67 = x_89; +x_68 = x_85; +x_69 = x_91; x_70 = x_93; -x_71 = x_94; +x_71 = x_86; x_72 = x_87; -x_73 = x_88; -x_74 = x_95; +x_73 = x_94; +x_74 = x_88; x_75 = x_121; goto block_82; } @@ -39914,22 +39931,22 @@ goto block_82; else { lean_object* x_122; -lean_dec(x_95); -lean_dec(x_94); +lean_dec_ref(x_95); +lean_dec_ref(x_94); lean_dec(x_93); -lean_dec(x_92); lean_dec_ref(x_91); -lean_dec_ref(x_90); +lean_dec(x_90); +lean_dec_ref(x_89); lean_dec_ref(x_88); -lean_dec_ref(x_87); -lean_dec_ref(x_85); -lean_dec(x_84); -lean_dec_ref(x_83); +lean_dec(x_87); +lean_dec_ref(x_86); +lean_dec(x_85); +lean_dec(x_83); lean_dec(x_15); lean_dec_ref(x_1); x_122 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_122, 0, x_89); -lean_ctor_set(x_122, 1, x_86); +lean_ctor_set(x_122, 0, x_84); +lean_ctor_set(x_122, 1, x_92); return x_122; } } @@ -39942,36 +39959,36 @@ if (x_137 == 0) uint8_t x_138; x_138 = l_Lean_Exception_isRuntime(x_135); x_83 = x_124; -x_84 = x_125; -x_85 = x_126; -x_86 = x_136; -x_87 = x_134; +x_84 = x_135; +x_85 = x_128; +x_86 = x_130; +x_87 = x_132; x_88 = x_133; -x_89 = x_135; -x_90 = x_128; +x_89 = x_126; +x_90 = x_125; x_91 = x_127; -x_92 = x_129; -x_93 = x_131; -x_94 = x_130; -x_95 = x_132; +x_92 = x_136; +x_93 = x_129; +x_94 = x_131; +x_95 = x_134; x_96 = x_138; goto block_123; } else { x_83 = x_124; -x_84 = x_125; -x_85 = x_126; -x_86 = x_136; -x_87 = x_134; +x_84 = x_135; +x_85 = x_128; +x_86 = x_130; +x_87 = x_132; x_88 = x_133; -x_89 = x_135; -x_90 = x_128; +x_89 = x_126; +x_90 = x_125; x_91 = x_127; -x_92 = x_129; -x_93 = x_131; -x_94 = x_130; -x_95 = x_132; +x_92 = x_136; +x_93 = x_129; +x_94 = x_131; +x_95 = x_134; x_96 = x_137; goto block_123; } @@ -39981,22 +39998,22 @@ block_156: if (lean_obj_tag(x_151) == 0) { lean_object* x_152; lean_object* x_153; -lean_dec_ref(x_143); +lean_dec_ref(x_150); x_152 = lean_ctor_get(x_151, 0); lean_inc(x_152); x_153 = lean_ctor_get(x_151, 1); lean_inc(x_153); lean_dec_ref(x_151); x_50 = x_140; -x_51 = x_141; -x_52 = x_142; +x_51 = x_142; +x_52 = x_141; x_53 = x_144; -x_54 = x_145; -x_55 = x_147; +x_54 = x_143; +x_55 = x_145; x_56 = x_146; -x_57 = x_150; -x_58 = x_149; -x_59 = x_148; +x_57 = x_148; +x_58 = x_147; +x_59 = x_149; x_60 = x_152; x_61 = x_153; goto block_64; @@ -40015,11 +40032,11 @@ x_126 = x_142; x_127 = x_144; x_128 = x_143; x_129 = x_145; -x_130 = x_147; -x_131 = x_146; -x_132 = x_150; +x_130 = x_146; +x_131 = x_148; +x_132 = x_147; x_133 = x_149; -x_134 = x_148; +x_134 = x_150; x_135 = x_154; x_136 = x_155; goto block_139; @@ -40060,8 +40077,8 @@ lean_dec(x_15); x_174 = lean_ctor_get(x_171, 1); lean_inc(x_174); lean_dec_ref(x_171); -x_17 = x_169; -x_18 = x_167; +x_17 = x_167; +x_18 = x_169; x_19 = x_157; x_20 = x_158; x_21 = x_159; @@ -40109,17 +40126,17 @@ lean_inc_ref(x_159); lean_inc_ref(x_157); lean_inc(x_169); x_185 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_OldCollector_collect___lam__1(x_1, x_16, x_177, x_169, x_184, x_157, x_158, x_159, x_160, x_161, x_162, x_163, x_164, x_183); -x_140 = x_163; -x_141 = x_158; -x_142 = x_169; -x_143 = x_179; -x_144 = x_157; -x_145 = x_160; -x_146 = x_164; -x_147 = x_167; -x_148 = x_159; -x_149 = x_161; -x_150 = x_162; +x_140 = x_160; +x_141 = x_162; +x_142 = x_163; +x_143 = x_158; +x_144 = x_161; +x_145 = x_167; +x_146 = x_159; +x_147 = x_164; +x_148 = x_169; +x_149 = x_157; +x_150 = x_179; x_151 = x_185; goto block_156; } @@ -40154,17 +40171,17 @@ lean_inc_ref(x_159); lean_inc_ref(x_157); lean_inc(x_169); x_194 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_OldCollector_collect___lam__1(x_1, x_16, x_177, x_169, x_192, x_157, x_158, x_159, x_160, x_161, x_162, x_163, x_164, x_193); -x_140 = x_163; -x_141 = x_158; -x_142 = x_169; -x_143 = x_179; -x_144 = x_157; -x_145 = x_160; -x_146 = x_164; -x_147 = x_167; -x_148 = x_159; -x_149 = x_161; -x_150 = x_162; +x_140 = x_160; +x_141 = x_162; +x_142 = x_163; +x_143 = x_158; +x_144 = x_161; +x_145 = x_167; +x_146 = x_159; +x_147 = x_164; +x_148 = x_169; +x_149 = x_157; +x_150 = x_179; x_151 = x_194; goto block_156; } @@ -40195,17 +40212,17 @@ lean_inc_ref(x_159); lean_inc_ref(x_157); lean_inc(x_169); x_202 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_OldCollector_collect___lam__1(x_1, x_16, x_177, x_169, x_200, x_157, x_158, x_159, x_160, x_161, x_162, x_163, x_164, x_201); -x_140 = x_163; -x_141 = x_158; -x_142 = x_169; -x_143 = x_179; -x_144 = x_157; -x_145 = x_160; -x_146 = x_164; -x_147 = x_167; -x_148 = x_159; -x_149 = x_161; -x_150 = x_162; +x_140 = x_160; +x_141 = x_162; +x_142 = x_163; +x_143 = x_158; +x_144 = x_161; +x_145 = x_167; +x_146 = x_159; +x_147 = x_164; +x_148 = x_169; +x_149 = x_157; +x_150 = x_179; x_151 = x_202; goto block_156; } @@ -42976,7 +42993,7 @@ if (x_56 == 0) lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; lean_dec(x_51); x_57 = l_Lean_Meta_Grind_mkEMatchEqTheoremCore___lam__0___closed__5; -x_58 = l_Lean_isTracingEnabledFor___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_addNewPattern_spec__0___redArg(x_57, x_10, x_54); +x_58 = l_Lean_isTracingEnabledFor___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_addNewPattern_spec__0___redArg(x_57, x_10, x_55); x_59 = lean_ctor_get(x_58, 0); lean_inc(x_59); x_60 = lean_unbox(x_59); @@ -42984,7 +43001,7 @@ lean_dec(x_59); if (x_60 == 0) { lean_object* x_61; lean_object* x_62; lean_object* x_63; -lean_dec_ref(x_55); +lean_dec_ref(x_54); x_61 = lean_ctor_get(x_58, 1); lean_inc(x_61); lean_dec_ref(x_58); @@ -43004,7 +43021,7 @@ x_65 = lean_ctor_get(x_58, 1); x_66 = lean_ctor_get(x_58, 0); lean_dec(x_66); x_67 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_OldCollector_collect___closed__1; -x_68 = l_Lean_Exception_toMessageData(x_55); +x_68 = l_Lean_Exception_toMessageData(x_54); x_69 = l_Lean_indentD(x_68); lean_ctor_set_tag(x_58, 7); lean_ctor_set(x_58, 1, x_69); @@ -43025,7 +43042,7 @@ x_74 = lean_ctor_get(x_58, 1); lean_inc(x_74); lean_dec(x_58); x_75 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_OldCollector_collect___closed__1; -x_76 = l_Lean_Exception_toMessageData(x_55); +x_76 = l_Lean_Exception_toMessageData(x_54); x_77 = l_Lean_indentD(x_76); x_78 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_78, 0, x_75); @@ -43060,8 +43077,8 @@ if (lean_is_scalar(x_51)) { x_83 = x_51; lean_ctor_set_tag(x_83, 1); } -lean_ctor_set(x_83, 0, x_55); -lean_ctor_set(x_83, 1, x_54); +lean_ctor_set(x_83, 0, x_54); +lean_ctor_set(x_83, 1, x_55); return x_83; } } @@ -43073,15 +43090,15 @@ if (x_87 == 0) { uint8_t x_88; x_88 = l_Lean_Exception_isRuntime(x_85); -x_54 = x_86; -x_55 = x_85; +x_54 = x_85; +x_55 = x_86; x_56 = x_88; goto block_84; } else { -x_54 = x_86; -x_55 = x_85; +x_54 = x_85; +x_55 = x_86; x_56 = x_87; goto block_84; } @@ -50695,12 +50712,12 @@ goto block_20; block_10: { uint8_t x_7; -lean_dec(x_4); -x_7 = lean_nat_dec_le(x_6, x_3); +lean_dec(x_3); +x_7 = lean_nat_dec_le(x_6, x_4); if (x_7 == 0) { lean_object* x_8; -lean_dec(x_3); +lean_dec(x_4); lean_inc(x_6); x_8 = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectUsedPriorities_spec__0___redArg(x_5, x_6, x_6); lean_dec(x_6); @@ -50709,8 +50726,8 @@ return x_8; else { lean_object* x_9; -x_9 = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectUsedPriorities_spec__0___redArg(x_5, x_6, x_3); -lean_dec(x_3); +x_9 = l___private_Init_Data_Array_QSort_Basic_0__Array_qsort_sort___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectUsedPriorities_spec__0___redArg(x_5, x_6, x_4); +lean_dec(x_4); return x_9; } } @@ -50733,16 +50750,16 @@ x_18 = lean_nat_dec_le(x_14, x_17); if (x_18 == 0) { lean_inc(x_17); -x_3 = x_17; -x_4 = x_13; +x_3 = x_13; +x_4 = x_17; x_5 = x_11; x_6 = x_17; goto block_10; } else { -x_3 = x_17; -x_4 = x_13; +x_3 = x_13; +x_4 = x_17; x_5 = x_11; x_6 = x_14; goto block_10; @@ -53754,7 +53771,7 @@ block_103: if (x_75 == 0) { lean_object* x_76; lean_object* x_77; lean_object* x_78; uint8_t x_79; -x_76 = l_Lean_isTracingEnabledFor___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectSingletons_spec__0___redArg(x_18, x_64, x_71, x_63); +x_76 = l_Lean_isTracingEnabledFor___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectSingletons_spec__0___redArg(x_18, x_73, x_69, x_62); x_77 = lean_ctor_get(x_76, 0); lean_inc(x_77); x_78 = lean_ctor_get(x_77, 0); @@ -53762,24 +53779,24 @@ x_79 = lean_unbox(x_78); if (x_79 == 0) { lean_object* x_80; lean_object* x_81; -lean_dec_ref(x_74); +lean_dec_ref(x_65); x_80 = lean_ctor_get(x_76, 1); lean_inc(x_80); lean_dec_ref(x_76); x_81 = lean_ctor_get(x_77, 1); lean_inc(x_81); lean_dec(x_77); -x_19 = x_67; -x_20 = x_70; +x_19 = x_70; +x_20 = x_72; x_21 = x_81; -x_22 = x_72; -x_23 = x_66; -x_24 = x_73; -x_25 = x_69; -x_26 = x_68; -x_27 = x_65; -x_28 = x_71; -x_29 = x_62; +x_22 = x_74; +x_23 = x_63; +x_24 = x_66; +x_25 = x_64; +x_26 = x_71; +x_27 = x_68; +x_28 = x_69; +x_29 = x_67; x_30 = x_80; goto block_61; } @@ -53797,12 +53814,12 @@ x_84 = lean_ctor_get(x_77, 1); x_85 = lean_ctor_get(x_77, 0); lean_dec(x_85); x_86 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_OldCollector_collect___closed__1; -x_87 = l_Lean_Exception_toMessageData(x_74); +x_87 = l_Lean_Exception_toMessageData(x_65); x_88 = l_Lean_indentD(x_87); lean_ctor_set_tag(x_77, 7); lean_ctor_set(x_77, 1, x_88); lean_ctor_set(x_77, 0, x_86); -x_89 = l_Lean_addTrace___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectSingletons_spec__1___redArg(x_18, x_77, x_84, x_68, x_65, x_71, x_62, x_82); +x_89 = l_Lean_addTrace___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectSingletons_spec__1___redArg(x_18, x_77, x_84, x_71, x_68, x_69, x_67, x_82); x_90 = lean_ctor_get(x_89, 0); lean_inc(x_90); x_91 = lean_ctor_get(x_89, 1); @@ -53811,17 +53828,17 @@ lean_dec_ref(x_89); x_92 = lean_ctor_get(x_90, 1); lean_inc(x_92); lean_dec(x_90); -x_19 = x_67; -x_20 = x_70; +x_19 = x_70; +x_20 = x_72; x_21 = x_92; -x_22 = x_72; -x_23 = x_66; -x_24 = x_73; -x_25 = x_69; -x_26 = x_68; -x_27 = x_65; -x_28 = x_71; -x_29 = x_62; +x_22 = x_74; +x_23 = x_63; +x_24 = x_66; +x_25 = x_64; +x_26 = x_71; +x_27 = x_68; +x_28 = x_69; +x_29 = x_67; x_30 = x_91; goto block_61; } @@ -53832,12 +53849,12 @@ x_93 = lean_ctor_get(x_77, 1); lean_inc(x_93); lean_dec(x_77); x_94 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_OldCollector_collect___closed__1; -x_95 = l_Lean_Exception_toMessageData(x_74); +x_95 = l_Lean_Exception_toMessageData(x_65); x_96 = l_Lean_indentD(x_95); x_97 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_97, 0, x_94); lean_ctor_set(x_97, 1, x_96); -x_98 = l_Lean_addTrace___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectSingletons_spec__1___redArg(x_18, x_97, x_93, x_68, x_65, x_71, x_62, x_82); +x_98 = l_Lean_addTrace___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectSingletons_spec__1___redArg(x_18, x_97, x_93, x_71, x_68, x_69, x_67, x_82); x_99 = lean_ctor_get(x_98, 0); lean_inc(x_99); x_100 = lean_ctor_get(x_98, 1); @@ -53846,17 +53863,17 @@ lean_dec_ref(x_98); x_101 = lean_ctor_get(x_99, 1); lean_inc(x_101); lean_dec(x_99); -x_19 = x_67; -x_20 = x_70; +x_19 = x_70; +x_20 = x_72; x_21 = x_101; -x_22 = x_72; -x_23 = x_66; -x_24 = x_73; -x_25 = x_69; -x_26 = x_68; -x_27 = x_65; -x_28 = x_71; -x_29 = x_62; +x_22 = x_74; +x_23 = x_63; +x_24 = x_66; +x_25 = x_64; +x_26 = x_71; +x_27 = x_68; +x_28 = x_69; +x_29 = x_67; x_30 = x_100; goto block_61; } @@ -53865,20 +53882,20 @@ goto block_61; else { lean_object* x_102; +lean_dec_ref(x_74); lean_dec_ref(x_73); -lean_dec_ref(x_72); +lean_dec(x_72); lean_dec_ref(x_71); -lean_dec(x_70); -lean_dec(x_69); -lean_dec_ref(x_68); -lean_dec_ref(x_67); -lean_dec(x_65); -lean_dec_ref(x_64); -lean_dec(x_62); +lean_dec_ref(x_70); +lean_dec_ref(x_69); +lean_dec(x_68); +lean_dec(x_67); +lean_dec_ref(x_66); +lean_dec(x_64); lean_dec_ref(x_1); x_102 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_102, 0, x_74); -lean_ctor_set(x_102, 1, x_63); +lean_ctor_set(x_102, 0, x_65); +lean_ctor_set(x_102, 1, x_62); return x_102; } } @@ -53890,37 +53907,37 @@ if (x_117 == 0) { uint8_t x_118; x_118 = l_Lean_Exception_isRuntime(x_115); -x_62 = x_107; -x_63 = x_116; +x_62 = x_116; +x_63 = x_106; x_64 = x_109; -x_65 = x_113; -x_66 = x_114; +x_65 = x_115; +x_66 = x_110; x_67 = x_104; x_68 = x_105; -x_69 = x_106; -x_70 = x_108; -x_71 = x_110; -x_72 = x_112; -x_73 = x_111; -x_74 = x_115; +x_69 = x_108; +x_70 = x_107; +x_71 = x_112; +x_72 = x_111; +x_73 = x_113; +x_74 = x_114; x_75 = x_118; goto block_103; } else { -x_62 = x_107; -x_63 = x_116; +x_62 = x_116; +x_63 = x_106; x_64 = x_109; -x_65 = x_113; -x_66 = x_114; +x_65 = x_115; +x_66 = x_110; x_67 = x_104; x_68 = x_105; -x_69 = x_106; -x_70 = x_108; -x_71 = x_110; -x_72 = x_112; -x_73 = x_111; -x_74 = x_115; +x_69 = x_108; +x_70 = x_107; +x_71 = x_112; +x_72 = x_111; +x_73 = x_113; +x_74 = x_114; x_75 = x_117; goto block_103; } @@ -53930,7 +53947,7 @@ block_152: if (lean_obj_tag(x_131) == 0) { lean_object* x_132; lean_object* x_133; -lean_dec_ref(x_124); +lean_dec_ref(x_129); x_132 = lean_ctor_get(x_131, 0); lean_inc(x_132); x_133 = lean_ctor_get(x_132, 0); @@ -53943,17 +53960,17 @@ lean_dec_ref(x_131); x_135 = lean_ctor_get(x_132, 1); lean_inc(x_135); lean_dec(x_132); -x_19 = x_120; -x_20 = x_125; +x_19 = x_123; +x_20 = x_127; x_21 = x_135; -x_22 = x_128; -x_23 = x_130; -x_24 = x_127; -x_25 = x_122; -x_26 = x_121; -x_27 = x_129; -x_28 = x_126; -x_29 = x_123; +x_22 = x_130; +x_23 = x_122; +x_24 = x_126; +x_25 = x_125; +x_26 = x_128; +x_27 = x_121; +x_28 = x_124; +x_29 = x_120; x_30 = x_134; goto block_61; } @@ -53961,15 +53978,15 @@ else { uint8_t x_136; lean_inc_ref(x_133); -lean_dec(x_129); +lean_dec_ref(x_130); lean_dec_ref(x_128); -lean_dec_ref(x_127); +lean_dec(x_127); lean_dec_ref(x_126); lean_dec(x_125); -lean_dec(x_123); -lean_dec(x_122); -lean_dec_ref(x_121); -lean_dec_ref(x_120); +lean_dec_ref(x_124); +lean_dec_ref(x_123); +lean_dec(x_121); +lean_dec(x_120); lean_dec_ref(x_1); x_136 = !lean_is_exclusive(x_131); if (x_136 == 0) @@ -54050,8 +54067,8 @@ x_104 = x_120; x_105 = x_121; x_106 = x_122; x_107 = x_123; -x_108 = x_125; -x_109 = x_124; +x_108 = x_124; +x_109 = x_125; x_110 = x_126; x_111 = x_127; x_112 = x_128; @@ -54151,17 +54168,17 @@ lean_inc(x_157); lean_inc_ref(x_156); lean_inc_ref(x_154); x_187 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectSingletons___lam__0(x_1, x_18, x_173, x_186, x_185, x_154, x_155, x_156, x_157, x_158, x_159, x_160, x_161, x_184); -x_120 = x_166; -x_121 = x_158; -x_122 = x_157; -x_123 = x_161; -x_124 = x_153; -x_125 = x_164; -x_126 = x_160; -x_127 = x_156; -x_128 = x_154; -x_129 = x_159; -x_130 = x_155; +x_120 = x_161; +x_121 = x_159; +x_122 = x_155; +x_123 = x_166; +x_124 = x_160; +x_125 = x_157; +x_126 = x_156; +x_127 = x_164; +x_128 = x_158; +x_129 = x_153; +x_130 = x_154; x_131 = x_187; goto block_152; } @@ -54203,17 +54220,17 @@ lean_inc(x_157); lean_inc_ref(x_156); lean_inc_ref(x_154); x_199 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectSingletons___lam__0(x_1, x_18, x_173, x_197, x_198, x_154, x_155, x_156, x_157, x_158, x_159, x_160, x_161, x_196); -x_120 = x_166; -x_121 = x_158; -x_122 = x_157; -x_123 = x_161; -x_124 = x_153; -x_125 = x_164; -x_126 = x_160; -x_127 = x_156; -x_128 = x_154; -x_129 = x_159; -x_130 = x_155; +x_120 = x_161; +x_121 = x_159; +x_122 = x_155; +x_123 = x_166; +x_124 = x_160; +x_125 = x_157; +x_126 = x_156; +x_127 = x_164; +x_128 = x_158; +x_129 = x_153; +x_130 = x_154; x_131 = x_199; goto block_152; } @@ -54248,17 +54265,17 @@ lean_inc(x_157); lean_inc_ref(x_156); lean_inc_ref(x_154); x_209 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectSingletons___lam__0(x_1, x_18, x_173, x_207, x_208, x_154, x_155, x_156, x_157, x_158, x_159, x_160, x_161, x_206); -x_120 = x_166; -x_121 = x_158; -x_122 = x_157; -x_123 = x_161; -x_124 = x_153; -x_125 = x_164; -x_126 = x_160; -x_127 = x_156; -x_128 = x_154; -x_129 = x_159; -x_130 = x_155; +x_120 = x_161; +x_121 = x_159; +x_122 = x_155; +x_123 = x_166; +x_124 = x_160; +x_125 = x_157; +x_126 = x_156; +x_127 = x_164; +x_128 = x_158; +x_129 = x_153; +x_130 = x_154; x_131 = x_209; goto block_152; } @@ -54927,7 +54944,7 @@ lean_inc_ref(x_3); lean_inc(x_7); lean_inc_ref(x_6); lean_inc_ref(x_5); -x_25 = lean_alloc_ctor(0, 7, 0); +x_25 = lean_alloc_ctor(0, 7, 1); lean_ctor_set(x_25, 0, x_5); lean_ctor_set(x_25, 1, x_6); lean_ctor_set(x_25, 2, x_7); @@ -54935,6 +54952,7 @@ lean_ctor_set(x_25, 3, x_19); lean_ctor_set(x_25, 4, x_21); lean_ctor_set(x_25, 5, x_3); lean_ctor_set(x_25, 6, x_24); +lean_ctor_set_uint8(x_25, sizeof(void*)*7, x_4); x_26 = lean_array_push(x_11, x_25); x_27 = 1; x_28 = lean_usize_add(x_10, x_27); @@ -54968,7 +54986,7 @@ lean_inc_ref(x_3); lean_inc(x_7); lean_inc_ref(x_6); lean_inc_ref(x_5); -x_36 = lean_alloc_ctor(0, 7, 0); +x_36 = lean_alloc_ctor(0, 7, 1); lean_ctor_set(x_36, 0, x_5); lean_ctor_set(x_36, 1, x_6); lean_ctor_set(x_36, 2, x_7); @@ -54976,6 +54994,7 @@ lean_ctor_set(x_36, 3, x_32); lean_ctor_set(x_36, 4, x_31); lean_ctor_set(x_36, 5, x_3); lean_ctor_set(x_36, 6, x_35); +lean_ctor_set_uint8(x_36, sizeof(void*)*7, x_4); x_37 = lean_array_push(x_11, x_36); x_38 = 1; x_39 = lean_usize_add(x_10, x_38); @@ -56798,7 +56817,7 @@ if (x_42 == 0) lean_object* x_43; lean_object* x_44; lean_object* x_45; x_43 = lean_ctor_get(x_41, 0); lean_dec(x_43); -x_44 = lean_alloc_ctor(0, 7, 0); +x_44 = lean_alloc_ctor(0, 7, 1); lean_ctor_set(x_44, 0, x_2); lean_ctor_set(x_44, 1, x_3); lean_ctor_set(x_44, 2, x_35); @@ -56806,6 +56825,7 @@ lean_ctor_set(x_44, 3, x_28); lean_ctor_set(x_44, 4, x_29); lean_ctor_set(x_44, 5, x_1); lean_ctor_set(x_44, 6, x_4); +lean_ctor_set_uint8(x_44, sizeof(void*)*7, x_8); if (lean_is_scalar(x_25)) { x_45 = lean_alloc_ctor(1, 1, 0); } else { @@ -56821,7 +56841,7 @@ lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; x_46 = lean_ctor_get(x_41, 1); lean_inc(x_46); lean_dec(x_41); -x_47 = lean_alloc_ctor(0, 7, 0); +x_47 = lean_alloc_ctor(0, 7, 1); lean_ctor_set(x_47, 0, x_2); lean_ctor_set(x_47, 1, x_3); lean_ctor_set(x_47, 2, x_35); @@ -56829,6 +56849,7 @@ lean_ctor_set(x_47, 3, x_28); lean_ctor_set(x_47, 4, x_29); lean_ctor_set(x_47, 5, x_1); lean_ctor_set(x_47, 6, x_4); +lean_ctor_set_uint8(x_47, sizeof(void*)*7, x_8); if (lean_is_scalar(x_25)) { x_48 = lean_alloc_ctor(1, 1, 0); } else { @@ -56911,7 +56932,7 @@ if (lean_is_exclusive(x_68)) { lean_dec_ref(x_68); x_70 = lean_box(0); } -x_71 = lean_alloc_ctor(0, 7, 0); +x_71 = lean_alloc_ctor(0, 7, 1); lean_ctor_set(x_71, 0, x_2); lean_ctor_set(x_71, 1, x_3); lean_ctor_set(x_71, 2, x_62); @@ -56919,6 +56940,7 @@ lean_ctor_set(x_71, 3, x_28); lean_ctor_set(x_71, 4, x_29); lean_ctor_set(x_71, 5, x_1); lean_ctor_set(x_71, 6, x_4); +lean_ctor_set_uint8(x_71, sizeof(void*)*7, x_8); if (lean_is_scalar(x_25)) { x_72 = lean_alloc_ctor(1, 1, 0); } else { @@ -57024,7 +57046,7 @@ if (lean_is_exclusive(x_98)) { lean_dec_ref(x_98); x_100 = lean_box(0); } -x_101 = lean_alloc_ctor(0, 7, 0); +x_101 = lean_alloc_ctor(0, 7, 1); lean_ctor_set(x_101, 0, x_2); lean_ctor_set(x_101, 1, x_3); lean_ctor_set(x_101, 2, x_92); @@ -57032,6 +57054,7 @@ lean_ctor_set(x_101, 3, x_85); lean_ctor_set(x_101, 4, x_86); lean_ctor_set(x_101, 5, x_1); lean_ctor_set(x_101, 6, x_4); +lean_ctor_set_uint8(x_101, sizeof(void*)*7, x_8); if (lean_is_scalar(x_25)) { x_102 = lean_alloc_ctor(1, 1, 0); } else { @@ -57162,7 +57185,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_isGenPattern_x3f___closed__2; x_2 = lean_unsigned_to_nat(13u); -x_3 = lean_unsigned_to_nat(1389u); +x_3 = lean_unsigned_to_nat(1396u); x_4 = l_Lean_Meta_Grind_mkEMatchTheoremWithKind_x3f___lam__0___closed__5; x_5 = l_Lean_Meta_Grind_isGenPattern_x3f___closed__0; x_6 = l_mkPanicMessageWithDecl(x_5, x_4, x_3, x_2, x_1); @@ -61605,11 +61628,11 @@ block_23: if (x_20 == 0) { lean_object* x_21; -lean_dec_ref(x_19); +lean_dec_ref(x_18); x_21 = lean_box(0); x_12 = x_21; x_13 = x_6; -x_14 = x_18; +x_14 = x_19; goto block_17; } else @@ -61617,8 +61640,8 @@ else lean_object* x_22; lean_dec_ref(x_6); x_22 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_22, 0, x_19); -lean_ctor_set(x_22, 1, x_18); +lean_ctor_set(x_22, 0, x_18); +lean_ctor_set(x_22, 1, x_19); return x_22; } } @@ -61630,15 +61653,15 @@ if (x_26 == 0) { uint8_t x_27; x_27 = l_Lean_Exception_isRuntime(x_24); -x_18 = x_25; -x_19 = x_24; +x_18 = x_24; +x_19 = x_25; x_20 = x_27; goto block_23; } else { -x_18 = x_25; -x_19 = x_24; +x_18 = x_24; +x_19 = x_25; x_20 = x_26; goto block_23; } @@ -61804,152 +61827,258 @@ lean_ctor_set(x_2, 1, x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__7() { -_start: -{ -uint8_t x_1; lean_object* x_2; -x_1 = 0; -x_2 = lean_alloc_ctor(8, 0, 1); -lean_ctor_set_uint8(x_2, 0, x_1); -return x_2; -} -} LEAN_EXPORT lean_object* l_Lean_Meta_Grind_addEMatchAttrAndSuggest(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4, uint8_t x_5, uint8_t 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; lean_object* x_22; lean_object* x_53; lean_object* x_54; uint8_t x_55; -x_53 = lean_ctor_get(x_9, 2); -x_54 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectPatterns_x3f___closed__0; -x_55 = l_Lean_Option_get___at___Lean_logAt___at___Lean_log___at___Lean_logInfo___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__2_spec__2_spec__2_spec__2(x_53, x_54); -if (x_55 == 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_22; lean_object* x_53; +lean_inc_ref(x_9); +lean_inc(x_2); +x_53 = l_Lean_getConstInfo___at___Lean_Meta_Grind_addEMatchAttr_spec__0(x_2, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_53) == 0) { -lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59; -x_56 = lean_box(x_55); +lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; uint8_t x_59; lean_object* x_86; uint8_t x_87; +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_ref(x_53); +x_56 = lean_st_ref_get(x_10, x_55); +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_ref(x_56); +x_86 = lean_ctor_get(x_57, 0); +lean_inc_ref(x_86); +lean_dec(x_57); +lean_inc(x_2); +x_87 = l_Lean_wasOriginallyTheorem(x_86, x_2); +if (x_87 == 0) +{ +uint8_t x_88; +x_88 = l_Lean_ConstantInfo_isCtor(x_54); +if (x_88 == 0) +{ +uint8_t x_89; +x_89 = l_Lean_ConstantInfo_isAxiom(x_54); +lean_dec(x_54); +if (x_89 == 0) +{ +lean_object* x_90; +lean_dec_ref(x_4); +lean_dec(x_1); +x_90 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_ensureNoMinIndexable(x_5, x_7, x_8, x_9, x_10, x_58); +if (lean_obj_tag(x_90) == 0) +{ +lean_object* x_91; uint8_t x_92; lean_object* x_93; lean_object* x_94; +x_91 = lean_ctor_get(x_90, 1); +lean_inc(x_91); +lean_dec_ref(x_90); +x_92 = 1; +x_93 = lean_alloc_ctor(8, 0, 1); +lean_ctor_set_uint8(x_93, 0, x_89); +x_94 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_addGrindEqAttr(x_2, x_3, x_93, x_92, x_6, x_7, x_8, x_9, x_10, x_91); +lean_dec_ref(x_93); +return x_94; +} +else +{ +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec(x_2); +return x_90; +} +} +else +{ +x_59 = x_88; +goto block_85; +} +} +else +{ +lean_dec(x_54); +x_59 = x_87; +goto block_85; +} +} +else +{ +uint8_t x_95; +lean_dec(x_54); +x_95 = 0; +x_59 = x_95; +goto block_85; +} +block_85: +{ +lean_object* x_60; lean_object* x_61; uint8_t x_62; +x_60 = lean_ctor_get(x_9, 2); +x_61 = l___private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_collectPatterns_x3f___closed__0; +x_62 = l_Lean_Option_get___at___Lean_logAt___at___Lean_log___at___Lean_logInfo___at_____private_Lean_Meta_Tactic_Grind_EMatchTheorem_0__Lean_Meta_Grind_logPatternWhen_spec__2_spec__2_spec__2_spec__2(x_60, x_61); +if (x_62 == 0) +{ +lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; +x_63 = lean_box(x_62); lean_inc_ref(x_4); lean_inc(x_2); -x_57 = lean_alloc_closure((void*)(l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__0___boxed), 11, 3); -lean_closure_set(x_57, 0, x_2); -lean_closure_set(x_57, 1, x_4); -lean_closure_set(x_57, 2, x_56); -x_58 = 1; -x_59 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__6; +x_64 = lean_alloc_closure((void*)(l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__0___boxed), 11, 3); +lean_closure_set(x_64, 0, x_2); +lean_closure_set(x_64, 1, x_4); +lean_closure_set(x_64, 2, x_63); +x_65 = 1; +x_66 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__6; if (x_5 == 0) { -lean_object* x_60; lean_object* x_61; -x_60 = lean_alloc_ctor(0, 0, 1); -lean_ctor_set_uint8(x_60, 0, x_55); +lean_object* x_67; lean_object* x_68; +x_67 = lean_alloc_ctor(0, 0, 1); +lean_ctor_set_uint8(x_67, 0, x_62); lean_inc(x_10); lean_inc_ref(x_9); lean_inc(x_8); lean_inc_ref(x_7); lean_inc_ref(x_4); lean_inc(x_2); -x_61 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__0(x_2, x_4, x_55, x_60, x_55, x_59, x_7, x_8, x_9, x_10, x_11); -if (lean_obj_tag(x_61) == 0) +x_68 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__0(x_2, x_4, x_62, x_67, x_62, x_66, x_7, x_8, x_9, x_10, x_58); +if (lean_obj_tag(x_68) == 0) { -lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; -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_ref(x_61); -x_64 = lean_ctor_get(x_62, 1); -lean_inc(x_64); -lean_dec(x_62); -x_65 = lean_alloc_ctor(1, 0, 1); -lean_ctor_set_uint8(x_65, 0, x_55); -lean_inc(x_10); -lean_inc_ref(x_9); -lean_inc(x_8); -lean_inc_ref(x_7); -x_66 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__0(x_2, x_4, x_55, x_65, x_55, x_64, x_7, x_8, x_9, x_10, x_63); -if (lean_obj_tag(x_66) == 0) -{ -lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; -x_67 = lean_ctor_get(x_66, 0); -lean_inc(x_67); -x_68 = lean_ctor_get(x_66, 1); -lean_inc(x_68); -lean_dec_ref(x_66); -x_69 = lean_ctor_get(x_67, 1); +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; +x_69 = lean_ctor_get(x_68, 0); lean_inc(x_69); -lean_dec(x_67); -lean_inc(x_10); -lean_inc_ref(x_9); -lean_inc(x_8); -lean_inc_ref(x_7); -lean_inc_ref(x_57); -x_70 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__1(x_55, x_57, x_55, x_69, x_7, x_8, x_9, x_10, x_68); -if (lean_obj_tag(x_70) == 0) -{ -lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; -x_71 = lean_ctor_get(x_70, 0); +x_70 = lean_ctor_get(x_68, 1); +lean_inc(x_70); +lean_dec_ref(x_68); +x_71 = lean_ctor_get(x_69, 1); lean_inc(x_71); -x_72 = lean_ctor_get(x_70, 1); -lean_inc(x_72); -lean_dec_ref(x_70); -x_73 = lean_ctor_get(x_71, 1); -lean_inc(x_73); -lean_dec(x_71); +lean_dec(x_69); +x_72 = lean_alloc_ctor(1, 0, 1); +lean_ctor_set_uint8(x_72, 0, x_62); lean_inc(x_10); lean_inc_ref(x_9); lean_inc(x_8); lean_inc_ref(x_7); -x_74 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__1(x_55, x_57, x_58, x_73, x_7, x_8, x_9, x_10, x_72); -x_22 = x_74; +x_73 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__0(x_2, x_4, x_62, x_72, x_62, x_71, x_7, x_8, x_9, x_10, x_70); +if (lean_obj_tag(x_73) == 0) +{ +lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; +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_ref(x_73); +x_76 = lean_ctor_get(x_74, 1); +lean_inc(x_76); +lean_dec(x_74); +lean_inc(x_10); +lean_inc_ref(x_9); +lean_inc(x_8); +lean_inc_ref(x_7); +lean_inc_ref(x_64); +x_77 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__1(x_62, x_64, x_62, x_76, x_7, x_8, x_9, x_10, x_75); +if (lean_obj_tag(x_77) == 0) +{ +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_78 = lean_ctor_get(x_77, 0); +lean_inc(x_78); +x_79 = lean_ctor_get(x_77, 1); +lean_inc(x_79); +lean_dec_ref(x_77); +x_80 = lean_ctor_get(x_78, 1); +lean_inc(x_80); +lean_dec(x_78); +lean_inc(x_10); +lean_inc_ref(x_9); +lean_inc(x_8); +lean_inc_ref(x_7); +x_81 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__1(x_62, x_64, x_65, x_80, x_7, x_8, x_9, x_10, x_79); +x_22 = x_81; goto block_52; } else { -lean_dec_ref(x_57); -x_22 = x_70; +lean_dec_ref(x_64); +x_22 = x_77; goto block_52; } } else { -lean_dec_ref(x_57); -x_22 = x_66; +lean_dec_ref(x_64); +x_22 = x_73; goto block_52; } } else { -lean_dec_ref(x_57); +lean_dec_ref(x_64); lean_dec_ref(x_4); lean_dec(x_2); -x_22 = x_61; +x_22 = x_68; goto block_52; } } else { -lean_object* x_75; +lean_object* x_82; lean_dec_ref(x_4); lean_dec(x_2); lean_inc(x_10); lean_inc_ref(x_9); lean_inc(x_8); lean_inc_ref(x_7); -x_75 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__1(x_55, x_57, x_58, x_59, x_7, x_8, x_9, x_10, x_11); -x_22 = x_75; +x_82 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___lam__1(x_62, x_64, x_65, x_66, x_7, x_8, x_9, x_10, x_58); +x_22 = x_82; goto block_52; } } else { -lean_object* x_76; lean_object* x_77; +lean_object* x_83; lean_object* x_84; lean_dec(x_1); -x_76 = l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__7; -x_77 = l_Lean_Meta_Grind_addEMatchAttr(x_2, x_3, x_76, x_4, x_6, x_5, x_7, x_8, x_9, x_10, x_11); -return x_77; +x_83 = lean_alloc_ctor(8, 0, 1); +lean_ctor_set_uint8(x_83, 0, x_59); +x_84 = l_Lean_Meta_Grind_addEMatchAttr(x_2, x_3, x_83, x_4, x_6, x_5, x_7, x_8, x_9, x_10, x_58); +return x_84; +} +} +} +else +{ +uint8_t x_96; +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +lean_dec_ref(x_7); +lean_dec_ref(x_4); +lean_dec(x_2); +lean_dec(x_1); +x_96 = !lean_is_exclusive(x_53); +if (x_96 == 0) +{ +return x_53; +} +else +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; +x_97 = lean_ctor_get(x_53, 0); +x_98 = lean_ctor_get(x_53, 1); +lean_inc(x_98); +lean_inc(x_97); +lean_dec(x_53); +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; +} } block_21: { lean_object* x_18; lean_object* x_19; lean_object* x_20; x_18 = l_Lean_Meta_Grind_isEMatchTheorem___redArg___closed__0; -x_19 = lean_array_fget(x_12, x_13); -lean_dec_ref(x_12); +x_19 = lean_array_fget(x_13, x_12); +lean_dec_ref(x_13); x_20 = l_Lean_ScopedEnvExtension_add___at___Lean_Meta_Grind_addSymbolPriorityAttr_spec__0___redArg(x_18, x_19, x_3, x_14, x_15, x_16, x_17); lean_dec(x_16); lean_dec(x_14); @@ -62012,8 +62141,8 @@ lean_object* x_40; x_40 = lean_ctor_get(x_39, 1); lean_inc(x_40); lean_dec_ref(x_39); -x_12 = x_27; -x_13 = x_28; +x_12 = x_28; +x_13 = x_27; x_14 = x_8; x_15 = x_9; x_16 = x_10; @@ -62048,8 +62177,8 @@ lean_object* x_47; x_47 = lean_ctor_get(x_46, 1); lean_inc(x_47); lean_dec_ref(x_46); -x_12 = x_27; -x_13 = x_28; +x_12 = x_28; +x_13 = x_27; x_14 = x_8; x_15 = x_9; x_16 = x_10; @@ -63362,8 +63491,6 @@ l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__5 = _init_l_Lean_Meta_Grind_ lean_mark_persistent(l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__5); l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__6 = _init_l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__6(); lean_mark_persistent(l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__6); -l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__7 = _init_l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__7(); -lean_mark_persistent(l_Lean_Meta_Grind_addEMatchAttrAndSuggest___closed__7); return lean_io_result_mk_ok(lean_box(0)); } #ifdef __cplusplus diff --git a/stage0/stdlib/Lean/Meta/Tactic/Grind/ForallProp.c b/stage0/stdlib/Lean/Meta/Tactic/Grind/ForallProp.c index a64ca7fa9e..c9683d0b5e 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Grind/ForallProp.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Grind/ForallProp.c @@ -2941,69 +2941,70 @@ return x_2; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Grind_ForallProp_0__Lean_Meta_Grind_mkEMatchTheoremWithKind_x27_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { _start: { -lean_object* x_10; uint8_t x_11; lean_object* x_12; +lean_object* x_10; uint8_t x_11; uint8_t x_12; lean_object* x_13; x_10 = l___private_Lean_Meta_Tactic_Grind_ForallProp_0__Lean_Meta_Grind_mkEMatchTheoremWithKind_x27_x3f___closed__0; x_11 = 0; -x_12 = l_Lean_Meta_Grind_mkEMatchTheoremWithKind_x3f(x_1, x_10, x_2, x_3, x_4, x_11, x_11, x_11, x_5, x_6, x_7, x_8, x_9); -if (lean_obj_tag(x_12) == 0) +x_12 = 1; +x_13 = l_Lean_Meta_Grind_mkEMatchTheoremWithKind_x3f(x_1, x_10, x_2, x_3, x_4, x_11, x_11, x_12, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_13) == 0) { -return x_12; +return x_13; } else { -lean_object* x_13; lean_object* x_14; uint8_t x_15; uint8_t x_23; -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; uint8_t x_24; +x_14 = lean_ctor_get(x_13, 0); lean_inc(x_14); -x_23 = l_Lean_Exception_isInterrupt(x_13); -if (x_23 == 0) +x_15 = lean_ctor_get(x_13, 1); +lean_inc(x_15); +x_24 = l_Lean_Exception_isInterrupt(x_14); +if (x_24 == 0) { -uint8_t x_24; -x_24 = l_Lean_Exception_isRuntime(x_13); -lean_dec(x_13); -x_15 = x_24; -goto block_22; -} -else -{ -lean_dec(x_13); -x_15 = x_23; -goto block_22; -} -block_22: -{ -if (x_15 == 0) -{ -uint8_t x_16; -x_16 = !lean_is_exclusive(x_12); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_12, 1); -lean_dec(x_17); -x_18 = lean_ctor_get(x_12, 0); -lean_dec(x_18); -x_19 = lean_box(0); -lean_ctor_set_tag(x_12, 0); -lean_ctor_set(x_12, 0, x_19); -return x_12; -} -else -{ -lean_object* x_20; lean_object* x_21; -lean_dec(x_12); -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_14); -return x_21; -} +uint8_t x_25; +x_25 = l_Lean_Exception_isRuntime(x_14); +lean_dec(x_14); +x_16 = x_25; +goto block_23; } else { lean_dec(x_14); -return x_12; +x_16 = x_24; +goto block_23; +} +block_23: +{ +if (x_16 == 0) +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_13); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_13, 1); +lean_dec(x_18); +x_19 = lean_ctor_get(x_13, 0); +lean_dec(x_19); +x_20 = lean_box(0); +lean_ctor_set_tag(x_13, 0); +lean_ctor_set(x_13, 0, x_20); +return x_13; +} +else +{ +lean_object* x_21; lean_object* x_22; +lean_dec(x_13); +x_21 = lean_box(0); +x_22 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_15); +return x_22; +} +} +else +{ +lean_dec(x_15); +return x_13; } } } @@ -4316,15 +4317,15 @@ lean_dec_ref(x_86); x_91 = lean_ctor_get(x_89, 2); lean_inc(x_91); lean_dec_ref(x_89); -x_92 = lean_nat_dec_eq(x_91, x_73); +x_92 = lean_nat_dec_eq(x_91, x_72); lean_dec(x_91); if (x_92 == 0) { lean_dec_ref(x_75); lean_dec_ref(x_74); -lean_dec_ref(x_72); +lean_dec_ref(x_73); lean_dec(x_71); -x_11 = x_73; +x_11 = x_72; x_12 = x_77; x_13 = x_78; x_14 = x_79; @@ -4345,7 +4346,7 @@ lean_inc(x_84); lean_inc_ref(x_83); lean_inc(x_82); lean_inc_ref(x_81); -x_94 = l___private_Lean_Meta_Tactic_Grind_ForallProp_0__Lean_Meta_Grind_mkEMatchTheoremWithKind_x27_x3f(x_74, x_75, x_93, x_72, x_81, x_82, x_83, x_84, x_90); +x_94 = l___private_Lean_Meta_Tactic_Grind_ForallProp_0__Lean_Meta_Grind_mkEMatchTheoremWithKind_x27_x3f(x_74, x_75, x_93, x_73, x_81, x_82, x_83, x_84, x_90); if (lean_obj_tag(x_94) == 0) { lean_object* x_95; @@ -4358,7 +4359,7 @@ lean_dec(x_71); x_96 = lean_ctor_get(x_94, 1); lean_inc(x_96); lean_dec_ref(x_94); -x_11 = x_73; +x_11 = x_72; x_12 = x_77; x_13 = x_78; x_14 = x_79; @@ -4394,7 +4395,7 @@ lean_object* x_100; x_100 = lean_ctor_get(x_99, 1); lean_inc(x_100); lean_dec_ref(x_99); -x_11 = x_73; +x_11 = x_72; x_12 = x_77; x_13 = x_78; x_14 = x_79; @@ -4416,7 +4417,7 @@ lean_dec(x_80); lean_dec_ref(x_79); lean_dec(x_78); lean_dec(x_77); -lean_dec(x_73); +lean_dec(x_72); lean_dec_ref(x_1); return x_99; } @@ -4433,7 +4434,7 @@ lean_dec(x_80); lean_dec_ref(x_79); lean_dec(x_78); lean_dec(x_77); -lean_dec(x_73); +lean_dec(x_72); lean_dec(x_71); lean_dec_ref(x_1); x_101 = !lean_is_exclusive(x_94); @@ -4482,8 +4483,8 @@ x_125 = lean_ctor_get(x_123, 1); lean_inc(x_125); lean_dec_ref(x_123); x_71 = x_106; -x_72 = x_108; -x_73 = x_107; +x_72 = x_107; +x_73 = x_108; x_74 = x_109; x_75 = x_110; x_76 = x_111; @@ -4513,8 +4514,8 @@ if (x_128 == 0) { lean_dec(x_127); x_71 = x_106; -x_72 = x_108; -x_73 = x_107; +x_72 = x_107; +x_73 = x_108; x_74 = x_109; x_75 = x_110; x_76 = x_111; @@ -4549,8 +4550,8 @@ x_130 = lean_ctor_get(x_129, 1); lean_inc(x_130); lean_dec_ref(x_129); x_71 = x_106; -x_72 = x_108; -x_73 = x_107; +x_72 = x_107; +x_73 = x_108; x_74 = x_109; x_75 = x_110; x_76 = x_111; diff --git a/stage0/stdlib/Lean/Meta/Tactic/Grind/Internalize.c b/stage0/stdlib/Lean/Meta/Tactic/Grind/Internalize.c index 88eae2b5ad..e2d7ec7497 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Grind/Internalize.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Grind/Internalize.c @@ -12062,7 +12062,7 @@ return x_2; LEAN_EXPORT lean_object* l_Lean_Meta_Grind_activateTheorem(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; lean_object* x_18; lean_object* x_19; +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; uint8_t x_19; lean_object* x_20; x_12 = lean_ctor_get(x_1, 0); lean_inc_ref(x_12); x_13 = lean_ctor_get(x_1, 1); @@ -12076,17 +12076,18 @@ x_17 = lean_ctor_get(x_1, 5); lean_inc_ref(x_17); x_18 = lean_ctor_get(x_1, 6); lean_inc(x_18); +x_19 = lean_ctor_get_uint8(x_1, sizeof(void*)*7); lean_inc_ref(x_13); -x_19 = l_Lean_Meta_Grind_shareCommon___redArg(x_13, x_6, x_11); -if (lean_obj_tag(x_19) == 0) +x_20 = l_Lean_Meta_Grind_shareCommon___redArg(x_13, x_6, x_11); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_20 = lean_ctor_get(x_19, 0); -lean_inc(x_20); -x_21 = lean_ctor_get(x_19, 1); +lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_21 = lean_ctor_get(x_20, 0); lean_inc(x_21); -lean_dec_ref(x_19); -x_22 = lean_box(0); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec_ref(x_20); +x_23 = lean_box(0); lean_inc(x_10); lean_inc_ref(x_9); lean_inc(x_8); @@ -12095,40 +12096,41 @@ lean_inc(x_6); lean_inc_ref(x_5); lean_inc(x_4); lean_inc(x_3); -x_23 = l_List_mapM_loop___at___Lean_Meta_Grind_activateTheorem_spec__0(x_1, x_2, x_15, x_22, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_21); +x_24 = l_List_mapM_loop___at___Lean_Meta_Grind_activateTheorem_spec__0(x_1, x_2, x_15, x_23, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_22); lean_dec_ref(x_1); -if (lean_obj_tag(x_23) == 0) +if (lean_obj_tag(x_24) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; uint8_t x_28; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; +x_25 = lean_ctor_get(x_24, 0); lean_inc(x_25); -lean_dec_ref(x_23); -x_26 = l_Lean_Meta_Grind_activateTheorem___closed__1; -x_27 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_26, x_9, x_25); -x_28 = !lean_is_exclusive(x_27); -if (x_28 == 0) +x_26 = lean_ctor_get(x_24, 1); +lean_inc(x_26); +lean_dec_ref(x_24); +x_27 = l_Lean_Meta_Grind_activateTheorem___closed__1; +x_28 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_27, x_9, x_26); +x_29 = !lean_is_exclusive(x_28); +if (x_29 == 0) { -lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_101; -x_29 = lean_ctor_get(x_27, 0); -x_30 = lean_ctor_get(x_27, 1); +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_102; +x_30 = lean_ctor_get(x_28, 0); +x_31 = lean_ctor_get(x_28, 1); lean_inc_ref(x_17); -lean_inc(x_24); -x_31 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_31, 0, x_12); -lean_ctor_set(x_31, 1, x_20); -lean_ctor_set(x_31, 2, x_14); -lean_ctor_set(x_31, 3, x_24); -lean_ctor_set(x_31, 4, x_16); -lean_ctor_set(x_31, 5, x_17); -lean_ctor_set(x_31, 6, x_18); -x_101 = lean_unbox(x_29); -lean_dec(x_29); -if (x_101 == 0) +lean_inc(x_25); +x_32 = lean_alloc_ctor(0, 7, 1); +lean_ctor_set(x_32, 0, x_12); +lean_ctor_set(x_32, 1, x_21); +lean_ctor_set(x_32, 2, x_14); +lean_ctor_set(x_32, 3, x_25); +lean_ctor_set(x_32, 4, x_16); +lean_ctor_set(x_32, 5, x_17); +lean_ctor_set(x_32, 6, x_18); +lean_ctor_set_uint8(x_32, sizeof(void*)*7, x_19); +x_102 = lean_unbox(x_30); +lean_dec(x_30); +if (x_102 == 0) { -lean_free_object(x_27); -lean_dec(x_24); +lean_free_object(x_28); +lean_dec(x_25); lean_dec_ref(x_17); lean_dec(x_10); lean_dec_ref(x_9); @@ -12137,163 +12139,164 @@ lean_dec_ref(x_7); lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); -x_32 = x_3; -x_33 = x_30; -goto block_100; +x_33 = x_3; +x_34 = x_31; +goto block_101; } else { -lean_object* x_102; -x_102 = l_Lean_Meta_Grind_updateLastTag(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_30); +lean_object* x_103; +x_103 = l_Lean_Meta_Grind_updateLastTag(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_31); lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); -if (lean_obj_tag(x_102) == 0) +if (lean_obj_tag(x_103) == 0) { -uint8_t x_103; -x_103 = !lean_is_exclusive(x_102); -if (x_103 == 0) +uint8_t x_104; +x_104 = !lean_is_exclusive(x_103); +if (x_104 == 0) { -lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; -x_104 = lean_ctor_get(x_102, 1); -x_105 = lean_ctor_get(x_102, 0); -lean_dec(x_105); -x_106 = l_Lean_Meta_Grind_activateTheorem___closed__3; -x_107 = l_Lean_Meta_Grind_Origin_pp(x_17); -lean_ctor_set_tag(x_102, 7); -lean_ctor_set(x_102, 1, x_107); -lean_ctor_set(x_102, 0, x_106); -x_108 = l_Lean_Meta_Grind_activateTheorem___closed__5; -lean_ctor_set_tag(x_27, 7); -lean_ctor_set(x_27, 1, x_108); -lean_ctor_set(x_27, 0, x_102); -x_109 = l_List_mapTR_loop___at___Lean_Meta_Grind_activateTheorem_spec__1(x_24, x_22); -x_110 = l_List_mapTR_loop___at___Lean_Meta_Grind_activateTheorem_spec__2(x_109, x_22); -x_111 = l_Lean_MessageData_ofList(x_110); -x_112 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_112, 0, x_27); -lean_ctor_set(x_112, 1, x_111); -x_113 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_26, x_112, x_7, x_8, x_9, x_10, x_104); +lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; +x_105 = lean_ctor_get(x_103, 1); +x_106 = lean_ctor_get(x_103, 0); +lean_dec(x_106); +x_107 = l_Lean_Meta_Grind_activateTheorem___closed__3; +x_108 = l_Lean_Meta_Grind_Origin_pp(x_17); +lean_ctor_set_tag(x_103, 7); +lean_ctor_set(x_103, 1, x_108); +lean_ctor_set(x_103, 0, x_107); +x_109 = l_Lean_Meta_Grind_activateTheorem___closed__5; +lean_ctor_set_tag(x_28, 7); +lean_ctor_set(x_28, 1, x_109); +lean_ctor_set(x_28, 0, x_103); +x_110 = l_List_mapTR_loop___at___Lean_Meta_Grind_activateTheorem_spec__1(x_25, x_23); +x_111 = l_List_mapTR_loop___at___Lean_Meta_Grind_activateTheorem_spec__2(x_110, x_23); +x_112 = l_Lean_MessageData_ofList(x_111); +x_113 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_113, 0, x_28); +lean_ctor_set(x_113, 1, x_112); +x_114 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_27, x_113, x_7, x_8, x_9, x_10, x_105); lean_dec(x_10); lean_dec_ref(x_9); lean_dec(x_8); lean_dec_ref(x_7); -x_114 = lean_ctor_get(x_113, 1); -lean_inc(x_114); -lean_dec_ref(x_113); -x_32 = x_3; -x_33 = x_114; -goto block_100; -} -else -{ -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; -x_115 = lean_ctor_get(x_102, 1); +x_115 = lean_ctor_get(x_114, 1); lean_inc(x_115); -lean_dec(x_102); -x_116 = l_Lean_Meta_Grind_activateTheorem___closed__3; -x_117 = l_Lean_Meta_Grind_Origin_pp(x_17); -x_118 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_118, 0, x_116); -lean_ctor_set(x_118, 1, x_117); -x_119 = l_Lean_Meta_Grind_activateTheorem___closed__5; -lean_ctor_set_tag(x_27, 7); -lean_ctor_set(x_27, 1, x_119); -lean_ctor_set(x_27, 0, x_118); -x_120 = l_List_mapTR_loop___at___Lean_Meta_Grind_activateTheorem_spec__1(x_24, x_22); -x_121 = l_List_mapTR_loop___at___Lean_Meta_Grind_activateTheorem_spec__2(x_120, x_22); -x_122 = l_Lean_MessageData_ofList(x_121); -x_123 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_123, 0, x_27); -lean_ctor_set(x_123, 1, x_122); -x_124 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_26, x_123, x_7, x_8, x_9, x_10, x_115); +lean_dec_ref(x_114); +x_33 = x_3; +x_34 = x_115; +goto block_101; +} +else +{ +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; +x_116 = lean_ctor_get(x_103, 1); +lean_inc(x_116); +lean_dec(x_103); +x_117 = l_Lean_Meta_Grind_activateTheorem___closed__3; +x_118 = l_Lean_Meta_Grind_Origin_pp(x_17); +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_Meta_Grind_activateTheorem___closed__5; +lean_ctor_set_tag(x_28, 7); +lean_ctor_set(x_28, 1, x_120); +lean_ctor_set(x_28, 0, x_119); +x_121 = l_List_mapTR_loop___at___Lean_Meta_Grind_activateTheorem_spec__1(x_25, x_23); +x_122 = l_List_mapTR_loop___at___Lean_Meta_Grind_activateTheorem_spec__2(x_121, x_23); +x_123 = l_Lean_MessageData_ofList(x_122); +x_124 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_124, 0, x_28); +lean_ctor_set(x_124, 1, x_123); +x_125 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_27, x_124, x_7, x_8, x_9, x_10, x_116); lean_dec(x_10); lean_dec_ref(x_9); lean_dec(x_8); lean_dec_ref(x_7); -x_125 = lean_ctor_get(x_124, 1); -lean_inc(x_125); -lean_dec_ref(x_124); -x_32 = x_3; -x_33 = x_125; -goto block_100; +x_126 = lean_ctor_get(x_125, 1); +lean_inc(x_126); +lean_dec_ref(x_125); +x_33 = x_3; +x_34 = x_126; +goto block_101; } } else { -lean_dec_ref(x_31); -lean_free_object(x_27); -lean_dec(x_24); +lean_dec_ref(x_32); +lean_free_object(x_28); +lean_dec(x_25); lean_dec_ref(x_17); lean_dec(x_10); lean_dec_ref(x_9); lean_dec(x_8); lean_dec_ref(x_7); lean_dec(x_3); -return x_102; +return x_103; } } -block_100: +block_101: { -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38; -x_34 = lean_st_ref_take(x_32, x_33); -x_35 = lean_ctor_get(x_34, 0); -lean_inc(x_35); -x_36 = lean_ctor_get(x_35, 12); -lean_inc_ref(x_36); -x_37 = lean_ctor_get(x_34, 1); -lean_inc(x_37); -lean_dec_ref(x_34); -x_38 = !lean_is_exclusive(x_35); -if (x_38 == 0) +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; +x_35 = lean_st_ref_take(x_33, x_34); +x_36 = lean_ctor_get(x_35, 0); +lean_inc(x_36); +x_37 = lean_ctor_get(x_36, 12); +lean_inc_ref(x_37); +x_38 = lean_ctor_get(x_35, 1); +lean_inc(x_38); +lean_dec_ref(x_35); +x_39 = !lean_is_exclusive(x_36); +if (x_39 == 0) { -lean_object* x_39; uint8_t x_40; -x_39 = lean_ctor_get(x_35, 12); -lean_dec(x_39); -x_40 = !lean_is_exclusive(x_36); -if (x_40 == 0) +lean_object* x_40; uint8_t x_41; +x_40 = lean_ctor_get(x_36, 12); +lean_dec(x_40); +x_41 = !lean_is_exclusive(x_37); +if (x_41 == 0) { -lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; -x_41 = lean_ctor_get(x_36, 3); -x_42 = l_Lean_PersistentArray_push___redArg(x_41, x_31); -lean_ctor_set(x_36, 3, x_42); -x_43 = lean_st_ref_set(x_32, x_35, x_37); -lean_dec(x_32); -x_44 = !lean_is_exclusive(x_43); -if (x_44 == 0) +lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +x_42 = lean_ctor_get(x_37, 3); +x_43 = l_Lean_PersistentArray_push___redArg(x_42, x_32); +lean_ctor_set(x_37, 3, x_43); +x_44 = lean_st_ref_set(x_33, x_36, x_38); +lean_dec(x_33); +x_45 = !lean_is_exclusive(x_44); +if (x_45 == 0) { -lean_object* x_45; lean_object* x_46; -x_45 = lean_ctor_get(x_43, 0); -lean_dec(x_45); -x_46 = lean_box(0); -lean_ctor_set(x_43, 0, x_46); -return x_43; +lean_object* x_46; lean_object* x_47; +x_46 = lean_ctor_get(x_44, 0); +lean_dec(x_46); +x_47 = lean_box(0); +lean_ctor_set(x_44, 0, x_47); +return x_44; } else { -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_43, 1); -lean_inc(x_47); -lean_dec(x_43); -x_48 = lean_box(0); -x_49 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_49, 0, x_48); -lean_ctor_set(x_49, 1, x_47); -return x_49; +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_44, 1); +lean_inc(x_48); +lean_dec(x_44); +x_49 = lean_box(0); +x_50 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_50, 0, x_49); +lean_ctor_set(x_50, 1, x_48); +return x_50; } } else { -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; lean_object* x_63; lean_object* x_64; lean_object* x_65; -x_50 = lean_ctor_get(x_36, 0); -x_51 = lean_ctor_get(x_36, 1); -x_52 = lean_ctor_get(x_36, 2); -x_53 = lean_ctor_get(x_36, 3); -x_54 = lean_ctor_get(x_36, 4); -x_55 = lean_ctor_get(x_36, 5); -x_56 = lean_ctor_get(x_36, 6); -x_57 = lean_ctor_get(x_36, 7); -x_58 = lean_ctor_get(x_36, 8); +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; lean_object* x_66; +x_51 = lean_ctor_get(x_37, 0); +x_52 = lean_ctor_get(x_37, 1); +x_53 = lean_ctor_get(x_37, 2); +x_54 = lean_ctor_get(x_37, 3); +x_55 = lean_ctor_get(x_37, 4); +x_56 = lean_ctor_get(x_37, 5); +x_57 = lean_ctor_get(x_37, 6); +x_58 = lean_ctor_get(x_37, 7); +x_59 = lean_ctor_get(x_37, 8); +lean_inc(x_59); lean_inc(x_58); lean_inc(x_57); lean_inc(x_56); @@ -12302,69 +12305,69 @@ lean_inc(x_54); lean_inc(x_53); lean_inc(x_52); lean_inc(x_51); -lean_inc(x_50); -lean_dec(x_36); -x_59 = l_Lean_PersistentArray_push___redArg(x_53, x_31); -x_60 = lean_alloc_ctor(0, 9, 0); -lean_ctor_set(x_60, 0, x_50); -lean_ctor_set(x_60, 1, x_51); -lean_ctor_set(x_60, 2, x_52); -lean_ctor_set(x_60, 3, x_59); -lean_ctor_set(x_60, 4, x_54); -lean_ctor_set(x_60, 5, x_55); -lean_ctor_set(x_60, 6, x_56); -lean_ctor_set(x_60, 7, x_57); -lean_ctor_set(x_60, 8, x_58); -lean_ctor_set(x_35, 12, x_60); -x_61 = lean_st_ref_set(x_32, x_35, x_37); -lean_dec(x_32); -x_62 = lean_ctor_get(x_61, 1); -lean_inc(x_62); -if (lean_is_exclusive(x_61)) { - lean_ctor_release(x_61, 0); - lean_ctor_release(x_61, 1); - x_63 = x_61; +lean_dec(x_37); +x_60 = l_Lean_PersistentArray_push___redArg(x_54, x_32); +x_61 = lean_alloc_ctor(0, 9, 0); +lean_ctor_set(x_61, 0, x_51); +lean_ctor_set(x_61, 1, x_52); +lean_ctor_set(x_61, 2, x_53); +lean_ctor_set(x_61, 3, x_60); +lean_ctor_set(x_61, 4, x_55); +lean_ctor_set(x_61, 5, x_56); +lean_ctor_set(x_61, 6, x_57); +lean_ctor_set(x_61, 7, x_58); +lean_ctor_set(x_61, 8, x_59); +lean_ctor_set(x_36, 12, x_61); +x_62 = lean_st_ref_set(x_33, x_36, x_38); +lean_dec(x_33); +x_63 = lean_ctor_get(x_62, 1); +lean_inc(x_63); +if (lean_is_exclusive(x_62)) { + lean_ctor_release(x_62, 0); + lean_ctor_release(x_62, 1); + x_64 = x_62; } else { - lean_dec_ref(x_61); - x_63 = lean_box(0); + lean_dec_ref(x_62); + x_64 = lean_box(0); } -x_64 = lean_box(0); -if (lean_is_scalar(x_63)) { - x_65 = lean_alloc_ctor(0, 2, 0); +x_65 = lean_box(0); +if (lean_is_scalar(x_64)) { + x_66 = lean_alloc_ctor(0, 2, 0); } else { - x_65 = x_63; + x_66 = x_64; } -lean_ctor_set(x_65, 0, x_64); -lean_ctor_set(x_65, 1, x_62); -return x_65; +lean_ctor_set(x_66, 0, x_65); +lean_ctor_set(x_66, 1, x_63); +return x_66; } } else { -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; uint8_t 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; 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_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; -x_66 = lean_ctor_get(x_35, 0); -x_67 = lean_ctor_get(x_35, 1); -x_68 = lean_ctor_get(x_35, 2); -x_69 = lean_ctor_get(x_35, 3); -x_70 = lean_ctor_get(x_35, 4); -x_71 = lean_ctor_get(x_35, 5); -x_72 = lean_ctor_get(x_35, 6); -x_73 = lean_ctor_get(x_35, 7); -x_74 = lean_ctor_get_uint8(x_35, sizeof(void*)*16); -x_75 = lean_ctor_get(x_35, 8); -x_76 = lean_ctor_get(x_35, 9); -x_77 = lean_ctor_get(x_35, 10); -x_78 = lean_ctor_get(x_35, 11); -x_79 = lean_ctor_get(x_35, 13); -x_80 = lean_ctor_get(x_35, 14); -x_81 = lean_ctor_get(x_35, 15); +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; uint8_t 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; 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_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; +x_67 = lean_ctor_get(x_36, 0); +x_68 = lean_ctor_get(x_36, 1); +x_69 = lean_ctor_get(x_36, 2); +x_70 = lean_ctor_get(x_36, 3); +x_71 = lean_ctor_get(x_36, 4); +x_72 = lean_ctor_get(x_36, 5); +x_73 = lean_ctor_get(x_36, 6); +x_74 = lean_ctor_get(x_36, 7); +x_75 = lean_ctor_get_uint8(x_36, sizeof(void*)*16); +x_76 = lean_ctor_get(x_36, 8); +x_77 = lean_ctor_get(x_36, 9); +x_78 = lean_ctor_get(x_36, 10); +x_79 = lean_ctor_get(x_36, 11); +x_80 = lean_ctor_get(x_36, 13); +x_81 = lean_ctor_get(x_36, 14); +x_82 = lean_ctor_get(x_36, 15); +lean_inc(x_82); lean_inc(x_81); lean_inc(x_80); lean_inc(x_79); lean_inc(x_78); lean_inc(x_77); lean_inc(x_76); -lean_inc(x_75); +lean_inc(x_74); lean_inc(x_73); lean_inc(x_72); lean_inc(x_71); @@ -12372,121 +12375,121 @@ lean_inc(x_70); lean_inc(x_69); lean_inc(x_68); lean_inc(x_67); -lean_inc(x_66); -lean_dec(x_35); -x_82 = lean_ctor_get(x_36, 0); -lean_inc_ref(x_82); -x_83 = lean_ctor_get(x_36, 1); -lean_inc(x_83); -x_84 = lean_ctor_get(x_36, 2); -lean_inc_ref(x_84); -x_85 = lean_ctor_get(x_36, 3); +lean_dec(x_36); +x_83 = lean_ctor_get(x_37, 0); +lean_inc_ref(x_83); +x_84 = lean_ctor_get(x_37, 1); +lean_inc(x_84); +x_85 = lean_ctor_get(x_37, 2); lean_inc_ref(x_85); -x_86 = lean_ctor_get(x_36, 4); -lean_inc(x_86); -x_87 = lean_ctor_get(x_36, 5); +x_86 = lean_ctor_get(x_37, 3); +lean_inc_ref(x_86); +x_87 = lean_ctor_get(x_37, 4); lean_inc(x_87); -x_88 = lean_ctor_get(x_36, 6); -lean_inc_ref(x_88); -x_89 = lean_ctor_get(x_36, 7); -lean_inc(x_89); -x_90 = lean_ctor_get(x_36, 8); -lean_inc_ref(x_90); -if (lean_is_exclusive(x_36)) { - lean_ctor_release(x_36, 0); - lean_ctor_release(x_36, 1); - lean_ctor_release(x_36, 2); - lean_ctor_release(x_36, 3); - lean_ctor_release(x_36, 4); - lean_ctor_release(x_36, 5); - lean_ctor_release(x_36, 6); - lean_ctor_release(x_36, 7); - lean_ctor_release(x_36, 8); - x_91 = x_36; +x_88 = lean_ctor_get(x_37, 5); +lean_inc(x_88); +x_89 = lean_ctor_get(x_37, 6); +lean_inc_ref(x_89); +x_90 = lean_ctor_get(x_37, 7); +lean_inc(x_90); +x_91 = lean_ctor_get(x_37, 8); +lean_inc_ref(x_91); +if (lean_is_exclusive(x_37)) { + lean_ctor_release(x_37, 0); + lean_ctor_release(x_37, 1); + lean_ctor_release(x_37, 2); + lean_ctor_release(x_37, 3); + lean_ctor_release(x_37, 4); + lean_ctor_release(x_37, 5); + lean_ctor_release(x_37, 6); + lean_ctor_release(x_37, 7); + lean_ctor_release(x_37, 8); + x_92 = x_37; } else { - lean_dec_ref(x_36); - x_91 = lean_box(0); + lean_dec_ref(x_37); + x_92 = lean_box(0); } -x_92 = l_Lean_PersistentArray_push___redArg(x_85, x_31); -if (lean_is_scalar(x_91)) { - x_93 = lean_alloc_ctor(0, 9, 0); +x_93 = l_Lean_PersistentArray_push___redArg(x_86, x_32); +if (lean_is_scalar(x_92)) { + x_94 = lean_alloc_ctor(0, 9, 0); } else { - x_93 = x_91; + x_94 = x_92; } -lean_ctor_set(x_93, 0, x_82); -lean_ctor_set(x_93, 1, x_83); -lean_ctor_set(x_93, 2, x_84); -lean_ctor_set(x_93, 3, x_92); -lean_ctor_set(x_93, 4, x_86); -lean_ctor_set(x_93, 5, x_87); -lean_ctor_set(x_93, 6, x_88); -lean_ctor_set(x_93, 7, x_89); -lean_ctor_set(x_93, 8, x_90); -x_94 = lean_alloc_ctor(0, 16, 1); -lean_ctor_set(x_94, 0, x_66); -lean_ctor_set(x_94, 1, x_67); -lean_ctor_set(x_94, 2, x_68); -lean_ctor_set(x_94, 3, x_69); -lean_ctor_set(x_94, 4, x_70); -lean_ctor_set(x_94, 5, x_71); -lean_ctor_set(x_94, 6, x_72); -lean_ctor_set(x_94, 7, x_73); -lean_ctor_set(x_94, 8, x_75); -lean_ctor_set(x_94, 9, x_76); -lean_ctor_set(x_94, 10, x_77); -lean_ctor_set(x_94, 11, x_78); -lean_ctor_set(x_94, 12, x_93); -lean_ctor_set(x_94, 13, x_79); -lean_ctor_set(x_94, 14, x_80); -lean_ctor_set(x_94, 15, x_81); -lean_ctor_set_uint8(x_94, sizeof(void*)*16, x_74); -x_95 = lean_st_ref_set(x_32, x_94, x_37); -lean_dec(x_32); -x_96 = lean_ctor_get(x_95, 1); -lean_inc(x_96); -if (lean_is_exclusive(x_95)) { - lean_ctor_release(x_95, 0); - lean_ctor_release(x_95, 1); - x_97 = x_95; +lean_ctor_set(x_94, 0, x_83); +lean_ctor_set(x_94, 1, x_84); +lean_ctor_set(x_94, 2, x_85); +lean_ctor_set(x_94, 3, x_93); +lean_ctor_set(x_94, 4, x_87); +lean_ctor_set(x_94, 5, x_88); +lean_ctor_set(x_94, 6, x_89); +lean_ctor_set(x_94, 7, x_90); +lean_ctor_set(x_94, 8, x_91); +x_95 = lean_alloc_ctor(0, 16, 1); +lean_ctor_set(x_95, 0, x_67); +lean_ctor_set(x_95, 1, x_68); +lean_ctor_set(x_95, 2, x_69); +lean_ctor_set(x_95, 3, x_70); +lean_ctor_set(x_95, 4, x_71); +lean_ctor_set(x_95, 5, x_72); +lean_ctor_set(x_95, 6, x_73); +lean_ctor_set(x_95, 7, x_74); +lean_ctor_set(x_95, 8, x_76); +lean_ctor_set(x_95, 9, x_77); +lean_ctor_set(x_95, 10, x_78); +lean_ctor_set(x_95, 11, x_79); +lean_ctor_set(x_95, 12, x_94); +lean_ctor_set(x_95, 13, x_80); +lean_ctor_set(x_95, 14, x_81); +lean_ctor_set(x_95, 15, x_82); +lean_ctor_set_uint8(x_95, sizeof(void*)*16, x_75); +x_96 = lean_st_ref_set(x_33, x_95, x_38); +lean_dec(x_33); +x_97 = lean_ctor_get(x_96, 1); +lean_inc(x_97); +if (lean_is_exclusive(x_96)) { + lean_ctor_release(x_96, 0); + lean_ctor_release(x_96, 1); + x_98 = x_96; } else { - lean_dec_ref(x_95); - x_97 = lean_box(0); + lean_dec_ref(x_96); + x_98 = lean_box(0); } -x_98 = lean_box(0); -if (lean_is_scalar(x_97)) { - x_99 = lean_alloc_ctor(0, 2, 0); +x_99 = lean_box(0); +if (lean_is_scalar(x_98)) { + x_100 = lean_alloc_ctor(0, 2, 0); } else { - x_99 = x_97; + x_100 = x_98; } -lean_ctor_set(x_99, 0, x_98); -lean_ctor_set(x_99, 1, x_96); -return x_99; +lean_ctor_set(x_100, 0, x_99); +lean_ctor_set(x_100, 1, x_97); +return x_100; } } } else { -lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; uint8_t x_171; -x_126 = lean_ctor_get(x_27, 0); -x_127 = lean_ctor_get(x_27, 1); +lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; uint8_t x_172; +x_127 = lean_ctor_get(x_28, 0); +x_128 = lean_ctor_get(x_28, 1); +lean_inc(x_128); lean_inc(x_127); -lean_inc(x_126); -lean_dec(x_27); +lean_dec(x_28); lean_inc_ref(x_17); -lean_inc(x_24); -x_128 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_128, 0, x_12); -lean_ctor_set(x_128, 1, x_20); -lean_ctor_set(x_128, 2, x_14); -lean_ctor_set(x_128, 3, x_24); -lean_ctor_set(x_128, 4, x_16); -lean_ctor_set(x_128, 5, x_17); -lean_ctor_set(x_128, 6, x_18); -x_171 = lean_unbox(x_126); -lean_dec(x_126); -if (x_171 == 0) +lean_inc(x_25); +x_129 = lean_alloc_ctor(0, 7, 1); +lean_ctor_set(x_129, 0, x_12); +lean_ctor_set(x_129, 1, x_21); +lean_ctor_set(x_129, 2, x_14); +lean_ctor_set(x_129, 3, x_25); +lean_ctor_set(x_129, 4, x_16); +lean_ctor_set(x_129, 5, x_17); +lean_ctor_set(x_129, 6, x_18); +lean_ctor_set_uint8(x_129, sizeof(void*)*7, x_19); +x_172 = lean_unbox(x_127); +lean_dec(x_127); +if (x_172 == 0) { -lean_dec(x_24); +lean_dec(x_25); lean_dec_ref(x_17); lean_dec(x_10); lean_dec_ref(x_9); @@ -12495,157 +12498,117 @@ lean_dec_ref(x_7); lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); -x_129 = x_3; -x_130 = x_127; -goto block_170; +x_130 = x_3; +x_131 = x_128; +goto block_171; } else { -lean_object* x_172; -x_172 = l_Lean_Meta_Grind_updateLastTag(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_127); +lean_object* x_173; +x_173 = l_Lean_Meta_Grind_updateLastTag(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_128); lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); -if (lean_obj_tag(x_172) == 0) +if (lean_obj_tag(x_173) == 0) { -lean_object* x_173; lean_object* x_174; lean_object* x_175; 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; -x_173 = lean_ctor_get(x_172, 1); -lean_inc(x_173); -if (lean_is_exclusive(x_172)) { - lean_ctor_release(x_172, 0); - lean_ctor_release(x_172, 1); - x_174 = x_172; +lean_object* x_174; lean_object* x_175; 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_object* x_186; +x_174 = lean_ctor_get(x_173, 1); +lean_inc(x_174); +if (lean_is_exclusive(x_173)) { + lean_ctor_release(x_173, 0); + lean_ctor_release(x_173, 1); + x_175 = x_173; } else { - lean_dec_ref(x_172); - x_174 = lean_box(0); + lean_dec_ref(x_173); + x_175 = lean_box(0); } -x_175 = l_Lean_Meta_Grind_activateTheorem___closed__3; -x_176 = l_Lean_Meta_Grind_Origin_pp(x_17); -if (lean_is_scalar(x_174)) { - x_177 = lean_alloc_ctor(7, 2, 0); +x_176 = l_Lean_Meta_Grind_activateTheorem___closed__3; +x_177 = l_Lean_Meta_Grind_Origin_pp(x_17); +if (lean_is_scalar(x_175)) { + x_178 = lean_alloc_ctor(7, 2, 0); } else { - x_177 = x_174; - lean_ctor_set_tag(x_177, 7); + x_178 = x_175; + lean_ctor_set_tag(x_178, 7); } -lean_ctor_set(x_177, 0, x_175); -lean_ctor_set(x_177, 1, x_176); -x_178 = l_Lean_Meta_Grind_activateTheorem___closed__5; -x_179 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_179, 0, x_177); -lean_ctor_set(x_179, 1, x_178); -x_180 = l_List_mapTR_loop___at___Lean_Meta_Grind_activateTheorem_spec__1(x_24, x_22); -x_181 = l_List_mapTR_loop___at___Lean_Meta_Grind_activateTheorem_spec__2(x_180, x_22); -x_182 = l_Lean_MessageData_ofList(x_181); -x_183 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_183, 0, x_179); -lean_ctor_set(x_183, 1, x_182); -x_184 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_26, x_183, x_7, x_8, x_9, x_10, x_173); +lean_ctor_set(x_178, 0, x_176); +lean_ctor_set(x_178, 1, x_177); +x_179 = l_Lean_Meta_Grind_activateTheorem___closed__5; +x_180 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_180, 0, x_178); +lean_ctor_set(x_180, 1, x_179); +x_181 = l_List_mapTR_loop___at___Lean_Meta_Grind_activateTheorem_spec__1(x_25, x_23); +x_182 = l_List_mapTR_loop___at___Lean_Meta_Grind_activateTheorem_spec__2(x_181, x_23); +x_183 = l_Lean_MessageData_ofList(x_182); +x_184 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_184, 0, x_180); +lean_ctor_set(x_184, 1, x_183); +x_185 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_27, x_184, x_7, x_8, x_9, x_10, x_174); lean_dec(x_10); lean_dec_ref(x_9); lean_dec(x_8); lean_dec_ref(x_7); -x_185 = lean_ctor_get(x_184, 1); -lean_inc(x_185); -lean_dec_ref(x_184); -x_129 = x_3; -x_130 = x_185; -goto block_170; +x_186 = lean_ctor_get(x_185, 1); +lean_inc(x_186); +lean_dec_ref(x_185); +x_130 = x_3; +x_131 = x_186; +goto block_171; } else { -lean_dec_ref(x_128); -lean_dec(x_24); +lean_dec_ref(x_129); +lean_dec(x_25); lean_dec_ref(x_17); lean_dec(x_10); lean_dec_ref(x_9); lean_dec(x_8); lean_dec_ref(x_7); lean_dec(x_3); -return x_172; +return x_173; } } -block_170: +block_171: { -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; uint8_t 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; 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; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; -x_131 = lean_st_ref_take(x_129, x_130); -x_132 = lean_ctor_get(x_131, 0); -lean_inc(x_132); -x_133 = lean_ctor_get(x_132, 12); -lean_inc_ref(x_133); -x_134 = lean_ctor_get(x_131, 1); -lean_inc(x_134); -lean_dec_ref(x_131); -x_135 = lean_ctor_get(x_132, 0); +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; uint8_t 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; 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; lean_object* x_166; lean_object* x_167; lean_object* x_168; lean_object* x_169; lean_object* x_170; +x_132 = lean_st_ref_take(x_130, x_131); +x_133 = lean_ctor_get(x_132, 0); +lean_inc(x_133); +x_134 = lean_ctor_get(x_133, 12); +lean_inc_ref(x_134); +x_135 = lean_ctor_get(x_132, 1); lean_inc(x_135); -x_136 = lean_ctor_get(x_132, 1); -lean_inc_ref(x_136); -x_137 = lean_ctor_get(x_132, 2); -lean_inc(x_137); -x_138 = lean_ctor_get(x_132, 3); -lean_inc_ref(x_138); -x_139 = lean_ctor_get(x_132, 4); +lean_dec_ref(x_132); +x_136 = lean_ctor_get(x_133, 0); +lean_inc(x_136); +x_137 = lean_ctor_get(x_133, 1); +lean_inc_ref(x_137); +x_138 = lean_ctor_get(x_133, 2); +lean_inc(x_138); +x_139 = lean_ctor_get(x_133, 3); lean_inc_ref(x_139); -x_140 = lean_ctor_get(x_132, 5); +x_140 = lean_ctor_get(x_133, 4); lean_inc_ref(x_140); -x_141 = lean_ctor_get(x_132, 6); +x_141 = lean_ctor_get(x_133, 5); lean_inc_ref(x_141); -x_142 = lean_ctor_get(x_132, 7); +x_142 = lean_ctor_get(x_133, 6); lean_inc_ref(x_142); -x_143 = lean_ctor_get_uint8(x_132, sizeof(void*)*16); -x_144 = lean_ctor_get(x_132, 8); -lean_inc(x_144); -x_145 = lean_ctor_get(x_132, 9); -lean_inc_ref(x_145); -x_146 = lean_ctor_get(x_132, 10); +x_143 = lean_ctor_get(x_133, 7); +lean_inc_ref(x_143); +x_144 = lean_ctor_get_uint8(x_133, sizeof(void*)*16); +x_145 = lean_ctor_get(x_133, 8); +lean_inc(x_145); +x_146 = lean_ctor_get(x_133, 9); lean_inc_ref(x_146); -x_147 = lean_ctor_get(x_132, 11); +x_147 = lean_ctor_get(x_133, 10); lean_inc_ref(x_147); -x_148 = lean_ctor_get(x_132, 13); +x_148 = lean_ctor_get(x_133, 11); lean_inc_ref(x_148); -x_149 = lean_ctor_get(x_132, 14); +x_149 = lean_ctor_get(x_133, 13); lean_inc_ref(x_149); -x_150 = lean_ctor_get(x_132, 15); +x_150 = lean_ctor_get(x_133, 14); lean_inc_ref(x_150); -if (lean_is_exclusive(x_132)) { - lean_ctor_release(x_132, 0); - lean_ctor_release(x_132, 1); - lean_ctor_release(x_132, 2); - lean_ctor_release(x_132, 3); - lean_ctor_release(x_132, 4); - lean_ctor_release(x_132, 5); - lean_ctor_release(x_132, 6); - lean_ctor_release(x_132, 7); - lean_ctor_release(x_132, 8); - lean_ctor_release(x_132, 9); - lean_ctor_release(x_132, 10); - lean_ctor_release(x_132, 11); - lean_ctor_release(x_132, 12); - lean_ctor_release(x_132, 13); - lean_ctor_release(x_132, 14); - lean_ctor_release(x_132, 15); - x_151 = x_132; -} else { - lean_dec_ref(x_132); - x_151 = lean_box(0); -} -x_152 = lean_ctor_get(x_133, 0); -lean_inc_ref(x_152); -x_153 = lean_ctor_get(x_133, 1); -lean_inc(x_153); -x_154 = lean_ctor_get(x_133, 2); -lean_inc_ref(x_154); -x_155 = lean_ctor_get(x_133, 3); -lean_inc_ref(x_155); -x_156 = lean_ctor_get(x_133, 4); -lean_inc(x_156); -x_157 = lean_ctor_get(x_133, 5); -lean_inc(x_157); -x_158 = lean_ctor_get(x_133, 6); -lean_inc_ref(x_158); -x_159 = lean_ctor_get(x_133, 7); -lean_inc(x_159); -x_160 = lean_ctor_get(x_133, 8); -lean_inc_ref(x_160); +x_151 = lean_ctor_get(x_133, 15); +lean_inc_ref(x_151); if (lean_is_exclusive(x_133)) { lean_ctor_release(x_133, 0); lean_ctor_release(x_133, 1); @@ -12656,76 +12619,116 @@ if (lean_is_exclusive(x_133)) { lean_ctor_release(x_133, 6); lean_ctor_release(x_133, 7); lean_ctor_release(x_133, 8); - x_161 = x_133; + lean_ctor_release(x_133, 9); + lean_ctor_release(x_133, 10); + lean_ctor_release(x_133, 11); + lean_ctor_release(x_133, 12); + lean_ctor_release(x_133, 13); + lean_ctor_release(x_133, 14); + lean_ctor_release(x_133, 15); + x_152 = x_133; } else { lean_dec_ref(x_133); - x_161 = lean_box(0); + x_152 = lean_box(0); } -x_162 = l_Lean_PersistentArray_push___redArg(x_155, x_128); -if (lean_is_scalar(x_161)) { - x_163 = lean_alloc_ctor(0, 9, 0); +x_153 = lean_ctor_get(x_134, 0); +lean_inc_ref(x_153); +x_154 = lean_ctor_get(x_134, 1); +lean_inc(x_154); +x_155 = lean_ctor_get(x_134, 2); +lean_inc_ref(x_155); +x_156 = lean_ctor_get(x_134, 3); +lean_inc_ref(x_156); +x_157 = lean_ctor_get(x_134, 4); +lean_inc(x_157); +x_158 = lean_ctor_get(x_134, 5); +lean_inc(x_158); +x_159 = lean_ctor_get(x_134, 6); +lean_inc_ref(x_159); +x_160 = lean_ctor_get(x_134, 7); +lean_inc(x_160); +x_161 = lean_ctor_get(x_134, 8); +lean_inc_ref(x_161); +if (lean_is_exclusive(x_134)) { + lean_ctor_release(x_134, 0); + lean_ctor_release(x_134, 1); + lean_ctor_release(x_134, 2); + lean_ctor_release(x_134, 3); + lean_ctor_release(x_134, 4); + lean_ctor_release(x_134, 5); + lean_ctor_release(x_134, 6); + lean_ctor_release(x_134, 7); + lean_ctor_release(x_134, 8); + x_162 = x_134; } else { - x_163 = x_161; + lean_dec_ref(x_134); + x_162 = lean_box(0); } -lean_ctor_set(x_163, 0, x_152); -lean_ctor_set(x_163, 1, x_153); -lean_ctor_set(x_163, 2, x_154); -lean_ctor_set(x_163, 3, x_162); -lean_ctor_set(x_163, 4, x_156); -lean_ctor_set(x_163, 5, x_157); -lean_ctor_set(x_163, 6, x_158); -lean_ctor_set(x_163, 7, x_159); -lean_ctor_set(x_163, 8, x_160); -if (lean_is_scalar(x_151)) { - x_164 = lean_alloc_ctor(0, 16, 1); +x_163 = l_Lean_PersistentArray_push___redArg(x_156, x_129); +if (lean_is_scalar(x_162)) { + x_164 = lean_alloc_ctor(0, 9, 0); } else { - x_164 = x_151; + x_164 = x_162; } -lean_ctor_set(x_164, 0, x_135); -lean_ctor_set(x_164, 1, x_136); -lean_ctor_set(x_164, 2, x_137); -lean_ctor_set(x_164, 3, x_138); -lean_ctor_set(x_164, 4, x_139); -lean_ctor_set(x_164, 5, x_140); -lean_ctor_set(x_164, 6, x_141); -lean_ctor_set(x_164, 7, x_142); -lean_ctor_set(x_164, 8, x_144); -lean_ctor_set(x_164, 9, x_145); -lean_ctor_set(x_164, 10, x_146); -lean_ctor_set(x_164, 11, x_147); -lean_ctor_set(x_164, 12, x_163); -lean_ctor_set(x_164, 13, x_148); -lean_ctor_set(x_164, 14, x_149); -lean_ctor_set(x_164, 15, x_150); -lean_ctor_set_uint8(x_164, sizeof(void*)*16, x_143); -x_165 = lean_st_ref_set(x_129, x_164, x_134); -lean_dec(x_129); -x_166 = lean_ctor_get(x_165, 1); -lean_inc(x_166); -if (lean_is_exclusive(x_165)) { - lean_ctor_release(x_165, 0); - lean_ctor_release(x_165, 1); - x_167 = x_165; +lean_ctor_set(x_164, 0, x_153); +lean_ctor_set(x_164, 1, x_154); +lean_ctor_set(x_164, 2, x_155); +lean_ctor_set(x_164, 3, x_163); +lean_ctor_set(x_164, 4, x_157); +lean_ctor_set(x_164, 5, x_158); +lean_ctor_set(x_164, 6, x_159); +lean_ctor_set(x_164, 7, x_160); +lean_ctor_set(x_164, 8, x_161); +if (lean_is_scalar(x_152)) { + x_165 = lean_alloc_ctor(0, 16, 1); } else { - lean_dec_ref(x_165); - x_167 = lean_box(0); + x_165 = x_152; } -x_168 = lean_box(0); -if (lean_is_scalar(x_167)) { - x_169 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_165, 0, x_136); +lean_ctor_set(x_165, 1, x_137); +lean_ctor_set(x_165, 2, x_138); +lean_ctor_set(x_165, 3, x_139); +lean_ctor_set(x_165, 4, x_140); +lean_ctor_set(x_165, 5, x_141); +lean_ctor_set(x_165, 6, x_142); +lean_ctor_set(x_165, 7, x_143); +lean_ctor_set(x_165, 8, x_145); +lean_ctor_set(x_165, 9, x_146); +lean_ctor_set(x_165, 10, x_147); +lean_ctor_set(x_165, 11, x_148); +lean_ctor_set(x_165, 12, x_164); +lean_ctor_set(x_165, 13, x_149); +lean_ctor_set(x_165, 14, x_150); +lean_ctor_set(x_165, 15, x_151); +lean_ctor_set_uint8(x_165, sizeof(void*)*16, x_144); +x_166 = lean_st_ref_set(x_130, x_165, x_135); +lean_dec(x_130); +x_167 = lean_ctor_get(x_166, 1); +lean_inc(x_167); +if (lean_is_exclusive(x_166)) { + lean_ctor_release(x_166, 0); + lean_ctor_release(x_166, 1); + x_168 = x_166; } else { - x_169 = x_167; + lean_dec_ref(x_166); + x_168 = lean_box(0); } -lean_ctor_set(x_169, 0, x_168); -lean_ctor_set(x_169, 1, x_166); -return x_169; +x_169 = lean_box(0); +if (lean_is_scalar(x_168)) { + x_170 = lean_alloc_ctor(0, 2, 0); +} else { + x_170 = x_168; +} +lean_ctor_set(x_170, 0, x_169); +lean_ctor_set(x_170, 1, x_167); +return x_170; } } } else { -uint8_t x_186; -lean_dec(x_20); +uint8_t x_187; +lean_dec(x_21); lean_dec(x_18); lean_dec_ref(x_17); lean_dec(x_16); @@ -12739,29 +12742,29 @@ lean_dec(x_6); lean_dec_ref(x_5); lean_dec(x_4); lean_dec(x_3); -x_186 = !lean_is_exclusive(x_23); -if (x_186 == 0) +x_187 = !lean_is_exclusive(x_24); +if (x_187 == 0) { -return x_23; +return x_24; } else { -lean_object* x_187; lean_object* x_188; lean_object* x_189; -x_187 = lean_ctor_get(x_23, 0); -x_188 = lean_ctor_get(x_23, 1); +lean_object* x_188; lean_object* x_189; lean_object* x_190; +x_188 = lean_ctor_get(x_24, 0); +x_189 = lean_ctor_get(x_24, 1); +lean_inc(x_189); lean_inc(x_188); -lean_inc(x_187); -lean_dec(x_23); -x_189 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_189, 0, x_187); -lean_ctor_set(x_189, 1, x_188); -return x_189; +lean_dec(x_24); +x_190 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_190, 0, x_188); +lean_ctor_set(x_190, 1, x_189); +return x_190; } } } else { -uint8_t x_190; +uint8_t x_191; lean_dec(x_18); lean_dec_ref(x_17); lean_dec(x_16); @@ -12778,23 +12781,23 @@ lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec_ref(x_1); -x_190 = !lean_is_exclusive(x_19); -if (x_190 == 0) +x_191 = !lean_is_exclusive(x_20); +if (x_191 == 0) { -return x_19; +return x_20; } else { -lean_object* x_191; lean_object* x_192; lean_object* x_193; -x_191 = lean_ctor_get(x_19, 0); -x_192 = lean_ctor_get(x_19, 1); +lean_object* x_192; lean_object* x_193; lean_object* x_194; +x_192 = lean_ctor_get(x_20, 0); +x_193 = lean_ctor_get(x_20, 1); +lean_inc(x_193); lean_inc(x_192); -lean_inc(x_191); -lean_dec(x_19); -x_193 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_193, 0, x_191); -lean_ctor_set(x_193, 1, x_192); -return x_193; +lean_dec(x_20); +x_194 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_194, 0, x_192); +lean_ctor_set(x_194, 1, x_193); +return x_194; } } } @@ -15575,22 +15578,22 @@ uint8_t x_16; x_16 = !lean_is_exclusive(x_4); if (x_16 == 0) { -lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_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; 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_247; lean_object* x_248; uint8_t x_249; +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; 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; 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_248; lean_object* x_249; uint8_t x_250; x_17 = lean_ctor_get(x_4, 0); x_18 = lean_ctor_get(x_4, 1); x_95 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__1; -x_247 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_95, x_12, x_14); -x_248 = lean_ctor_get(x_247, 0); -lean_inc(x_248); -x_249 = lean_unbox(x_248); -lean_dec(x_248); -if (x_249 == 0) +x_248 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_95, x_12, x_14); +x_249 = lean_ctor_get(x_248, 0); +lean_inc(x_249); +x_250 = lean_unbox(x_249); +lean_dec(x_249); +if (x_250 == 0) { -lean_object* x_250; +lean_object* x_251; lean_free_object(x_4); -x_250 = lean_ctor_get(x_247, 1); -lean_inc(x_250); -lean_dec_ref(x_247); +x_251 = lean_ctor_get(x_248, 1); +lean_inc(x_251); +lean_dec_ref(x_248); lean_inc(x_13); lean_inc_ref(x_12); lean_inc(x_11); @@ -15607,101 +15610,53 @@ x_100 = x_10; x_101 = x_11; x_102 = x_12; x_103 = x_13; -x_104 = x_250; -goto block_246; +x_104 = x_251; +goto block_247; } else { -uint8_t x_251; -x_251 = !lean_is_exclusive(x_247); -if (x_251 == 0) +uint8_t x_252; +x_252 = !lean_is_exclusive(x_248); +if (x_252 == 0) { -lean_object* x_252; lean_object* x_253; lean_object* x_254; -x_252 = lean_ctor_get(x_247, 1); -x_253 = lean_ctor_get(x_247, 0); -lean_dec(x_253); -x_254 = l_Lean_Meta_Grind_updateLastTag(x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_252); -if (lean_obj_tag(x_254) == 0) -{ -uint8_t x_255; -x_255 = !lean_is_exclusive(x_254); -if (x_255 == 0) -{ -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; lean_object* x_264; lean_object* x_265; lean_object* x_266; -x_256 = lean_ctor_get(x_254, 1); -x_257 = lean_ctor_get(x_254, 0); -lean_dec(x_257); -x_258 = lean_ctor_get(x_17, 5); -x_259 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; -lean_inc(x_3); -x_260 = l_Lean_MessageData_ofName(x_3); -lean_ctor_set_tag(x_254, 7); -lean_ctor_set(x_254, 1, x_260); -lean_ctor_set(x_254, 0, x_259); -x_261 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; -lean_ctor_set_tag(x_247, 7); -lean_ctor_set(x_247, 1, x_261); -lean_ctor_set(x_247, 0, x_254); -x_262 = l_Lean_Meta_Grind_Origin_key(x_258); -x_263 = l_Lean_MessageData_ofName(x_262); -lean_ctor_set_tag(x_4, 7); -lean_ctor_set(x_4, 1, x_263); -lean_ctor_set(x_4, 0, x_247); -x_264 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_264, 0, x_4); -lean_ctor_set(x_264, 1, x_259); -x_265 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_95, x_264, x_10, x_11, x_12, x_13, x_256); -x_266 = lean_ctor_get(x_265, 1); -lean_inc(x_266); -lean_dec_ref(x_265); -lean_inc(x_13); -lean_inc_ref(x_12); -lean_inc(x_11); -lean_inc_ref(x_10); -lean_inc(x_9); -lean_inc_ref(x_8); -lean_inc(x_7); -lean_inc(x_6); -x_96 = x_6; -x_97 = x_7; -x_98 = x_8; -x_99 = x_9; -x_100 = x_10; -x_101 = x_11; -x_102 = x_12; -x_103 = x_13; -x_104 = x_266; -goto block_246; -} -else -{ -lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; -x_267 = lean_ctor_get(x_254, 1); -lean_inc(x_267); +lean_object* x_253; lean_object* x_254; lean_object* x_255; +x_253 = lean_ctor_get(x_248, 1); +x_254 = lean_ctor_get(x_248, 0); lean_dec(x_254); -x_268 = lean_ctor_get(x_17, 5); -x_269 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +x_255 = l_Lean_Meta_Grind_updateLastTag(x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_253); +if (lean_obj_tag(x_255) == 0) +{ +uint8_t x_256; +x_256 = !lean_is_exclusive(x_255); +if (x_256 == 0) +{ +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; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; +x_257 = lean_ctor_get(x_255, 1); +x_258 = lean_ctor_get(x_255, 0); +lean_dec(x_258); +x_259 = lean_ctor_get(x_17, 5); +x_260 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; lean_inc(x_3); -x_270 = l_Lean_MessageData_ofName(x_3); -x_271 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_271, 0, x_269); -lean_ctor_set(x_271, 1, x_270); -x_272 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; -lean_ctor_set_tag(x_247, 7); -lean_ctor_set(x_247, 1, x_272); -lean_ctor_set(x_247, 0, x_271); -x_273 = l_Lean_Meta_Grind_Origin_key(x_268); -x_274 = l_Lean_MessageData_ofName(x_273); +x_261 = l_Lean_MessageData_ofName(x_3); +lean_ctor_set_tag(x_255, 7); +lean_ctor_set(x_255, 1, x_261); +lean_ctor_set(x_255, 0, x_260); +x_262 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; +lean_ctor_set_tag(x_248, 7); +lean_ctor_set(x_248, 1, x_262); +lean_ctor_set(x_248, 0, x_255); +x_263 = l_Lean_Meta_Grind_Origin_key(x_259); +x_264 = l_Lean_MessageData_ofName(x_263); lean_ctor_set_tag(x_4, 7); -lean_ctor_set(x_4, 1, x_274); -lean_ctor_set(x_4, 0, x_247); -x_275 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_275, 0, x_4); -lean_ctor_set(x_275, 1, x_269); -x_276 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_95, x_275, x_10, x_11, x_12, x_13, x_267); -x_277 = lean_ctor_get(x_276, 1); -lean_inc(x_277); -lean_dec_ref(x_276); +lean_ctor_set(x_4, 1, x_264); +lean_ctor_set(x_4, 0, x_248); +x_265 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_265, 0, x_4); +lean_ctor_set(x_265, 1, x_260); +x_266 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_95, x_265, x_10, x_11, x_12, x_13, x_257); +x_267 = lean_ctor_get(x_266, 1); +lean_inc(x_267); +lean_dec_ref(x_266); lean_inc(x_13); lean_inc_ref(x_12); lean_inc(x_11); @@ -15718,77 +15673,38 @@ x_100 = x_10; x_101 = x_11; x_102 = x_12; x_103 = x_13; -x_104 = x_277; -goto block_246; -} +x_104 = x_267; +goto block_247; } else { -lean_free_object(x_247); -lean_free_object(x_4); -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_13); -lean_dec_ref(x_12); -lean_dec(x_11); -lean_dec_ref(x_10); -lean_dec(x_9); -lean_dec_ref(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_3); -lean_dec(x_2); -return x_254; -} -} -else -{ -lean_object* x_278; lean_object* x_279; -x_278 = lean_ctor_get(x_247, 1); +lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; +x_268 = lean_ctor_get(x_255, 1); +lean_inc(x_268); +lean_dec(x_255); +x_269 = lean_ctor_get(x_17, 5); +x_270 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +lean_inc(x_3); +x_271 = l_Lean_MessageData_ofName(x_3); +x_272 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_272, 0, x_270); +lean_ctor_set(x_272, 1, x_271); +x_273 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; +lean_ctor_set_tag(x_248, 7); +lean_ctor_set(x_248, 1, x_273); +lean_ctor_set(x_248, 0, x_272); +x_274 = l_Lean_Meta_Grind_Origin_key(x_269); +x_275 = l_Lean_MessageData_ofName(x_274); +lean_ctor_set_tag(x_4, 7); +lean_ctor_set(x_4, 1, x_275); +lean_ctor_set(x_4, 0, x_248); +x_276 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_276, 0, x_4); +lean_ctor_set(x_276, 1, x_270); +x_277 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_95, x_276, x_10, x_11, x_12, x_13, x_268); +x_278 = lean_ctor_get(x_277, 1); lean_inc(x_278); -lean_dec(x_247); -x_279 = l_Lean_Meta_Grind_updateLastTag(x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_278); -if (lean_obj_tag(x_279) == 0) -{ -lean_object* x_280; lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; -x_280 = lean_ctor_get(x_279, 1); -lean_inc(x_280); -if (lean_is_exclusive(x_279)) { - lean_ctor_release(x_279, 0); - lean_ctor_release(x_279, 1); - x_281 = x_279; -} else { - lean_dec_ref(x_279); - x_281 = lean_box(0); -} -x_282 = lean_ctor_get(x_17, 5); -x_283 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; -lean_inc(x_3); -x_284 = l_Lean_MessageData_ofName(x_3); -if (lean_is_scalar(x_281)) { - x_285 = lean_alloc_ctor(7, 2, 0); -} else { - x_285 = x_281; - lean_ctor_set_tag(x_285, 7); -} -lean_ctor_set(x_285, 0, x_283); -lean_ctor_set(x_285, 1, x_284); -x_286 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; -x_287 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_287, 0, x_285); -lean_ctor_set(x_287, 1, x_286); -x_288 = l_Lean_Meta_Grind_Origin_key(x_282); -x_289 = l_Lean_MessageData_ofName(x_288); -lean_ctor_set_tag(x_4, 7); -lean_ctor_set(x_4, 1, x_289); -lean_ctor_set(x_4, 0, x_287); -x_290 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_290, 0, x_4); -lean_ctor_set(x_290, 1, x_283); -x_291 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_95, x_290, x_10, x_11, x_12, x_13, x_280); -x_292 = lean_ctor_get(x_291, 1); -lean_inc(x_292); -lean_dec_ref(x_291); +lean_dec_ref(x_277); lean_inc(x_13); lean_inc_ref(x_12); lean_inc(x_11); @@ -15805,8 +15721,95 @@ x_100 = x_10; x_101 = x_11; x_102 = x_12; x_103 = x_13; -x_104 = x_292; -goto block_246; +x_104 = x_278; +goto block_247; +} +} +else +{ +lean_free_object(x_248); +lean_free_object(x_4); +lean_dec(x_18); +lean_dec(x_17); +lean_dec(x_13); +lean_dec_ref(x_12); +lean_dec(x_11); +lean_dec_ref(x_10); +lean_dec(x_9); +lean_dec_ref(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +lean_dec(x_2); +return x_255; +} +} +else +{ +lean_object* x_279; lean_object* x_280; +x_279 = lean_ctor_get(x_248, 1); +lean_inc(x_279); +lean_dec(x_248); +x_280 = l_Lean_Meta_Grind_updateLastTag(x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_279); +if (lean_obj_tag(x_280) == 0) +{ +lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; +x_281 = lean_ctor_get(x_280, 1); +lean_inc(x_281); +if (lean_is_exclusive(x_280)) { + lean_ctor_release(x_280, 0); + lean_ctor_release(x_280, 1); + x_282 = x_280; +} else { + lean_dec_ref(x_280); + x_282 = lean_box(0); +} +x_283 = lean_ctor_get(x_17, 5); +x_284 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +lean_inc(x_3); +x_285 = l_Lean_MessageData_ofName(x_3); +if (lean_is_scalar(x_282)) { + x_286 = lean_alloc_ctor(7, 2, 0); +} else { + x_286 = x_282; + lean_ctor_set_tag(x_286, 7); +} +lean_ctor_set(x_286, 0, x_284); +lean_ctor_set(x_286, 1, x_285); +x_287 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; +x_288 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_288, 0, x_286); +lean_ctor_set(x_288, 1, x_287); +x_289 = l_Lean_Meta_Grind_Origin_key(x_283); +x_290 = l_Lean_MessageData_ofName(x_289); +lean_ctor_set_tag(x_4, 7); +lean_ctor_set(x_4, 1, x_290); +lean_ctor_set(x_4, 0, x_288); +x_291 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_291, 0, x_4); +lean_ctor_set(x_291, 1, x_284); +x_292 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_95, x_291, x_10, x_11, x_12, x_13, x_281); +x_293 = lean_ctor_get(x_292, 1); +lean_inc(x_293); +lean_dec_ref(x_292); +lean_inc(x_13); +lean_inc_ref(x_12); +lean_inc(x_11); +lean_inc_ref(x_10); +lean_inc(x_9); +lean_inc_ref(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_96 = x_6; +x_97 = x_7; +x_98 = x_8; +x_99 = x_9; +x_100 = x_10; +x_101 = x_11; +x_102 = x_12; +x_103 = x_13; +x_104 = x_293; +goto block_247; } else { @@ -15823,7 +15826,7 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); -return x_279; +return x_280; } } } @@ -16070,7 +16073,7 @@ lean_dec(x_2); return x_91; } } -block_246: +block_247: { lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; uint8_t x_110; x_105 = lean_st_ref_get(x_96, x_104); @@ -16567,7 +16570,7 @@ goto _start; } else { -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; uint8_t x_204; +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; uint8_t x_204; uint8_t x_205; x_197 = lean_ctor_get(x_17, 0); x_198 = lean_ctor_get(x_17, 1); x_199 = lean_ctor_get(x_17, 2); @@ -16575,6 +16578,7 @@ x_200 = lean_ctor_get(x_17, 3); x_201 = lean_ctor_get(x_17, 4); x_202 = lean_ctor_get(x_17, 5); x_203 = lean_ctor_get(x_17, 6); +x_204 = lean_ctor_get_uint8(x_17, sizeof(void*)*7); lean_inc(x_203); lean_inc(x_202); lean_inc(x_201); @@ -16583,47 +16587,48 @@ lean_inc(x_199); lean_inc(x_198); lean_inc(x_197); lean_dec(x_17); -x_204 = l_Lean_Meta_Grind_EMatchTheorems_isErased(x_109, x_202); -if (x_204 == 0) +x_205 = l_Lean_Meta_Grind_EMatchTheorems_isErased(x_109, x_202); +if (x_205 == 0) { -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; -x_205 = lean_st_ref_get(x_96, x_108); -x_206 = lean_ctor_get(x_205, 0); -lean_inc(x_206); -x_207 = lean_ctor_get(x_205, 1); +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; +x_206 = lean_st_ref_get(x_96, x_108); +x_207 = lean_ctor_get(x_206, 0); lean_inc(x_207); -lean_dec_ref(x_205); -x_208 = lean_ctor_get(x_206, 6); -lean_inc_ref(x_208); -lean_dec(x_206); -x_209 = lean_box(0); -x_210 = l_List_filterTR_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__10(x_208, x_204, x_201, x_209); +x_208 = lean_ctor_get(x_206, 1); +lean_inc(x_208); +lean_dec_ref(x_206); +x_209 = lean_ctor_get(x_207, 6); +lean_inc_ref(x_209); +lean_dec(x_207); +x_210 = lean_box(0); +x_211 = l_List_filterTR_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__10(x_209, x_205, x_201, x_210); lean_inc_ref(x_202); -lean_inc(x_210); -x_211 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_211, 0, x_197); -lean_ctor_set(x_211, 1, x_198); -lean_ctor_set(x_211, 2, x_199); -lean_ctor_set(x_211, 3, x_200); -lean_ctor_set(x_211, 4, x_210); -lean_ctor_set(x_211, 5, x_202); -lean_ctor_set(x_211, 6, x_203); -if (lean_obj_tag(x_210) == 0) +lean_inc(x_211); +x_212 = lean_alloc_ctor(0, 7, 1); +lean_ctor_set(x_212, 0, x_197); +lean_ctor_set(x_212, 1, x_198); +lean_ctor_set(x_212, 2, x_199); +lean_ctor_set(x_212, 3, x_200); +lean_ctor_set(x_212, 4, x_211); +lean_ctor_set(x_212, 5, x_202); +lean_ctor_set(x_212, 6, x_203); +lean_ctor_set_uint8(x_212, sizeof(void*)*7, x_204); +if (lean_obj_tag(x_211) == 0) { -lean_object* x_212; lean_object* x_213; uint8_t x_214; -x_212 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_95, x_102, x_207); -x_213 = lean_ctor_get(x_212, 0); -lean_inc(x_213); -x_214 = lean_unbox(x_213); -lean_dec(x_213); -if (x_214 == 0) +lean_object* x_213; lean_object* x_214; uint8_t x_215; +x_213 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_95, x_102, x_208); +x_214 = lean_ctor_get(x_213, 0); +lean_inc(x_214); +x_215 = lean_unbox(x_214); +lean_dec(x_214); +if (x_215 == 0) { -lean_object* x_215; +lean_object* x_216; lean_dec_ref(x_202); -x_215 = lean_ctor_get(x_212, 1); -lean_inc(x_215); -lean_dec_ref(x_212); -x_81 = x_211; +x_216 = lean_ctor_get(x_213, 1); +lean_inc(x_216); +lean_dec_ref(x_213); +x_81 = x_212; x_82 = x_96; x_83 = x_97; x_84 = x_98; @@ -16632,61 +16637,61 @@ x_86 = x_100; x_87 = x_101; x_88 = x_102; x_89 = x_103; -x_90 = x_215; +x_90 = x_216; goto block_94; } else { -lean_object* x_216; lean_object* x_217; lean_object* x_218; -x_216 = lean_ctor_get(x_212, 1); -lean_inc(x_216); -if (lean_is_exclusive(x_212)) { - lean_ctor_release(x_212, 0); - lean_ctor_release(x_212, 1); - x_217 = x_212; +lean_object* x_217; lean_object* x_218; lean_object* x_219; +x_217 = lean_ctor_get(x_213, 1); +lean_inc(x_217); +if (lean_is_exclusive(x_213)) { + lean_ctor_release(x_213, 0); + lean_ctor_release(x_213, 1); + x_218 = x_213; } else { - lean_dec_ref(x_212); - x_217 = lean_box(0); + lean_dec_ref(x_213); + x_218 = lean_box(0); } -x_218 = l_Lean_Meta_Grind_updateLastTag(x_96, x_97, x_98, x_99, x_100, x_101, x_102, x_103, x_216); -if (lean_obj_tag(x_218) == 0) +x_219 = l_Lean_Meta_Grind_updateLastTag(x_96, x_97, x_98, x_99, x_100, x_101, x_102, x_103, x_217); +if (lean_obj_tag(x_219) == 0) { -lean_object* x_219; 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; -x_219 = lean_ctor_get(x_218, 1); -lean_inc(x_219); -if (lean_is_exclusive(x_218)) { - lean_ctor_release(x_218, 0); - lean_ctor_release(x_218, 1); - x_220 = 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; +x_220 = lean_ctor_get(x_219, 1); +lean_inc(x_220); +if (lean_is_exclusive(x_219)) { + lean_ctor_release(x_219, 0); + lean_ctor_release(x_219, 1); + x_221 = x_219; } else { - lean_dec_ref(x_218); - x_220 = lean_box(0); + lean_dec_ref(x_219); + x_221 = lean_box(0); } -x_221 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; -x_222 = l_Lean_Meta_Grind_Origin_key(x_202); +x_222 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +x_223 = l_Lean_Meta_Grind_Origin_key(x_202); lean_dec_ref(x_202); -x_223 = l_Lean_MessageData_ofName(x_222); -if (lean_is_scalar(x_220)) { - x_224 = lean_alloc_ctor(7, 2, 0); -} else { - x_224 = x_220; - lean_ctor_set_tag(x_224, 7); -} -lean_ctor_set(x_224, 0, x_221); -lean_ctor_set(x_224, 1, x_223); -if (lean_is_scalar(x_217)) { +x_224 = l_Lean_MessageData_ofName(x_223); +if (lean_is_scalar(x_221)) { x_225 = lean_alloc_ctor(7, 2, 0); } else { - x_225 = x_217; + x_225 = x_221; lean_ctor_set_tag(x_225, 7); } -lean_ctor_set(x_225, 0, x_224); -lean_ctor_set(x_225, 1, x_221); -x_226 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_95, x_225, x_100, x_101, x_102, x_103, x_219); -x_227 = lean_ctor_get(x_226, 1); -lean_inc(x_227); -lean_dec_ref(x_226); -x_81 = x_211; +lean_ctor_set(x_225, 0, x_222); +lean_ctor_set(x_225, 1, x_224); +if (lean_is_scalar(x_218)) { + x_226 = lean_alloc_ctor(7, 2, 0); +} else { + x_226 = x_218; + lean_ctor_set_tag(x_226, 7); +} +lean_ctor_set(x_226, 0, x_225); +lean_ctor_set(x_226, 1, x_222); +x_227 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_95, x_226, x_100, x_101, x_102, x_103, x_220); +x_228 = lean_ctor_get(x_227, 1); +lean_inc(x_228); +lean_dec_ref(x_227); +x_81 = x_212; x_82 = x_96; x_83 = x_97; x_84 = x_98; @@ -16695,13 +16700,13 @@ x_86 = x_100; x_87 = x_101; x_88 = x_102; x_89 = x_103; -x_90 = x_227; +x_90 = x_228; goto block_94; } else { -lean_dec(x_217); -lean_dec_ref(x_211); +lean_dec(x_218); +lean_dec_ref(x_212); lean_dec_ref(x_202); lean_dec(x_103); lean_dec_ref(x_102); @@ -16722,22 +16727,22 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); -return x_218; +return x_219; } } } else { -lean_object* x_228; lean_object* x_229; uint8_t x_230; -lean_dec_ref(x_210); -x_228 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_95, x_102, x_207); -x_229 = lean_ctor_get(x_228, 0); -lean_inc(x_229); -x_230 = lean_unbox(x_229); -lean_dec(x_229); -if (x_230 == 0) +lean_object* x_229; lean_object* x_230; uint8_t x_231; +lean_dec_ref(x_211); +x_229 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_95, x_102, x_208); +x_230 = lean_ctor_get(x_229, 0); +lean_inc(x_230); +x_231 = lean_unbox(x_230); +lean_dec(x_230); +if (x_231 == 0) { -lean_object* x_231; +lean_object* x_232; lean_dec_ref(x_202); lean_dec(x_103); lean_dec_ref(x_102); @@ -16746,82 +16751,82 @@ lean_dec_ref(x_100); lean_dec(x_99); lean_dec_ref(x_98); lean_dec(x_97); -x_231 = lean_ctor_get(x_228, 1); -lean_inc(x_231); -lean_dec_ref(x_228); -x_19 = x_211; -x_20 = x_96; -x_21 = x_231; -goto block_80; -} -else -{ -lean_object* x_232; lean_object* x_233; lean_object* x_234; -x_232 = lean_ctor_get(x_228, 1); +x_232 = lean_ctor_get(x_229, 1); lean_inc(x_232); -if (lean_is_exclusive(x_228)) { - lean_ctor_release(x_228, 0); - lean_ctor_release(x_228, 1); - x_233 = x_228; -} else { - lean_dec_ref(x_228); - x_233 = lean_box(0); -} -x_234 = l_Lean_Meta_Grind_updateLastTag(x_96, x_97, x_98, x_99, x_100, x_101, x_102, x_103, x_232); -lean_dec(x_99); -lean_dec_ref(x_98); -lean_dec(x_97); -if (lean_obj_tag(x_234) == 0) -{ -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; lean_object* x_244; -x_235 = lean_ctor_get(x_234, 1); -lean_inc(x_235); -if (lean_is_exclusive(x_234)) { - lean_ctor_release(x_234, 0); - lean_ctor_release(x_234, 1); - x_236 = x_234; -} else { - lean_dec_ref(x_234); - x_236 = lean_box(0); -} -x_237 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__5; -x_238 = l_Lean_Meta_Grind_Origin_key(x_202); -lean_dec_ref(x_202); -x_239 = l_Lean_MessageData_ofName(x_238); -if (lean_is_scalar(x_236)) { - x_240 = lean_alloc_ctor(7, 2, 0); -} else { - x_240 = x_236; - lean_ctor_set_tag(x_240, 7); -} -lean_ctor_set(x_240, 0, x_237); -lean_ctor_set(x_240, 1, x_239); -x_241 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; -if (lean_is_scalar(x_233)) { - x_242 = lean_alloc_ctor(7, 2, 0); -} else { - x_242 = x_233; - lean_ctor_set_tag(x_242, 7); -} -lean_ctor_set(x_242, 0, x_240); -lean_ctor_set(x_242, 1, x_241); -x_243 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_95, x_242, x_100, x_101, x_102, x_103, x_235); -lean_dec(x_103); -lean_dec_ref(x_102); -lean_dec(x_101); -lean_dec_ref(x_100); -x_244 = lean_ctor_get(x_243, 1); -lean_inc(x_244); -lean_dec_ref(x_243); -x_19 = x_211; +lean_dec_ref(x_229); +x_19 = x_212; x_20 = x_96; -x_21 = x_244; +x_21 = x_232; goto block_80; } else { -lean_dec(x_233); -lean_dec_ref(x_211); +lean_object* x_233; lean_object* x_234; lean_object* x_235; +x_233 = lean_ctor_get(x_229, 1); +lean_inc(x_233); +if (lean_is_exclusive(x_229)) { + lean_ctor_release(x_229, 0); + lean_ctor_release(x_229, 1); + x_234 = x_229; +} else { + lean_dec_ref(x_229); + x_234 = lean_box(0); +} +x_235 = l_Lean_Meta_Grind_updateLastTag(x_96, x_97, x_98, x_99, x_100, x_101, x_102, x_103, x_233); +lean_dec(x_99); +lean_dec_ref(x_98); +lean_dec(x_97); +if (lean_obj_tag(x_235) == 0) +{ +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; lean_object* x_244; lean_object* x_245; +x_236 = lean_ctor_get(x_235, 1); +lean_inc(x_236); +if (lean_is_exclusive(x_235)) { + lean_ctor_release(x_235, 0); + lean_ctor_release(x_235, 1); + x_237 = x_235; +} else { + lean_dec_ref(x_235); + x_237 = lean_box(0); +} +x_238 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__5; +x_239 = l_Lean_Meta_Grind_Origin_key(x_202); +lean_dec_ref(x_202); +x_240 = l_Lean_MessageData_ofName(x_239); +if (lean_is_scalar(x_237)) { + x_241 = lean_alloc_ctor(7, 2, 0); +} else { + x_241 = x_237; + lean_ctor_set_tag(x_241, 7); +} +lean_ctor_set(x_241, 0, x_238); +lean_ctor_set(x_241, 1, x_240); +x_242 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +if (lean_is_scalar(x_234)) { + x_243 = lean_alloc_ctor(7, 2, 0); +} else { + x_243 = x_234; + lean_ctor_set_tag(x_243, 7); +} +lean_ctor_set(x_243, 0, x_241); +lean_ctor_set(x_243, 1, x_242); +x_244 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_95, x_243, x_100, x_101, x_102, x_103, x_236); +lean_dec(x_103); +lean_dec_ref(x_102); +lean_dec(x_101); +lean_dec_ref(x_100); +x_245 = lean_ctor_get(x_244, 1); +lean_inc(x_245); +lean_dec_ref(x_244); +x_19 = x_212; +x_20 = x_96; +x_21 = x_245; +goto block_80; +} +else +{ +lean_dec(x_234); +lean_dec_ref(x_212); lean_dec_ref(x_202); lean_dec(x_103); lean_dec_ref(x_102); @@ -16839,7 +16844,7 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); -return x_234; +return x_235; } } } @@ -16876,24 +16881,24 @@ goto _start; } else { -lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_336; lean_object* x_337; lean_object* x_338; 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_350; lean_object* x_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_416; lean_object* x_417; uint8_t x_418; -x_293 = lean_ctor_get(x_4, 0); -x_294 = lean_ctor_get(x_4, 1); +lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_337; lean_object* x_338; 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_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_418; lean_object* x_419; uint8_t x_420; +x_294 = lean_ctor_get(x_4, 0); +x_295 = lean_ctor_get(x_4, 1); +lean_inc(x_295); lean_inc(x_294); -lean_inc(x_293); lean_dec(x_4); -x_350 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__1; -x_416 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_350, x_12, x_14); -x_417 = lean_ctor_get(x_416, 0); -lean_inc(x_417); -x_418 = lean_unbox(x_417); -lean_dec(x_417); -if (x_418 == 0) -{ -lean_object* x_419; -x_419 = lean_ctor_get(x_416, 1); +x_351 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__1; +x_418 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_351, x_12, x_14); +x_419 = lean_ctor_get(x_418, 0); lean_inc(x_419); -lean_dec_ref(x_416); +x_420 = lean_unbox(x_419); +lean_dec(x_419); +if (x_420 == 0) +{ +lean_object* x_421; +x_421 = lean_ctor_get(x_418, 1); +lean_inc(x_421); +lean_dec_ref(x_418); lean_inc(x_13); lean_inc_ref(x_12); lean_inc(x_11); @@ -16902,77 +16907,77 @@ lean_inc(x_9); lean_inc_ref(x_8); lean_inc(x_7); lean_inc(x_6); -x_351 = x_6; -x_352 = x_7; -x_353 = x_8; -x_354 = x_9; -x_355 = x_10; -x_356 = x_11; -x_357 = x_12; -x_358 = x_13; -x_359 = x_419; -goto block_415; +x_352 = x_6; +x_353 = x_7; +x_354 = x_8; +x_355 = x_9; +x_356 = x_10; +x_357 = x_11; +x_358 = x_12; +x_359 = x_13; +x_360 = x_421; +goto block_417; } else { -lean_object* x_420; lean_object* x_421; lean_object* x_422; -x_420 = lean_ctor_get(x_416, 1); -lean_inc(x_420); -if (lean_is_exclusive(x_416)) { - lean_ctor_release(x_416, 0); - lean_ctor_release(x_416, 1); - x_421 = x_416; +lean_object* x_422; lean_object* x_423; lean_object* x_424; +x_422 = lean_ctor_get(x_418, 1); +lean_inc(x_422); +if (lean_is_exclusive(x_418)) { + lean_ctor_release(x_418, 0); + lean_ctor_release(x_418, 1); + x_423 = x_418; } else { - lean_dec_ref(x_416); - x_421 = lean_box(0); + lean_dec_ref(x_418); + x_423 = lean_box(0); } -x_422 = l_Lean_Meta_Grind_updateLastTag(x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_420); -if (lean_obj_tag(x_422) == 0) +x_424 = l_Lean_Meta_Grind_updateLastTag(x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_422); +if (lean_obj_tag(x_424) == 0) { -lean_object* x_423; lean_object* x_424; lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; -x_423 = lean_ctor_get(x_422, 1); -lean_inc(x_423); -if (lean_is_exclusive(x_422)) { - lean_ctor_release(x_422, 0); - lean_ctor_release(x_422, 1); - x_424 = x_422; +lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; +x_425 = lean_ctor_get(x_424, 1); +lean_inc(x_425); +if (lean_is_exclusive(x_424)) { + lean_ctor_release(x_424, 0); + lean_ctor_release(x_424, 1); + x_426 = x_424; } else { - lean_dec_ref(x_422); - x_424 = lean_box(0); + lean_dec_ref(x_424); + x_426 = lean_box(0); } -x_425 = lean_ctor_get(x_293, 5); -x_426 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +x_427 = lean_ctor_get(x_294, 5); +x_428 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; lean_inc(x_3); -x_427 = l_Lean_MessageData_ofName(x_3); -if (lean_is_scalar(x_424)) { - x_428 = lean_alloc_ctor(7, 2, 0); -} else { - x_428 = x_424; - lean_ctor_set_tag(x_428, 7); -} -lean_ctor_set(x_428, 0, x_426); -lean_ctor_set(x_428, 1, x_427); -x_429 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; -if (lean_is_scalar(x_421)) { +x_429 = l_Lean_MessageData_ofName(x_3); +if (lean_is_scalar(x_426)) { x_430 = lean_alloc_ctor(7, 2, 0); } else { - x_430 = x_421; + x_430 = x_426; lean_ctor_set_tag(x_430, 7); } lean_ctor_set(x_430, 0, x_428); lean_ctor_set(x_430, 1, x_429); -x_431 = l_Lean_Meta_Grind_Origin_key(x_425); -x_432 = l_Lean_MessageData_ofName(x_431); -x_433 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_433, 0, x_430); -lean_ctor_set(x_433, 1, x_432); -x_434 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_434, 0, x_433); -lean_ctor_set(x_434, 1, x_426); -x_435 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_350, x_434, x_10, x_11, x_12, x_13, x_423); -x_436 = lean_ctor_get(x_435, 1); -lean_inc(x_436); -lean_dec_ref(x_435); +x_431 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; +if (lean_is_scalar(x_423)) { + x_432 = lean_alloc_ctor(7, 2, 0); +} else { + x_432 = x_423; + lean_ctor_set_tag(x_432, 7); +} +lean_ctor_set(x_432, 0, x_430); +lean_ctor_set(x_432, 1, x_431); +x_433 = l_Lean_Meta_Grind_Origin_key(x_427); +x_434 = l_Lean_MessageData_ofName(x_433); +x_435 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_435, 0, x_432); +lean_ctor_set(x_435, 1, x_434); +x_436 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_436, 0, x_435); +lean_ctor_set(x_436, 1, x_428); +x_437 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_351, x_436, x_10, x_11, x_12, x_13, x_425); +x_438 = lean_ctor_get(x_437, 1); +lean_inc(x_438); +lean_dec_ref(x_437); lean_inc(x_13); lean_inc_ref(x_12); lean_inc(x_11); @@ -16981,22 +16986,22 @@ lean_inc(x_9); lean_inc_ref(x_8); lean_inc(x_7); lean_inc(x_6); -x_351 = x_6; -x_352 = x_7; -x_353 = x_8; -x_354 = x_9; -x_355 = x_10; -x_356 = x_11; -x_357 = x_12; -x_358 = x_13; -x_359 = x_436; -goto block_415; +x_352 = x_6; +x_353 = x_7; +x_354 = x_8; +x_355 = x_9; +x_356 = x_10; +x_357 = x_11; +x_358 = x_12; +x_359 = x_13; +x_360 = x_438; +goto block_417; } else { -lean_dec(x_421); +lean_dec(x_423); +lean_dec(x_295); lean_dec(x_294); -lean_dec(x_293); lean_dec(x_13); lean_dec_ref(x_12); lean_dec(x_11); @@ -17007,91 +17012,51 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); -return x_422; +return x_424; } } -block_335: +block_336: { -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; uint8_t x_310; lean_object* x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; 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; lean_object* x_325; 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; lean_object* x_333; -x_298 = lean_st_ref_take(x_296, x_297); -x_299 = lean_ctor_get(x_298, 0); -lean_inc(x_299); -x_300 = lean_ctor_get(x_299, 12); -lean_inc_ref(x_300); -x_301 = lean_ctor_get(x_298, 1); -lean_inc(x_301); -lean_dec_ref(x_298); -x_302 = lean_ctor_get(x_299, 0); +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; lean_object* x_310; uint8_t x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; 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; lean_object* x_325; 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; lean_object* x_333; lean_object* x_334; +x_299 = lean_st_ref_take(x_297, x_298); +x_300 = lean_ctor_get(x_299, 0); +lean_inc(x_300); +x_301 = lean_ctor_get(x_300, 12); +lean_inc_ref(x_301); +x_302 = lean_ctor_get(x_299, 1); lean_inc(x_302); -x_303 = lean_ctor_get(x_299, 1); -lean_inc_ref(x_303); -x_304 = lean_ctor_get(x_299, 2); -lean_inc(x_304); -x_305 = lean_ctor_get(x_299, 3); -lean_inc_ref(x_305); -x_306 = lean_ctor_get(x_299, 4); +lean_dec_ref(x_299); +x_303 = lean_ctor_get(x_300, 0); +lean_inc(x_303); +x_304 = lean_ctor_get(x_300, 1); +lean_inc_ref(x_304); +x_305 = lean_ctor_get(x_300, 2); +lean_inc(x_305); +x_306 = lean_ctor_get(x_300, 3); lean_inc_ref(x_306); -x_307 = lean_ctor_get(x_299, 5); +x_307 = lean_ctor_get(x_300, 4); lean_inc_ref(x_307); -x_308 = lean_ctor_get(x_299, 6); +x_308 = lean_ctor_get(x_300, 5); lean_inc_ref(x_308); -x_309 = lean_ctor_get(x_299, 7); +x_309 = lean_ctor_get(x_300, 6); lean_inc_ref(x_309); -x_310 = lean_ctor_get_uint8(x_299, sizeof(void*)*16); -x_311 = lean_ctor_get(x_299, 8); -lean_inc(x_311); -x_312 = lean_ctor_get(x_299, 9); -lean_inc_ref(x_312); -x_313 = lean_ctor_get(x_299, 10); +x_310 = lean_ctor_get(x_300, 7); +lean_inc_ref(x_310); +x_311 = lean_ctor_get_uint8(x_300, sizeof(void*)*16); +x_312 = lean_ctor_get(x_300, 8); +lean_inc(x_312); +x_313 = lean_ctor_get(x_300, 9); lean_inc_ref(x_313); -x_314 = lean_ctor_get(x_299, 11); +x_314 = lean_ctor_get(x_300, 10); lean_inc_ref(x_314); -x_315 = lean_ctor_get(x_299, 13); +x_315 = lean_ctor_get(x_300, 11); lean_inc_ref(x_315); -x_316 = lean_ctor_get(x_299, 14); +x_316 = lean_ctor_get(x_300, 13); lean_inc_ref(x_316); -x_317 = lean_ctor_get(x_299, 15); +x_317 = lean_ctor_get(x_300, 14); lean_inc_ref(x_317); -if (lean_is_exclusive(x_299)) { - lean_ctor_release(x_299, 0); - lean_ctor_release(x_299, 1); - lean_ctor_release(x_299, 2); - lean_ctor_release(x_299, 3); - lean_ctor_release(x_299, 4); - lean_ctor_release(x_299, 5); - lean_ctor_release(x_299, 6); - lean_ctor_release(x_299, 7); - lean_ctor_release(x_299, 8); - lean_ctor_release(x_299, 9); - lean_ctor_release(x_299, 10); - lean_ctor_release(x_299, 11); - lean_ctor_release(x_299, 12); - lean_ctor_release(x_299, 13); - lean_ctor_release(x_299, 14); - lean_ctor_release(x_299, 15); - x_318 = x_299; -} else { - lean_dec_ref(x_299); - x_318 = lean_box(0); -} -x_319 = lean_ctor_get(x_300, 0); -lean_inc_ref(x_319); -x_320 = lean_ctor_get(x_300, 1); -lean_inc(x_320); -x_321 = lean_ctor_get(x_300, 2); -lean_inc_ref(x_321); -x_322 = lean_ctor_get(x_300, 3); -lean_inc_ref(x_322); -x_323 = lean_ctor_get(x_300, 4); -lean_inc(x_323); -x_324 = lean_ctor_get(x_300, 5); -lean_inc(x_324); -x_325 = lean_ctor_get(x_300, 6); -lean_inc_ref(x_325); -x_326 = lean_ctor_get(x_300, 7); -lean_inc(x_326); -x_327 = lean_ctor_get(x_300, 8); -lean_inc_ref(x_327); +x_318 = lean_ctor_get(x_300, 15); +lean_inc_ref(x_318); if (lean_is_exclusive(x_300)) { lean_ctor_release(x_300, 0); lean_ctor_release(x_300, 1); @@ -17102,78 +17067,118 @@ if (lean_is_exclusive(x_300)) { lean_ctor_release(x_300, 6); lean_ctor_release(x_300, 7); lean_ctor_release(x_300, 8); - x_328 = x_300; + lean_ctor_release(x_300, 9); + lean_ctor_release(x_300, 10); + lean_ctor_release(x_300, 11); + lean_ctor_release(x_300, 12); + lean_ctor_release(x_300, 13); + lean_ctor_release(x_300, 14); + lean_ctor_release(x_300, 15); + x_319 = x_300; } else { lean_dec_ref(x_300); - x_328 = lean_box(0); + x_319 = lean_box(0); } -x_329 = l_Lean_Meta_Grind_EMatchTheorems_insert(x_319, x_295); -if (lean_is_scalar(x_328)) { - x_330 = lean_alloc_ctor(0, 9, 0); +x_320 = lean_ctor_get(x_301, 0); +lean_inc_ref(x_320); +x_321 = lean_ctor_get(x_301, 1); +lean_inc(x_321); +x_322 = lean_ctor_get(x_301, 2); +lean_inc_ref(x_322); +x_323 = lean_ctor_get(x_301, 3); +lean_inc_ref(x_323); +x_324 = lean_ctor_get(x_301, 4); +lean_inc(x_324); +x_325 = lean_ctor_get(x_301, 5); +lean_inc(x_325); +x_326 = lean_ctor_get(x_301, 6); +lean_inc_ref(x_326); +x_327 = lean_ctor_get(x_301, 7); +lean_inc(x_327); +x_328 = lean_ctor_get(x_301, 8); +lean_inc_ref(x_328); +if (lean_is_exclusive(x_301)) { + lean_ctor_release(x_301, 0); + lean_ctor_release(x_301, 1); + lean_ctor_release(x_301, 2); + lean_ctor_release(x_301, 3); + lean_ctor_release(x_301, 4); + lean_ctor_release(x_301, 5); + lean_ctor_release(x_301, 6); + lean_ctor_release(x_301, 7); + lean_ctor_release(x_301, 8); + x_329 = x_301; } else { - x_330 = x_328; + lean_dec_ref(x_301); + x_329 = lean_box(0); } -lean_ctor_set(x_330, 0, x_329); -lean_ctor_set(x_330, 1, x_320); -lean_ctor_set(x_330, 2, x_321); -lean_ctor_set(x_330, 3, x_322); -lean_ctor_set(x_330, 4, x_323); -lean_ctor_set(x_330, 5, x_324); -lean_ctor_set(x_330, 6, x_325); -lean_ctor_set(x_330, 7, x_326); -lean_ctor_set(x_330, 8, x_327); -if (lean_is_scalar(x_318)) { - x_331 = lean_alloc_ctor(0, 16, 1); +x_330 = l_Lean_Meta_Grind_EMatchTheorems_insert(x_320, x_296); +if (lean_is_scalar(x_329)) { + x_331 = lean_alloc_ctor(0, 9, 0); } else { - x_331 = x_318; + x_331 = x_329; } -lean_ctor_set(x_331, 0, x_302); -lean_ctor_set(x_331, 1, x_303); -lean_ctor_set(x_331, 2, x_304); -lean_ctor_set(x_331, 3, x_305); -lean_ctor_set(x_331, 4, x_306); -lean_ctor_set(x_331, 5, x_307); -lean_ctor_set(x_331, 6, x_308); -lean_ctor_set(x_331, 7, x_309); -lean_ctor_set(x_331, 8, x_311); -lean_ctor_set(x_331, 9, x_312); -lean_ctor_set(x_331, 10, x_313); -lean_ctor_set(x_331, 11, x_314); -lean_ctor_set(x_331, 12, x_330); -lean_ctor_set(x_331, 13, x_315); -lean_ctor_set(x_331, 14, x_316); -lean_ctor_set(x_331, 15, x_317); -lean_ctor_set_uint8(x_331, sizeof(void*)*16, x_310); -x_332 = lean_st_ref_set(x_296, x_331, x_301); -lean_dec(x_296); -x_333 = lean_ctor_get(x_332, 1); -lean_inc(x_333); -lean_dec_ref(x_332); +lean_ctor_set(x_331, 0, x_330); +lean_ctor_set(x_331, 1, x_321); +lean_ctor_set(x_331, 2, x_322); +lean_ctor_set(x_331, 3, x_323); +lean_ctor_set(x_331, 4, x_324); +lean_ctor_set(x_331, 5, x_325); +lean_ctor_set(x_331, 6, x_326); +lean_ctor_set(x_331, 7, x_327); +lean_ctor_set(x_331, 8, x_328); +if (lean_is_scalar(x_319)) { + x_332 = lean_alloc_ctor(0, 16, 1); +} else { + x_332 = x_319; +} +lean_ctor_set(x_332, 0, x_303); +lean_ctor_set(x_332, 1, x_304); +lean_ctor_set(x_332, 2, x_305); +lean_ctor_set(x_332, 3, x_306); +lean_ctor_set(x_332, 4, x_307); +lean_ctor_set(x_332, 5, x_308); +lean_ctor_set(x_332, 6, x_309); +lean_ctor_set(x_332, 7, x_310); +lean_ctor_set(x_332, 8, x_312); +lean_ctor_set(x_332, 9, x_313); +lean_ctor_set(x_332, 10, x_314); +lean_ctor_set(x_332, 11, x_315); +lean_ctor_set(x_332, 12, x_331); +lean_ctor_set(x_332, 13, x_316); +lean_ctor_set(x_332, 14, x_317); +lean_ctor_set(x_332, 15, x_318); +lean_ctor_set_uint8(x_332, sizeof(void*)*16, x_311); +x_333 = lean_st_ref_set(x_297, x_332, x_302); +lean_dec(x_297); +x_334 = lean_ctor_get(x_333, 1); +lean_inc(x_334); +lean_dec_ref(x_333); { -lean_object* _tmp_3 = x_294; +lean_object* _tmp_3 = x_295; lean_object* _tmp_4 = x_1; -lean_object* _tmp_13 = x_333; +lean_object* _tmp_13 = x_334; x_4 = _tmp_3; x_5 = _tmp_4; x_14 = _tmp_13; } goto _start; } -block_349: -{ -lean_object* x_346; -lean_inc(x_2); -x_346 = l_Lean_Meta_Grind_activateTheorem(x_336, x_2, x_337, x_338, x_339, x_340, x_341, x_342, x_343, x_344, x_345); -if (lean_obj_tag(x_346) == 0) +block_350: { lean_object* x_347; -x_347 = lean_ctor_get(x_346, 1); -lean_inc(x_347); -lean_dec_ref(x_346); +lean_inc(x_2); +x_347 = l_Lean_Meta_Grind_activateTheorem(x_337, x_2, x_338, x_339, x_340, x_341, x_342, x_343, x_344, x_345, x_346); +if (lean_obj_tag(x_347) == 0) { -lean_object* _tmp_3 = x_294; +lean_object* x_348; +x_348 = lean_ctor_get(x_347, 1); +lean_inc(x_348); +lean_dec_ref(x_347); +{ +lean_object* _tmp_3 = x_295; lean_object* _tmp_4 = x_1; -lean_object* _tmp_13 = x_347; +lean_object* _tmp_13 = x_348; x_4 = _tmp_3; x_5 = _tmp_4; x_14 = _tmp_13; @@ -17182,7 +17187,7 @@ goto _start; } else { -lean_dec(x_294); +lean_dec(x_295); lean_dec(x_13); lean_dec_ref(x_12); lean_dec(x_11); @@ -17193,97 +17198,98 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); -return x_346; +return x_347; } } -block_415: +block_417: { -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_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; uint8_t x_373; -x_360 = lean_st_ref_get(x_351, x_359); -x_361 = lean_ctor_get(x_360, 0); -lean_inc(x_361); -x_362 = lean_ctor_get(x_361, 12); -lean_inc_ref(x_362); -lean_dec(x_361); -x_363 = lean_ctor_get(x_360, 1); -lean_inc(x_363); -lean_dec_ref(x_360); -x_364 = lean_ctor_get(x_362, 0); -lean_inc_ref(x_364); -lean_dec_ref(x_362); -x_365 = lean_ctor_get(x_293, 0); +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_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; uint8_t x_373; lean_object* x_374; uint8_t x_375; +x_361 = lean_st_ref_get(x_352, x_360); +x_362 = lean_ctor_get(x_361, 0); +lean_inc(x_362); +x_363 = lean_ctor_get(x_362, 12); +lean_inc_ref(x_363); +lean_dec(x_362); +x_364 = lean_ctor_get(x_361, 1); +lean_inc(x_364); +lean_dec_ref(x_361); +x_365 = lean_ctor_get(x_363, 0); lean_inc_ref(x_365); -x_366 = lean_ctor_get(x_293, 1); +lean_dec_ref(x_363); +x_366 = lean_ctor_get(x_294, 0); lean_inc_ref(x_366); -x_367 = lean_ctor_get(x_293, 2); -lean_inc(x_367); -x_368 = lean_ctor_get(x_293, 3); +x_367 = lean_ctor_get(x_294, 1); +lean_inc_ref(x_367); +x_368 = lean_ctor_get(x_294, 2); lean_inc(x_368); -x_369 = lean_ctor_get(x_293, 4); +x_369 = lean_ctor_get(x_294, 3); lean_inc(x_369); -x_370 = lean_ctor_get(x_293, 5); -lean_inc_ref(x_370); -x_371 = lean_ctor_get(x_293, 6); -lean_inc(x_371); -if (lean_is_exclusive(x_293)) { - lean_ctor_release(x_293, 0); - lean_ctor_release(x_293, 1); - lean_ctor_release(x_293, 2); - lean_ctor_release(x_293, 3); - lean_ctor_release(x_293, 4); - lean_ctor_release(x_293, 5); - lean_ctor_release(x_293, 6); - x_372 = x_293; +x_370 = lean_ctor_get(x_294, 4); +lean_inc(x_370); +x_371 = lean_ctor_get(x_294, 5); +lean_inc_ref(x_371); +x_372 = lean_ctor_get(x_294, 6); +lean_inc(x_372); +x_373 = lean_ctor_get_uint8(x_294, sizeof(void*)*7); +if (lean_is_exclusive(x_294)) { + lean_ctor_release(x_294, 0); + lean_ctor_release(x_294, 1); + lean_ctor_release(x_294, 2); + lean_ctor_release(x_294, 3); + lean_ctor_release(x_294, 4); + lean_ctor_release(x_294, 5); + lean_ctor_release(x_294, 6); + x_374 = x_294; } else { - lean_dec_ref(x_293); - x_372 = lean_box(0); + lean_dec_ref(x_294); + x_374 = lean_box(0); } -x_373 = l_Lean_Meta_Grind_EMatchTheorems_isErased(x_364, x_370); -if (x_373 == 0) +x_375 = l_Lean_Meta_Grind_EMatchTheorems_isErased(x_365, x_371); +if (x_375 == 0) { -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; -x_374 = lean_st_ref_get(x_351, x_363); -x_375 = lean_ctor_get(x_374, 0); -lean_inc(x_375); -x_376 = lean_ctor_get(x_374, 1); -lean_inc(x_376); -lean_dec_ref(x_374); -x_377 = lean_ctor_get(x_375, 6); -lean_inc_ref(x_377); -lean_dec(x_375); -x_378 = lean_box(0); -x_379 = l_List_filterTR_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__10(x_377, x_373, x_369, x_378); -lean_inc_ref(x_370); -lean_inc(x_379); -if (lean_is_scalar(x_372)) { - x_380 = lean_alloc_ctor(0, 7, 0); +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; +x_376 = lean_st_ref_get(x_352, x_364); +x_377 = lean_ctor_get(x_376, 0); +lean_inc(x_377); +x_378 = lean_ctor_get(x_376, 1); +lean_inc(x_378); +lean_dec_ref(x_376); +x_379 = lean_ctor_get(x_377, 6); +lean_inc_ref(x_379); +lean_dec(x_377); +x_380 = lean_box(0); +x_381 = l_List_filterTR_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__10(x_379, x_375, x_370, x_380); +lean_inc_ref(x_371); +lean_inc(x_381); +if (lean_is_scalar(x_374)) { + x_382 = lean_alloc_ctor(0, 7, 1); } else { - x_380 = x_372; + x_382 = x_374; } -lean_ctor_set(x_380, 0, x_365); -lean_ctor_set(x_380, 1, x_366); -lean_ctor_set(x_380, 2, x_367); -lean_ctor_set(x_380, 3, x_368); -lean_ctor_set(x_380, 4, x_379); -lean_ctor_set(x_380, 5, x_370); -lean_ctor_set(x_380, 6, x_371); -if (lean_obj_tag(x_379) == 0) +lean_ctor_set(x_382, 0, x_366); +lean_ctor_set(x_382, 1, x_367); +lean_ctor_set(x_382, 2, x_368); +lean_ctor_set(x_382, 3, x_369); +lean_ctor_set(x_382, 4, x_381); +lean_ctor_set(x_382, 5, x_371); +lean_ctor_set(x_382, 6, x_372); +lean_ctor_set_uint8(x_382, sizeof(void*)*7, x_373); +if (lean_obj_tag(x_381) == 0) { -lean_object* x_381; lean_object* x_382; uint8_t x_383; -x_381 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_350, x_357, x_376); -x_382 = lean_ctor_get(x_381, 0); -lean_inc(x_382); -x_383 = lean_unbox(x_382); -lean_dec(x_382); -if (x_383 == 0) -{ -lean_object* x_384; -lean_dec_ref(x_370); -x_384 = lean_ctor_get(x_381, 1); +lean_object* x_383; lean_object* x_384; uint8_t x_385; +x_383 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_351, x_358, x_378); +x_384 = lean_ctor_get(x_383, 0); lean_inc(x_384); -lean_dec_ref(x_381); -x_336 = x_380; -x_337 = x_351; +x_385 = lean_unbox(x_384); +lean_dec(x_384); +if (x_385 == 0) +{ +lean_object* x_386; +lean_dec_ref(x_371); +x_386 = lean_ctor_get(x_383, 1); +lean_inc(x_386); +lean_dec_ref(x_383); +x_337 = x_382; x_338 = x_352; x_339 = x_353; x_340 = x_354; @@ -17291,62 +17297,62 @@ x_341 = x_355; x_342 = x_356; x_343 = x_357; x_344 = x_358; -x_345 = x_384; -goto block_349; +x_345 = x_359; +x_346 = x_386; +goto block_350; } else { -lean_object* x_385; lean_object* x_386; lean_object* x_387; -x_385 = lean_ctor_get(x_381, 1); -lean_inc(x_385); -if (lean_is_exclusive(x_381)) { - lean_ctor_release(x_381, 0); - lean_ctor_release(x_381, 1); - x_386 = x_381; +lean_object* x_387; lean_object* x_388; lean_object* x_389; +x_387 = lean_ctor_get(x_383, 1); +lean_inc(x_387); +if (lean_is_exclusive(x_383)) { + lean_ctor_release(x_383, 0); + lean_ctor_release(x_383, 1); + x_388 = x_383; } else { - lean_dec_ref(x_381); - x_386 = lean_box(0); + lean_dec_ref(x_383); + x_388 = lean_box(0); } -x_387 = l_Lean_Meta_Grind_updateLastTag(x_351, x_352, x_353, x_354, x_355, x_356, x_357, x_358, x_385); -if (lean_obj_tag(x_387) == 0) +x_389 = l_Lean_Meta_Grind_updateLastTag(x_352, x_353, x_354, x_355, x_356, x_357, x_358, x_359, x_387); +if (lean_obj_tag(x_389) == 0) { -lean_object* x_388; lean_object* x_389; 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_388 = lean_ctor_get(x_387, 1); -lean_inc(x_388); -if (lean_is_exclusive(x_387)) { - lean_ctor_release(x_387, 0); - lean_ctor_release(x_387, 1); - x_389 = x_387; +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; lean_object* x_397; lean_object* x_398; +x_390 = lean_ctor_get(x_389, 1); +lean_inc(x_390); +if (lean_is_exclusive(x_389)) { + lean_ctor_release(x_389, 0); + lean_ctor_release(x_389, 1); + x_391 = x_389; } else { - lean_dec_ref(x_387); - x_389 = lean_box(0); + lean_dec_ref(x_389); + x_391 = lean_box(0); } -x_390 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; -x_391 = l_Lean_Meta_Grind_Origin_key(x_370); -lean_dec_ref(x_370); -x_392 = l_Lean_MessageData_ofName(x_391); -if (lean_is_scalar(x_389)) { - x_393 = lean_alloc_ctor(7, 2, 0); +x_392 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +x_393 = l_Lean_Meta_Grind_Origin_key(x_371); +lean_dec_ref(x_371); +x_394 = l_Lean_MessageData_ofName(x_393); +if (lean_is_scalar(x_391)) { + x_395 = lean_alloc_ctor(7, 2, 0); } else { - x_393 = x_389; - lean_ctor_set_tag(x_393, 7); + x_395 = x_391; + lean_ctor_set_tag(x_395, 7); } -lean_ctor_set(x_393, 0, x_390); -lean_ctor_set(x_393, 1, x_392); -if (lean_is_scalar(x_386)) { - x_394 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_395, 0, x_392); +lean_ctor_set(x_395, 1, x_394); +if (lean_is_scalar(x_388)) { + x_396 = lean_alloc_ctor(7, 2, 0); } else { - x_394 = x_386; - lean_ctor_set_tag(x_394, 7); + x_396 = x_388; + lean_ctor_set_tag(x_396, 7); } -lean_ctor_set(x_394, 0, x_393); -lean_ctor_set(x_394, 1, x_390); -x_395 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_350, x_394, x_355, x_356, x_357, x_358, x_388); -x_396 = lean_ctor_get(x_395, 1); -lean_inc(x_396); -lean_dec_ref(x_395); -x_336 = x_380; -x_337 = x_351; +lean_ctor_set(x_396, 0, x_395); +lean_ctor_set(x_396, 1, x_392); +x_397 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_351, x_396, x_356, x_357, x_358, x_359, x_390); +x_398 = lean_ctor_get(x_397, 1); +lean_inc(x_398); +lean_dec_ref(x_397); +x_337 = x_382; x_338 = x_352; x_339 = x_353; x_340 = x_354; @@ -17354,23 +17360,24 @@ x_341 = x_355; x_342 = x_356; x_343 = x_357; x_344 = x_358; -x_345 = x_396; -goto block_349; +x_345 = x_359; +x_346 = x_398; +goto block_350; } else { -lean_dec(x_386); -lean_dec_ref(x_380); -lean_dec_ref(x_370); -lean_dec(x_358); -lean_dec_ref(x_357); -lean_dec(x_356); -lean_dec_ref(x_355); -lean_dec(x_354); -lean_dec_ref(x_353); +lean_dec(x_388); +lean_dec_ref(x_382); +lean_dec_ref(x_371); +lean_dec(x_359); +lean_dec_ref(x_358); +lean_dec(x_357); +lean_dec_ref(x_356); +lean_dec(x_355); +lean_dec_ref(x_354); +lean_dec(x_353); lean_dec(x_352); -lean_dec(x_351); -lean_dec(x_294); +lean_dec(x_295); lean_dec(x_13); lean_dec_ref(x_12); lean_dec(x_11); @@ -17381,113 +17388,113 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); -return x_387; +return x_389; } } } else { -lean_object* x_397; lean_object* x_398; uint8_t x_399; -lean_dec_ref(x_379); -x_397 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_350, x_357, x_376); -x_398 = lean_ctor_get(x_397, 0); -lean_inc(x_398); -x_399 = lean_unbox(x_398); -lean_dec(x_398); -if (x_399 == 0) -{ -lean_object* x_400; -lean_dec_ref(x_370); -lean_dec(x_358); -lean_dec_ref(x_357); -lean_dec(x_356); -lean_dec_ref(x_355); -lean_dec(x_354); -lean_dec_ref(x_353); -lean_dec(x_352); -x_400 = lean_ctor_get(x_397, 1); +lean_object* x_399; lean_object* x_400; uint8_t x_401; +lean_dec_ref(x_381); +x_399 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_351, x_358, x_378); +x_400 = lean_ctor_get(x_399, 0); lean_inc(x_400); -lean_dec_ref(x_397); -x_295 = x_380; -x_296 = x_351; -x_297 = x_400; -goto block_335; +x_401 = lean_unbox(x_400); +lean_dec(x_400); +if (x_401 == 0) +{ +lean_object* x_402; +lean_dec_ref(x_371); +lean_dec(x_359); +lean_dec_ref(x_358); +lean_dec(x_357); +lean_dec_ref(x_356); +lean_dec(x_355); +lean_dec_ref(x_354); +lean_dec(x_353); +x_402 = lean_ctor_get(x_399, 1); +lean_inc(x_402); +lean_dec_ref(x_399); +x_296 = x_382; +x_297 = x_352; +x_298 = x_402; +goto block_336; } else { -lean_object* x_401; lean_object* x_402; lean_object* x_403; -x_401 = lean_ctor_get(x_397, 1); -lean_inc(x_401); -if (lean_is_exclusive(x_397)) { - lean_ctor_release(x_397, 0); - lean_ctor_release(x_397, 1); - x_402 = x_397; +lean_object* x_403; lean_object* x_404; lean_object* x_405; +x_403 = lean_ctor_get(x_399, 1); +lean_inc(x_403); +if (lean_is_exclusive(x_399)) { + lean_ctor_release(x_399, 0); + lean_ctor_release(x_399, 1); + x_404 = x_399; } else { - lean_dec_ref(x_397); - x_402 = lean_box(0); + lean_dec_ref(x_399); + x_404 = lean_box(0); } -x_403 = l_Lean_Meta_Grind_updateLastTag(x_351, x_352, x_353, x_354, x_355, x_356, x_357, x_358, x_401); -lean_dec(x_354); -lean_dec_ref(x_353); -lean_dec(x_352); -if (lean_obj_tag(x_403) == 0) +x_405 = l_Lean_Meta_Grind_updateLastTag(x_352, x_353, x_354, x_355, x_356, x_357, x_358, x_359, x_403); +lean_dec(x_355); +lean_dec_ref(x_354); +lean_dec(x_353); +if (lean_obj_tag(x_405) == 0) { -lean_object* x_404; lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; -x_404 = lean_ctor_get(x_403, 1); -lean_inc(x_404); -if (lean_is_exclusive(x_403)) { - lean_ctor_release(x_403, 0); - lean_ctor_release(x_403, 1); - x_405 = x_403; +lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; lean_object* x_415; +x_406 = lean_ctor_get(x_405, 1); +lean_inc(x_406); +if (lean_is_exclusive(x_405)) { + lean_ctor_release(x_405, 0); + lean_ctor_release(x_405, 1); + x_407 = x_405; } else { - lean_dec_ref(x_403); - x_405 = lean_box(0); + lean_dec_ref(x_405); + x_407 = lean_box(0); } -x_406 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__5; -x_407 = l_Lean_Meta_Grind_Origin_key(x_370); -lean_dec_ref(x_370); -x_408 = l_Lean_MessageData_ofName(x_407); -if (lean_is_scalar(x_405)) { - x_409 = lean_alloc_ctor(7, 2, 0); -} else { - x_409 = x_405; - lean_ctor_set_tag(x_409, 7); -} -lean_ctor_set(x_409, 0, x_406); -lean_ctor_set(x_409, 1, x_408); -x_410 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; -if (lean_is_scalar(x_402)) { +x_408 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__5; +x_409 = l_Lean_Meta_Grind_Origin_key(x_371); +lean_dec_ref(x_371); +x_410 = l_Lean_MessageData_ofName(x_409); +if (lean_is_scalar(x_407)) { x_411 = lean_alloc_ctor(7, 2, 0); } else { - x_411 = x_402; + x_411 = x_407; lean_ctor_set_tag(x_411, 7); } -lean_ctor_set(x_411, 0, x_409); +lean_ctor_set(x_411, 0, x_408); lean_ctor_set(x_411, 1, x_410); -x_412 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_350, x_411, x_355, x_356, x_357, x_358, x_404); -lean_dec(x_358); -lean_dec_ref(x_357); -lean_dec(x_356); -lean_dec_ref(x_355); -x_413 = lean_ctor_get(x_412, 1); -lean_inc(x_413); -lean_dec_ref(x_412); -x_295 = x_380; -x_296 = x_351; -x_297 = x_413; -goto block_335; +x_412 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +if (lean_is_scalar(x_404)) { + x_413 = lean_alloc_ctor(7, 2, 0); +} else { + x_413 = x_404; + lean_ctor_set_tag(x_413, 7); +} +lean_ctor_set(x_413, 0, x_411); +lean_ctor_set(x_413, 1, x_412); +x_414 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_351, x_413, x_356, x_357, x_358, x_359, x_406); +lean_dec(x_359); +lean_dec_ref(x_358); +lean_dec(x_357); +lean_dec_ref(x_356); +x_415 = lean_ctor_get(x_414, 1); +lean_inc(x_415); +lean_dec_ref(x_414); +x_296 = x_382; +x_297 = x_352; +x_298 = x_415; +goto block_336; } else { -lean_dec(x_402); -lean_dec_ref(x_380); -lean_dec_ref(x_370); -lean_dec(x_358); -lean_dec_ref(x_357); -lean_dec(x_356); -lean_dec_ref(x_355); -lean_dec(x_351); -lean_dec(x_294); +lean_dec(x_404); +lean_dec_ref(x_382); +lean_dec_ref(x_371); +lean_dec(x_359); +lean_dec_ref(x_358); +lean_dec(x_357); +lean_dec_ref(x_356); +lean_dec(x_352); +lean_dec(x_295); lean_dec(x_13); lean_dec_ref(x_12); lean_dec(x_11); @@ -17498,33 +17505,33 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_3); lean_dec(x_2); -return x_403; +return x_405; } } } } else { +lean_dec(x_374); lean_dec(x_372); -lean_dec(x_371); -lean_dec_ref(x_370); +lean_dec_ref(x_371); +lean_dec(x_370); lean_dec(x_369); lean_dec(x_368); -lean_dec(x_367); +lean_dec_ref(x_367); lean_dec_ref(x_366); -lean_dec_ref(x_365); -lean_dec(x_358); -lean_dec_ref(x_357); -lean_dec(x_356); -lean_dec_ref(x_355); -lean_dec(x_354); -lean_dec_ref(x_353); +lean_dec(x_359); +lean_dec_ref(x_358); +lean_dec(x_357); +lean_dec_ref(x_356); +lean_dec(x_355); +lean_dec_ref(x_354); +lean_dec(x_353); lean_dec(x_352); -lean_dec(x_351); { -lean_object* _tmp_3 = x_294; +lean_object* _tmp_3 = x_295; lean_object* _tmp_4 = x_1; -lean_object* _tmp_13 = x_363; +lean_object* _tmp_13 = x_364; x_4 = _tmp_3; x_5 = _tmp_4; x_14 = _tmp_13; @@ -17571,22 +17578,22 @@ uint8_t x_17; x_17 = !lean_is_exclusive(x_5); if (x_17 == 0) { -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; 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; lean_object* x_91; 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_248; lean_object* x_249; uint8_t x_250; +lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; 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; lean_object* x_91; 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_249; lean_object* x_250; uint8_t x_251; x_18 = lean_ctor_get(x_5, 0); x_19 = lean_ctor_get(x_5, 1); x_96 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__1; -x_248 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_96, x_13, x_15); -x_249 = lean_ctor_get(x_248, 0); -lean_inc(x_249); -x_250 = lean_unbox(x_249); -lean_dec(x_249); -if (x_250 == 0) +x_249 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_96, x_13, x_15); +x_250 = lean_ctor_get(x_249, 0); +lean_inc(x_250); +x_251 = lean_unbox(x_250); +lean_dec(x_250); +if (x_251 == 0) { -lean_object* x_251; +lean_object* x_252; lean_free_object(x_5); -x_251 = lean_ctor_get(x_248, 1); -lean_inc(x_251); -lean_dec_ref(x_248); +x_252 = lean_ctor_get(x_249, 1); +lean_inc(x_252); +lean_dec_ref(x_249); lean_inc(x_14); lean_inc_ref(x_13); lean_inc(x_12); @@ -17603,101 +17610,53 @@ x_101 = x_11; x_102 = x_12; x_103 = x_13; x_104 = x_14; -x_105 = x_251; -goto block_247; +x_105 = x_252; +goto block_248; } else { -uint8_t x_252; -x_252 = !lean_is_exclusive(x_248); -if (x_252 == 0) +uint8_t x_253; +x_253 = !lean_is_exclusive(x_249); +if (x_253 == 0) { -lean_object* x_253; lean_object* x_254; lean_object* x_255; -x_253 = lean_ctor_get(x_248, 1); -x_254 = lean_ctor_get(x_248, 0); -lean_dec(x_254); -x_255 = l_Lean_Meta_Grind_updateLastTag(x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_253); -if (lean_obj_tag(x_255) == 0) -{ -uint8_t x_256; -x_256 = !lean_is_exclusive(x_255); -if (x_256 == 0) -{ -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; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; -x_257 = lean_ctor_get(x_255, 1); -x_258 = lean_ctor_get(x_255, 0); -lean_dec(x_258); -x_259 = lean_ctor_get(x_18, 5); -x_260 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; -lean_inc(x_3); -x_261 = l_Lean_MessageData_ofName(x_3); -lean_ctor_set_tag(x_255, 7); -lean_ctor_set(x_255, 1, x_261); -lean_ctor_set(x_255, 0, x_260); -x_262 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; -lean_ctor_set_tag(x_248, 7); -lean_ctor_set(x_248, 1, x_262); -lean_ctor_set(x_248, 0, x_255); -x_263 = l_Lean_Meta_Grind_Origin_key(x_259); -x_264 = l_Lean_MessageData_ofName(x_263); -lean_ctor_set_tag(x_5, 7); -lean_ctor_set(x_5, 1, x_264); -lean_ctor_set(x_5, 0, x_248); -x_265 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_265, 0, x_5); -lean_ctor_set(x_265, 1, x_260); -x_266 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_96, x_265, x_11, x_12, x_13, x_14, x_257); -x_267 = lean_ctor_get(x_266, 1); -lean_inc(x_267); -lean_dec_ref(x_266); -lean_inc(x_14); -lean_inc_ref(x_13); -lean_inc(x_12); -lean_inc_ref(x_11); -lean_inc(x_10); -lean_inc_ref(x_9); -lean_inc(x_8); -lean_inc(x_7); -x_97 = x_7; -x_98 = x_8; -x_99 = x_9; -x_100 = x_10; -x_101 = x_11; -x_102 = x_12; -x_103 = x_13; -x_104 = x_14; -x_105 = x_267; -goto block_247; -} -else -{ -lean_object* x_268; lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; -x_268 = lean_ctor_get(x_255, 1); -lean_inc(x_268); +lean_object* x_254; lean_object* x_255; lean_object* x_256; +x_254 = lean_ctor_get(x_249, 1); +x_255 = lean_ctor_get(x_249, 0); lean_dec(x_255); -x_269 = lean_ctor_get(x_18, 5); -x_270 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +x_256 = l_Lean_Meta_Grind_updateLastTag(x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_254); +if (lean_obj_tag(x_256) == 0) +{ +uint8_t x_257; +x_257 = !lean_is_exclusive(x_256); +if (x_257 == 0) +{ +lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; lean_object* x_262; lean_object* x_263; lean_object* x_264; lean_object* x_265; lean_object* x_266; lean_object* x_267; lean_object* x_268; +x_258 = lean_ctor_get(x_256, 1); +x_259 = lean_ctor_get(x_256, 0); +lean_dec(x_259); +x_260 = lean_ctor_get(x_18, 5); +x_261 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; lean_inc(x_3); -x_271 = l_Lean_MessageData_ofName(x_3); -x_272 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_272, 0, x_270); -lean_ctor_set(x_272, 1, x_271); -x_273 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; -lean_ctor_set_tag(x_248, 7); -lean_ctor_set(x_248, 1, x_273); -lean_ctor_set(x_248, 0, x_272); -x_274 = l_Lean_Meta_Grind_Origin_key(x_269); -x_275 = l_Lean_MessageData_ofName(x_274); +x_262 = l_Lean_MessageData_ofName(x_3); +lean_ctor_set_tag(x_256, 7); +lean_ctor_set(x_256, 1, x_262); +lean_ctor_set(x_256, 0, x_261); +x_263 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; +lean_ctor_set_tag(x_249, 7); +lean_ctor_set(x_249, 1, x_263); +lean_ctor_set(x_249, 0, x_256); +x_264 = l_Lean_Meta_Grind_Origin_key(x_260); +x_265 = l_Lean_MessageData_ofName(x_264); lean_ctor_set_tag(x_5, 7); -lean_ctor_set(x_5, 1, x_275); -lean_ctor_set(x_5, 0, x_248); -x_276 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_276, 0, x_5); -lean_ctor_set(x_276, 1, x_270); -x_277 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_96, x_276, x_11, x_12, x_13, x_14, x_268); -x_278 = lean_ctor_get(x_277, 1); -lean_inc(x_278); -lean_dec_ref(x_277); +lean_ctor_set(x_5, 1, x_265); +lean_ctor_set(x_5, 0, x_249); +x_266 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_266, 0, x_5); +lean_ctor_set(x_266, 1, x_261); +x_267 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_96, x_266, x_11, x_12, x_13, x_14, x_258); +x_268 = lean_ctor_get(x_267, 1); +lean_inc(x_268); +lean_dec_ref(x_267); lean_inc(x_14); lean_inc_ref(x_13); lean_inc(x_12); @@ -17714,77 +17673,38 @@ x_101 = x_11; x_102 = x_12; x_103 = x_13; x_104 = x_14; -x_105 = x_278; -goto block_247; -} +x_105 = x_268; +goto block_248; } else { -lean_free_object(x_248); -lean_free_object(x_5); -lean_dec(x_19); -lean_dec(x_18); -lean_dec(x_14); -lean_dec_ref(x_13); -lean_dec(x_12); -lean_dec_ref(x_11); -lean_dec(x_10); -lean_dec_ref(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_2); -return x_255; -} -} -else -{ -lean_object* x_279; lean_object* x_280; -x_279 = lean_ctor_get(x_248, 1); +lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; +x_269 = lean_ctor_get(x_256, 1); +lean_inc(x_269); +lean_dec(x_256); +x_270 = lean_ctor_get(x_18, 5); +x_271 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +lean_inc(x_3); +x_272 = l_Lean_MessageData_ofName(x_3); +x_273 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_273, 0, x_271); +lean_ctor_set(x_273, 1, x_272); +x_274 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; +lean_ctor_set_tag(x_249, 7); +lean_ctor_set(x_249, 1, x_274); +lean_ctor_set(x_249, 0, x_273); +x_275 = l_Lean_Meta_Grind_Origin_key(x_270); +x_276 = l_Lean_MessageData_ofName(x_275); +lean_ctor_set_tag(x_5, 7); +lean_ctor_set(x_5, 1, x_276); +lean_ctor_set(x_5, 0, x_249); +x_277 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_277, 0, x_5); +lean_ctor_set(x_277, 1, x_271); +x_278 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_96, x_277, x_11, x_12, x_13, x_14, x_269); +x_279 = lean_ctor_get(x_278, 1); lean_inc(x_279); -lean_dec(x_248); -x_280 = l_Lean_Meta_Grind_updateLastTag(x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_279); -if (lean_obj_tag(x_280) == 0) -{ -lean_object* x_281; lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; -x_281 = lean_ctor_get(x_280, 1); -lean_inc(x_281); -if (lean_is_exclusive(x_280)) { - lean_ctor_release(x_280, 0); - lean_ctor_release(x_280, 1); - x_282 = x_280; -} else { - lean_dec_ref(x_280); - x_282 = lean_box(0); -} -x_283 = lean_ctor_get(x_18, 5); -x_284 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; -lean_inc(x_3); -x_285 = l_Lean_MessageData_ofName(x_3); -if (lean_is_scalar(x_282)) { - x_286 = lean_alloc_ctor(7, 2, 0); -} else { - x_286 = x_282; - lean_ctor_set_tag(x_286, 7); -} -lean_ctor_set(x_286, 0, x_284); -lean_ctor_set(x_286, 1, x_285); -x_287 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; -x_288 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_288, 0, x_286); -lean_ctor_set(x_288, 1, x_287); -x_289 = l_Lean_Meta_Grind_Origin_key(x_283); -x_290 = l_Lean_MessageData_ofName(x_289); -lean_ctor_set_tag(x_5, 7); -lean_ctor_set(x_5, 1, x_290); -lean_ctor_set(x_5, 0, x_288); -x_291 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_291, 0, x_5); -lean_ctor_set(x_291, 1, x_284); -x_292 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_96, x_291, x_11, x_12, x_13, x_14, x_281); -x_293 = lean_ctor_get(x_292, 1); -lean_inc(x_293); -lean_dec_ref(x_292); +lean_dec_ref(x_278); lean_inc(x_14); lean_inc_ref(x_13); lean_inc(x_12); @@ -17801,8 +17721,95 @@ x_101 = x_11; x_102 = x_12; x_103 = x_13; x_104 = x_14; -x_105 = x_293; -goto block_247; +x_105 = x_279; +goto block_248; +} +} +else +{ +lean_free_object(x_249); +lean_free_object(x_5); +lean_dec(x_19); +lean_dec(x_18); +lean_dec(x_14); +lean_dec_ref(x_13); +lean_dec(x_12); +lean_dec_ref(x_11); +lean_dec(x_10); +lean_dec_ref(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_3); +lean_dec(x_2); +return x_256; +} +} +else +{ +lean_object* x_280; lean_object* x_281; +x_280 = lean_ctor_get(x_249, 1); +lean_inc(x_280); +lean_dec(x_249); +x_281 = l_Lean_Meta_Grind_updateLastTag(x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_280); +if (lean_obj_tag(x_281) == 0) +{ +lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; lean_object* x_293; lean_object* x_294; +x_282 = lean_ctor_get(x_281, 1); +lean_inc(x_282); +if (lean_is_exclusive(x_281)) { + lean_ctor_release(x_281, 0); + lean_ctor_release(x_281, 1); + x_283 = x_281; +} else { + lean_dec_ref(x_281); + x_283 = lean_box(0); +} +x_284 = lean_ctor_get(x_18, 5); +x_285 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +lean_inc(x_3); +x_286 = l_Lean_MessageData_ofName(x_3); +if (lean_is_scalar(x_283)) { + x_287 = lean_alloc_ctor(7, 2, 0); +} else { + x_287 = x_283; + lean_ctor_set_tag(x_287, 7); +} +lean_ctor_set(x_287, 0, x_285); +lean_ctor_set(x_287, 1, x_286); +x_288 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; +x_289 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_289, 0, x_287); +lean_ctor_set(x_289, 1, x_288); +x_290 = l_Lean_Meta_Grind_Origin_key(x_284); +x_291 = l_Lean_MessageData_ofName(x_290); +lean_ctor_set_tag(x_5, 7); +lean_ctor_set(x_5, 1, x_291); +lean_ctor_set(x_5, 0, x_289); +x_292 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_292, 0, x_5); +lean_ctor_set(x_292, 1, x_285); +x_293 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_96, x_292, x_11, x_12, x_13, x_14, x_282); +x_294 = lean_ctor_get(x_293, 1); +lean_inc(x_294); +lean_dec_ref(x_293); +lean_inc(x_14); +lean_inc_ref(x_13); +lean_inc(x_12); +lean_inc_ref(x_11); +lean_inc(x_10); +lean_inc_ref(x_9); +lean_inc(x_8); +lean_inc(x_7); +x_97 = x_7; +x_98 = x_8; +x_99 = x_9; +x_100 = x_10; +x_101 = x_11; +x_102 = x_12; +x_103 = x_13; +x_104 = x_14; +x_105 = x_294; +goto block_248; } else { @@ -17819,7 +17826,7 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_3); lean_dec(x_2); -return x_280; +return x_281; } } } @@ -18038,7 +18045,7 @@ lean_dec(x_2); return x_92; } } -block_247: +block_248: { lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111; x_106 = lean_st_ref_get(x_97, x_105); @@ -18529,7 +18536,7 @@ return x_197; } else { -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; uint8_t x_205; +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; uint8_t x_205; uint8_t x_206; x_198 = lean_ctor_get(x_18, 0); x_199 = lean_ctor_get(x_18, 1); x_200 = lean_ctor_get(x_18, 2); @@ -18537,6 +18544,7 @@ x_201 = lean_ctor_get(x_18, 3); x_202 = lean_ctor_get(x_18, 4); x_203 = lean_ctor_get(x_18, 5); x_204 = lean_ctor_get(x_18, 6); +x_205 = lean_ctor_get_uint8(x_18, sizeof(void*)*7); lean_inc(x_204); lean_inc(x_203); lean_inc(x_202); @@ -18545,47 +18553,48 @@ lean_inc(x_200); lean_inc(x_199); lean_inc(x_198); lean_dec(x_18); -x_205 = l_Lean_Meta_Grind_EMatchTheorems_isErased(x_110, x_203); -if (x_205 == 0) +x_206 = l_Lean_Meta_Grind_EMatchTheorems_isErased(x_110, x_203); +if (x_206 == 0) { -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; -x_206 = lean_st_ref_get(x_97, x_109); -x_207 = lean_ctor_get(x_206, 0); -lean_inc(x_207); -x_208 = lean_ctor_get(x_206, 1); +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; +x_207 = lean_st_ref_get(x_97, x_109); +x_208 = lean_ctor_get(x_207, 0); lean_inc(x_208); -lean_dec_ref(x_206); -x_209 = lean_ctor_get(x_207, 6); -lean_inc_ref(x_209); -lean_dec(x_207); -x_210 = lean_box(0); -x_211 = l_List_filterTR_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__10(x_209, x_205, x_202, x_210); +x_209 = lean_ctor_get(x_207, 1); +lean_inc(x_209); +lean_dec_ref(x_207); +x_210 = lean_ctor_get(x_208, 6); +lean_inc_ref(x_210); +lean_dec(x_208); +x_211 = lean_box(0); +x_212 = l_List_filterTR_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__10(x_210, x_206, x_202, x_211); lean_inc_ref(x_203); -lean_inc(x_211); -x_212 = lean_alloc_ctor(0, 7, 0); -lean_ctor_set(x_212, 0, x_198); -lean_ctor_set(x_212, 1, x_199); -lean_ctor_set(x_212, 2, x_200); -lean_ctor_set(x_212, 3, x_201); -lean_ctor_set(x_212, 4, x_211); -lean_ctor_set(x_212, 5, x_203); -lean_ctor_set(x_212, 6, x_204); -if (lean_obj_tag(x_211) == 0) +lean_inc(x_212); +x_213 = lean_alloc_ctor(0, 7, 1); +lean_ctor_set(x_213, 0, x_198); +lean_ctor_set(x_213, 1, x_199); +lean_ctor_set(x_213, 2, x_200); +lean_ctor_set(x_213, 3, x_201); +lean_ctor_set(x_213, 4, x_212); +lean_ctor_set(x_213, 5, x_203); +lean_ctor_set(x_213, 6, x_204); +lean_ctor_set_uint8(x_213, sizeof(void*)*7, x_205); +if (lean_obj_tag(x_212) == 0) { -lean_object* x_213; lean_object* x_214; uint8_t x_215; -x_213 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_96, x_103, x_208); -x_214 = lean_ctor_get(x_213, 0); -lean_inc(x_214); -x_215 = lean_unbox(x_214); -lean_dec(x_214); -if (x_215 == 0) +lean_object* x_214; lean_object* x_215; uint8_t x_216; +x_214 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_96, x_103, x_209); +x_215 = lean_ctor_get(x_214, 0); +lean_inc(x_215); +x_216 = lean_unbox(x_215); +lean_dec(x_215); +if (x_216 == 0) { -lean_object* x_216; +lean_object* x_217; lean_dec_ref(x_203); -x_216 = lean_ctor_get(x_213, 1); -lean_inc(x_216); -lean_dec_ref(x_213); -x_82 = x_212; +x_217 = lean_ctor_get(x_214, 1); +lean_inc(x_217); +lean_dec_ref(x_214); +x_82 = x_213; x_83 = x_97; x_84 = x_98; x_85 = x_99; @@ -18594,61 +18603,61 @@ x_87 = x_101; x_88 = x_102; x_89 = x_103; x_90 = x_104; -x_91 = x_216; +x_91 = x_217; goto block_95; } else { -lean_object* x_217; lean_object* x_218; lean_object* x_219; -x_217 = lean_ctor_get(x_213, 1); -lean_inc(x_217); -if (lean_is_exclusive(x_213)) { - lean_ctor_release(x_213, 0); - lean_ctor_release(x_213, 1); - x_218 = x_213; +lean_object* x_218; lean_object* x_219; lean_object* x_220; +x_218 = lean_ctor_get(x_214, 1); +lean_inc(x_218); +if (lean_is_exclusive(x_214)) { + lean_ctor_release(x_214, 0); + lean_ctor_release(x_214, 1); + x_219 = x_214; } else { - lean_dec_ref(x_213); - x_218 = lean_box(0); + lean_dec_ref(x_214); + x_219 = lean_box(0); } -x_219 = l_Lean_Meta_Grind_updateLastTag(x_97, x_98, x_99, x_100, x_101, x_102, x_103, x_104, x_217); -if (lean_obj_tag(x_219) == 0) +x_220 = l_Lean_Meta_Grind_updateLastTag(x_97, x_98, x_99, x_100, x_101, x_102, x_103, x_104, x_218); +if (lean_obj_tag(x_220) == 0) { -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; -x_220 = lean_ctor_get(x_219, 1); -lean_inc(x_220); -if (lean_is_exclusive(x_219)) { - lean_ctor_release(x_219, 0); - lean_ctor_release(x_219, 1); - x_221 = x_219; +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; +x_221 = lean_ctor_get(x_220, 1); +lean_inc(x_221); +if (lean_is_exclusive(x_220)) { + lean_ctor_release(x_220, 0); + lean_ctor_release(x_220, 1); + x_222 = x_220; } else { - lean_dec_ref(x_219); - x_221 = lean_box(0); + lean_dec_ref(x_220); + x_222 = lean_box(0); } -x_222 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; -x_223 = l_Lean_Meta_Grind_Origin_key(x_203); +x_223 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +x_224 = l_Lean_Meta_Grind_Origin_key(x_203); lean_dec_ref(x_203); -x_224 = l_Lean_MessageData_ofName(x_223); -if (lean_is_scalar(x_221)) { - x_225 = lean_alloc_ctor(7, 2, 0); -} else { - x_225 = x_221; - lean_ctor_set_tag(x_225, 7); -} -lean_ctor_set(x_225, 0, x_222); -lean_ctor_set(x_225, 1, x_224); -if (lean_is_scalar(x_218)) { +x_225 = l_Lean_MessageData_ofName(x_224); +if (lean_is_scalar(x_222)) { x_226 = lean_alloc_ctor(7, 2, 0); } else { - x_226 = x_218; + x_226 = x_222; lean_ctor_set_tag(x_226, 7); } -lean_ctor_set(x_226, 0, x_225); -lean_ctor_set(x_226, 1, x_222); -x_227 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_96, x_226, x_101, x_102, x_103, x_104, x_220); -x_228 = lean_ctor_get(x_227, 1); -lean_inc(x_228); -lean_dec_ref(x_227); -x_82 = x_212; +lean_ctor_set(x_226, 0, x_223); +lean_ctor_set(x_226, 1, x_225); +if (lean_is_scalar(x_219)) { + x_227 = lean_alloc_ctor(7, 2, 0); +} else { + x_227 = x_219; + lean_ctor_set_tag(x_227, 7); +} +lean_ctor_set(x_227, 0, x_226); +lean_ctor_set(x_227, 1, x_223); +x_228 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_96, x_227, x_101, x_102, x_103, x_104, x_221); +x_229 = lean_ctor_get(x_228, 1); +lean_inc(x_229); +lean_dec_ref(x_228); +x_82 = x_213; x_83 = x_97; x_84 = x_98; x_85 = x_99; @@ -18657,13 +18666,13 @@ x_87 = x_101; x_88 = x_102; x_89 = x_103; x_90 = x_104; -x_91 = x_228; +x_91 = x_229; goto block_95; } else { -lean_dec(x_218); -lean_dec_ref(x_212); +lean_dec(x_219); +lean_dec_ref(x_213); lean_dec_ref(x_203); lean_dec(x_104); lean_dec_ref(x_103); @@ -18684,22 +18693,22 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_3); lean_dec(x_2); -return x_219; +return x_220; } } } else { -lean_object* x_229; lean_object* x_230; uint8_t x_231; -lean_dec_ref(x_211); -x_229 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_96, x_103, x_208); -x_230 = lean_ctor_get(x_229, 0); -lean_inc(x_230); -x_231 = lean_unbox(x_230); -lean_dec(x_230); -if (x_231 == 0) +lean_object* x_230; lean_object* x_231; uint8_t x_232; +lean_dec_ref(x_212); +x_230 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_96, x_103, x_209); +x_231 = lean_ctor_get(x_230, 0); +lean_inc(x_231); +x_232 = lean_unbox(x_231); +lean_dec(x_231); +if (x_232 == 0) { -lean_object* x_232; +lean_object* x_233; lean_dec_ref(x_203); lean_dec(x_104); lean_dec_ref(x_103); @@ -18708,82 +18717,82 @@ lean_dec_ref(x_101); lean_dec(x_100); lean_dec_ref(x_99); lean_dec(x_98); -x_232 = lean_ctor_get(x_229, 1); -lean_inc(x_232); -lean_dec_ref(x_229); -x_20 = x_212; -x_21 = x_97; -x_22 = x_232; -goto block_81; -} -else -{ -lean_object* x_233; lean_object* x_234; lean_object* x_235; -x_233 = lean_ctor_get(x_229, 1); +x_233 = lean_ctor_get(x_230, 1); lean_inc(x_233); -if (lean_is_exclusive(x_229)) { - lean_ctor_release(x_229, 0); - lean_ctor_release(x_229, 1); - x_234 = x_229; -} else { - lean_dec_ref(x_229); - x_234 = lean_box(0); -} -x_235 = l_Lean_Meta_Grind_updateLastTag(x_97, x_98, x_99, x_100, x_101, x_102, x_103, x_104, x_233); -lean_dec(x_100); -lean_dec_ref(x_99); -lean_dec(x_98); -if (lean_obj_tag(x_235) == 0) -{ -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; lean_object* x_244; lean_object* x_245; -x_236 = lean_ctor_get(x_235, 1); -lean_inc(x_236); -if (lean_is_exclusive(x_235)) { - lean_ctor_release(x_235, 0); - lean_ctor_release(x_235, 1); - x_237 = x_235; -} else { - lean_dec_ref(x_235); - x_237 = lean_box(0); -} -x_238 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__5; -x_239 = l_Lean_Meta_Grind_Origin_key(x_203); -lean_dec_ref(x_203); -x_240 = l_Lean_MessageData_ofName(x_239); -if (lean_is_scalar(x_237)) { - x_241 = lean_alloc_ctor(7, 2, 0); -} else { - x_241 = x_237; - lean_ctor_set_tag(x_241, 7); -} -lean_ctor_set(x_241, 0, x_238); -lean_ctor_set(x_241, 1, x_240); -x_242 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; -if (lean_is_scalar(x_234)) { - x_243 = lean_alloc_ctor(7, 2, 0); -} else { - x_243 = x_234; - lean_ctor_set_tag(x_243, 7); -} -lean_ctor_set(x_243, 0, x_241); -lean_ctor_set(x_243, 1, x_242); -x_244 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_96, x_243, x_101, x_102, x_103, x_104, x_236); -lean_dec(x_104); -lean_dec_ref(x_103); -lean_dec(x_102); -lean_dec_ref(x_101); -x_245 = lean_ctor_get(x_244, 1); -lean_inc(x_245); -lean_dec_ref(x_244); -x_20 = x_212; +lean_dec_ref(x_230); +x_20 = x_213; x_21 = x_97; -x_22 = x_245; +x_22 = x_233; goto block_81; } else { -lean_dec(x_234); -lean_dec_ref(x_212); +lean_object* x_234; lean_object* x_235; lean_object* x_236; +x_234 = lean_ctor_get(x_230, 1); +lean_inc(x_234); +if (lean_is_exclusive(x_230)) { + lean_ctor_release(x_230, 0); + lean_ctor_release(x_230, 1); + x_235 = x_230; +} else { + lean_dec_ref(x_230); + x_235 = lean_box(0); +} +x_236 = l_Lean_Meta_Grind_updateLastTag(x_97, x_98, x_99, x_100, x_101, x_102, x_103, x_104, x_234); +lean_dec(x_100); +lean_dec_ref(x_99); +lean_dec(x_98); +if (lean_obj_tag(x_236) == 0) +{ +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; lean_object* x_244; lean_object* x_245; lean_object* x_246; +x_237 = lean_ctor_get(x_236, 1); +lean_inc(x_237); +if (lean_is_exclusive(x_236)) { + lean_ctor_release(x_236, 0); + lean_ctor_release(x_236, 1); + x_238 = x_236; +} else { + lean_dec_ref(x_236); + x_238 = lean_box(0); +} +x_239 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__5; +x_240 = l_Lean_Meta_Grind_Origin_key(x_203); +lean_dec_ref(x_203); +x_241 = l_Lean_MessageData_ofName(x_240); +if (lean_is_scalar(x_238)) { + x_242 = lean_alloc_ctor(7, 2, 0); +} else { + x_242 = x_238; + lean_ctor_set_tag(x_242, 7); +} +lean_ctor_set(x_242, 0, x_239); +lean_ctor_set(x_242, 1, x_241); +x_243 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +if (lean_is_scalar(x_235)) { + x_244 = lean_alloc_ctor(7, 2, 0); +} else { + x_244 = x_235; + lean_ctor_set_tag(x_244, 7); +} +lean_ctor_set(x_244, 0, x_242); +lean_ctor_set(x_244, 1, x_243); +x_245 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_96, x_244, x_101, x_102, x_103, x_104, x_237); +lean_dec(x_104); +lean_dec_ref(x_103); +lean_dec(x_102); +lean_dec_ref(x_101); +x_246 = lean_ctor_get(x_245, 1); +lean_inc(x_246); +lean_dec_ref(x_245); +x_20 = x_213; +x_21 = x_97; +x_22 = x_246; +goto block_81; +} +else +{ +lean_dec(x_235); +lean_dec_ref(x_213); lean_dec_ref(x_203); lean_dec(x_104); lean_dec_ref(x_103); @@ -18801,14 +18810,14 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_3); lean_dec(x_2); -return x_235; +return x_236; } } } } else { -lean_object* x_246; +lean_object* x_247; lean_dec(x_204); lean_dec_ref(x_203); lean_dec(x_202); @@ -18824,32 +18833,32 @@ lean_dec(x_100); lean_dec_ref(x_99); lean_dec(x_98); lean_dec(x_97); -x_246 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg(x_1, x_2, x_3, x_19, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_109); -return x_246; +x_247 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg(x_1, x_2, x_3, x_19, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_109); +return x_247; } } } } else { -lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_337; lean_object* x_338; 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_351; lean_object* x_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_417; lean_object* x_418; uint8_t x_419; -x_294 = lean_ctor_get(x_5, 0); -x_295 = lean_ctor_get(x_5, 1); +lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_338; 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_352; lean_object* x_353; lean_object* x_354; lean_object* x_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_419; lean_object* x_420; uint8_t x_421; +x_295 = lean_ctor_get(x_5, 0); +x_296 = lean_ctor_get(x_5, 1); +lean_inc(x_296); lean_inc(x_295); -lean_inc(x_294); lean_dec(x_5); -x_351 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__1; -x_417 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_351, x_13, x_15); -x_418 = lean_ctor_get(x_417, 0); -lean_inc(x_418); -x_419 = lean_unbox(x_418); -lean_dec(x_418); -if (x_419 == 0) -{ -lean_object* x_420; -x_420 = lean_ctor_get(x_417, 1); +x_352 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__1; +x_419 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_352, x_13, x_15); +x_420 = lean_ctor_get(x_419, 0); lean_inc(x_420); -lean_dec_ref(x_417); +x_421 = lean_unbox(x_420); +lean_dec(x_420); +if (x_421 == 0) +{ +lean_object* x_422; +x_422 = lean_ctor_get(x_419, 1); +lean_inc(x_422); +lean_dec_ref(x_419); lean_inc(x_14); lean_inc_ref(x_13); lean_inc(x_12); @@ -18858,77 +18867,77 @@ lean_inc(x_10); lean_inc_ref(x_9); lean_inc(x_8); lean_inc(x_7); -x_352 = x_7; -x_353 = x_8; -x_354 = x_9; -x_355 = x_10; -x_356 = x_11; -x_357 = x_12; -x_358 = x_13; -x_359 = x_14; -x_360 = x_420; -goto block_416; +x_353 = x_7; +x_354 = x_8; +x_355 = x_9; +x_356 = x_10; +x_357 = x_11; +x_358 = x_12; +x_359 = x_13; +x_360 = x_14; +x_361 = x_422; +goto block_418; } else { -lean_object* x_421; lean_object* x_422; lean_object* x_423; -x_421 = lean_ctor_get(x_417, 1); -lean_inc(x_421); -if (lean_is_exclusive(x_417)) { - lean_ctor_release(x_417, 0); - lean_ctor_release(x_417, 1); - x_422 = x_417; +lean_object* x_423; lean_object* x_424; lean_object* x_425; +x_423 = lean_ctor_get(x_419, 1); +lean_inc(x_423); +if (lean_is_exclusive(x_419)) { + lean_ctor_release(x_419, 0); + lean_ctor_release(x_419, 1); + x_424 = x_419; } else { - lean_dec_ref(x_417); - x_422 = lean_box(0); + lean_dec_ref(x_419); + x_424 = lean_box(0); } -x_423 = l_Lean_Meta_Grind_updateLastTag(x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_421); -if (lean_obj_tag(x_423) == 0) +x_425 = l_Lean_Meta_Grind_updateLastTag(x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_423); +if (lean_obj_tag(x_425) == 0) { -lean_object* x_424; lean_object* x_425; lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; -x_424 = lean_ctor_get(x_423, 1); -lean_inc(x_424); -if (lean_is_exclusive(x_423)) { - lean_ctor_release(x_423, 0); - lean_ctor_release(x_423, 1); - x_425 = x_423; +lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; lean_object* x_432; lean_object* x_433; lean_object* x_434; lean_object* x_435; lean_object* x_436; lean_object* x_437; lean_object* x_438; lean_object* x_439; +x_426 = lean_ctor_get(x_425, 1); +lean_inc(x_426); +if (lean_is_exclusive(x_425)) { + lean_ctor_release(x_425, 0); + lean_ctor_release(x_425, 1); + x_427 = x_425; } else { - lean_dec_ref(x_423); - x_425 = lean_box(0); + lean_dec_ref(x_425); + x_427 = lean_box(0); } -x_426 = lean_ctor_get(x_294, 5); -x_427 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +x_428 = lean_ctor_get(x_295, 5); +x_429 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; lean_inc(x_3); -x_428 = l_Lean_MessageData_ofName(x_3); -if (lean_is_scalar(x_425)) { - x_429 = lean_alloc_ctor(7, 2, 0); -} else { - x_429 = x_425; - lean_ctor_set_tag(x_429, 7); -} -lean_ctor_set(x_429, 0, x_427); -lean_ctor_set(x_429, 1, x_428); -x_430 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; -if (lean_is_scalar(x_422)) { +x_430 = l_Lean_MessageData_ofName(x_3); +if (lean_is_scalar(x_427)) { x_431 = lean_alloc_ctor(7, 2, 0); } else { - x_431 = x_422; + x_431 = x_427; lean_ctor_set_tag(x_431, 7); } lean_ctor_set(x_431, 0, x_429); lean_ctor_set(x_431, 1, x_430); -x_432 = l_Lean_Meta_Grind_Origin_key(x_426); -x_433 = l_Lean_MessageData_ofName(x_432); -x_434 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_434, 0, x_431); -lean_ctor_set(x_434, 1, x_433); -x_435 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_435, 0, x_434); -lean_ctor_set(x_435, 1, x_427); -x_436 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_351, x_435, x_11, x_12, x_13, x_14, x_424); -x_437 = lean_ctor_get(x_436, 1); -lean_inc(x_437); -lean_dec_ref(x_436); +x_432 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__7; +if (lean_is_scalar(x_424)) { + x_433 = lean_alloc_ctor(7, 2, 0); +} else { + x_433 = x_424; + lean_ctor_set_tag(x_433, 7); +} +lean_ctor_set(x_433, 0, x_431); +lean_ctor_set(x_433, 1, x_432); +x_434 = l_Lean_Meta_Grind_Origin_key(x_428); +x_435 = l_Lean_MessageData_ofName(x_434); +x_436 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_436, 0, x_433); +lean_ctor_set(x_436, 1, x_435); +x_437 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_437, 0, x_436); +lean_ctor_set(x_437, 1, x_429); +x_438 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_352, x_437, x_11, x_12, x_13, x_14, x_426); +x_439 = lean_ctor_get(x_438, 1); +lean_inc(x_439); +lean_dec_ref(x_438); lean_inc(x_14); lean_inc_ref(x_13); lean_inc(x_12); @@ -18937,22 +18946,22 @@ lean_inc(x_10); lean_inc_ref(x_9); lean_inc(x_8); lean_inc(x_7); -x_352 = x_7; -x_353 = x_8; -x_354 = x_9; -x_355 = x_10; -x_356 = x_11; -x_357 = x_12; -x_358 = x_13; -x_359 = x_14; -x_360 = x_437; -goto block_416; +x_353 = x_7; +x_354 = x_8; +x_355 = x_9; +x_356 = x_10; +x_357 = x_11; +x_358 = x_12; +x_359 = x_13; +x_360 = x_14; +x_361 = x_439; +goto block_418; } else { -lean_dec(x_422); +lean_dec(x_424); +lean_dec(x_296); lean_dec(x_295); -lean_dec(x_294); lean_dec(x_14); lean_dec_ref(x_13); lean_dec(x_12); @@ -18963,91 +18972,51 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_3); lean_dec(x_2); -return x_423; +return x_425; } } -block_336: +block_337: { -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; lean_object* x_310; uint8_t x_311; lean_object* x_312; lean_object* x_313; lean_object* x_314; 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; lean_object* x_325; 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; lean_object* x_333; lean_object* x_334; lean_object* x_335; -x_299 = lean_st_ref_take(x_297, x_298); -x_300 = lean_ctor_get(x_299, 0); -lean_inc(x_300); -x_301 = lean_ctor_get(x_300, 12); -lean_inc_ref(x_301); -x_302 = lean_ctor_get(x_299, 1); -lean_inc(x_302); -lean_dec_ref(x_299); -x_303 = lean_ctor_get(x_300, 0); +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; lean_object* x_310; lean_object* x_311; uint8_t x_312; lean_object* x_313; lean_object* x_314; 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; lean_object* x_325; 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; lean_object* x_333; lean_object* x_334; lean_object* x_335; lean_object* x_336; +x_300 = lean_st_ref_take(x_298, x_299); +x_301 = lean_ctor_get(x_300, 0); +lean_inc(x_301); +x_302 = lean_ctor_get(x_301, 12); +lean_inc_ref(x_302); +x_303 = lean_ctor_get(x_300, 1); lean_inc(x_303); -x_304 = lean_ctor_get(x_300, 1); -lean_inc_ref(x_304); -x_305 = lean_ctor_get(x_300, 2); -lean_inc(x_305); -x_306 = lean_ctor_get(x_300, 3); -lean_inc_ref(x_306); -x_307 = lean_ctor_get(x_300, 4); +lean_dec_ref(x_300); +x_304 = lean_ctor_get(x_301, 0); +lean_inc(x_304); +x_305 = lean_ctor_get(x_301, 1); +lean_inc_ref(x_305); +x_306 = lean_ctor_get(x_301, 2); +lean_inc(x_306); +x_307 = lean_ctor_get(x_301, 3); lean_inc_ref(x_307); -x_308 = lean_ctor_get(x_300, 5); +x_308 = lean_ctor_get(x_301, 4); lean_inc_ref(x_308); -x_309 = lean_ctor_get(x_300, 6); +x_309 = lean_ctor_get(x_301, 5); lean_inc_ref(x_309); -x_310 = lean_ctor_get(x_300, 7); +x_310 = lean_ctor_get(x_301, 6); lean_inc_ref(x_310); -x_311 = lean_ctor_get_uint8(x_300, sizeof(void*)*16); -x_312 = lean_ctor_get(x_300, 8); -lean_inc(x_312); -x_313 = lean_ctor_get(x_300, 9); -lean_inc_ref(x_313); -x_314 = lean_ctor_get(x_300, 10); +x_311 = lean_ctor_get(x_301, 7); +lean_inc_ref(x_311); +x_312 = lean_ctor_get_uint8(x_301, sizeof(void*)*16); +x_313 = lean_ctor_get(x_301, 8); +lean_inc(x_313); +x_314 = lean_ctor_get(x_301, 9); lean_inc_ref(x_314); -x_315 = lean_ctor_get(x_300, 11); +x_315 = lean_ctor_get(x_301, 10); lean_inc_ref(x_315); -x_316 = lean_ctor_get(x_300, 13); +x_316 = lean_ctor_get(x_301, 11); lean_inc_ref(x_316); -x_317 = lean_ctor_get(x_300, 14); +x_317 = lean_ctor_get(x_301, 13); lean_inc_ref(x_317); -x_318 = lean_ctor_get(x_300, 15); +x_318 = lean_ctor_get(x_301, 14); lean_inc_ref(x_318); -if (lean_is_exclusive(x_300)) { - lean_ctor_release(x_300, 0); - lean_ctor_release(x_300, 1); - lean_ctor_release(x_300, 2); - lean_ctor_release(x_300, 3); - lean_ctor_release(x_300, 4); - lean_ctor_release(x_300, 5); - lean_ctor_release(x_300, 6); - lean_ctor_release(x_300, 7); - lean_ctor_release(x_300, 8); - lean_ctor_release(x_300, 9); - lean_ctor_release(x_300, 10); - lean_ctor_release(x_300, 11); - lean_ctor_release(x_300, 12); - lean_ctor_release(x_300, 13); - lean_ctor_release(x_300, 14); - lean_ctor_release(x_300, 15); - x_319 = x_300; -} else { - lean_dec_ref(x_300); - x_319 = lean_box(0); -} -x_320 = lean_ctor_get(x_301, 0); -lean_inc_ref(x_320); -x_321 = lean_ctor_get(x_301, 1); -lean_inc(x_321); -x_322 = lean_ctor_get(x_301, 2); -lean_inc_ref(x_322); -x_323 = lean_ctor_get(x_301, 3); -lean_inc_ref(x_323); -x_324 = lean_ctor_get(x_301, 4); -lean_inc(x_324); -x_325 = lean_ctor_get(x_301, 5); -lean_inc(x_325); -x_326 = lean_ctor_get(x_301, 6); -lean_inc_ref(x_326); -x_327 = lean_ctor_get(x_301, 7); -lean_inc(x_327); -x_328 = lean_ctor_get(x_301, 8); -lean_inc_ref(x_328); +x_319 = lean_ctor_get(x_301, 15); +lean_inc_ref(x_319); if (lean_is_exclusive(x_301)) { lean_ctor_release(x_301, 0); lean_ctor_release(x_301, 1); @@ -19058,73 +19027,113 @@ if (lean_is_exclusive(x_301)) { lean_ctor_release(x_301, 6); lean_ctor_release(x_301, 7); lean_ctor_release(x_301, 8); - x_329 = x_301; + lean_ctor_release(x_301, 9); + lean_ctor_release(x_301, 10); + lean_ctor_release(x_301, 11); + lean_ctor_release(x_301, 12); + lean_ctor_release(x_301, 13); + lean_ctor_release(x_301, 14); + lean_ctor_release(x_301, 15); + x_320 = x_301; } else { lean_dec_ref(x_301); - x_329 = lean_box(0); + x_320 = lean_box(0); } -x_330 = l_Lean_Meta_Grind_EMatchTheorems_insert(x_320, x_296); -if (lean_is_scalar(x_329)) { - x_331 = lean_alloc_ctor(0, 9, 0); +x_321 = lean_ctor_get(x_302, 0); +lean_inc_ref(x_321); +x_322 = lean_ctor_get(x_302, 1); +lean_inc(x_322); +x_323 = lean_ctor_get(x_302, 2); +lean_inc_ref(x_323); +x_324 = lean_ctor_get(x_302, 3); +lean_inc_ref(x_324); +x_325 = lean_ctor_get(x_302, 4); +lean_inc(x_325); +x_326 = lean_ctor_get(x_302, 5); +lean_inc(x_326); +x_327 = lean_ctor_get(x_302, 6); +lean_inc_ref(x_327); +x_328 = lean_ctor_get(x_302, 7); +lean_inc(x_328); +x_329 = lean_ctor_get(x_302, 8); +lean_inc_ref(x_329); +if (lean_is_exclusive(x_302)) { + lean_ctor_release(x_302, 0); + lean_ctor_release(x_302, 1); + lean_ctor_release(x_302, 2); + lean_ctor_release(x_302, 3); + lean_ctor_release(x_302, 4); + lean_ctor_release(x_302, 5); + lean_ctor_release(x_302, 6); + lean_ctor_release(x_302, 7); + lean_ctor_release(x_302, 8); + x_330 = x_302; } else { - x_331 = x_329; + lean_dec_ref(x_302); + x_330 = lean_box(0); } -lean_ctor_set(x_331, 0, x_330); -lean_ctor_set(x_331, 1, x_321); -lean_ctor_set(x_331, 2, x_322); -lean_ctor_set(x_331, 3, x_323); -lean_ctor_set(x_331, 4, x_324); -lean_ctor_set(x_331, 5, x_325); -lean_ctor_set(x_331, 6, x_326); -lean_ctor_set(x_331, 7, x_327); -lean_ctor_set(x_331, 8, x_328); -if (lean_is_scalar(x_319)) { - x_332 = lean_alloc_ctor(0, 16, 1); +x_331 = l_Lean_Meta_Grind_EMatchTheorems_insert(x_321, x_297); +if (lean_is_scalar(x_330)) { + x_332 = lean_alloc_ctor(0, 9, 0); } else { - x_332 = x_319; + x_332 = x_330; } -lean_ctor_set(x_332, 0, x_303); -lean_ctor_set(x_332, 1, x_304); -lean_ctor_set(x_332, 2, x_305); -lean_ctor_set(x_332, 3, x_306); -lean_ctor_set(x_332, 4, x_307); -lean_ctor_set(x_332, 5, x_308); -lean_ctor_set(x_332, 6, x_309); -lean_ctor_set(x_332, 7, x_310); -lean_ctor_set(x_332, 8, x_312); -lean_ctor_set(x_332, 9, x_313); -lean_ctor_set(x_332, 10, x_314); -lean_ctor_set(x_332, 11, x_315); -lean_ctor_set(x_332, 12, x_331); -lean_ctor_set(x_332, 13, x_316); -lean_ctor_set(x_332, 14, x_317); -lean_ctor_set(x_332, 15, x_318); -lean_ctor_set_uint8(x_332, sizeof(void*)*16, x_311); -x_333 = lean_st_ref_set(x_297, x_332, x_302); -lean_dec(x_297); -x_334 = lean_ctor_get(x_333, 1); -lean_inc(x_334); -lean_dec_ref(x_333); -x_335 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg(x_1, x_2, x_3, x_295, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_334); -return x_335; +lean_ctor_set(x_332, 0, x_331); +lean_ctor_set(x_332, 1, x_322); +lean_ctor_set(x_332, 2, x_323); +lean_ctor_set(x_332, 3, x_324); +lean_ctor_set(x_332, 4, x_325); +lean_ctor_set(x_332, 5, x_326); +lean_ctor_set(x_332, 6, x_327); +lean_ctor_set(x_332, 7, x_328); +lean_ctor_set(x_332, 8, x_329); +if (lean_is_scalar(x_320)) { + x_333 = lean_alloc_ctor(0, 16, 1); +} else { + x_333 = x_320; } -block_350: +lean_ctor_set(x_333, 0, x_304); +lean_ctor_set(x_333, 1, x_305); +lean_ctor_set(x_333, 2, x_306); +lean_ctor_set(x_333, 3, x_307); +lean_ctor_set(x_333, 4, x_308); +lean_ctor_set(x_333, 5, x_309); +lean_ctor_set(x_333, 6, x_310); +lean_ctor_set(x_333, 7, x_311); +lean_ctor_set(x_333, 8, x_313); +lean_ctor_set(x_333, 9, x_314); +lean_ctor_set(x_333, 10, x_315); +lean_ctor_set(x_333, 11, x_316); +lean_ctor_set(x_333, 12, x_332); +lean_ctor_set(x_333, 13, x_317); +lean_ctor_set(x_333, 14, x_318); +lean_ctor_set(x_333, 15, x_319); +lean_ctor_set_uint8(x_333, sizeof(void*)*16, x_312); +x_334 = lean_st_ref_set(x_298, x_333, x_303); +lean_dec(x_298); +x_335 = lean_ctor_get(x_334, 1); +lean_inc(x_335); +lean_dec_ref(x_334); +x_336 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg(x_1, x_2, x_3, x_296, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_335); +return x_336; +} +block_351: { -lean_object* x_347; +lean_object* x_348; lean_inc(x_2); -x_347 = l_Lean_Meta_Grind_activateTheorem(x_337, x_2, x_338, x_339, x_340, x_341, x_342, x_343, x_344, x_345, x_346); -if (lean_obj_tag(x_347) == 0) +x_348 = l_Lean_Meta_Grind_activateTheorem(x_338, x_2, x_339, x_340, x_341, x_342, x_343, x_344, x_345, x_346, x_347); +if (lean_obj_tag(x_348) == 0) { -lean_object* x_348; lean_object* x_349; -x_348 = lean_ctor_get(x_347, 1); -lean_inc(x_348); -lean_dec_ref(x_347); -x_349 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg(x_1, x_2, x_3, x_295, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_348); -return x_349; +lean_object* x_349; lean_object* x_350; +x_349 = lean_ctor_get(x_348, 1); +lean_inc(x_349); +lean_dec_ref(x_348); +x_350 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg(x_1, x_2, x_3, x_296, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_349); +return x_350; } else { -lean_dec(x_295); +lean_dec(x_296); lean_dec(x_14); lean_dec_ref(x_13); lean_dec(x_12); @@ -19135,97 +19144,98 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_3); lean_dec(x_2); -return x_347; +return x_348; } } -block_416: +block_418: { -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_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; uint8_t x_374; -x_361 = lean_st_ref_get(x_352, x_360); -x_362 = lean_ctor_get(x_361, 0); -lean_inc(x_362); -x_363 = lean_ctor_get(x_362, 12); -lean_inc_ref(x_363); -lean_dec(x_362); -x_364 = lean_ctor_get(x_361, 1); -lean_inc(x_364); -lean_dec_ref(x_361); -x_365 = lean_ctor_get(x_363, 0); -lean_inc_ref(x_365); -lean_dec_ref(x_363); -x_366 = lean_ctor_get(x_294, 0); +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_object* x_368; lean_object* x_369; lean_object* x_370; lean_object* x_371; lean_object* x_372; lean_object* x_373; uint8_t x_374; lean_object* x_375; uint8_t x_376; +x_362 = lean_st_ref_get(x_353, x_361); +x_363 = lean_ctor_get(x_362, 0); +lean_inc(x_363); +x_364 = lean_ctor_get(x_363, 12); +lean_inc_ref(x_364); +lean_dec(x_363); +x_365 = lean_ctor_get(x_362, 1); +lean_inc(x_365); +lean_dec_ref(x_362); +x_366 = lean_ctor_get(x_364, 0); lean_inc_ref(x_366); -x_367 = lean_ctor_get(x_294, 1); +lean_dec_ref(x_364); +x_367 = lean_ctor_get(x_295, 0); lean_inc_ref(x_367); -x_368 = lean_ctor_get(x_294, 2); -lean_inc(x_368); -x_369 = lean_ctor_get(x_294, 3); +x_368 = lean_ctor_get(x_295, 1); +lean_inc_ref(x_368); +x_369 = lean_ctor_get(x_295, 2); lean_inc(x_369); -x_370 = lean_ctor_get(x_294, 4); +x_370 = lean_ctor_get(x_295, 3); lean_inc(x_370); -x_371 = lean_ctor_get(x_294, 5); -lean_inc_ref(x_371); -x_372 = lean_ctor_get(x_294, 6); -lean_inc(x_372); -if (lean_is_exclusive(x_294)) { - lean_ctor_release(x_294, 0); - lean_ctor_release(x_294, 1); - lean_ctor_release(x_294, 2); - lean_ctor_release(x_294, 3); - lean_ctor_release(x_294, 4); - lean_ctor_release(x_294, 5); - lean_ctor_release(x_294, 6); - x_373 = x_294; +x_371 = lean_ctor_get(x_295, 4); +lean_inc(x_371); +x_372 = lean_ctor_get(x_295, 5); +lean_inc_ref(x_372); +x_373 = lean_ctor_get(x_295, 6); +lean_inc(x_373); +x_374 = lean_ctor_get_uint8(x_295, sizeof(void*)*7); +if (lean_is_exclusive(x_295)) { + lean_ctor_release(x_295, 0); + lean_ctor_release(x_295, 1); + lean_ctor_release(x_295, 2); + lean_ctor_release(x_295, 3); + lean_ctor_release(x_295, 4); + lean_ctor_release(x_295, 5); + lean_ctor_release(x_295, 6); + x_375 = x_295; } else { - lean_dec_ref(x_294); - x_373 = lean_box(0); + lean_dec_ref(x_295); + x_375 = lean_box(0); } -x_374 = l_Lean_Meta_Grind_EMatchTheorems_isErased(x_365, x_371); -if (x_374 == 0) +x_376 = l_Lean_Meta_Grind_EMatchTheorems_isErased(x_366, x_372); +if (x_376 == 0) { -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; -x_375 = lean_st_ref_get(x_352, x_364); -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_ref(x_375); -x_378 = lean_ctor_get(x_376, 6); -lean_inc_ref(x_378); -lean_dec(x_376); -x_379 = lean_box(0); -x_380 = l_List_filterTR_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__10(x_378, x_374, x_370, x_379); -lean_inc_ref(x_371); -lean_inc(x_380); -if (lean_is_scalar(x_373)) { - x_381 = lean_alloc_ctor(0, 7, 0); +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; +x_377 = lean_st_ref_get(x_353, x_365); +x_378 = lean_ctor_get(x_377, 0); +lean_inc(x_378); +x_379 = lean_ctor_get(x_377, 1); +lean_inc(x_379); +lean_dec_ref(x_377); +x_380 = lean_ctor_get(x_378, 6); +lean_inc_ref(x_380); +lean_dec(x_378); +x_381 = lean_box(0); +x_382 = l_List_filterTR_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__10(x_380, x_376, x_371, x_381); +lean_inc_ref(x_372); +lean_inc(x_382); +if (lean_is_scalar(x_375)) { + x_383 = lean_alloc_ctor(0, 7, 1); } else { - x_381 = x_373; + x_383 = x_375; } -lean_ctor_set(x_381, 0, x_366); -lean_ctor_set(x_381, 1, x_367); -lean_ctor_set(x_381, 2, x_368); -lean_ctor_set(x_381, 3, x_369); -lean_ctor_set(x_381, 4, x_380); -lean_ctor_set(x_381, 5, x_371); -lean_ctor_set(x_381, 6, x_372); -if (lean_obj_tag(x_380) == 0) +lean_ctor_set(x_383, 0, x_367); +lean_ctor_set(x_383, 1, x_368); +lean_ctor_set(x_383, 2, x_369); +lean_ctor_set(x_383, 3, x_370); +lean_ctor_set(x_383, 4, x_382); +lean_ctor_set(x_383, 5, x_372); +lean_ctor_set(x_383, 6, x_373); +lean_ctor_set_uint8(x_383, sizeof(void*)*7, x_374); +if (lean_obj_tag(x_382) == 0) { -lean_object* x_382; lean_object* x_383; uint8_t x_384; -x_382 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_351, x_358, x_377); -x_383 = lean_ctor_get(x_382, 0); -lean_inc(x_383); -x_384 = lean_unbox(x_383); -lean_dec(x_383); -if (x_384 == 0) -{ -lean_object* x_385; -lean_dec_ref(x_371); -x_385 = lean_ctor_get(x_382, 1); +lean_object* x_384; lean_object* x_385; uint8_t x_386; +x_384 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_352, x_359, x_379); +x_385 = lean_ctor_get(x_384, 0); lean_inc(x_385); -lean_dec_ref(x_382); -x_337 = x_381; -x_338 = x_352; +x_386 = lean_unbox(x_385); +lean_dec(x_385); +if (x_386 == 0) +{ +lean_object* x_387; +lean_dec_ref(x_372); +x_387 = lean_ctor_get(x_384, 1); +lean_inc(x_387); +lean_dec_ref(x_384); +x_338 = x_383; x_339 = x_353; x_340 = x_354; x_341 = x_355; @@ -19233,62 +19243,62 @@ x_342 = x_356; x_343 = x_357; x_344 = x_358; x_345 = x_359; -x_346 = x_385; -goto block_350; +x_346 = x_360; +x_347 = x_387; +goto block_351; } else { -lean_object* x_386; lean_object* x_387; lean_object* x_388; -x_386 = lean_ctor_get(x_382, 1); -lean_inc(x_386); -if (lean_is_exclusive(x_382)) { - lean_ctor_release(x_382, 0); - lean_ctor_release(x_382, 1); - x_387 = x_382; +lean_object* x_388; lean_object* x_389; lean_object* x_390; +x_388 = lean_ctor_get(x_384, 1); +lean_inc(x_388); +if (lean_is_exclusive(x_384)) { + lean_ctor_release(x_384, 0); + lean_ctor_release(x_384, 1); + x_389 = x_384; } else { - lean_dec_ref(x_382); - x_387 = lean_box(0); + lean_dec_ref(x_384); + x_389 = lean_box(0); } -x_388 = l_Lean_Meta_Grind_updateLastTag(x_352, x_353, x_354, x_355, x_356, x_357, x_358, x_359, x_386); -if (lean_obj_tag(x_388) == 0) +x_390 = l_Lean_Meta_Grind_updateLastTag(x_353, x_354, x_355, x_356, x_357, x_358, x_359, x_360, x_388); +if (lean_obj_tag(x_390) == 0) { -lean_object* x_389; 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; lean_object* x_397; -x_389 = lean_ctor_get(x_388, 1); -lean_inc(x_389); -if (lean_is_exclusive(x_388)) { - lean_ctor_release(x_388, 0); - lean_ctor_release(x_388, 1); - x_390 = x_388; +lean_object* x_391; lean_object* x_392; lean_object* x_393; lean_object* x_394; lean_object* x_395; lean_object* x_396; lean_object* x_397; lean_object* x_398; lean_object* x_399; +x_391 = lean_ctor_get(x_390, 1); +lean_inc(x_391); +if (lean_is_exclusive(x_390)) { + lean_ctor_release(x_390, 0); + lean_ctor_release(x_390, 1); + x_392 = x_390; } else { - lean_dec_ref(x_388); - x_390 = lean_box(0); + lean_dec_ref(x_390); + x_392 = lean_box(0); } -x_391 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; -x_392 = l_Lean_Meta_Grind_Origin_key(x_371); -lean_dec_ref(x_371); -x_393 = l_Lean_MessageData_ofName(x_392); -if (lean_is_scalar(x_390)) { - x_394 = lean_alloc_ctor(7, 2, 0); +x_393 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +x_394 = l_Lean_Meta_Grind_Origin_key(x_372); +lean_dec_ref(x_372); +x_395 = l_Lean_MessageData_ofName(x_394); +if (lean_is_scalar(x_392)) { + x_396 = lean_alloc_ctor(7, 2, 0); } else { - x_394 = x_390; - lean_ctor_set_tag(x_394, 7); + x_396 = x_392; + lean_ctor_set_tag(x_396, 7); } -lean_ctor_set(x_394, 0, x_391); -lean_ctor_set(x_394, 1, x_393); -if (lean_is_scalar(x_387)) { - x_395 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_396, 0, x_393); +lean_ctor_set(x_396, 1, x_395); +if (lean_is_scalar(x_389)) { + x_397 = lean_alloc_ctor(7, 2, 0); } else { - x_395 = x_387; - lean_ctor_set_tag(x_395, 7); + x_397 = x_389; + lean_ctor_set_tag(x_397, 7); } -lean_ctor_set(x_395, 0, x_394); -lean_ctor_set(x_395, 1, x_391); -x_396 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_351, x_395, x_356, x_357, x_358, x_359, x_389); -x_397 = lean_ctor_get(x_396, 1); -lean_inc(x_397); -lean_dec_ref(x_396); -x_337 = x_381; -x_338 = x_352; +lean_ctor_set(x_397, 0, x_396); +lean_ctor_set(x_397, 1, x_393); +x_398 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_352, x_397, x_357, x_358, x_359, x_360, x_391); +x_399 = lean_ctor_get(x_398, 1); +lean_inc(x_399); +lean_dec_ref(x_398); +x_338 = x_383; x_339 = x_353; x_340 = x_354; x_341 = x_355; @@ -19296,23 +19306,24 @@ x_342 = x_356; x_343 = x_357; x_344 = x_358; x_345 = x_359; -x_346 = x_397; -goto block_350; +x_346 = x_360; +x_347 = x_399; +goto block_351; } else { -lean_dec(x_387); -lean_dec_ref(x_381); -lean_dec_ref(x_371); -lean_dec(x_359); -lean_dec_ref(x_358); -lean_dec(x_357); -lean_dec_ref(x_356); -lean_dec(x_355); -lean_dec_ref(x_354); +lean_dec(x_389); +lean_dec_ref(x_383); +lean_dec_ref(x_372); +lean_dec(x_360); +lean_dec_ref(x_359); +lean_dec(x_358); +lean_dec_ref(x_357); +lean_dec(x_356); +lean_dec_ref(x_355); +lean_dec(x_354); lean_dec(x_353); -lean_dec(x_352); -lean_dec(x_295); +lean_dec(x_296); lean_dec(x_14); lean_dec_ref(x_13); lean_dec(x_12); @@ -19323,113 +19334,113 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_3); lean_dec(x_2); -return x_388; +return x_390; } } } else { -lean_object* x_398; lean_object* x_399; uint8_t x_400; -lean_dec_ref(x_380); -x_398 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_351, x_358, x_377); -x_399 = lean_ctor_get(x_398, 0); -lean_inc(x_399); -x_400 = lean_unbox(x_399); -lean_dec(x_399); -if (x_400 == 0) -{ -lean_object* x_401; -lean_dec_ref(x_371); -lean_dec(x_359); -lean_dec_ref(x_358); -lean_dec(x_357); -lean_dec_ref(x_356); -lean_dec(x_355); -lean_dec_ref(x_354); -lean_dec(x_353); -x_401 = lean_ctor_get(x_398, 1); +lean_object* x_400; lean_object* x_401; uint8_t x_402; +lean_dec_ref(x_382); +x_400 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_addCongrTable_spec__8___redArg(x_352, x_359, x_379); +x_401 = lean_ctor_get(x_400, 0); lean_inc(x_401); -lean_dec_ref(x_398); -x_296 = x_381; -x_297 = x_352; -x_298 = x_401; -goto block_336; +x_402 = lean_unbox(x_401); +lean_dec(x_401); +if (x_402 == 0) +{ +lean_object* x_403; +lean_dec_ref(x_372); +lean_dec(x_360); +lean_dec_ref(x_359); +lean_dec(x_358); +lean_dec_ref(x_357); +lean_dec(x_356); +lean_dec_ref(x_355); +lean_dec(x_354); +x_403 = lean_ctor_get(x_400, 1); +lean_inc(x_403); +lean_dec_ref(x_400); +x_297 = x_383; +x_298 = x_353; +x_299 = x_403; +goto block_337; } else { -lean_object* x_402; lean_object* x_403; lean_object* x_404; -x_402 = lean_ctor_get(x_398, 1); -lean_inc(x_402); -if (lean_is_exclusive(x_398)) { - lean_ctor_release(x_398, 0); - lean_ctor_release(x_398, 1); - x_403 = x_398; +lean_object* x_404; lean_object* x_405; lean_object* x_406; +x_404 = lean_ctor_get(x_400, 1); +lean_inc(x_404); +if (lean_is_exclusive(x_400)) { + lean_ctor_release(x_400, 0); + lean_ctor_release(x_400, 1); + x_405 = x_400; } else { - lean_dec_ref(x_398); - x_403 = lean_box(0); + lean_dec_ref(x_400); + x_405 = lean_box(0); } -x_404 = l_Lean_Meta_Grind_updateLastTag(x_352, x_353, x_354, x_355, x_356, x_357, x_358, x_359, x_402); -lean_dec(x_355); -lean_dec_ref(x_354); -lean_dec(x_353); -if (lean_obj_tag(x_404) == 0) +x_406 = l_Lean_Meta_Grind_updateLastTag(x_353, x_354, x_355, x_356, x_357, x_358, x_359, x_360, x_404); +lean_dec(x_356); +lean_dec_ref(x_355); +lean_dec(x_354); +if (lean_obj_tag(x_406) == 0) { -lean_object* x_405; lean_object* x_406; lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; lean_object* x_411; lean_object* x_412; lean_object* x_413; lean_object* x_414; -x_405 = lean_ctor_get(x_404, 1); -lean_inc(x_405); -if (lean_is_exclusive(x_404)) { - lean_ctor_release(x_404, 0); - lean_ctor_release(x_404, 1); - x_406 = x_404; +lean_object* x_407; lean_object* x_408; lean_object* x_409; lean_object* x_410; 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_407 = lean_ctor_get(x_406, 1); +lean_inc(x_407); +if (lean_is_exclusive(x_406)) { + lean_ctor_release(x_406, 0); + lean_ctor_release(x_406, 1); + x_408 = x_406; } else { - lean_dec_ref(x_404); - x_406 = lean_box(0); + lean_dec_ref(x_406); + x_408 = lean_box(0); } -x_407 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__5; -x_408 = l_Lean_Meta_Grind_Origin_key(x_371); -lean_dec_ref(x_371); -x_409 = l_Lean_MessageData_ofName(x_408); -if (lean_is_scalar(x_406)) { - x_410 = lean_alloc_ctor(7, 2, 0); -} else { - x_410 = x_406; - lean_ctor_set_tag(x_410, 7); -} -lean_ctor_set(x_410, 0, x_407); -lean_ctor_set(x_410, 1, x_409); -x_411 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; -if (lean_is_scalar(x_403)) { +x_409 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__5; +x_410 = l_Lean_Meta_Grind_Origin_key(x_372); +lean_dec_ref(x_372); +x_411 = l_Lean_MessageData_ofName(x_410); +if (lean_is_scalar(x_408)) { x_412 = lean_alloc_ctor(7, 2, 0); } else { - x_412 = x_403; + x_412 = x_408; lean_ctor_set_tag(x_412, 7); } -lean_ctor_set(x_412, 0, x_410); +lean_ctor_set(x_412, 0, x_409); lean_ctor_set(x_412, 1, x_411); -x_413 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_351, x_412, x_356, x_357, x_358, x_359, x_405); -lean_dec(x_359); -lean_dec_ref(x_358); -lean_dec(x_357); -lean_dec_ref(x_356); -x_414 = lean_ctor_get(x_413, 1); -lean_inc(x_414); -lean_dec_ref(x_413); -x_296 = x_381; -x_297 = x_352; -x_298 = x_414; -goto block_336; +x_413 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg___closed__3; +if (lean_is_scalar(x_405)) { + x_414 = lean_alloc_ctor(7, 2, 0); +} else { + x_414 = x_405; + lean_ctor_set_tag(x_414, 7); +} +lean_ctor_set(x_414, 0, x_412); +lean_ctor_set(x_414, 1, x_413); +x_415 = l_Lean_addTrace___at___Lean_Meta_Grind_addCongrTable_spec__9___redArg(x_352, x_414, x_357, x_358, x_359, x_360, x_407); +lean_dec(x_360); +lean_dec_ref(x_359); +lean_dec(x_358); +lean_dec_ref(x_357); +x_416 = lean_ctor_get(x_415, 1); +lean_inc(x_416); +lean_dec_ref(x_415); +x_297 = x_383; +x_298 = x_353; +x_299 = x_416; +goto block_337; } else { -lean_dec(x_403); -lean_dec_ref(x_381); -lean_dec_ref(x_371); -lean_dec(x_359); -lean_dec_ref(x_358); -lean_dec(x_357); -lean_dec_ref(x_356); -lean_dec(x_352); -lean_dec(x_295); +lean_dec(x_405); +lean_dec_ref(x_383); +lean_dec_ref(x_372); +lean_dec(x_360); +lean_dec_ref(x_359); +lean_dec(x_358); +lean_dec_ref(x_357); +lean_dec(x_353); +lean_dec(x_296); lean_dec(x_14); lean_dec_ref(x_13); lean_dec(x_12); @@ -19440,32 +19451,32 @@ lean_dec(x_8); lean_dec(x_7); lean_dec(x_3); lean_dec(x_2); -return x_404; +return x_406; } } } } else { -lean_object* x_415; +lean_object* x_417; +lean_dec(x_375); lean_dec(x_373); -lean_dec(x_372); -lean_dec_ref(x_371); +lean_dec_ref(x_372); +lean_dec(x_371); lean_dec(x_370); lean_dec(x_369); -lean_dec(x_368); +lean_dec_ref(x_368); lean_dec_ref(x_367); -lean_dec_ref(x_366); -lean_dec(x_359); -lean_dec_ref(x_358); -lean_dec(x_357); -lean_dec_ref(x_356); -lean_dec(x_355); -lean_dec_ref(x_354); +lean_dec(x_360); +lean_dec_ref(x_359); +lean_dec(x_358); +lean_dec_ref(x_357); +lean_dec(x_356); +lean_dec_ref(x_355); +lean_dec(x_354); lean_dec(x_353); -lean_dec(x_352); -x_415 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg(x_1, x_2, x_3, x_295, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_364); -return x_415; +x_417 = l_List_forIn_x27_loop___at___List_forIn_x27_loop___at_____private_Lean_Meta_Tactic_Grind_Internalize_0__Lean_Meta_Grind_activateTheoremPatterns_spec__12_spec__12___redArg(x_1, x_2, x_3, x_296, x_1, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_365); +return x_417; } } } diff --git a/stage0/stdlib/Lean/Meta/Tactic/Grind/Types.c b/stage0/stdlib/Lean/Meta/Tactic/Grind/Types.c index 72f5f32df9..1cb64836bb 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Grind/Types.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Grind/Types.c @@ -3203,25 +3203,48 @@ return x_2; LEAN_EXPORT uint8_t l_Lean_Meta_Grind_instBEqEMatchTheoremTrace_beq(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; uint8_t x_9; +lean_object* x_3; lean_object* x_4; uint8_t x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10; uint8_t x_11; x_3 = lean_ctor_get(x_1, 0); x_4 = lean_ctor_get(x_1, 1); -x_5 = lean_ctor_get(x_2, 0); -x_6 = lean_ctor_get(x_2, 1); -x_7 = l_Lean_Meta_Grind_Origin_key(x_3); -x_8 = l_Lean_Meta_Grind_Origin_key(x_5); -x_9 = lean_name_eq(x_7, x_8); -lean_dec(x_8); -lean_dec(x_7); -if (x_9 == 0) +x_5 = lean_ctor_get_uint8(x_1, sizeof(void*)*2); +x_6 = lean_ctor_get(x_2, 0); +x_7 = lean_ctor_get(x_2, 1); +x_8 = lean_ctor_get_uint8(x_2, sizeof(void*)*2); +x_9 = l_Lean_Meta_Grind_Origin_key(x_3); +x_10 = l_Lean_Meta_Grind_Origin_key(x_6); +x_11 = lean_name_eq(x_9, x_10); +lean_dec(x_10); +lean_dec(x_9); +if (x_11 == 0) { -return x_9; +return x_11; } else { -uint8_t x_10; -x_10 = l_Lean_Meta_Grind_instBEqEMatchTheoremKind_beq(x_4, x_6); -return x_10; +uint8_t x_12; +x_12 = l_Lean_Meta_Grind_instBEqEMatchTheoremKind_beq(x_4, x_7); +if (x_12 == 0) +{ +return x_12; +} +else +{ +if (x_5 == 0) +{ +if (x_8 == 0) +{ +return x_12; +} +else +{ +return x_5; +} +} +else +{ +return x_8; +} +} } } } @@ -3255,17 +3278,31 @@ return x_1; LEAN_EXPORT uint64_t l_Lean_Meta_Grind_instHashableEMatchTheoremTrace_hash(lean_object* x_1) { _start: { -lean_object* x_2; lean_object* x_3; uint64_t x_4; lean_object* x_5; uint64_t x_6; uint64_t x_7; uint64_t x_8; uint64_t x_9; +lean_object* x_2; lean_object* x_3; uint8_t x_4; uint64_t x_5; lean_object* x_6; uint64_t x_7; uint64_t x_8; uint64_t x_9; uint64_t x_10; x_2 = lean_ctor_get(x_1, 0); x_3 = lean_ctor_get(x_1, 1); -x_4 = 0; -x_5 = l_Lean_Meta_Grind_Origin_key(x_2); -x_6 = l_Lean_Name_hash___override(x_5); -lean_dec(x_5); -x_7 = lean_uint64_mix_hash(x_4, x_6); -x_8 = l_Lean_Meta_Grind_instHashableEMatchTheoremKind_hash(x_3); -x_9 = lean_uint64_mix_hash(x_7, x_8); -return x_9; +x_4 = lean_ctor_get_uint8(x_1, sizeof(void*)*2); +x_5 = 0; +x_6 = l_Lean_Meta_Grind_Origin_key(x_2); +x_7 = l_Lean_Name_hash___override(x_6); +lean_dec(x_6); +x_8 = lean_uint64_mix_hash(x_5, x_7); +x_9 = l_Lean_Meta_Grind_instHashableEMatchTheoremKind_hash(x_3); +x_10 = lean_uint64_mix_hash(x_8, x_9); +if (x_4 == 0) +{ +uint64_t x_11; uint64_t x_12; +x_11 = 13; +x_12 = lean_uint64_mix_hash(x_10, x_11); +return x_12; +} +else +{ +uint64_t x_13; uint64_t x_14; +x_13 = 11; +x_14 = lean_uint64_mix_hash(x_10, x_13); +return x_14; +} } } LEAN_EXPORT lean_object* l_Lean_Meta_Grind_instHashableEMatchTheoremTrace_hash___boxed(lean_object* x_1) { @@ -5610,58 +5647,57 @@ goto block_59; } else { -lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; +lean_object* x_64; lean_object* x_65; lean_object* x_66; uint8_t x_67; lean_object* x_68; lean_object* x_69; x_64 = lean_ctor_get(x_60, 1); lean_inc(x_64); lean_dec_ref(x_60); x_65 = lean_ctor_get(x_1, 5); x_66 = lean_ctor_get(x_1, 6); -x_67 = l_Lean_Meta_Grind_Origin_key(x_65); -x_68 = l_Lean_Meta_Grind_isMatchEqLikeDeclName(x_67, x_4, x_5, x_64); -if (lean_obj_tag(x_68) == 0) +x_67 = lean_ctor_get_uint8(x_1, sizeof(void*)*7); +x_68 = l_Lean_Meta_Grind_Origin_key(x_65); +x_69 = l_Lean_Meta_Grind_isMatchEqLikeDeclName(x_68, x_4, x_5, x_64); +if (lean_obj_tag(x_69) == 0) { -lean_object* x_69; uint8_t x_70; -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_70; uint8_t x_71; +x_70 = lean_ctor_get(x_69, 0); +lean_inc(x_70); +x_71 = lean_unbox(x_70); +lean_dec(x_70); +if (x_71 == 0) { -lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; uint8_t x_75; -x_71 = lean_ctor_get(x_68, 1); -lean_inc(x_71); -lean_dec_ref(x_68); -x_72 = lean_st_ref_take(x_3, x_71); -x_73 = lean_ctor_get(x_72, 0); -lean_inc(x_73); -x_74 = lean_ctor_get(x_73, 5); -lean_inc_ref(x_74); -x_75 = !lean_is_exclusive(x_72); -if (x_75 == 0) +lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; +x_72 = lean_ctor_get(x_69, 1); +lean_inc(x_72); +lean_dec_ref(x_69); +x_73 = lean_st_ref_take(x_3, x_72); +x_74 = lean_ctor_get(x_73, 0); +lean_inc(x_74); +x_75 = lean_ctor_get(x_74, 5); +lean_inc_ref(x_75); +x_76 = lean_ctor_get(x_73, 1); +lean_inc(x_76); +lean_dec_ref(x_73); +x_77 = !lean_is_exclusive(x_74); +if (x_77 == 0) { -lean_object* x_76; lean_object* x_77; uint8_t x_78; -x_76 = lean_ctor_get(x_72, 1); -x_77 = lean_ctor_get(x_72, 0); -lean_dec(x_77); -x_78 = !lean_is_exclusive(x_73); -if (x_78 == 0) +lean_object* x_78; uint8_t x_79; +x_78 = lean_ctor_get(x_74, 5); +lean_dec(x_78); +x_79 = !lean_is_exclusive(x_75); +if (x_79 == 0) { -lean_object* x_79; uint8_t x_80; -x_79 = lean_ctor_get(x_73, 5); -lean_dec(x_79); -x_80 = !lean_is_exclusive(x_74); -if (x_80 == 0) -{ -lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; -x_81 = lean_ctor_get(x_74, 0); +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_80 = lean_ctor_get(x_75, 0); lean_inc(x_66); lean_inc_ref(x_65); -lean_ctor_set(x_72, 1, x_66); -lean_ctor_set(x_72, 0, x_65); +x_81 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_81, 0, x_65); +lean_ctor_set(x_81, 1, x_66); +lean_ctor_set_uint8(x_81, sizeof(void*)*2, x_67); x_82 = lean_box(0); -x_83 = l_Lean_PersistentHashMap_insert___at_____private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_saveEMatchTheorem_spec__9___redArg(x_81, x_72, x_82); -lean_ctor_set(x_74, 0, x_83); -x_84 = lean_st_ref_set(x_3, x_73, x_76); +x_83 = l_Lean_PersistentHashMap_insert___at_____private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_saveEMatchTheorem_spec__9___redArg(x_80, x_81, x_82); +lean_ctor_set(x_75, 0, x_83); +x_84 = lean_st_ref_set(x_3, x_74, x_76); x_85 = lean_ctor_get(x_84, 1); lean_inc(x_85); lean_dec_ref(x_84); @@ -5671,46 +5707,49 @@ goto block_59; } 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; -x_86 = lean_ctor_get(x_74, 0); -x_87 = lean_ctor_get(x_74, 1); -x_88 = lean_ctor_get(x_74, 2); +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_object* x_94; +x_86 = lean_ctor_get(x_75, 0); +x_87 = lean_ctor_get(x_75, 1); +x_88 = lean_ctor_get(x_75, 2); lean_inc(x_88); lean_inc(x_87); lean_inc(x_86); -lean_dec(x_74); +lean_dec(x_75); lean_inc(x_66); lean_inc_ref(x_65); -lean_ctor_set(x_72, 1, x_66); -lean_ctor_set(x_72, 0, x_65); -x_89 = lean_box(0); -x_90 = l_Lean_PersistentHashMap_insert___at_____private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_saveEMatchTheorem_spec__9___redArg(x_86, x_72, x_89); -x_91 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_91, 0, x_90); -lean_ctor_set(x_91, 1, x_87); -lean_ctor_set(x_91, 2, x_88); -lean_ctor_set(x_73, 5, x_91); -x_92 = lean_st_ref_set(x_3, x_73, x_76); -x_93 = lean_ctor_get(x_92, 1); -lean_inc(x_93); -lean_dec_ref(x_92); +x_89 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_89, 0, x_65); +lean_ctor_set(x_89, 1, x_66); +lean_ctor_set_uint8(x_89, sizeof(void*)*2, x_67); +x_90 = lean_box(0); +x_91 = l_Lean_PersistentHashMap_insert___at_____private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_saveEMatchTheorem_spec__9___redArg(x_86, x_89, x_90); +x_92 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_92, 0, x_91); +lean_ctor_set(x_92, 1, x_87); +lean_ctor_set(x_92, 2, x_88); +lean_ctor_set(x_74, 5, x_92); +x_93 = lean_st_ref_set(x_3, x_74, x_76); +x_94 = lean_ctor_get(x_93, 1); +lean_inc(x_94); +lean_dec_ref(x_93); x_7 = x_3; -x_8 = x_93; +x_8 = x_94; goto block_59; } } else { -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; 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_94 = lean_ctor_get(x_73, 0); -x_95 = lean_ctor_get(x_73, 1); -x_96 = lean_ctor_get(x_73, 2); -x_97 = lean_ctor_get(x_73, 3); -x_98 = lean_ctor_get(x_73, 4); -x_99 = lean_ctor_get(x_73, 6); -x_100 = lean_ctor_get(x_73, 7); -x_101 = lean_ctor_get(x_73, 8); -x_102 = lean_ctor_get(x_73, 9); +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; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; lean_object* x_113; lean_object* x_114; +x_95 = lean_ctor_get(x_74, 0); +x_96 = lean_ctor_get(x_74, 1); +x_97 = lean_ctor_get(x_74, 2); +x_98 = lean_ctor_get(x_74, 3); +x_99 = lean_ctor_get(x_74, 4); +x_100 = lean_ctor_get(x_74, 6); +x_101 = lean_ctor_get(x_74, 7); +x_102 = lean_ctor_get(x_74, 8); +x_103 = lean_ctor_get(x_74, 9); +lean_inc(x_103); lean_inc(x_102); lean_inc(x_101); lean_inc(x_100); @@ -5719,183 +5758,90 @@ lean_inc(x_98); lean_inc(x_97); lean_inc(x_96); lean_inc(x_95); -lean_inc(x_94); -lean_dec(x_73); -x_103 = lean_ctor_get(x_74, 0); -lean_inc_ref(x_103); -x_104 = lean_ctor_get(x_74, 1); +lean_dec(x_74); +x_104 = lean_ctor_get(x_75, 0); lean_inc_ref(x_104); -x_105 = lean_ctor_get(x_74, 2); +x_105 = lean_ctor_get(x_75, 1); lean_inc_ref(x_105); -if (lean_is_exclusive(x_74)) { - lean_ctor_release(x_74, 0); - lean_ctor_release(x_74, 1); - lean_ctor_release(x_74, 2); - x_106 = x_74; +x_106 = lean_ctor_get(x_75, 2); +lean_inc_ref(x_106); +if (lean_is_exclusive(x_75)) { + lean_ctor_release(x_75, 0); + lean_ctor_release(x_75, 1); + lean_ctor_release(x_75, 2); + x_107 = x_75; } else { - lean_dec_ref(x_74); - x_106 = lean_box(0); + lean_dec_ref(x_75); + x_107 = lean_box(0); } lean_inc(x_66); lean_inc_ref(x_65); -lean_ctor_set(x_72, 1, x_66); -lean_ctor_set(x_72, 0, x_65); -x_107 = lean_box(0); -x_108 = l_Lean_PersistentHashMap_insert___at_____private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_saveEMatchTheorem_spec__9___redArg(x_103, x_72, x_107); -if (lean_is_scalar(x_106)) { - x_109 = lean_alloc_ctor(0, 3, 0); +x_108 = lean_alloc_ctor(0, 2, 1); +lean_ctor_set(x_108, 0, x_65); +lean_ctor_set(x_108, 1, x_66); +lean_ctor_set_uint8(x_108, sizeof(void*)*2, x_67); +x_109 = lean_box(0); +x_110 = l_Lean_PersistentHashMap_insert___at_____private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_saveEMatchTheorem_spec__9___redArg(x_104, x_108, x_109); +if (lean_is_scalar(x_107)) { + x_111 = lean_alloc_ctor(0, 3, 0); } else { - x_109 = x_106; + x_111 = x_107; } -lean_ctor_set(x_109, 0, x_108); -lean_ctor_set(x_109, 1, x_104); -lean_ctor_set(x_109, 2, x_105); -x_110 = lean_alloc_ctor(0, 10, 0); -lean_ctor_set(x_110, 0, x_94); -lean_ctor_set(x_110, 1, x_95); -lean_ctor_set(x_110, 2, x_96); -lean_ctor_set(x_110, 3, x_97); -lean_ctor_set(x_110, 4, x_98); -lean_ctor_set(x_110, 5, x_109); -lean_ctor_set(x_110, 6, x_99); -lean_ctor_set(x_110, 7, x_100); -lean_ctor_set(x_110, 8, x_101); -lean_ctor_set(x_110, 9, x_102); -x_111 = lean_st_ref_set(x_3, x_110, x_76); -x_112 = lean_ctor_get(x_111, 1); -lean_inc(x_112); -lean_dec_ref(x_111); +lean_ctor_set(x_111, 0, x_110); +lean_ctor_set(x_111, 1, x_105); +lean_ctor_set(x_111, 2, x_106); +x_112 = lean_alloc_ctor(0, 10, 0); +lean_ctor_set(x_112, 0, x_95); +lean_ctor_set(x_112, 1, x_96); +lean_ctor_set(x_112, 2, x_97); +lean_ctor_set(x_112, 3, x_98); +lean_ctor_set(x_112, 4, x_99); +lean_ctor_set(x_112, 5, x_111); +lean_ctor_set(x_112, 6, x_100); +lean_ctor_set(x_112, 7, x_101); +lean_ctor_set(x_112, 8, x_102); +lean_ctor_set(x_112, 9, x_103); +x_113 = lean_st_ref_set(x_3, x_112, x_76); +x_114 = lean_ctor_get(x_113, 1); +lean_inc(x_114); +lean_dec_ref(x_113); x_7 = x_3; -x_8 = x_112; +x_8 = x_114; goto block_59; } } else { -lean_object* x_113; 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; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; -x_113 = lean_ctor_get(x_72, 1); -lean_inc(x_113); -lean_dec(x_72); -x_114 = lean_ctor_get(x_73, 0); -lean_inc_ref(x_114); -x_115 = lean_ctor_get(x_73, 1); -lean_inc_ref(x_115); -x_116 = lean_ctor_get(x_73, 2); -lean_inc_ref(x_116); -x_117 = lean_ctor_get(x_73, 3); -lean_inc(x_117); -x_118 = lean_ctor_get(x_73, 4); -lean_inc(x_118); -x_119 = lean_ctor_get(x_73, 6); -lean_inc_ref(x_119); -x_120 = lean_ctor_get(x_73, 7); -lean_inc_ref(x_120); -x_121 = lean_ctor_get(x_73, 8); -lean_inc_ref(x_121); -x_122 = lean_ctor_get(x_73, 9); -lean_inc_ref(x_122); -if (lean_is_exclusive(x_73)) { - lean_ctor_release(x_73, 0); - lean_ctor_release(x_73, 1); - lean_ctor_release(x_73, 2); - lean_ctor_release(x_73, 3); - lean_ctor_release(x_73, 4); - lean_ctor_release(x_73, 5); - lean_ctor_release(x_73, 6); - lean_ctor_release(x_73, 7); - lean_ctor_release(x_73, 8); - lean_ctor_release(x_73, 9); - x_123 = x_73; -} else { - lean_dec_ref(x_73); - x_123 = lean_box(0); -} -x_124 = lean_ctor_get(x_74, 0); -lean_inc_ref(x_124); -x_125 = lean_ctor_get(x_74, 1); -lean_inc_ref(x_125); -x_126 = lean_ctor_get(x_74, 2); -lean_inc_ref(x_126); -if (lean_is_exclusive(x_74)) { - lean_ctor_release(x_74, 0); - lean_ctor_release(x_74, 1); - lean_ctor_release(x_74, 2); - x_127 = x_74; -} else { - lean_dec_ref(x_74); - x_127 = lean_box(0); -} -lean_inc(x_66); -lean_inc_ref(x_65); -x_128 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_128, 0, x_65); -lean_ctor_set(x_128, 1, x_66); -x_129 = lean_box(0); -x_130 = l_Lean_PersistentHashMap_insert___at_____private_Lean_Meta_Tactic_Grind_Types_0__Lean_Meta_Grind_saveEMatchTheorem_spec__9___redArg(x_124, x_128, x_129); -if (lean_is_scalar(x_127)) { - x_131 = lean_alloc_ctor(0, 3, 0); -} else { - x_131 = x_127; -} -lean_ctor_set(x_131, 0, x_130); -lean_ctor_set(x_131, 1, x_125); -lean_ctor_set(x_131, 2, x_126); -if (lean_is_scalar(x_123)) { - x_132 = lean_alloc_ctor(0, 10, 0); -} else { - x_132 = x_123; -} -lean_ctor_set(x_132, 0, x_114); -lean_ctor_set(x_132, 1, x_115); -lean_ctor_set(x_132, 2, x_116); -lean_ctor_set(x_132, 3, x_117); -lean_ctor_set(x_132, 4, x_118); -lean_ctor_set(x_132, 5, x_131); -lean_ctor_set(x_132, 6, x_119); -lean_ctor_set(x_132, 7, x_120); -lean_ctor_set(x_132, 8, x_121); -lean_ctor_set(x_132, 9, x_122); -x_133 = lean_st_ref_set(x_3, x_132, x_113); -x_134 = lean_ctor_get(x_133, 1); -lean_inc(x_134); -lean_dec_ref(x_133); +lean_object* x_115; +x_115 = lean_ctor_get(x_69, 1); +lean_inc(x_115); +lean_dec_ref(x_69); x_7 = x_3; -x_8 = x_134; +x_8 = x_115; goto block_59; } } else { -lean_object* x_135; -x_135 = lean_ctor_get(x_68, 1); -lean_inc(x_135); -lean_dec_ref(x_68); -x_7 = x_3; -x_8 = x_135; -goto block_59; -} -} -else -{ -uint8_t x_136; +uint8_t x_116; lean_dec_ref(x_1); -x_136 = !lean_is_exclusive(x_68); -if (x_136 == 0) +x_116 = !lean_is_exclusive(x_69); +if (x_116 == 0) { -return x_68; +return x_69; } else { -lean_object* x_137; lean_object* x_138; lean_object* x_139; -x_137 = lean_ctor_get(x_68, 0); -x_138 = lean_ctor_get(x_68, 1); -lean_inc(x_138); -lean_inc(x_137); -lean_dec(x_68); -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; +lean_object* x_117; lean_object* x_118; lean_object* x_119; +x_117 = lean_ctor_get(x_69, 0); +x_118 = lean_ctor_get(x_69, 1); +lean_inc(x_118); +lean_inc(x_117); +lean_dec(x_69); +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; } } } @@ -28263,12 +28209,12 @@ if (x_24 == 0) lean_object* x_26; lean_dec_ref(x_2); lean_dec_ref(x_1); +lean_inc(x_21); +lean_inc_ref(x_20); lean_inc(x_23); -lean_inc_ref(x_15); -lean_inc(x_22); -lean_inc_ref(x_16); +lean_inc_ref(x_22); lean_inc_ref(x_3); -x_26 = lean_infer_type(x_3, x_16, x_22, x_15, x_23, x_25); +x_26 = lean_infer_type(x_3, x_22, x_23, x_20, x_21, x_25); if (lean_obj_tag(x_26) == 0) { 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; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; @@ -28278,7 +28224,7 @@ x_28 = lean_ctor_get(x_26, 1); lean_inc(x_28); lean_dec_ref(x_26); x_29 = l_Lean_Meta_Grind_pushEqCore___closed__1; -x_30 = l_Lean_indentExpr(x_20); +x_30 = l_Lean_indentExpr(x_16); x_31 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_31, 0, x_29); lean_ctor_set(x_31, 1, x_30); @@ -28302,21 +28248,21 @@ x_40 = l_Lean_Meta_Grind_addNewRawFact___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_Grind_addNewRawFact_spec__0___redArg(x_41, x_16, x_22, x_15, x_23, x_28); +x_42 = l_Lean_throwError___at___Lean_Meta_Grind_addNewRawFact_spec__0___redArg(x_41, x_22, x_23, x_20, x_21, x_28); +lean_dec(x_21); +lean_dec_ref(x_20); lean_dec(x_23); -lean_dec_ref(x_15); -lean_dec(x_22); -lean_dec_ref(x_16); +lean_dec_ref(x_22); return x_42; } else { uint8_t x_43; lean_dec(x_23); -lean_dec(x_22); +lean_dec_ref(x_22); +lean_dec(x_21); lean_dec_ref(x_20); lean_dec_ref(x_16); -lean_dec_ref(x_15); lean_dec_ref(x_3); x_43 = !lean_is_exclusive(x_26); if (x_43 == 0) @@ -28342,7 +28288,7 @@ else { lean_object* x_47; lean_object* x_48; lean_object* x_49; uint8_t x_50; x_47 = l_Lean_Meta_Grind_initFn___closed__2____x40_Lean_Meta_Tactic_Grind_Types_1894993932____hygCtx___hyg_4_; -x_48 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_updateLastTag_spec__0___redArg(x_47, x_15, x_25); +x_48 = l_Lean_isTracingEnabledFor___at___Lean_Meta_Grind_updateLastTag_spec__0___redArg(x_47, x_20, x_25); x_49 = lean_ctor_get(x_48, 0); lean_inc(x_49); x_50 = lean_unbox(x_49); @@ -28350,16 +28296,16 @@ lean_dec(x_49); if (x_50 == 0) { lean_object* x_51; lean_object* x_52; lean_object* x_53; -lean_dec_ref(x_20); +lean_dec_ref(x_16); x_51 = lean_ctor_get(x_48, 1); lean_inc(x_51); lean_dec_ref(x_48); x_52 = lean_box(0); -x_53 = l_Lean_Meta_Grind_pushEqCore___lam__0(x_1, x_2, x_3, x_4, x_52, x_21, x_19, x_18, x_17, x_16, x_22, x_15, x_23, x_51); +x_53 = l_Lean_Meta_Grind_pushEqCore___lam__0(x_1, x_2, x_3, x_4, x_52, x_15, x_18, x_17, x_19, x_22, x_23, x_20, x_21, x_51); +lean_dec(x_21); +lean_dec_ref(x_20); lean_dec(x_23); -lean_dec_ref(x_15); -lean_dec(x_22); -lean_dec_ref(x_16); +lean_dec_ref(x_22); return x_53; } else @@ -28373,20 +28319,20 @@ x_55 = lean_ctor_get(x_48, 1); x_56 = lean_ctor_get(x_48, 0); lean_dec(x_56); x_57 = l_Lean_Meta_Grind_pushEqCore___closed__3; -x_58 = l_Lean_MessageData_ofExpr(x_20); +x_58 = l_Lean_MessageData_ofExpr(x_16); lean_ctor_set_tag(x_48, 7); lean_ctor_set(x_48, 1, x_58); lean_ctor_set(x_48, 0, x_57); -x_59 = l_Lean_addTrace___at___Lean_Meta_Grind_updateLastTag_spec__1___redArg(x_47, x_48, x_16, x_22, x_15, x_23, x_55); +x_59 = l_Lean_addTrace___at___Lean_Meta_Grind_updateLastTag_spec__1___redArg(x_47, x_48, x_22, x_23, x_20, x_21, x_55); x_60 = lean_ctor_get(x_59, 1); lean_inc(x_60); lean_dec_ref(x_59); x_61 = lean_box(0); -x_62 = l_Lean_Meta_Grind_pushEqCore___lam__0(x_1, x_2, x_3, x_4, x_61, x_21, x_19, x_18, x_17, x_16, x_22, x_15, x_23, x_60); +x_62 = l_Lean_Meta_Grind_pushEqCore___lam__0(x_1, x_2, x_3, x_4, x_61, x_15, x_18, x_17, x_19, x_22, x_23, x_20, x_21, x_60); +lean_dec(x_21); +lean_dec_ref(x_20); lean_dec(x_23); -lean_dec_ref(x_15); -lean_dec(x_22); -lean_dec_ref(x_16); +lean_dec_ref(x_22); return x_62; } else @@ -28396,20 +28342,20 @@ x_63 = lean_ctor_get(x_48, 1); lean_inc(x_63); lean_dec(x_48); x_64 = l_Lean_Meta_Grind_pushEqCore___closed__3; -x_65 = l_Lean_MessageData_ofExpr(x_20); +x_65 = l_Lean_MessageData_ofExpr(x_16); 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_updateLastTag_spec__1___redArg(x_47, x_66, x_16, x_22, x_15, x_23, x_63); +x_67 = l_Lean_addTrace___at___Lean_Meta_Grind_updateLastTag_spec__1___redArg(x_47, x_66, x_22, x_23, x_20, x_21, x_63); x_68 = lean_ctor_get(x_67, 1); lean_inc(x_68); lean_dec_ref(x_67); x_69 = lean_box(0); -x_70 = l_Lean_Meta_Grind_pushEqCore___lam__0(x_1, x_2, x_3, x_4, x_69, x_21, x_19, x_18, x_17, x_16, x_22, x_15, x_23, x_68); +x_70 = l_Lean_Meta_Grind_pushEqCore___lam__0(x_1, x_2, x_3, x_4, x_69, x_15, x_18, x_17, x_19, x_22, x_23, x_20, x_21, x_68); +lean_dec(x_21); +lean_dec_ref(x_20); lean_dec(x_23); -lean_dec_ref(x_15); -lean_dec(x_22); -lean_dec_ref(x_16); +lean_dec_ref(x_22); return x_70; } } @@ -28489,15 +28435,15 @@ lean_inc(x_107); lean_dec_ref(x_105); x_108 = lean_unbox(x_106); lean_dec(x_106); -x_15 = x_79; -x_16 = x_77; -x_17 = x_76; -x_18 = x_75; -x_19 = x_74; -x_20 = x_72; -x_21 = x_73; -x_22 = x_78; -x_23 = x_80; +x_15 = x_73; +x_16 = x_72; +x_17 = x_75; +x_18 = x_74; +x_19 = x_76; +x_20 = x_79; +x_21 = x_80; +x_22 = x_77; +x_23 = x_78; x_24 = x_108; x_25 = x_107; goto block_71; @@ -28514,15 +28460,15 @@ lean_inc(x_110); lean_dec_ref(x_105); x_111 = lean_unbox(x_109); lean_dec(x_109); -x_15 = x_79; -x_16 = x_77; -x_17 = x_76; -x_18 = x_75; -x_19 = x_74; -x_20 = x_72; -x_21 = x_73; -x_22 = x_78; -x_23 = x_80; +x_15 = x_73; +x_16 = x_72; +x_17 = x_75; +x_18 = x_74; +x_19 = x_76; +x_20 = x_79; +x_21 = x_80; +x_22 = x_77; +x_23 = x_78; x_24 = x_111; x_25 = x_110; goto block_71; @@ -28652,15 +28598,15 @@ lean_inc(x_155); lean_dec_ref(x_153); x_156 = lean_unbox(x_154); lean_dec(x_154); -x_15 = x_79; -x_16 = x_77; -x_17 = x_76; -x_18 = x_75; -x_19 = x_74; -x_20 = x_72; -x_21 = x_73; -x_22 = x_78; -x_23 = x_80; +x_15 = x_73; +x_16 = x_72; +x_17 = x_75; +x_18 = x_74; +x_19 = x_76; +x_20 = x_79; +x_21 = x_80; +x_22 = x_77; +x_23 = x_78; x_24 = x_156; x_25 = x_155; goto block_71; @@ -28677,15 +28623,15 @@ lean_inc(x_158); lean_dec_ref(x_153); x_159 = lean_unbox(x_157); lean_dec(x_157); -x_15 = x_79; -x_16 = x_77; -x_17 = x_76; -x_18 = x_75; -x_19 = x_74; -x_20 = x_72; -x_21 = x_73; -x_22 = x_78; -x_23 = x_80; +x_15 = x_73; +x_16 = x_72; +x_17 = x_75; +x_18 = x_74; +x_19 = x_76; +x_20 = x_79; +x_21 = x_80; +x_22 = x_77; +x_23 = x_78; x_24 = x_159; x_25 = x_158; goto block_71; @@ -30234,9 +30180,9 @@ goto block_154; block_147: { lean_object* x_144; lean_object* x_145; lean_object* x_146; -x_144 = lean_nat_add(x_141, x_143); +x_144 = lean_nat_add(x_142, x_143); lean_dec(x_143); -lean_dec(x_141); +lean_dec(x_142); if (lean_is_scalar(x_138)) { x_145 = lean_alloc_ctor(0, 5, 0); } else { @@ -30255,7 +30201,7 @@ if (lean_is_scalar(x_128)) { lean_ctor_set(x_146, 0, x_140); lean_ctor_set(x_146, 1, x_130); lean_ctor_set(x_146, 2, x_131); -lean_ctor_set(x_146, 3, x_142); +lean_ctor_set(x_146, 3, x_141); lean_ctor_set(x_146, 4, x_145); return x_146; } @@ -30281,8 +30227,8 @@ if (lean_obj_tag(x_133) == 0) lean_object* x_152; x_152 = lean_ctor_get(x_133, 0); lean_inc(x_152); -x_141 = x_151; -x_142 = x_150; +x_141 = x_150; +x_142 = x_151; x_143 = x_152; goto block_147; } @@ -30290,8 +30236,8 @@ else { lean_object* x_153; x_153 = lean_unsigned_to_nat(0u); -x_141 = x_151; -x_142 = x_150; +x_141 = x_150; +x_142 = x_151; x_143 = x_153; goto block_147; } @@ -30604,7 +30550,7 @@ return x_6; LEAN_EXPORT lean_object* l_Lean_Meta_Grind_registerParent___redArg(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; 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_34; lean_object* x_35; lean_object* x_36; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_73; +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; uint8_t 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_34; lean_object* x_35; lean_object* x_36; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_73; x_61 = lean_st_ref_get(x_3, x_4); x_62 = lean_ctor_get(x_61, 0); lean_inc(x_62); @@ -30630,33 +30576,33 @@ goto block_72; block_33: { lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; -x_26 = l_Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_registerParent_spec__0___redArg(x_16, x_15, x_25); +x_26 = l_Lean_PersistentHashMap_insert___at___Lean_Meta_Grind_registerParent_spec__0___redArg(x_7, x_24, x_25); x_27 = lean_alloc_ctor(0, 16, 1); -lean_ctor_set(x_27, 0, x_22); -lean_ctor_set(x_27, 1, x_8); -lean_ctor_set(x_27, 2, x_21); -lean_ctor_set(x_27, 3, x_10); +lean_ctor_set(x_27, 0, x_5); +lean_ctor_set(x_27, 1, x_23); +lean_ctor_set(x_27, 2, x_15); +lean_ctor_set(x_27, 3, x_21); lean_ctor_set(x_27, 4, x_26); -lean_ctor_set(x_27, 5, x_14); -lean_ctor_set(x_27, 6, x_17); -lean_ctor_set(x_27, 7, x_7); -lean_ctor_set(x_27, 8, x_24); -lean_ctor_set(x_27, 9, x_5); -lean_ctor_set(x_27, 10, x_20); -lean_ctor_set(x_27, 11, x_19); -lean_ctor_set(x_27, 12, x_23); -lean_ctor_set(x_27, 13, x_18); -lean_ctor_set(x_27, 14, x_12); +lean_ctor_set(x_27, 5, x_19); +lean_ctor_set(x_27, 6, x_22); +lean_ctor_set(x_27, 7, x_14); +lean_ctor_set(x_27, 8, x_12); +lean_ctor_set(x_27, 9, x_6); +lean_ctor_set(x_27, 10, x_9); +lean_ctor_set(x_27, 11, x_10); +lean_ctor_set(x_27, 12, x_20); +lean_ctor_set(x_27, 13, x_8); +lean_ctor_set(x_27, 14, x_18); lean_ctor_set(x_27, 15, x_13); -lean_ctor_set_uint8(x_27, sizeof(void*)*16, x_11); -x_28 = lean_st_ref_set(x_3, x_27, x_6); +lean_ctor_set_uint8(x_27, sizeof(void*)*16, x_16); +x_28 = lean_st_ref_set(x_3, x_27, x_17); x_29 = !lean_is_exclusive(x_28); if (x_29 == 0) { lean_object* x_30; x_30 = lean_ctor_get(x_28, 0); lean_dec(x_30); -lean_ctor_set(x_28, 0, x_9); +lean_ctor_set(x_28, 0, x_11); return x_28; } else @@ -30666,7 +30612,7 @@ x_31 = lean_ctor_get(x_28, 1); lean_inc(x_31); lean_dec(x_28); x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_9); +lean_ctor_set(x_32, 0, x_11); lean_ctor_set(x_32, 1, x_31); return x_32; } @@ -30674,7 +30620,7 @@ return x_32; block_60: { 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; uint8_t 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; uint8_t x_58; -x_37 = lean_st_ref_take(x_3, x_35); +x_37 = lean_st_ref_take(x_3, x_34); x_38 = lean_ctor_get(x_37, 0); lean_inc(x_38); x_39 = lean_ctor_get(x_37, 1); @@ -30720,52 +30666,52 @@ if (x_58 == 0) { lean_object* x_59; x_59 = l_Std_DTreeMap_Internal_Impl_insert___at___Lean_Meta_Grind_registerParent_spec__6___redArg(x_1, x_57, x_36); -x_5 = x_50; -x_6 = x_39; -x_7 = x_47; -x_8 = x_41; -x_9 = x_57; -x_10 = x_43; -x_11 = x_48; -x_12 = x_55; +x_5 = x_40; +x_6 = x_50; +x_7 = x_44; +x_8 = x_54; +x_9 = x_51; +x_10 = x_52; +x_11 = x_57; +x_12 = x_49; x_13 = x_56; -x_14 = x_45; -x_15 = x_34; -x_16 = x_44; -x_17 = x_46; -x_18 = x_54; -x_19 = x_52; -x_20 = x_51; -x_21 = x_42; -x_22 = x_40; -x_23 = x_53; -x_24 = x_49; +x_14 = x_47; +x_15 = x_42; +x_16 = x_48; +x_17 = x_39; +x_18 = x_55; +x_19 = x_45; +x_20 = x_53; +x_21 = x_43; +x_22 = x_46; +x_23 = x_41; +x_24 = x_35; x_25 = x_59; goto block_33; } else { lean_dec_ref(x_1); -x_5 = x_50; -x_6 = x_39; -x_7 = x_47; -x_8 = x_41; -x_9 = x_57; -x_10 = x_43; -x_11 = x_48; -x_12 = x_55; +x_5 = x_40; +x_6 = x_50; +x_7 = x_44; +x_8 = x_54; +x_9 = x_51; +x_10 = x_52; +x_11 = x_57; +x_12 = x_49; x_13 = x_56; -x_14 = x_45; -x_15 = x_34; -x_16 = x_44; -x_17 = x_46; -x_18 = x_54; -x_19 = x_52; -x_20 = x_51; -x_21 = x_42; -x_22 = x_40; -x_23 = x_53; -x_24 = x_49; +x_14 = x_47; +x_15 = x_42; +x_16 = x_48; +x_17 = x_39; +x_18 = x_55; +x_19 = x_45; +x_20 = x_53; +x_21 = x_43; +x_22 = x_46; +x_23 = x_41; +x_24 = x_35; x_25 = x_36; goto block_33; } @@ -30787,8 +30733,8 @@ if (lean_obj_tag(x_69) == 0) { lean_object* x_70; x_70 = lean_box(1); -x_34 = x_64; -x_35 = x_67; +x_34 = x_67; +x_35 = x_64; x_36 = x_70; goto block_60; } @@ -30798,8 +30744,8 @@ lean_object* x_71; x_71 = lean_ctor_get(x_69, 0); lean_inc(x_71); lean_dec_ref(x_69); -x_34 = x_64; -x_35 = x_67; +x_34 = x_67; +x_35 = x_64; x_36 = x_71; goto block_60; } @@ -37930,7 +37876,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_foldEqc___redArg___closed__2; x_2 = lean_unsigned_to_nat(2u); -x_3 = lean_unsigned_to_nat(1227u); +x_3 = lean_unsigned_to_nat(1232u); x_4 = l_Lean_Meta_Grind_foldEqc___redArg___closed__1; x_5 = l_Lean_Meta_Grind_foldEqc___redArg___closed__0; x_6 = l_mkPanicMessageWithDecl(x_5, x_4, x_3, x_2, x_1); diff --git a/stage0/stdlib/Lean/Parser/Term.c b/stage0/stdlib/Lean/Parser/Term.c index ae296bf6a7..00c581e41b 100644 --- a/stage0/stdlib/Lean/Parser/Term.c +++ b/stage0/stdlib/Lean/Parser/Term.c @@ -33566,7 +33566,7 @@ static lean_object* _init_l___private_Lean_Parser_Term_0__Lean_Parser_Term_borro _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("Indicates that an argument to a function marked `@[extern]` is borrowed.\n\nBeing borrowed only affects the ABI and runtime behavior of the function when compiled or interpreted. From the perspective of Lean's type system, this annotation has no effect. It similarly has no effect on functions not marked `@[extern]`.\n\nWhen a function argument is borrowed, the function does not consume the value. This means that the function will not decrement the value's reference count or deallocate it, and the caller is responsible for doing so.\n\nPlease see https://lean-lang.org/lean4/doc/dev/ffi.html#borrowing for a complete description.\n", 629, 629); +x_1 = lean_mk_string_unchecked("Indicates that an argument to a function marked `@[extern]` is borrowed.\n\nBeing borrowed only affects the ABI and runtime behavior of the function when compiled or interpreted. From the perspective of Lean's type system, this annotation has no effect. It similarly has no effect on functions not marked `@[extern]`.\n\nWhen a function argument is borrowed, the function does not consume the value. This means that the function will not decrement the value's reference count or deallocate it, and the caller is responsible for doing so.\n\nPlease see https://lean-lang.org/doc/reference/latest/find/\?domain=Verso.Genre.Manual.section&name=ffi-borrowing for a complete description.\n", 676, 676); return x_1; } }