From f3f00451c85ac96d5c64d63c29164bbada2a80bc Mon Sep 17 00:00:00 2001 From: Kyle Miller Date: Sat, 30 Nov 2024 04:12:53 -0800 Subject: [PATCH 01/24] feat: add `structInstFieldDecl` syntax category (#6265) This PR is preparation for changes to structure instance notation in #6165. It adds a syntax category that will be used for field syntax. --- src/Init/Notation.lean | 5 +++++ src/Lean/Parser/Term.lean | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/src/Init/Notation.lean b/src/Init/Notation.lean index 80ce48bd2482..402b762cb995 100644 --- a/src/Init/Notation.lean +++ b/src/Init/Notation.lean @@ -48,6 +48,11 @@ def tactic : Category := {} For example, `let x ← e` is a `doElem`, and a `do` block consists of a list of `doElem`s. -/ def doElem : Category := {} +/-- `structInstFieldDecl` is the syntax category for value declarations for fields in structure instance notation. +For example, the `:= 1` and `where a := 3` in `{ x := 1, y where a := 3 }` are in the `structInstFieldDecl` class. +This category is necessary because structure instance notation is recursive due to the `x where ...` field notation. -/ +def structInstFieldDecl : Category := {} + /-- `level` is a builtin syntax category for universe levels. This is the `u` in `Sort u`: it can contain `max` and `imax`, addition with constants, and variables. -/ diff --git a/src/Lean/Parser/Term.lean b/src/Lean/Parser/Term.lean index 66b9a4d5d27f..8cf659a87420 100644 --- a/src/Lean/Parser/Term.lean +++ b/src/Lean/Parser/Term.lean @@ -387,6 +387,13 @@ use `(_)` to inhibit this and have it be solved for by unification instead, like explicitBinder requireType <|> strictImplicitBinder requireType <|> implicitBinder requireType <|> instBinder +/- +Syntax category for structure instance notation fields. +Does not initialize `registerBuiltinDynamicParserAttribute` since this category is not meant to be user-extensible. +-/ +builtin_initialize + registerBuiltinParserAttribute `builtin_structInstFieldDecl_parser ``Category.structInstFieldDecl + /- It is feasible to support dependent arrows such as `{α} → α → α` without sacrificing the quality of the error messages for the longer case. `{α} → α → α` would be short for `{α : Type} → α → α` From 734ea3071d67c3002867ccd767b8c3d80cc4e28d Mon Sep 17 00:00:00 2001 From: Lean stage0 autoupdater <> Date: Sat, 30 Nov 2024 12:58:59 +0000 Subject: [PATCH 02/24] chore: update stage0 --- stage0/stdlib/Init/Notation.c | 11 + stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c | 671 +- stage0/stdlib/Lean/Meta/Tactic/Split.c | 8371 +++++++---------- stage0/stdlib/Lean/Meta/Tactic/SplitIf.c | 8147 +++++++++++++--- stage0/stdlib/Lean/Parser/Term.c | 812 +- 5 files changed, 10868 insertions(+), 7144 deletions(-) diff --git a/stage0/stdlib/Init/Notation.c b/stage0/stdlib/Init/Notation.c index 00d4d6c211ab..3013fe5f6520 100644 --- a/stage0/stdlib/Init/Notation.c +++ b/stage0/stdlib/Init/Notation.c @@ -1092,6 +1092,7 @@ static lean_object* l___aux__Init__Notation______macroRules__term___x5e_x5e_x5e_ static lean_object* l_termWithout__expected__type_____closed__3; static lean_object* l_stx___x2c_x2a_x2c_x3f___closed__1; static lean_object* l_term___u2209_____closed__5; +LEAN_EXPORT lean_object* l_Lean_Parser_Category_structInstFieldDecl; static lean_object* l_term_x7b___x3a___x2f_x2f___x7d___closed__13; static lean_object* l___aux__Init__Notation______macroRules__stx___x3f__1___closed__3; LEAN_EXPORT lean_object* l_Lean_instCoeOutTSyntaxSyntax(lean_object*); @@ -1706,6 +1707,14 @@ x_1 = lean_box(0); return x_1; } } +static lean_object* _init_l_Lean_Parser_Category_structInstFieldDecl() { +_start: +{ +lean_object* x_1; +x_1 = lean_box(0); +return x_1; +} +} static lean_object* _init_l_Lean_Parser_Category_level() { _start: { @@ -26711,6 +26720,8 @@ l_Lean_Parser_Category_tactic = _init_l_Lean_Parser_Category_tactic(); lean_mark_persistent(l_Lean_Parser_Category_tactic); l_Lean_Parser_Category_doElem = _init_l_Lean_Parser_Category_doElem(); lean_mark_persistent(l_Lean_Parser_Category_doElem); +l_Lean_Parser_Category_structInstFieldDecl = _init_l_Lean_Parser_Category_structInstFieldDecl(); +lean_mark_persistent(l_Lean_Parser_Category_structInstFieldDecl); l_Lean_Parser_Category_level = _init_l_Lean_Parser_Category_level(); lean_mark_persistent(l_Lean_Parser_Category_level); l_Lean_Parser_Category_attr = _init_l_Lean_Parser_Category_attr(); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c b/stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c index 24b99736fe0d..1c763642c466 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Simp/Rewrite.c @@ -53,6 +53,7 @@ LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Meta_Simp_disch lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Meta_Simp_discharge_x3f_x27___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_Meta_Simp_sevalGround___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_useImplicitDefEqProof___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_synthesizeArgs_synthesizeInstance___closed__6; static lean_object* l_Lean_Meta_Simp_mkDefaultMethodsCore___closed__1; static lean_object* l_Lean_Meta_Simp_dischargeEqnThmHypothesis_x3f___closed__3; @@ -373,6 +374,7 @@ lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); static lean_object* l_Lean_Meta_ppOrigin___at_Lean_Meta_Simp_discharge_x3f_x27___spec__1___closed__8; lean_object* l_Lean_Meta_Simp_recordTheoremWithBadKeys(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Simp_simpUsingDecide___lambda__1___closed__12; +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_useImplicitDefEqProof(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Simp_mkContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isArrow(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Meta_Simp_sevalGround___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -9373,6 +9375,71 @@ lean_dec(x_3); return x_12; } } +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_useImplicitDefEqProof(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; +x_10 = lean_ctor_get_uint8(x_1, sizeof(void*)*5 + 2); +if (x_10 == 0) +{ +uint8_t x_11; lean_object* x_12; lean_object* x_13; +x_11 = 0; +x_12 = lean_box(x_11); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_12); +lean_ctor_set(x_13, 1, x_9); +return x_13; +} +else +{ +lean_object* x_14; uint8_t x_15; +x_14 = l_Lean_Meta_Simp_getConfig___rarg(x_3, x_4, x_5, x_6, x_7, x_8, x_9); +x_15 = !lean_is_exclusive(x_14); +if (x_15 == 0) +{ +lean_object* x_16; uint8_t x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_14, 0); +x_17 = lean_ctor_get_uint8(x_16, sizeof(void*)*2 + 18); +lean_dec(x_16); +x_18 = lean_box(x_17); +lean_ctor_set(x_14, 0, x_18); +return x_14; +} +else +{ +lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; +x_19 = lean_ctor_get(x_14, 0); +x_20 = lean_ctor_get(x_14, 1); +lean_inc(x_20); +lean_inc(x_19); +lean_dec(x_14); +x_21 = lean_ctor_get_uint8(x_19, sizeof(void*)*2 + 18); +lean_dec(x_19); +x_22 = lean_box(x_21); +x_23 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_23, 0, x_22); +lean_ctor_set(x_23, 1, x_20); +return x_23; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_useImplicitDefEqProof___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___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_useImplicitDefEqProof(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_10; +} +} static lean_object* _init_l_Lean_Meta_ppSimpTheorem___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__1___closed__1() { _start: { @@ -12412,25 +12479,32 @@ return x_2; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__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_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15) { _start: { -uint8_t x_16; -x_16 = lean_ctor_get_uint8(x_4, sizeof(void*)*5 + 2); -if (x_16 == 0) +lean_object* x_16; lean_object* x_17; uint8_t x_18; +x_16 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_useImplicitDefEqProof(x_1, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_unbox(x_17); +lean_dec(x_17); +if (x_18 == 0) { -lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; -lean_inc(x_4); -x_17 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__5), 13, 4); -lean_closure_set(x_17, 0, x_1); -lean_closure_set(x_17, 1, x_2); -lean_closure_set(x_17, 2, x_3); -lean_closure_set(x_17, 3, x_4); -x_18 = l_Lean_mkAppN(x_5, x_6); -x_19 = l_Lean_instantiateMVars___at_Lean_Meta_Simp_synthesizeArgs___spec__1(x_18, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -x_20 = !lean_is_exclusive(x_19); -if (x_20 == 0) +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; uint8_t x_23; +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +lean_dec(x_16); +lean_inc(x_1); +x_20 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__5), 13, 4); +lean_closure_set(x_20, 0, x_2); +lean_closure_set(x_20, 1, x_3); +lean_closure_set(x_20, 2, x_4); +lean_closure_set(x_20, 3, x_1); +x_21 = l_Lean_mkAppN(x_5, x_6); +x_22 = l_Lean_instantiateMVars___at_Lean_Meta_Simp_synthesizeArgs___spec__1(x_21, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_19); +x_23 = !lean_is_exclusive(x_22); +if (x_23 == 0) { -lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_21 = lean_ctor_get(x_19, 0); -x_22 = lean_ctor_get(x_19, 1); +lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_24 = lean_ctor_get(x_22, 0); +x_25 = lean_ctor_get(x_22, 1); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); @@ -12438,89 +12512,89 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_23 = l_Lean_hasAssignableMVar___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__2(x_21, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_22); -if (lean_obj_tag(x_23) == 0) +x_26 = l_Lean_hasAssignableMVar___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__2(x_24, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_25); +if (lean_obj_tag(x_26) == 0) { -lean_object* x_24; uint8_t x_25; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_unbox(x_24); -lean_dec(x_24); -if (x_25 == 0) +lean_object* x_27; uint8_t x_28; +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_unbox(x_27); +lean_dec(x_27); +if (x_28 == 0) { -lean_object* x_26; lean_object* x_27; lean_object* x_28; -lean_free_object(x_19); -lean_dec(x_4); -x_26 = lean_ctor_get(x_23, 1); -lean_inc(x_26); -lean_dec(x_23); -x_27 = lean_box(0); -x_28 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6(x_21, x_17, x_27, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_26); -return x_28; +lean_object* x_29; lean_object* x_30; lean_object* x_31; +lean_free_object(x_22); +lean_dec(x_1); +x_29 = lean_ctor_get(x_26, 1); +lean_inc(x_29); +lean_dec(x_26); +x_30 = lean_box(0); +x_31 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6(x_24, x_20, x_30, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_29); +return x_31; } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; uint8_t x_32; -lean_dec(x_21); -lean_dec(x_17); -x_29 = lean_ctor_get(x_23, 1); -lean_inc(x_29); -lean_dec(x_23); -x_30 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__2; -x_31 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Simp_congrArgs___spec__1(x_30, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_29); -x_32 = !lean_is_exclusive(x_31); -if (x_32 == 0) +lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; +lean_dec(x_24); +lean_dec(x_20); +x_32 = lean_ctor_get(x_26, 1); +lean_inc(x_32); +lean_dec(x_26); +x_33 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__2; +x_34 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Simp_congrArgs___spec__1(x_33, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_32); +x_35 = !lean_is_exclusive(x_34); +if (x_35 == 0) { -lean_object* x_33; lean_object* x_34; lean_object* x_35; uint8_t x_36; -x_33 = lean_ctor_get(x_31, 0); -x_34 = lean_ctor_get(x_31, 1); -x_35 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__1; -x_36 = lean_unbox(x_33); -lean_dec(x_33); -if (x_36 == 0) +lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; +x_36 = lean_ctor_get(x_34, 0); +x_37 = lean_ctor_get(x_34, 1); +x_38 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__1; +x_39 = lean_unbox(x_36); +lean_dec(x_36); +if (x_39 == 0) { -lean_object* x_37; lean_object* x_38; -lean_free_object(x_31); -lean_free_object(x_19); -lean_dec(x_4); -x_37 = lean_box(0); -x_38 = lean_apply_9(x_35, x_37, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_34); -return x_38; +lean_object* x_40; lean_object* x_41; +lean_free_object(x_34); +lean_free_object(x_22); +lean_dec(x_1); +x_40 = lean_box(0); +x_41 = lean_apply_9(x_38, x_40, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_37); +return x_41; } else { -lean_object* x_39; -x_39 = l_Lean_Meta_ppSimpTheorem___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__1(x_4, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_34); -if (lean_obj_tag(x_39) == 0) +lean_object* x_42; +x_42 = l_Lean_Meta_ppSimpTheorem___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__1(x_1, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_37); +if (lean_obj_tag(x_42) == 0) { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; -x_40 = lean_ctor_get(x_39, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_39, 1); -lean_inc(x_41); -lean_dec(x_39); -x_42 = l_Lean_Meta_ppOrigin___at_Lean_Meta_Simp_discharge_x3f_x27___spec__1___closed__4; -lean_ctor_set_tag(x_31, 7); -lean_ctor_set(x_31, 1, x_40); -lean_ctor_set(x_31, 0, x_42); -x_43 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2; -lean_ctor_set_tag(x_19, 7); -lean_ctor_set(x_19, 1, x_43); -lean_ctor_set(x_19, 0, x_31); -x_44 = l_Lean_addTrace___at_Lean_Meta_Simp_congrArgs___spec__2(x_30, x_19, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_41); -x_45 = lean_ctor_get(x_44, 0); -lean_inc(x_45); -x_46 = lean_ctor_get(x_44, 1); -lean_inc(x_46); -lean_dec(x_44); -x_47 = lean_apply_9(x_35, x_45, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_46); -return x_47; +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; +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_42, 1); +lean_inc(x_44); +lean_dec(x_42); +x_45 = l_Lean_Meta_ppOrigin___at_Lean_Meta_Simp_discharge_x3f_x27___spec__1___closed__4; +lean_ctor_set_tag(x_34, 7); +lean_ctor_set(x_34, 1, x_43); +lean_ctor_set(x_34, 0, x_45); +x_46 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2; +lean_ctor_set_tag(x_22, 7); +lean_ctor_set(x_22, 1, x_46); +lean_ctor_set(x_22, 0, x_34); +x_47 = l_Lean_addTrace___at_Lean_Meta_Simp_congrArgs___spec__2(x_33, x_22, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_44); +x_48 = lean_ctor_get(x_47, 0); +lean_inc(x_48); +x_49 = lean_ctor_get(x_47, 1); +lean_inc(x_49); +lean_dec(x_47); +x_50 = lean_apply_9(x_38, x_48, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_49); +return x_50; } else { -uint8_t x_48; -lean_free_object(x_31); -lean_free_object(x_19); +uint8_t x_51; +lean_free_object(x_34); +lean_free_object(x_22); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); @@ -12528,80 +12602,80 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -x_48 = !lean_is_exclusive(x_39); -if (x_48 == 0) +x_51 = !lean_is_exclusive(x_42); +if (x_51 == 0) { -return x_39; +return x_42; } else { -lean_object* x_49; lean_object* x_50; lean_object* x_51; -x_49 = lean_ctor_get(x_39, 0); -x_50 = lean_ctor_get(x_39, 1); -lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_39); -x_51 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_51, 0, x_49); -lean_ctor_set(x_51, 1, x_50); -return x_51; +lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_52 = lean_ctor_get(x_42, 0); +x_53 = lean_ctor_get(x_42, 1); +lean_inc(x_53); +lean_inc(x_52); +lean_dec(x_42); +x_54 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_54, 0, x_52); +lean_ctor_set(x_54, 1, x_53); +return x_54; } } } } else { -lean_object* x_52; lean_object* x_53; lean_object* x_54; uint8_t x_55; -x_52 = lean_ctor_get(x_31, 0); -x_53 = lean_ctor_get(x_31, 1); -lean_inc(x_53); -lean_inc(x_52); -lean_dec(x_31); -x_54 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__1; -x_55 = lean_unbox(x_52); -lean_dec(x_52); -if (x_55 == 0) +lean_object* x_55; lean_object* x_56; lean_object* x_57; uint8_t x_58; +x_55 = lean_ctor_get(x_34, 0); +x_56 = lean_ctor_get(x_34, 1); +lean_inc(x_56); +lean_inc(x_55); +lean_dec(x_34); +x_57 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__1; +x_58 = lean_unbox(x_55); +lean_dec(x_55); +if (x_58 == 0) { -lean_object* x_56; lean_object* x_57; -lean_free_object(x_19); -lean_dec(x_4); -x_56 = lean_box(0); -x_57 = lean_apply_9(x_54, x_56, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_53); -return x_57; +lean_object* x_59; lean_object* x_60; +lean_free_object(x_22); +lean_dec(x_1); +x_59 = lean_box(0); +x_60 = lean_apply_9(x_57, x_59, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_56); +return x_60; } else { -lean_object* x_58; -x_58 = l_Lean_Meta_ppSimpTheorem___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__1(x_4, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_53); -if (lean_obj_tag(x_58) == 0) +lean_object* x_61; +x_61 = l_Lean_Meta_ppSimpTheorem___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__1(x_1, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_56); +if (lean_obj_tag(x_61) == 0) { -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_59 = lean_ctor_get(x_58, 0); -lean_inc(x_59); -x_60 = lean_ctor_get(x_58, 1); -lean_inc(x_60); -lean_dec(x_58); -x_61 = l_Lean_Meta_ppOrigin___at_Lean_Meta_Simp_discharge_x3f_x27___spec__1___closed__4; -x_62 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_62, 0, x_61); -lean_ctor_set(x_62, 1, x_59); -x_63 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2; -lean_ctor_set_tag(x_19, 7); -lean_ctor_set(x_19, 1, x_63); -lean_ctor_set(x_19, 0, x_62); -x_64 = l_Lean_addTrace___at_Lean_Meta_Simp_congrArgs___spec__2(x_30, x_19, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_60); -x_65 = lean_ctor_get(x_64, 0); -lean_inc(x_65); -x_66 = lean_ctor_get(x_64, 1); -lean_inc(x_66); -lean_dec(x_64); -x_67 = lean_apply_9(x_54, x_65, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_66); -return x_67; +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_62 = lean_ctor_get(x_61, 0); +lean_inc(x_62); +x_63 = lean_ctor_get(x_61, 1); +lean_inc(x_63); +lean_dec(x_61); +x_64 = l_Lean_Meta_ppOrigin___at_Lean_Meta_Simp_discharge_x3f_x27___spec__1___closed__4; +x_65 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_65, 0, x_64); +lean_ctor_set(x_65, 1, x_62); +x_66 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2; +lean_ctor_set_tag(x_22, 7); +lean_ctor_set(x_22, 1, x_66); +lean_ctor_set(x_22, 0, x_65); +x_67 = l_Lean_addTrace___at_Lean_Meta_Simp_congrArgs___spec__2(x_33, x_22, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_63); +x_68 = lean_ctor_get(x_67, 0); +lean_inc(x_68); +x_69 = lean_ctor_get(x_67, 1); +lean_inc(x_69); +lean_dec(x_67); +x_70 = lean_apply_9(x_57, x_68, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_69); +return x_70; } else { -lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; -lean_free_object(x_19); +lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; +lean_free_object(x_22); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); @@ -12609,26 +12683,26 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -x_68 = lean_ctor_get(x_58, 0); -lean_inc(x_68); -x_69 = lean_ctor_get(x_58, 1); -lean_inc(x_69); -if (lean_is_exclusive(x_58)) { - lean_ctor_release(x_58, 0); - lean_ctor_release(x_58, 1); - x_70 = x_58; +x_71 = lean_ctor_get(x_61, 0); +lean_inc(x_71); +x_72 = lean_ctor_get(x_61, 1); +lean_inc(x_72); +if (lean_is_exclusive(x_61)) { + lean_ctor_release(x_61, 0); + lean_ctor_release(x_61, 1); + x_73 = x_61; } else { - lean_dec_ref(x_58); - x_70 = lean_box(0); + lean_dec_ref(x_61); + x_73 = lean_box(0); } -if (lean_is_scalar(x_70)) { - x_71 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_73)) { + x_74 = lean_alloc_ctor(1, 2, 0); } else { - x_71 = x_70; + x_74 = x_73; } -lean_ctor_set(x_71, 0, x_68); -lean_ctor_set(x_71, 1, x_69); -return x_71; +lean_ctor_set(x_74, 0, x_71); +lean_ctor_set(x_74, 1, x_72); +return x_74; } } } @@ -12636,10 +12710,10 @@ return x_71; } else { -uint8_t x_72; -lean_free_object(x_19); -lean_dec(x_21); -lean_dec(x_17); +uint8_t x_75; +lean_free_object(x_22); +lean_dec(x_24); +lean_dec(x_20); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); @@ -12647,35 +12721,35 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_4); -x_72 = !lean_is_exclusive(x_23); -if (x_72 == 0) +lean_dec(x_1); +x_75 = !lean_is_exclusive(x_26); +if (x_75 == 0) { -return x_23; +return x_26; } else { -lean_object* x_73; lean_object* x_74; lean_object* x_75; -x_73 = lean_ctor_get(x_23, 0); -x_74 = lean_ctor_get(x_23, 1); -lean_inc(x_74); -lean_inc(x_73); -lean_dec(x_23); -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; +lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_76 = lean_ctor_get(x_26, 0); +x_77 = lean_ctor_get(x_26, 1); +lean_inc(x_77); +lean_inc(x_76); +lean_dec(x_26); +x_78 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_78, 0, x_76); +lean_ctor_set(x_78, 1, x_77); +return x_78; } } } else { -lean_object* x_76; lean_object* x_77; lean_object* x_78; -x_76 = lean_ctor_get(x_19, 0); -x_77 = lean_ctor_get(x_19, 1); -lean_inc(x_77); -lean_inc(x_76); -lean_dec(x_19); +lean_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_22, 0); +x_80 = lean_ctor_get(x_22, 1); +lean_inc(x_80); +lean_inc(x_79); +lean_dec(x_22); lean_inc(x_14); lean_inc(x_13); lean_inc(x_12); @@ -12683,97 +12757,97 @@ lean_inc(x_11); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); -x_78 = l_Lean_hasAssignableMVar___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__2(x_76, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_77); -if (lean_obj_tag(x_78) == 0) +x_81 = l_Lean_hasAssignableMVar___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__2(x_79, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_80); +if (lean_obj_tag(x_81) == 0) { -lean_object* x_79; uint8_t x_80; -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_82; uint8_t x_83; +x_82 = lean_ctor_get(x_81, 0); +lean_inc(x_82); +x_83 = lean_unbox(x_82); +lean_dec(x_82); +if (x_83 == 0) { -lean_object* x_81; lean_object* x_82; lean_object* x_83; -lean_dec(x_4); -x_81 = lean_ctor_get(x_78, 1); -lean_inc(x_81); -lean_dec(x_78); -x_82 = lean_box(0); -x_83 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6(x_76, x_17, x_82, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_81); -return x_83; +lean_object* x_84; lean_object* x_85; lean_object* x_86; +lean_dec(x_1); +x_84 = lean_ctor_get(x_81, 1); +lean_inc(x_84); +lean_dec(x_81); +x_85 = lean_box(0); +x_86 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__6(x_79, x_20, x_85, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_84); +return x_86; } else { -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; uint8_t x_91; -lean_dec(x_76); -lean_dec(x_17); -x_84 = lean_ctor_get(x_78, 1); -lean_inc(x_84); -lean_dec(x_78); -x_85 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__2; -x_86 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Simp_congrArgs___spec__1(x_85, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_84); -x_87 = lean_ctor_get(x_86, 0); +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; uint8_t x_94; +lean_dec(x_79); +lean_dec(x_20); +x_87 = lean_ctor_get(x_81, 1); lean_inc(x_87); -x_88 = lean_ctor_get(x_86, 1); -lean_inc(x_88); -if (lean_is_exclusive(x_86)) { - lean_ctor_release(x_86, 0); - lean_ctor_release(x_86, 1); - x_89 = x_86; +lean_dec(x_81); +x_88 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__3___closed__2; +x_89 = l_Lean_isTracingEnabledFor___at_Lean_Meta_Simp_congrArgs___spec__1(x_88, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_87); +x_90 = lean_ctor_get(x_89, 0); +lean_inc(x_90); +x_91 = lean_ctor_get(x_89, 1); +lean_inc(x_91); +if (lean_is_exclusive(x_89)) { + lean_ctor_release(x_89, 0); + lean_ctor_release(x_89, 1); + x_92 = x_89; } else { - lean_dec_ref(x_86); - x_89 = lean_box(0); + lean_dec_ref(x_89); + x_92 = lean_box(0); } -x_90 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__1; -x_91 = lean_unbox(x_87); -lean_dec(x_87); -if (x_91 == 0) +x_93 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__4___closed__1; +x_94 = lean_unbox(x_90); +lean_dec(x_90); +if (x_94 == 0) { -lean_object* x_92; lean_object* x_93; -lean_dec(x_89); -lean_dec(x_4); -x_92 = lean_box(0); -x_93 = lean_apply_9(x_90, x_92, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_88); -return x_93; +lean_object* x_95; lean_object* x_96; +lean_dec(x_92); +lean_dec(x_1); +x_95 = lean_box(0); +x_96 = lean_apply_9(x_93, x_95, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_91); +return x_96; } else { -lean_object* x_94; -x_94 = l_Lean_Meta_ppSimpTheorem___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__1(x_4, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_88); -if (lean_obj_tag(x_94) == 0) +lean_object* x_97; +x_97 = l_Lean_Meta_ppSimpTheorem___at___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___spec__1(x_1, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_91); +if (lean_obj_tag(x_97) == 0) { -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_95 = lean_ctor_get(x_94, 0); -lean_inc(x_95); -x_96 = lean_ctor_get(x_94, 1); -lean_inc(x_96); -lean_dec(x_94); -x_97 = l_Lean_Meta_ppOrigin___at_Lean_Meta_Simp_discharge_x3f_x27___spec__1___closed__4; -if (lean_is_scalar(x_89)) { - x_98 = lean_alloc_ctor(7, 2, 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; lean_object* x_107; +x_98 = lean_ctor_get(x_97, 0); +lean_inc(x_98); +x_99 = lean_ctor_get(x_97, 1); +lean_inc(x_99); +lean_dec(x_97); +x_100 = l_Lean_Meta_ppOrigin___at_Lean_Meta_Simp_discharge_x3f_x27___spec__1___closed__4; +if (lean_is_scalar(x_92)) { + x_101 = lean_alloc_ctor(7, 2, 0); } else { - x_98 = x_89; - lean_ctor_set_tag(x_98, 7); + x_101 = x_92; + lean_ctor_set_tag(x_101, 7); } -lean_ctor_set(x_98, 0, x_97); -lean_ctor_set(x_98, 1, x_95); -x_99 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2; -x_100 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_100, 0, x_98); -lean_ctor_set(x_100, 1, x_99); -x_101 = l_Lean_addTrace___at_Lean_Meta_Simp_congrArgs___spec__2(x_85, x_100, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_96); -x_102 = lean_ctor_get(x_101, 0); -lean_inc(x_102); -x_103 = lean_ctor_get(x_101, 1); -lean_inc(x_103); -lean_dec(x_101); -x_104 = lean_apply_9(x_90, x_102, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_103); -return x_104; +lean_ctor_set(x_101, 0, x_100); +lean_ctor_set(x_101, 1, x_98); +x_102 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7___closed__2; +x_103 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_103, 0, x_101); +lean_ctor_set(x_103, 1, x_102); +x_104 = l_Lean_addTrace___at_Lean_Meta_Simp_congrArgs___spec__2(x_88, x_103, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_99); +x_105 = lean_ctor_get(x_104, 0); +lean_inc(x_105); +x_106 = lean_ctor_get(x_104, 1); +lean_inc(x_106); +lean_dec(x_104); +x_107 = lean_apply_9(x_93, x_105, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_106); +return x_107; } else { -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; -lean_dec(x_89); +lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; +lean_dec(x_92); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); @@ -12781,35 +12855,35 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -x_105 = lean_ctor_get(x_94, 0); -lean_inc(x_105); -x_106 = lean_ctor_get(x_94, 1); -lean_inc(x_106); -if (lean_is_exclusive(x_94)) { - lean_ctor_release(x_94, 0); - lean_ctor_release(x_94, 1); - x_107 = x_94; +x_108 = lean_ctor_get(x_97, 0); +lean_inc(x_108); +x_109 = lean_ctor_get(x_97, 1); +lean_inc(x_109); +if (lean_is_exclusive(x_97)) { + lean_ctor_release(x_97, 0); + lean_ctor_release(x_97, 1); + x_110 = x_97; } else { - lean_dec_ref(x_94); - x_107 = lean_box(0); + lean_dec_ref(x_97); + x_110 = lean_box(0); } -if (lean_is_scalar(x_107)) { - x_108 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_110)) { + x_111 = lean_alloc_ctor(1, 2, 0); } else { - x_108 = x_107; + x_111 = x_110; } -lean_ctor_set(x_108, 0, x_105); -lean_ctor_set(x_108, 1, x_106); -return x_108; +lean_ctor_set(x_111, 0, x_108); +lean_ctor_set(x_111, 1, x_109); +return x_111; } } } } else { -lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; -lean_dec(x_76); -lean_dec(x_17); +lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; +lean_dec(x_79); +lean_dec(x_20); lean_dec(x_14); lean_dec(x_13); lean_dec(x_12); @@ -12817,37 +12891,40 @@ lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); -lean_dec(x_4); -x_109 = lean_ctor_get(x_78, 0); -lean_inc(x_109); -x_110 = lean_ctor_get(x_78, 1); -lean_inc(x_110); -if (lean_is_exclusive(x_78)) { - lean_ctor_release(x_78, 0); - lean_ctor_release(x_78, 1); - x_111 = x_78; +lean_dec(x_1); +x_112 = lean_ctor_get(x_81, 0); +lean_inc(x_112); +x_113 = lean_ctor_get(x_81, 1); +lean_inc(x_113); +if (lean_is_exclusive(x_81)) { + lean_ctor_release(x_81, 0); + lean_ctor_release(x_81, 1); + x_114 = x_81; } else { - lean_dec_ref(x_78); - x_111 = lean_box(0); + lean_dec_ref(x_81); + x_114 = lean_box(0); } -if (lean_is_scalar(x_111)) { - x_112 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_114)) { + x_115 = lean_alloc_ctor(1, 2, 0); } else { - x_112 = x_111; + x_115 = x_114; } -lean_ctor_set(x_112, 0, x_109); -lean_ctor_set(x_112, 1, x_110); -return x_112; +lean_ctor_set(x_115, 0, x_112); +lean_ctor_set(x_115, 1, x_113); +return x_115; } } } else { -lean_object* x_113; lean_object* x_114; +lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_dec(x_5); -x_113 = lean_box(0); -x_114 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__5(x_1, x_2, x_3, x_4, x_113, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15); -return x_114; +x_116 = lean_ctor_get(x_16, 1); +lean_inc(x_116); +lean_dec(x_16); +x_117 = lean_box(0); +x_118 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__5(x_2, x_3, x_4, x_1, x_117, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_116); +return x_118; } } } @@ -13204,7 +13281,7 @@ x_89 = lean_ctor_get(x_80, 1); lean_inc(x_89); lean_dec(x_80); x_90 = lean_box(0); -x_91 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7(x_5, x_7, x_79, x_6, x_4, x_2, x_90, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_89); +x_91 = l___private_Lean_Meta_Tactic_Simp_Rewrite_0__Lean_Meta_Simp_tryTheoremCore_go___lambda__7(x_6, x_5, x_7, x_79, x_4, x_2, x_90, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_89); return x_91; } } @@ -31360,7 +31437,7 @@ static lean_object* _init_l_Lean_Meta_Simp_dischargeEqnThmHypothesis_x3f___close 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_Simp_dischargeEqnThmHypothesis_x3f___closed__4; x_2 = l_Lean_Meta_Simp_dischargeEqnThmHypothesis_x3f___closed__5; -x_3 = lean_unsigned_to_nat(556u); +x_3 = lean_unsigned_to_nat(562u); x_4 = lean_unsigned_to_nat(2u); x_5 = l_Lean_Meta_Simp_dischargeEqnThmHypothesis_x3f___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); diff --git a/stage0/stdlib/Lean/Meta/Tactic/Split.c b/stage0/stdlib/Lean/Meta/Tactic/Split.c index 9ed66901a055..7e815a85bf9c 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/Split.c +++ b/stage0/stdlib/Lean/Meta/Tactic/Split.c @@ -14,10 +14,8 @@ extern "C" { #endif static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_withEqs_go___rarg___closed__1; -static lean_object* l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__3; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); lean_object* l_Lean_Meta_FVarSubst_apply(lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__13; LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkEqHEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_StateRefT_x27_instMonadExceptOf___rarg(lean_object*); @@ -38,27 +36,27 @@ static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__10___closed__ lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_mkAppN(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Split_simpMatch___closed__8; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__13; static lean_object* l_List_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__3___closed__4; LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__5(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_foldlM___at_Lean_Meta_Split_applyMatchSplitter___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__7; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_withEqs_go___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_Split_splitMatch___lambda__1___closed__4; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); -static lean_object* l_Lean_Meta_Split_splitMatch___closed__1; uint8_t l_Lean_Expr_isDIte(lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__1; static lean_object* l_Lean_Meta_Split_initFn____x40_Lean_Meta_Tactic_Split___hyg_919____closed__1; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_withNewAltEqs___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__5; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_withNewAltEqs_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__2___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_substDiscrEqs___lambda__1(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__12; static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__7___closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__5___boxed(lean_object**); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___closed__5; uint8_t l_Lean_Exception_isInterrupt(lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__8; static lean_object* l_Lean_Meta_Split_mkDiscrGenErrorMsg___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___lambda__3___closed__1; @@ -78,12 +76,11 @@ static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__4___closed__2 lean_object* lean_mk_array(lean_object*, lean_object*); static lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___closed__1; uint8_t lean_usize_dec_eq(size_t, size_t); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__15; LEAN_EXPORT lean_object* l_Lean_Meta_Split_simpMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_generalizeTargetsEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instMonadQuotationOfMonadFunctorOfMonadLift___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_withNewAltEqs___spec__2(lean_object*, size_t, size_t, lean_object*); -static lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__2; -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__11; lean_object* l_Lean_MVarId_replaceTargetEq(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_Split_0__Lean_Meta_Split_withEqs_go___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); @@ -93,7 +90,6 @@ extern lean_object* l_Lean_casesOnSuffix; lean_object* l_Lean_Meta_Match_MatcherInfo_arity(lean_object*); uint8_t l_Lean_Level_isZero(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7(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 uint8_t l_Lean_Meta_Split_findSplit_x3f_isCandidate___lambda__1(lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Meta_Split_applyMatchSplitter___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MVarId_getTag(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_foldlM___at_Lean_Meta_Split_applyMatchSplitter___spec__2___closed__1; @@ -130,7 +126,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__2(lean_o static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_withEqs_go___rarg___closed__2; lean_object* l_Lean_Meta_getSimpCongrTheorems___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___lambda__2(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_Split_splitMatch___closed__2; LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__8___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_appArg_x21(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Split_throwDiscrGenError___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -141,13 +136,11 @@ static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_genera extern lean_object* l_instInhabitedPUnit; LEAN_EXPORT lean_object* l_Lean_Meta_isMatcherApp___at_Lean_Meta_Split_simpMatch_pre___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_Meta_Split_applyMatchSplitter___lambda__7(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f_go(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_simpMatch___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_simpMatch_pre___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MVarId_assign___at_Lean_Meta_getLevel___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Split_applyMatchSplitter___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_isTypeCorrect(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__1; LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Meta_Split_splitMatch___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_Meta_Split_applyMatchSplitter___lambda__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_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_ReaderT_pure___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -157,15 +150,13 @@ size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__8___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___closed__2; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__11; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__1___boxed(lean_object**); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__7___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__3; -static lean_object* l_Lean_Meta_Split_splitMatch___closed__4; LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f___lambda__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_throwError___at_Lean_Expr_abstractRangeM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_simpMatch___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Expr_getRevArg_x21(lean_object*, lean_object*); lean_object* l_Lean_Meta_withLocalDecl___at_Lean_Meta_addPPExplicitToExposeDiff_visit___spec__3___rarg(lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Meta_RecursorInfo_0__Lean_Meta_checkMotive___spec__1(lean_object*, size_t, size_t); static lean_object* l_Lean_Meta_Split_isDiscrGenException___closed__1; @@ -176,7 +167,6 @@ uint8_t lean_expr_eqv(lean_object*, lean_object*); lean_object* l_Array_zip___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__7___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_simpMatchTargetCore___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__2; lean_object* l_ReaderT_instMonadFunctor(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Split_simpMatch___closed__4; static lean_object* l_Lean_Meta_Split_applyMatchSplitter___closed__3; @@ -184,6 +174,7 @@ uint64_t lean_uint64_shift_right(uint64_t, uint64_t); lean_object* l_Lean_Meta_Simp_simpMatchCore(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_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__2___closed__7; static lean_object* l_Lean_Meta_splitTarget_x3f_go___closed__7; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__12; lean_object* lean_nat_div(lean_object*, lean_object*); lean_object* l_Lean_MVarId_getType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isEq(lean_object*); @@ -196,18 +187,18 @@ lean_object* l_Lean_Name_getPrefix(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_simpMatch___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_withEqs_go(lean_object*); lean_object* l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_Split_splitMatch___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter(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_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__6___closed__5; lean_object* l_List_mapTR_loop___at_Lean_MessageData_instCoeListExpr___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Meta_Split_applyMatchSplitter___spec__2___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__2___closed__5; -static lean_object* l_Lean_Meta_Split_splitMatch___closed__3; lean_object* l_ReaderT_instMonadLift(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MVarId_withContext___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_check(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_MatcherInfo_numAlts(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813_(lean_object*); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___closed__4; -lean_object* l_Lean_Meta_Match_MatcherInfo_getFirstDiscrPos(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_withEqs_go___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_withNewAltEqs_go___closed__3; lean_object* l_Lean_Meta_transform___at_Lean_Meta_zetaReduce___spec__1(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -218,7 +209,7 @@ LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___private_Lean_Meta_Tactic_S lean_object* l_outOfBounds___rarg(lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__2___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__15; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_whnfForall(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__8___closed__1; @@ -229,6 +220,7 @@ static lean_object* l_Lean_Meta_Split_mkDiscrGenErrorMsg___closed__4; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkEqTrans(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Split_simpMatch___closed__9; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__14; LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__1(lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_splitIfTarget_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -239,7 +231,6 @@ lean_object* l_Lean_Meta_mkEq(lean_object*, lean_object*, lean_object*, lean_obj static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_withNewAltEqs_go___closed__2; lean_object* l_Lean_Meta_splitIfLocalDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__8___boxed(lean_object**); -uint8_t l_Lean_Expr_hasLooseBVars(lean_object*); LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__3___closed__1; lean_object* l_Lean_Name_num___override(lean_object*, lean_object*); @@ -256,12 +247,11 @@ lean_object* l_Lean_Expr_constName_x21(lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__2___closed__6; extern lean_object* l_Lean_instInhabitedExpr; LEAN_EXPORT lean_object* l_Lean_Meta_Split_mkDiscrGenErrorMsg(lean_object*); +static lean_object* l_Lean_Meta_Split_splitMatch___lambda__1___closed__5; lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint64_t l_Lean_Expr_hash(lean_object*); -static lean_object* l_Lean_Meta_Split_splitMatch___closed__5; static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_withNewAltEqs_go___closed__5; -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__9; lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___closed__6; static lean_object* l_panic___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___spec__3___closed__1; @@ -271,7 +261,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__4___boxe LEAN_EXPORT lean_object* l_Lean_Meta_Split_splitMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_foldlM___at_Lean_Meta_Split_applyMatchSplitter___spec__2___lambda__2___closed__1; lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_PrettyPrinter_Delaborator_returnsPi___spec__1___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__6(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_splitTarget_x3f_go___closed__6; @@ -290,9 +279,8 @@ lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_ LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_simpMatchCore_pre(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_LocalDecl_isLet(lean_object*); uint8_t l_Lean_Expr_isIte(lean_object*); -lean_object* l_Lean_Meta_isMatcherAppCore_x3f(lean_object*, lean_object*); lean_object* l_Lean_Meta_isRflTheorem(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__1; +LEAN_EXPORT lean_object* l_Lean_Meta_Split_splitMatch___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_saveState___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_appFn_x21(lean_object*); @@ -311,8 +299,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f(lean_object*, uint8_t, lean LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Split_throwDiscrGenError___spec__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__9___boxed__const__1; -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__16; -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__5; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_withNewAltEqs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Split_simpMatch___closed__7; LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -321,32 +307,32 @@ static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); lean_object* l_Lean_MessageData_ofExpr(lean_object*); +static lean_object* l_Lean_Meta_Split_splitMatch___lambda__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Core_instMonadQuotationCoreM; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__16; LEAN_EXPORT lean_object* l_Lean_Meta_Split_simpMatchTarget(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_simpMatch___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__8___lambda__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_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__1; lean_object* l_Lean_LocalDecl_userName(lean_object*); lean_object* l_Array_extract___rarg(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__17; lean_object* l_Lean_Meta_Match_MatchEqns_size(lean_object*); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__3___closed__4; static lean_object* l_Lean_Meta_Split_simpMatch___closed__5; LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_substDiscrEqs___boxed__const__1; lean_object* l_Lean_Meta_introNCore(lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_Split_splitMatch___lambda__1___closed__2; static lean_object* l_List_foldlM___at_Lean_Meta_Split_applyMatchSplitter___spec__2___closed__2; lean_object* l_Lean_instAddErrorMessageContextOfAddMessageContextOfMonad___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_heqToEq(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___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*); static lean_object* l_Lean_Meta_Split_getSimpMatchContext___closed__2; -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__6; static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__2___closed__1; lean_object* l_Lean_Expr_bindingDomain_x21(lean_object*); lean_object* l_Lean_Expr_replaceFVars(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f_isCandidate(lean_object*, uint8_t, lean_object*, lean_object*); -static lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___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*, lean_object*); @@ -355,11 +341,13 @@ lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__6___closed__1; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__6; lean_object* l_Lean_Meta_getFVarLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_substDiscrEqs(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_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___lambda__4(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_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__8___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_findSplit_x3f(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__8___lambda__3___closed__2; lean_object* l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassApp_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_substDiscrEqs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -369,18 +357,18 @@ static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_genera LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___spec__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*); uint8_t l_Lean_Meta_isMatcherAppCore(lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__7; lean_object* l_Lean_Meta_mkEqRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentExpr(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__2(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_Split_findSplit_x3f_isCandidate___closed__5; -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f_isCandidate___lambda__1___boxed(lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__10; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_StateRefT_x27_lift(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__7; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__8; lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_splitTarget_x3f_go___closed__8; lean_object* l_Lean_Meta_MatcherApp_toExpr(lean_object*); @@ -388,8 +376,6 @@ static uint64_t l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_simpMatchC lean_object* l_Lean_LocalDecl_type(lean_object*); lean_object* l_Lean_exprDependsOn___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_mkCast_go___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint64_t lean_uint64_xor(uint64_t, uint64_t); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__14; -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f_isCandidate___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___lambda__2___closed__1; lean_object* lean_panic_fn(lean_object*, lean_object*); lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at_Lean_CollectLevelMVars_visitExpr___spec__2(lean_object*); @@ -403,7 +389,7 @@ lean_object* l_Lean_Expr_getAppFn(lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__6___closed__2; static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; -LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__2; LEAN_EXPORT lean_object* l_Array_filterMapM___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_withNewAltEqs___spec__1(lean_object*, lean_object*, lean_object*); uint64_t lean_uint64_shift_left(uint64_t, uint64_t); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -415,21 +401,22 @@ lean_object* l_Lean_MVarId_apply(lean_object*, lean_object*, lean_object*, lean_ LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_splitTarget_x3f___lambda__1___closed__2; lean_object* l_List_reverse___rarg(lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__10; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__9; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_sub(size_t, size_t); lean_object* lean_array_mk(lean_object*); static lean_object* l_Lean_Meta_Split_simpMatch___lambda__2___closed__1; -LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__4; +LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__4; static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_isMatcherApp___at_Lean_Meta_Split_simpMatch_pre___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_Simp_defaultMaxSteps; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__17; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_withEqs___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_instInhabitedName; -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__3___closed__5; LEAN_EXPORT lean_object* l_Lean_Meta_Split_getSimpMatchContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uget(lean_object*, size_t); @@ -451,20 +438,17 @@ lean_object* l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(lean static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__7___closed__4; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Meta_Split_throwDiscrGenError___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156_(lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__3___closed__1; LEAN_EXPORT lean_object* l_ReaderT_pure___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___spec__2(lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Match_MatcherInfo_getNumDiscrEqs(lean_object*); static lean_object* l_Lean_Meta_Split_initFn____x40_Lean_Meta_Tactic_Split___hyg_919____closed__2; -static lean_object* l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__2; lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___closed__1; static lean_object* l_Lean_Meta_splitTarget_x3f___lambda__1___closed__1; lean_object* l_Lean_Meta_mkFreshExprSyntheticOpaqueMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkHEqTrans(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___lambda__1___closed__1; -LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_isAuxRecursorWithSuffix(lean_object*, lean_object*, lean_object*); lean_object* lean_array_get_size(lean_object*); lean_object* l_Lean_LocalDecl_toExpr(lean_object*); @@ -473,7 +457,6 @@ static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__3___closed__7 static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__4___closed__1; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* lean_find_expr(lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); extern lean_object* l_Lean_Meta_instAddMessageContextMetaM; LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -493,14 +476,12 @@ static lean_object* l_Lean_Meta_Split_simpMatch___closed__6; LEAN_EXPORT lean_object* l_Lean_Meta_Split_discrGenExId; lean_object* l_ReaderT_instMonadExceptOf___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_simpMatch_pre___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f(lean_object*, lean_object*, uint8_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_Split_isDiscrGenException___boxed(lean_object*); static lean_object* l_Lean_Meta_Split_applyMatchSplitter___lambda__3___closed__6; static lean_object* l_Lean_Meta_Split_simpMatch___closed__12; lean_object* l_Lean_Expr_mvarId_x21(lean_object*); lean_object* l_Lean_InductiveVal_numCtors(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_simpMatchCore_pre___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__4; LEAN_EXPORT lean_object* l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___lambda__3(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___spec__1(size_t, size_t, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs___lambda__6___closed__3; @@ -508,7 +489,6 @@ static lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_S lean_object* lean_array_uset(lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_ofName(lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__4; static lean_object* l_List_forIn_x27_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__3___closed__2; static lean_object* l_Lean_Meta_splitTarget_x3f_go___closed__2; static lean_object* l_Lean_Meta_Split_mkDiscrGenErrorMsg___closed__1; @@ -14077,7 +14057,7 @@ return x_109; } } } -static lean_object* _init_l_Lean_Meta_Split_splitMatch___closed__1() { +static lean_object* _init_l_Lean_Meta_Split_splitMatch___lambda__1___closed__1() { _start: { lean_object* x_1; @@ -14085,16 +14065,16 @@ x_1 = lean_mk_string_unchecked("internal error in `split` tactic: match applicat return x_1; } } -static lean_object* _init_l_Lean_Meta_Split_splitMatch___closed__2() { +static lean_object* _init_l_Lean_Meta_Split_splitMatch___lambda__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Split_splitMatch___closed__1; +x_1 = l_Lean_Meta_Split_splitMatch___lambda__1___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_Split_splitMatch___closed__3() { +static lean_object* _init_l_Lean_Meta_Split_splitMatch___lambda__1___closed__3() { _start: { lean_object* x_1; @@ -14102,16 +14082,16 @@ x_1 = lean_mk_string_unchecked("\nthis error typically occurs when the `split` t return x_1; } } -static lean_object* _init_l_Lean_Meta_Split_splitMatch___closed__4() { +static lean_object* _init_l_Lean_Meta_Split_splitMatch___lambda__1___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_Split_splitMatch___closed__3; +x_1 = l_Lean_Meta_Split_splitMatch___lambda__1___closed__3; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l_Lean_Meta_Split_splitMatch___closed__5() { +static lean_object* _init_l_Lean_Meta_Split_splitMatch___lambda__1___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -14123,7 +14103,7 @@ lean_ctor_set(x_3, 1, x_1); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Split_splitMatch(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_Meta_Split_splitMatch___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { uint8_t x_8; lean_object* x_9; @@ -14132,8 +14112,8 @@ lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_9 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1(x_2, x_8, x_3, x_4, x_5, x_6, x_7); +lean_inc(x_1); +x_9 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1(x_1, x_8, x_3, x_4, x_5, x_6, x_7); if (lean_obj_tag(x_9) == 0) { lean_object* x_10; @@ -14142,16 +14122,16 @@ lean_inc(x_10); if (lean_obj_tag(x_10) == 0) { lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; -lean_dec(x_1); +lean_dec(x_2); x_11 = lean_ctor_get(x_9, 1); lean_inc(x_11); lean_dec(x_9); -x_12 = l_Lean_indentExpr(x_2); -x_13 = l_Lean_Meta_Split_splitMatch___closed__2; +x_12 = l_Lean_indentExpr(x_1); +x_13 = l_Lean_Meta_Split_splitMatch___lambda__1___closed__2; x_14 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_14, 0, x_13); lean_ctor_set(x_14, 1, x_12); -x_15 = l_Lean_Meta_Split_splitMatch___closed__4; +x_15 = l_Lean_Meta_Split_splitMatch___lambda__1___closed__4; x_16 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_16, 0, x_14); lean_ctor_set(x_16, 1, x_15); @@ -14165,7 +14145,7 @@ return x_17; else { lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -lean_dec(x_2); +lean_dec(x_1); x_18 = lean_ctor_get(x_9, 1); lean_inc(x_18); lean_dec(x_9); @@ -14200,7 +14180,7 @@ lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); lean_inc(x_20); -x_27 = l_Lean_Meta_Split_applyMatchSplitter(x_1, x_20, x_24, x_25, x_26, x_3, x_4, x_5, x_6, x_23); +x_27 = l_Lean_Meta_Split_applyMatchSplitter(x_2, x_20, x_24, x_25, x_26, x_3, x_4, x_5, x_6, x_23); lean_dec(x_25); if (lean_obj_tag(x_27) == 0) { @@ -14210,7 +14190,7 @@ lean_inc(x_28); x_29 = lean_ctor_get(x_27, 1); lean_inc(x_29); lean_dec(x_27); -x_30 = l_Lean_Meta_Split_splitMatch___closed__5; +x_30 = l_Lean_Meta_Split_splitMatch___lambda__1___closed__5; x_31 = l_List_foldlM___at_Lean_Meta_Split_splitMatch___spec__1(x_20, x_22, x_30, x_28, x_3, x_4, x_5, x_6, x_29); lean_dec(x_22); if (lean_obj_tag(x_31) == 0) @@ -14307,7 +14287,7 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_1); +lean_dec(x_2); x_49 = !lean_is_exclusive(x_21); if (x_49 == 0) { @@ -14359,6 +14339,18 @@ return x_56; } } } +LEAN_EXPORT lean_object* l_Lean_Meta_Split_splitMatch(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_inc(x_1); +x_8 = lean_alloc_closure((void*)(l_Lean_Meta_Split_splitMatch___lambda__1), 7, 2); +lean_closure_set(x_8, 0, x_2); +lean_closure_set(x_8, 1, x_1); +x_9 = l_Lean_MVarId_withContext___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__2___rarg(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +return x_9; +} +} LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Meta_Split_splitMatch___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) { _start: { @@ -14368,5216 +14360,3676 @@ lean_dec(x_2); return x_10; } } -static lean_object* _init_l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -uint8_t x_1; lean_object* x_2; lean_object* x_3; -x_1 = 0; -x_2 = lean_box(x_1); -x_3 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_3, 0, x_2); -return x_3; -} -} -static lean_object* _init_l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__2() { -_start: +uint8_t x_12; +x_12 = !lean_is_exclusive(x_1); +if (x_12 == 0) { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__1; -x_2 = lean_box(0); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint64_t x_16; uint64_t x_17; uint64_t x_18; uint64_t x_19; uint64_t x_20; uint64_t x_21; uint64_t x_22; size_t x_23; size_t x_24; size_t x_25; size_t x_26; size_t x_27; lean_object* x_28; uint8_t x_29; +x_13 = lean_ctor_get(x_1, 0); +x_14 = lean_ctor_get(x_1, 1); +x_15 = lean_array_get_size(x_14); +x_16 = l_Lean_Expr_hash(x_2); +x_17 = 32; +x_18 = lean_uint64_shift_right(x_16, x_17); +x_19 = lean_uint64_xor(x_16, x_18); +x_20 = 16; +x_21 = lean_uint64_shift_right(x_19, x_20); +x_22 = lean_uint64_xor(x_19, x_21); +x_23 = lean_uint64_to_usize(x_22); +x_24 = lean_usize_of_nat(x_15); +lean_dec(x_15); +x_25 = 1; +x_26 = lean_usize_sub(x_24, x_25); +x_27 = lean_usize_land(x_23, x_26); +x_28 = lean_array_uget(x_14, x_27); +x_29 = l_Std_DHashMap_Internal_AssocList_contains___at_Lean_CollectLevelMVars_visitExpr___spec__1(x_2, x_28); +if (x_29 == 0) { -uint8_t x_11; -x_11 = lean_nat_dec_lt(x_8, x_5); -if (x_11 == 0) +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; +x_30 = lean_unsigned_to_nat(1u); +x_31 = lean_nat_add(x_13, x_30); +lean_dec(x_13); +x_32 = lean_box(0); +x_33 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_33, 0, x_2); +lean_ctor_set(x_33, 1, x_32); +lean_ctor_set(x_33, 2, x_28); +x_34 = lean_array_uset(x_14, x_27, x_33); +x_35 = lean_unsigned_to_nat(4u); +x_36 = lean_nat_mul(x_31, x_35); +x_37 = lean_unsigned_to_nat(3u); +x_38 = lean_nat_div(x_36, x_37); +lean_dec(x_36); +x_39 = lean_array_get_size(x_34); +x_40 = lean_nat_dec_le(x_38, x_39); +lean_dec(x_39); +lean_dec(x_38); +if (x_40 == 0) { -lean_dec(x_8); -lean_dec(x_7); -lean_inc(x_10); -return x_10; +lean_object* x_41; lean_object* x_42; +x_41 = l_Std_DHashMap_Internal_Raw_u2080_expand___at_Lean_CollectLevelMVars_visitExpr___spec__2(x_34); +lean_ctor_set(x_1, 1, x_41); +lean_ctor_set(x_1, 0, x_31); +x_42 = l_Lean_Meta_splitTarget_x3f_go(x_3, x_4, x_5, x_1, x_7, x_8, x_9, x_10, x_11); +return x_42; } else { -lean_object* x_12; uint8_t x_13; -x_12 = lean_unsigned_to_nat(0u); -x_13 = lean_nat_dec_eq(x_7, x_12); -if (x_13 == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; -x_14 = lean_unsigned_to_nat(1u); -x_15 = lean_nat_sub(x_7, x_14); -lean_dec(x_7); -x_16 = lean_array_get_size(x_1); -x_17 = lean_nat_dec_lt(x_8, x_16); -lean_dec(x_16); -if (x_17 == 0) -{ -lean_object* x_18; lean_object* x_19; uint8_t x_20; -x_18 = l_Lean_instInhabitedExpr; -x_19 = l_outOfBounds___rarg(x_18); -x_20 = l_Lean_Expr_hasLooseBVars(x_19); -lean_dec(x_19); -if (x_20 == 0) -{ -lean_object* x_21; -x_21 = lean_nat_add(x_8, x_6); -lean_dec(x_8); -{ -lean_object* _tmp_6 = x_15; -lean_object* _tmp_7 = x_21; -lean_object* _tmp_8 = lean_box(0); -lean_object* _tmp_9 = x_3; -x_7 = _tmp_6; -x_8 = _tmp_7; -x_9 = _tmp_8; -x_10 = _tmp_9; +lean_object* x_43; +lean_ctor_set(x_1, 1, x_34); +lean_ctor_set(x_1, 0, x_31); +x_43 = l_Lean_Meta_splitTarget_x3f_go(x_3, x_4, x_5, x_1, x_7, x_8, x_9, x_10, x_11); +return x_43; } -goto _start; } else { -lean_object* x_23; -lean_dec(x_15); -lean_dec(x_8); -x_23 = l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__2; -return x_23; +lean_object* x_44; +lean_dec(x_28); +lean_dec(x_2); +x_44 = l_Lean_Meta_splitTarget_x3f_go(x_3, x_4, x_5, x_1, x_7, x_8, x_9, x_10, x_11); +return x_44; } } else { -lean_object* x_24; uint8_t x_25; -x_24 = lean_array_fget(x_1, x_8); -x_25 = l_Lean_Expr_hasLooseBVars(x_24); -lean_dec(x_24); -if (x_25 == 0) +lean_object* x_45; lean_object* x_46; lean_object* x_47; uint64_t x_48; uint64_t x_49; uint64_t x_50; uint64_t x_51; uint64_t x_52; uint64_t x_53; uint64_t x_54; size_t x_55; size_t x_56; size_t x_57; size_t x_58; size_t x_59; lean_object* x_60; uint8_t x_61; +x_45 = lean_ctor_get(x_1, 0); +x_46 = lean_ctor_get(x_1, 1); +lean_inc(x_46); +lean_inc(x_45); +lean_dec(x_1); +x_47 = lean_array_get_size(x_46); +x_48 = l_Lean_Expr_hash(x_2); +x_49 = 32; +x_50 = lean_uint64_shift_right(x_48, x_49); +x_51 = lean_uint64_xor(x_48, x_50); +x_52 = 16; +x_53 = lean_uint64_shift_right(x_51, x_52); +x_54 = lean_uint64_xor(x_51, x_53); +x_55 = lean_uint64_to_usize(x_54); +x_56 = lean_usize_of_nat(x_47); +lean_dec(x_47); +x_57 = 1; +x_58 = lean_usize_sub(x_56, x_57); +x_59 = lean_usize_land(x_55, x_58); +x_60 = lean_array_uget(x_46, x_59); +x_61 = l_Std_DHashMap_Internal_AssocList_contains___at_Lean_CollectLevelMVars_visitExpr___spec__1(x_2, x_60); +if (x_61 == 0) { -lean_object* x_26; -x_26 = lean_nat_add(x_8, x_6); -lean_dec(x_8); +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; uint8_t x_72; +x_62 = lean_unsigned_to_nat(1u); +x_63 = lean_nat_add(x_45, x_62); +lean_dec(x_45); +x_64 = lean_box(0); +x_65 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_65, 0, x_2); +lean_ctor_set(x_65, 1, x_64); +lean_ctor_set(x_65, 2, x_60); +x_66 = lean_array_uset(x_46, x_59, x_65); +x_67 = lean_unsigned_to_nat(4u); +x_68 = lean_nat_mul(x_63, x_67); +x_69 = lean_unsigned_to_nat(3u); +x_70 = lean_nat_div(x_68, x_69); +lean_dec(x_68); +x_71 = lean_array_get_size(x_66); +x_72 = lean_nat_dec_le(x_70, x_71); +lean_dec(x_71); +lean_dec(x_70); +if (x_72 == 0) { -lean_object* _tmp_6 = x_15; -lean_object* _tmp_7 = x_26; -lean_object* _tmp_8 = lean_box(0); -lean_object* _tmp_9 = x_3; -x_7 = _tmp_6; -x_8 = _tmp_7; -x_9 = _tmp_8; -x_10 = _tmp_9; -} -goto _start; +lean_object* x_73; lean_object* x_74; lean_object* x_75; +x_73 = l_Std_DHashMap_Internal_Raw_u2080_expand___at_Lean_CollectLevelMVars_visitExpr___spec__2(x_66); +x_74 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_74, 0, x_63); +lean_ctor_set(x_74, 1, x_73); +x_75 = l_Lean_Meta_splitTarget_x3f_go(x_3, x_4, x_5, x_74, x_7, x_8, x_9, x_10, x_11); +return x_75; } else { -lean_object* x_28; -lean_dec(x_15); -lean_dec(x_8); -x_28 = l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__2; -return x_28; -} +lean_object* x_76; lean_object* x_77; +x_76 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_76, 0, x_63); +lean_ctor_set(x_76, 1, x_66); +x_77 = l_Lean_Meta_splitTarget_x3f_go(x_3, x_4, x_5, x_76, x_7, x_8, x_9, x_10, x_11); +return x_77; } } else { -lean_dec(x_8); -lean_dec(x_7); -lean_inc(x_10); -return x_10; +lean_object* x_78; lean_object* x_79; +lean_dec(x_60); +lean_dec(x_2); +x_78 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_78, 0, x_45); +lean_ctor_set(x_78, 1, x_46); +x_79 = l_Lean_Meta_splitTarget_x3f_go(x_3, x_4, x_5, x_78, x_7, x_8, x_9, x_10, x_11); +return x_79; } } } } -LEAN_EXPORT uint8_t l_Lean_Meta_Split_findSplit_x3f_isCandidate___lambda__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__1() { _start: { -uint8_t x_2; -x_2 = 1; -return x_2; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("did not find term to split\n", 27, 27); +return x_1; } } -static lean_object* _init_l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__1() { +static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = lean_box(0); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_splitTarget_x3f_go___closed__1; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__2() { +static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__3() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Meta_Split_findSplit_x3f_isCandidate___lambda__1___boxed), 1, 0); +x_1 = lean_mk_string_unchecked("failure", 7, 7); return x_1; } } -static lean_object* _init_l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__3() { +static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__2; -x_2 = lean_box(0); -x_3 = lean_apply_1(x_1, x_2); +x_1 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__1; +x_2 = l_Lean_Meta_splitTarget_x3f_go___closed__3; +x_3 = l_Lean_Name_mkStr2(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__4() { +static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(5u); -x_2 = lean_unsigned_to_nat(1u); -x_3 = lean_nat_sub(x_1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("`split` tactic failed at", 24, 24); +return x_1; } } -static lean_object* _init_l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5() { +static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__4; -x_2 = lean_unsigned_to_nat(1u); -x_3 = lean_nat_sub(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_splitTarget_x3f_go___closed__5; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f_isCandidate(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4) { +static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__7() { _start: { -lean_object* x_5; lean_object* x_27; lean_object* x_28; uint64_t x_29; uint64_t x_30; uint64_t x_31; uint64_t x_32; uint64_t x_33; uint64_t x_34; uint64_t x_35; size_t x_36; size_t x_37; size_t x_38; size_t x_39; size_t x_40; lean_object* x_41; uint8_t x_42; -x_27 = lean_ctor_get(x_3, 1); -x_28 = lean_array_get_size(x_27); -x_29 = l_Lean_Expr_hash(x_4); -x_30 = 32; -x_31 = lean_uint64_shift_right(x_29, x_30); -x_32 = lean_uint64_xor(x_29, x_31); -x_33 = 16; -x_34 = lean_uint64_shift_right(x_32, x_33); -x_35 = lean_uint64_xor(x_32, x_34); -x_36 = lean_uint64_to_usize(x_35); -x_37 = lean_usize_of_nat(x_28); -lean_dec(x_28); -x_38 = 1; -x_39 = lean_usize_sub(x_37, x_38); -x_40 = lean_usize_land(x_36, x_39); -x_41 = lean_array_uget(x_27, x_40); -x_42 = l_Std_DHashMap_Internal_AssocList_contains___at_Lean_CollectLevelMVars_visitExpr___spec__1(x_4, x_41); -lean_dec(x_41); -if (x_42 == 0) -{ -if (x_2 == 0) -{ -lean_object* x_43; -x_43 = lean_box(0); -x_5 = x_43; -goto block_26; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("\n", 1, 1); +return x_1; } -else -{ -uint8_t x_44; -x_44 = l_Lean_Expr_isIte(x_4); -if (x_44 == 0) -{ -uint8_t x_45; -x_45 = l_Lean_Expr_isDIte(x_4); -if (x_45 == 0) +} +static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__8() { +_start: { -lean_object* x_46; -x_46 = lean_box(0); -x_5 = x_46; -goto block_26; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_splitTarget_x3f_go___closed__7; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; } -else +} +LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: { -lean_object* x_47; lean_object* x_48; uint8_t x_49; -x_47 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5; -x_48 = l_Lean_Expr_getRevArg_x21(x_4, x_47); -lean_dec(x_4); -x_49 = l_Lean_Expr_hasLooseBVars(x_48); -lean_dec(x_48); -if (x_49 == 0) +uint8_t x_10; +if (x_2 == 0) { -uint8_t x_50; lean_object* x_51; -x_50 = 1; -x_51 = lean_box(x_50); -return x_51; +uint8_t x_369; +x_369 = 1; +x_10 = x_369; +goto block_368; } else { -uint8_t x_52; lean_object* x_53; -x_52 = 0; -x_53 = lean_box(x_52); -return x_53; +uint8_t x_370; +x_370 = 2; +x_10 = x_370; +goto block_368; } -} -} -else +block_368: +{ +lean_object* x_11; +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +x_11 = l_Lean_Meta_findSplit_x3f(x_3, x_10, x_4, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; +x_12 = lean_ctor_get(x_11, 0); +lean_inc(x_12); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_54; lean_object* x_55; uint8_t x_56; -x_54 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5; -x_55 = l_Lean_Expr_getRevArg_x21(x_4, x_54); +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_dec(x_4); -x_56 = l_Lean_Expr_hasLooseBVars(x_55); -lean_dec(x_55); -if (x_56 == 0) +lean_dec(x_3); +x_13 = lean_ctor_get(x_11, 1); +lean_inc(x_13); +lean_dec(x_11); +x_14 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__3; +x_15 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_14, x_5, x_6, x_7, x_8, x_13); +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) { -uint8_t x_57; lean_object* x_58; -x_57 = 1; -x_58 = lean_box(x_57); -return x_58; -} -else +lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_17 = lean_ctor_get(x_15, 0); +x_18 = lean_ctor_get(x_15, 1); +x_19 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___closed__1; +x_20 = lean_unbox(x_17); +lean_dec(x_17); +if (x_20 == 0) { -uint8_t x_59; lean_object* x_60; -x_59 = 0; -x_60 = lean_box(x_59); -return x_60; -} -} -} +lean_object* x_21; lean_object* x_22; +lean_free_object(x_15); +lean_dec(x_1); +x_21 = lean_box(0); +x_22 = lean_apply_6(x_19, x_21, x_5, x_6, x_7, x_8, x_18); +return x_22; } else { -uint8_t x_61; lean_object* x_62; -lean_dec(x_4); -x_61 = 0; -x_62 = lean_box(x_61); -return x_62; +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_23 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_23, 0, x_1); +x_24 = l_Lean_Meta_splitTarget_x3f_go___closed__2; +lean_ctor_set_tag(x_15, 7); +lean_ctor_set(x_15, 1, x_23); +lean_ctor_set(x_15, 0, x_24); +x_25 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; +x_26 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_26, 0, x_15); +lean_ctor_set(x_26, 1, x_25); +x_27 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_14, x_26, x_5, x_6, x_7, x_8, x_18); +x_28 = lean_ctor_get(x_27, 0); +lean_inc(x_28); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = lean_apply_6(x_19, x_28, x_5, x_6, x_7, x_8, x_29); +return x_30; } -block_26: -{ -lean_object* x_6; -lean_dec(x_5); -x_6 = l_Lean_Meta_isMatcherAppCore_x3f(x_1, x_4); -if (lean_obj_tag(x_6) == 0) -{ -uint8_t x_7; lean_object* x_8; -lean_dec(x_4); -x_7 = 0; -x_8 = lean_box(x_7); -return x_8; } else { -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_9 = lean_ctor_get(x_6, 0); -lean_inc(x_9); -lean_dec(x_6); -x_10 = lean_unsigned_to_nat(0u); -x_11 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_4, x_10); -x_12 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___lambda__3___closed__1; -lean_inc(x_11); -x_13 = lean_mk_array(x_11, x_12); -x_14 = lean_unsigned_to_nat(1u); -x_15 = lean_nat_sub(x_11, x_14); -lean_dec(x_11); -x_16 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_4, x_13, x_15); -x_17 = l_Lean_Meta_Match_MatcherInfo_getFirstDiscrPos(x_9); -x_18 = lean_ctor_get(x_9, 1); -lean_inc(x_18); -lean_dec(x_9); -x_19 = lean_nat_add(x_17, x_18); -lean_dec(x_18); -lean_inc(x_19); -lean_inc(x_17); -x_20 = lean_alloc_ctor(0, 3, 0); -lean_ctor_set(x_20, 0, x_17); -lean_ctor_set(x_20, 1, x_19); -lean_ctor_set(x_20, 2, x_14); -x_21 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__1; -lean_inc(x_19); -lean_inc(x_17); -x_22 = l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1(x_16, x_20, x_21, x_17, x_19, x_14, x_19, x_17, lean_box(0), x_21); -lean_dec(x_19); -lean_dec(x_17); -lean_dec(x_20); -lean_dec(x_16); -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -lean_dec(x_22); -if (lean_obj_tag(x_23) == 0) +lean_object* x_31; lean_object* x_32; lean_object* x_33; uint8_t x_34; +x_31 = lean_ctor_get(x_15, 0); +x_32 = lean_ctor_get(x_15, 1); +lean_inc(x_32); +lean_inc(x_31); +lean_dec(x_15); +x_33 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___closed__1; +x_34 = lean_unbox(x_31); +lean_dec(x_31); +if (x_34 == 0) { -lean_object* x_24; -x_24 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__3; -return x_24; +lean_object* x_35; lean_object* x_36; +lean_dec(x_1); +x_35 = lean_box(0); +x_36 = lean_apply_6(x_33, x_35, x_5, x_6, x_7, x_8, x_32); +return x_36; } else { -lean_object* x_25; -x_25 = lean_ctor_get(x_23, 0); -lean_inc(x_25); -lean_dec(x_23); -return x_25; -} -} +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_37 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_37, 0, x_1); +x_38 = l_Lean_Meta_splitTarget_x3f_go___closed__2; +x_39 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_37); +x_40 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; +x_41 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_41, 0, x_39); +lean_ctor_set(x_41, 1, x_40); +x_42 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_14, x_41, x_5, x_6, x_7, x_8, x_32); +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_42, 1); +lean_inc(x_44); +lean_dec(x_42); +x_45 = lean_apply_6(x_33, x_43, x_5, x_6, x_7, x_8, x_44); +return x_45; } } } -LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: +else { -lean_object* x_11; -x_11 = l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_10); +lean_object* x_46; uint8_t x_47; +x_46 = lean_ctor_get(x_11, 1); +lean_inc(x_46); +lean_dec(x_11); +x_47 = !lean_is_exclusive(x_12); +if (x_47 == 0) +{ +lean_object* x_48; uint8_t x_49; +x_48 = lean_ctor_get(x_12, 0); +x_49 = l_Lean_Expr_isIte(x_48); +if (x_49 == 0) +{ +uint8_t x_50; +x_50 = l_Lean_Expr_isDIte(x_48); +if (x_50 == 0) +{ +lean_object* x_51; +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_48); +lean_inc(x_1); +x_51 = l_Lean_Meta_Split_splitMatch(x_1, x_48, x_5, x_6, x_7, x_8, x_46); +if (lean_obj_tag(x_51) == 0) +{ +uint8_t x_52; +lean_dec(x_48); +lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); lean_dec(x_1); -return x_11; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f_isCandidate___lambda__1___boxed(lean_object* x_1) { -_start: +x_52 = !lean_is_exclusive(x_51); +if (x_52 == 0) { -uint8_t x_2; lean_object* x_3; -x_2 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___lambda__1(x_1); -lean_dec(x_1); -x_3 = lean_box(x_2); -return x_3; -} +lean_object* x_53; +x_53 = lean_ctor_get(x_51, 0); +lean_ctor_set(x_12, 0, x_53); +lean_ctor_set(x_51, 0, x_12); +return x_51; } -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f_isCandidate___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: +else { -uint8_t x_5; lean_object* x_6; -x_5 = lean_unbox(x_2); -lean_dec(x_2); -x_6 = l_Lean_Meta_Split_findSplit_x3f_isCandidate(x_1, x_5, x_3, x_4); -lean_dec(x_3); -lean_dec(x_1); -return x_6; -} +lean_object* x_54; lean_object* x_55; lean_object* x_56; +x_54 = lean_ctor_get(x_51, 0); +x_55 = lean_ctor_get(x_51, 1); +lean_inc(x_55); +lean_inc(x_54); +lean_dec(x_51); +lean_ctor_set(x_12, 0, x_54); +x_56 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_56, 0, x_12); +lean_ctor_set(x_56, 1, x_55); +return x_56; } -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f_go(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_5 = lean_box(x_2); -lean_inc(x_3); -lean_inc(x_1); -x_6 = lean_alloc_closure((void*)(l_Lean_Meta_Split_findSplit_x3f_isCandidate___boxed), 4, 3); -lean_closure_set(x_6, 0, x_1); -lean_closure_set(x_6, 1, x_5); -lean_closure_set(x_6, 2, x_3); -x_7 = lean_find_expr(x_6, x_4); -lean_dec(x_6); -if (lean_obj_tag(x_7) == 0) -{ -lean_object* x_8; -lean_dec(x_3); -lean_dec(x_1); -x_8 = lean_box(0); -return x_8; } else { -uint8_t x_9; -x_9 = !lean_is_exclusive(x_7); -if (x_9 == 0) +uint8_t x_57; +lean_free_object(x_12); +x_57 = !lean_is_exclusive(x_51); +if (x_57 == 0) { -lean_object* x_10; uint8_t x_11; -x_10 = lean_ctor_get(x_7, 0); -x_11 = l_Lean_Expr_isIte(x_4); -if (x_11 == 0) +lean_object* x_58; lean_object* x_59; uint8_t x_60; +x_58 = lean_ctor_get(x_51, 0); +x_59 = lean_ctor_get(x_51, 1); +x_60 = l_Lean_Exception_isInterrupt(x_58); +if (x_60 == 0) { -uint8_t x_12; -x_12 = l_Lean_Expr_isDIte(x_4); -if (x_12 == 0) +uint8_t x_61; +x_61 = l_Lean_Exception_isRuntime(x_58); +if (x_61 == 0) { -lean_dec(x_3); -lean_dec(x_1); -return x_7; -} -else +uint8_t x_62; +lean_free_object(x_51); +x_62 = l_Lean_Meta_Split_isDiscrGenException(x_58); +if (x_62 == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_13 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5; -x_14 = l_Lean_Expr_getRevArg_x21(x_10, x_13); -x_15 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_2, x_3, x_14); -lean_dec(x_14); -if (lean_obj_tag(x_15) == 0) +lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66; +x_63 = l_Lean_Meta_splitTarget_x3f_go___closed__4; +x_64 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_63, x_5, x_6, x_7, x_8, x_59); +x_65 = lean_ctor_get(x_64, 0); +lean_inc(x_65); +x_66 = lean_unbox(x_65); +lean_dec(x_65); +if (x_66 == 0) { -return x_7; +lean_object* x_67; lean_object* x_68; lean_object* x_69; +lean_dec(x_58); +x_67 = lean_ctor_get(x_64, 1); +lean_inc(x_67); +lean_dec(x_64); +x_68 = lean_box(0); +x_69 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_48, x_1, x_2, x_3, x_68, x_5, x_6, x_7, x_8, x_67); +return x_69; } else { -uint8_t x_16; -lean_free_object(x_7); -lean_dec(x_10); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) +uint8_t x_70; +x_70 = !lean_is_exclusive(x_64); +if (x_70 == 0) { -return x_15; +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; +x_71 = lean_ctor_get(x_64, 1); +x_72 = lean_ctor_get(x_64, 0); +lean_dec(x_72); +lean_inc(x_48); +x_73 = l_Lean_indentExpr(x_48); +x_74 = l_Lean_Meta_splitTarget_x3f_go___closed__6; +lean_ctor_set_tag(x_64, 7); +lean_ctor_set(x_64, 1, x_73); +lean_ctor_set(x_64, 0, x_74); +x_75 = l_Lean_Meta_splitTarget_x3f_go___closed__8; +x_76 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_76, 0, x_64); +lean_ctor_set(x_76, 1, x_75); +x_77 = l_Lean_Exception_toMessageData(x_58); +x_78 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_78, 0, x_76); +lean_ctor_set(x_78, 1, x_77); +x_79 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; +x_80 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_80, 0, x_78); +lean_ctor_set(x_80, 1, x_79); +x_81 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_63, x_80, x_5, x_6, x_7, x_8, x_71); +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(x_81); +x_84 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_48, x_1, x_2, x_3, x_82, x_5, x_6, x_7, x_8, x_83); +lean_dec(x_82); +return x_84; } else { -lean_object* x_17; lean_object* x_18; -x_17 = lean_ctor_get(x_15, 0); -lean_inc(x_17); -lean_dec(x_15); -x_18 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_18, 0, x_17); -return x_18; -} +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; +x_85 = lean_ctor_get(x_64, 1); +lean_inc(x_85); +lean_dec(x_64); +lean_inc(x_48); +x_86 = l_Lean_indentExpr(x_48); +x_87 = l_Lean_Meta_splitTarget_x3f_go___closed__6; +x_88 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_88, 0, x_87); +lean_ctor_set(x_88, 1, x_86); +x_89 = l_Lean_Meta_splitTarget_x3f_go___closed__8; +x_90 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_90, 0, x_88); +lean_ctor_set(x_90, 1, x_89); +x_91 = l_Lean_Exception_toMessageData(x_58); +x_92 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_92, 0, x_90); +lean_ctor_set(x_92, 1, x_91); +x_93 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; +x_94 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_94, 0, x_92); +lean_ctor_set(x_94, 1, x_93); +x_95 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_63, x_94, x_5, x_6, x_7, x_8, x_85); +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(x_95); +x_98 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_48, x_1, x_2, x_3, x_96, x_5, x_6, x_7, x_8, x_97); +lean_dec(x_96); +return x_98; } } } else { -lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_19 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5; -x_20 = l_Lean_Expr_getRevArg_x21(x_10, x_19); -x_21 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_2, x_3, x_20); -lean_dec(x_20); -if (lean_obj_tag(x_21) == 0) +lean_object* x_99; lean_object* x_100; lean_object* x_101; uint8_t x_102; +lean_dec(x_58); +x_99 = l_Lean_Meta_splitTarget_x3f_go___closed__4; +x_100 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_99, x_5, x_6, x_7, x_8, x_59); +x_101 = lean_ctor_get(x_100, 0); +lean_inc(x_101); +x_102 = lean_unbox(x_101); +lean_dec(x_101); +if (x_102 == 0) { -return x_7; +lean_object* x_103; lean_object* x_104; lean_object* x_105; +x_103 = lean_ctor_get(x_100, 1); +lean_inc(x_103); +lean_dec(x_100); +x_104 = lean_box(0); +x_105 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_48, x_1, x_2, x_3, x_104, x_5, x_6, x_7, x_8, x_103); +return x_105; } else { -uint8_t x_22; -lean_free_object(x_7); -lean_dec(x_10); -x_22 = !lean_is_exclusive(x_21); -if (x_22 == 0) -{ -return x_21; +lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; +x_106 = lean_ctor_get(x_100, 1); +lean_inc(x_106); +lean_dec(x_100); +lean_inc(x_48); +x_107 = l_Lean_Meta_Split_mkDiscrGenErrorMsg(x_48); +x_108 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_99, x_107, x_5, x_6, x_7, x_8, x_106); +x_109 = lean_ctor_get(x_108, 0); +lean_inc(x_109); +x_110 = lean_ctor_get(x_108, 1); +lean_inc(x_110); +lean_dec(x_108); +x_111 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_48, x_1, x_2, x_3, x_109, x_5, x_6, x_7, x_8, x_110); +lean_dec(x_109); +return x_111; } -else -{ -lean_object* x_23; lean_object* x_24; -x_23 = lean_ctor_get(x_21, 0); -lean_inc(x_23); -lean_dec(x_21); -x_24 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_24, 0, x_23); -return x_24; } } +else +{ +lean_dec(x_48); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +return x_51; } } else { -lean_object* x_25; uint8_t x_26; -x_25 = lean_ctor_get(x_7, 0); -lean_inc(x_25); +lean_dec(x_48); +lean_dec(x_8); lean_dec(x_7); -x_26 = l_Lean_Expr_isIte(x_4); -if (x_26 == 0) -{ -uint8_t x_27; -x_27 = l_Lean_Expr_isDIte(x_4); -if (x_27 == 0) -{ -lean_object* x_28; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); lean_dec(x_1); -x_28 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_28, 0, x_25); -return x_28; +return x_51; +} } else { -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5; -x_30 = l_Lean_Expr_getRevArg_x21(x_25, x_29); -x_31 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_2, x_3, x_30); -lean_dec(x_30); -if (lean_obj_tag(x_31) == 0) +lean_object* x_112; lean_object* x_113; uint8_t x_114; +x_112 = lean_ctor_get(x_51, 0); +x_113 = lean_ctor_get(x_51, 1); +lean_inc(x_113); +lean_inc(x_112); +lean_dec(x_51); +x_114 = l_Lean_Exception_isInterrupt(x_112); +if (x_114 == 0) { -lean_object* x_32; -x_32 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_32, 0, x_25); -return x_32; +uint8_t x_115; +x_115 = l_Lean_Exception_isRuntime(x_112); +if (x_115 == 0) +{ +uint8_t x_116; +x_116 = l_Lean_Meta_Split_isDiscrGenException(x_112); +if (x_116 == 0) +{ +lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120; +x_117 = l_Lean_Meta_splitTarget_x3f_go___closed__4; +x_118 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_117, x_5, x_6, x_7, x_8, x_113); +x_119 = lean_ctor_get(x_118, 0); +lean_inc(x_119); +x_120 = lean_unbox(x_119); +lean_dec(x_119); +if (x_120 == 0) +{ +lean_object* x_121; lean_object* x_122; lean_object* x_123; +lean_dec(x_112); +x_121 = lean_ctor_get(x_118, 1); +lean_inc(x_121); +lean_dec(x_118); +x_122 = lean_box(0); +x_123 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_48, x_1, x_2, x_3, x_122, x_5, x_6, x_7, x_8, x_121); +return x_123; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -lean_dec(x_25); -x_33 = lean_ctor_get(x_31, 0); -lean_inc(x_33); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - x_34 = x_31; +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; +x_124 = lean_ctor_get(x_118, 1); +lean_inc(x_124); +if (lean_is_exclusive(x_118)) { + lean_ctor_release(x_118, 0); + lean_ctor_release(x_118, 1); + x_125 = x_118; } else { - lean_dec_ref(x_31); - x_34 = lean_box(0); + lean_dec_ref(x_118); + x_125 = lean_box(0); } -if (lean_is_scalar(x_34)) { - x_35 = lean_alloc_ctor(1, 1, 0); +lean_inc(x_48); +x_126 = l_Lean_indentExpr(x_48); +x_127 = l_Lean_Meta_splitTarget_x3f_go___closed__6; +if (lean_is_scalar(x_125)) { + x_128 = lean_alloc_ctor(7, 2, 0); } else { - x_35 = x_34; -} -lean_ctor_set(x_35, 0, x_33); -return x_35; + x_128 = x_125; + lean_ctor_set_tag(x_128, 7); } +lean_ctor_set(x_128, 0, x_127); +lean_ctor_set(x_128, 1, x_126); +x_129 = l_Lean_Meta_splitTarget_x3f_go___closed__8; +x_130 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_130, 0, x_128); +lean_ctor_set(x_130, 1, x_129); +x_131 = l_Lean_Exception_toMessageData(x_112); +x_132 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_132, 0, x_130); +lean_ctor_set(x_132, 1, x_131); +x_133 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; +x_134 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_134, 0, x_132); +lean_ctor_set(x_134, 1, x_133); +x_135 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_117, x_134, x_5, x_6, x_7, x_8, x_124); +x_136 = lean_ctor_get(x_135, 0); +lean_inc(x_136); +x_137 = lean_ctor_get(x_135, 1); +lean_inc(x_137); +lean_dec(x_135); +x_138 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_48, x_1, x_2, x_3, x_136, x_5, x_6, x_7, x_8, x_137); +lean_dec(x_136); +return x_138; } } else { -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5; -x_37 = l_Lean_Expr_getRevArg_x21(x_25, x_36); -x_38 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_2, x_3, x_37); -lean_dec(x_37); -if (lean_obj_tag(x_38) == 0) +lean_object* x_139; lean_object* x_140; lean_object* x_141; uint8_t x_142; +lean_dec(x_112); +x_139 = l_Lean_Meta_splitTarget_x3f_go___closed__4; +x_140 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_139, x_5, x_6, x_7, x_8, x_113); +x_141 = lean_ctor_get(x_140, 0); +lean_inc(x_141); +x_142 = lean_unbox(x_141); +lean_dec(x_141); +if (x_142 == 0) { -lean_object* x_39; -x_39 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_39, 0, x_25); -return x_39; +lean_object* x_143; lean_object* x_144; lean_object* x_145; +x_143 = lean_ctor_get(x_140, 1); +lean_inc(x_143); +lean_dec(x_140); +x_144 = lean_box(0); +x_145 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_48, x_1, x_2, x_3, x_144, x_5, x_6, x_7, x_8, x_143); +return x_145; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; -lean_dec(x_25); -x_40 = lean_ctor_get(x_38, 0); -lean_inc(x_40); -if (lean_is_exclusive(x_38)) { - lean_ctor_release(x_38, 0); - x_41 = x_38; -} else { - lean_dec_ref(x_38); - x_41 = lean_box(0); -} -if (lean_is_scalar(x_41)) { - x_42 = lean_alloc_ctor(1, 1, 0); -} else { - x_42 = x_41; -} -lean_ctor_set(x_42, 0, x_40); -return x_42; -} -} -} +lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; +x_146 = lean_ctor_get(x_140, 1); +lean_inc(x_146); +lean_dec(x_140); +lean_inc(x_48); +x_147 = l_Lean_Meta_Split_mkDiscrGenErrorMsg(x_48); +x_148 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_139, x_147, x_5, x_6, x_7, x_8, x_146); +x_149 = lean_ctor_get(x_148, 0); +lean_inc(x_149); +x_150 = lean_ctor_get(x_148, 1); +lean_inc(x_150); +lean_dec(x_148); +x_151 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_48, x_1, x_2, x_3, x_149, x_5, x_6, x_7, x_8, x_150); +lean_dec(x_149); +return x_151; } } } -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f_go___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: +else { -uint8_t x_5; lean_object* x_6; -x_5 = lean_unbox(x_2); -lean_dec(x_2); -x_6 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_5, x_3, x_4); +lean_object* x_152; +lean_dec(x_48); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); lean_dec(x_4); -return x_6; +lean_dec(x_3); +lean_dec(x_1); +x_152 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_152, 0, x_112); +lean_ctor_set(x_152, 1, x_113); +return x_152; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f(lean_object* x_1, lean_object* x_2, uint8_t x_3, lean_object* x_4) { -_start: +else { -lean_object* x_5; -x_5 = l_Lean_Meta_Split_findSplit_x3f_go(x_1, x_3, x_4, x_2); -return x_5; +lean_object* x_153; +lean_dec(x_48); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_153 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_153, 0, x_112); +lean_ctor_set(x_153, 1, x_113); +return x_153; } } -LEAN_EXPORT lean_object* l_Lean_Meta_Split_findSplit_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -uint8_t x_5; lean_object* x_6; -x_5 = lean_unbox(x_3); -lean_dec(x_3); -x_6 = l_Lean_Meta_Split_findSplit_x3f(x_1, x_2, x_5, x_4); -lean_dec(x_2); -return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, uint8_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: +else { -uint8_t x_12; -x_12 = !lean_is_exclusive(x_1); -if (x_12 == 0) +lean_object* x_154; lean_object* x_155; +lean_free_object(x_12); +lean_dec(x_48); +lean_dec(x_4); +lean_dec(x_3); +x_154 = lean_box(0); +x_155 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_154, x_5, x_6, x_7, x_8, x_46); +if (lean_obj_tag(x_155) == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; uint64_t x_16; uint64_t x_17; uint64_t x_18; uint64_t x_19; uint64_t x_20; uint64_t x_21; uint64_t x_22; size_t x_23; size_t x_24; size_t x_25; size_t x_26; size_t x_27; lean_object* x_28; uint8_t x_29; -x_13 = lean_ctor_get(x_1, 0); -x_14 = lean_ctor_get(x_1, 1); -x_15 = lean_array_get_size(x_14); -x_16 = l_Lean_Expr_hash(x_2); -x_17 = 32; -x_18 = lean_uint64_shift_right(x_16, x_17); -x_19 = lean_uint64_xor(x_16, x_18); -x_20 = 16; -x_21 = lean_uint64_shift_right(x_19, x_20); -x_22 = lean_uint64_xor(x_19, x_21); -x_23 = lean_uint64_to_usize(x_22); -x_24 = lean_usize_of_nat(x_15); -lean_dec(x_15); -x_25 = 1; -x_26 = lean_usize_sub(x_24, x_25); -x_27 = lean_usize_land(x_23, x_26); -x_28 = lean_array_uget(x_14, x_27); -x_29 = l_Std_DHashMap_Internal_AssocList_contains___at_Lean_CollectLevelMVars_visitExpr___spec__1(x_2, x_28); -if (x_29 == 0) +lean_object* x_156; +x_156 = lean_ctor_get(x_155, 0); +lean_inc(x_156); +if (lean_obj_tag(x_156) == 0) { -lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; uint8_t x_40; -x_30 = lean_unsigned_to_nat(1u); -x_31 = lean_nat_add(x_13, x_30); -lean_dec(x_13); -x_32 = lean_box(0); -x_33 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_33, 0, x_2); -lean_ctor_set(x_33, 1, x_32); -lean_ctor_set(x_33, 2, x_28); -x_34 = lean_array_uset(x_14, x_27, x_33); -x_35 = lean_unsigned_to_nat(4u); -x_36 = lean_nat_mul(x_31, x_35); -x_37 = lean_unsigned_to_nat(3u); -x_38 = lean_nat_div(x_36, x_37); -lean_dec(x_36); -x_39 = lean_array_get_size(x_34); -x_40 = lean_nat_dec_le(x_38, x_39); -lean_dec(x_39); -lean_dec(x_38); -if (x_40 == 0) +uint8_t x_157; +x_157 = !lean_is_exclusive(x_155); +if (x_157 == 0) { -lean_object* x_41; lean_object* x_42; -x_41 = l_Std_DHashMap_Internal_Raw_u2080_expand___at_Lean_CollectLevelMVars_visitExpr___spec__2(x_34); -lean_ctor_set(x_1, 1, x_41); -lean_ctor_set(x_1, 0, x_31); -x_42 = l_Lean_Meta_splitTarget_x3f_go(x_3, x_4, x_5, x_1, x_7, x_8, x_9, x_10, x_11); -return x_42; +lean_object* x_158; +x_158 = lean_ctor_get(x_155, 0); +lean_dec(x_158); +lean_ctor_set(x_155, 0, x_154); +return x_155; } else { -lean_object* x_43; -lean_ctor_set(x_1, 1, x_34); -lean_ctor_set(x_1, 0, x_31); -x_43 = l_Lean_Meta_splitTarget_x3f_go(x_3, x_4, x_5, x_1, x_7, x_8, x_9, x_10, x_11); -return x_43; +lean_object* x_159; lean_object* x_160; +x_159 = lean_ctor_get(x_155, 1); +lean_inc(x_159); +lean_dec(x_155); +x_160 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_160, 0, x_154); +lean_ctor_set(x_160, 1, x_159); +return x_160; } } else { -lean_object* x_44; -lean_dec(x_28); -lean_dec(x_2); -x_44 = l_Lean_Meta_splitTarget_x3f_go(x_3, x_4, x_5, x_1, x_7, x_8, x_9, x_10, x_11); -return x_44; -} -} -else -{ -lean_object* x_45; lean_object* x_46; lean_object* x_47; uint64_t x_48; uint64_t x_49; uint64_t x_50; uint64_t x_51; uint64_t x_52; uint64_t x_53; uint64_t x_54; size_t x_55; size_t x_56; size_t x_57; size_t x_58; size_t x_59; lean_object* x_60; uint8_t x_61; -x_45 = lean_ctor_get(x_1, 0); -x_46 = lean_ctor_get(x_1, 1); -lean_inc(x_46); -lean_inc(x_45); -lean_dec(x_1); -x_47 = lean_array_get_size(x_46); -x_48 = l_Lean_Expr_hash(x_2); -x_49 = 32; -x_50 = lean_uint64_shift_right(x_48, x_49); -x_51 = lean_uint64_xor(x_48, x_50); -x_52 = 16; -x_53 = lean_uint64_shift_right(x_51, x_52); -x_54 = lean_uint64_xor(x_51, x_53); -x_55 = lean_uint64_to_usize(x_54); -x_56 = lean_usize_of_nat(x_47); -lean_dec(x_47); -x_57 = 1; -x_58 = lean_usize_sub(x_56, x_57); -x_59 = lean_usize_land(x_55, x_58); -x_60 = lean_array_uget(x_46, x_59); -x_61 = l_Std_DHashMap_Internal_AssocList_contains___at_Lean_CollectLevelMVars_visitExpr___spec__1(x_2, x_60); -if (x_61 == 0) +uint8_t x_161; +x_161 = !lean_is_exclusive(x_156); +if (x_161 == 0) { -lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; uint8_t x_72; -x_62 = lean_unsigned_to_nat(1u); -x_63 = lean_nat_add(x_45, x_62); -lean_dec(x_45); -x_64 = lean_box(0); -x_65 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_65, 0, x_2); -lean_ctor_set(x_65, 1, x_64); -lean_ctor_set(x_65, 2, x_60); -x_66 = lean_array_uset(x_46, x_59, x_65); -x_67 = lean_unsigned_to_nat(4u); -x_68 = lean_nat_mul(x_63, x_67); -x_69 = lean_unsigned_to_nat(3u); -x_70 = lean_nat_div(x_68, x_69); -lean_dec(x_68); -x_71 = lean_array_get_size(x_66); -x_72 = lean_nat_dec_le(x_70, x_71); -lean_dec(x_71); -lean_dec(x_70); -if (x_72 == 0) +lean_object* x_162; lean_object* x_163; lean_object* x_164; uint8_t x_165; +x_162 = lean_ctor_get(x_156, 0); +x_163 = lean_ctor_get(x_162, 0); +lean_inc(x_163); +x_164 = lean_ctor_get(x_162, 1); +lean_inc(x_164); +lean_dec(x_162); +x_165 = !lean_is_exclusive(x_155); +if (x_165 == 0) { -lean_object* x_73; lean_object* x_74; lean_object* x_75; -x_73 = l_Std_DHashMap_Internal_Raw_u2080_expand___at_Lean_CollectLevelMVars_visitExpr___spec__2(x_66); -x_74 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_74, 0, x_63); -lean_ctor_set(x_74, 1, x_73); -x_75 = l_Lean_Meta_splitTarget_x3f_go(x_3, x_4, x_5, x_74, x_7, x_8, x_9, x_10, x_11); -return x_75; +lean_object* x_166; uint8_t x_167; +x_166 = lean_ctor_get(x_155, 0); +lean_dec(x_166); +x_167 = !lean_is_exclusive(x_163); +if (x_167 == 0) +{ +lean_object* x_168; uint8_t x_169; +x_168 = lean_ctor_get(x_163, 1); +lean_dec(x_168); +x_169 = !lean_is_exclusive(x_164); +if (x_169 == 0) +{ +lean_object* x_170; lean_object* x_171; +x_170 = lean_ctor_get(x_164, 1); +lean_dec(x_170); +x_171 = lean_box(0); +lean_ctor_set_tag(x_164, 1); +lean_ctor_set(x_164, 1, x_171); +lean_ctor_set_tag(x_163, 1); +lean_ctor_set(x_163, 1, x_164); +lean_ctor_set(x_156, 0, x_163); +return x_155; } else { -lean_object* x_76; lean_object* x_77; -x_76 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_76, 0, x_63); -lean_ctor_set(x_76, 1, x_66); -x_77 = l_Lean_Meta_splitTarget_x3f_go(x_3, x_4, x_5, x_76, x_7, x_8, x_9, x_10, x_11); -return x_77; +lean_object* x_172; lean_object* x_173; lean_object* x_174; +x_172 = lean_ctor_get(x_164, 0); +lean_inc(x_172); +lean_dec(x_164); +x_173 = lean_box(0); +x_174 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_174, 0, x_172); +lean_ctor_set(x_174, 1, x_173); +lean_ctor_set_tag(x_163, 1); +lean_ctor_set(x_163, 1, x_174); +lean_ctor_set(x_156, 0, x_163); +return x_155; } } else { -lean_object* x_78; lean_object* x_79; -lean_dec(x_60); -lean_dec(x_2); -x_78 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_78, 0, x_45); -lean_ctor_set(x_78, 1, x_46); -x_79 = l_Lean_Meta_splitTarget_x3f_go(x_3, x_4, x_5, x_78, x_7, x_8, x_9, x_10, x_11); -return x_79; +lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; +x_175 = lean_ctor_get(x_163, 0); +lean_inc(x_175); +lean_dec(x_163); +x_176 = lean_ctor_get(x_164, 0); +lean_inc(x_176); +if (lean_is_exclusive(x_164)) { + lean_ctor_release(x_164, 0); + lean_ctor_release(x_164, 1); + x_177 = x_164; +} else { + lean_dec_ref(x_164); + x_177 = lean_box(0); } +x_178 = lean_box(0); +if (lean_is_scalar(x_177)) { + x_179 = lean_alloc_ctor(1, 2, 0); +} else { + x_179 = x_177; + lean_ctor_set_tag(x_179, 1); } +lean_ctor_set(x_179, 0, x_176); +lean_ctor_set(x_179, 1, x_178); +x_180 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_180, 0, x_175); +lean_ctor_set(x_180, 1, x_179); +lean_ctor_set(x_156, 0, x_180); +return x_155; } } -static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__1() { -_start: +else { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("did not find term to split\n", 27, 27); -return x_1; +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; +x_181 = lean_ctor_get(x_155, 1); +lean_inc(x_181); +lean_dec(x_155); +x_182 = lean_ctor_get(x_163, 0); +lean_inc(x_182); +if (lean_is_exclusive(x_163)) { + lean_ctor_release(x_163, 0); + lean_ctor_release(x_163, 1); + x_183 = x_163; +} else { + lean_dec_ref(x_163); + x_183 = lean_box(0); } +x_184 = lean_ctor_get(x_164, 0); +lean_inc(x_184); +if (lean_is_exclusive(x_164)) { + lean_ctor_release(x_164, 0); + lean_ctor_release(x_164, 1); + x_185 = x_164; +} else { + lean_dec_ref(x_164); + x_185 = lean_box(0); } -static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_splitTarget_x3f_go___closed__1; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; +x_186 = lean_box(0); +if (lean_is_scalar(x_185)) { + x_187 = lean_alloc_ctor(1, 2, 0); +} else { + x_187 = x_185; + lean_ctor_set_tag(x_187, 1); } +lean_ctor_set(x_187, 0, x_184); +lean_ctor_set(x_187, 1, x_186); +if (lean_is_scalar(x_183)) { + x_188 = lean_alloc_ctor(1, 2, 0); +} else { + x_188 = x_183; + lean_ctor_set_tag(x_188, 1); } -static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("failure", 7, 7); -return x_1; +lean_ctor_set(x_188, 0, x_182); +lean_ctor_set(x_188, 1, x_187); +lean_ctor_set(x_156, 0, x_188); +x_189 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_189, 0, x_156); +lean_ctor_set(x_189, 1, x_181); +return x_189; } } -static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__4() { -_start: +else { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__1; -x_2 = l_Lean_Meta_splitTarget_x3f_go___closed__3; -x_3 = l_Lean_Name_mkStr2(x_1, x_2); -return x_3; -} +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; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; +x_190 = lean_ctor_get(x_156, 0); +lean_inc(x_190); +lean_dec(x_156); +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(x_190); +x_193 = lean_ctor_get(x_155, 1); +lean_inc(x_193); +if (lean_is_exclusive(x_155)) { + lean_ctor_release(x_155, 0); + lean_ctor_release(x_155, 1); + x_194 = x_155; +} else { + lean_dec_ref(x_155); + x_194 = lean_box(0); } -static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("`split` tactic failed at", 24, 24); -return x_1; +x_195 = lean_ctor_get(x_191, 0); +lean_inc(x_195); +if (lean_is_exclusive(x_191)) { + lean_ctor_release(x_191, 0); + lean_ctor_release(x_191, 1); + x_196 = x_191; +} else { + lean_dec_ref(x_191); + x_196 = lean_box(0); } +x_197 = lean_ctor_get(x_192, 0); +lean_inc(x_197); +if (lean_is_exclusive(x_192)) { + lean_ctor_release(x_192, 0); + lean_ctor_release(x_192, 1); + x_198 = x_192; +} else { + lean_dec_ref(x_192); + x_198 = lean_box(0); } -static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_splitTarget_x3f_go___closed__5; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; +x_199 = lean_box(0); +if (lean_is_scalar(x_198)) { + x_200 = lean_alloc_ctor(1, 2, 0); +} else { + x_200 = x_198; + lean_ctor_set_tag(x_200, 1); } +lean_ctor_set(x_200, 0, x_197); +lean_ctor_set(x_200, 1, x_199); +if (lean_is_scalar(x_196)) { + x_201 = lean_alloc_ctor(1, 2, 0); +} else { + x_201 = x_196; + lean_ctor_set_tag(x_201, 1); } -static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__7() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("\n", 1, 1); -return x_1; +lean_ctor_set(x_201, 0, x_195); +lean_ctor_set(x_201, 1, x_200); +x_202 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_202, 0, x_201); +if (lean_is_scalar(x_194)) { + x_203 = lean_alloc_ctor(0, 2, 0); +} else { + x_203 = x_194; } +lean_ctor_set(x_203, 0, x_202); +lean_ctor_set(x_203, 1, x_193); +return x_203; } -static lean_object* _init_l_Lean_Meta_splitTarget_x3f_go___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Meta_splitTarget_x3f_go___closed__7; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go(lean_object* x_1, uint8_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: +else { -lean_object* x_10; uint8_t x_11; -x_10 = lean_st_ref_get(x_8, x_9); -x_11 = !lean_is_exclusive(x_10); -if (x_11 == 0) +uint8_t x_204; +x_204 = !lean_is_exclusive(x_155); +if (x_204 == 0) { -lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_12 = lean_ctor_get(x_10, 0); -x_13 = lean_ctor_get(x_10, 1); -x_14 = lean_ctor_get(x_12, 0); -lean_inc(x_14); -lean_dec(x_12); -lean_inc(x_4); -x_15 = l_Lean_Meta_Split_findSplit_x3f_go(x_14, x_2, x_4, x_3); -if (lean_obj_tag(x_15) == 0) +return x_155; +} +else +{ +lean_object* x_205; lean_object* x_206; lean_object* x_207; +x_205 = lean_ctor_get(x_155, 0); +x_206 = lean_ctor_get(x_155, 1); +lean_inc(x_206); +lean_inc(x_205); +lean_dec(x_155); +x_207 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_207, 0, x_205); +lean_ctor_set(x_207, 1, x_206); +return x_207; +} +} +} +} +else { -lean_object* x_16; lean_object* x_17; uint8_t x_18; +lean_object* x_208; lean_object* x_209; +lean_free_object(x_12); +lean_dec(x_48); lean_dec(x_4); -x_16 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__3; -x_17 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_16, x_5, x_6, x_7, x_8, x_13); -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) +lean_dec(x_3); +x_208 = lean_box(0); +x_209 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_208, x_5, x_6, x_7, x_8, x_46); +if (lean_obj_tag(x_209) == 0) { -lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; -x_19 = lean_ctor_get(x_17, 0); -x_20 = lean_ctor_get(x_17, 1); -x_21 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___closed__1; -x_22 = lean_unbox(x_19); -lean_dec(x_19); -if (x_22 == 0) +lean_object* x_210; +x_210 = lean_ctor_get(x_209, 0); +lean_inc(x_210); +if (lean_obj_tag(x_210) == 0) { -lean_object* x_23; lean_object* x_24; -lean_free_object(x_17); -lean_free_object(x_10); -lean_dec(x_1); -x_23 = lean_box(0); -x_24 = lean_apply_6(x_21, x_23, x_5, x_6, x_7, x_8, x_20); -return x_24; +uint8_t x_211; +x_211 = !lean_is_exclusive(x_209); +if (x_211 == 0) +{ +lean_object* x_212; +x_212 = lean_ctor_get(x_209, 0); +lean_dec(x_212); +lean_ctor_set(x_209, 0, x_208); +return x_209; } else { -lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_25 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_25, 0, x_1); -x_26 = l_Lean_Meta_splitTarget_x3f_go___closed__2; -lean_ctor_set_tag(x_17, 7); -lean_ctor_set(x_17, 1, x_25); -lean_ctor_set(x_17, 0, x_26); -x_27 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; -lean_ctor_set_tag(x_10, 7); -lean_ctor_set(x_10, 1, x_27); -lean_ctor_set(x_10, 0, x_17); -x_28 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_16, x_10, x_5, x_6, x_7, x_8, x_20); -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); -lean_dec(x_28); -x_31 = lean_apply_6(x_21, x_29, x_5, x_6, x_7, x_8, x_30); -return x_31; +lean_object* x_213; lean_object* x_214; +x_213 = lean_ctor_get(x_209, 1); +lean_inc(x_213); +lean_dec(x_209); +x_214 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_214, 0, x_208); +lean_ctor_set(x_214, 1, x_213); +return x_214; } } else { -lean_object* x_32; lean_object* x_33; lean_object* x_34; uint8_t x_35; -x_32 = lean_ctor_get(x_17, 0); -x_33 = lean_ctor_get(x_17, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_17); -x_34 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___closed__1; -x_35 = lean_unbox(x_32); -lean_dec(x_32); -if (x_35 == 0) +uint8_t x_215; +x_215 = !lean_is_exclusive(x_210); +if (x_215 == 0) { -lean_object* x_36; lean_object* x_37; -lean_free_object(x_10); -lean_dec(x_1); -x_36 = lean_box(0); -x_37 = lean_apply_6(x_34, x_36, x_5, x_6, x_7, x_8, x_33); -return x_37; +lean_object* x_216; lean_object* x_217; lean_object* x_218; uint8_t x_219; +x_216 = lean_ctor_get(x_210, 0); +x_217 = lean_ctor_get(x_216, 0); +lean_inc(x_217); +x_218 = lean_ctor_get(x_216, 1); +lean_inc(x_218); +lean_dec(x_216); +x_219 = !lean_is_exclusive(x_209); +if (x_219 == 0) +{ +lean_object* x_220; uint8_t x_221; +x_220 = lean_ctor_get(x_209, 0); +lean_dec(x_220); +x_221 = !lean_is_exclusive(x_217); +if (x_221 == 0) +{ +lean_object* x_222; uint8_t x_223; +x_222 = lean_ctor_get(x_217, 1); +lean_dec(x_222); +x_223 = !lean_is_exclusive(x_218); +if (x_223 == 0) +{ +lean_object* x_224; lean_object* x_225; +x_224 = lean_ctor_get(x_218, 1); +lean_dec(x_224); +x_225 = lean_box(0); +lean_ctor_set_tag(x_218, 1); +lean_ctor_set(x_218, 1, x_225); +lean_ctor_set_tag(x_217, 1); +lean_ctor_set(x_217, 1, x_218); +lean_ctor_set(x_210, 0, x_217); +return x_209; +} +else +{ +lean_object* x_226; lean_object* x_227; lean_object* x_228; +x_226 = lean_ctor_get(x_218, 0); +lean_inc(x_226); +lean_dec(x_218); +x_227 = lean_box(0); +x_228 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_228, 0, x_226); +lean_ctor_set(x_228, 1, x_227); +lean_ctor_set_tag(x_217, 1); +lean_ctor_set(x_217, 1, x_228); +lean_ctor_set(x_210, 0, x_217); +return x_209; +} } else { -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_38 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_38, 0, x_1); -x_39 = l_Lean_Meta_splitTarget_x3f_go___closed__2; -x_40 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_38); -x_41 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; -lean_ctor_set_tag(x_10, 7); -lean_ctor_set(x_10, 1, x_41); -lean_ctor_set(x_10, 0, x_40); -x_42 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_16, x_10, x_5, x_6, x_7, x_8, x_33); -x_43 = lean_ctor_get(x_42, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_42, 1); -lean_inc(x_44); -lean_dec(x_42); -x_45 = lean_apply_6(x_34, x_43, x_5, x_6, x_7, x_8, x_44); -return x_45; +lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; +x_229 = lean_ctor_get(x_217, 0); +lean_inc(x_229); +lean_dec(x_217); +x_230 = lean_ctor_get(x_218, 0); +lean_inc(x_230); +if (lean_is_exclusive(x_218)) { + lean_ctor_release(x_218, 0); + lean_ctor_release(x_218, 1); + x_231 = x_218; +} else { + lean_dec_ref(x_218); + x_231 = lean_box(0); +} +x_232 = lean_box(0); +if (lean_is_scalar(x_231)) { + x_233 = lean_alloc_ctor(1, 2, 0); +} else { + x_233 = x_231; + lean_ctor_set_tag(x_233, 1); } +lean_ctor_set(x_233, 0, x_230); +lean_ctor_set(x_233, 1, x_232); +x_234 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_234, 0, x_229); +lean_ctor_set(x_234, 1, x_233); +lean_ctor_set(x_210, 0, x_234); +return x_209; } } else { -uint8_t x_46; -x_46 = !lean_is_exclusive(x_15); -if (x_46 == 0) -{ -lean_object* x_47; uint8_t x_48; -x_47 = lean_ctor_get(x_15, 0); -x_48 = l_Lean_Expr_isIte(x_47); -if (x_48 == 0) -{ -uint8_t x_49; -x_49 = l_Lean_Expr_isDIte(x_47); -if (x_49 == 0) -{ -lean_object* x_50; -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_47); -lean_inc(x_1); -x_50 = l_Lean_Meta_Split_splitMatch(x_1, x_47, x_5, x_6, x_7, x_8, x_13); -if (lean_obj_tag(x_50) == 0) -{ -uint8_t x_51; -lean_dec(x_47); -lean_free_object(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -x_51 = !lean_is_exclusive(x_50); -if (x_51 == 0) -{ -lean_object* x_52; -x_52 = lean_ctor_get(x_50, 0); -lean_ctor_set(x_15, 0, x_52); -lean_ctor_set(x_50, 0, x_15); -return x_50; +lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; +x_235 = lean_ctor_get(x_209, 1); +lean_inc(x_235); +lean_dec(x_209); +x_236 = lean_ctor_get(x_217, 0); +lean_inc(x_236); +if (lean_is_exclusive(x_217)) { + lean_ctor_release(x_217, 0); + lean_ctor_release(x_217, 1); + x_237 = x_217; +} else { + lean_dec_ref(x_217); + x_237 = lean_box(0); +} +x_238 = lean_ctor_get(x_218, 0); +lean_inc(x_238); +if (lean_is_exclusive(x_218)) { + lean_ctor_release(x_218, 0); + lean_ctor_release(x_218, 1); + x_239 = x_218; +} else { + lean_dec_ref(x_218); + x_239 = lean_box(0); } -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_50, 0); -x_54 = lean_ctor_get(x_50, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_50); -lean_ctor_set(x_15, 0, x_53); -x_55 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_55, 0, x_15); -lean_ctor_set(x_55, 1, x_54); -return x_55; +x_240 = lean_box(0); +if (lean_is_scalar(x_239)) { + x_241 = lean_alloc_ctor(1, 2, 0); +} else { + x_241 = x_239; + lean_ctor_set_tag(x_241, 1); } +lean_ctor_set(x_241, 0, x_238); +lean_ctor_set(x_241, 1, x_240); +if (lean_is_scalar(x_237)) { + x_242 = lean_alloc_ctor(1, 2, 0); +} else { + x_242 = x_237; + lean_ctor_set_tag(x_242, 1); } -else -{ -uint8_t x_56; -lean_free_object(x_15); -x_56 = !lean_is_exclusive(x_50); -if (x_56 == 0) -{ -lean_object* x_57; lean_object* x_58; uint8_t x_59; -x_57 = lean_ctor_get(x_50, 0); -x_58 = lean_ctor_get(x_50, 1); -x_59 = l_Lean_Exception_isInterrupt(x_57); -if (x_59 == 0) -{ -uint8_t x_60; -x_60 = l_Lean_Exception_isRuntime(x_57); -if (x_60 == 0) -{ -uint8_t x_61; -lean_free_object(x_50); -x_61 = l_Lean_Meta_Split_isDiscrGenException(x_57); -if (x_61 == 0) -{ -lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; -x_62 = l_Lean_Meta_splitTarget_x3f_go___closed__4; -x_63 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_62, x_5, x_6, x_7, x_8, x_58); -x_64 = lean_ctor_get(x_63, 0); -lean_inc(x_64); -x_65 = lean_unbox(x_64); -lean_dec(x_64); -if (x_65 == 0) -{ -lean_object* x_66; lean_object* x_67; lean_object* x_68; -lean_dec(x_57); -lean_free_object(x_10); -x_66 = lean_ctor_get(x_63, 1); -lean_inc(x_66); -lean_dec(x_63); -x_67 = lean_box(0); -x_68 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_47, x_1, x_2, x_3, x_67, x_5, x_6, x_7, x_8, x_66); -return x_68; +lean_ctor_set(x_242, 0, x_236); +lean_ctor_set(x_242, 1, x_241); +lean_ctor_set(x_210, 0, x_242); +x_243 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_243, 0, x_210); +lean_ctor_set(x_243, 1, x_235); +return x_243; } -else -{ -uint8_t x_69; -x_69 = !lean_is_exclusive(x_63); -if (x_69 == 0) -{ -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_70 = lean_ctor_get(x_63, 1); -x_71 = lean_ctor_get(x_63, 0); -lean_dec(x_71); -lean_inc(x_47); -x_72 = l_Lean_indentExpr(x_47); -x_73 = l_Lean_Meta_splitTarget_x3f_go___closed__6; -lean_ctor_set_tag(x_63, 7); -lean_ctor_set(x_63, 1, x_72); -lean_ctor_set(x_63, 0, x_73); -x_74 = l_Lean_Meta_splitTarget_x3f_go___closed__8; -lean_ctor_set_tag(x_10, 7); -lean_ctor_set(x_10, 1, x_74); -lean_ctor_set(x_10, 0, x_63); -x_75 = l_Lean_Exception_toMessageData(x_57); -x_76 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_76, 0, x_10); -lean_ctor_set(x_76, 1, x_75); -x_77 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; -x_78 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_78, 0, x_76); -lean_ctor_set(x_78, 1, x_77); -x_79 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_62, x_78, x_5, x_6, x_7, x_8, x_70); -x_80 = lean_ctor_get(x_79, 0); -lean_inc(x_80); -x_81 = lean_ctor_get(x_79, 1); -lean_inc(x_81); -lean_dec(x_79); -x_82 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_47, x_1, x_2, x_3, x_80, x_5, x_6, x_7, x_8, x_81); -lean_dec(x_80); -return x_82; } else { -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; -x_83 = lean_ctor_get(x_63, 1); -lean_inc(x_83); -lean_dec(x_63); -lean_inc(x_47); -x_84 = l_Lean_indentExpr(x_47); -x_85 = l_Lean_Meta_splitTarget_x3f_go___closed__6; -x_86 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_86, 0, x_85); -lean_ctor_set(x_86, 1, x_84); -x_87 = l_Lean_Meta_splitTarget_x3f_go___closed__8; -lean_ctor_set_tag(x_10, 7); -lean_ctor_set(x_10, 1, x_87); -lean_ctor_set(x_10, 0, x_86); -x_88 = l_Lean_Exception_toMessageData(x_57); -x_89 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_89, 0, x_10); -lean_ctor_set(x_89, 1, x_88); -x_90 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; -x_91 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_91, 0, x_89); -lean_ctor_set(x_91, 1, x_90); -x_92 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_62, x_91, x_5, x_6, x_7, x_8, x_83); -x_93 = lean_ctor_get(x_92, 0); -lean_inc(x_93); -x_94 = lean_ctor_get(x_92, 1); -lean_inc(x_94); -lean_dec(x_92); -x_95 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_47, x_1, x_2, x_3, x_93, x_5, x_6, x_7, x_8, x_94); -lean_dec(x_93); -return x_95; +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; +x_244 = lean_ctor_get(x_210, 0); +lean_inc(x_244); +lean_dec(x_210); +x_245 = lean_ctor_get(x_244, 0); +lean_inc(x_245); +x_246 = lean_ctor_get(x_244, 1); +lean_inc(x_246); +lean_dec(x_244); +x_247 = lean_ctor_get(x_209, 1); +lean_inc(x_247); +if (lean_is_exclusive(x_209)) { + lean_ctor_release(x_209, 0); + lean_ctor_release(x_209, 1); + x_248 = x_209; +} else { + lean_dec_ref(x_209); + x_248 = lean_box(0); +} +x_249 = lean_ctor_get(x_245, 0); +lean_inc(x_249); +if (lean_is_exclusive(x_245)) { + lean_ctor_release(x_245, 0); + lean_ctor_release(x_245, 1); + x_250 = x_245; +} else { + lean_dec_ref(x_245); + x_250 = lean_box(0); +} +x_251 = lean_ctor_get(x_246, 0); +lean_inc(x_251); +if (lean_is_exclusive(x_246)) { + lean_ctor_release(x_246, 0); + lean_ctor_release(x_246, 1); + x_252 = x_246; +} else { + lean_dec_ref(x_246); + x_252 = lean_box(0); +} +x_253 = lean_box(0); +if (lean_is_scalar(x_252)) { + x_254 = lean_alloc_ctor(1, 2, 0); +} else { + x_254 = x_252; + lean_ctor_set_tag(x_254, 1); +} +lean_ctor_set(x_254, 0, x_251); +lean_ctor_set(x_254, 1, x_253); +if (lean_is_scalar(x_250)) { + x_255 = lean_alloc_ctor(1, 2, 0); +} else { + x_255 = x_250; + lean_ctor_set_tag(x_255, 1); +} +lean_ctor_set(x_255, 0, x_249); +lean_ctor_set(x_255, 1, x_254); +x_256 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_256, 0, x_255); +if (lean_is_scalar(x_248)) { + x_257 = lean_alloc_ctor(0, 2, 0); +} else { + x_257 = x_248; +} +lean_ctor_set(x_257, 0, x_256); +lean_ctor_set(x_257, 1, x_247); +return x_257; } } } else { -lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99; -lean_dec(x_57); -lean_free_object(x_10); -x_96 = l_Lean_Meta_splitTarget_x3f_go___closed__4; -x_97 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_96, x_5, x_6, x_7, x_8, x_58); -x_98 = lean_ctor_get(x_97, 0); -lean_inc(x_98); -x_99 = lean_unbox(x_98); -lean_dec(x_98); -if (x_99 == 0) +uint8_t x_258; +x_258 = !lean_is_exclusive(x_209); +if (x_258 == 0) { -lean_object* x_100; lean_object* x_101; lean_object* x_102; -x_100 = lean_ctor_get(x_97, 1); -lean_inc(x_100); -lean_dec(x_97); -x_101 = lean_box(0); -x_102 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_47, x_1, x_2, x_3, x_101, x_5, x_6, x_7, x_8, x_100); -return x_102; +return x_209; } else { -lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_103 = lean_ctor_get(x_97, 1); -lean_inc(x_103); -lean_dec(x_97); -lean_inc(x_47); -x_104 = l_Lean_Meta_Split_mkDiscrGenErrorMsg(x_47); -x_105 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_96, x_104, x_5, x_6, x_7, x_8, x_103); -x_106 = lean_ctor_get(x_105, 0); -lean_inc(x_106); -x_107 = lean_ctor_get(x_105, 1); -lean_inc(x_107); -lean_dec(x_105); -x_108 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_47, x_1, x_2, x_3, x_106, x_5, x_6, x_7, x_8, x_107); -lean_dec(x_106); -return x_108; -} +lean_object* x_259; lean_object* x_260; lean_object* x_261; +x_259 = lean_ctor_get(x_209, 0); +x_260 = lean_ctor_get(x_209, 1); +lean_inc(x_260); +lean_inc(x_259); +lean_dec(x_209); +x_261 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_261, 0, x_259); +lean_ctor_set(x_261, 1, x_260); +return x_261; } } -else -{ -lean_dec(x_47); -lean_free_object(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -return x_50; } } else { -lean_dec(x_47); -lean_free_object(x_10); +lean_object* x_262; uint8_t x_263; +x_262 = lean_ctor_get(x_12, 0); +lean_inc(x_262); +lean_dec(x_12); +x_263 = l_Lean_Expr_isIte(x_262); +if (x_263 == 0) +{ +uint8_t x_264; +x_264 = l_Lean_Expr_isDIte(x_262); +if (x_264 == 0) +{ +lean_object* x_265; +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_262); +lean_inc(x_1); +x_265 = l_Lean_Meta_Split_splitMatch(x_1, x_262, x_5, x_6, x_7, x_8, x_46); +if (lean_obj_tag(x_265) == 0) +{ +lean_object* x_266; lean_object* x_267; lean_object* x_268; lean_object* x_269; lean_object* x_270; +lean_dec(x_262); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); +lean_dec(x_3); lean_dec(x_1); -return x_50; +x_266 = lean_ctor_get(x_265, 0); +lean_inc(x_266); +x_267 = lean_ctor_get(x_265, 1); +lean_inc(x_267); +if (lean_is_exclusive(x_265)) { + lean_ctor_release(x_265, 0); + lean_ctor_release(x_265, 1); + x_268 = x_265; +} else { + lean_dec_ref(x_265); + x_268 = lean_box(0); +} +x_269 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_269, 0, x_266); +if (lean_is_scalar(x_268)) { + x_270 = lean_alloc_ctor(0, 2, 0); +} else { + x_270 = x_268; } +lean_ctor_set(x_270, 0, x_269); +lean_ctor_set(x_270, 1, x_267); +return x_270; } else { -lean_object* x_109; lean_object* x_110; uint8_t x_111; -x_109 = lean_ctor_get(x_50, 0); -x_110 = lean_ctor_get(x_50, 1); -lean_inc(x_110); -lean_inc(x_109); -lean_dec(x_50); -x_111 = l_Lean_Exception_isInterrupt(x_109); -if (x_111 == 0) -{ -uint8_t x_112; -x_112 = l_Lean_Exception_isRuntime(x_109); -if (x_112 == 0) -{ -uint8_t x_113; -x_113 = l_Lean_Meta_Split_isDiscrGenException(x_109); -if (x_113 == 0) +lean_object* x_271; lean_object* x_272; lean_object* x_273; uint8_t x_274; +x_271 = lean_ctor_get(x_265, 0); +lean_inc(x_271); +x_272 = lean_ctor_get(x_265, 1); +lean_inc(x_272); +if (lean_is_exclusive(x_265)) { + lean_ctor_release(x_265, 0); + lean_ctor_release(x_265, 1); + x_273 = x_265; +} else { + lean_dec_ref(x_265); + x_273 = lean_box(0); +} +x_274 = l_Lean_Exception_isInterrupt(x_271); +if (x_274 == 0) { -lean_object* x_114; lean_object* x_115; lean_object* x_116; uint8_t x_117; -x_114 = l_Lean_Meta_splitTarget_x3f_go___closed__4; -x_115 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_114, x_5, x_6, x_7, x_8, x_110); -x_116 = lean_ctor_get(x_115, 0); -lean_inc(x_116); -x_117 = lean_unbox(x_116); -lean_dec(x_116); -if (x_117 == 0) +uint8_t x_275; +x_275 = l_Lean_Exception_isRuntime(x_271); +if (x_275 == 0) { -lean_object* x_118; lean_object* x_119; lean_object* x_120; -lean_dec(x_109); -lean_free_object(x_10); -x_118 = lean_ctor_get(x_115, 1); -lean_inc(x_118); -lean_dec(x_115); -x_119 = lean_box(0); -x_120 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_47, x_1, x_2, x_3, x_119, x_5, x_6, x_7, x_8, x_118); -return x_120; -} -else +uint8_t x_276; +lean_dec(x_273); +x_276 = l_Lean_Meta_Split_isDiscrGenException(x_271); +if (x_276 == 0) { -lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; -x_121 = lean_ctor_get(x_115, 1); -lean_inc(x_121); -if (lean_is_exclusive(x_115)) { - lean_ctor_release(x_115, 0); - lean_ctor_release(x_115, 1); - x_122 = x_115; -} else { - lean_dec_ref(x_115); - x_122 = lean_box(0); +lean_object* x_277; lean_object* x_278; lean_object* x_279; uint8_t x_280; +x_277 = l_Lean_Meta_splitTarget_x3f_go___closed__4; +x_278 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_277, x_5, x_6, x_7, x_8, x_272); +x_279 = lean_ctor_get(x_278, 0); +lean_inc(x_279); +x_280 = lean_unbox(x_279); +lean_dec(x_279); +if (x_280 == 0) +{ +lean_object* x_281; lean_object* x_282; lean_object* x_283; +lean_dec(x_271); +x_281 = lean_ctor_get(x_278, 1); +lean_inc(x_281); +lean_dec(x_278); +x_282 = lean_box(0); +x_283 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_262, x_1, x_2, x_3, x_282, x_5, x_6, x_7, x_8, x_281); +return x_283; +} +else +{ +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; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; +x_284 = lean_ctor_get(x_278, 1); +lean_inc(x_284); +if (lean_is_exclusive(x_278)) { + lean_ctor_release(x_278, 0); + lean_ctor_release(x_278, 1); + x_285 = x_278; +} else { + lean_dec_ref(x_278); + x_285 = lean_box(0); } -lean_inc(x_47); -x_123 = l_Lean_indentExpr(x_47); -x_124 = l_Lean_Meta_splitTarget_x3f_go___closed__6; -if (lean_is_scalar(x_122)) { - x_125 = lean_alloc_ctor(7, 2, 0); -} else { - x_125 = x_122; - lean_ctor_set_tag(x_125, 7); -} -lean_ctor_set(x_125, 0, x_124); -lean_ctor_set(x_125, 1, x_123); -x_126 = l_Lean_Meta_splitTarget_x3f_go___closed__8; -lean_ctor_set_tag(x_10, 7); -lean_ctor_set(x_10, 1, x_126); -lean_ctor_set(x_10, 0, x_125); -x_127 = l_Lean_Exception_toMessageData(x_109); -x_128 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_128, 0, x_10); -lean_ctor_set(x_128, 1, x_127); -x_129 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; -x_130 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_130, 0, x_128); -lean_ctor_set(x_130, 1, x_129); -x_131 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_114, x_130, x_5, x_6, x_7, x_8, x_121); -x_132 = lean_ctor_get(x_131, 0); -lean_inc(x_132); -x_133 = lean_ctor_get(x_131, 1); -lean_inc(x_133); -lean_dec(x_131); -x_134 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_47, x_1, x_2, x_3, x_132, x_5, x_6, x_7, x_8, x_133); -lean_dec(x_132); -return x_134; +lean_inc(x_262); +x_286 = l_Lean_indentExpr(x_262); +x_287 = l_Lean_Meta_splitTarget_x3f_go___closed__6; +if (lean_is_scalar(x_285)) { + x_288 = lean_alloc_ctor(7, 2, 0); +} else { + x_288 = x_285; + lean_ctor_set_tag(x_288, 7); +} +lean_ctor_set(x_288, 0, x_287); +lean_ctor_set(x_288, 1, x_286); +x_289 = l_Lean_Meta_splitTarget_x3f_go___closed__8; +x_290 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_290, 0, x_288); +lean_ctor_set(x_290, 1, x_289); +x_291 = l_Lean_Exception_toMessageData(x_271); +x_292 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_292, 0, x_290); +lean_ctor_set(x_292, 1, x_291); +x_293 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; +x_294 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_294, 0, x_292); +lean_ctor_set(x_294, 1, x_293); +x_295 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_277, x_294, x_5, x_6, x_7, x_8, x_284); +x_296 = lean_ctor_get(x_295, 0); +lean_inc(x_296); +x_297 = lean_ctor_get(x_295, 1); +lean_inc(x_297); +lean_dec(x_295); +x_298 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_262, x_1, x_2, x_3, x_296, x_5, x_6, x_7, x_8, x_297); +lean_dec(x_296); +return x_298; } } else { -lean_object* x_135; lean_object* x_136; lean_object* x_137; uint8_t x_138; -lean_dec(x_109); -lean_free_object(x_10); -x_135 = l_Lean_Meta_splitTarget_x3f_go___closed__4; -x_136 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_135, x_5, x_6, x_7, x_8, x_110); -x_137 = lean_ctor_get(x_136, 0); -lean_inc(x_137); -x_138 = lean_unbox(x_137); -lean_dec(x_137); -if (x_138 == 0) +lean_object* x_299; lean_object* x_300; lean_object* x_301; uint8_t x_302; +lean_dec(x_271); +x_299 = l_Lean_Meta_splitTarget_x3f_go___closed__4; +x_300 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_299, x_5, x_6, x_7, x_8, x_272); +x_301 = lean_ctor_get(x_300, 0); +lean_inc(x_301); +x_302 = lean_unbox(x_301); +lean_dec(x_301); +if (x_302 == 0) { -lean_object* x_139; lean_object* x_140; lean_object* x_141; -x_139 = lean_ctor_get(x_136, 1); -lean_inc(x_139); -lean_dec(x_136); -x_140 = lean_box(0); -x_141 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_47, x_1, x_2, x_3, x_140, x_5, x_6, x_7, x_8, x_139); -return x_141; +lean_object* x_303; lean_object* x_304; lean_object* x_305; +x_303 = lean_ctor_get(x_300, 1); +lean_inc(x_303); +lean_dec(x_300); +x_304 = lean_box(0); +x_305 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_262, x_1, x_2, x_3, x_304, x_5, x_6, x_7, x_8, x_303); +return x_305; } else { -lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; -x_142 = lean_ctor_get(x_136, 1); -lean_inc(x_142); -lean_dec(x_136); -lean_inc(x_47); -x_143 = l_Lean_Meta_Split_mkDiscrGenErrorMsg(x_47); -x_144 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_135, x_143, x_5, x_6, x_7, x_8, x_142); -x_145 = lean_ctor_get(x_144, 0); -lean_inc(x_145); -x_146 = lean_ctor_get(x_144, 1); -lean_inc(x_146); -lean_dec(x_144); -x_147 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_47, x_1, x_2, x_3, x_145, x_5, x_6, x_7, x_8, x_146); -lean_dec(x_145); -return x_147; +lean_object* x_306; lean_object* x_307; lean_object* x_308; lean_object* x_309; lean_object* x_310; lean_object* x_311; +x_306 = lean_ctor_get(x_300, 1); +lean_inc(x_306); +lean_dec(x_300); +lean_inc(x_262); +x_307 = l_Lean_Meta_Split_mkDiscrGenErrorMsg(x_262); +x_308 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_299, x_307, x_5, x_6, x_7, x_8, x_306); +x_309 = lean_ctor_get(x_308, 0); +lean_inc(x_309); +x_310 = lean_ctor_get(x_308, 1); +lean_inc(x_310); +lean_dec(x_308); +x_311 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_262, x_1, x_2, x_3, x_309, x_5, x_6, x_7, x_8, x_310); +lean_dec(x_309); +return x_311; } } } else { -lean_object* x_148; -lean_dec(x_47); -lean_free_object(x_10); +lean_object* x_312; +lean_dec(x_262); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); +lean_dec(x_3); lean_dec(x_1); -x_148 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_148, 0, x_109); -lean_ctor_set(x_148, 1, x_110); -return x_148; +if (lean_is_scalar(x_273)) { + x_312 = lean_alloc_ctor(1, 2, 0); +} else { + x_312 = x_273; +} +lean_ctor_set(x_312, 0, x_271); +lean_ctor_set(x_312, 1, x_272); +return x_312; } } else { -lean_object* x_149; -lean_dec(x_47); -lean_free_object(x_10); +lean_object* x_313; +lean_dec(x_262); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); +lean_dec(x_3); lean_dec(x_1); -x_149 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_149, 0, x_109); -lean_ctor_set(x_149, 1, x_110); -return x_149; +if (lean_is_scalar(x_273)) { + x_313 = lean_alloc_ctor(1, 2, 0); +} else { + x_313 = x_273; } +lean_ctor_set(x_313, 0, x_271); +lean_ctor_set(x_313, 1, x_272); +return x_313; } } } else { -lean_object* x_150; lean_object* x_151; -lean_free_object(x_15); -lean_dec(x_47); -lean_free_object(x_10); +lean_object* x_314; lean_object* x_315; +lean_dec(x_262); lean_dec(x_4); -x_150 = lean_box(0); -x_151 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_150, x_5, x_6, x_7, x_8, x_13); -if (lean_obj_tag(x_151) == 0) -{ -lean_object* x_152; -x_152 = lean_ctor_get(x_151, 0); -lean_inc(x_152); -if (lean_obj_tag(x_152) == 0) +lean_dec(x_3); +x_314 = lean_box(0); +x_315 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_314, x_5, x_6, x_7, x_8, x_46); +if (lean_obj_tag(x_315) == 0) { -uint8_t x_153; -x_153 = !lean_is_exclusive(x_151); -if (x_153 == 0) +lean_object* x_316; +x_316 = lean_ctor_get(x_315, 0); +lean_inc(x_316); +if (lean_obj_tag(x_316) == 0) { -lean_object* x_154; -x_154 = lean_ctor_get(x_151, 0); -lean_dec(x_154); -lean_ctor_set(x_151, 0, x_150); -return x_151; +lean_object* x_317; lean_object* x_318; lean_object* x_319; +x_317 = lean_ctor_get(x_315, 1); +lean_inc(x_317); +if (lean_is_exclusive(x_315)) { + lean_ctor_release(x_315, 0); + lean_ctor_release(x_315, 1); + x_318 = x_315; +} else { + lean_dec_ref(x_315); + x_318 = lean_box(0); +} +if (lean_is_scalar(x_318)) { + x_319 = lean_alloc_ctor(0, 2, 0); +} else { + x_319 = x_318; +} +lean_ctor_set(x_319, 0, x_314); +lean_ctor_set(x_319, 1, x_317); +return x_319; } else { -lean_object* x_155; lean_object* x_156; -x_155 = lean_ctor_get(x_151, 1); -lean_inc(x_155); -lean_dec(x_151); -x_156 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_156, 0, x_150); -lean_ctor_set(x_156, 1, x_155); -return x_156; +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_320 = lean_ctor_get(x_316, 0); +lean_inc(x_320); +if (lean_is_exclusive(x_316)) { + lean_ctor_release(x_316, 0); + x_321 = x_316; +} else { + lean_dec_ref(x_316); + x_321 = lean_box(0); +} +x_322 = lean_ctor_get(x_320, 0); +lean_inc(x_322); +x_323 = lean_ctor_get(x_320, 1); +lean_inc(x_323); +lean_dec(x_320); +x_324 = lean_ctor_get(x_315, 1); +lean_inc(x_324); +if (lean_is_exclusive(x_315)) { + lean_ctor_release(x_315, 0); + lean_ctor_release(x_315, 1); + x_325 = x_315; +} else { + lean_dec_ref(x_315); + x_325 = lean_box(0); +} +x_326 = lean_ctor_get(x_322, 0); +lean_inc(x_326); +if (lean_is_exclusive(x_322)) { + lean_ctor_release(x_322, 0); + lean_ctor_release(x_322, 1); + x_327 = x_322; +} else { + lean_dec_ref(x_322); + x_327 = lean_box(0); +} +x_328 = lean_ctor_get(x_323, 0); +lean_inc(x_328); +if (lean_is_exclusive(x_323)) { + lean_ctor_release(x_323, 0); + lean_ctor_release(x_323, 1); + x_329 = x_323; +} else { + lean_dec_ref(x_323); + x_329 = lean_box(0); +} +x_330 = lean_box(0); +if (lean_is_scalar(x_329)) { + x_331 = lean_alloc_ctor(1, 2, 0); +} else { + x_331 = x_329; + lean_ctor_set_tag(x_331, 1); +} +lean_ctor_set(x_331, 0, x_328); +lean_ctor_set(x_331, 1, x_330); +if (lean_is_scalar(x_327)) { + x_332 = lean_alloc_ctor(1, 2, 0); +} else { + x_332 = x_327; + lean_ctor_set_tag(x_332, 1); +} +lean_ctor_set(x_332, 0, x_326); +lean_ctor_set(x_332, 1, x_331); +if (lean_is_scalar(x_321)) { + x_333 = lean_alloc_ctor(1, 1, 0); +} else { + x_333 = x_321; +} +lean_ctor_set(x_333, 0, x_332); +if (lean_is_scalar(x_325)) { + x_334 = lean_alloc_ctor(0, 2, 0); +} else { + x_334 = x_325; +} +lean_ctor_set(x_334, 0, x_333); +lean_ctor_set(x_334, 1, x_324); +return x_334; } } else { -uint8_t x_157; -x_157 = !lean_is_exclusive(x_152); -if (x_157 == 0) -{ -lean_object* x_158; lean_object* x_159; lean_object* x_160; uint8_t x_161; -x_158 = lean_ctor_get(x_152, 0); -x_159 = lean_ctor_get(x_158, 0); -lean_inc(x_159); -x_160 = lean_ctor_get(x_158, 1); -lean_inc(x_160); -lean_dec(x_158); -x_161 = !lean_is_exclusive(x_151); -if (x_161 == 0) +lean_object* x_335; lean_object* x_336; lean_object* x_337; lean_object* x_338; +x_335 = lean_ctor_get(x_315, 0); +lean_inc(x_335); +x_336 = lean_ctor_get(x_315, 1); +lean_inc(x_336); +if (lean_is_exclusive(x_315)) { + lean_ctor_release(x_315, 0); + lean_ctor_release(x_315, 1); + x_337 = x_315; +} else { + lean_dec_ref(x_315); + x_337 = lean_box(0); +} +if (lean_is_scalar(x_337)) { + x_338 = lean_alloc_ctor(1, 2, 0); +} else { + x_338 = x_337; +} +lean_ctor_set(x_338, 0, x_335); +lean_ctor_set(x_338, 1, x_336); +return x_338; +} +} +} +else { -lean_object* x_162; uint8_t x_163; -x_162 = lean_ctor_get(x_151, 0); -lean_dec(x_162); -x_163 = !lean_is_exclusive(x_159); -if (x_163 == 0) +lean_object* x_339; lean_object* x_340; +lean_dec(x_262); +lean_dec(x_4); +lean_dec(x_3); +x_339 = lean_box(0); +x_340 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_339, x_5, x_6, x_7, x_8, x_46); +if (lean_obj_tag(x_340) == 0) { -lean_object* x_164; uint8_t x_165; -x_164 = lean_ctor_get(x_159, 1); -lean_dec(x_164); -x_165 = !lean_is_exclusive(x_160); -if (x_165 == 0) +lean_object* x_341; +x_341 = lean_ctor_get(x_340, 0); +lean_inc(x_341); +if (lean_obj_tag(x_341) == 0) { -lean_object* x_166; lean_object* x_167; -x_166 = lean_ctor_get(x_160, 1); -lean_dec(x_166); -x_167 = lean_box(0); -lean_ctor_set_tag(x_160, 1); -lean_ctor_set(x_160, 1, x_167); -lean_ctor_set_tag(x_159, 1); -lean_ctor_set(x_159, 1, x_160); -lean_ctor_set(x_152, 0, x_159); -return x_151; +lean_object* x_342; lean_object* x_343; lean_object* x_344; +x_342 = lean_ctor_get(x_340, 1); +lean_inc(x_342); +if (lean_is_exclusive(x_340)) { + lean_ctor_release(x_340, 0); + lean_ctor_release(x_340, 1); + x_343 = x_340; +} else { + lean_dec_ref(x_340); + x_343 = lean_box(0); } -else -{ -lean_object* x_168; lean_object* x_169; lean_object* x_170; -x_168 = lean_ctor_get(x_160, 0); -lean_inc(x_168); -lean_dec(x_160); -x_169 = lean_box(0); -x_170 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_170, 0, x_168); -lean_ctor_set(x_170, 1, x_169); -lean_ctor_set_tag(x_159, 1); -lean_ctor_set(x_159, 1, x_170); -lean_ctor_set(x_152, 0, x_159); -return x_151; +if (lean_is_scalar(x_343)) { + x_344 = lean_alloc_ctor(0, 2, 0); +} else { + x_344 = x_343; } +lean_ctor_set(x_344, 0, x_339); +lean_ctor_set(x_344, 1, x_342); +return x_344; } else { -lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; -x_171 = lean_ctor_get(x_159, 0); -lean_inc(x_171); -lean_dec(x_159); -x_172 = lean_ctor_get(x_160, 0); -lean_inc(x_172); -if (lean_is_exclusive(x_160)) { - lean_ctor_release(x_160, 0); - lean_ctor_release(x_160, 1); - x_173 = x_160; +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; lean_object* x_358; lean_object* x_359; +x_345 = lean_ctor_get(x_341, 0); +lean_inc(x_345); +if (lean_is_exclusive(x_341)) { + lean_ctor_release(x_341, 0); + x_346 = x_341; } else { - lean_dec_ref(x_160); - x_173 = lean_box(0); + lean_dec_ref(x_341); + x_346 = lean_box(0); } -x_174 = lean_box(0); -if (lean_is_scalar(x_173)) { - x_175 = lean_alloc_ctor(1, 2, 0); +x_347 = lean_ctor_get(x_345, 0); +lean_inc(x_347); +x_348 = lean_ctor_get(x_345, 1); +lean_inc(x_348); +lean_dec(x_345); +x_349 = lean_ctor_get(x_340, 1); +lean_inc(x_349); +if (lean_is_exclusive(x_340)) { + lean_ctor_release(x_340, 0); + lean_ctor_release(x_340, 1); + x_350 = x_340; +} else { + lean_dec_ref(x_340); + x_350 = lean_box(0); +} +x_351 = lean_ctor_get(x_347, 0); +lean_inc(x_351); +if (lean_is_exclusive(x_347)) { + lean_ctor_release(x_347, 0); + lean_ctor_release(x_347, 1); + x_352 = x_347; } else { - x_175 = x_173; - lean_ctor_set_tag(x_175, 1); -} -lean_ctor_set(x_175, 0, x_172); -lean_ctor_set(x_175, 1, x_174); -x_176 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_176, 0, x_171); -lean_ctor_set(x_176, 1, x_175); -lean_ctor_set(x_152, 0, x_176); -return x_151; + lean_dec_ref(x_347); + x_352 = lean_box(0); } +x_353 = lean_ctor_get(x_348, 0); +lean_inc(x_353); +if (lean_is_exclusive(x_348)) { + lean_ctor_release(x_348, 0); + lean_ctor_release(x_348, 1); + x_354 = x_348; +} else { + lean_dec_ref(x_348); + x_354 = lean_box(0); } -else -{ -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_177 = lean_ctor_get(x_151, 1); -lean_inc(x_177); -lean_dec(x_151); -x_178 = lean_ctor_get(x_159, 0); -lean_inc(x_178); -if (lean_is_exclusive(x_159)) { - lean_ctor_release(x_159, 0); - lean_ctor_release(x_159, 1); - x_179 = x_159; +x_355 = lean_box(0); +if (lean_is_scalar(x_354)) { + x_356 = lean_alloc_ctor(1, 2, 0); } else { - lean_dec_ref(x_159); - x_179 = lean_box(0); + x_356 = x_354; + lean_ctor_set_tag(x_356, 1); } -x_180 = lean_ctor_get(x_160, 0); -lean_inc(x_180); -if (lean_is_exclusive(x_160)) { - lean_ctor_release(x_160, 0); - lean_ctor_release(x_160, 1); - x_181 = x_160; +lean_ctor_set(x_356, 0, x_353); +lean_ctor_set(x_356, 1, x_355); +if (lean_is_scalar(x_352)) { + x_357 = lean_alloc_ctor(1, 2, 0); } else { - lean_dec_ref(x_160); - x_181 = lean_box(0); + x_357 = x_352; + lean_ctor_set_tag(x_357, 1); } -x_182 = lean_box(0); -if (lean_is_scalar(x_181)) { - x_183 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_357, 0, x_351); +lean_ctor_set(x_357, 1, x_356); +if (lean_is_scalar(x_346)) { + x_358 = lean_alloc_ctor(1, 1, 0); } else { - x_183 = x_181; - lean_ctor_set_tag(x_183, 1); + x_358 = x_346; } -lean_ctor_set(x_183, 0, x_180); -lean_ctor_set(x_183, 1, x_182); -if (lean_is_scalar(x_179)) { - x_184 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_358, 0, x_357); +if (lean_is_scalar(x_350)) { + x_359 = lean_alloc_ctor(0, 2, 0); } else { - x_184 = x_179; - lean_ctor_set_tag(x_184, 1); + x_359 = x_350; } -lean_ctor_set(x_184, 0, x_178); -lean_ctor_set(x_184, 1, x_183); -lean_ctor_set(x_152, 0, x_184); -x_185 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_185, 0, x_152); -lean_ctor_set(x_185, 1, x_177); -return x_185; +lean_ctor_set(x_359, 0, x_358); +lean_ctor_set(x_359, 1, x_349); +return x_359; } } else { -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; lean_object* x_199; -x_186 = lean_ctor_get(x_152, 0); -lean_inc(x_186); -lean_dec(x_152); -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(x_186); -x_189 = lean_ctor_get(x_151, 1); -lean_inc(x_189); -if (lean_is_exclusive(x_151)) { - lean_ctor_release(x_151, 0); - lean_ctor_release(x_151, 1); - x_190 = x_151; -} else { - lean_dec_ref(x_151); - x_190 = lean_box(0); -} -x_191 = lean_ctor_get(x_187, 0); -lean_inc(x_191); -if (lean_is_exclusive(x_187)) { - lean_ctor_release(x_187, 0); - lean_ctor_release(x_187, 1); - x_192 = x_187; +lean_object* x_360; lean_object* x_361; lean_object* x_362; lean_object* x_363; +x_360 = lean_ctor_get(x_340, 0); +lean_inc(x_360); +x_361 = lean_ctor_get(x_340, 1); +lean_inc(x_361); +if (lean_is_exclusive(x_340)) { + lean_ctor_release(x_340, 0); + lean_ctor_release(x_340, 1); + x_362 = x_340; } else { - lean_dec_ref(x_187); - x_192 = lean_box(0); + lean_dec_ref(x_340); + x_362 = lean_box(0); } -x_193 = lean_ctor_get(x_188, 0); -lean_inc(x_193); -if (lean_is_exclusive(x_188)) { - lean_ctor_release(x_188, 0); - lean_ctor_release(x_188, 1); - x_194 = x_188; +if (lean_is_scalar(x_362)) { + x_363 = lean_alloc_ctor(1, 2, 0); } else { - lean_dec_ref(x_188); - x_194 = lean_box(0); + x_363 = x_362; } -x_195 = lean_box(0); -if (lean_is_scalar(x_194)) { - x_196 = lean_alloc_ctor(1, 2, 0); -} else { - x_196 = x_194; - lean_ctor_set_tag(x_196, 1); +lean_ctor_set(x_363, 0, x_360); +lean_ctor_set(x_363, 1, x_361); +return x_363; } -lean_ctor_set(x_196, 0, x_193); -lean_ctor_set(x_196, 1, x_195); -if (lean_is_scalar(x_192)) { - x_197 = lean_alloc_ctor(1, 2, 0); -} else { - x_197 = x_192; - lean_ctor_set_tag(x_197, 1); -} -lean_ctor_set(x_197, 0, x_191); -lean_ctor_set(x_197, 1, x_196); -x_198 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_198, 0, x_197); -if (lean_is_scalar(x_190)) { - x_199 = lean_alloc_ctor(0, 2, 0); -} else { - x_199 = x_190; } -lean_ctor_set(x_199, 0, x_198); -lean_ctor_set(x_199, 1, x_189); -return x_199; } } } else { -uint8_t x_200; -x_200 = !lean_is_exclusive(x_151); -if (x_200 == 0) +uint8_t x_364; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_364 = !lean_is_exclusive(x_11); +if (x_364 == 0) { -return x_151; +return x_11; } else { -lean_object* x_201; lean_object* x_202; lean_object* x_203; -x_201 = lean_ctor_get(x_151, 0); -x_202 = lean_ctor_get(x_151, 1); -lean_inc(x_202); -lean_inc(x_201); -lean_dec(x_151); -x_203 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_203, 0, x_201); -lean_ctor_set(x_203, 1, x_202); -return x_203; +lean_object* x_365; lean_object* x_366; lean_object* x_367; +x_365 = lean_ctor_get(x_11, 0); +x_366 = lean_ctor_get(x_11, 1); +lean_inc(x_366); +lean_inc(x_365); +lean_dec(x_11); +x_367 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_367, 0, x_365); +lean_ctor_set(x_367, 1, x_366); +return x_367; } } } } -else +} +LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: { -lean_object* x_204; lean_object* x_205; -lean_free_object(x_15); -lean_dec(x_47); -lean_free_object(x_10); +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_4); lean_dec(x_4); -x_204 = lean_box(0); -x_205 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_204, x_5, x_6, x_7, x_8, x_13); -if (lean_obj_tag(x_205) == 0) -{ -lean_object* x_206; -x_206 = lean_ctor_get(x_205, 0); -lean_inc(x_206); -if (lean_obj_tag(x_206) == 0) -{ -uint8_t x_207; -x_207 = !lean_is_exclusive(x_205); -if (x_207 == 0) -{ -lean_object* x_208; -x_208 = lean_ctor_get(x_205, 0); -lean_dec(x_208); -lean_ctor_set(x_205, 0, x_204); -return x_205; +x_13 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_1, x_2, x_3, x_12, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); +return x_13; } -else +} +LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: { -lean_object* x_209; lean_object* x_210; -x_209 = lean_ctor_get(x_205, 1); -lean_inc(x_209); -lean_dec(x_205); -x_210 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_210, 0, x_204); -lean_ctor_set(x_210, 1, x_209); -return x_210; +uint8_t x_10; lean_object* x_11; +x_10 = lean_unbox(x_2); +lean_dec(x_2); +x_11 = l_Lean_Meta_splitTarget_x3f_go(x_1, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_11; } } -else -{ -uint8_t x_211; -x_211 = !lean_is_exclusive(x_206); -if (x_211 == 0) +LEAN_EXPORT lean_object* l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: { -lean_object* x_212; lean_object* x_213; lean_object* x_214; uint8_t x_215; -x_212 = lean_ctor_get(x_206, 0); -x_213 = lean_ctor_get(x_212, 0); -lean_inc(x_213); -x_214 = lean_ctor_get(x_212, 1); -lean_inc(x_214); -lean_dec(x_212); -x_215 = !lean_is_exclusive(x_205); -if (x_215 == 0) +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_23; +x_7 = l_Lean_Meta_saveState___rarg(x_3, x_4, x_5, x_6); +x_8 = lean_ctor_get(x_7, 0); +lean_inc(x_8); +x_9 = lean_ctor_get(x_7, 1); +lean_inc(x_9); +if (lean_is_exclusive(x_7)) { + lean_ctor_release(x_7, 0); + lean_ctor_release(x_7, 1); + x_10 = x_7; +} else { + lean_dec_ref(x_7); + x_10 = lean_box(0); +} +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_2); +x_23 = lean_apply_5(x_1, x_2, x_3, x_4, x_5, x_9); +if (lean_obj_tag(x_23) == 0) { -lean_object* x_216; uint8_t x_217; -x_216 = lean_ctor_get(x_205, 0); -lean_dec(x_216); -x_217 = !lean_is_exclusive(x_213); -if (x_217 == 0) +lean_object* x_24; +lean_dec(x_10); +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +if (lean_obj_tag(x_24) == 0) { -lean_object* x_218; uint8_t x_219; -x_218 = lean_ctor_get(x_213, 1); -lean_dec(x_218); -x_219 = !lean_is_exclusive(x_214); -if (x_219 == 0) +lean_object* x_25; lean_object* x_26; uint8_t x_27; +x_25 = lean_ctor_get(x_23, 1); +lean_inc(x_25); +lean_dec(x_23); +x_26 = l_Lean_Meta_SavedState_restore(x_8, x_2, x_3, x_4, x_5, x_25); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_8); +x_27 = !lean_is_exclusive(x_26); +if (x_27 == 0) { -lean_object* x_220; lean_object* x_221; -x_220 = lean_ctor_get(x_214, 1); -lean_dec(x_220); -x_221 = lean_box(0); -lean_ctor_set_tag(x_214, 1); -lean_ctor_set(x_214, 1, x_221); -lean_ctor_set_tag(x_213, 1); -lean_ctor_set(x_213, 1, x_214); -lean_ctor_set(x_206, 0, x_213); -return x_205; +lean_object* x_28; lean_object* x_29; +x_28 = lean_ctor_get(x_26, 0); +lean_dec(x_28); +x_29 = lean_box(0); +lean_ctor_set(x_26, 0, x_29); +return x_26; } else { -lean_object* x_222; lean_object* x_223; lean_object* x_224; -x_222 = lean_ctor_get(x_214, 0); -lean_inc(x_222); -lean_dec(x_214); -x_223 = lean_box(0); -x_224 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_224, 0, x_222); -lean_ctor_set(x_224, 1, x_223); -lean_ctor_set_tag(x_213, 1); -lean_ctor_set(x_213, 1, x_224); -lean_ctor_set(x_206, 0, x_213); -return x_205; +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_26, 1); +lean_inc(x_30); +lean_dec(x_26); +x_31 = lean_box(0); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_30); +return x_32; } } else { -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_225 = lean_ctor_get(x_213, 0); -lean_inc(x_225); -lean_dec(x_213); -x_226 = lean_ctor_get(x_214, 0); -lean_inc(x_226); -if (lean_is_exclusive(x_214)) { - lean_ctor_release(x_214, 0); - lean_ctor_release(x_214, 1); - x_227 = x_214; -} else { - lean_dec_ref(x_214); - x_227 = lean_box(0); -} -x_228 = lean_box(0); -if (lean_is_scalar(x_227)) { - x_229 = lean_alloc_ctor(1, 2, 0); -} else { - x_229 = x_227; - lean_ctor_set_tag(x_229, 1); -} -lean_ctor_set(x_229, 0, x_226); -lean_ctor_set(x_229, 1, x_228); -x_230 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_230, 0, x_225); -lean_ctor_set(x_230, 1, x_229); -lean_ctor_set(x_206, 0, x_230); -return x_205; -} +uint8_t x_33; +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_33 = !lean_is_exclusive(x_23); +if (x_33 == 0) +{ +lean_object* x_34; uint8_t x_35; +x_34 = lean_ctor_get(x_23, 0); +lean_dec(x_34); +x_35 = !lean_is_exclusive(x_24); +if (x_35 == 0) +{ +return x_23; } else { -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_231 = lean_ctor_get(x_205, 1); -lean_inc(x_231); -lean_dec(x_205); -x_232 = lean_ctor_get(x_213, 0); -lean_inc(x_232); -if (lean_is_exclusive(x_213)) { - lean_ctor_release(x_213, 0); - lean_ctor_release(x_213, 1); - x_233 = x_213; -} else { - lean_dec_ref(x_213); - x_233 = lean_box(0); -} -x_234 = lean_ctor_get(x_214, 0); -lean_inc(x_234); -if (lean_is_exclusive(x_214)) { - lean_ctor_release(x_214, 0); - lean_ctor_release(x_214, 1); - x_235 = x_214; -} else { - lean_dec_ref(x_214); - x_235 = lean_box(0); -} -x_236 = lean_box(0); -if (lean_is_scalar(x_235)) { - x_237 = lean_alloc_ctor(1, 2, 0); -} else { - x_237 = x_235; - lean_ctor_set_tag(x_237, 1); -} -lean_ctor_set(x_237, 0, x_234); -lean_ctor_set(x_237, 1, x_236); -if (lean_is_scalar(x_233)) { - x_238 = lean_alloc_ctor(1, 2, 0); -} else { - x_238 = x_233; - lean_ctor_set_tag(x_238, 1); -} -lean_ctor_set(x_238, 0, x_232); -lean_ctor_set(x_238, 1, x_237); -lean_ctor_set(x_206, 0, x_238); -x_239 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_239, 0, x_206); -lean_ctor_set(x_239, 1, x_231); -return x_239; -} -} -else -{ -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; -x_240 = lean_ctor_get(x_206, 0); -lean_inc(x_240); -lean_dec(x_206); -x_241 = lean_ctor_get(x_240, 0); -lean_inc(x_241); -x_242 = lean_ctor_get(x_240, 1); -lean_inc(x_242); -lean_dec(x_240); -x_243 = lean_ctor_get(x_205, 1); -lean_inc(x_243); -if (lean_is_exclusive(x_205)) { - lean_ctor_release(x_205, 0); - lean_ctor_release(x_205, 1); - x_244 = x_205; -} else { - lean_dec_ref(x_205); - x_244 = lean_box(0); -} -x_245 = lean_ctor_get(x_241, 0); -lean_inc(x_245); -if (lean_is_exclusive(x_241)) { - lean_ctor_release(x_241, 0); - lean_ctor_release(x_241, 1); - x_246 = x_241; -} else { - lean_dec_ref(x_241); - x_246 = lean_box(0); +lean_object* x_36; lean_object* x_37; +x_36 = lean_ctor_get(x_24, 0); +lean_inc(x_36); +lean_dec(x_24); +x_37 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_23, 0, x_37); +return x_23; } -x_247 = lean_ctor_get(x_242, 0); -lean_inc(x_247); -if (lean_is_exclusive(x_242)) { - lean_ctor_release(x_242, 0); - lean_ctor_release(x_242, 1); - x_248 = x_242; -} else { - lean_dec_ref(x_242); - x_248 = lean_box(0); } -x_249 = lean_box(0); -if (lean_is_scalar(x_248)) { - x_250 = lean_alloc_ctor(1, 2, 0); +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_38 = lean_ctor_get(x_23, 1); +lean_inc(x_38); +lean_dec(x_23); +x_39 = lean_ctor_get(x_24, 0); +lean_inc(x_39); +if (lean_is_exclusive(x_24)) { + lean_ctor_release(x_24, 0); + x_40 = x_24; } else { - x_250 = x_248; - lean_ctor_set_tag(x_250, 1); + lean_dec_ref(x_24); + x_40 = lean_box(0); } -lean_ctor_set(x_250, 0, x_247); -lean_ctor_set(x_250, 1, x_249); -if (lean_is_scalar(x_246)) { - x_251 = lean_alloc_ctor(1, 2, 0); -} else { - x_251 = x_246; - lean_ctor_set_tag(x_251, 1); -} -lean_ctor_set(x_251, 0, x_245); -lean_ctor_set(x_251, 1, x_250); -x_252 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_252, 0, x_251); -if (lean_is_scalar(x_244)) { - x_253 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_40)) { + x_41 = lean_alloc_ctor(1, 1, 0); } else { - x_253 = x_244; -} -lean_ctor_set(x_253, 0, x_252); -lean_ctor_set(x_253, 1, x_243); -return x_253; + x_41 = x_40; } +lean_ctor_set(x_41, 0, x_39); +x_42 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_38); +return x_42; } } -else -{ -uint8_t x_254; -x_254 = !lean_is_exclusive(x_205); -if (x_254 == 0) -{ -return x_205; } else { -lean_object* x_255; lean_object* x_256; lean_object* x_257; -x_255 = lean_ctor_get(x_205, 0); -x_256 = lean_ctor_get(x_205, 1); -lean_inc(x_256); -lean_inc(x_255); -lean_dec(x_205); -x_257 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_257, 0, x_255); -lean_ctor_set(x_257, 1, x_256); -return x_257; -} -} -} +lean_object* x_43; lean_object* x_44; +x_43 = lean_ctor_get(x_23, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_23, 1); +lean_inc(x_44); +lean_dec(x_23); +x_11 = x_43; +x_12 = x_44; +goto block_22; } -else +block_22: { -lean_object* x_258; uint8_t x_259; -x_258 = lean_ctor_get(x_15, 0); -lean_inc(x_258); -lean_dec(x_15); -x_259 = l_Lean_Expr_isIte(x_258); -if (x_259 == 0) +uint8_t x_13; +x_13 = l_Lean_Exception_isInterrupt(x_11); +if (x_13 == 0) { -uint8_t x_260; -x_260 = l_Lean_Expr_isDIte(x_258); -if (x_260 == 0) +uint8_t x_14; +x_14 = l_Lean_Exception_isRuntime(x_11); +if (x_14 == 0) { -lean_object* x_261; -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_258); -lean_inc(x_1); -x_261 = l_Lean_Meta_Split_splitMatch(x_1, x_258, x_5, x_6, x_7, x_8, x_13); -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_dec(x_258); -lean_free_object(x_10); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_object* x_15; uint8_t x_16; +lean_dec(x_10); +x_15 = l_Lean_Meta_SavedState_restore(x_8, x_2, x_3, x_4, x_5, x_12); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_1); -x_262 = lean_ctor_get(x_261, 0); -lean_inc(x_262); -x_263 = lean_ctor_get(x_261, 1); -lean_inc(x_263); -if (lean_is_exclusive(x_261)) { - lean_ctor_release(x_261, 0); - lean_ctor_release(x_261, 1); - x_264 = x_261; -} else { - lean_dec_ref(x_261); - x_264 = lean_box(0); -} -x_265 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_265, 0, x_262); -if (lean_is_scalar(x_264)) { - x_266 = lean_alloc_ctor(0, 2, 0); -} else { - x_266 = x_264; -} -lean_ctor_set(x_266, 0, x_265); -lean_ctor_set(x_266, 1, x_263); -return x_266; -} -else -{ -lean_object* x_267; lean_object* x_268; lean_object* x_269; uint8_t x_270; -x_267 = lean_ctor_get(x_261, 0); -lean_inc(x_267); -x_268 = lean_ctor_get(x_261, 1); -lean_inc(x_268); -if (lean_is_exclusive(x_261)) { - lean_ctor_release(x_261, 0); - lean_ctor_release(x_261, 1); - x_269 = x_261; -} else { - lean_dec_ref(x_261); - x_269 = lean_box(0); -} -x_270 = l_Lean_Exception_isInterrupt(x_267); -if (x_270 == 0) -{ -uint8_t x_271; -x_271 = l_Lean_Exception_isRuntime(x_267); -if (x_271 == 0) -{ -uint8_t x_272; -lean_dec(x_269); -x_272 = l_Lean_Meta_Split_isDiscrGenException(x_267); -if (x_272 == 0) -{ -lean_object* x_273; lean_object* x_274; lean_object* x_275; uint8_t x_276; -x_273 = l_Lean_Meta_splitTarget_x3f_go___closed__4; -x_274 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_273, x_5, x_6, x_7, x_8, x_268); -x_275 = lean_ctor_get(x_274, 0); -lean_inc(x_275); -x_276 = lean_unbox(x_275); -lean_dec(x_275); -if (x_276 == 0) -{ -lean_object* x_277; lean_object* x_278; lean_object* x_279; -lean_dec(x_267); -lean_free_object(x_10); -x_277 = lean_ctor_get(x_274, 1); -lean_inc(x_277); -lean_dec(x_274); -x_278 = lean_box(0); -x_279 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_258, x_1, x_2, x_3, x_278, x_5, x_6, x_7, x_8, x_277); -return x_279; -} -else -{ -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; lean_object* x_293; -x_280 = lean_ctor_get(x_274, 1); -lean_inc(x_280); -if (lean_is_exclusive(x_274)) { - lean_ctor_release(x_274, 0); - lean_ctor_release(x_274, 1); - x_281 = x_274; -} else { - lean_dec_ref(x_274); - x_281 = lean_box(0); -} -lean_inc(x_258); -x_282 = l_Lean_indentExpr(x_258); -x_283 = l_Lean_Meta_splitTarget_x3f_go___closed__6; -if (lean_is_scalar(x_281)) { - x_284 = lean_alloc_ctor(7, 2, 0); -} else { - x_284 = x_281; - lean_ctor_set_tag(x_284, 7); -} -lean_ctor_set(x_284, 0, x_283); -lean_ctor_set(x_284, 1, x_282); -x_285 = l_Lean_Meta_splitTarget_x3f_go___closed__8; -lean_ctor_set_tag(x_10, 7); -lean_ctor_set(x_10, 1, x_285); -lean_ctor_set(x_10, 0, x_284); -x_286 = l_Lean_Exception_toMessageData(x_267); -x_287 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_287, 0, x_10); -lean_ctor_set(x_287, 1, x_286); -x_288 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; -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_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_273, x_289, x_5, x_6, x_7, x_8, x_280); -x_291 = lean_ctor_get(x_290, 0); -lean_inc(x_291); -x_292 = lean_ctor_get(x_290, 1); -lean_inc(x_292); -lean_dec(x_290); -x_293 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_258, x_1, x_2, x_3, x_291, x_5, x_6, x_7, x_8, x_292); -lean_dec(x_291); -return x_293; -} -} -else -{ -lean_object* x_294; lean_object* x_295; lean_object* x_296; uint8_t x_297; -lean_dec(x_267); -lean_free_object(x_10); -x_294 = l_Lean_Meta_splitTarget_x3f_go___closed__4; -x_295 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_294, x_5, x_6, x_7, x_8, x_268); -x_296 = lean_ctor_get(x_295, 0); -lean_inc(x_296); -x_297 = lean_unbox(x_296); -lean_dec(x_296); -if (x_297 == 0) +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_8); +x_16 = !lean_is_exclusive(x_15); +if (x_16 == 0) { -lean_object* x_298; lean_object* x_299; lean_object* x_300; -x_298 = lean_ctor_get(x_295, 1); -lean_inc(x_298); -lean_dec(x_295); -x_299 = lean_box(0); -x_300 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_258, x_1, x_2, x_3, x_299, x_5, x_6, x_7, x_8, x_298); -return x_300; +lean_object* x_17; +x_17 = lean_ctor_get(x_15, 0); +lean_dec(x_17); +lean_ctor_set_tag(x_15, 1); +lean_ctor_set(x_15, 0, x_11); +return x_15; } else { -lean_object* x_301; lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; -x_301 = lean_ctor_get(x_295, 1); -lean_inc(x_301); -lean_dec(x_295); -lean_inc(x_258); -x_302 = l_Lean_Meta_Split_mkDiscrGenErrorMsg(x_258); -x_303 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_294, x_302, x_5, x_6, x_7, x_8, x_301); -x_304 = lean_ctor_get(x_303, 0); -lean_inc(x_304); -x_305 = lean_ctor_get(x_303, 1); -lean_inc(x_305); -lean_dec(x_303); -x_306 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_258, x_1, x_2, x_3, x_304, x_5, x_6, x_7, x_8, x_305); -lean_dec(x_304); -return x_306; -} +lean_object* x_18; lean_object* x_19; +x_18 = lean_ctor_get(x_15, 1); +lean_inc(x_18); +lean_dec(x_15); +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_11); +lean_ctor_set(x_19, 1, x_18); +return x_19; } } else { -lean_object* x_307; -lean_dec(x_258); -lean_free_object(x_10); +lean_object* x_20; lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_1); -if (lean_is_scalar(x_269)) { - x_307 = lean_alloc_ctor(1, 2, 0); +lean_dec(x_3); +lean_dec(x_2); +if (lean_is_scalar(x_10)) { + x_20 = lean_alloc_ctor(1, 2, 0); } else { - x_307 = x_269; + x_20 = x_10; + lean_ctor_set_tag(x_20, 1); } -lean_ctor_set(x_307, 0, x_267); -lean_ctor_set(x_307, 1, x_268); -return x_307; +lean_ctor_set(x_20, 0, x_11); +lean_ctor_set(x_20, 1, x_12); +return x_20; } } else { -lean_object* x_308; -lean_dec(x_258); -lean_free_object(x_10); +lean_object* x_21; lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -lean_dec(x_1); -if (lean_is_scalar(x_269)) { - x_308 = lean_alloc_ctor(1, 2, 0); +lean_dec(x_3); +lean_dec(x_2); +if (lean_is_scalar(x_10)) { + x_21 = lean_alloc_ctor(1, 2, 0); } else { - x_308 = x_269; -} -lean_ctor_set(x_308, 0, x_267); -lean_ctor_set(x_308, 1, x_268); -return x_308; -} + x_21 = x_10; + lean_ctor_set_tag(x_21, 1); } +lean_ctor_set(x_21, 0, x_11); +lean_ctor_set(x_21, 1, x_12); +return x_21; } -else -{ -lean_object* x_309; lean_object* x_310; -lean_dec(x_258); -lean_free_object(x_10); -lean_dec(x_4); -x_309 = lean_box(0); -x_310 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_309, x_5, x_6, x_7, x_8, x_13); -if (lean_obj_tag(x_310) == 0) -{ -lean_object* x_311; -x_311 = lean_ctor_get(x_310, 0); -lean_inc(x_311); -if (lean_obj_tag(x_311) == 0) -{ -lean_object* x_312; lean_object* x_313; lean_object* x_314; -x_312 = lean_ctor_get(x_310, 1); -lean_inc(x_312); -if (lean_is_exclusive(x_310)) { - lean_ctor_release(x_310, 0); - lean_ctor_release(x_310, 1); - x_313 = x_310; -} else { - lean_dec_ref(x_310); - x_313 = lean_box(0); } -if (lean_is_scalar(x_313)) { - x_314 = lean_alloc_ctor(0, 2, 0); -} else { - x_314 = x_313; } -lean_ctor_set(x_314, 0, x_309); -lean_ctor_set(x_314, 1, x_312); -return x_314; } -else +static lean_object* _init_l_Lean_Meta_splitTarget_x3f___lambda__1___closed__1() { +_start: { -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; -x_315 = lean_ctor_get(x_311, 0); -lean_inc(x_315); -if (lean_is_exclusive(x_311)) { - lean_ctor_release(x_311, 0); - x_316 = x_311; -} else { - lean_dec_ref(x_311); - x_316 = lean_box(0); -} -x_317 = lean_ctor_get(x_315, 0); -lean_inc(x_317); -x_318 = lean_ctor_get(x_315, 1); -lean_inc(x_318); -lean_dec(x_315); -x_319 = lean_ctor_get(x_310, 1); -lean_inc(x_319); -if (lean_is_exclusive(x_310)) { - lean_ctor_release(x_310, 0); - lean_ctor_release(x_310, 1); - x_320 = x_310; -} else { - lean_dec_ref(x_310); - x_320 = lean_box(0); -} -x_321 = lean_ctor_get(x_317, 0); -lean_inc(x_321); -if (lean_is_exclusive(x_317)) { - lean_ctor_release(x_317, 0); - lean_ctor_release(x_317, 1); - x_322 = x_317; -} else { - lean_dec_ref(x_317); - x_322 = lean_box(0); -} -x_323 = lean_ctor_get(x_318, 0); -lean_inc(x_323); -if (lean_is_exclusive(x_318)) { - lean_ctor_release(x_318, 0); - lean_ctor_release(x_318, 1); - x_324 = x_318; -} else { - lean_dec_ref(x_318); - x_324 = lean_box(0); -} -x_325 = lean_box(0); -if (lean_is_scalar(x_324)) { - x_326 = lean_alloc_ctor(1, 2, 0); -} else { - x_326 = x_324; - lean_ctor_set_tag(x_326, 1); -} -lean_ctor_set(x_326, 0, x_323); -lean_ctor_set(x_326, 1, x_325); -if (lean_is_scalar(x_322)) { - x_327 = lean_alloc_ctor(1, 2, 0); -} else { - x_327 = x_322; - lean_ctor_set_tag(x_327, 1); -} -lean_ctor_set(x_327, 0, x_321); -lean_ctor_set(x_327, 1, x_326); -if (lean_is_scalar(x_316)) { - x_328 = lean_alloc_ctor(1, 1, 0); -} else { - x_328 = x_316; -} -lean_ctor_set(x_328, 0, x_327); -if (lean_is_scalar(x_320)) { - x_329 = lean_alloc_ctor(0, 2, 0); -} else { - x_329 = x_320; -} -lean_ctor_set(x_329, 0, x_328); -lean_ctor_set(x_329, 1, x_319); -return x_329; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(10u); +x_2 = lean_unsigned_to_nat(1u); +x_3 = l_Nat_nextPowerOfTwo_go(x_1, x_2, lean_box(0)); +return x_3; } } -else +static lean_object* _init_l_Lean_Meta_splitTarget_x3f___lambda__1___closed__2() { +_start: { -lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; -x_330 = lean_ctor_get(x_310, 0); -lean_inc(x_330); -x_331 = lean_ctor_get(x_310, 1); -lean_inc(x_331); -if (lean_is_exclusive(x_310)) { - lean_ctor_release(x_310, 0); - lean_ctor_release(x_310, 1); - x_332 = x_310; -} else { - lean_dec_ref(x_310); - x_332 = lean_box(0); +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__1; +x_3 = lean_mk_array(x_2, x_1); +return x_3; } -if (lean_is_scalar(x_332)) { - x_333 = lean_alloc_ctor(1, 2, 0); -} else { - x_333 = x_332; } -lean_ctor_set(x_333, 0, x_330); -lean_ctor_set(x_333, 1, x_331); -return x_333; +static lean_object* _init_l_Lean_Meta_splitTarget_x3f___lambda__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(0u); +x_2 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__2; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } +LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f___lambda__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) { +_start: +{ +lean_object* x_8; +lean_inc(x_1); +x_8 = l_Lean_MVarId_getType(x_1, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_8) == 0) +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_9 = lean_ctor_get(x_8, 0); +lean_inc(x_9); +x_10 = lean_ctor_get(x_8, 1); +lean_inc(x_10); +lean_dec(x_8); +x_11 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassApp_x3f___spec__1(x_9, x_3, x_4, x_5, x_6, x_10); +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(x_11); +x_14 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__3; +x_15 = l_Lean_Meta_splitTarget_x3f_go(x_1, x_2, x_12, x_14, x_3, x_4, x_5, x_6, x_13); +return x_15; } else { -lean_object* x_334; lean_object* x_335; -lean_dec(x_258); -lean_free_object(x_10); +uint8_t x_16; +lean_dec(x_6); +lean_dec(x_5); lean_dec(x_4); -x_334 = lean_box(0); -x_335 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_334, x_5, x_6, x_7, x_8, x_13); -if (lean_obj_tag(x_335) == 0) +lean_dec(x_3); +lean_dec(x_1); +x_16 = !lean_is_exclusive(x_8); +if (x_16 == 0) { -lean_object* x_336; -x_336 = lean_ctor_get(x_335, 0); -lean_inc(x_336); -if (lean_obj_tag(x_336) == 0) -{ -lean_object* x_337; lean_object* x_338; lean_object* x_339; -x_337 = lean_ctor_get(x_335, 1); -lean_inc(x_337); -if (lean_is_exclusive(x_335)) { - lean_ctor_release(x_335, 0); - lean_ctor_release(x_335, 1); - x_338 = x_335; -} else { - lean_dec_ref(x_335); - x_338 = lean_box(0); -} -if (lean_is_scalar(x_338)) { - x_339 = lean_alloc_ctor(0, 2, 0); -} else { - x_339 = x_338; -} -lean_ctor_set(x_339, 0, x_334); -lean_ctor_set(x_339, 1, x_337); -return x_339; +return x_8; } else { -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; -x_340 = lean_ctor_get(x_336, 0); -lean_inc(x_340); -if (lean_is_exclusive(x_336)) { - lean_ctor_release(x_336, 0); - x_341 = x_336; -} else { - lean_dec_ref(x_336); - x_341 = lean_box(0); -} -x_342 = lean_ctor_get(x_340, 0); -lean_inc(x_342); -x_343 = lean_ctor_get(x_340, 1); -lean_inc(x_343); -lean_dec(x_340); -x_344 = lean_ctor_get(x_335, 1); -lean_inc(x_344); -if (lean_is_exclusive(x_335)) { - lean_ctor_release(x_335, 0); - lean_ctor_release(x_335, 1); - x_345 = x_335; -} else { - lean_dec_ref(x_335); - x_345 = lean_box(0); -} -x_346 = lean_ctor_get(x_342, 0); -lean_inc(x_346); -if (lean_is_exclusive(x_342)) { - lean_ctor_release(x_342, 0); - lean_ctor_release(x_342, 1); - x_347 = x_342; -} else { - lean_dec_ref(x_342); - x_347 = lean_box(0); -} -x_348 = lean_ctor_get(x_343, 0); -lean_inc(x_348); -if (lean_is_exclusive(x_343)) { - lean_ctor_release(x_343, 0); - lean_ctor_release(x_343, 1); - x_349 = x_343; -} else { - lean_dec_ref(x_343); - x_349 = lean_box(0); -} -x_350 = lean_box(0); -if (lean_is_scalar(x_349)) { - x_351 = lean_alloc_ctor(1, 2, 0); -} else { - x_351 = x_349; - lean_ctor_set_tag(x_351, 1); -} -lean_ctor_set(x_351, 0, x_348); -lean_ctor_set(x_351, 1, x_350); -if (lean_is_scalar(x_347)) { - x_352 = lean_alloc_ctor(1, 2, 0); -} else { - x_352 = x_347; - lean_ctor_set_tag(x_352, 1); -} -lean_ctor_set(x_352, 0, x_346); -lean_ctor_set(x_352, 1, x_351); -if (lean_is_scalar(x_341)) { - x_353 = lean_alloc_ctor(1, 1, 0); -} else { - x_353 = x_341; +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_8, 0); +x_18 = lean_ctor_get(x_8, 1); +lean_inc(x_18); +lean_inc(x_17); +lean_dec(x_8); +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_ctor_set(x_353, 0, x_352); -if (lean_is_scalar(x_345)) { - x_354 = lean_alloc_ctor(0, 2, 0); -} else { - x_354 = x_345; } -lean_ctor_set(x_354, 0, x_353); -lean_ctor_set(x_354, 1, x_344); -return x_354; } } -else +LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f(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_355; lean_object* x_356; lean_object* x_357; lean_object* x_358; -x_355 = lean_ctor_get(x_335, 0); -lean_inc(x_355); -x_356 = lean_ctor_get(x_335, 1); -lean_inc(x_356); -if (lean_is_exclusive(x_335)) { - lean_ctor_release(x_335, 0); - lean_ctor_release(x_335, 1); - x_357 = x_335; -} else { - lean_dec_ref(x_335); - x_357 = lean_box(0); -} -if (lean_is_scalar(x_357)) { - x_358 = lean_alloc_ctor(1, 2, 0); -} else { - x_358 = x_357; -} -lean_ctor_set(x_358, 0, x_355); -lean_ctor_set(x_358, 1, x_356); -return x_358; -} -} -} +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_8 = lean_box(x_2); +lean_inc(x_1); +x_9 = lean_alloc_closure((void*)(l_Lean_Meta_splitTarget_x3f___lambda__1___boxed), 7, 2); +lean_closure_set(x_9, 0, x_1); +lean_closure_set(x_9, 1, x_8); +x_10 = lean_alloc_closure((void*)(l_Lean_MVarId_withContext___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__2___rarg), 7, 2); +lean_closure_set(x_10, 0, x_1); +lean_closure_set(x_10, 1, x_9); +x_11 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(x_10, x_3, x_4, x_5, x_6, x_7); +return x_11; } } -else -{ -lean_object* x_359; lean_object* x_360; lean_object* x_361; lean_object* x_362; -x_359 = lean_ctor_get(x_10, 0); -x_360 = lean_ctor_get(x_10, 1); -lean_inc(x_360); -lean_inc(x_359); -lean_dec(x_10); -x_361 = lean_ctor_get(x_359, 0); -lean_inc(x_361); -lean_dec(x_359); -lean_inc(x_4); -x_362 = l_Lean_Meta_Split_findSplit_x3f_go(x_361, x_2, x_4, x_3); -if (lean_obj_tag(x_362) == 0) +LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: { -lean_object* x_363; lean_object* x_364; lean_object* x_365; lean_object* x_366; lean_object* x_367; lean_object* x_368; uint8_t x_369; -lean_dec(x_4); -x_363 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__3; -x_364 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_363, x_5, x_6, x_7, x_8, x_360); -x_365 = lean_ctor_get(x_364, 0); -lean_inc(x_365); -x_366 = lean_ctor_get(x_364, 1); -lean_inc(x_366); -if (lean_is_exclusive(x_364)) { - lean_ctor_release(x_364, 0); - lean_ctor_release(x_364, 1); - x_367 = x_364; -} else { - lean_dec_ref(x_364); - x_367 = lean_box(0); +uint8_t x_8; lean_object* x_9; +x_8 = lean_unbox(x_2); +lean_dec(x_2); +x_9 = l_Lean_Meta_splitTarget_x3f___lambda__1(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +return x_9; } -x_368 = l_Lean_Meta_matchMatcherApp_x3f___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__1___closed__1; -x_369 = lean_unbox(x_365); -lean_dec(x_365); -if (x_369 == 0) -{ -lean_object* x_370; lean_object* x_371; -lean_dec(x_367); -lean_dec(x_1); -x_370 = lean_box(0); -x_371 = lean_apply_6(x_368, x_370, x_5, x_6, x_7, x_8, x_366); -return x_371; } -else +LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f___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_372; lean_object* x_373; lean_object* x_374; lean_object* x_375; lean_object* x_376; lean_object* x_377; lean_object* x_378; lean_object* x_379; lean_object* x_380; -x_372 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_372, 0, x_1); -x_373 = l_Lean_Meta_splitTarget_x3f_go___closed__2; -if (lean_is_scalar(x_367)) { - x_374 = lean_alloc_ctor(7, 2, 0); -} else { - x_374 = x_367; - lean_ctor_set_tag(x_374, 7); -} -lean_ctor_set(x_374, 0, x_373); -lean_ctor_set(x_374, 1, x_372); -x_375 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; -x_376 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_376, 0, x_374); -lean_ctor_set(x_376, 1, x_375); -x_377 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_363, x_376, x_5, x_6, x_7, x_8, x_366); -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(x_377); -x_380 = lean_apply_6(x_368, x_378, x_5, x_6, x_7, x_8, x_379); -return x_380; -} -} -else -{ -lean_object* x_381; lean_object* x_382; uint8_t x_383; -x_381 = lean_ctor_get(x_362, 0); -lean_inc(x_381); -if (lean_is_exclusive(x_362)) { - lean_ctor_release(x_362, 0); - x_382 = x_362; -} else { - lean_dec_ref(x_362); - x_382 = lean_box(0); +uint8_t x_8; lean_object* x_9; +x_8 = lean_unbox(x_2); +lean_dec(x_2); +x_9 = l_Lean_Meta_splitTarget_x3f(x_1, x_8, x_3, x_4, x_5, x_6, x_7); +return x_9; } -x_383 = l_Lean_Expr_isIte(x_381); -if (x_383 == 0) -{ -uint8_t x_384; -x_384 = l_Lean_Expr_isDIte(x_381); -if (x_384 == 0) +} +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___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_385; -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_381); -lean_inc(x_1); -x_385 = l_Lean_Meta_Split_splitMatch(x_1, x_381, x_5, x_6, x_7, x_8, x_360); -if (lean_obj_tag(x_385) == 0) +if (lean_obj_tag(x_2) == 0) { -lean_object* x_386; lean_object* x_387; lean_object* x_388; lean_object* x_389; lean_object* x_390; -lean_dec(x_381); -lean_dec(x_8); +lean_object* x_9; lean_object* x_10; lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_1); -x_386 = lean_ctor_get(x_385, 0); -lean_inc(x_386); -x_387 = lean_ctor_get(x_385, 1); -lean_inc(x_387); -if (lean_is_exclusive(x_385)) { - lean_ctor_release(x_385, 0); - lean_ctor_release(x_385, 1); - x_388 = x_385; -} else { - lean_dec_ref(x_385); - x_388 = lean_box(0); -} -if (lean_is_scalar(x_382)) { - x_389 = lean_alloc_ctor(1, 1, 0); -} else { - x_389 = x_382; -} -lean_ctor_set(x_389, 0, x_386); -if (lean_is_scalar(x_388)) { - x_390 = lean_alloc_ctor(0, 2, 0); -} else { - x_390 = x_388; -} -lean_ctor_set(x_390, 0, x_389); -lean_ctor_set(x_390, 1, x_387); -return x_390; +x_9 = l_List_reverse___rarg(x_3); +x_10 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_10, 0, x_9); +lean_ctor_set(x_10, 1, x_8); +return x_10; } else { -lean_object* x_391; lean_object* x_392; lean_object* x_393; uint8_t x_394; -lean_dec(x_382); -x_391 = lean_ctor_get(x_385, 0); -lean_inc(x_391); -x_392 = lean_ctor_get(x_385, 1); -lean_inc(x_392); -if (lean_is_exclusive(x_385)) { - lean_ctor_release(x_385, 0); - lean_ctor_release(x_385, 1); - x_393 = x_385; -} else { - lean_dec_ref(x_385); - x_393 = lean_box(0); -} -x_394 = l_Lean_Exception_isInterrupt(x_391); -if (x_394 == 0) -{ -uint8_t x_395; -x_395 = l_Lean_Exception_isRuntime(x_391); -if (x_395 == 0) -{ -uint8_t x_396; -lean_dec(x_393); -x_396 = l_Lean_Meta_Split_isDiscrGenException(x_391); -if (x_396 == 0) -{ -lean_object* x_397; lean_object* x_398; lean_object* x_399; uint8_t x_400; -x_397 = l_Lean_Meta_splitTarget_x3f_go___closed__4; -x_398 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_397, x_5, x_6, x_7, x_8, x_392); -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_object* x_402; lean_object* x_403; -lean_dec(x_391); -x_401 = lean_ctor_get(x_398, 1); -lean_inc(x_401); -lean_dec(x_398); -x_402 = lean_box(0); -x_403 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_381, x_1, x_2, x_3, x_402, x_5, x_6, x_7, x_8, x_401); -return x_403; -} -else -{ -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; lean_object* x_414; lean_object* x_415; lean_object* x_416; lean_object* x_417; lean_object* x_418; -x_404 = lean_ctor_get(x_398, 1); -lean_inc(x_404); -if (lean_is_exclusive(x_398)) { - lean_ctor_release(x_398, 0); - lean_ctor_release(x_398, 1); - x_405 = x_398; -} else { - lean_dec_ref(x_398); - x_405 = lean_box(0); -} -lean_inc(x_381); -x_406 = l_Lean_indentExpr(x_381); -x_407 = l_Lean_Meta_splitTarget_x3f_go___closed__6; -if (lean_is_scalar(x_405)) { - x_408 = lean_alloc_ctor(7, 2, 0); -} else { - x_408 = x_405; - lean_ctor_set_tag(x_408, 7); -} -lean_ctor_set(x_408, 0, x_407); -lean_ctor_set(x_408, 1, x_406); -x_409 = l_Lean_Meta_splitTarget_x3f_go___closed__8; -x_410 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_410, 0, x_408); -lean_ctor_set(x_410, 1, x_409); -x_411 = l_Lean_Exception_toMessageData(x_391); -x_412 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_412, 0, x_410); -lean_ctor_set(x_412, 1, x_411); -x_413 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__9; -x_414 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_414, 0, x_412); -lean_ctor_set(x_414, 1, x_413); -x_415 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_397, x_414, x_5, x_6, x_7, x_8, x_404); -x_416 = lean_ctor_get(x_415, 0); -lean_inc(x_416); -x_417 = lean_ctor_get(x_415, 1); -lean_inc(x_417); -lean_dec(x_415); -x_418 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_381, x_1, x_2, x_3, x_416, x_5, x_6, x_7, x_8, x_417); -lean_dec(x_416); -return x_418; -} -} -else -{ -lean_object* x_419; lean_object* x_420; lean_object* x_421; uint8_t x_422; -lean_dec(x_391); -x_419 = l_Lean_Meta_splitTarget_x3f_go___closed__4; -x_420 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_419, x_5, x_6, x_7, x_8, x_392); -x_421 = lean_ctor_get(x_420, 0); -lean_inc(x_421); -x_422 = lean_unbox(x_421); -lean_dec(x_421); -if (x_422 == 0) -{ -lean_object* x_423; lean_object* x_424; lean_object* x_425; -x_423 = lean_ctor_get(x_420, 1); -lean_inc(x_423); -lean_dec(x_420); -x_424 = lean_box(0); -x_425 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_381, x_1, x_2, x_3, x_424, x_5, x_6, x_7, x_8, x_423); -return x_425; -} -else -{ -lean_object* x_426; lean_object* x_427; lean_object* x_428; lean_object* x_429; lean_object* x_430; lean_object* x_431; -x_426 = lean_ctor_get(x_420, 1); -lean_inc(x_426); -lean_dec(x_420); -lean_inc(x_381); -x_427 = l_Lean_Meta_Split_mkDiscrGenErrorMsg(x_381); -x_428 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_419, x_427, x_5, x_6, x_7, x_8, x_426); -x_429 = lean_ctor_get(x_428, 0); -lean_inc(x_429); -x_430 = lean_ctor_get(x_428, 1); -lean_inc(x_430); -lean_dec(x_428); -x_431 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_4, x_381, x_1, x_2, x_3, x_429, x_5, x_6, x_7, x_8, x_430); -lean_dec(x_429); -return x_431; -} -} -} -else -{ -lean_object* x_432; -lean_dec(x_381); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -if (lean_is_scalar(x_393)) { - x_432 = lean_alloc_ctor(1, 2, 0); -} else { - x_432 = x_393; -} -lean_ctor_set(x_432, 0, x_391); -lean_ctor_set(x_432, 1, x_392); -return x_432; +uint8_t x_11; +x_11 = !lean_is_exclusive(x_2); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; uint8_t x_16; lean_object* x_17; +x_12 = lean_ctor_get(x_2, 0); +x_13 = lean_ctor_get(x_2, 1); +x_14 = lean_box(0); +x_15 = 0; +x_16 = 1; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_17 = l_Lean_Meta_introNCore(x_12, x_1, x_14, x_15, x_16, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_17, 1); +lean_inc(x_19); +lean_dec(x_17); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +lean_ctor_set(x_2, 1, x_3); +lean_ctor_set(x_2, 0, x_20); +{ +lean_object* _tmp_1 = x_13; +lean_object* _tmp_2 = x_2; +lean_object* _tmp_7 = x_19; +x_2 = _tmp_1; +x_3 = _tmp_2; +x_8 = _tmp_7; } +goto _start; } else { -lean_object* x_433; -lean_dec(x_381); -lean_dec(x_8); +uint8_t x_22; +lean_free_object(x_2); +lean_dec(x_13); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); +lean_dec(x_3); lean_dec(x_1); -if (lean_is_scalar(x_393)) { - x_433 = lean_alloc_ctor(1, 2, 0); -} else { - x_433 = x_393; -} -lean_ctor_set(x_433, 0, x_391); -lean_ctor_set(x_433, 1, x_392); -return x_433; -} -} -} -else -{ -lean_object* x_434; lean_object* x_435; -lean_dec(x_382); -lean_dec(x_381); -lean_dec(x_4); -x_434 = lean_box(0); -x_435 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_434, x_5, x_6, x_7, x_8, x_360); -if (lean_obj_tag(x_435) == 0) -{ -lean_object* x_436; -x_436 = lean_ctor_get(x_435, 0); -lean_inc(x_436); -if (lean_obj_tag(x_436) == 0) -{ -lean_object* x_437; lean_object* x_438; lean_object* x_439; -x_437 = lean_ctor_get(x_435, 1); -lean_inc(x_437); -if (lean_is_exclusive(x_435)) { - lean_ctor_release(x_435, 0); - lean_ctor_release(x_435, 1); - x_438 = x_435; -} else { - lean_dec_ref(x_435); - x_438 = lean_box(0); -} -if (lean_is_scalar(x_438)) { - x_439 = lean_alloc_ctor(0, 2, 0); -} else { - x_439 = x_438; -} -lean_ctor_set(x_439, 0, x_434); -lean_ctor_set(x_439, 1, x_437); -return x_439; -} -else +x_22 = !lean_is_exclusive(x_17); +if (x_22 == 0) { -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; lean_object* x_450; lean_object* x_451; lean_object* x_452; lean_object* x_453; lean_object* x_454; -x_440 = lean_ctor_get(x_436, 0); -lean_inc(x_440); -if (lean_is_exclusive(x_436)) { - lean_ctor_release(x_436, 0); - x_441 = x_436; -} else { - lean_dec_ref(x_436); - x_441 = lean_box(0); -} -x_442 = lean_ctor_get(x_440, 0); -lean_inc(x_442); -x_443 = lean_ctor_get(x_440, 1); -lean_inc(x_443); -lean_dec(x_440); -x_444 = lean_ctor_get(x_435, 1); -lean_inc(x_444); -if (lean_is_exclusive(x_435)) { - lean_ctor_release(x_435, 0); - lean_ctor_release(x_435, 1); - x_445 = x_435; -} else { - lean_dec_ref(x_435); - x_445 = lean_box(0); -} -x_446 = lean_ctor_get(x_442, 0); -lean_inc(x_446); -if (lean_is_exclusive(x_442)) { - lean_ctor_release(x_442, 0); - lean_ctor_release(x_442, 1); - x_447 = x_442; -} else { - lean_dec_ref(x_442); - x_447 = lean_box(0); -} -x_448 = lean_ctor_get(x_443, 0); -lean_inc(x_448); -if (lean_is_exclusive(x_443)) { - lean_ctor_release(x_443, 0); - lean_ctor_release(x_443, 1); - x_449 = x_443; -} else { - lean_dec_ref(x_443); - x_449 = lean_box(0); -} -x_450 = lean_box(0); -if (lean_is_scalar(x_449)) { - x_451 = lean_alloc_ctor(1, 2, 0); -} else { - x_451 = x_449; - lean_ctor_set_tag(x_451, 1); -} -lean_ctor_set(x_451, 0, x_448); -lean_ctor_set(x_451, 1, x_450); -if (lean_is_scalar(x_447)) { - x_452 = lean_alloc_ctor(1, 2, 0); -} else { - x_452 = x_447; - lean_ctor_set_tag(x_452, 1); -} -lean_ctor_set(x_452, 0, x_446); -lean_ctor_set(x_452, 1, x_451); -if (lean_is_scalar(x_441)) { - x_453 = lean_alloc_ctor(1, 1, 0); -} else { - x_453 = x_441; -} -lean_ctor_set(x_453, 0, x_452); -if (lean_is_scalar(x_445)) { - x_454 = lean_alloc_ctor(0, 2, 0); -} else { - x_454 = x_445; -} -lean_ctor_set(x_454, 0, x_453); -lean_ctor_set(x_454, 1, x_444); -return x_454; -} +return x_17; } else { -lean_object* x_455; lean_object* x_456; lean_object* x_457; lean_object* x_458; -x_455 = lean_ctor_get(x_435, 0); -lean_inc(x_455); -x_456 = lean_ctor_get(x_435, 1); -lean_inc(x_456); -if (lean_is_exclusive(x_435)) { - lean_ctor_release(x_435, 0); - lean_ctor_release(x_435, 1); - x_457 = x_435; -} else { - lean_dec_ref(x_435); - x_457 = lean_box(0); -} -if (lean_is_scalar(x_457)) { - x_458 = lean_alloc_ctor(1, 2, 0); -} else { - x_458 = x_457; -} -lean_ctor_set(x_458, 0, x_455); -lean_ctor_set(x_458, 1, x_456); -return x_458; +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_17, 0); +x_24 = lean_ctor_get(x_17, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_17); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; } } } else { -lean_object* x_459; lean_object* x_460; -lean_dec(x_382); -lean_dec(x_381); -lean_dec(x_4); -x_459 = lean_box(0); -x_460 = l_Lean_Meta_splitIfTarget_x3f(x_1, x_459, x_5, x_6, x_7, x_8, x_360); -if (lean_obj_tag(x_460) == 0) -{ -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_462; lean_object* x_463; lean_object* x_464; -x_462 = lean_ctor_get(x_460, 1); -lean_inc(x_462); -if (lean_is_exclusive(x_460)) { - lean_ctor_release(x_460, 0); - lean_ctor_release(x_460, 1); - x_463 = x_460; -} else { - lean_dec_ref(x_460); - x_463 = lean_box(0); -} -if (lean_is_scalar(x_463)) { - x_464 = lean_alloc_ctor(0, 2, 0); -} else { - x_464 = x_463; -} -lean_ctor_set(x_464, 0, x_459); -lean_ctor_set(x_464, 1, x_462); -return x_464; -} -else +lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; uint8_t x_30; lean_object* x_31; +x_26 = lean_ctor_get(x_2, 0); +x_27 = lean_ctor_get(x_2, 1); +lean_inc(x_27); +lean_inc(x_26); +lean_dec(x_2); +x_28 = lean_box(0); +x_29 = 0; +x_30 = 1; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_31 = l_Lean_Meta_introNCore(x_26, x_1, x_28, x_29, x_30, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_31) == 0) { -lean_object* x_465; lean_object* x_466; lean_object* x_467; lean_object* x_468; 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; -x_465 = lean_ctor_get(x_461, 0); -lean_inc(x_465); -if (lean_is_exclusive(x_461)) { - lean_ctor_release(x_461, 0); - x_466 = x_461; -} else { - lean_dec_ref(x_461); - x_466 = lean_box(0); -} -x_467 = lean_ctor_get(x_465, 0); -lean_inc(x_467); -x_468 = lean_ctor_get(x_465, 1); -lean_inc(x_468); -lean_dec(x_465); -x_469 = lean_ctor_get(x_460, 1); -lean_inc(x_469); -if (lean_is_exclusive(x_460)) { - lean_ctor_release(x_460, 0); - lean_ctor_release(x_460, 1); - x_470 = x_460; -} else { - lean_dec_ref(x_460); - x_470 = lean_box(0); -} -x_471 = lean_ctor_get(x_467, 0); -lean_inc(x_471); -if (lean_is_exclusive(x_467)) { - lean_ctor_release(x_467, 0); - lean_ctor_release(x_467, 1); - x_472 = x_467; -} else { - lean_dec_ref(x_467); - x_472 = lean_box(0); -} -x_473 = lean_ctor_get(x_468, 0); -lean_inc(x_473); -if (lean_is_exclusive(x_468)) { - lean_ctor_release(x_468, 0); - lean_ctor_release(x_468, 1); - x_474 = x_468; -} else { - lean_dec_ref(x_468); - x_474 = lean_box(0); -} -x_475 = lean_box(0); -if (lean_is_scalar(x_474)) { - x_476 = lean_alloc_ctor(1, 2, 0); -} else { - x_476 = x_474; - lean_ctor_set_tag(x_476, 1); -} -lean_ctor_set(x_476, 0, x_473); -lean_ctor_set(x_476, 1, x_475); -if (lean_is_scalar(x_472)) { - x_477 = lean_alloc_ctor(1, 2, 0); -} else { - x_477 = x_472; - lean_ctor_set_tag(x_477, 1); -} -lean_ctor_set(x_477, 0, x_471); -lean_ctor_set(x_477, 1, x_476); -if (lean_is_scalar(x_466)) { - x_478 = lean_alloc_ctor(1, 1, 0); -} else { - x_478 = x_466; -} -lean_ctor_set(x_478, 0, x_477); -if (lean_is_scalar(x_470)) { - x_479 = lean_alloc_ctor(0, 2, 0); -} else { - x_479 = x_470; -} -lean_ctor_set(x_479, 0, x_478); -lean_ctor_set(x_479, 1, x_469); -return x_479; -} +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_32 = lean_ctor_get(x_31, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_31, 1); +lean_inc(x_33); +lean_dec(x_31); +x_34 = lean_ctor_get(x_32, 1); +lean_inc(x_34); +lean_dec(x_32); +x_35 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_3); +x_2 = x_27; +x_3 = x_35; +x_8 = x_33; +goto _start; } else { -lean_object* x_480; lean_object* x_481; lean_object* x_482; lean_object* x_483; -x_480 = lean_ctor_get(x_460, 0); -lean_inc(x_480); -x_481 = lean_ctor_get(x_460, 1); -lean_inc(x_481); -if (lean_is_exclusive(x_460)) { - lean_ctor_release(x_460, 0); - lean_ctor_release(x_460, 1); - x_482 = x_460; +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +lean_dec(x_27); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +x_37 = lean_ctor_get(x_31, 0); +lean_inc(x_37); +x_38 = lean_ctor_get(x_31, 1); +lean_inc(x_38); +if (lean_is_exclusive(x_31)) { + lean_ctor_release(x_31, 0); + lean_ctor_release(x_31, 1); + x_39 = x_31; } else { - lean_dec_ref(x_460); - x_482 = lean_box(0); + lean_dec_ref(x_31); + x_39 = lean_box(0); } -if (lean_is_scalar(x_482)) { - x_483 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_39)) { + x_40 = lean_alloc_ctor(1, 2, 0); } else { - x_483 = x_482; -} -lean_ctor_set(x_483, 0, x_480); -lean_ctor_set(x_483, 1, x_481); -return x_483; + x_40 = x_39; } +lean_ctor_set(x_40, 0, x_37); +lean_ctor_set(x_40, 1, x_38); +return x_40; } } } } } -LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___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) { _start: { -uint8_t x_12; lean_object* x_13; -x_12 = lean_unbox(x_4); -lean_dec(x_4); -x_13 = l_Lean_Meta_splitTarget_x3f_go___lambda__1(x_1, x_2, x_3, x_12, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_1) == 0) +{ +lean_object* x_8; lean_object* x_9; lean_dec(x_6); lean_dec(x_5); -return x_13; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f_go___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -uint8_t x_10; lean_object* x_11; -x_10 = lean_unbox(x_2); -lean_dec(x_2); -x_11 = l_Lean_Meta_splitTarget_x3f_go(x_1, x_10, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_4); lean_dec(x_3); -return x_11; -} +x_8 = l_List_reverse___rarg(x_2); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; } -LEAN_EXPORT lean_object* l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: +else { -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_23; -x_7 = l_Lean_Meta_saveState___rarg(x_3, x_4, x_5, x_6); -x_8 = lean_ctor_get(x_7, 0); -lean_inc(x_8); -x_9 = lean_ctor_get(x_7, 1); -lean_inc(x_9); -if (lean_is_exclusive(x_7)) { - lean_ctor_release(x_7, 0); - lean_ctor_release(x_7, 1); - x_10 = x_7; -} else { - lean_dec_ref(x_7); - x_10 = lean_box(0); -} +uint8_t x_10; +x_10 = !lean_is_exclusive(x_1); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; +x_11 = lean_ctor_get(x_1, 0); +x_12 = lean_ctor_get(x_1, 1); +x_13 = 1; +lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_2); -x_23 = lean_apply_5(x_1, x_2, x_3, x_4, x_5, x_9); -if (lean_obj_tag(x_23) == 0) -{ -lean_object* x_24; -lean_dec(x_10); -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -if (lean_obj_tag(x_24) == 0) +x_14 = l_Lean_Meta_intro1Core(x_11, x_13, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_14) == 0) { -lean_object* x_25; lean_object* x_26; uint8_t x_27; -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -lean_dec(x_23); -x_26 = l_Lean_Meta_SavedState_restore(x_8, x_2, x_3, x_4, x_5, x_25); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_8); -x_27 = !lean_is_exclusive(x_26); -if (x_27 == 0) -{ -lean_object* x_28; lean_object* x_29; -x_28 = lean_ctor_get(x_26, 0); -lean_dec(x_28); -x_29 = lean_box(0); -lean_ctor_set(x_26, 0, x_29); -return x_26; -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_26, 1); -lean_inc(x_30); -lean_dec(x_26); -x_31 = lean_box(0); -x_32 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_32, 0, x_31); -lean_ctor_set(x_32, 1, x_30); -return x_32; -} -} -else -{ -uint8_t x_33; -lean_dec(x_8); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_33 = !lean_is_exclusive(x_23); -if (x_33 == 0) -{ -lean_object* x_34; uint8_t x_35; -x_34 = lean_ctor_get(x_23, 0); -lean_dec(x_34); -x_35 = !lean_is_exclusive(x_24); -if (x_35 == 0) -{ -return x_23; -} -else -{ -lean_object* x_36; lean_object* x_37; -x_36 = lean_ctor_get(x_24, 0); -lean_inc(x_36); -lean_dec(x_24); -x_37 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_37, 0, x_36); -lean_ctor_set(x_23, 0, x_37); -return x_23; -} -} -else -{ -lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_38 = lean_ctor_get(x_23, 1); -lean_inc(x_38); -lean_dec(x_23); -x_39 = lean_ctor_get(x_24, 0); -lean_inc(x_39); -if (lean_is_exclusive(x_24)) { - lean_ctor_release(x_24, 0); - x_40 = x_24; -} else { - lean_dec_ref(x_24); - x_40 = lean_box(0); -} -if (lean_is_scalar(x_40)) { - x_41 = lean_alloc_ctor(1, 1, 0); -} else { - x_41 = x_40; -} -lean_ctor_set(x_41, 0, x_39); -x_42 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_42, 0, x_41); -lean_ctor_set(x_42, 1, x_38); -return x_42; -} -} -} -else -{ -lean_object* x_43; lean_object* x_44; -x_43 = lean_ctor_get(x_23, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_23, 1); -lean_inc(x_44); -lean_dec(x_23); -x_11 = x_43; -x_12 = x_44; -goto block_22; -} -block_22: -{ -uint8_t x_13; -x_13 = l_Lean_Exception_isInterrupt(x_11); -if (x_13 == 0) -{ -uint8_t x_14; -x_14 = l_Lean_Exception_isRuntime(x_11); -if (x_14 == 0) -{ -lean_object* x_15; uint8_t x_16; -lean_dec(x_10); -x_15 = l_Lean_Meta_SavedState_restore(x_8, x_2, x_3, x_4, x_5, x_12); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_8); -x_16 = !lean_is_exclusive(x_15); -if (x_16 == 0) -{ -lean_object* x_17; -x_17 = lean_ctor_get(x_15, 0); -lean_dec(x_17); -lean_ctor_set_tag(x_15, 1); -lean_ctor_set(x_15, 0, x_11); -return x_15; -} -else -{ -lean_object* x_18; lean_object* x_19; -x_18 = lean_ctor_get(x_15, 1); -lean_inc(x_18); -lean_dec(x_15); -x_19 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_19, 0, x_11); -lean_ctor_set(x_19, 1, x_18); -return x_19; -} -} -else -{ -lean_object* x_20; -lean_dec(x_8); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -if (lean_is_scalar(x_10)) { - x_20 = lean_alloc_ctor(1, 2, 0); -} else { - x_20 = x_10; - lean_ctor_set_tag(x_20, 1); -} -lean_ctor_set(x_20, 0, x_11); -lean_ctor_set(x_20, 1, x_12); -return x_20; -} -} -else -{ -lean_object* x_21; -lean_dec(x_8); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -if (lean_is_scalar(x_10)) { - x_21 = lean_alloc_ctor(1, 2, 0); -} else { - x_21 = x_10; - lean_ctor_set_tag(x_21, 1); -} -lean_ctor_set(x_21, 0, x_11); -lean_ctor_set(x_21, 1, x_12); -return x_21; -} -} -} -} -static lean_object* _init_l_Lean_Meta_splitTarget_x3f___lambda__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(10u); -x_2 = lean_unsigned_to_nat(1u); -x_3 = l_Nat_nextPowerOfTwo_go(x_1, x_2, lean_box(0)); -return x_3; -} -} -static lean_object* _init_l_Lean_Meta_splitTarget_x3f___lambda__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__1; -x_3 = lean_mk_array(x_2, x_1); -return x_3; -} -} -static lean_object* _init_l_Lean_Meta_splitTarget_x3f___lambda__1___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(0u); -x_2 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__2; -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f___lambda__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) { -_start: -{ -lean_object* x_8; -lean_inc(x_1); -x_8 = l_Lean_MVarId_getType(x_1, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_9 = lean_ctor_get(x_8, 0); -lean_inc(x_9); -x_10 = lean_ctor_get(x_8, 1); -lean_inc(x_10); -lean_dec(x_8); -x_11 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassApp_x3f___spec__1(x_9, x_3, x_4, x_5, x_6, x_10); -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(x_11); -x_14 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__3; -x_15 = l_Lean_Meta_splitTarget_x3f_go(x_1, x_2, x_12, x_14, x_3, x_4, x_5, x_6, x_13); -lean_dec(x_12); -return x_15; -} -else -{ -uint8_t x_16; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_16 = !lean_is_exclusive(x_8); -if (x_16 == 0) -{ -return x_8; -} -else -{ -lean_object* x_17; lean_object* x_18; lean_object* x_19; -x_17 = lean_ctor_get(x_8, 0); -x_18 = lean_ctor_get(x_8, 1); -lean_inc(x_18); -lean_inc(x_17); -lean_dec(x_8); -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_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f(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; lean_object* x_9; lean_object* x_10; -x_8 = lean_box(x_2); -x_9 = lean_alloc_closure((void*)(l_Lean_Meta_splitTarget_x3f___lambda__1___boxed), 7, 2); -lean_closure_set(x_9, 0, x_1); -lean_closure_set(x_9, 1, x_8); -x_10 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(x_9, x_3, x_4, x_5, x_6, x_7); -return x_10; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -uint8_t x_8; lean_object* x_9; -x_8 = lean_unbox(x_2); -lean_dec(x_2); -x_9 = l_Lean_Meta_splitTarget_x3f___lambda__1(x_1, x_8, x_3, x_4, x_5, x_6, x_7); -return x_9; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_splitTarget_x3f___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); -lean_dec(x_2); -x_9 = l_Lean_Meta_splitTarget_x3f(x_1, x_8, x_3, x_4, x_5, x_6, x_7); -return x_9; -} -} -LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___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: -{ -if (lean_obj_tag(x_2) == 0) -{ -lean_object* x_9; lean_object* x_10; -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -x_9 = l_List_reverse___rarg(x_3); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_9); -lean_ctor_set(x_10, 1, x_8); -return x_10; -} -else -{ -uint8_t x_11; -x_11 = !lean_is_exclusive(x_2); -if (x_11 == 0) -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; uint8_t x_16; lean_object* x_17; -x_12 = lean_ctor_get(x_2, 0); -x_13 = lean_ctor_get(x_2, 1); -x_14 = lean_box(0); -x_15 = 0; -x_16 = 1; -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_1); -x_17 = l_Lean_Meta_introNCore(x_12, x_1, x_14, x_15, x_16, x_4, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_17) == 0) -{ -lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_18 = lean_ctor_get(x_17, 0); -lean_inc(x_18); -x_19 = lean_ctor_get(x_17, 1); -lean_inc(x_19); -lean_dec(x_17); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -lean_dec(x_18); -lean_ctor_set(x_2, 1, x_3); -lean_ctor_set(x_2, 0, x_20); -{ -lean_object* _tmp_1 = x_13; -lean_object* _tmp_2 = x_2; -lean_object* _tmp_7 = x_19; -x_2 = _tmp_1; -x_3 = _tmp_2; -x_8 = _tmp_7; -} -goto _start; -} -else -{ -uint8_t x_22; -lean_free_object(x_2); -lean_dec(x_13); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_22 = !lean_is_exclusive(x_17); -if (x_22 == 0) -{ -return x_17; -} -else -{ -lean_object* x_23; lean_object* x_24; lean_object* x_25; -x_23 = lean_ctor_get(x_17, 0); -x_24 = lean_ctor_get(x_17, 1); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_17); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_23); -lean_ctor_set(x_25, 1, x_24); -return x_25; -} -} -} -else -{ -lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; uint8_t x_30; lean_object* x_31; -x_26 = lean_ctor_get(x_2, 0); -x_27 = lean_ctor_get(x_2, 1); -lean_inc(x_27); -lean_inc(x_26); -lean_dec(x_2); -x_28 = lean_box(0); -x_29 = 0; -x_30 = 1; -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_1); -x_31 = l_Lean_Meta_introNCore(x_26, x_1, x_28, x_29, x_30, x_4, x_5, x_6, x_7, x_8); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = lean_ctor_get(x_32, 1); -lean_inc(x_34); -lean_dec(x_32); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_34); -lean_ctor_set(x_35, 1, x_3); -x_2 = x_27; -x_3 = x_35; -x_8 = x_33; -goto _start; -} -else -{ -lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; -lean_dec(x_27); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -x_37 = lean_ctor_get(x_31, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_31, 1); -lean_inc(x_38); -if (lean_is_exclusive(x_31)) { - lean_ctor_release(x_31, 0); - lean_ctor_release(x_31, 1); - x_39 = x_31; -} else { - lean_dec_ref(x_31); - x_39 = lean_box(0); -} -if (lean_is_scalar(x_39)) { - x_40 = lean_alloc_ctor(1, 2, 0); -} else { - x_40 = x_39; -} -lean_ctor_set(x_40, 0, x_37); -lean_ctor_set(x_40, 1, x_38); -return x_40; -} -} -} -} -} -LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___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) { -_start: -{ -if (lean_obj_tag(x_1) == 0) -{ -lean_object* x_8; lean_object* x_9; -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_8 = l_List_reverse___rarg(x_2); -x_9 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_9, 1, x_7); -return x_9; -} -else -{ -uint8_t x_10; -x_10 = !lean_is_exclusive(x_1); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; -x_11 = lean_ctor_get(x_1, 0); -x_12 = lean_ctor_get(x_1, 1); -x_13 = 1; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_14 = l_Lean_Meta_intro1Core(x_11, x_13, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_14) == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -x_16 = lean_ctor_get(x_14, 1); -lean_inc(x_16); -lean_dec(x_14); -x_17 = lean_ctor_get(x_15, 1); -lean_inc(x_17); -lean_dec(x_15); -lean_ctor_set(x_1, 1, x_2); -lean_ctor_set(x_1, 0, x_17); -{ -lean_object* _tmp_0 = x_12; -lean_object* _tmp_1 = x_1; -lean_object* _tmp_6 = x_16; -x_1 = _tmp_0; -x_2 = _tmp_1; -x_7 = _tmp_6; -} -goto _start; -} -else -{ -uint8_t x_19; -lean_free_object(x_1); -lean_dec(x_12); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_19 = !lean_is_exclusive(x_14); -if (x_19 == 0) -{ -return x_14; -} -else -{ -lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_20 = lean_ctor_get(x_14, 0); -x_21 = lean_ctor_get(x_14, 1); -lean_inc(x_21); -lean_inc(x_20); -lean_dec(x_14); -x_22 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_22, 0, x_20); -lean_ctor_set(x_22, 1, x_21); -return x_22; -} -} -} -else -{ -lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_1, 0); -x_24 = lean_ctor_get(x_1, 1); -lean_inc(x_24); -lean_inc(x_23); -lean_dec(x_1); -x_25 = 1; -lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_26 = l_Lean_Meta_intro1Core(x_23, x_25, x_3, x_4, x_5, x_6, x_7); -if (lean_obj_tag(x_26) == 0) -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_27 = lean_ctor_get(x_26, 0); -lean_inc(x_27); -x_28 = lean_ctor_get(x_26, 1); -lean_inc(x_28); -lean_dec(x_26); -x_29 = lean_ctor_get(x_27, 1); -lean_inc(x_29); -lean_dec(x_27); -x_30 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_30, 0, x_29); -lean_ctor_set(x_30, 1, x_2); -x_1 = x_24; -x_2 = x_30; -x_7 = x_28; -goto _start; -} -else -{ -lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; -lean_dec(x_24); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -x_32 = lean_ctor_get(x_26, 0); -lean_inc(x_32); -x_33 = lean_ctor_get(x_26, 1); -lean_inc(x_33); -if (lean_is_exclusive(x_26)) { - lean_ctor_release(x_26, 0); - lean_ctor_release(x_26, 1); - x_34 = x_26; -} else { - lean_dec_ref(x_26); - x_34 = lean_box(0); -} -if (lean_is_scalar(x_34)) { - x_35 = lean_alloc_ctor(1, 2, 0); -} else { - x_35 = x_34; -} -lean_ctor_set(x_35, 0, x_32); -lean_ctor_set(x_35, 1, x_33); -return x_35; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; lean_object* x_11; uint8_t x_21; lean_object* x_22; -x_21 = 0; -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_22 = l_Lean_MVarId_revert(x_1, x_2, x_21, x_21, x_5, x_6, x_7, x_8, x_9); -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; -x_23 = lean_ctor_get(x_22, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_22, 1); -lean_inc(x_24); -lean_dec(x_22); -x_25 = lean_ctor_get(x_23, 0); -lean_inc(x_25); -x_26 = lean_ctor_get(x_23, 1); -lean_inc(x_26); -lean_dec(x_23); -x_27 = lean_array_get_size(x_25); -lean_dec(x_25); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -lean_inc(x_5); -x_28 = l_Lean_Meta_Split_splitMatch(x_26, x_3, x_5, x_6, x_7, x_8, x_24); -if (lean_obj_tag(x_28) == 0) -{ -lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_29 = lean_ctor_get(x_28, 0); -lean_inc(x_29); -x_30 = lean_ctor_get(x_28, 1); -lean_inc(x_30); -lean_dec(x_28); -x_31 = l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___spec__1(x_27, x_29, x_4, x_5, x_6, x_7, x_8, x_30); -if (lean_obj_tag(x_31) == 0) -{ -uint8_t x_32; -x_32 = !lean_is_exclusive(x_31); -if (x_32 == 0) -{ -lean_object* x_33; lean_object* x_34; -x_33 = lean_ctor_get(x_31, 0); -x_34 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_34, 0, x_33); -lean_ctor_set(x_31, 0, x_34); -return x_31; -} -else -{ -lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_35 = lean_ctor_get(x_31, 0); -x_36 = lean_ctor_get(x_31, 1); -lean_inc(x_36); -lean_inc(x_35); -lean_dec(x_31); -x_37 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_37, 0, x_35); -x_38 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_38, 0, x_37); -lean_ctor_set(x_38, 1, x_36); -return x_38; -} -} -else -{ -lean_object* x_39; lean_object* x_40; -x_39 = lean_ctor_get(x_31, 0); -lean_inc(x_39); -x_40 = lean_ctor_get(x_31, 1); -lean_inc(x_40); -lean_dec(x_31); -x_10 = x_39; -x_11 = x_40; -goto block_20; -} -} -else -{ -lean_object* x_41; lean_object* x_42; -lean_dec(x_27); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -x_41 = lean_ctor_get(x_28, 0); -lean_inc(x_41); -x_42 = lean_ctor_get(x_28, 1); -lean_inc(x_42); -lean_dec(x_28); -x_10 = x_41; -x_11 = x_42; -goto block_20; -} -} -else -{ -lean_object* x_43; lean_object* x_44; -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_43 = lean_ctor_get(x_22, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_22, 1); -lean_inc(x_44); -lean_dec(x_22); -x_10 = x_43; -x_11 = x_44; -goto block_20; -} -block_20: -{ -uint8_t x_12; -x_12 = l_Lean_Exception_isInterrupt(x_10); -if (x_12 == 0) -{ -uint8_t x_13; -x_13 = l_Lean_Exception_isRuntime(x_10); -if (x_13 == 0) -{ -uint8_t x_14; -x_14 = l_Lean_Meta_Split_isDiscrGenException(x_10); -if (x_14 == 0) -{ -lean_object* x_15; -x_15 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_15, 0, x_10); -lean_ctor_set(x_15, 1, x_11); -return x_15; -} -else -{ -lean_object* x_16; lean_object* x_17; -lean_dec(x_10); -x_16 = lean_box(0); -x_17 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_17, 0, x_16); -lean_ctor_set(x_17, 1, x_11); -return x_17; -} -} -else -{ -lean_object* x_18; -x_18 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_18, 0, x_10); -lean_ctor_set(x_18, 1, x_11); -return x_18; -} -} -else -{ -lean_object* x_19; -x_19 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_19, 0, x_10); -lean_ctor_set(x_19, 1, x_11); -return x_19; -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { -_start: -{ -lean_object* x_8; -x_8 = l_Lean_Meta_Split_throwDiscrGenError___rarg(x_1, x_3, x_4, x_5, x_6, x_7); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; -lean_inc(x_6); -lean_inc(x_1); -x_11 = l_Lean_FVarId_getDecl(x_1, x_6, x_7, x_8, x_9, x_10); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_12; lean_object* x_13; lean_object* x_14; -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(x_11); -lean_inc(x_2); -x_14 = l_Lean_MVarId_getType(x_2, x_6, x_7, x_8, x_9, x_13); -if (lean_obj_tag(x_14) == 0) -{ -lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20; -x_15 = lean_ctor_get(x_14, 0); -lean_inc(x_15); -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_14); - x_17 = lean_box(0); -} -x_18 = l_Lean_LocalDecl_isLet(x_12); -if (x_18 == 0) -{ -lean_object* x_60; lean_object* x_61; uint8_t x_62; -x_60 = l_Lean_exprDependsOn___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_mkCast_go___spec__1(x_15, x_1, x_6, x_7, x_8, x_9, x_16); -x_61 = lean_ctor_get(x_60, 0); -lean_inc(x_61); -x_62 = lean_unbox(x_61); -if (x_62 == 0) -{ -lean_object* x_63; lean_object* x_64; -lean_dec(x_61); -x_63 = lean_ctor_get(x_60, 1); -lean_inc(x_63); -lean_dec(x_60); -lean_inc(x_6); -x_64 = l_Lean_FVarId_hasForwardDeps(x_1, x_6, x_7, x_8, x_9, x_63); -if (lean_obj_tag(x_64) == 0) +lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_15 = lean_ctor_get(x_14, 0); +lean_inc(x_15); +x_16 = lean_ctor_get(x_14, 1); +lean_inc(x_16); +lean_dec(x_14); +x_17 = lean_ctor_get(x_15, 1); +lean_inc(x_17); +lean_dec(x_15); +lean_ctor_set(x_1, 1, x_2); +lean_ctor_set(x_1, 0, x_17); { -lean_object* x_65; lean_object* x_66; uint8_t x_67; -x_65 = lean_ctor_get(x_64, 0); -lean_inc(x_65); -x_66 = lean_ctor_get(x_64, 1); -lean_inc(x_66); -lean_dec(x_64); -x_67 = lean_unbox(x_65); -lean_dec(x_65); -x_19 = x_67; -x_20 = x_66; -goto block_59; +lean_object* _tmp_0 = x_12; +lean_object* _tmp_1 = x_1; +lean_object* _tmp_6 = x_16; +x_1 = _tmp_0; +x_2 = _tmp_1; +x_7 = _tmp_6; +} +goto _start; } else { -uint8_t x_68; -lean_dec(x_17); +uint8_t x_19; +lean_free_object(x_1); lean_dec(x_12); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); lean_dec(x_6); +lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_68 = !lean_is_exclusive(x_64); -if (x_68 == 0) +x_19 = !lean_is_exclusive(x_14); +if (x_19 == 0) { -return x_64; +return x_14; } else { -lean_object* x_69; lean_object* x_70; lean_object* x_71; -x_69 = lean_ctor_get(x_64, 0); -x_70 = lean_ctor_get(x_64, 1); -lean_inc(x_70); -lean_inc(x_69); -lean_dec(x_64); -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; -} -} +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_14, 0); +x_21 = lean_ctor_get(x_14, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_14); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +return x_22; } -else -{ -lean_object* x_72; uint8_t x_73; -lean_dec(x_1); -x_72 = lean_ctor_get(x_60, 1); -lean_inc(x_72); -lean_dec(x_60); -x_73 = lean_unbox(x_61); -lean_dec(x_61); -x_19 = x_73; -x_20 = x_72; -goto block_59; } } else { -lean_dec(x_15); +lean_object* x_23; lean_object* x_24; uint8_t x_25; lean_object* x_26; +x_23 = lean_ctor_get(x_1, 0); +x_24 = lean_ctor_get(x_1, 1); +lean_inc(x_24); +lean_inc(x_23); lean_dec(x_1); -x_19 = x_18; -x_20 = x_16; -goto block_59; -} -block_59: -{ -if (x_19 == 0) -{ -lean_object* x_21; -lean_dec(x_17); -lean_dec(x_12); -lean_dec(x_4); -lean_dec(x_2); -x_21 = l_Lean_Meta_Split_throwDiscrGenError___rarg(x_3, x_6, x_7, x_8, x_9, x_20); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -return x_21; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_39; -x_22 = l_Lean_LocalDecl_userName(x_12); -x_23 = l_Lean_LocalDecl_type(x_12); -x_24 = l_Lean_LocalDecl_toExpr(x_12); -lean_dec(x_12); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -x_39 = l_Lean_MVarId_assert(x_2, x_22, x_23, x_24, x_6, x_7, x_8, x_9, x_20); -if (lean_obj_tag(x_39) == 0) -{ -lean_object* x_40; lean_object* x_41; lean_object* x_42; -x_40 = lean_ctor_get(x_39, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_39, 1); -lean_inc(x_41); -lean_dec(x_39); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); +x_25 = 1; lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); lean_inc(x_3); -x_42 = l_Lean_Meta_Split_splitMatch(x_40, x_3, x_6, x_7, x_8, x_9, x_41); -if (lean_obj_tag(x_42) == 0) -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_43 = lean_ctor_get(x_42, 0); -lean_inc(x_43); -x_44 = lean_ctor_get(x_42, 1); -lean_inc(x_44); -lean_dec(x_42); -lean_inc(x_9); -lean_inc(x_8); -lean_inc(x_7); -lean_inc(x_6); -x_45 = l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___spec__2(x_43, x_4, x_6, x_7, x_8, x_9, x_44); -if (lean_obj_tag(x_45) == 0) -{ -uint8_t x_46; -lean_dec(x_17); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_3); -x_46 = !lean_is_exclusive(x_45); -if (x_46 == 0) -{ -lean_object* x_47; lean_object* x_48; -x_47 = lean_ctor_get(x_45, 0); -x_48 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_48, 0, x_47); -lean_ctor_set(x_45, 0, x_48); -return x_45; -} -else -{ -lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_49 = lean_ctor_get(x_45, 0); -x_50 = lean_ctor_get(x_45, 1); -lean_inc(x_50); -lean_inc(x_49); -lean_dec(x_45); -x_51 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_51, 0, x_49); -x_52 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_52, 0, x_51); -lean_ctor_set(x_52, 1, x_50); -return x_52; -} -} -else -{ -lean_object* x_53; lean_object* x_54; -x_53 = lean_ctor_get(x_45, 0); -lean_inc(x_53); -x_54 = lean_ctor_get(x_45, 1); -lean_inc(x_54); -lean_dec(x_45); -x_25 = x_53; -x_26 = x_54; -goto block_38; -} -} -else -{ -lean_object* x_55; lean_object* x_56; -lean_dec(x_4); -x_55 = lean_ctor_get(x_42, 0); -lean_inc(x_55); -x_56 = lean_ctor_get(x_42, 1); -lean_inc(x_56); -lean_dec(x_42); -x_25 = x_55; -x_26 = x_56; -goto block_38; -} -} -else -{ -lean_object* x_57; lean_object* x_58; -lean_dec(x_4); -x_57 = lean_ctor_get(x_39, 0); -lean_inc(x_57); -x_58 = lean_ctor_get(x_39, 1); -lean_inc(x_58); -lean_dec(x_39); -x_25 = x_57; -x_26 = x_58; -goto block_38; -} -block_38: -{ -uint8_t x_27; -x_27 = l_Lean_Exception_isInterrupt(x_25); -if (x_27 == 0) -{ -uint8_t x_28; -x_28 = l_Lean_Exception_isRuntime(x_25); -if (x_28 == 0) +x_26 = l_Lean_Meta_intro1Core(x_23, x_25, x_3, x_4, x_5, x_6, x_7); +if (lean_obj_tag(x_26) == 0) { -uint8_t x_29; -x_29 = l_Lean_Meta_Split_isDiscrGenException(x_25); -if (x_29 == 0) +lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +x_28 = lean_ctor_get(x_26, 1); +lean_inc(x_28); +lean_dec(x_26); +x_29 = lean_ctor_get(x_27, 1); +lean_inc(x_29); +lean_dec(x_27); +x_30 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_2); +x_1 = x_24; +x_2 = x_30; +x_7 = x_28; +goto _start; +} +else { -lean_object* x_30; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; +lean_dec(x_24); lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); lean_dec(x_3); -if (lean_is_scalar(x_17)) { - x_30 = lean_alloc_ctor(1, 2, 0); +lean_dec(x_2); +x_32 = lean_ctor_get(x_26, 0); +lean_inc(x_32); +x_33 = lean_ctor_get(x_26, 1); +lean_inc(x_33); +if (lean_is_exclusive(x_26)) { + lean_ctor_release(x_26, 0); + lean_ctor_release(x_26, 1); + x_34 = x_26; } else { - x_30 = x_17; - lean_ctor_set_tag(x_30, 1); + lean_dec_ref(x_26); + x_34 = lean_box(0); } -lean_ctor_set(x_30, 0, x_25); -lean_ctor_set(x_30, 1, x_26); -return x_30; +if (lean_is_scalar(x_34)) { + x_35 = lean_alloc_ctor(1, 2, 0); +} else { + x_35 = x_34; } -else +lean_ctor_set(x_35, 0, x_32); +lean_ctor_set(x_35, 1, x_33); +return x_35; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: { -lean_object* x_31; uint8_t x_32; +lean_object* x_10; lean_object* x_11; uint8_t x_21; lean_object* x_22; +x_21 = 0; +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_22 = l_Lean_MVarId_revert(x_1, x_2, x_21, x_21, x_5, x_6, x_7, x_8, x_9); +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; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = lean_ctor_get(x_23, 0); +lean_inc(x_25); +x_26 = lean_ctor_get(x_23, 1); +lean_inc(x_26); +lean_dec(x_23); +x_27 = lean_array_get_size(x_25); lean_dec(x_25); -lean_dec(x_17); -x_31 = l_Lean_Meta_Split_throwDiscrGenError___rarg(x_3, x_6, x_7, x_8, x_9, x_26); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_28 = l_Lean_Meta_Split_splitMatch(x_26, x_3, x_5, x_6, x_7, x_8, x_24); +if (lean_obj_tag(x_28) == 0) +{ +lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_29 = lean_ctor_get(x_28, 0); +lean_inc(x_29); +x_30 = lean_ctor_get(x_28, 1); +lean_inc(x_30); +lean_dec(x_28); +x_31 = l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___spec__1(x_27, x_29, x_4, x_5, x_6, x_7, x_8, x_30); +if (lean_obj_tag(x_31) == 0) +{ +uint8_t x_32; x_32 = !lean_is_exclusive(x_31); if (x_32 == 0) { +lean_object* x_33; lean_object* x_34; +x_33 = lean_ctor_get(x_31, 0); +x_34 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_34, 0, x_33); +lean_ctor_set(x_31, 0, x_34); return x_31; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_31, 0); -x_34 = lean_ctor_get(x_31, 1); -lean_inc(x_34); -lean_inc(x_33); +lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_35 = lean_ctor_get(x_31, 0); +x_36 = lean_ctor_get(x_31, 1); +lean_inc(x_36); +lean_inc(x_35); lean_dec(x_31); -x_35 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -return x_35; -} +x_37 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_37, 0, x_35); +x_38 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_36); +return x_38; } } else { -lean_object* x_36; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_3); -if (lean_is_scalar(x_17)) { - x_36 = lean_alloc_ctor(1, 2, 0); -} else { - x_36 = x_17; - lean_ctor_set_tag(x_36, 1); -} -lean_ctor_set(x_36, 0, x_25); -lean_ctor_set(x_36, 1, x_26); -return x_36; +lean_object* x_39; lean_object* x_40; +x_39 = lean_ctor_get(x_31, 0); +lean_inc(x_39); +x_40 = lean_ctor_get(x_31, 1); +lean_inc(x_40); +lean_dec(x_31); +x_10 = x_39; +x_11 = x_40; +goto block_20; } } else { -lean_object* x_37; -lean_dec(x_9); +lean_object* x_41; lean_object* x_42; +lean_dec(x_27); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_3); -if (lean_is_scalar(x_17)) { - x_37 = lean_alloc_ctor(1, 2, 0); -} else { - x_37 = x_17; - lean_ctor_set_tag(x_37, 1); -} -lean_ctor_set(x_37, 0, x_25); -lean_ctor_set(x_37, 1, x_26); -return x_37; -} -} -} +lean_dec(x_5); +lean_dec(x_4); +x_41 = lean_ctor_get(x_28, 0); +lean_inc(x_41); +x_42 = lean_ctor_get(x_28, 1); +lean_inc(x_42); +lean_dec(x_28); +x_10 = x_41; +x_11 = x_42; +goto block_20; } } else { -uint8_t x_74; -lean_dec(x_12); -lean_dec(x_9); +lean_object* x_43; lean_object* x_44; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); +lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_74 = !lean_is_exclusive(x_14); -if (x_74 == 0) +x_43 = lean_ctor_get(x_22, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_22, 1); +lean_inc(x_44); +lean_dec(x_22); +x_10 = x_43; +x_11 = x_44; +goto block_20; +} +block_20: { -return x_14; +uint8_t x_12; +x_12 = l_Lean_Exception_isInterrupt(x_10); +if (x_12 == 0) +{ +uint8_t x_13; +x_13 = l_Lean_Exception_isRuntime(x_10); +if (x_13 == 0) +{ +uint8_t x_14; +x_14 = l_Lean_Meta_Split_isDiscrGenException(x_10); +if (x_14 == 0) +{ +lean_object* x_15; +x_15 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_15, 0, x_10); +lean_ctor_set(x_15, 1, x_11); +return x_15; } else { -lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = lean_ctor_get(x_14, 0); -x_76 = lean_ctor_get(x_14, 1); -lean_inc(x_76); -lean_inc(x_75); -lean_dec(x_14); -x_77 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_77, 0, x_75); -lean_ctor_set(x_77, 1, x_76); -return x_77; -} +lean_object* x_16; lean_object* x_17; +lean_dec(x_10); +x_16 = lean_box(0); +x_17 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_17, 1, x_11); +return x_17; } } else { -uint8_t x_78; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_78 = !lean_is_exclusive(x_11); -if (x_78 == 0) -{ -return x_11; +lean_object* x_18; +x_18 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_18, 0, x_10); +lean_ctor_set(x_18, 1, x_11); +return x_18; } -else -{ -lean_object* x_79; lean_object* x_80; lean_object* x_81; -x_79 = lean_ctor_get(x_11, 0); -x_80 = lean_ctor_get(x_11, 1); -lean_inc(x_80); -lean_inc(x_79); -lean_dec(x_11); -x_81 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_81, 0, x_79); -lean_ctor_set(x_81, 1, x_80); -return x_81; +} +else +{ +lean_object* x_19; +x_19 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_19, 0, x_10); +lean_ctor_set(x_19, 1, x_11); +return x_19; } } } } -LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_8; uint8_t x_9; -x_8 = lean_st_ref_get(x_6, x_7); -x_9 = !lean_is_exclusive(x_8); -if (x_9 == 0) +lean_object* x_8; +x_8 = l_Lean_Meta_Split_throwDiscrGenError___rarg(x_1, x_3, x_4, x_5, x_6, x_7); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: { -lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_10 = lean_ctor_get(x_8, 0); -x_11 = lean_ctor_get(x_8, 1); -x_12 = lean_ctor_get(x_10, 0); -lean_inc(x_12); -lean_dec(x_10); -lean_inc(x_1); -x_13 = l_Lean_Expr_fvar___override(x_1); +lean_object* x_11; lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_14 = lean_infer_type(x_13, x_3, x_4, x_5, x_6, x_11); +lean_inc(x_1); +x_11 = l_Lean_FVarId_getDecl(x_1, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_11) == 0) +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; +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(x_11); +lean_inc(x_2); +x_14 = l_Lean_MVarId_getType(x_2, x_6, x_7, x_8, x_9, x_13); if (lean_obj_tag(x_14) == 0) { -lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; +lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; uint8_t x_19; lean_object* x_20; x_15 = lean_ctor_get(x_14, 0); lean_inc(x_15); x_16 = lean_ctor_get(x_14, 1); lean_inc(x_16); -lean_dec(x_14); -x_17 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassApp_x3f___spec__1(x_15, x_3, x_4, x_5, x_6, x_16); -x_18 = !lean_is_exclusive(x_17); -if (x_18 == 0) -{ -lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; -x_19 = lean_ctor_get(x_17, 0); -x_20 = lean_ctor_get(x_17, 1); -x_21 = 1; -x_22 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__3; -x_23 = l_Lean_Meta_Split_findSplit_x3f_go(x_12, x_21, x_22, x_19); -lean_dec(x_19); -if (lean_obj_tag(x_23) == 0) -{ -lean_object* x_24; -lean_free_object(x_8); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); -lean_dec(x_1); -x_24 = lean_box(0); -lean_ctor_set(x_17, 0, x_24); -return x_17; +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_14); + x_17 = lean_box(0); } -else -{ -lean_object* x_25; uint8_t x_26; -lean_free_object(x_17); -x_25 = lean_ctor_get(x_23, 0); -lean_inc(x_25); -lean_dec(x_23); -x_26 = l_Lean_Expr_isIte(x_25); -if (x_26 == 0) +x_18 = l_Lean_LocalDecl_isLet(x_12); +if (x_18 == 0) { -uint8_t x_27; -x_27 = l_Lean_Expr_isDIte(x_25); -if (x_27 == 0) +lean_object* x_60; lean_object* x_61; uint8_t x_62; +x_60 = l_Lean_exprDependsOn___at___private_Lean_Meta_CongrTheorems_0__Lean_Meta_mkCast_go___spec__1(x_15, x_1, x_6, x_7, x_8, x_9, x_16); +x_61 = lean_ctor_get(x_60, 0); +lean_inc(x_61); +x_62 = lean_unbox(x_61); +if (x_62 == 0) { -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; -x_28 = lean_box(0); -lean_inc(x_1); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 1, x_28); -lean_ctor_set(x_8, 0, x_1); -x_29 = lean_array_mk(x_8); -lean_inc(x_25); -lean_inc(x_2); -x_30 = lean_alloc_closure((void*)(l_Lean_Meta_splitLocalDecl_x3f___lambda__1), 9, 4); -lean_closure_set(x_30, 0, x_2); -lean_closure_set(x_30, 1, x_29); -lean_closure_set(x_30, 2, x_25); -lean_closure_set(x_30, 3, x_28); +lean_object* x_63; lean_object* x_64; +lean_dec(x_61); +x_63 = lean_ctor_get(x_60, 1); +lean_inc(x_63); +lean_dec(x_60); lean_inc(x_6); -lean_inc(x_5); -lean_inc(x_4); -lean_inc(x_3); -x_31 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(x_30, x_3, x_4, x_5, x_6, x_20); -if (lean_obj_tag(x_31) == 0) -{ -lean_object* x_32; -x_32 = lean_ctor_get(x_31, 0); -lean_inc(x_32); -if (lean_obj_tag(x_32) == 0) +x_64 = l_Lean_FVarId_hasForwardDeps(x_1, x_6, x_7, x_8, x_9, x_63); +if (lean_obj_tag(x_64) == 0) { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_ctor_get(x_31, 1); -lean_inc(x_33); -lean_dec(x_31); -x_34 = lean_box(0); -x_35 = l_Lean_Meta_splitLocalDecl_x3f___lambda__3(x_1, x_2, x_25, x_28, x_34, x_3, x_4, x_5, x_6, x_33); -return x_35; +lean_object* x_65; lean_object* x_66; uint8_t x_67; +x_65 = lean_ctor_get(x_64, 0); +lean_inc(x_65); +x_66 = lean_ctor_get(x_64, 1); +lean_inc(x_66); +lean_dec(x_64); +x_67 = lean_unbox(x_65); +lean_dec(x_65); +x_19 = x_67; +x_20 = x_66; +goto block_59; } else { -uint8_t x_36; -lean_dec(x_25); +uint8_t x_68; +lean_dec(x_17); +lean_dec(x_12); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); lean_dec(x_6); -lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_36 = !lean_is_exclusive(x_31); -if (x_36 == 0) +x_68 = !lean_is_exclusive(x_64); +if (x_68 == 0) { -lean_object* x_37; -x_37 = lean_ctor_get(x_31, 0); -lean_dec(x_37); -return x_31; +return x_64; } else { -lean_object* x_38; lean_object* x_39; -x_38 = lean_ctor_get(x_31, 1); -lean_inc(x_38); -lean_dec(x_31); -x_39 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_39, 0, x_32); -lean_ctor_set(x_39, 1, x_38); -return x_39; +lean_object* x_69; lean_object* x_70; lean_object* x_71; +x_69 = lean_ctor_get(x_64, 0); +x_70 = lean_ctor_get(x_64, 1); +lean_inc(x_70); +lean_inc(x_69); +lean_dec(x_64); +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_40; -lean_dec(x_25); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); +lean_object* x_72; uint8_t x_73; lean_dec(x_1); -x_40 = !lean_is_exclusive(x_31); -if (x_40 == 0) -{ -return x_31; +x_72 = lean_ctor_get(x_60, 1); +lean_inc(x_72); +lean_dec(x_60); +x_73 = lean_unbox(x_61); +lean_dec(x_61); +x_19 = x_73; +x_20 = x_72; +goto block_59; +} } else { -lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_41 = lean_ctor_get(x_31, 0); -x_42 = lean_ctor_get(x_31, 1); -lean_inc(x_42); -lean_inc(x_41); -lean_dec(x_31); -x_43 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_43, 0, x_41); -lean_ctor_set(x_43, 1, x_42); -return x_43; -} +lean_dec(x_15); +lean_dec(x_1); +x_19 = x_18; +x_20 = x_16; +goto block_59; } +block_59: +{ +if (x_19 == 0) +{ +lean_object* x_21; +lean_dec(x_17); +lean_dec(x_12); +lean_dec(x_4); +lean_dec(x_2); +x_21 = l_Lean_Meta_Split_throwDiscrGenError___rarg(x_3, x_6, x_7, x_8, x_9, x_20); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +return x_21; } else { -lean_object* x_44; lean_object* x_45; -lean_dec(x_25); -x_44 = lean_box(0); -x_45 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_44, x_3, x_4, x_5, x_6, x_20); -if (lean_obj_tag(x_45) == 0) +lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_39; +x_22 = l_Lean_LocalDecl_userName(x_12); +x_23 = l_Lean_LocalDecl_type(x_12); +x_24 = l_Lean_LocalDecl_toExpr(x_12); +lean_dec(x_12); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_39 = l_Lean_MVarId_assert(x_2, x_22, x_23, x_24, x_6, x_7, x_8, x_9, x_20); +if (lean_obj_tag(x_39) == 0) { -lean_object* x_46; -x_46 = lean_ctor_get(x_45, 0); -lean_inc(x_46); -if (lean_obj_tag(x_46) == 0) +lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_40 = lean_ctor_get(x_39, 0); +lean_inc(x_40); +x_41 = lean_ctor_get(x_39, 1); +lean_inc(x_41); +lean_dec(x_39); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_3); +x_42 = l_Lean_Meta_Split_splitMatch(x_40, x_3, x_6, x_7, x_8, x_9, x_41); +if (lean_obj_tag(x_42) == 0) { -uint8_t x_47; -lean_free_object(x_8); -x_47 = !lean_is_exclusive(x_45); -if (x_47 == 0) +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_42, 0); +lean_inc(x_43); +x_44 = lean_ctor_get(x_42, 1); +lean_inc(x_44); +lean_dec(x_42); +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +x_45 = l_List_mapM_loop___at_Lean_Meta_splitLocalDecl_x3f___spec__2(x_43, x_4, x_6, x_7, x_8, x_9, x_44); +if (lean_obj_tag(x_45) == 0) { -lean_object* x_48; -x_48 = lean_ctor_get(x_45, 0); -lean_dec(x_48); -lean_ctor_set(x_45, 0, x_44); +uint8_t x_46; +lean_dec(x_17); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +x_46 = !lean_is_exclusive(x_45); +if (x_46 == 0) +{ +lean_object* x_47; lean_object* x_48; +x_47 = lean_ctor_get(x_45, 0); +x_48 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_48, 0, x_47); +lean_ctor_set(x_45, 0, x_48); return x_45; } else { -lean_object* x_49; lean_object* x_50; -x_49 = lean_ctor_get(x_45, 1); +lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_49 = lean_ctor_get(x_45, 0); +x_50 = lean_ctor_get(x_45, 1); +lean_inc(x_50); lean_inc(x_49); lean_dec(x_45); -x_50 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_50, 0, x_44); -lean_ctor_set(x_50, 1, x_49); -return x_50; -} +x_51 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_51, 0, x_49); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_50); +return x_52; } -else -{ -uint8_t x_51; -x_51 = !lean_is_exclusive(x_46); -if (x_51 == 0) -{ -uint8_t x_52; -x_52 = !lean_is_exclusive(x_45); -if (x_52 == 0) -{ -lean_object* x_53; lean_object* x_54; uint8_t x_55; -x_53 = lean_ctor_get(x_46, 0); -x_54 = lean_ctor_get(x_45, 0); -lean_dec(x_54); -x_55 = !lean_is_exclusive(x_53); -if (x_55 == 0) -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_56 = lean_ctor_get(x_53, 0); -x_57 = lean_ctor_get(x_53, 1); -x_58 = lean_box(0); -lean_ctor_set_tag(x_53, 1); -lean_ctor_set(x_53, 1, x_58); -lean_ctor_set(x_53, 0, x_57); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 1, x_53); -lean_ctor_set(x_8, 0, x_56); -lean_ctor_set(x_46, 0, x_8); -return x_45; } else { -lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_59 = lean_ctor_get(x_53, 0); -x_60 = lean_ctor_get(x_53, 1); -lean_inc(x_60); -lean_inc(x_59); -lean_dec(x_53); -x_61 = lean_box(0); -x_62 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_62, 0, x_60); -lean_ctor_set(x_62, 1, x_61); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 1, x_62); -lean_ctor_set(x_8, 0, x_59); -lean_ctor_set(x_46, 0, x_8); -return x_45; +lean_object* x_53; lean_object* x_54; +x_53 = lean_ctor_get(x_45, 0); +lean_inc(x_53); +x_54 = lean_ctor_get(x_45, 1); +lean_inc(x_54); +lean_dec(x_45); +x_25 = x_53; +x_26 = x_54; +goto block_38; } } 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; -x_63 = lean_ctor_get(x_46, 0); -x_64 = lean_ctor_get(x_45, 1); -lean_inc(x_64); -lean_dec(x_45); -x_65 = lean_ctor_get(x_63, 0); -lean_inc(x_65); -x_66 = lean_ctor_get(x_63, 1); -lean_inc(x_66); -if (lean_is_exclusive(x_63)) { - lean_ctor_release(x_63, 0); - lean_ctor_release(x_63, 1); - x_67 = x_63; -} else { - lean_dec_ref(x_63); - x_67 = lean_box(0); -} -x_68 = lean_box(0); -if (lean_is_scalar(x_67)) { - x_69 = lean_alloc_ctor(1, 2, 0); -} else { - x_69 = x_67; - lean_ctor_set_tag(x_69, 1); -} -lean_ctor_set(x_69, 0, x_66); -lean_ctor_set(x_69, 1, x_68); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 1, x_69); -lean_ctor_set(x_8, 0, x_65); -lean_ctor_set(x_46, 0, x_8); -x_70 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_70, 0, x_46); -lean_ctor_set(x_70, 1, x_64); -return x_70; +lean_object* x_55; lean_object* x_56; +lean_dec(x_4); +x_55 = lean_ctor_get(x_42, 0); +lean_inc(x_55); +x_56 = lean_ctor_get(x_42, 1); +lean_inc(x_56); +lean_dec(x_42); +x_25 = x_55; +x_26 = x_56; +goto block_38; } } else { -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; -x_71 = lean_ctor_get(x_46, 0); -lean_inc(x_71); -lean_dec(x_46); -x_72 = lean_ctor_get(x_45, 1); -lean_inc(x_72); -if (lean_is_exclusive(x_45)) { - lean_ctor_release(x_45, 0); - lean_ctor_release(x_45, 1); - x_73 = x_45; -} else { - lean_dec_ref(x_45); - x_73 = lean_box(0); -} -x_74 = lean_ctor_get(x_71, 0); -lean_inc(x_74); -x_75 = lean_ctor_get(x_71, 1); -lean_inc(x_75); -if (lean_is_exclusive(x_71)) { - lean_ctor_release(x_71, 0); - lean_ctor_release(x_71, 1); - x_76 = x_71; -} else { - lean_dec_ref(x_71); - x_76 = lean_box(0); -} -x_77 = lean_box(0); -if (lean_is_scalar(x_76)) { - x_78 = lean_alloc_ctor(1, 2, 0); -} else { - x_78 = x_76; - lean_ctor_set_tag(x_78, 1); -} -lean_ctor_set(x_78, 0, x_75); -lean_ctor_set(x_78, 1, x_77); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 1, x_78); -lean_ctor_set(x_8, 0, x_74); -x_79 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_79, 0, x_8); -if (lean_is_scalar(x_73)) { - x_80 = lean_alloc_ctor(0, 2, 0); -} else { - x_80 = x_73; -} -lean_ctor_set(x_80, 0, x_79); -lean_ctor_set(x_80, 1, x_72); -return x_80; -} -} +lean_object* x_57; lean_object* x_58; +lean_dec(x_4); +x_57 = lean_ctor_get(x_39, 0); +lean_inc(x_57); +x_58 = lean_ctor_get(x_39, 1); +lean_inc(x_58); +lean_dec(x_39); +x_25 = x_57; +x_26 = x_58; +goto block_38; } -else +block_38: { -uint8_t x_81; -lean_free_object(x_8); -x_81 = !lean_is_exclusive(x_45); -if (x_81 == 0) +uint8_t x_27; +x_27 = l_Lean_Exception_isInterrupt(x_25); +if (x_27 == 0) { -return x_45; -} -else +uint8_t x_28; +x_28 = l_Lean_Exception_isRuntime(x_25); +if (x_28 == 0) { -lean_object* x_82; lean_object* x_83; lean_object* x_84; -x_82 = lean_ctor_get(x_45, 0); -x_83 = lean_ctor_get(x_45, 1); -lean_inc(x_83); -lean_inc(x_82); -lean_dec(x_45); -x_84 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_84, 0, x_82); -lean_ctor_set(x_84, 1, x_83); -return x_84; -} -} +uint8_t x_29; +x_29 = l_Lean_Meta_Split_isDiscrGenException(x_25); +if (x_29 == 0) +{ +lean_object* x_30; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +if (lean_is_scalar(x_17)) { + x_30 = lean_alloc_ctor(1, 2, 0); +} else { + x_30 = x_17; + lean_ctor_set_tag(x_30, 1); } +lean_ctor_set(x_30, 0, x_25); +lean_ctor_set(x_30, 1, x_26); +return x_30; } else { -lean_object* x_85; lean_object* x_86; +lean_object* x_31; uint8_t x_32; lean_dec(x_25); -x_85 = lean_box(0); -x_86 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_85, x_3, x_4, x_5, x_6, x_20); -if (lean_obj_tag(x_86) == 0) -{ -lean_object* x_87; -x_87 = lean_ctor_get(x_86, 0); -lean_inc(x_87); -if (lean_obj_tag(x_87) == 0) -{ -uint8_t x_88; -lean_free_object(x_8); -x_88 = !lean_is_exclusive(x_86); -if (x_88 == 0) +lean_dec(x_17); +x_31 = l_Lean_Meta_Split_throwDiscrGenError___rarg(x_3, x_6, x_7, x_8, x_9, x_26); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +x_32 = !lean_is_exclusive(x_31); +if (x_32 == 0) { -lean_object* x_89; -x_89 = lean_ctor_get(x_86, 0); -lean_dec(x_89); -lean_ctor_set(x_86, 0, x_85); -return x_86; +return x_31; } else { -lean_object* x_90; lean_object* x_91; -x_90 = lean_ctor_get(x_86, 1); -lean_inc(x_90); -lean_dec(x_86); -x_91 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_91, 0, x_85); -lean_ctor_set(x_91, 1, x_90); -return x_91; +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_31, 0); +x_34 = lean_ctor_get(x_31, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_31); +x_35 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_34); +return x_35; } } -else -{ -uint8_t x_92; -x_92 = !lean_is_exclusive(x_87); -if (x_92 == 0) -{ -uint8_t x_93; -x_93 = !lean_is_exclusive(x_86); -if (x_93 == 0) -{ -lean_object* x_94; lean_object* x_95; uint8_t x_96; -x_94 = lean_ctor_get(x_87, 0); -x_95 = lean_ctor_get(x_86, 0); -lean_dec(x_95); -x_96 = !lean_is_exclusive(x_94); -if (x_96 == 0) -{ -lean_object* x_97; lean_object* x_98; lean_object* x_99; -x_97 = lean_ctor_get(x_94, 0); -x_98 = lean_ctor_get(x_94, 1); -x_99 = lean_box(0); -lean_ctor_set_tag(x_94, 1); -lean_ctor_set(x_94, 1, x_99); -lean_ctor_set(x_94, 0, x_98); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 1, x_94); -lean_ctor_set(x_8, 0, x_97); -lean_ctor_set(x_87, 0, x_8); -return x_86; } else { -lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; -x_100 = lean_ctor_get(x_94, 0); -x_101 = lean_ctor_get(x_94, 1); -lean_inc(x_101); -lean_inc(x_100); -lean_dec(x_94); -x_102 = lean_box(0); -x_103 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_103, 0, x_101); -lean_ctor_set(x_103, 1, x_102); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 1, x_103); -lean_ctor_set(x_8, 0, x_100); -lean_ctor_set(x_87, 0, x_8); -return x_86; +lean_object* x_36; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +if (lean_is_scalar(x_17)) { + x_36 = lean_alloc_ctor(1, 2, 0); +} else { + x_36 = x_17; + lean_ctor_set_tag(x_36, 1); +} +lean_ctor_set(x_36, 0, x_25); +lean_ctor_set(x_36, 1, x_26); +return x_36; } } else { -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; -x_104 = lean_ctor_get(x_87, 0); -x_105 = lean_ctor_get(x_86, 1); -lean_inc(x_105); -lean_dec(x_86); -x_106 = lean_ctor_get(x_104, 0); -lean_inc(x_106); -x_107 = lean_ctor_get(x_104, 1); -lean_inc(x_107); -if (lean_is_exclusive(x_104)) { - lean_ctor_release(x_104, 0); - lean_ctor_release(x_104, 1); - x_108 = x_104; -} else { - lean_dec_ref(x_104); - x_108 = lean_box(0); -} -x_109 = lean_box(0); -if (lean_is_scalar(x_108)) { - x_110 = lean_alloc_ctor(1, 2, 0); +lean_object* x_37; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_3); +if (lean_is_scalar(x_17)) { + x_37 = lean_alloc_ctor(1, 2, 0); } else { - x_110 = x_108; - lean_ctor_set_tag(x_110, 1); + x_37 = x_17; + lean_ctor_set_tag(x_37, 1); } -lean_ctor_set(x_110, 0, x_107); -lean_ctor_set(x_110, 1, x_109); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 1, x_110); -lean_ctor_set(x_8, 0, x_106); -lean_ctor_set(x_87, 0, x_8); -x_111 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_111, 0, x_87); -lean_ctor_set(x_111, 1, x_105); -return x_111; +lean_ctor_set(x_37, 0, x_25); +lean_ctor_set(x_37, 1, x_26); +return x_37; } } -else -{ -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; -x_112 = lean_ctor_get(x_87, 0); -lean_inc(x_112); -lean_dec(x_87); -x_113 = lean_ctor_get(x_86, 1); -lean_inc(x_113); -if (lean_is_exclusive(x_86)) { - lean_ctor_release(x_86, 0); - lean_ctor_release(x_86, 1); - x_114 = x_86; -} else { - lean_dec_ref(x_86); - x_114 = lean_box(0); } -x_115 = lean_ctor_get(x_112, 0); -lean_inc(x_115); -x_116 = lean_ctor_get(x_112, 1); -lean_inc(x_116); -if (lean_is_exclusive(x_112)) { - lean_ctor_release(x_112, 0); - lean_ctor_release(x_112, 1); - x_117 = x_112; -} else { - lean_dec_ref(x_112); - x_117 = lean_box(0); } -x_118 = lean_box(0); -if (lean_is_scalar(x_117)) { - x_119 = lean_alloc_ctor(1, 2, 0); -} else { - x_119 = x_117; - lean_ctor_set_tag(x_119, 1); } -lean_ctor_set(x_119, 0, x_116); -lean_ctor_set(x_119, 1, x_118); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 1, x_119); -lean_ctor_set(x_8, 0, x_115); -x_120 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_120, 0, x_8); -if (lean_is_scalar(x_114)) { - x_121 = lean_alloc_ctor(0, 2, 0); -} else { - x_121 = x_114; +else +{ +uint8_t x_74; +lean_dec(x_12); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_74 = !lean_is_exclusive(x_14); +if (x_74 == 0) +{ +return x_14; } -lean_ctor_set(x_121, 0, x_120); -lean_ctor_set(x_121, 1, x_113); -return x_121; +else +{ +lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_75 = lean_ctor_get(x_14, 0); +x_76 = lean_ctor_get(x_14, 1); +lean_inc(x_76); +lean_inc(x_75); +lean_dec(x_14); +x_77 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +return x_77; } } } else { -uint8_t x_122; -lean_free_object(x_8); -x_122 = !lean_is_exclusive(x_86); -if (x_122 == 0) +uint8_t x_78; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +x_78 = !lean_is_exclusive(x_11); +if (x_78 == 0) { -return x_86; +return x_11; } else { -lean_object* x_123; lean_object* x_124; lean_object* x_125; -x_123 = lean_ctor_get(x_86, 0); -x_124 = lean_ctor_get(x_86, 1); -lean_inc(x_124); -lean_inc(x_123); -lean_dec(x_86); -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_object* x_79; lean_object* x_80; lean_object* x_81; +x_79 = lean_ctor_get(x_11, 0); +x_80 = lean_ctor_get(x_11, 1); +lean_inc(x_80); +lean_inc(x_79); +lean_dec(x_11); +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_79); +lean_ctor_set(x_81, 1, x_80); +return x_81; } } } } -else +LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: { -lean_object* x_126; lean_object* x_127; uint8_t x_128; lean_object* x_129; lean_object* x_130; -x_126 = lean_ctor_get(x_17, 0); -x_127 = lean_ctor_get(x_17, 1); -lean_inc(x_127); -lean_inc(x_126); -lean_dec(x_17); -x_128 = 1; -x_129 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__3; -x_130 = l_Lean_Meta_Split_findSplit_x3f_go(x_12, x_128, x_129, x_126); -lean_dec(x_126); -if (lean_obj_tag(x_130) == 0) +lean_object* x_9; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_9 = lean_infer_type(x_1, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_9) == 0) +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +x_11 = lean_ctor_get(x_9, 1); +lean_inc(x_11); +lean_dec(x_9); +x_12 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassApp_x3f___spec__1(x_10, x_4, x_5, x_6, x_7, x_11); +x_13 = !lean_is_exclusive(x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; uint8_t x_16; lean_object* x_17; lean_object* x_18; +x_14 = lean_ctor_get(x_12, 0); +x_15 = lean_ctor_get(x_12, 1); +x_16 = 2; +x_17 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__3; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_18 = l_Lean_Meta_findSplit_x3f(x_14, x_16, x_17, x_4, x_5, x_6, x_7, x_15); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +if (lean_obj_tag(x_19) == 0) { -lean_object* x_131; lean_object* x_132; -lean_free_object(x_8); +uint8_t x_20; +lean_free_object(x_12); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_131 = lean_box(0); -x_132 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_132, 0, x_131); -lean_ctor_set(x_132, 1, x_127); -return x_132; +x_20 = !lean_is_exclusive(x_18); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; +x_21 = lean_ctor_get(x_18, 0); +lean_dec(x_21); +x_22 = lean_box(0); +lean_ctor_set(x_18, 0, x_22); +return x_18; } else { -lean_object* x_133; uint8_t x_134; -x_133 = lean_ctor_get(x_130, 0); -lean_inc(x_133); -lean_dec(x_130); -x_134 = l_Lean_Expr_isIte(x_133); -if (x_134 == 0) +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_18, 1); +lean_inc(x_23); +lean_dec(x_18); +x_24 = lean_box(0); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_23); +return x_25; +} +} +else { -uint8_t x_135; -x_135 = l_Lean_Expr_isDIte(x_133); -if (x_135 == 0) +lean_object* x_26; lean_object* x_27; uint8_t x_28; +x_26 = lean_ctor_get(x_18, 1); +lean_inc(x_26); +lean_dec(x_18); +x_27 = lean_ctor_get(x_19, 0); +lean_inc(x_27); +lean_dec(x_19); +x_28 = l_Lean_Expr_isIte(x_27); +if (x_28 == 0) { -lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; -x_136 = lean_box(0); -lean_inc(x_1); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 1, x_136); -lean_ctor_set(x_8, 0, x_1); -x_137 = lean_array_mk(x_8); -lean_inc(x_133); +uint8_t x_29; +x_29 = l_Lean_Expr_isDIte(x_27); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_30 = lean_box(0); lean_inc(x_2); -x_138 = lean_alloc_closure((void*)(l_Lean_Meta_splitLocalDecl_x3f___lambda__1), 9, 4); -lean_closure_set(x_138, 0, x_2); -lean_closure_set(x_138, 1, x_137); -lean_closure_set(x_138, 2, x_133); -lean_closure_set(x_138, 3, x_136); +lean_ctor_set_tag(x_12, 1); +lean_ctor_set(x_12, 1, x_30); +lean_ctor_set(x_12, 0, x_2); +x_31 = lean_array_mk(x_12); +lean_inc(x_27); +lean_inc(x_3); +x_32 = lean_alloc_closure((void*)(l_Lean_Meta_splitLocalDecl_x3f___lambda__1), 9, 4); +lean_closure_set(x_32, 0, x_3); +lean_closure_set(x_32, 1, x_31); +lean_closure_set(x_32, 2, x_27); +lean_closure_set(x_32, 3, x_30); +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_139 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(x_138, x_3, x_4, x_5, x_6, x_127); -if (lean_obj_tag(x_139) == 0) +x_33 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(x_32, x_4, x_5, x_6, x_7, x_26); +if (lean_obj_tag(x_33) == 0) { -lean_object* x_140; -x_140 = lean_ctor_get(x_139, 0); -lean_inc(x_140); -if (lean_obj_tag(x_140) == 0) +lean_object* x_34; +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +if (lean_obj_tag(x_34) == 0) { -lean_object* x_141; lean_object* x_142; lean_object* x_143; -x_141 = lean_ctor_get(x_139, 1); -lean_inc(x_141); -lean_dec(x_139); -x_142 = lean_box(0); -x_143 = l_Lean_Meta_splitLocalDecl_x3f___lambda__3(x_1, x_2, x_133, x_136, x_142, x_3, x_4, x_5, x_6, x_141); -return x_143; +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +lean_dec(x_33); +x_36 = lean_box(0); +x_37 = l_Lean_Meta_splitLocalDecl_x3f___lambda__3(x_2, x_3, x_27, x_30, x_36, x_4, x_5, x_6, x_7, x_35); +return x_37; } else { -lean_object* x_144; lean_object* x_145; lean_object* x_146; -lean_dec(x_133); +uint8_t x_38; +lean_dec(x_27); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_144 = lean_ctor_get(x_139, 1); -lean_inc(x_144); -if (lean_is_exclusive(x_139)) { - lean_ctor_release(x_139, 0); - lean_ctor_release(x_139, 1); - x_145 = x_139; -} else { - lean_dec_ref(x_139); - x_145 = lean_box(0); +x_38 = !lean_is_exclusive(x_33); +if (x_38 == 0) +{ +lean_object* x_39; +x_39 = lean_ctor_get(x_33, 0); +lean_dec(x_39); +return x_33; } -if (lean_is_scalar(x_145)) { - x_146 = lean_alloc_ctor(0, 2, 0); -} else { - x_146 = x_145; +else +{ +lean_object* x_40; lean_object* x_41; +x_40 = lean_ctor_get(x_33, 1); +lean_inc(x_40); +lean_dec(x_33); +x_41 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_41, 0, x_34); +lean_ctor_set(x_41, 1, x_40); +return x_41; } -lean_ctor_set(x_146, 0, x_140); -lean_ctor_set(x_146, 1, x_144); -return x_146; } } else { -lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; -lean_dec(x_133); +uint8_t x_42; +lean_dec(x_27); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_147 = lean_ctor_get(x_139, 0); -lean_inc(x_147); -x_148 = lean_ctor_get(x_139, 1); -lean_inc(x_148); -if (lean_is_exclusive(x_139)) { - lean_ctor_release(x_139, 0); - lean_ctor_release(x_139, 1); - x_149 = x_139; -} else { - lean_dec_ref(x_139); - x_149 = lean_box(0); +x_42 = !lean_is_exclusive(x_33); +if (x_42 == 0) +{ +return x_33; } -if (lean_is_scalar(x_149)) { - x_150 = lean_alloc_ctor(1, 2, 0); -} else { - x_150 = x_149; +else +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_33, 0); +x_44 = lean_ctor_get(x_33, 1); +lean_inc(x_44); +lean_inc(x_43); +lean_dec(x_33); +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; } -lean_ctor_set(x_150, 0, x_147); -lean_ctor_set(x_150, 1, x_148); -return x_150; } } else { -lean_object* x_151; lean_object* x_152; -lean_dec(x_133); -x_151 = lean_box(0); -x_152 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_151, x_3, x_4, x_5, x_6, x_127); -if (lean_obj_tag(x_152) == 0) +lean_object* x_46; lean_object* x_47; +lean_dec(x_27); +x_46 = lean_box(0); +x_47 = l_Lean_Meta_splitIfLocalDecl_x3f(x_3, x_2, x_46, x_4, x_5, x_6, x_7, x_26); +if (lean_obj_tag(x_47) == 0) { -lean_object* x_153; -x_153 = lean_ctor_get(x_152, 0); -lean_inc(x_153); -if (lean_obj_tag(x_153) == 0) +lean_object* x_48; +x_48 = lean_ctor_get(x_47, 0); +lean_inc(x_48); +if (lean_obj_tag(x_48) == 0) { -lean_object* x_154; lean_object* x_155; lean_object* x_156; -lean_free_object(x_8); -x_154 = lean_ctor_get(x_152, 1); -lean_inc(x_154); -if (lean_is_exclusive(x_152)) { - lean_ctor_release(x_152, 0); - lean_ctor_release(x_152, 1); - x_155 = x_152; -} else { - lean_dec_ref(x_152); - x_155 = lean_box(0); +uint8_t x_49; +lean_free_object(x_12); +x_49 = !lean_is_exclusive(x_47); +if (x_49 == 0) +{ +lean_object* x_50; +x_50 = lean_ctor_get(x_47, 0); +lean_dec(x_50); +lean_ctor_set(x_47, 0, x_46); +return x_47; } -if (lean_is_scalar(x_155)) { - x_156 = lean_alloc_ctor(0, 2, 0); -} else { - x_156 = x_155; +else +{ +lean_object* x_51; lean_object* x_52; +x_51 = lean_ctor_get(x_47, 1); +lean_inc(x_51); +lean_dec(x_47); +x_52 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_52, 0, x_46); +lean_ctor_set(x_52, 1, x_51); +return x_52; } -lean_ctor_set(x_156, 0, x_151); -lean_ctor_set(x_156, 1, x_154); -return x_156; } else { -lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; lean_object* x_167; -x_157 = lean_ctor_get(x_153, 0); -lean_inc(x_157); -if (lean_is_exclusive(x_153)) { - lean_ctor_release(x_153, 0); - x_158 = x_153; +uint8_t x_53; +x_53 = !lean_is_exclusive(x_48); +if (x_53 == 0) +{ +uint8_t x_54; +x_54 = !lean_is_exclusive(x_47); +if (x_54 == 0) +{ +lean_object* x_55; lean_object* x_56; uint8_t x_57; +x_55 = lean_ctor_get(x_48, 0); +x_56 = lean_ctor_get(x_47, 0); +lean_dec(x_56); +x_57 = !lean_is_exclusive(x_55); +if (x_57 == 0) +{ +lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_58 = lean_ctor_get(x_55, 0); +x_59 = lean_ctor_get(x_55, 1); +x_60 = lean_box(0); +lean_ctor_set_tag(x_55, 1); +lean_ctor_set(x_55, 1, x_60); +lean_ctor_set(x_55, 0, x_59); +lean_ctor_set_tag(x_12, 1); +lean_ctor_set(x_12, 1, x_55); +lean_ctor_set(x_12, 0, x_58); +lean_ctor_set(x_48, 0, x_12); +return x_47; +} +else +{ +lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_61 = lean_ctor_get(x_55, 0); +x_62 = lean_ctor_get(x_55, 1); +lean_inc(x_62); +lean_inc(x_61); +lean_dec(x_55); +x_63 = lean_box(0); +x_64 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_64, 0, x_62); +lean_ctor_set(x_64, 1, x_63); +lean_ctor_set_tag(x_12, 1); +lean_ctor_set(x_12, 1, x_64); +lean_ctor_set(x_12, 0, x_61); +lean_ctor_set(x_48, 0, x_12); +return x_47; +} +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; +x_65 = lean_ctor_get(x_48, 0); +x_66 = lean_ctor_get(x_47, 1); +lean_inc(x_66); +lean_dec(x_47); +x_67 = lean_ctor_get(x_65, 0); +lean_inc(x_67); +x_68 = lean_ctor_get(x_65, 1); +lean_inc(x_68); +if (lean_is_exclusive(x_65)) { + lean_ctor_release(x_65, 0); + lean_ctor_release(x_65, 1); + x_69 = x_65; +} else { + lean_dec_ref(x_65); + x_69 = lean_box(0); +} +x_70 = lean_box(0); +if (lean_is_scalar(x_69)) { + x_71 = lean_alloc_ctor(1, 2, 0); } else { - lean_dec_ref(x_153); - x_158 = lean_box(0); + x_71 = x_69; + lean_ctor_set_tag(x_71, 1); +} +lean_ctor_set(x_71, 0, x_68); +lean_ctor_set(x_71, 1, x_70); +lean_ctor_set_tag(x_12, 1); +lean_ctor_set(x_12, 1, x_71); +lean_ctor_set(x_12, 0, x_67); +lean_ctor_set(x_48, 0, x_12); +x_72 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_72, 0, x_48); +lean_ctor_set(x_72, 1, x_66); +return x_72; +} } -x_159 = lean_ctor_get(x_152, 1); -lean_inc(x_159); -if (lean_is_exclusive(x_152)) { - lean_ctor_release(x_152, 0); - lean_ctor_release(x_152, 1); - x_160 = x_152; +else +{ +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_73 = lean_ctor_get(x_48, 0); +lean_inc(x_73); +lean_dec(x_48); +x_74 = lean_ctor_get(x_47, 1); +lean_inc(x_74); +if (lean_is_exclusive(x_47)) { + lean_ctor_release(x_47, 0); + lean_ctor_release(x_47, 1); + x_75 = x_47; } else { - lean_dec_ref(x_152); - x_160 = lean_box(0); + lean_dec_ref(x_47); + x_75 = lean_box(0); } -x_161 = lean_ctor_get(x_157, 0); -lean_inc(x_161); -x_162 = lean_ctor_get(x_157, 1); -lean_inc(x_162); -if (lean_is_exclusive(x_157)) { - lean_ctor_release(x_157, 0); - lean_ctor_release(x_157, 1); - x_163 = x_157; +x_76 = lean_ctor_get(x_73, 0); +lean_inc(x_76); +x_77 = lean_ctor_get(x_73, 1); +lean_inc(x_77); +if (lean_is_exclusive(x_73)) { + lean_ctor_release(x_73, 0); + lean_ctor_release(x_73, 1); + x_78 = x_73; } else { - lean_dec_ref(x_157); - x_163 = lean_box(0); + lean_dec_ref(x_73); + x_78 = lean_box(0); } -x_164 = lean_box(0); -if (lean_is_scalar(x_163)) { - x_165 = lean_alloc_ctor(1, 2, 0); +x_79 = lean_box(0); +if (lean_is_scalar(x_78)) { + x_80 = lean_alloc_ctor(1, 2, 0); } else { - x_165 = x_163; - lean_ctor_set_tag(x_165, 1); + x_80 = x_78; + lean_ctor_set_tag(x_80, 1); } -lean_ctor_set(x_165, 0, x_162); -lean_ctor_set(x_165, 1, x_164); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 1, x_165); -lean_ctor_set(x_8, 0, x_161); -if (lean_is_scalar(x_158)) { - x_166 = lean_alloc_ctor(1, 1, 0); -} else { - x_166 = x_158; +lean_ctor_set(x_80, 0, x_77); +lean_ctor_set(x_80, 1, x_79); +lean_ctor_set_tag(x_12, 1); +lean_ctor_set(x_12, 1, x_80); +lean_ctor_set(x_12, 0, x_76); +x_81 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_81, 0, x_12); +if (lean_is_scalar(x_75)) { + x_82 = lean_alloc_ctor(0, 2, 0); +} else { + x_82 = x_75; +} +lean_ctor_set(x_82, 0, x_81); +lean_ctor_set(x_82, 1, x_74); +return x_82; } -lean_ctor_set(x_166, 0, x_8); -if (lean_is_scalar(x_160)) { - x_167 = lean_alloc_ctor(0, 2, 0); -} else { - x_167 = x_160; } -lean_ctor_set(x_167, 0, x_166); -lean_ctor_set(x_167, 1, x_159); -return x_167; } +else +{ +uint8_t x_83; +lean_free_object(x_12); +x_83 = !lean_is_exclusive(x_47); +if (x_83 == 0) +{ +return x_47; } else { -lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; -lean_free_object(x_8); -x_168 = lean_ctor_get(x_152, 0); -lean_inc(x_168); -x_169 = lean_ctor_get(x_152, 1); -lean_inc(x_169); -if (lean_is_exclusive(x_152)) { - lean_ctor_release(x_152, 0); - lean_ctor_release(x_152, 1); - x_170 = x_152; -} else { - lean_dec_ref(x_152); - x_170 = lean_box(0); +lean_object* x_84; lean_object* x_85; lean_object* x_86; +x_84 = lean_ctor_get(x_47, 0); +x_85 = lean_ctor_get(x_47, 1); +lean_inc(x_85); +lean_inc(x_84); +lean_dec(x_47); +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; } -if (lean_is_scalar(x_170)) { - x_171 = lean_alloc_ctor(1, 2, 0); -} else { - x_171 = x_170; } -lean_ctor_set(x_171, 0, x_168); -lean_ctor_set(x_171, 1, x_169); -return x_171; } } +else +{ +lean_object* x_87; lean_object* x_88; +lean_dec(x_27); +x_87 = lean_box(0); +x_88 = l_Lean_Meta_splitIfLocalDecl_x3f(x_3, x_2, x_87, x_4, x_5, x_6, x_7, x_26); +if (lean_obj_tag(x_88) == 0) +{ +lean_object* x_89; +x_89 = lean_ctor_get(x_88, 0); +lean_inc(x_89); +if (lean_obj_tag(x_89) == 0) +{ +uint8_t x_90; +lean_free_object(x_12); +x_90 = !lean_is_exclusive(x_88); +if (x_90 == 0) +{ +lean_object* x_91; +x_91 = lean_ctor_get(x_88, 0); +lean_dec(x_91); +lean_ctor_set(x_88, 0, x_87); +return x_88; } else { -lean_object* x_172; lean_object* x_173; -lean_dec(x_133); -x_172 = lean_box(0); -x_173 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_172, x_3, x_4, x_5, x_6, x_127); -if (lean_obj_tag(x_173) == 0) +lean_object* x_92; lean_object* x_93; +x_92 = lean_ctor_get(x_88, 1); +lean_inc(x_92); +lean_dec(x_88); +x_93 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_93, 0, x_87); +lean_ctor_set(x_93, 1, x_92); +return x_93; +} +} +else { -lean_object* x_174; -x_174 = lean_ctor_get(x_173, 0); -lean_inc(x_174); -if (lean_obj_tag(x_174) == 0) +uint8_t x_94; +x_94 = !lean_is_exclusive(x_89); +if (x_94 == 0) { -lean_object* x_175; lean_object* x_176; lean_object* x_177; -lean_free_object(x_8); -x_175 = lean_ctor_get(x_173, 1); -lean_inc(x_175); -if (lean_is_exclusive(x_173)) { - lean_ctor_release(x_173, 0); - lean_ctor_release(x_173, 1); - x_176 = x_173; -} else { - lean_dec_ref(x_173); - x_176 = lean_box(0); +uint8_t x_95; +x_95 = !lean_is_exclusive(x_88); +if (x_95 == 0) +{ +lean_object* x_96; lean_object* x_97; uint8_t x_98; +x_96 = lean_ctor_get(x_89, 0); +x_97 = lean_ctor_get(x_88, 0); +lean_dec(x_97); +x_98 = !lean_is_exclusive(x_96); +if (x_98 == 0) +{ +lean_object* x_99; lean_object* x_100; lean_object* x_101; +x_99 = lean_ctor_get(x_96, 0); +x_100 = lean_ctor_get(x_96, 1); +x_101 = lean_box(0); +lean_ctor_set_tag(x_96, 1); +lean_ctor_set(x_96, 1, x_101); +lean_ctor_set(x_96, 0, x_100); +lean_ctor_set_tag(x_12, 1); +lean_ctor_set(x_12, 1, x_96); +lean_ctor_set(x_12, 0, x_99); +lean_ctor_set(x_89, 0, x_12); +return x_88; } -if (lean_is_scalar(x_176)) { - x_177 = lean_alloc_ctor(0, 2, 0); -} else { - x_177 = x_176; +else +{ +lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; +x_102 = lean_ctor_get(x_96, 0); +x_103 = lean_ctor_get(x_96, 1); +lean_inc(x_103); +lean_inc(x_102); +lean_dec(x_96); +x_104 = lean_box(0); +x_105 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_105, 0, x_103); +lean_ctor_set(x_105, 1, x_104); +lean_ctor_set_tag(x_12, 1); +lean_ctor_set(x_12, 1, x_105); +lean_ctor_set(x_12, 0, x_102); +lean_ctor_set(x_89, 0, x_12); +return x_88; } -lean_ctor_set(x_177, 0, x_172); -lean_ctor_set(x_177, 1, x_175); -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; -x_178 = lean_ctor_get(x_174, 0); -lean_inc(x_178); -if (lean_is_exclusive(x_174)) { - lean_ctor_release(x_174, 0); - x_179 = x_174; +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; +x_106 = lean_ctor_get(x_89, 0); +x_107 = lean_ctor_get(x_88, 1); +lean_inc(x_107); +lean_dec(x_88); +x_108 = lean_ctor_get(x_106, 0); +lean_inc(x_108); +x_109 = lean_ctor_get(x_106, 1); +lean_inc(x_109); +if (lean_is_exclusive(x_106)) { + lean_ctor_release(x_106, 0); + lean_ctor_release(x_106, 1); + x_110 = x_106; } else { - lean_dec_ref(x_174); - x_179 = lean_box(0); + lean_dec_ref(x_106); + x_110 = lean_box(0); } -x_180 = lean_ctor_get(x_173, 1); -lean_inc(x_180); -if (lean_is_exclusive(x_173)) { - lean_ctor_release(x_173, 0); - lean_ctor_release(x_173, 1); - x_181 = x_173; +x_111 = lean_box(0); +if (lean_is_scalar(x_110)) { + x_112 = lean_alloc_ctor(1, 2, 0); } else { - lean_dec_ref(x_173); - x_181 = lean_box(0); + x_112 = x_110; + lean_ctor_set_tag(x_112, 1); } -x_182 = lean_ctor_get(x_178, 0); -lean_inc(x_182); -x_183 = lean_ctor_get(x_178, 1); -lean_inc(x_183); -if (lean_is_exclusive(x_178)) { - lean_ctor_release(x_178, 0); - lean_ctor_release(x_178, 1); - x_184 = x_178; -} else { - lean_dec_ref(x_178); - x_184 = lean_box(0); +lean_ctor_set(x_112, 0, x_109); +lean_ctor_set(x_112, 1, x_111); +lean_ctor_set_tag(x_12, 1); +lean_ctor_set(x_12, 1, x_112); +lean_ctor_set(x_12, 0, x_108); +lean_ctor_set(x_89, 0, x_12); +x_113 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_113, 0, x_89); +lean_ctor_set(x_113, 1, x_107); +return x_113; } -x_185 = lean_box(0); -if (lean_is_scalar(x_184)) { - x_186 = lean_alloc_ctor(1, 2, 0); -} else { - x_186 = x_184; - lean_ctor_set_tag(x_186, 1); } -lean_ctor_set(x_186, 0, x_183); -lean_ctor_set(x_186, 1, x_185); -lean_ctor_set_tag(x_8, 1); -lean_ctor_set(x_8, 1, x_186); -lean_ctor_set(x_8, 0, x_182); -if (lean_is_scalar(x_179)) { - x_187 = lean_alloc_ctor(1, 1, 0); +else +{ +lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; +x_114 = lean_ctor_get(x_89, 0); +lean_inc(x_114); +lean_dec(x_89); +x_115 = lean_ctor_get(x_88, 1); +lean_inc(x_115); +if (lean_is_exclusive(x_88)) { + lean_ctor_release(x_88, 0); + lean_ctor_release(x_88, 1); + x_116 = x_88; } else { - x_187 = x_179; + lean_dec_ref(x_88); + x_116 = lean_box(0); } -lean_ctor_set(x_187, 0, x_8); -if (lean_is_scalar(x_181)) { - x_188 = lean_alloc_ctor(0, 2, 0); +x_117 = lean_ctor_get(x_114, 0); +lean_inc(x_117); +x_118 = lean_ctor_get(x_114, 1); +lean_inc(x_118); +if (lean_is_exclusive(x_114)) { + lean_ctor_release(x_114, 0); + lean_ctor_release(x_114, 1); + x_119 = x_114; +} else { + lean_dec_ref(x_114); + x_119 = lean_box(0); +} +x_120 = lean_box(0); +if (lean_is_scalar(x_119)) { + x_121 = lean_alloc_ctor(1, 2, 0); +} else { + x_121 = x_119; + lean_ctor_set_tag(x_121, 1); +} +lean_ctor_set(x_121, 0, x_118); +lean_ctor_set(x_121, 1, x_120); +lean_ctor_set_tag(x_12, 1); +lean_ctor_set(x_12, 1, x_121); +lean_ctor_set(x_12, 0, x_117); +x_122 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_122, 0, x_12); +if (lean_is_scalar(x_116)) { + x_123 = lean_alloc_ctor(0, 2, 0); } else { - x_188 = x_181; + x_123 = x_116; +} +lean_ctor_set(x_123, 0, x_122); +lean_ctor_set(x_123, 1, x_115); +return x_123; } -lean_ctor_set(x_188, 0, x_187); -lean_ctor_set(x_188, 1, x_180); -return x_188; } } else { -lean_object* x_189; lean_object* x_190; lean_object* x_191; lean_object* x_192; -lean_free_object(x_8); -x_189 = lean_ctor_get(x_173, 0); -lean_inc(x_189); -x_190 = lean_ctor_get(x_173, 1); -lean_inc(x_190); -if (lean_is_exclusive(x_173)) { - lean_ctor_release(x_173, 0); - lean_ctor_release(x_173, 1); - x_191 = x_173; -} else { - lean_dec_ref(x_173); - x_191 = lean_box(0); -} -if (lean_is_scalar(x_191)) { - x_192 = lean_alloc_ctor(1, 2, 0); -} else { - x_192 = x_191; +uint8_t x_124; +lean_free_object(x_12); +x_124 = !lean_is_exclusive(x_88); +if (x_124 == 0) +{ +return x_88; } -lean_ctor_set(x_192, 0, x_189); -lean_ctor_set(x_192, 1, x_190); -return x_192; +else +{ +lean_object* x_125; lean_object* x_126; lean_object* x_127; +x_125 = lean_ctor_get(x_88, 0); +x_126 = lean_ctor_get(x_88, 1); +lean_inc(x_126); +lean_inc(x_125); +lean_dec(x_88); +x_127 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_127, 0, x_125); +lean_ctor_set(x_127, 1, x_126); +return x_127; } } } @@ -19585,480 +18037,496 @@ return x_192; } else { -uint8_t x_193; -lean_dec(x_12); -lean_free_object(x_8); +uint8_t x_128; +lean_free_object(x_12); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_193 = !lean_is_exclusive(x_14); -if (x_193 == 0) +x_128 = !lean_is_exclusive(x_18); +if (x_128 == 0) { -return x_14; +return x_18; } else { -lean_object* x_194; lean_object* x_195; lean_object* x_196; -x_194 = lean_ctor_get(x_14, 0); -x_195 = lean_ctor_get(x_14, 1); -lean_inc(x_195); -lean_inc(x_194); -lean_dec(x_14); -x_196 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_196, 0, x_194); -lean_ctor_set(x_196, 1, x_195); -return x_196; +lean_object* x_129; lean_object* x_130; lean_object* x_131; +x_129 = lean_ctor_get(x_18, 0); +x_130 = lean_ctor_get(x_18, 1); +lean_inc(x_130); +lean_inc(x_129); +lean_dec(x_18); +x_131 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_131, 0, x_129); +lean_ctor_set(x_131, 1, x_130); +return x_131; } } } else { -lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; -x_197 = lean_ctor_get(x_8, 0); -x_198 = lean_ctor_get(x_8, 1); -lean_inc(x_198); -lean_inc(x_197); -lean_dec(x_8); -x_199 = lean_ctor_get(x_197, 0); -lean_inc(x_199); -lean_dec(x_197); -lean_inc(x_1); -x_200 = l_Lean_Expr_fvar___override(x_1); +lean_object* x_132; lean_object* x_133; uint8_t x_134; lean_object* x_135; lean_object* x_136; +x_132 = lean_ctor_get(x_12, 0); +x_133 = lean_ctor_get(x_12, 1); +lean_inc(x_133); +lean_inc(x_132); +lean_dec(x_12); +x_134 = 2; +x_135 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__3; +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_201 = lean_infer_type(x_200, x_3, x_4, x_5, x_6, x_198); -if (lean_obj_tag(x_201) == 0) +x_136 = l_Lean_Meta_findSplit_x3f(x_132, x_134, x_135, x_4, x_5, x_6, x_7, x_133); +if (lean_obj_tag(x_136) == 0) { -lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; lean_object* x_207; uint8_t x_208; lean_object* x_209; lean_object* x_210; -x_202 = lean_ctor_get(x_201, 0); -lean_inc(x_202); -x_203 = lean_ctor_get(x_201, 1); -lean_inc(x_203); -lean_dec(x_201); -x_204 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassApp_x3f___spec__1(x_202, x_3, x_4, x_5, x_6, x_203); -x_205 = lean_ctor_get(x_204, 0); -lean_inc(x_205); -x_206 = lean_ctor_get(x_204, 1); -lean_inc(x_206); -if (lean_is_exclusive(x_204)) { - lean_ctor_release(x_204, 0); - lean_ctor_release(x_204, 1); - x_207 = x_204; -} else { - lean_dec_ref(x_204); - x_207 = lean_box(0); -} -x_208 = 1; -x_209 = l_Lean_Meta_splitTarget_x3f___lambda__1___closed__3; -x_210 = l_Lean_Meta_Split_findSplit_x3f_go(x_199, x_208, x_209, x_205); -lean_dec(x_205); -if (lean_obj_tag(x_210) == 0) +lean_object* x_137; +x_137 = lean_ctor_get(x_136, 0); +lean_inc(x_137); +if (lean_obj_tag(x_137) == 0) { -lean_object* x_211; lean_object* x_212; +lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_211 = lean_box(0); -if (lean_is_scalar(x_207)) { - x_212 = lean_alloc_ctor(0, 2, 0); +x_138 = lean_ctor_get(x_136, 1); +lean_inc(x_138); +if (lean_is_exclusive(x_136)) { + lean_ctor_release(x_136, 0); + lean_ctor_release(x_136, 1); + x_139 = x_136; +} else { + lean_dec_ref(x_136); + x_139 = lean_box(0); +} +x_140 = lean_box(0); +if (lean_is_scalar(x_139)) { + x_141 = lean_alloc_ctor(0, 2, 0); } else { - x_212 = x_207; + x_141 = x_139; } -lean_ctor_set(x_212, 0, x_211); -lean_ctor_set(x_212, 1, x_206); -return x_212; +lean_ctor_set(x_141, 0, x_140); +lean_ctor_set(x_141, 1, x_138); +return x_141; } else { -lean_object* x_213; uint8_t x_214; -lean_dec(x_207); -x_213 = lean_ctor_get(x_210, 0); -lean_inc(x_213); -lean_dec(x_210); -x_214 = l_Lean_Expr_isIte(x_213); -if (x_214 == 0) +lean_object* x_142; lean_object* x_143; uint8_t x_144; +x_142 = lean_ctor_get(x_136, 1); +lean_inc(x_142); +lean_dec(x_136); +x_143 = lean_ctor_get(x_137, 0); +lean_inc(x_143); +lean_dec(x_137); +x_144 = l_Lean_Expr_isIte(x_143); +if (x_144 == 0) { -uint8_t x_215; -x_215 = l_Lean_Expr_isDIte(x_213); -if (x_215 == 0) +uint8_t x_145; +x_145 = l_Lean_Expr_isDIte(x_143); +if (x_145 == 0) { -lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; -x_216 = lean_box(0); -lean_inc(x_1); -x_217 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_217, 0, x_1); -lean_ctor_set(x_217, 1, x_216); -x_218 = lean_array_mk(x_217); -lean_inc(x_213); +lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; +x_146 = lean_box(0); lean_inc(x_2); -x_219 = lean_alloc_closure((void*)(l_Lean_Meta_splitLocalDecl_x3f___lambda__1), 9, 4); -lean_closure_set(x_219, 0, x_2); -lean_closure_set(x_219, 1, x_218); -lean_closure_set(x_219, 2, x_213); -lean_closure_set(x_219, 3, x_216); +x_147 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_147, 0, x_2); +lean_ctor_set(x_147, 1, x_146); +x_148 = lean_array_mk(x_147); +lean_inc(x_143); +lean_inc(x_3); +x_149 = lean_alloc_closure((void*)(l_Lean_Meta_splitLocalDecl_x3f___lambda__1), 9, 4); +lean_closure_set(x_149, 0, x_3); +lean_closure_set(x_149, 1, x_148); +lean_closure_set(x_149, 2, x_143); +lean_closure_set(x_149, 3, x_146); +lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_3); -x_220 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(x_219, x_3, x_4, x_5, x_6, x_206); -if (lean_obj_tag(x_220) == 0) +x_150 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(x_149, x_4, x_5, x_6, x_7, x_142); +if (lean_obj_tag(x_150) == 0) { -lean_object* x_221; -x_221 = lean_ctor_get(x_220, 0); -lean_inc(x_221); -if (lean_obj_tag(x_221) == 0) +lean_object* x_151; +x_151 = lean_ctor_get(x_150, 0); +lean_inc(x_151); +if (lean_obj_tag(x_151) == 0) { -lean_object* x_222; lean_object* x_223; lean_object* x_224; -x_222 = lean_ctor_get(x_220, 1); -lean_inc(x_222); -lean_dec(x_220); -x_223 = lean_box(0); -x_224 = l_Lean_Meta_splitLocalDecl_x3f___lambda__3(x_1, x_2, x_213, x_216, x_223, x_3, x_4, x_5, x_6, x_222); -return x_224; +lean_object* x_152; lean_object* x_153; lean_object* x_154; +x_152 = lean_ctor_get(x_150, 1); +lean_inc(x_152); +lean_dec(x_150); +x_153 = lean_box(0); +x_154 = l_Lean_Meta_splitLocalDecl_x3f___lambda__3(x_2, x_3, x_143, x_146, x_153, x_4, x_5, x_6, x_7, x_152); +return x_154; } else { -lean_object* x_225; lean_object* x_226; lean_object* x_227; -lean_dec(x_213); +lean_object* x_155; lean_object* x_156; lean_object* x_157; +lean_dec(x_143); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_225 = lean_ctor_get(x_220, 1); -lean_inc(x_225); -if (lean_is_exclusive(x_220)) { - lean_ctor_release(x_220, 0); - lean_ctor_release(x_220, 1); - x_226 = x_220; +x_155 = lean_ctor_get(x_150, 1); +lean_inc(x_155); +if (lean_is_exclusive(x_150)) { + lean_ctor_release(x_150, 0); + lean_ctor_release(x_150, 1); + x_156 = x_150; } else { - lean_dec_ref(x_220); - x_226 = lean_box(0); + lean_dec_ref(x_150); + x_156 = lean_box(0); } -if (lean_is_scalar(x_226)) { - x_227 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_156)) { + x_157 = lean_alloc_ctor(0, 2, 0); } else { - x_227 = x_226; + x_157 = x_156; } -lean_ctor_set(x_227, 0, x_221); -lean_ctor_set(x_227, 1, x_225); -return x_227; +lean_ctor_set(x_157, 0, x_151); +lean_ctor_set(x_157, 1, x_155); +return x_157; } } else { -lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; -lean_dec(x_213); +lean_object* x_158; lean_object* x_159; lean_object* x_160; lean_object* x_161; +lean_dec(x_143); +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_228 = lean_ctor_get(x_220, 0); -lean_inc(x_228); -x_229 = lean_ctor_get(x_220, 1); -lean_inc(x_229); -if (lean_is_exclusive(x_220)) { - lean_ctor_release(x_220, 0); - lean_ctor_release(x_220, 1); - x_230 = x_220; +x_158 = lean_ctor_get(x_150, 0); +lean_inc(x_158); +x_159 = lean_ctor_get(x_150, 1); +lean_inc(x_159); +if (lean_is_exclusive(x_150)) { + lean_ctor_release(x_150, 0); + lean_ctor_release(x_150, 1); + x_160 = x_150; } else { - lean_dec_ref(x_220); - x_230 = lean_box(0); + lean_dec_ref(x_150); + x_160 = lean_box(0); } -if (lean_is_scalar(x_230)) { - x_231 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_160)) { + x_161 = lean_alloc_ctor(1, 2, 0); } else { - x_231 = x_230; + x_161 = x_160; } -lean_ctor_set(x_231, 0, x_228); -lean_ctor_set(x_231, 1, x_229); -return x_231; +lean_ctor_set(x_161, 0, x_158); +lean_ctor_set(x_161, 1, x_159); +return x_161; } } else { -lean_object* x_232; lean_object* x_233; -lean_dec(x_213); -x_232 = lean_box(0); -x_233 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_232, x_3, x_4, x_5, x_6, x_206); -if (lean_obj_tag(x_233) == 0) +lean_object* x_162; lean_object* x_163; +lean_dec(x_143); +x_162 = lean_box(0); +x_163 = l_Lean_Meta_splitIfLocalDecl_x3f(x_3, x_2, x_162, x_4, x_5, x_6, x_7, x_142); +if (lean_obj_tag(x_163) == 0) { -lean_object* x_234; -x_234 = lean_ctor_get(x_233, 0); -lean_inc(x_234); -if (lean_obj_tag(x_234) == 0) +lean_object* x_164; +x_164 = lean_ctor_get(x_163, 0); +lean_inc(x_164); +if (lean_obj_tag(x_164) == 0) { -lean_object* x_235; lean_object* x_236; lean_object* x_237; -x_235 = lean_ctor_get(x_233, 1); -lean_inc(x_235); -if (lean_is_exclusive(x_233)) { - lean_ctor_release(x_233, 0); - lean_ctor_release(x_233, 1); - x_236 = x_233; +lean_object* x_165; lean_object* x_166; lean_object* x_167; +x_165 = lean_ctor_get(x_163, 1); +lean_inc(x_165); +if (lean_is_exclusive(x_163)) { + lean_ctor_release(x_163, 0); + lean_ctor_release(x_163, 1); + x_166 = x_163; } else { - lean_dec_ref(x_233); - x_236 = lean_box(0); + lean_dec_ref(x_163); + x_166 = lean_box(0); } -if (lean_is_scalar(x_236)) { - x_237 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_166)) { + x_167 = lean_alloc_ctor(0, 2, 0); } else { - x_237 = x_236; + x_167 = x_166; } -lean_ctor_set(x_237, 0, x_232); -lean_ctor_set(x_237, 1, x_235); -return x_237; +lean_ctor_set(x_167, 0, x_162); +lean_ctor_set(x_167, 1, x_165); +return x_167; } else { -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; -x_238 = lean_ctor_get(x_234, 0); -lean_inc(x_238); -if (lean_is_exclusive(x_234)) { - lean_ctor_release(x_234, 0); - x_239 = x_234; +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_168 = lean_ctor_get(x_164, 0); +lean_inc(x_168); +if (lean_is_exclusive(x_164)) { + lean_ctor_release(x_164, 0); + x_169 = x_164; } else { - lean_dec_ref(x_234); - x_239 = lean_box(0); + lean_dec_ref(x_164); + x_169 = lean_box(0); } -x_240 = lean_ctor_get(x_233, 1); -lean_inc(x_240); -if (lean_is_exclusive(x_233)) { - lean_ctor_release(x_233, 0); - lean_ctor_release(x_233, 1); - x_241 = x_233; +x_170 = lean_ctor_get(x_163, 1); +lean_inc(x_170); +if (lean_is_exclusive(x_163)) { + lean_ctor_release(x_163, 0); + lean_ctor_release(x_163, 1); + x_171 = x_163; } else { - lean_dec_ref(x_233); - x_241 = lean_box(0); -} -x_242 = lean_ctor_get(x_238, 0); -lean_inc(x_242); -x_243 = lean_ctor_get(x_238, 1); -lean_inc(x_243); -if (lean_is_exclusive(x_238)) { - lean_ctor_release(x_238, 0); - lean_ctor_release(x_238, 1); - x_244 = x_238; + lean_dec_ref(x_163); + x_171 = lean_box(0); +} +x_172 = lean_ctor_get(x_168, 0); +lean_inc(x_172); +x_173 = lean_ctor_get(x_168, 1); +lean_inc(x_173); +if (lean_is_exclusive(x_168)) { + lean_ctor_release(x_168, 0); + lean_ctor_release(x_168, 1); + x_174 = x_168; } else { - lean_dec_ref(x_238); - x_244 = lean_box(0); + lean_dec_ref(x_168); + x_174 = lean_box(0); } -x_245 = lean_box(0); -if (lean_is_scalar(x_244)) { - x_246 = lean_alloc_ctor(1, 2, 0); +x_175 = lean_box(0); +if (lean_is_scalar(x_174)) { + x_176 = lean_alloc_ctor(1, 2, 0); } else { - x_246 = x_244; - lean_ctor_set_tag(x_246, 1); -} -lean_ctor_set(x_246, 0, x_243); -lean_ctor_set(x_246, 1, x_245); -x_247 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_247, 0, x_242); -lean_ctor_set(x_247, 1, x_246); -if (lean_is_scalar(x_239)) { - x_248 = lean_alloc_ctor(1, 1, 0); + x_176 = x_174; + lean_ctor_set_tag(x_176, 1); +} +lean_ctor_set(x_176, 0, x_173); +lean_ctor_set(x_176, 1, x_175); +x_177 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_177, 0, x_172); +lean_ctor_set(x_177, 1, x_176); +if (lean_is_scalar(x_169)) { + x_178 = lean_alloc_ctor(1, 1, 0); } else { - x_248 = x_239; + x_178 = x_169; } -lean_ctor_set(x_248, 0, x_247); -if (lean_is_scalar(x_241)) { - x_249 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_178, 0, x_177); +if (lean_is_scalar(x_171)) { + x_179 = lean_alloc_ctor(0, 2, 0); } else { - x_249 = x_241; + x_179 = x_171; } -lean_ctor_set(x_249, 0, x_248); -lean_ctor_set(x_249, 1, x_240); -return x_249; +lean_ctor_set(x_179, 0, x_178); +lean_ctor_set(x_179, 1, x_170); +return x_179; } } else { -lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; -x_250 = lean_ctor_get(x_233, 0); -lean_inc(x_250); -x_251 = lean_ctor_get(x_233, 1); -lean_inc(x_251); -if (lean_is_exclusive(x_233)) { - lean_ctor_release(x_233, 0); - lean_ctor_release(x_233, 1); - x_252 = x_233; +lean_object* x_180; lean_object* x_181; lean_object* x_182; lean_object* x_183; +x_180 = lean_ctor_get(x_163, 0); +lean_inc(x_180); +x_181 = lean_ctor_get(x_163, 1); +lean_inc(x_181); +if (lean_is_exclusive(x_163)) { + lean_ctor_release(x_163, 0); + lean_ctor_release(x_163, 1); + x_182 = x_163; } else { - lean_dec_ref(x_233); - x_252 = lean_box(0); + lean_dec_ref(x_163); + x_182 = lean_box(0); } -if (lean_is_scalar(x_252)) { - x_253 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_182)) { + x_183 = lean_alloc_ctor(1, 2, 0); } else { - x_253 = x_252; + x_183 = x_182; } -lean_ctor_set(x_253, 0, x_250); -lean_ctor_set(x_253, 1, x_251); -return x_253; +lean_ctor_set(x_183, 0, x_180); +lean_ctor_set(x_183, 1, x_181); +return x_183; } } } else { -lean_object* x_254; lean_object* x_255; -lean_dec(x_213); -x_254 = lean_box(0); -x_255 = l_Lean_Meta_splitIfLocalDecl_x3f(x_2, x_1, x_254, x_3, x_4, x_5, x_6, x_206); -if (lean_obj_tag(x_255) == 0) +lean_object* x_184; lean_object* x_185; +lean_dec(x_143); +x_184 = lean_box(0); +x_185 = l_Lean_Meta_splitIfLocalDecl_x3f(x_3, x_2, x_184, x_4, x_5, x_6, x_7, x_142); +if (lean_obj_tag(x_185) == 0) { -lean_object* x_256; -x_256 = lean_ctor_get(x_255, 0); -lean_inc(x_256); -if (lean_obj_tag(x_256) == 0) +lean_object* x_186; +x_186 = lean_ctor_get(x_185, 0); +lean_inc(x_186); +if (lean_obj_tag(x_186) == 0) { -lean_object* x_257; lean_object* x_258; lean_object* x_259; -x_257 = lean_ctor_get(x_255, 1); -lean_inc(x_257); -if (lean_is_exclusive(x_255)) { - lean_ctor_release(x_255, 0); - lean_ctor_release(x_255, 1); - x_258 = x_255; +lean_object* x_187; lean_object* x_188; lean_object* x_189; +x_187 = lean_ctor_get(x_185, 1); +lean_inc(x_187); +if (lean_is_exclusive(x_185)) { + lean_ctor_release(x_185, 0); + lean_ctor_release(x_185, 1); + x_188 = x_185; } else { - lean_dec_ref(x_255); - x_258 = lean_box(0); + lean_dec_ref(x_185); + x_188 = lean_box(0); } -if (lean_is_scalar(x_258)) { - x_259 = lean_alloc_ctor(0, 2, 0); +if (lean_is_scalar(x_188)) { + x_189 = lean_alloc_ctor(0, 2, 0); } else { - x_259 = x_258; + x_189 = x_188; } -lean_ctor_set(x_259, 0, x_254); -lean_ctor_set(x_259, 1, x_257); -return x_259; +lean_ctor_set(x_189, 0, x_184); +lean_ctor_set(x_189, 1, x_187); +return x_189; } 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; -x_260 = lean_ctor_get(x_256, 0); -lean_inc(x_260); -if (lean_is_exclusive(x_256)) { - lean_ctor_release(x_256, 0); - x_261 = x_256; +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; lean_object* x_199; lean_object* x_200; lean_object* x_201; +x_190 = lean_ctor_get(x_186, 0); +lean_inc(x_190); +if (lean_is_exclusive(x_186)) { + lean_ctor_release(x_186, 0); + x_191 = x_186; } else { - lean_dec_ref(x_256); - x_261 = lean_box(0); + lean_dec_ref(x_186); + x_191 = lean_box(0); } -x_262 = lean_ctor_get(x_255, 1); -lean_inc(x_262); -if (lean_is_exclusive(x_255)) { - lean_ctor_release(x_255, 0); - lean_ctor_release(x_255, 1); - x_263 = x_255; -} else { - lean_dec_ref(x_255); - x_263 = lean_box(0); -} -x_264 = lean_ctor_get(x_260, 0); -lean_inc(x_264); -x_265 = lean_ctor_get(x_260, 1); -lean_inc(x_265); -if (lean_is_exclusive(x_260)) { - lean_ctor_release(x_260, 0); - lean_ctor_release(x_260, 1); - x_266 = x_260; +x_192 = lean_ctor_get(x_185, 1); +lean_inc(x_192); +if (lean_is_exclusive(x_185)) { + lean_ctor_release(x_185, 0); + lean_ctor_release(x_185, 1); + x_193 = x_185; } else { - lean_dec_ref(x_260); - x_266 = lean_box(0); + lean_dec_ref(x_185); + x_193 = lean_box(0); } -x_267 = lean_box(0); -if (lean_is_scalar(x_266)) { - x_268 = lean_alloc_ctor(1, 2, 0); -} else { - x_268 = x_266; - lean_ctor_set_tag(x_268, 1); -} -lean_ctor_set(x_268, 0, x_265); -lean_ctor_set(x_268, 1, x_267); -x_269 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_269, 0, x_264); -lean_ctor_set(x_269, 1, x_268); -if (lean_is_scalar(x_261)) { - x_270 = lean_alloc_ctor(1, 1, 0); +x_194 = lean_ctor_get(x_190, 0); +lean_inc(x_194); +x_195 = lean_ctor_get(x_190, 1); +lean_inc(x_195); +if (lean_is_exclusive(x_190)) { + lean_ctor_release(x_190, 0); + lean_ctor_release(x_190, 1); + x_196 = x_190; +} else { + lean_dec_ref(x_190); + x_196 = lean_box(0); +} +x_197 = lean_box(0); +if (lean_is_scalar(x_196)) { + x_198 = lean_alloc_ctor(1, 2, 0); +} else { + x_198 = x_196; + lean_ctor_set_tag(x_198, 1); +} +lean_ctor_set(x_198, 0, x_195); +lean_ctor_set(x_198, 1, x_197); +x_199 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_199, 0, x_194); +lean_ctor_set(x_199, 1, x_198); +if (lean_is_scalar(x_191)) { + x_200 = lean_alloc_ctor(1, 1, 0); } else { - x_270 = x_261; + x_200 = x_191; } -lean_ctor_set(x_270, 0, x_269); -if (lean_is_scalar(x_263)) { - x_271 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_200, 0, x_199); +if (lean_is_scalar(x_193)) { + x_201 = lean_alloc_ctor(0, 2, 0); } else { - x_271 = x_263; + x_201 = x_193; } -lean_ctor_set(x_271, 0, x_270); -lean_ctor_set(x_271, 1, x_262); -return x_271; +lean_ctor_set(x_201, 0, x_200); +lean_ctor_set(x_201, 1, x_192); +return x_201; } } else { -lean_object* x_272; lean_object* x_273; lean_object* x_274; lean_object* x_275; -x_272 = lean_ctor_get(x_255, 0); -lean_inc(x_272); -x_273 = lean_ctor_get(x_255, 1); -lean_inc(x_273); -if (lean_is_exclusive(x_255)) { - lean_ctor_release(x_255, 0); - lean_ctor_release(x_255, 1); - x_274 = x_255; +lean_object* x_202; lean_object* x_203; lean_object* x_204; lean_object* x_205; +x_202 = lean_ctor_get(x_185, 0); +lean_inc(x_202); +x_203 = lean_ctor_get(x_185, 1); +lean_inc(x_203); +if (lean_is_exclusive(x_185)) { + lean_ctor_release(x_185, 0); + lean_ctor_release(x_185, 1); + x_204 = x_185; } else { - lean_dec_ref(x_255); - x_274 = lean_box(0); + lean_dec_ref(x_185); + x_204 = lean_box(0); } -if (lean_is_scalar(x_274)) { - x_275 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_204)) { + x_205 = lean_alloc_ctor(1, 2, 0); } else { - x_275 = x_274; + x_205 = x_204; } -lean_ctor_set(x_275, 0, x_272); -lean_ctor_set(x_275, 1, x_273); -return x_275; +lean_ctor_set(x_205, 0, x_202); +lean_ctor_set(x_205, 1, x_203); +return x_205; } } } } else { -lean_object* x_276; lean_object* x_277; lean_object* x_278; lean_object* x_279; -lean_dec(x_199); +lean_object* x_206; lean_object* x_207; lean_object* x_208; lean_object* x_209; +lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -lean_dec(x_1); -x_276 = lean_ctor_get(x_201, 0); -lean_inc(x_276); -x_277 = lean_ctor_get(x_201, 1); -lean_inc(x_277); -if (lean_is_exclusive(x_201)) { - lean_ctor_release(x_201, 0); - lean_ctor_release(x_201, 1); - x_278 = x_201; +x_206 = lean_ctor_get(x_136, 0); +lean_inc(x_206); +x_207 = lean_ctor_get(x_136, 1); +lean_inc(x_207); +if (lean_is_exclusive(x_136)) { + lean_ctor_release(x_136, 0); + lean_ctor_release(x_136, 1); + x_208 = x_136; } else { - lean_dec_ref(x_201); - x_278 = lean_box(0); + lean_dec_ref(x_136); + x_208 = lean_box(0); } -if (lean_is_scalar(x_278)) { - x_279 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_208)) { + x_209 = lean_alloc_ctor(1, 2, 0); } else { - x_279 = x_278; + x_209 = x_208; +} +lean_ctor_set(x_209, 0, x_206); +lean_ctor_set(x_209, 1, x_207); +return x_209; +} +} +} +else +{ +uint8_t x_210; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +x_210 = !lean_is_exclusive(x_9); +if (x_210 == 0) +{ +return x_9; } -lean_ctor_set(x_279, 0, x_276); -lean_ctor_set(x_279, 1, x_277); -return x_279; +else +{ +lean_object* x_211; lean_object* x_212; lean_object* x_213; +x_211 = lean_ctor_get(x_9, 0); +x_212 = lean_ctor_get(x_9, 1); +lean_inc(x_212); +lean_inc(x_211); +lean_dec(x_9); +x_213 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_213, 0, x_211); +lean_ctor_set(x_213, 1, x_212); +return x_213; } } } @@ -20066,16 +18534,19 @@ return x_279; LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_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) { _start: { -lean_object* x_8; lean_object* x_9; lean_object* x_10; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +lean_inc(x_2); +x_8 = l_Lean_Expr_fvar___override(x_2); lean_inc(x_1); -x_8 = lean_alloc_closure((void*)(l_Lean_Meta_splitLocalDecl_x3f___lambda__4), 7, 2); -lean_closure_set(x_8, 0, x_2); -lean_closure_set(x_8, 1, x_1); -x_9 = lean_alloc_closure((void*)(l_Lean_MVarId_withContext___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__2___rarg), 7, 2); -lean_closure_set(x_9, 0, x_1); -lean_closure_set(x_9, 1, x_8); -x_10 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(x_9, x_3, x_4, x_5, x_6, x_7); -return x_10; +x_9 = lean_alloc_closure((void*)(l_Lean_Meta_splitLocalDecl_x3f___lambda__4), 8, 3); +lean_closure_set(x_9, 0, x_8); +lean_closure_set(x_9, 1, x_2); +lean_closure_set(x_9, 2, x_1); +x_10 = lean_alloc_closure((void*)(l_Lean_MVarId_withContext___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__2___rarg), 7, 2); +lean_closure_set(x_10, 0, x_1); +lean_closure_set(x_10, 1, x_9); +x_11 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitTarget_x3f___spec__1(x_10, x_3, x_4, x_5, x_6, x_7); +return x_11; } } LEAN_EXPORT lean_object* l_Lean_Meta_splitLocalDecl_x3f___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { @@ -20100,7 +18571,7 @@ lean_dec(x_5); return x_11; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__1() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__1() { _start: { lean_object* x_1; @@ -20108,17 +18579,17 @@ x_1 = lean_mk_string_unchecked("Lean", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__2() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__1; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__3() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__3() { _start: { lean_object* x_1; @@ -20126,17 +18597,17 @@ x_1 = lean_mk_string_unchecked("Meta", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__4() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__2; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__3; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__2; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__3; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__5() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__5() { _start: { lean_object* x_1; @@ -20144,17 +18615,17 @@ x_1 = lean_mk_string_unchecked("initFn", 6, 6); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__6() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__4; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__5; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__4; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__5; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__7() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__7() { _start: { lean_object* x_1; @@ -20162,37 +18633,37 @@ x_1 = lean_mk_string_unchecked("_@", 2, 2); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__8() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__6; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__7; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__6; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__7; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__9() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__8; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__1; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__8; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__10() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__9; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__3; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__9; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__3; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__11() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__11() { _start: { lean_object* x_1; @@ -20200,17 +18671,17 @@ x_1 = lean_mk_string_unchecked("Tactic", 6, 6); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__12() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__10; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__11; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__10; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__11; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__13() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__13() { _start: { lean_object* x_1; @@ -20218,17 +18689,17 @@ x_1 = lean_mk_string_unchecked("Split", 5, 5); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__14() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__12; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__13; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__12; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__13; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__15() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__15() { _start: { lean_object* x_1; @@ -20236,33 +18707,33 @@ x_1 = lean_mk_string_unchecked("_hyg", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__16() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__14; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__15; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__14; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__15; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__17() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__17() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__16; -x_2 = lean_unsigned_to_nat(7156u); +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__16; +x_2 = lean_unsigned_to_nat(6813u); x_3 = l_Lean_Name_num___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; x_2 = l_Array_forIn_x27Unsafe_loop___at___private_Lean_Meta_Tactic_Split_0__Lean_Meta_Split_generalizeMatchDiscrs_mkNewTarget___spec__7___closed__3; x_3 = 0; -x_4 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__17; +x_4 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__17; x_5 = l_Lean_registerTraceClass(x_2, x_3, x_4, x_1); if (lean_obj_tag(x_5) == 0) { @@ -20537,30 +19008,16 @@ l_Lean_Meta_Split_mkDiscrGenErrorMsg___closed__3 = _init_l_Lean_Meta_Split_mkDis lean_mark_persistent(l_Lean_Meta_Split_mkDiscrGenErrorMsg___closed__3); l_Lean_Meta_Split_mkDiscrGenErrorMsg___closed__4 = _init_l_Lean_Meta_Split_mkDiscrGenErrorMsg___closed__4(); lean_mark_persistent(l_Lean_Meta_Split_mkDiscrGenErrorMsg___closed__4); -l_Lean_Meta_Split_splitMatch___closed__1 = _init_l_Lean_Meta_Split_splitMatch___closed__1(); -lean_mark_persistent(l_Lean_Meta_Split_splitMatch___closed__1); -l_Lean_Meta_Split_splitMatch___closed__2 = _init_l_Lean_Meta_Split_splitMatch___closed__2(); -lean_mark_persistent(l_Lean_Meta_Split_splitMatch___closed__2); -l_Lean_Meta_Split_splitMatch___closed__3 = _init_l_Lean_Meta_Split_splitMatch___closed__3(); -lean_mark_persistent(l_Lean_Meta_Split_splitMatch___closed__3); -l_Lean_Meta_Split_splitMatch___closed__4 = _init_l_Lean_Meta_Split_splitMatch___closed__4(); -lean_mark_persistent(l_Lean_Meta_Split_splitMatch___closed__4); -l_Lean_Meta_Split_splitMatch___closed__5 = _init_l_Lean_Meta_Split_splitMatch___closed__5(); -lean_mark_persistent(l_Lean_Meta_Split_splitMatch___closed__5); -l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__1 = _init_l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__1(); -lean_mark_persistent(l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__1); -l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__2 = _init_l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__2(); -lean_mark_persistent(l_Std_Range_forIn_x27_loop___at_Lean_Meta_Split_findSplit_x3f_isCandidate___spec__1___closed__2); -l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__1 = _init_l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__1(); -lean_mark_persistent(l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__1); -l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__2 = _init_l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__2(); -lean_mark_persistent(l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__2); -l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__3 = _init_l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__3(); -lean_mark_persistent(l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__3); -l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__4 = _init_l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__4(); -lean_mark_persistent(l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__4); -l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5 = _init_l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5(); -lean_mark_persistent(l_Lean_Meta_Split_findSplit_x3f_isCandidate___closed__5); +l_Lean_Meta_Split_splitMatch___lambda__1___closed__1 = _init_l_Lean_Meta_Split_splitMatch___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_Meta_Split_splitMatch___lambda__1___closed__1); +l_Lean_Meta_Split_splitMatch___lambda__1___closed__2 = _init_l_Lean_Meta_Split_splitMatch___lambda__1___closed__2(); +lean_mark_persistent(l_Lean_Meta_Split_splitMatch___lambda__1___closed__2); +l_Lean_Meta_Split_splitMatch___lambda__1___closed__3 = _init_l_Lean_Meta_Split_splitMatch___lambda__1___closed__3(); +lean_mark_persistent(l_Lean_Meta_Split_splitMatch___lambda__1___closed__3); +l_Lean_Meta_Split_splitMatch___lambda__1___closed__4 = _init_l_Lean_Meta_Split_splitMatch___lambda__1___closed__4(); +lean_mark_persistent(l_Lean_Meta_Split_splitMatch___lambda__1___closed__4); +l_Lean_Meta_Split_splitMatch___lambda__1___closed__5 = _init_l_Lean_Meta_Split_splitMatch___lambda__1___closed__5(); +lean_mark_persistent(l_Lean_Meta_Split_splitMatch___lambda__1___closed__5); l_Lean_Meta_splitTarget_x3f_go___closed__1 = _init_l_Lean_Meta_splitTarget_x3f_go___closed__1(); lean_mark_persistent(l_Lean_Meta_splitTarget_x3f_go___closed__1); l_Lean_Meta_splitTarget_x3f_go___closed__2 = _init_l_Lean_Meta_splitTarget_x3f_go___closed__2(); @@ -20583,41 +19040,41 @@ l_Lean_Meta_splitTarget_x3f___lambda__1___closed__2 = _init_l_Lean_Meta_splitTar lean_mark_persistent(l_Lean_Meta_splitTarget_x3f___lambda__1___closed__2); l_Lean_Meta_splitTarget_x3f___lambda__1___closed__3 = _init_l_Lean_Meta_splitTarget_x3f___lambda__1___closed__3(); lean_mark_persistent(l_Lean_Meta_splitTarget_x3f___lambda__1___closed__3); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__1(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__1); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__2(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__2); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__3 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__3(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__3); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__4 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__4(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__4); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__5 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__5(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__5); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__6 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__6(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__6); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__7 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__7(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__7); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__8 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__8(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__8); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__9 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__9(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__9); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__10 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__10(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__10); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__11 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__11(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__11); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__12 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__12(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__12); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__13 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__13(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__13); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__14 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__14(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__14); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__15 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__15(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__15); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__16 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__16(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__16); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__17 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__17(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156____closed__17); -if (builtin) {res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_7156_(lean_io_mk_world()); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__1(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__1); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__2(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__2); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__3 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__3(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__3); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__4 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__4(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__4); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__5 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__5(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__5); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__6 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__6(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__6); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__7 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__7(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__7); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__8 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__8(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__8); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__9 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__9(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__9); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__10 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__10(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__10); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__11 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__11(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__11); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__12 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__12(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__12); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__13 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__13(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__13); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__14 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__14(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__14); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__15 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__15(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__15); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__16 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__16(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__16); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__17 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__17(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813____closed__17); +if (builtin) {res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_Split___hyg_6813_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Meta/Tactic/SplitIf.c b/stage0/stdlib/Lean/Meta/Tactic/SplitIf.c index a001c14a698d..1c7cfeaaa4c7 100644 --- a/stage0/stdlib/Lean/Meta/Tactic/SplitIf.c +++ b/stage0/stdlib/Lean/Meta/Tactic/SplitIf.c @@ -13,100 +13,155 @@ #ifdef __cplusplus extern "C" { #endif +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__4; static lean_object* l_Array_findSomeRevM_x3f_find___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__3___closed__5; +static lean_object* l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___closed__1; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__6; -static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__12; static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__11; static lean_object* l_Lean_Meta_simpIfTarget___closed__9; LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_find_x3f(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_splitIfLocalDecl_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f(lean_object*, lean_object*, lean_object*); lean_object* lean_mk_empty_array_with_capacity(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_simpIfLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__2; +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_noConfusion___rarg(uint8_t, uint8_t, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__9; +lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); uint8_t l_Lean_Expr_isDIte(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__8; static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__4; -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__5; LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_visit___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__10; static lean_object* l_Array_findSomeRevM_x3f_find___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__3___closed__4; +static lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__2; lean_object* lean_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__13; +static lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___closed__3; static lean_object* l_Lean_Meta_simpIfLocalDecl___closed__3; -LEAN_EXPORT lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2; +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_visit___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Exception_isInterrupt(lean_object*); lean_object* l_Lean_mkAppB(lean_object*, lean_object*, lean_object*); +uint64_t lean_uint64_mix_hash(uint64_t, uint64_t); lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +size_t lean_uint64_to_usize(uint64_t); static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__2; uint64_t lean_uint64_lor(uint64_t, uint64_t); LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); +uint8_t l_Std_DHashMap_Internal_AssocList_contains___at_Lean_CollectLevelMVars_visitExpr___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_LocalContext_findDeclRevM_x3f___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__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_Lean_Meta_simpIfLocalDecl___closed__1; +static lean_object* l_Lean_Meta_findSplit_x3f_find_x3f_unsafe__1___closed__1; +LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__1___boxed(lean_object**); +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_toCtorIdx(uint8_t); +lean_object* l_Lean_Expr_sort___override(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitIfLocalDecl_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_LocalContext_findDeclRevM_x3f___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* lean_mk_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f___elambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__7; +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__10; lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Lean_MVarId_byCasesDec(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Meta_Match_MatcherInfo_arity(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_visit___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instantiateMVars___at_Lean_Meta_Simp_synthesizeArgs___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_SplitKind_noConfusion___rarg___closed__1; static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__7; +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_go(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__1; +LEAN_EXPORT lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_simpIfTarget___closed__11; -LEAN_EXPORT uint8_t l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1(lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__11; +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__11; +lean_object* l_Lean_Expr_getBoundedAppFn(lean_object*, lean_object*); +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__1; +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___lambda__2(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_SplitIf_splitIfAt_x3f___lambda__2___closed__1; -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__3; +uint8_t l_Lean_Expr_isAppOf(lean_object*, lean_object*); +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__3; static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; +static lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__1; +lean_object* l_Nat_nextPowerOfTwo_go(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_stringToMessageData(lean_object*); static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2___closed__5; +static lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___closed__5; static lean_object* l_Array_findSomeRevM_x3f_find___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__3___closed__3; static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__8; static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__9; static lean_object* l_Lean_Meta_simpIfTarget___closed__6; lean_object* l_Lean_Meta_getSimpCongrTheorems___rarg(lean_object*, lean_object*); lean_object* l_Lean_Expr_appArg_x21(lean_object*); +static lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___closed__4; static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2___closed__6; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__14; static uint64_t l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2___closed__1; +LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___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_Meta_splitIfTarget_x3f___lambda__2___closed__6; static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__5; +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_visit_visitApp_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; lean_object* l_Lean_LocalDecl_index(lean_object*); static lean_object* l_Array_findSomeRevM_x3f_find___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__3___closed__2; uint8_t l_Lean_Expr_hasMVar(lean_object*); +size_t lean_ptr_addr(lean_object*); lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__10; +static lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___closed__2; +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +size_t lean_usize_of_nat(lean_object*); static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2___closed__4; -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__14; +LEAN_EXPORT uint8_t l_Lean_Meta_SplitKind_considerIte(uint8_t); +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_noConfusion(lean_object*); +static lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3___closed__2; extern lean_object* l_Lean_PersistentHashMap_empty___at_Lean_Meta_instInhabitedSimpTheorems___spec__1; static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__1; +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_getRevArg_x21(lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__12; +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_find_x3f_unsafe__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__6; static lean_object* l_Lean_Meta_simpIfTarget___closed__3; static lean_object* l_Lean_Meta_simpIfTarget___closed__8; -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__8; +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__3; static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__12; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__1; uint64_t lean_uint64_shift_right(uint64_t, uint64_t); +lean_object* l_Lean_Meta_getFunInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +uint64_t lean_usize_to_uint64(size_t); static lean_object* l_Lean_Meta_simpIfTarget___closed__5; +lean_object* lean_nat_div(lean_object*, lean_object*); lean_object* l_Lean_MVarId_getType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_go___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__3; -static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__2; lean_object* l_Lean_Meta_SavedState_restore(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_checkVisited___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_simpIfTarget___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_findSomeRevM_x3f_find___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__3___closed__1; lean_object* l_Lean_MessageData_ofFormat(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MVarId_withContext___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_simpTarget(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_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__15; +lean_object* l_Lean_Meta_Match_MatcherInfo_getFirstDiscrPos(lean_object*); +lean_object* l_outOfBounds___rarg(lean_object*); lean_object* l_Lean_Meta_DiscrTree_empty(lean_object*); +lean_object* lean_st_ref_get(lean_object*, lean_object*); +lean_object* l_Lean_mkPtrSet___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_splitIfTarget_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__2; +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_splitIfLocalDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -114,93 +169,4368 @@ uint8_t l_Lean_Expr_hasLooseBVars(lean_object*); LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_num___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_getSimpContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_noConfusion___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_Simp_congrArgs___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_levelZero; +LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__2; +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_toCtorIdx___boxed(lean_object*); static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2___closed__2; +LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +extern lean_object* l_Lean_instInhabitedExpr; static lean_object* l_Lean_Meta_simpIfLocalDecl___closed__2; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__15; LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__4; +uint64_t l_Lean_Expr_hash(lean_object*); lean_object* l_Lean_Meta_mkDecide(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); lean_object* l_Lean_Name_str___override(lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11; -static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__2; lean_object* l_Lean_Meta_Simp_mkContext(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f___elambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__8; LEAN_EXPORT lean_object* l_Lean_Meta_simpIfTarget(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_considerIte___boxed(lean_object*); +uint8_t l_Std_DHashMap_Internal_AssocList_contains___at_Lean_Expr_NumObjs_visit___spec__1(lean_object*, lean_object*); uint8_t l_Lean_Expr_isIte(lean_object*); +lean_object* l_Lean_Meta_isMatcherAppCore_x3f(lean_object*, lean_object*); lean_object* l_Lean_Meta_saveState___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_considerMatch___boxed(lean_object*); +static lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; uint8_t l_Lean_LocalDecl_isAuxDecl(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___closed__6; +static lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___closed__1; static lean_object* l_Lean_Meta_simpIfTarget___closed__2; +LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__1; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__4; +static lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___closed__1; LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MessageData_ofExpr(lean_object*); static lean_object* l_Lean_Meta_simpIfTarget___closed__7; +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__9; +static lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +static lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2; static lean_object* l_Lean_Meta_simpIfTarget___closed__10; +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__5; uint8_t lean_nat_dec_eq(lean_object*, lean_object*); lean_object* l_Lean_mkApp3(lean_object*, lean_object*, lean_object*, lean_object*); +uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__1___boxed(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassApp_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkEqRefl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_indentExpr(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_noConfusion___rarg___lambda__1___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___closed__2; uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); +static lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__1; +lean_object* lean_array_set(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_simpIfTarget___closed__4; lean_object* l_Lean_LocalDecl_type(lean_object*); +uint64_t lean_uint64_xor(uint64_t, uint64_t); +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_noConfusion___rarg___lambda__1(lean_object*); lean_object* l_Lean_addTrace___at_Lean_Meta_Simp_congrArgs___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_sub(lean_object*, lean_object*); +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__2; static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2___closed__3; -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__9; -static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__1; +lean_object* lean_nat_mul(lean_object*, lean_object*); uint64_t lean_uint64_shift_left(uint64_t, uint64_t); +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitIfTarget_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*); lean_object* l_Lean_Meta_SimpTheorems_addConst(lean_object*, lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__7; +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__3; +size_t lean_usize_sub(size_t, size_t); lean_object* lean_array_mk(lean_object*); +LEAN_EXPORT uint8_t l_Lean_Meta_SplitKind_considerMatch(uint8_t); LEAN_EXPORT lean_object* l_Array_findSomeRevM_x3f_find___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609_(lean_object*); +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__4; +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_find_x3f_unsafe__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688_(lean_object*); static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__6; extern lean_object* l_Lean_Meta_Simp_defaultMaxSteps; uint8_t l_Lean_Expr_hasFVar(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2(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_array_uget(lean_object*, size_t); lean_object* l_Lean_Expr_fvar___override(lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__6; lean_object* l_Lean_Meta_simpLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_local_ctx_num_indices(lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__7; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__5; LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2(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_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__4; +lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__5; LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevMAux___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__3; -static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__13; extern lean_object* l_Lean_PersistentHashMap_empty___at_Lean_KeyedDeclsAttribute_instInhabitedExtensionState___spec__1; -static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__1; lean_object* l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__3; +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__5; +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__13; +static lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__4; lean_object* lean_array_get_size(lean_object*); lean_object* l_Lean_LocalDecl_toExpr(lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentArray_findSomeRevM_x3f___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__1(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_checkVisited(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* lean_find_expr(lean_object*, lean_object*); uint8_t lean_nat_dec_le(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___boxed(lean_object*); static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2___closed__7; uint64_t l_Lean_Meta_TransparencyMode_toUInt64(uint8_t); +lean_object* lean_nat_add(lean_object*, lean_object*); static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__4; uint8_t l_Lean_Exception_isRuntime(lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__1; LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__13; +static lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +uint8_t l_Lean_Meta_ParamInfo_isExplicit(lean_object*); +lean_object* lean_array_uset(lean_object*, size_t, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_visit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2___closed__8; LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Meta_SplitIf_getSimpContext___closed__2; +lean_object* l_Lean_Meta_isProof(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__1; lean_object* l_panic___at_Lean_Meta_subst_substEq___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__2; +size_t lean_usize_land(size_t, size_t); +static lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__12; +lean_object* l_Std_DHashMap_Internal_Raw_u2080_expand___at_Lean_Expr_NumObjs_visit___spec__2(lean_object*); static lean_object* l_Lean_Meta_simpIfTarget___closed__1; static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__6; -static lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__3; +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2(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_SplitIf_splitIfAt_x3f___lambda__3___closed__1; +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_toCtorIdx(uint8_t x_1) { +_start: +{ +switch (x_1) { +case 0: +{ +lean_object* x_2; +x_2 = lean_unsigned_to_nat(0u); +return x_2; +} +case 1: +{ +lean_object* x_3; +x_3 = lean_unsigned_to_nat(1u); +return x_3; +} +default: +{ +lean_object* x_4; +x_4 = lean_unsigned_to_nat(2u); +return x_4; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_toCtorIdx___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = lean_unbox(x_1); +lean_dec(x_1); +x_3 = l_Lean_Meta_SplitKind_toCtorIdx(x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_noConfusion___rarg___lambda__1(lean_object* x_1) { +_start: +{ +lean_inc(x_1); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_SplitKind_noConfusion___rarg___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Meta_SplitKind_noConfusion___rarg___lambda__1___boxed), 1, 0); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_noConfusion___rarg(uint8_t x_1, uint8_t x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l_Lean_Meta_SplitKind_noConfusion___rarg___closed__1; +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_noConfusion(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Meta_SplitKind_noConfusion___rarg___boxed), 3, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_noConfusion___rarg___lambda__1___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_Meta_SplitKind_noConfusion___rarg___lambda__1(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_noConfusion___rarg___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +uint8_t x_4; uint8_t x_5; lean_object* x_6; +x_4 = lean_unbox(x_1); +lean_dec(x_1); +x_5 = lean_unbox(x_2); +lean_dec(x_2); +x_6 = l_Lean_Meta_SplitKind_noConfusion___rarg(x_4, x_5, x_3); +return x_6; +} +} +LEAN_EXPORT uint8_t l_Lean_Meta_SplitKind_considerIte(uint8_t x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_box(x_1); +if (lean_obj_tag(x_2) == 1) +{ +uint8_t x_3; +x_3 = 0; +return x_3; +} +else +{ +uint8_t x_4; +lean_dec(x_2); +x_4 = 1; +return x_4; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_considerIte___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; uint8_t x_3; lean_object* x_4; +x_2 = lean_unbox(x_1); +lean_dec(x_1); +x_3 = l_Lean_Meta_SplitKind_considerIte(x_2); +x_4 = lean_box(x_3); +return x_4; +} +} +LEAN_EXPORT uint8_t l_Lean_Meta_SplitKind_considerMatch(uint8_t x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_box(x_1); +if (lean_obj_tag(x_2) == 0) +{ +uint8_t x_3; +x_3 = 0; +return x_3; +} +else +{ +uint8_t x_4; +lean_dec(x_2); +x_4 = 1; +return x_4; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_SplitKind_considerMatch___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; uint8_t x_3; lean_object* x_4; +x_2 = lean_unbox(x_1); +lean_dec(x_1); +x_3 = l_Lean_Meta_SplitKind_considerMatch(x_2); +x_4 = lean_box(x_3); +return x_4; +} +} +static lean_object* _init_l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_box(0); +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__1; +x_2 = lean_box(0); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +uint8_t x_11; +x_11 = lean_nat_dec_lt(x_8, x_5); +if (x_11 == 0) +{ +lean_dec(x_8); +lean_dec(x_7); +lean_inc(x_10); +return x_10; +} +else +{ +lean_object* x_12; uint8_t x_13; +x_12 = lean_unsigned_to_nat(0u); +x_13 = lean_nat_dec_eq(x_7, x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17; +x_14 = lean_unsigned_to_nat(1u); +x_15 = lean_nat_sub(x_7, x_14); +lean_dec(x_7); +x_16 = lean_array_get_size(x_1); +x_17 = lean_nat_dec_lt(x_8, x_16); +lean_dec(x_16); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_18 = l_Lean_instInhabitedExpr; +x_19 = l_outOfBounds___rarg(x_18); +x_20 = l_Lean_Expr_hasLooseBVars(x_19); +lean_dec(x_19); +if (x_20 == 0) +{ +lean_object* x_21; +x_21 = lean_nat_add(x_8, x_6); +lean_dec(x_8); +{ +lean_object* _tmp_6 = x_15; +lean_object* _tmp_7 = x_21; +lean_object* _tmp_8 = lean_box(0); +lean_object* _tmp_9 = x_3; +x_7 = _tmp_6; +x_8 = _tmp_7; +x_9 = _tmp_8; +x_10 = _tmp_9; +} +goto _start; +} +else +{ +lean_object* x_23; +lean_dec(x_15); +lean_dec(x_8); +x_23 = l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__2; +return x_23; +} +} +else +{ +lean_object* x_24; uint8_t x_25; +x_24 = lean_array_fget(x_1, x_8); +x_25 = l_Lean_Expr_hasLooseBVars(x_24); +lean_dec(x_24); +if (x_25 == 0) +{ +lean_object* x_26; +x_26 = lean_nat_add(x_8, x_6); +lean_dec(x_8); +{ +lean_object* _tmp_6 = x_15; +lean_object* _tmp_7 = x_26; +lean_object* _tmp_8 = lean_box(0); +lean_object* _tmp_9 = x_3; +x_7 = _tmp_6; +x_8 = _tmp_7; +x_9 = _tmp_8; +x_10 = _tmp_9; +} +goto _start; +} +else +{ +lean_object* x_28; +lean_dec(x_15); +lean_dec(x_8); +x_28 = l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__2; +return x_28; +} +} +} +else +{ +lean_dec(x_8); +lean_dec(x_7); +lean_inc(x_10); +return x_10; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_box(0); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint64_t x_13; uint64_t x_14; uint64_t x_15; uint64_t x_16; uint64_t x_17; uint64_t x_18; uint64_t x_19; size_t x_20; size_t x_21; size_t x_22; size_t x_23; size_t x_24; lean_object* x_25; uint8_t x_26; +x_6 = lean_array_get_size(x_1); +x_7 = l_Lean_Meta_Match_MatcherInfo_arity(x_2); +x_8 = lean_nat_sub(x_6, x_7); +lean_dec(x_7); +lean_dec(x_6); +x_9 = l_Lean_Expr_getBoundedAppFn(x_8, x_3); +x_10 = lean_ctor_get(x_4, 0); +x_11 = lean_ctor_get(x_10, 1); +x_12 = lean_array_get_size(x_11); +x_13 = l_Lean_Expr_hash(x_9); +x_14 = 32; +x_15 = lean_uint64_shift_right(x_13, x_14); +x_16 = lean_uint64_xor(x_13, x_15); +x_17 = 16; +x_18 = lean_uint64_shift_right(x_16, x_17); +x_19 = lean_uint64_xor(x_16, x_18); +x_20 = lean_uint64_to_usize(x_19); +x_21 = lean_usize_of_nat(x_12); +lean_dec(x_12); +x_22 = 1; +x_23 = lean_usize_sub(x_21, x_22); +x_24 = lean_usize_land(x_20, x_23); +x_25 = lean_array_uget(x_11, x_24); +x_26 = l_Std_DHashMap_Internal_AssocList_contains___at_Lean_CollectLevelMVars_visitExpr___spec__1(x_9, x_25); +lean_dec(x_25); +if (x_26 == 0) +{ +lean_object* x_27; +x_27 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_27, 0, x_9); +return x_27; +} +else +{ +lean_object* x_28; +lean_dec(x_9); +x_28 = lean_box(0); +return x_28; +} +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__1___boxed), 1, 0); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__1; +x_2 = lean_box(0); +x_3 = lean_apply_1(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_levelZero; +x_2 = l_Lean_Expr_sort___override(x_1); +return x_2; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = lean_box(0); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +uint8_t x_5; uint8_t x_6; +x_5 = lean_ctor_get_uint8(x_1, sizeof(void*)*1); +x_6 = l_Lean_Meta_SplitKind_considerMatch(x_5); +if (x_6 == 0) +{ +lean_object* x_7; +lean_dec(x_3); +x_7 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__2; +return x_7; +} +else +{ +lean_object* x_8; +x_8 = l_Lean_Meta_isMatcherAppCore_x3f(x_2, x_3); +if (lean_obj_tag(x_8) == 0) +{ +lean_object* x_9; +lean_dec(x_3); +x_9 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__2; +return x_9; +} +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_10 = lean_ctor_get(x_8, 0); +lean_inc(x_10); +lean_dec(x_8); +x_11 = lean_unsigned_to_nat(0u); +x_12 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_3, x_11); +x_13 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__3; +lean_inc(x_12); +x_14 = lean_mk_array(x_12, x_13); +x_15 = lean_unsigned_to_nat(1u); +x_16 = lean_nat_sub(x_12, x_15); +lean_dec(x_12); +lean_inc(x_3); +x_17 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_3, x_14, x_16); +x_18 = l_Lean_Meta_Match_MatcherInfo_getFirstDiscrPos(x_10); +x_19 = lean_ctor_get(x_10, 1); +lean_inc(x_19); +x_20 = lean_nat_add(x_18, x_19); +lean_dec(x_19); +lean_inc(x_20); +lean_inc(x_18); +x_21 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_21, 0, x_18); +lean_ctor_set(x_21, 1, x_20); +lean_ctor_set(x_21, 2, x_15); +x_22 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__4; +lean_inc(x_20); +lean_inc(x_18); +x_23 = l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1(x_17, x_21, x_22, x_18, x_20, x_15, x_20, x_18, lean_box(0), x_22); +lean_dec(x_20); +lean_dec(x_18); +lean_dec(x_21); +x_24 = lean_ctor_get(x_23, 0); +lean_inc(x_24); +lean_dec(x_23); +if (lean_obj_tag(x_24) == 0) +{ +lean_object* x_25; lean_object* x_26; +x_25 = lean_box(0); +x_26 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__2(x_17, x_10, x_3, x_1, x_25); +lean_dec(x_3); +lean_dec(x_10); +lean_dec(x_17); +return x_26; +} +else +{ +lean_object* x_27; +lean_dec(x_17); +lean_dec(x_10); +lean_dec(x_3); +x_27 = lean_ctor_get(x_24, 0); +lean_inc(x_27); +lean_dec(x_24); +return x_27; +} +} +} +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(5u); +x_2 = lean_unsigned_to_nat(1u); +x_3 = lean_nat_sub(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__1; +x_2 = lean_unsigned_to_nat(1u); +x_3 = lean_nat_sub(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("ite", 3, 3); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__3; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("dite", 4, 4); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__5; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; uint8_t x_38; uint8_t x_39; +x_38 = lean_ctor_get_uint8(x_2, sizeof(void*)*1); +x_39 = l_Lean_Meta_SplitKind_considerIte(x_38); +if (x_39 == 0) +{ +lean_object* x_40; lean_object* x_41; +x_40 = lean_box(0); +x_41 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3(x_2, x_1, x_3, x_40); +return x_41; +} +else +{ +lean_object* x_42; uint8_t x_43; +x_42 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__4; +x_43 = l_Lean_Expr_isAppOf(x_3, x_42); +if (x_43 == 0) +{ +lean_object* x_44; uint8_t x_45; +x_44 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__6; +x_45 = l_Lean_Expr_isAppOf(x_3, x_44); +if (x_45 == 0) +{ +lean_object* x_46; lean_object* x_47; +x_46 = lean_box(0); +x_47 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3(x_2, x_1, x_3, x_46); +return x_47; +} +else +{ +lean_object* x_48; +x_48 = lean_box(0); +x_4 = x_48; +goto block_37; +} +} +else +{ +lean_object* x_49; +x_49 = lean_box(0); +x_4 = x_49; +goto block_37; +} +} +block_37: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8; +lean_dec(x_4); +x_5 = lean_unsigned_to_nat(0u); +x_6 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_3, x_5); +x_7 = lean_unsigned_to_nat(5u); +x_8 = lean_nat_dec_le(x_7, x_6); +if (x_8 == 0) +{ +lean_object* x_9; lean_object* x_10; +lean_dec(x_6); +x_9 = lean_box(0); +x_10 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3(x_2, x_1, x_3, x_9); +return x_10; +} +else +{ +lean_object* x_11; lean_object* x_12; uint8_t x_13; +x_11 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2; +x_12 = l_Lean_Expr_getRevArg_x21(x_3, x_11); +x_13 = l_Lean_Expr_hasLooseBVars(x_12); +lean_dec(x_12); +if (x_13 == 0) +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; uint64_t x_19; uint64_t x_20; uint64_t x_21; uint64_t x_22; uint64_t x_23; uint64_t x_24; uint64_t x_25; size_t x_26; size_t x_27; size_t x_28; size_t x_29; size_t x_30; lean_object* x_31; uint8_t x_32; +x_14 = lean_nat_sub(x_6, x_7); +lean_dec(x_6); +x_15 = l_Lean_Expr_getBoundedAppFn(x_14, x_3); +lean_dec(x_3); +x_16 = lean_ctor_get(x_2, 0); +x_17 = lean_ctor_get(x_16, 1); +x_18 = lean_array_get_size(x_17); +x_19 = l_Lean_Expr_hash(x_15); +x_20 = 32; +x_21 = lean_uint64_shift_right(x_19, x_20); +x_22 = lean_uint64_xor(x_19, x_21); +x_23 = 16; +x_24 = lean_uint64_shift_right(x_22, x_23); +x_25 = lean_uint64_xor(x_22, x_24); +x_26 = lean_uint64_to_usize(x_25); +x_27 = lean_usize_of_nat(x_18); +lean_dec(x_18); +x_28 = 1; +x_29 = lean_usize_sub(x_27, x_28); +x_30 = lean_usize_land(x_26, x_29); +x_31 = lean_array_uget(x_17, x_30); +x_32 = l_Std_DHashMap_Internal_AssocList_contains___at_Lean_CollectLevelMVars_visitExpr___spec__1(x_15, x_31); +lean_dec(x_31); +if (x_32 == 0) +{ +lean_object* x_33; +x_33 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_33, 0, x_15); +return x_33; +} +else +{ +lean_object* x_34; +lean_dec(x_15); +x_34 = lean_box(0); +return x_34; +} +} +else +{ +lean_object* x_35; lean_object* x_36; +lean_dec(x_6); +x_35 = lean_box(0); +x_36 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3(x_2, x_1, x_3, x_35); +return x_36; +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; +x_11 = l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_10); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_11; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__1___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__1(x_1); +lean_dec(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__2___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_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__2(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_6; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3(x_1, x_2, x_3, x_4); +lean_dec(x_4); +lean_dec(x_2); +lean_dec(x_1); +return x_5; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: +{ +lean_object* x_4; +x_4 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f(x_1, x_2, x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_4; +} +} +static lean_object* _init_l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_box(0); +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +uint8_t x_10; +x_10 = !lean_is_exclusive(x_4); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; size_t x_14; uint64_t x_15; uint64_t x_16; uint64_t x_17; uint64_t x_18; uint64_t x_19; uint64_t x_20; uint64_t x_21; uint64_t x_22; uint64_t x_23; size_t x_24; size_t x_25; size_t x_26; size_t x_27; size_t x_28; lean_object* x_29; uint8_t x_30; +x_11 = lean_ctor_get(x_4, 0); +x_12 = lean_ctor_get(x_4, 1); +x_13 = lean_array_get_size(x_12); +x_14 = lean_ptr_addr(x_1); +x_15 = lean_usize_to_uint64(x_14); +x_16 = 11; +x_17 = lean_uint64_mix_hash(x_15, x_16); +x_18 = 32; +x_19 = lean_uint64_shift_right(x_17, x_18); +x_20 = lean_uint64_xor(x_17, x_19); +x_21 = 16; +x_22 = lean_uint64_shift_right(x_20, x_21); +x_23 = lean_uint64_xor(x_20, x_22); +x_24 = lean_uint64_to_usize(x_23); +x_25 = lean_usize_of_nat(x_13); +lean_dec(x_13); +x_26 = 1; +x_27 = lean_usize_sub(x_25, x_26); +x_28 = lean_usize_land(x_24, x_27); +x_29 = lean_array_uget(x_12, x_28); +x_30 = l_Std_DHashMap_Internal_AssocList_contains___at_Lean_Expr_NumObjs_visit___spec__1(x_1, x_29); +if (x_30 == 0) +{ +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; uint8_t x_41; +x_31 = lean_unsigned_to_nat(1u); +x_32 = lean_nat_add(x_11, x_31); +lean_dec(x_11); +x_33 = lean_box(0); +x_34 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_34, 0, x_1); +lean_ctor_set(x_34, 1, x_33); +lean_ctor_set(x_34, 2, x_29); +x_35 = lean_array_uset(x_12, x_28, x_34); +x_36 = lean_unsigned_to_nat(4u); +x_37 = lean_nat_mul(x_32, x_36); +x_38 = lean_unsigned_to_nat(3u); +x_39 = lean_nat_div(x_37, x_38); +lean_dec(x_37); +x_40 = lean_array_get_size(x_35); +x_41 = lean_nat_dec_le(x_39, x_40); +lean_dec(x_40); +lean_dec(x_39); +if (x_41 == 0) +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_42 = l_Std_DHashMap_Internal_Raw_u2080_expand___at_Lean_Expr_NumObjs_visit___spec__2(x_35); +lean_ctor_set(x_4, 1, x_42); +lean_ctor_set(x_4, 0, x_32); +x_43 = l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___closed__1; +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_4); +x_45 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_45, 0, x_44); +lean_ctor_set(x_45, 1, x_9); +return x_45; +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +lean_ctor_set(x_4, 1, x_35); +lean_ctor_set(x_4, 0, x_32); +x_46 = l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___closed__1; +x_47 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_47, 0, x_46); +lean_ctor_set(x_47, 1, x_4); +x_48 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_48, 0, x_47); +lean_ctor_set(x_48, 1, x_9); +return x_48; +} +} +else +{ +lean_object* x_49; lean_object* x_50; lean_object* x_51; +lean_dec(x_29); +lean_dec(x_1); +x_49 = l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___closed__1; +x_50 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_50, 0, x_49); +lean_ctor_set(x_50, 1, x_4); +x_51 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_51, 0, x_50); +lean_ctor_set(x_51, 1, x_9); +return x_51; +} +} +else +{ +lean_object* x_52; lean_object* x_53; lean_object* x_54; size_t x_55; uint64_t x_56; uint64_t x_57; uint64_t x_58; uint64_t x_59; uint64_t x_60; uint64_t x_61; uint64_t x_62; uint64_t x_63; uint64_t x_64; size_t x_65; size_t x_66; size_t x_67; size_t x_68; size_t x_69; lean_object* x_70; uint8_t x_71; +x_52 = lean_ctor_get(x_4, 0); +x_53 = lean_ctor_get(x_4, 1); +lean_inc(x_53); +lean_inc(x_52); +lean_dec(x_4); +x_54 = lean_array_get_size(x_53); +x_55 = lean_ptr_addr(x_1); +x_56 = lean_usize_to_uint64(x_55); +x_57 = 11; +x_58 = lean_uint64_mix_hash(x_56, x_57); +x_59 = 32; +x_60 = lean_uint64_shift_right(x_58, x_59); +x_61 = lean_uint64_xor(x_58, x_60); +x_62 = 16; +x_63 = lean_uint64_shift_right(x_61, x_62); +x_64 = lean_uint64_xor(x_61, x_63); +x_65 = lean_uint64_to_usize(x_64); +x_66 = lean_usize_of_nat(x_54); +lean_dec(x_54); +x_67 = 1; +x_68 = lean_usize_sub(x_66, x_67); +x_69 = lean_usize_land(x_65, x_68); +x_70 = lean_array_uget(x_53, x_69); +x_71 = l_Std_DHashMap_Internal_AssocList_contains___at_Lean_Expr_NumObjs_visit___spec__1(x_1, 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; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; uint8_t x_82; +x_72 = lean_unsigned_to_nat(1u); +x_73 = lean_nat_add(x_52, x_72); +lean_dec(x_52); +x_74 = lean_box(0); +x_75 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_75, 0, x_1); +lean_ctor_set(x_75, 1, x_74); +lean_ctor_set(x_75, 2, x_70); +x_76 = lean_array_uset(x_53, x_69, x_75); +x_77 = lean_unsigned_to_nat(4u); +x_78 = lean_nat_mul(x_73, x_77); +x_79 = lean_unsigned_to_nat(3u); +x_80 = lean_nat_div(x_78, x_79); +lean_dec(x_78); +x_81 = lean_array_get_size(x_76); +x_82 = lean_nat_dec_le(x_80, x_81); +lean_dec(x_81); +lean_dec(x_80); +if (x_82 == 0) +{ +lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; +x_83 = l_Std_DHashMap_Internal_Raw_u2080_expand___at_Lean_Expr_NumObjs_visit___spec__2(x_76); +x_84 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_84, 0, x_73); +lean_ctor_set(x_84, 1, x_83); +x_85 = l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___closed__1; +x_86 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_86, 0, x_85); +lean_ctor_set(x_86, 1, x_84); +x_87 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_87, 0, x_86); +lean_ctor_set(x_87, 1, x_9); +return x_87; +} +else +{ +lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; +x_88 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_88, 0, x_73); +lean_ctor_set(x_88, 1, x_76); +x_89 = l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___closed__1; +x_90 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_90, 0, x_89); +lean_ctor_set(x_90, 1, x_88); +x_91 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_91, 0, x_90); +lean_ctor_set(x_91, 1, x_9); +return x_91; +} +} +else +{ +lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; +lean_dec(x_70); +lean_dec(x_1); +x_92 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_92, 0, x_52); +lean_ctor_set(x_92, 1, x_53); +x_93 = l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___closed__1; +x_94 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_94, 0, x_93); +lean_ctor_set(x_94, 1, x_92); +x_95 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_95, 0, x_94); +lean_ctor_set(x_95, 1, x_9); +return x_95; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_checkVisited(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; size_t x_11; uint64_t x_12; uint64_t x_13; uint64_t x_14; uint64_t x_15; uint64_t x_16; uint64_t x_17; uint64_t x_18; uint64_t x_19; uint64_t x_20; size_t x_21; size_t x_22; size_t x_23; size_t x_24; size_t x_25; lean_object* x_26; uint8_t x_27; +x_9 = lean_ctor_get(x_3, 1); +lean_inc(x_9); +x_10 = lean_array_get_size(x_9); +x_11 = lean_ptr_addr(x_1); +x_12 = lean_usize_to_uint64(x_11); +x_13 = 11; +x_14 = lean_uint64_mix_hash(x_12, x_13); +x_15 = 32; +x_16 = lean_uint64_shift_right(x_14, x_15); +x_17 = lean_uint64_xor(x_14, x_16); +x_18 = 16; +x_19 = lean_uint64_shift_right(x_17, x_18); +x_20 = lean_uint64_xor(x_17, x_19); +x_21 = lean_uint64_to_usize(x_20); +x_22 = lean_usize_of_nat(x_10); +lean_dec(x_10); +x_23 = 1; +x_24 = lean_usize_sub(x_22, x_23); +x_25 = lean_usize_land(x_21, x_24); +x_26 = lean_array_uget(x_9, x_25); +lean_dec(x_9); +x_27 = l_Std_DHashMap_Internal_AssocList_contains___at_Lean_Expr_NumObjs_visit___spec__1(x_1, x_26); +lean_dec(x_26); +if (x_27 == 0) +{ +lean_object* x_28; lean_object* x_29; +x_28 = lean_box(0); +x_29 = l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1(x_1, x_28, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_29; +} +else +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_dec(x_1); +x_30 = lean_box(0); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_3); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_8); +return x_32; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_checkVisited___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_Meta_FindSplitImpl_checkVisited(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18) { +_start: +{ +uint8_t x_19; +x_19 = lean_nat_dec_lt(x_9, x_6); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +x_20 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_11); +lean_ctor_set(x_20, 1, x_13); +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; +} +else +{ +lean_object* x_22; uint8_t x_23; +x_22 = lean_unsigned_to_nat(0u); +x_23 = lean_nat_dec_eq(x_8, x_22); +if (x_23 == 0) +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_11); +x_24 = lean_unsigned_to_nat(1u); +x_25 = lean_nat_sub(x_8, x_24); +lean_dec(x_8); +x_42 = lean_array_fget(x_1, x_9); +x_43 = lean_ctor_get(x_2, 0); +x_44 = lean_array_get_size(x_43); +x_45 = lean_nat_dec_lt(x_9, x_44); +lean_dec(x_44); +if (x_45 == 0) +{ +lean_object* x_46; +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +x_46 = l_Lean_Meta_FindSplitImpl_visit(x_42, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +if (lean_obj_tag(x_46) == 0) +{ +lean_object* x_47; lean_object* x_48; +x_47 = lean_ctor_get(x_46, 0); +lean_inc(x_47); +x_48 = lean_ctor_get(x_47, 0); +lean_inc(x_48); +if (lean_obj_tag(x_48) == 0) +{ +lean_object* x_49; uint8_t x_50; +x_49 = lean_ctor_get(x_46, 1); +lean_inc(x_49); +lean_dec(x_46); +x_50 = !lean_is_exclusive(x_47); +if (x_50 == 0) +{ +lean_object* x_51; lean_object* x_52; +x_51 = lean_ctor_get(x_47, 0); +lean_dec(x_51); +lean_inc(x_4); +x_52 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_52, 0, x_4); +lean_ctor_set(x_47, 0, x_52); +x_26 = x_47; +x_27 = x_49; +goto block_41; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = lean_ctor_get(x_47, 1); +lean_inc(x_53); +lean_dec(x_47); +lean_inc(x_4); +x_54 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_54, 0, x_4); +x_55 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_53); +x_26 = x_55; +x_27 = x_49; +goto block_41; +} +} +else +{ +lean_object* x_56; uint8_t x_57; +x_56 = lean_ctor_get(x_46, 1); +lean_inc(x_56); +lean_dec(x_46); +x_57 = !lean_is_exclusive(x_47); +if (x_57 == 0) +{ +lean_object* x_58; uint8_t x_59; +x_58 = lean_ctor_get(x_47, 0); +lean_dec(x_58); +x_59 = !lean_is_exclusive(x_48); +if (x_59 == 0) +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_60 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_60, 0, x_48); +x_61 = lean_box(0); +x_62 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_62, 0, x_60); +lean_ctor_set(x_62, 1, x_61); +x_63 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_63, 0, x_62); +lean_ctor_set(x_47, 0, x_63); +x_26 = x_47; +x_27 = x_56; +goto block_41; +} +else +{ +lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; +x_64 = lean_ctor_get(x_48, 0); +lean_inc(x_64); +lean_dec(x_48); +x_65 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_65, 0, x_64); +x_66 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_66, 0, x_65); +x_67 = lean_box(0); +x_68 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_68, 0, x_66); +lean_ctor_set(x_68, 1, x_67); +x_69 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_69, 0, x_68); +lean_ctor_set(x_47, 0, x_69); +x_26 = x_47; +x_27 = x_56; +goto block_41; +} +} +else +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; +x_70 = lean_ctor_get(x_47, 1); +lean_inc(x_70); +lean_dec(x_47); +x_71 = lean_ctor_get(x_48, 0); +lean_inc(x_71); +if (lean_is_exclusive(x_48)) { + lean_ctor_release(x_48, 0); + x_72 = x_48; +} else { + lean_dec_ref(x_48); + x_72 = lean_box(0); +} +if (lean_is_scalar(x_72)) { + x_73 = lean_alloc_ctor(1, 1, 0); +} else { + x_73 = x_72; +} +lean_ctor_set(x_73, 0, x_71); +x_74 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_74, 0, x_73); +x_75 = lean_box(0); +x_76 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_76, 0, x_74); +lean_ctor_set(x_76, 1, x_75); +x_77 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_77, 0, x_76); +x_78 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_78, 0, x_77); +lean_ctor_set(x_78, 1, x_70); +x_26 = x_78; +x_27 = x_56; +goto block_41; +} +} +} +else +{ +uint8_t x_79; +lean_dec(x_25); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_9); +lean_dec(x_4); +x_79 = !lean_is_exclusive(x_46); +if (x_79 == 0) +{ +return x_46; +} +else +{ +lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_80 = lean_ctor_get(x_46, 0); +x_81 = lean_ctor_get(x_46, 1); +lean_inc(x_81); +lean_inc(x_80); +lean_dec(x_46); +x_82 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_82, 0, x_80); +lean_ctor_set(x_82, 1, x_81); +return x_82; +} +} +} +else +{ +lean_object* x_83; uint8_t x_84; +x_83 = lean_array_fget(x_43, x_9); +x_84 = lean_ctor_get_uint8(x_83, sizeof(void*)*1 + 2); +if (x_84 == 0) +{ +uint8_t x_85; +x_85 = l_Lean_Meta_ParamInfo_isExplicit(x_83); +lean_dec(x_83); +if (x_85 == 0) +{ +lean_object* x_86; lean_object* x_87; +lean_dec(x_42); +lean_inc(x_4); +x_86 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_86, 0, x_4); +x_87 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_87, 0, x_86); +lean_ctor_set(x_87, 1, x_13); +x_26 = x_87; +x_27 = x_18; +goto block_41; +} +else +{ +lean_object* x_88; +lean_inc(x_17); +lean_inc(x_16); +lean_inc(x_15); +lean_inc(x_14); +x_88 = l_Lean_Meta_FindSplitImpl_visit(x_42, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +if (lean_obj_tag(x_88) == 0) +{ +lean_object* x_89; lean_object* x_90; +x_89 = lean_ctor_get(x_88, 0); +lean_inc(x_89); +x_90 = lean_ctor_get(x_89, 0); +lean_inc(x_90); +if (lean_obj_tag(x_90) == 0) +{ +lean_object* x_91; uint8_t x_92; +x_91 = lean_ctor_get(x_88, 1); +lean_inc(x_91); +lean_dec(x_88); +x_92 = !lean_is_exclusive(x_89); +if (x_92 == 0) +{ +lean_object* x_93; lean_object* x_94; +x_93 = lean_ctor_get(x_89, 0); +lean_dec(x_93); +lean_inc(x_4); +x_94 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_94, 0, x_4); +lean_ctor_set(x_89, 0, x_94); +x_26 = x_89; +x_27 = x_91; +goto block_41; +} +else +{ +lean_object* x_95; lean_object* x_96; lean_object* x_97; +x_95 = lean_ctor_get(x_89, 1); +lean_inc(x_95); +lean_dec(x_89); +lean_inc(x_4); +x_96 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_96, 0, x_4); +x_97 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_97, 0, x_96); +lean_ctor_set(x_97, 1, x_95); +x_26 = x_97; +x_27 = x_91; +goto block_41; +} +} +else +{ +lean_object* x_98; uint8_t x_99; +x_98 = lean_ctor_get(x_88, 1); +lean_inc(x_98); +lean_dec(x_88); +x_99 = !lean_is_exclusive(x_89); +if (x_99 == 0) +{ +lean_object* x_100; uint8_t x_101; +x_100 = lean_ctor_get(x_89, 0); +lean_dec(x_100); +x_101 = !lean_is_exclusive(x_90); +if (x_101 == 0) +{ +lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; +x_102 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_102, 0, x_90); +x_103 = lean_box(0); +x_104 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_104, 0, x_102); +lean_ctor_set(x_104, 1, x_103); +x_105 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_105, 0, x_104); +lean_ctor_set(x_89, 0, x_105); +x_26 = x_89; +x_27 = x_98; +goto block_41; +} +else +{ +lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; lean_object* x_111; +x_106 = lean_ctor_get(x_90, 0); +lean_inc(x_106); +lean_dec(x_90); +x_107 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_107, 0, x_106); +x_108 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_108, 0, x_107); +x_109 = lean_box(0); +x_110 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_110, 0, x_108); +lean_ctor_set(x_110, 1, x_109); +x_111 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_111, 0, x_110); +lean_ctor_set(x_89, 0, x_111); +x_26 = x_89; +x_27 = x_98; +goto block_41; +} +} +else +{ +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_112 = lean_ctor_get(x_89, 1); +lean_inc(x_112); +lean_dec(x_89); +x_113 = lean_ctor_get(x_90, 0); +lean_inc(x_113); +if (lean_is_exclusive(x_90)) { + lean_ctor_release(x_90, 0); + x_114 = x_90; +} else { + lean_dec_ref(x_90); + x_114 = lean_box(0); +} +if (lean_is_scalar(x_114)) { + x_115 = lean_alloc_ctor(1, 1, 0); +} else { + x_115 = x_114; +} +lean_ctor_set(x_115, 0, x_113); +x_116 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_116, 0, x_115); +x_117 = lean_box(0); +x_118 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_118, 0, x_116); +lean_ctor_set(x_118, 1, x_117); +x_119 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_119, 0, x_118); +x_120 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_120, 0, x_119); +lean_ctor_set(x_120, 1, x_112); +x_26 = x_120; +x_27 = x_98; +goto block_41; +} +} +} +else +{ +uint8_t x_121; +lean_dec(x_25); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_9); +lean_dec(x_4); +x_121 = !lean_is_exclusive(x_88); +if (x_121 == 0) +{ +return x_88; +} +else +{ +lean_object* x_122; lean_object* x_123; lean_object* x_124; +x_122 = lean_ctor_get(x_88, 0); +x_123 = lean_ctor_get(x_88, 1); +lean_inc(x_123); +lean_inc(x_122); +lean_dec(x_88); +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 +{ +lean_object* x_125; lean_object* x_126; +lean_dec(x_83); +lean_dec(x_42); +lean_inc(x_4); +x_125 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_125, 0, x_4); +x_126 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_126, 0, x_125); +lean_ctor_set(x_126, 1, x_13); +x_26 = x_126; +x_27 = x_18; +goto block_41; +} +} +block_41: +{ +lean_object* x_28; +x_28 = lean_ctor_get(x_26, 0); +lean_inc(x_28); +if (lean_obj_tag(x_28) == 0) +{ +uint8_t x_29; +lean_dec(x_25); +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_9); +lean_dec(x_4); +x_29 = !lean_is_exclusive(x_26); +if (x_29 == 0) +{ +lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_30 = lean_ctor_get(x_26, 0); +lean_dec(x_30); +x_31 = lean_ctor_get(x_28, 0); +lean_inc(x_31); +lean_dec(x_28); +lean_ctor_set(x_26, 0, x_31); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_26); +lean_ctor_set(x_32, 1, x_27); +return x_32; +} +else +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_33 = lean_ctor_get(x_26, 1); +lean_inc(x_33); +lean_dec(x_26); +x_34 = lean_ctor_get(x_28, 0); +lean_inc(x_34); +lean_dec(x_28); +x_35 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_33); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_27); +return x_36; +} +} +else +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; +x_37 = lean_ctor_get(x_26, 1); +lean_inc(x_37); +lean_dec(x_26); +x_38 = lean_ctor_get(x_28, 0); +lean_inc(x_38); +lean_dec(x_28); +x_39 = lean_nat_add(x_9, x_7); +lean_dec(x_9); +x_8 = x_25; +x_9 = x_39; +x_10 = lean_box(0); +x_11 = x_38; +x_13 = x_37; +x_18 = x_27; +goto _start; +} +} +} +else +{ +lean_object* x_127; lean_object* x_128; +lean_dec(x_17); +lean_dec(x_16); +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_4); +x_127 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_127, 0, x_11); +lean_ctor_set(x_127, 1, x_13); +x_128 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_128, 0, x_127); +lean_ctor_set(x_128, 1, x_18); +return x_128; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_Meta_FindSplitImpl_visit(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_11 = lean_array_get_size(x_1); +x_12 = lean_unsigned_to_nat(0u); +x_13 = lean_unsigned_to_nat(1u); +lean_inc(x_11); +x_14 = lean_alloc_ctor(0, 3, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_11); +lean_ctor_set(x_14, 2, x_13); +x_15 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__4; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_11); +x_16 = l_Std_Range_forIn_x27_loop___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__1(x_1, x_3, x_14, x_15, x_12, x_11, x_13, x_11, x_12, lean_box(0), x_15, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_11); +lean_dec(x_14); +if (lean_obj_tag(x_16) == 0) +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +x_18 = lean_ctor_get(x_17, 0); +lean_inc(x_18); +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +lean_dec(x_18); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_16, 1); +lean_inc(x_20); +lean_dec(x_16); +x_21 = lean_ctor_get(x_17, 1); +lean_inc(x_21); +lean_dec(x_17); +x_22 = l_Lean_Meta_FindSplitImpl_visit(x_2, x_4, x_21, x_6, x_7, x_8, x_9, x_20); +return x_22; +} +else +{ +uint8_t x_23; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +x_23 = !lean_is_exclusive(x_16); +if (x_23 == 0) +{ +lean_object* x_24; uint8_t x_25; +x_24 = lean_ctor_get(x_16, 0); +lean_dec(x_24); +x_25 = !lean_is_exclusive(x_17); +if (x_25 == 0) +{ +lean_object* x_26; lean_object* x_27; +x_26 = lean_ctor_get(x_17, 0); +lean_dec(x_26); +x_27 = lean_ctor_get(x_19, 0); +lean_inc(x_27); +lean_dec(x_19); +lean_ctor_set(x_17, 0, x_27); +return x_16; +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; +x_28 = lean_ctor_get(x_17, 1); +lean_inc(x_28); +lean_dec(x_17); +x_29 = lean_ctor_get(x_19, 0); +lean_inc(x_29); +lean_dec(x_19); +x_30 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_30, 0, x_29); +lean_ctor_set(x_30, 1, x_28); +lean_ctor_set(x_16, 0, x_30); +return x_16; +} +} +else +{ +lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_31 = lean_ctor_get(x_16, 1); +lean_inc(x_31); +lean_dec(x_16); +x_32 = lean_ctor_get(x_17, 1); +lean_inc(x_32); +if (lean_is_exclusive(x_17)) { + lean_ctor_release(x_17, 0); + lean_ctor_release(x_17, 1); + x_33 = x_17; +} else { + lean_dec_ref(x_17); + x_33 = lean_box(0); +} +x_34 = lean_ctor_get(x_19, 0); +lean_inc(x_34); +lean_dec(x_19); +if (lean_is_scalar(x_33)) { + x_35 = lean_alloc_ctor(0, 2, 0); +} else { + x_35 = x_33; +} +lean_ctor_set(x_35, 0, x_34); +lean_ctor_set(x_35, 1, x_32); +x_36 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_36, 1, x_31); +return x_36; +} +} +} +else +{ +uint8_t x_37; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_2); +x_37 = !lean_is_exclusive(x_16); +if (x_37 == 0) +{ +return x_16; +} +else +{ +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_16, 0); +x_39 = lean_ctor_get(x_16, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_16); +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; +} +} +} +} +static lean_object* _init_l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_box(0); +x_2 = lean_array_mk(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___closed__1; +x_2 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_2, 0, x_1); +lean_ctor_set(x_2, 1, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +if (lean_obj_tag(x_1) == 5) +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_11 = lean_ctor_get(x_1, 0); +lean_inc(x_11); +x_12 = lean_ctor_get(x_1, 1); +lean_inc(x_12); +lean_dec(x_1); +x_13 = lean_array_set(x_2, x_3, x_12); +x_14 = lean_unsigned_to_nat(1u); +x_15 = lean_nat_sub(x_3, x_14); +lean_dec(x_3); +x_1 = x_11; +x_2 = x_13; +x_3 = x_15; +goto _start; +} +else +{ +uint8_t x_17; +lean_dec(x_3); +x_17 = l_Lean_Expr_hasLooseBVars(x_1); +if (x_17 == 0) +{ +lean_object* x_18; +lean_inc(x_9); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_1); +x_18 = l_Lean_Meta_getFunInfo(x_1, x_6, x_7, x_8, x_9, x_10); +if (lean_obj_tag(x_18) == 0) +{ +lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___lambda__2(x_2, x_1, x_19, x_4, x_5, x_6, x_7, x_8, x_9, x_20); +lean_dec(x_19); +lean_dec(x_2); +return x_21; +} +else +{ +uint8_t x_22; +lean_dec(x_9); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_2); +lean_dec(x_1); +x_22 = !lean_is_exclusive(x_18); +if (x_22 == 0) +{ +return x_18; +} +else +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_18, 0); +x_24 = lean_ctor_get(x_18, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_18); +x_25 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_25, 0, x_23); +lean_ctor_set(x_25, 1, x_24); +return x_25; +} +} +} +else +{ +lean_object* x_26; lean_object* x_27; +x_26 = l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___closed__2; +x_27 = l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___lambda__2(x_2, x_1, x_26, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_2); +return x_27; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_visit_visitApp_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) { +_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; +x_9 = lean_unsigned_to_nat(0u); +x_10 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_9); +x_11 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__3; +lean_inc(x_10); +x_12 = lean_mk_array(x_10, x_11); +x_13 = lean_unsigned_to_nat(1u); +x_14 = lean_nat_sub(x_10, x_13); +lean_dec(x_10); +x_15 = l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2(x_1, x_12, x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_15; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_visit___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +switch (lean_obj_tag(x_1)) { +case 5: +{ +lean_object* x_10; +x_10 = l_Lean_Meta_FindSplitImpl_visit_visitApp_x3f(x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_10; +} +case 6: +{ +lean_object* x_11; lean_object* x_12; +x_11 = lean_ctor_get(x_1, 2); +lean_inc(x_11); +lean_dec(x_1); +x_12 = l_Lean_Meta_FindSplitImpl_visit(x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_12; +} +case 7: +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_1, 1); +lean_inc(x_13); +x_14 = lean_ctor_get(x_1, 2); +lean_inc(x_14); +lean_dec(x_1); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_15 = l_Lean_Meta_FindSplitImpl_visit(x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_15) == 0) +{ +lean_object* x_16; lean_object* x_17; +x_16 = lean_ctor_get(x_15, 0); +lean_inc(x_16); +x_17 = lean_ctor_get(x_16, 0); +lean_inc(x_17); +if (lean_obj_tag(x_17) == 0) +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_15, 1); +lean_inc(x_18); +lean_dec(x_15); +x_19 = lean_ctor_get(x_16, 1); +lean_inc(x_19); +lean_dec(x_16); +x_20 = l_Lean_Meta_FindSplitImpl_visit(x_14, x_3, x_19, x_5, x_6, x_7, x_8, x_18); +return x_20; +} +else +{ +uint8_t x_21; +lean_dec(x_14); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_21 = !lean_is_exclusive(x_15); +if (x_21 == 0) +{ +lean_object* x_22; uint8_t x_23; +x_22 = lean_ctor_get(x_15, 0); +lean_dec(x_22); +x_23 = !lean_is_exclusive(x_16); +if (x_23 == 0) +{ +lean_object* x_24; uint8_t x_25; +x_24 = lean_ctor_get(x_16, 0); +lean_dec(x_24); +x_25 = !lean_is_exclusive(x_17); +if (x_25 == 0) +{ +return x_15; +} +else +{ +lean_object* x_26; lean_object* x_27; +x_26 = lean_ctor_get(x_17, 0); +lean_inc(x_26); +lean_dec(x_17); +x_27 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_27, 0, x_26); +lean_ctor_set(x_16, 0, x_27); +return x_15; +} +} +else +{ +lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_28 = lean_ctor_get(x_16, 1); +lean_inc(x_28); +lean_dec(x_16); +x_29 = lean_ctor_get(x_17, 0); +lean_inc(x_29); +if (lean_is_exclusive(x_17)) { + lean_ctor_release(x_17, 0); + x_30 = x_17; +} else { + lean_dec_ref(x_17); + x_30 = lean_box(0); +} +if (lean_is_scalar(x_30)) { + x_31 = lean_alloc_ctor(1, 1, 0); +} else { + x_31 = x_30; +} +lean_ctor_set(x_31, 0, x_29); +x_32 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_28); +lean_ctor_set(x_15, 0, x_32); +return x_15; +} +} +else +{ +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; +x_33 = lean_ctor_get(x_15, 1); +lean_inc(x_33); +lean_dec(x_15); +x_34 = lean_ctor_get(x_16, 1); +lean_inc(x_34); +if (lean_is_exclusive(x_16)) { + lean_ctor_release(x_16, 0); + lean_ctor_release(x_16, 1); + x_35 = x_16; +} else { + lean_dec_ref(x_16); + x_35 = lean_box(0); +} +x_36 = lean_ctor_get(x_17, 0); +lean_inc(x_36); +if (lean_is_exclusive(x_17)) { + lean_ctor_release(x_17, 0); + x_37 = x_17; +} else { + lean_dec_ref(x_17); + x_37 = lean_box(0); +} +if (lean_is_scalar(x_37)) { + x_38 = lean_alloc_ctor(1, 1, 0); +} else { + x_38 = x_37; +} +lean_ctor_set(x_38, 0, x_36); +if (lean_is_scalar(x_35)) { + x_39 = lean_alloc_ctor(0, 2, 0); +} else { + x_39 = x_35; +} +lean_ctor_set(x_39, 0, x_38); +lean_ctor_set(x_39, 1, x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_33); +return x_40; +} +} +} +else +{ +uint8_t x_41; +lean_dec(x_14); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_41 = !lean_is_exclusive(x_15); +if (x_41 == 0) +{ +return x_15; +} +else +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; +x_42 = lean_ctor_get(x_15, 0); +x_43 = lean_ctor_get(x_15, 1); +lean_inc(x_43); +lean_inc(x_42); +lean_dec(x_15); +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; +} +} +} +case 8: +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; +x_45 = lean_ctor_get(x_1, 2); +lean_inc(x_45); +x_46 = lean_ctor_get(x_1, 3); +lean_inc(x_46); +lean_dec(x_1); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +x_47 = l_Lean_Meta_FindSplitImpl_visit(x_45, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +if (lean_obj_tag(x_47) == 0) +{ +lean_object* x_48; lean_object* x_49; +x_48 = lean_ctor_get(x_47, 0); +lean_inc(x_48); +x_49 = lean_ctor_get(x_48, 0); +lean_inc(x_49); +if (lean_obj_tag(x_49) == 0) +{ +lean_object* x_50; lean_object* x_51; lean_object* x_52; +x_50 = lean_ctor_get(x_47, 1); +lean_inc(x_50); +lean_dec(x_47); +x_51 = lean_ctor_get(x_48, 1); +lean_inc(x_51); +lean_dec(x_48); +x_52 = l_Lean_Meta_FindSplitImpl_visit(x_46, x_3, x_51, x_5, x_6, x_7, x_8, x_50); +return x_52; +} +else +{ +uint8_t x_53; +lean_dec(x_46); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_53 = !lean_is_exclusive(x_47); +if (x_53 == 0) +{ +lean_object* x_54; uint8_t x_55; +x_54 = lean_ctor_get(x_47, 0); +lean_dec(x_54); +x_55 = !lean_is_exclusive(x_48); +if (x_55 == 0) +{ +lean_object* x_56; uint8_t x_57; +x_56 = lean_ctor_get(x_48, 0); +lean_dec(x_56); +x_57 = !lean_is_exclusive(x_49); +if (x_57 == 0) +{ +return x_47; +} +else +{ +lean_object* x_58; lean_object* x_59; +x_58 = lean_ctor_get(x_49, 0); +lean_inc(x_58); +lean_dec(x_49); +x_59 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_59, 0, x_58); +lean_ctor_set(x_48, 0, x_59); +return x_47; +} +} +else +{ +lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_60 = lean_ctor_get(x_48, 1); +lean_inc(x_60); +lean_dec(x_48); +x_61 = lean_ctor_get(x_49, 0); +lean_inc(x_61); +if (lean_is_exclusive(x_49)) { + lean_ctor_release(x_49, 0); + x_62 = x_49; +} else { + lean_dec_ref(x_49); + x_62 = lean_box(0); +} +if (lean_is_scalar(x_62)) { + x_63 = lean_alloc_ctor(1, 1, 0); +} else { + x_63 = x_62; +} +lean_ctor_set(x_63, 0, x_61); +x_64 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_64, 0, x_63); +lean_ctor_set(x_64, 1, x_60); +lean_ctor_set(x_47, 0, x_64); +return x_47; +} +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; +x_65 = lean_ctor_get(x_47, 1); +lean_inc(x_65); +lean_dec(x_47); +x_66 = lean_ctor_get(x_48, 1); +lean_inc(x_66); +if (lean_is_exclusive(x_48)) { + lean_ctor_release(x_48, 0); + lean_ctor_release(x_48, 1); + x_67 = x_48; +} else { + lean_dec_ref(x_48); + x_67 = lean_box(0); +} +x_68 = lean_ctor_get(x_49, 0); +lean_inc(x_68); +if (lean_is_exclusive(x_49)) { + lean_ctor_release(x_49, 0); + x_69 = x_49; +} else { + lean_dec_ref(x_49); + x_69 = lean_box(0); +} +if (lean_is_scalar(x_69)) { + x_70 = lean_alloc_ctor(1, 1, 0); +} else { + x_70 = x_69; +} +lean_ctor_set(x_70, 0, x_68); +if (lean_is_scalar(x_67)) { + x_71 = lean_alloc_ctor(0, 2, 0); +} else { + x_71 = x_67; +} +lean_ctor_set(x_71, 0, x_70); +lean_ctor_set(x_71, 1, x_66); +x_72 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_72, 0, x_71); +lean_ctor_set(x_72, 1, x_65); +return x_72; +} +} +} +else +{ +uint8_t x_73; +lean_dec(x_46); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_73 = !lean_is_exclusive(x_47); +if (x_73 == 0) +{ +return x_47; +} +else +{ +lean_object* x_74; lean_object* x_75; lean_object* x_76; +x_74 = lean_ctor_get(x_47, 0); +x_75 = lean_ctor_get(x_47, 1); +lean_inc(x_75); +lean_inc(x_74); +lean_dec(x_47); +x_76 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_76, 0, x_74); +lean_ctor_set(x_76, 1, x_75); +return x_76; +} +} +} +case 10: +{ +lean_object* x_77; lean_object* x_78; +x_77 = lean_ctor_get(x_1, 1); +lean_inc(x_77); +lean_dec(x_1); +x_78 = l_Lean_Meta_FindSplitImpl_visit(x_77, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_78; +} +case 11: +{ +lean_object* x_79; lean_object* x_80; +x_79 = lean_ctor_get(x_1, 2); +lean_inc(x_79); +lean_dec(x_1); +x_80 = l_Lean_Meta_FindSplitImpl_visit(x_79, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +return x_80; +} +default: +{ +lean_object* x_81; lean_object* x_82; lean_object* x_83; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_1); +x_81 = lean_box(0); +x_82 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_82, 0, x_81); +lean_ctor_set(x_82, 1, x_4); +x_83 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_83, 0, x_82); +lean_ctor_set(x_83, 1, x_9); +return x_83; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_visit(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_107; lean_object* x_108; size_t x_109; uint64_t x_110; uint64_t x_111; uint64_t x_112; uint64_t x_113; uint64_t x_114; uint64_t x_115; uint64_t x_116; uint64_t x_117; uint64_t x_118; size_t x_119; size_t x_120; size_t x_121; size_t x_122; size_t x_123; lean_object* x_124; uint8_t x_125; +x_107 = lean_ctor_get(x_3, 1); +lean_inc(x_107); +x_108 = lean_array_get_size(x_107); +x_109 = lean_ptr_addr(x_1); +x_110 = lean_usize_to_uint64(x_109); +x_111 = 11; +x_112 = lean_uint64_mix_hash(x_110, x_111); +x_113 = 32; +x_114 = lean_uint64_shift_right(x_112, x_113); +x_115 = lean_uint64_xor(x_112, x_114); +x_116 = 16; +x_117 = lean_uint64_shift_right(x_115, x_116); +x_118 = lean_uint64_xor(x_115, x_117); +x_119 = lean_uint64_to_usize(x_118); +x_120 = lean_usize_of_nat(x_108); +lean_dec(x_108); +x_121 = 1; +x_122 = lean_usize_sub(x_120, x_121); +x_123 = lean_usize_land(x_119, x_122); +x_124 = lean_array_uget(x_107, x_123); +lean_dec(x_107); +x_125 = l_Std_DHashMap_Internal_AssocList_contains___at_Lean_Expr_NumObjs_visit___spec__1(x_1, x_124); +lean_dec(x_124); +if (x_125 == 0) +{ +lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; +x_126 = lean_box(0); +lean_inc(x_1); +x_127 = l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1(x_1, x_126, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +x_128 = lean_ctor_get(x_127, 0); +lean_inc(x_128); +x_129 = lean_ctor_get(x_127, 1); +lean_inc(x_129); +lean_dec(x_127); +x_9 = x_128; +x_10 = x_129; +goto block_106; +} +else +{ +lean_object* x_130; lean_object* x_131; +x_130 = lean_box(0); +x_131 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_131, 0, x_130); +lean_ctor_set(x_131, 1, x_3); +x_9 = x_131; +x_10 = x_8; +goto block_106; +} +block_106: +{ +lean_object* x_11; +x_11 = lean_ctor_get(x_9, 0); +lean_inc(x_11); +if (lean_obj_tag(x_11) == 0) +{ +uint8_t x_12; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_12 = !lean_is_exclusive(x_9); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_13 = lean_ctor_get(x_9, 0); +lean_dec(x_13); +x_14 = lean_box(0); +lean_ctor_set(x_9, 0, x_14); +x_15 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_15, 0, x_9); +lean_ctor_set(x_15, 1, x_10); +return x_15; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_16 = lean_ctor_get(x_9, 1); +lean_inc(x_16); +lean_dec(x_9); +x_17 = lean_box(0); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_16); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_10); +return x_19; +} +} +else +{ +uint8_t x_20; +lean_dec(x_11); +x_20 = !lean_is_exclusive(x_9); +if (x_20 == 0) +{ +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; +x_21 = lean_ctor_get(x_9, 1); +x_22 = lean_ctor_get(x_9, 0); +lean_dec(x_22); +x_23 = lean_st_ref_get(x_7, x_10); +x_24 = !lean_is_exclusive(x_23); +if (x_24 == 0) +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_25 = lean_ctor_get(x_23, 0); +x_26 = lean_ctor_get(x_23, 1); +x_27 = lean_ctor_get(x_25, 0); +lean_inc(x_27); +lean_dec(x_25); +lean_inc(x_1); +x_28 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f(x_27, x_2, x_1); +lean_dec(x_27); +if (lean_obj_tag(x_28) == 0) +{ +uint8_t x_29; +lean_free_object(x_23); +x_29 = l_Lean_Expr_hasLooseBVars(x_1); +if (x_29 == 0) +{ +lean_object* x_30; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_30 = l_Lean_Meta_isProof(x_1, x_4, x_5, x_6, x_7, x_26); +if (lean_obj_tag(x_30) == 0) +{ +lean_object* x_31; uint8_t x_32; +x_31 = lean_ctor_get(x_30, 0); +lean_inc(x_31); +x_32 = lean_unbox(x_31); +lean_dec(x_31); +if (x_32 == 0) +{ +lean_object* x_33; lean_object* x_34; lean_object* x_35; +lean_free_object(x_9); +x_33 = lean_ctor_get(x_30, 1); +lean_inc(x_33); +lean_dec(x_30); +x_34 = lean_box(0); +x_35 = l_Lean_Meta_FindSplitImpl_visit___lambda__1(x_1, x_34, x_2, x_21, x_4, x_5, x_6, x_7, x_33); +return x_35; +} +else +{ +uint8_t x_36; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_36 = !lean_is_exclusive(x_30); +if (x_36 == 0) +{ +lean_object* x_37; lean_object* x_38; +x_37 = lean_ctor_get(x_30, 0); +lean_dec(x_37); +x_38 = lean_box(0); +lean_ctor_set(x_9, 0, x_38); +lean_ctor_set(x_30, 0, x_9); +return x_30; +} +else +{ +lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_39 = lean_ctor_get(x_30, 1); +lean_inc(x_39); +lean_dec(x_30); +x_40 = lean_box(0); +lean_ctor_set(x_9, 0, x_40); +x_41 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_41, 0, x_9); +lean_ctor_set(x_41, 1, x_39); +return x_41; +} +} +} +else +{ +uint8_t x_42; +lean_free_object(x_9); +lean_dec(x_21); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_42 = !lean_is_exclusive(x_30); +if (x_42 == 0) +{ +return x_30; +} +else +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_30, 0); +x_44 = lean_ctor_get(x_30, 1); +lean_inc(x_44); +lean_inc(x_43); +lean_dec(x_30); +x_45 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +return x_45; +} +} +} +else +{ +lean_object* x_46; lean_object* x_47; +lean_free_object(x_9); +x_46 = lean_box(0); +x_47 = l_Lean_Meta_FindSplitImpl_visit___lambda__1(x_1, x_46, x_2, x_21, x_4, x_5, x_6, x_7, x_26); +return x_47; +} +} +else +{ +uint8_t x_48; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_48 = !lean_is_exclusive(x_28); +if (x_48 == 0) +{ +lean_ctor_set(x_9, 0, x_28); +lean_ctor_set(x_23, 0, x_9); +return x_23; +} +else +{ +lean_object* x_49; lean_object* x_50; +x_49 = lean_ctor_get(x_28, 0); +lean_inc(x_49); +lean_dec(x_28); +x_50 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_50, 0, x_49); +lean_ctor_set(x_9, 0, x_50); +lean_ctor_set(x_23, 0, x_9); +return x_23; +} +} +} +else +{ +lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; +x_51 = lean_ctor_get(x_23, 0); +x_52 = lean_ctor_get(x_23, 1); +lean_inc(x_52); +lean_inc(x_51); +lean_dec(x_23); +x_53 = lean_ctor_get(x_51, 0); +lean_inc(x_53); +lean_dec(x_51); +lean_inc(x_1); +x_54 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f(x_53, x_2, x_1); +lean_dec(x_53); +if (lean_obj_tag(x_54) == 0) +{ +uint8_t x_55; +x_55 = l_Lean_Expr_hasLooseBVars(x_1); +if (x_55 == 0) +{ +lean_object* x_56; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_56 = l_Lean_Meta_isProof(x_1, x_4, x_5, x_6, x_7, x_52); +if (lean_obj_tag(x_56) == 0) +{ +lean_object* x_57; uint8_t x_58; +x_57 = lean_ctor_get(x_56, 0); +lean_inc(x_57); +x_58 = lean_unbox(x_57); +lean_dec(x_57); +if (x_58 == 0) +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; +lean_free_object(x_9); +x_59 = lean_ctor_get(x_56, 1); +lean_inc(x_59); +lean_dec(x_56); +x_60 = lean_box(0); +x_61 = l_Lean_Meta_FindSplitImpl_visit___lambda__1(x_1, x_60, x_2, x_21, x_4, x_5, x_6, x_7, x_59); +return x_61; +} +else +{ +lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_62 = lean_ctor_get(x_56, 1); +lean_inc(x_62); +if (lean_is_exclusive(x_56)) { + lean_ctor_release(x_56, 0); + lean_ctor_release(x_56, 1); + x_63 = x_56; +} else { + lean_dec_ref(x_56); + x_63 = lean_box(0); +} +x_64 = lean_box(0); +lean_ctor_set(x_9, 0, x_64); +if (lean_is_scalar(x_63)) { + x_65 = lean_alloc_ctor(0, 2, 0); +} else { + x_65 = x_63; +} +lean_ctor_set(x_65, 0, x_9); +lean_ctor_set(x_65, 1, x_62); +return x_65; +} +} +else +{ +lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; +lean_free_object(x_9); +lean_dec(x_21); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_66 = lean_ctor_get(x_56, 0); +lean_inc(x_66); +x_67 = lean_ctor_get(x_56, 1); +lean_inc(x_67); +if (lean_is_exclusive(x_56)) { + lean_ctor_release(x_56, 0); + lean_ctor_release(x_56, 1); + x_68 = x_56; +} else { + lean_dec_ref(x_56); + x_68 = lean_box(0); +} +if (lean_is_scalar(x_68)) { + x_69 = lean_alloc_ctor(1, 2, 0); +} else { + x_69 = x_68; +} +lean_ctor_set(x_69, 0, x_66); +lean_ctor_set(x_69, 1, x_67); +return x_69; +} +} +else +{ +lean_object* x_70; lean_object* x_71; +lean_free_object(x_9); +x_70 = lean_box(0); +x_71 = l_Lean_Meta_FindSplitImpl_visit___lambda__1(x_1, x_70, x_2, x_21, x_4, x_5, x_6, x_7, x_52); +return x_71; +} +} +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_72 = lean_ctor_get(x_54, 0); +lean_inc(x_72); +if (lean_is_exclusive(x_54)) { + lean_ctor_release(x_54, 0); + x_73 = x_54; +} else { + lean_dec_ref(x_54); + x_73 = lean_box(0); +} +if (lean_is_scalar(x_73)) { + x_74 = lean_alloc_ctor(1, 1, 0); +} else { + x_74 = x_73; +} +lean_ctor_set(x_74, 0, x_72); +lean_ctor_set(x_9, 0, x_74); +x_75 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_75, 0, x_9); +lean_ctor_set(x_75, 1, x_52); +return x_75; +} +} +} +else +{ +lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; +x_76 = lean_ctor_get(x_9, 1); +lean_inc(x_76); +lean_dec(x_9); +x_77 = lean_st_ref_get(x_7, x_10); +x_78 = lean_ctor_get(x_77, 0); +lean_inc(x_78); +x_79 = lean_ctor_get(x_77, 1); +lean_inc(x_79); +if (lean_is_exclusive(x_77)) { + lean_ctor_release(x_77, 0); + lean_ctor_release(x_77, 1); + x_80 = x_77; +} else { + lean_dec_ref(x_77); + x_80 = lean_box(0); +} +x_81 = lean_ctor_get(x_78, 0); +lean_inc(x_81); +lean_dec(x_78); +lean_inc(x_1); +x_82 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f(x_81, x_2, x_1); +lean_dec(x_81); +if (lean_obj_tag(x_82) == 0) +{ +uint8_t x_83; +lean_dec(x_80); +x_83 = l_Lean_Expr_hasLooseBVars(x_1); +if (x_83 == 0) +{ +lean_object* x_84; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_1); +x_84 = l_Lean_Meta_isProof(x_1, x_4, x_5, x_6, x_7, x_79); +if (lean_obj_tag(x_84) == 0) +{ +lean_object* x_85; uint8_t x_86; +x_85 = lean_ctor_get(x_84, 0); +lean_inc(x_85); +x_86 = lean_unbox(x_85); +lean_dec(x_85); +if (x_86 == 0) +{ +lean_object* x_87; lean_object* x_88; lean_object* x_89; +x_87 = lean_ctor_get(x_84, 1); +lean_inc(x_87); +lean_dec(x_84); +x_88 = lean_box(0); +x_89 = l_Lean_Meta_FindSplitImpl_visit___lambda__1(x_1, x_88, x_2, x_76, x_4, x_5, x_6, x_7, x_87); +return x_89; +} +else +{ +lean_object* x_90; lean_object* x_91; lean_object* x_92; lean_object* x_93; lean_object* x_94; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_90 = lean_ctor_get(x_84, 1); +lean_inc(x_90); +if (lean_is_exclusive(x_84)) { + lean_ctor_release(x_84, 0); + lean_ctor_release(x_84, 1); + x_91 = x_84; +} else { + lean_dec_ref(x_84); + x_91 = lean_box(0); +} +x_92 = lean_box(0); +x_93 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_93, 0, x_92); +lean_ctor_set(x_93, 1, x_76); +if (lean_is_scalar(x_91)) { + x_94 = lean_alloc_ctor(0, 2, 0); +} else { + x_94 = x_91; +} +lean_ctor_set(x_94, 0, x_93); +lean_ctor_set(x_94, 1, x_90); +return x_94; +} +} +else +{ +lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; +lean_dec(x_76); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_95 = lean_ctor_get(x_84, 0); +lean_inc(x_95); +x_96 = lean_ctor_get(x_84, 1); +lean_inc(x_96); +if (lean_is_exclusive(x_84)) { + lean_ctor_release(x_84, 0); + lean_ctor_release(x_84, 1); + x_97 = x_84; +} else { + lean_dec_ref(x_84); + x_97 = lean_box(0); +} +if (lean_is_scalar(x_97)) { + x_98 = lean_alloc_ctor(1, 2, 0); +} else { + x_98 = x_97; +} +lean_ctor_set(x_98, 0, x_95); +lean_ctor_set(x_98, 1, x_96); +return x_98; +} +} +else +{ +lean_object* x_99; lean_object* x_100; +x_99 = lean_box(0); +x_100 = l_Lean_Meta_FindSplitImpl_visit___lambda__1(x_1, x_99, x_2, x_76, x_4, x_5, x_6, x_7, x_79); +return x_100; +} +} +else +{ +lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +x_101 = lean_ctor_get(x_82, 0); +lean_inc(x_101); +if (lean_is_exclusive(x_82)) { + lean_ctor_release(x_82, 0); + x_102 = x_82; +} else { + lean_dec_ref(x_82); + x_102 = lean_box(0); +} +if (lean_is_scalar(x_102)) { + x_103 = lean_alloc_ctor(1, 1, 0); +} else { + x_103 = x_102; +} +lean_ctor_set(x_103, 0, x_101); +x_104 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_104, 0, x_103); +lean_ctor_set(x_104, 1, x_76); +if (lean_is_scalar(x_80)) { + x_105 = lean_alloc_ctor(0, 2, 0); +} else { + x_105 = x_80; +} +lean_ctor_set(x_105, 0, x_104); +lean_ctor_set(x_105, 1, x_79); +return x_105; +} +} +} +} +} +} +LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__1___boxed(lean_object** _args) { +lean_object* x_1 = _args[0]; +lean_object* x_2 = _args[1]; +lean_object* x_3 = _args[2]; +lean_object* x_4 = _args[3]; +lean_object* x_5 = _args[4]; +lean_object* x_6 = _args[5]; +lean_object* x_7 = _args[6]; +lean_object* x_8 = _args[7]; +lean_object* x_9 = _args[8]; +lean_object* x_10 = _args[9]; +lean_object* x_11 = _args[10]; +lean_object* x_12 = _args[11]; +lean_object* x_13 = _args[12]; +lean_object* x_14 = _args[13]; +lean_object* x_15 = _args[14]; +lean_object* x_16 = _args[15]; +lean_object* x_17 = _args[16]; +lean_object* x_18 = _args[17]; +_start: +{ +lean_object* x_19; +x_19 = l_Std_Range_forIn_x27_loop___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18); +lean_dec(x_12); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_19; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_3); +lean_dec(x_2); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; +x_11 = l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +_start: +{ +lean_object* x_11; +x_11 = l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +lean_dec(x_4); +return x_11; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___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_Meta_FindSplitImpl_visit_visitApp_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_2); +return x_9; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_visit___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { +_start: +{ +lean_object* x_10; +x_10 = l_Lean_Meta_FindSplitImpl_visit___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9); +lean_dec(x_3); +lean_dec(x_2); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_FindSplitImpl_visit___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_Meta_FindSplitImpl_visit(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_2); +return x_9; +} +} +static lean_object* _init_l_Lean_Meta_findSplit_x3f_find_x3f_unsafe__1___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_unsigned_to_nat(64u); +x_2 = l_Lean_mkPtrSet___rarg(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_find_x3f_unsafe__1(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) { +_start: +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_9 = lean_alloc_ctor(0, 1, 1); +lean_ctor_set(x_9, 0, x_2); +lean_ctor_set_uint8(x_9, sizeof(void*)*1, x_1); +x_10 = l_Lean_Meta_findSplit_x3f_find_x3f_unsafe__1___closed__1; +x_11 = l_Lean_Meta_FindSplitImpl_visit(x_3, x_9, x_10, x_4, x_5, x_6, x_7, x_8); +lean_dec(x_9); +if (lean_obj_tag(x_11) == 0) +{ +uint8_t x_12; +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) +{ +lean_object* x_13; lean_object* x_14; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_13, 0); +lean_inc(x_14); +lean_dec(x_13); +lean_ctor_set(x_11, 0, x_14); +return x_11; +} +else +{ +lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_15 = lean_ctor_get(x_11, 0); +x_16 = lean_ctor_get(x_11, 1); +lean_inc(x_16); +lean_inc(x_15); +lean_dec(x_11); +x_17 = lean_ctor_get(x_15, 0); +lean_inc(x_17); +lean_dec(x_15); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_16); +return x_18; +} +} +else +{ +uint8_t x_19; +x_19 = !lean_is_exclusive(x_11); +if (x_19 == 0) +{ +return x_11; +} +else +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; +x_20 = lean_ctor_get(x_11, 0); +x_21 = lean_ctor_get(x_11, 1); +lean_inc(x_21); +lean_inc(x_20); +lean_dec(x_11); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_20); +lean_ctor_set(x_22, 1, x_21); +return x_22; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_find_x3f_unsafe__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: +{ +uint8_t x_9; lean_object* x_10; +x_9 = lean_unbox(x_1); +lean_dec(x_1); +x_10 = l_Lean_Meta_findSplit_x3f_find_x3f_unsafe__1(x_9, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; lean_object* x_9; +x_8 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_8, 0, x_1); +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +return x_9; +} +} +static lean_object* _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("split", 5, 5); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("debug", 5, 5); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__1; +x_2 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__2; +x_3 = l_Lean_Name_mkStr2(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("candidate:", 10, 10); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__4; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("", 0, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__6; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_find_x3f(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) { +_start: +{ +lean_object* x_9; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_9 = l_Lean_Meta_findSplit_x3f_find_x3f_unsafe__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_9) == 0) +{ +lean_object* x_10; +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +if (lean_obj_tag(x_10) == 0) +{ +uint8_t x_11; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_11 = !lean_is_exclusive(x_9); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_9, 0); +lean_dec(x_12); +x_13 = lean_box(0); +lean_ctor_set(x_9, 0, x_13); +return x_9; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_9, 1); +lean_inc(x_14); +lean_dec(x_9); +x_15 = lean_box(0); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +return x_16; +} +} +else +{ +lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; +x_17 = lean_ctor_get(x_9, 1); +lean_inc(x_17); +lean_dec(x_9); +x_18 = lean_ctor_get(x_10, 0); +lean_inc(x_18); +lean_dec(x_10); +x_19 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__3; +x_20 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_19, x_4, x_5, x_6, x_7, x_17); +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_unbox(x_21); +lean_dec(x_21); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_23 = lean_ctor_get(x_20, 1); +lean_inc(x_23); +lean_dec(x_20); +x_24 = lean_box(0); +x_25 = l_Lean_Meta_findSplit_x3f_find_x3f___lambda__1(x_18, x_24, x_4, x_5, x_6, x_7, x_23); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +return x_25; +} +else +{ +uint8_t x_26; +x_26 = !lean_is_exclusive(x_20); +if (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; +x_27 = lean_ctor_get(x_20, 1); +x_28 = lean_ctor_get(x_20, 0); +lean_dec(x_28); +lean_inc(x_18); +x_29 = l_Lean_indentExpr(x_18); +x_30 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__5; +lean_ctor_set_tag(x_20, 7); +lean_ctor_set(x_20, 1, x_29); +lean_ctor_set(x_20, 0, x_30); +x_31 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_32 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_32, 0, x_20); +lean_ctor_set(x_32, 1, x_31); +x_33 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_19, x_32, x_4, x_5, x_6, x_7, x_27); +x_34 = lean_ctor_get(x_33, 0); +lean_inc(x_34); +x_35 = lean_ctor_get(x_33, 1); +lean_inc(x_35); +lean_dec(x_33); +x_36 = l_Lean_Meta_findSplit_x3f_find_x3f___lambda__1(x_18, x_34, x_4, x_5, x_6, x_7, x_35); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_34); +return x_36; +} +else +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_37 = lean_ctor_get(x_20, 1); +lean_inc(x_37); +lean_dec(x_20); +lean_inc(x_18); +x_38 = l_Lean_indentExpr(x_18); +x_39 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__5; +x_40 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_40, 0, x_39); +lean_ctor_set(x_40, 1, x_38); +x_41 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_42 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +x_43 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_19, x_42, x_4, x_5, x_6, x_7, x_37); +x_44 = lean_ctor_get(x_43, 0); +lean_inc(x_44); +x_45 = lean_ctor_get(x_43, 1); +lean_inc(x_45); +lean_dec(x_43); +x_46 = l_Lean_Meta_findSplit_x3f_find_x3f___lambda__1(x_18, x_44, x_4, x_5, x_6, x_7, x_45); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_44); +return x_46; +} +} +} +} +else +{ +uint8_t x_47; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +x_47 = !lean_is_exclusive(x_9); +if (x_47 == 0) +{ +return x_9; +} +else +{ +lean_object* x_48; lean_object* x_49; lean_object* x_50; +x_48 = lean_ctor_get(x_9, 0); +x_49 = lean_ctor_get(x_9, 1); +lean_inc(x_49); +lean_inc(x_48); +lean_dec(x_9); +x_50 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_50, 0, x_48); +lean_ctor_set(x_50, 1, x_49); +return x_50; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +_start: +{ +lean_object* x_8; +x_8 = l_Lean_Meta_findSplit_x3f_find_x3f___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +return x_8; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_find_x3f___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_1); +lean_dec(x_1); +x_10 = l_Lean_Meta_findSplit_x3f_find_x3f(x_9, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_go(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) { +_start: +{ +lean_object* x_9; +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_2); +x_9 = l_Lean_Meta_findSplit_x3f_find_x3f(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +if (lean_obj_tag(x_9) == 0) +{ +lean_object* x_10; +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +if (lean_obj_tag(x_10) == 0) +{ +uint8_t x_11; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_11 = !lean_is_exclusive(x_9); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_9, 0); +lean_dec(x_12); +x_13 = lean_box(0); +lean_ctor_set(x_9, 0, x_13); +return x_9; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_9, 1); +lean_inc(x_14); +lean_dec(x_9); +x_15 = lean_box(0); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +return x_16; +} +} +else +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_9); +if (x_17 == 0) +{ +lean_object* x_18; lean_object* x_19; uint8_t x_20; +x_18 = lean_ctor_get(x_9, 1); +x_19 = lean_ctor_get(x_9, 0); +lean_dec(x_19); +x_20 = !lean_is_exclusive(x_10); +if (x_20 == 0) +{ +lean_object* x_21; uint8_t x_22; +x_21 = lean_ctor_get(x_10, 0); +x_22 = l_Lean_Expr_isIte(x_21); +if (x_22 == 0) +{ +uint8_t x_23; +x_23 = l_Lean_Expr_isDIte(x_21); +if (x_23 == 0) +{ +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +return x_9; +} +else +{ +lean_object* x_24; lean_object* x_25; lean_object* x_26; +lean_free_object(x_9); +x_24 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2; +x_25 = l_Lean_Expr_getRevArg_x21(x_21, x_24); +x_26 = l_Lean_Meta_findSplit_x3f_go(x_1, x_2, x_25, x_4, x_5, x_6, x_7, x_18); +if (lean_obj_tag(x_26) == 0) +{ +lean_object* x_27; +x_27 = lean_ctor_get(x_26, 0); +lean_inc(x_27); +if (lean_obj_tag(x_27) == 0) +{ +uint8_t x_28; +x_28 = !lean_is_exclusive(x_26); +if (x_28 == 0) +{ +lean_object* x_29; +x_29 = lean_ctor_get(x_26, 0); +lean_dec(x_29); +lean_ctor_set(x_26, 0, x_10); +return x_26; +} +else +{ +lean_object* x_30; lean_object* x_31; +x_30 = lean_ctor_get(x_26, 1); +lean_inc(x_30); +lean_dec(x_26); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_10); +lean_ctor_set(x_31, 1, x_30); +return x_31; +} +} +else +{ +uint8_t x_32; +lean_free_object(x_10); +lean_dec(x_21); +x_32 = !lean_is_exclusive(x_26); +if (x_32 == 0) +{ +lean_object* x_33; uint8_t x_34; +x_33 = lean_ctor_get(x_26, 0); +lean_dec(x_33); +x_34 = !lean_is_exclusive(x_27); +if (x_34 == 0) +{ +return x_26; +} +else +{ +lean_object* x_35; lean_object* x_36; +x_35 = lean_ctor_get(x_27, 0); +lean_inc(x_35); +lean_dec(x_27); +x_36 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_36, 0, x_35); +lean_ctor_set(x_26, 0, x_36); +return x_26; +} +} +else +{ +lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_37 = lean_ctor_get(x_26, 1); +lean_inc(x_37); +lean_dec(x_26); +x_38 = lean_ctor_get(x_27, 0); +lean_inc(x_38); +if (lean_is_exclusive(x_27)) { + lean_ctor_release(x_27, 0); + x_39 = x_27; +} else { + lean_dec_ref(x_27); + x_39 = lean_box(0); +} +if (lean_is_scalar(x_39)) { + x_40 = lean_alloc_ctor(1, 1, 0); +} else { + x_40 = x_39; +} +lean_ctor_set(x_40, 0, x_38); +x_41 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_37); +return x_41; +} +} +} +else +{ +uint8_t x_42; +lean_free_object(x_10); +lean_dec(x_21); +x_42 = !lean_is_exclusive(x_26); +if (x_42 == 0) +{ +return x_26; +} +else +{ +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_26, 0); +x_44 = lean_ctor_get(x_26, 1); +lean_inc(x_44); +lean_inc(x_43); +lean_dec(x_26); +x_45 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_45, 0, x_43); +lean_ctor_set(x_45, 1, x_44); +return x_45; +} +} +} +} +else +{ +lean_object* x_46; lean_object* x_47; lean_object* x_48; +lean_free_object(x_9); +x_46 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2; +x_47 = l_Lean_Expr_getRevArg_x21(x_21, x_46); +x_48 = l_Lean_Meta_findSplit_x3f_go(x_1, x_2, x_47, x_4, x_5, x_6, x_7, x_18); +if (lean_obj_tag(x_48) == 0) +{ +lean_object* x_49; +x_49 = lean_ctor_get(x_48, 0); +lean_inc(x_49); +if (lean_obj_tag(x_49) == 0) +{ +uint8_t x_50; +x_50 = !lean_is_exclusive(x_48); +if (x_50 == 0) +{ +lean_object* x_51; +x_51 = lean_ctor_get(x_48, 0); +lean_dec(x_51); +lean_ctor_set(x_48, 0, x_10); +return x_48; +} +else +{ +lean_object* x_52; lean_object* x_53; +x_52 = lean_ctor_get(x_48, 1); +lean_inc(x_52); +lean_dec(x_48); +x_53 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_53, 0, x_10); +lean_ctor_set(x_53, 1, x_52); +return x_53; +} +} +else +{ +uint8_t x_54; +lean_free_object(x_10); +lean_dec(x_21); +x_54 = !lean_is_exclusive(x_48); +if (x_54 == 0) +{ +lean_object* x_55; uint8_t x_56; +x_55 = lean_ctor_get(x_48, 0); +lean_dec(x_55); +x_56 = !lean_is_exclusive(x_49); +if (x_56 == 0) +{ +return x_48; +} +else +{ +lean_object* x_57; lean_object* x_58; +x_57 = lean_ctor_get(x_49, 0); +lean_inc(x_57); +lean_dec(x_49); +x_58 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_58, 0, x_57); +lean_ctor_set(x_48, 0, x_58); +return x_48; +} +} +else +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; +x_59 = lean_ctor_get(x_48, 1); +lean_inc(x_59); +lean_dec(x_48); +x_60 = lean_ctor_get(x_49, 0); +lean_inc(x_60); +if (lean_is_exclusive(x_49)) { + lean_ctor_release(x_49, 0); + x_61 = x_49; +} else { + lean_dec_ref(x_49); + x_61 = lean_box(0); +} +if (lean_is_scalar(x_61)) { + x_62 = lean_alloc_ctor(1, 1, 0); +} else { + x_62 = x_61; +} +lean_ctor_set(x_62, 0, x_60); +x_63 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_63, 0, x_62); +lean_ctor_set(x_63, 1, x_59); +return x_63; +} +} +} +else +{ +uint8_t x_64; +lean_free_object(x_10); +lean_dec(x_21); +x_64 = !lean_is_exclusive(x_48); +if (x_64 == 0) +{ +return x_48; +} +else +{ +lean_object* x_65; lean_object* x_66; lean_object* x_67; +x_65 = lean_ctor_get(x_48, 0); +x_66 = lean_ctor_get(x_48, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_48); +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +return x_67; +} +} +} +} +else +{ +lean_object* x_68; uint8_t x_69; +x_68 = lean_ctor_get(x_10, 0); +lean_inc(x_68); +lean_dec(x_10); +x_69 = l_Lean_Expr_isIte(x_68); +if (x_69 == 0) +{ +uint8_t x_70; +x_70 = l_Lean_Expr_isDIte(x_68); +if (x_70 == 0) +{ +lean_object* x_71; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_71 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_71, 0, x_68); +lean_ctor_set(x_9, 0, x_71); +return x_9; +} +else +{ +lean_object* x_72; lean_object* x_73; lean_object* x_74; +lean_free_object(x_9); +x_72 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2; +x_73 = l_Lean_Expr_getRevArg_x21(x_68, x_72); +x_74 = l_Lean_Meta_findSplit_x3f_go(x_1, x_2, x_73, x_4, x_5, x_6, x_7, x_18); +if (lean_obj_tag(x_74) == 0) +{ +lean_object* x_75; +x_75 = lean_ctor_get(x_74, 0); +lean_inc(x_75); +if (lean_obj_tag(x_75) == 0) +{ +lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; +x_76 = lean_ctor_get(x_74, 1); +lean_inc(x_76); +if (lean_is_exclusive(x_74)) { + lean_ctor_release(x_74, 0); + lean_ctor_release(x_74, 1); + x_77 = x_74; +} else { + lean_dec_ref(x_74); + x_77 = lean_box(0); +} +x_78 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_78, 0, x_68); +if (lean_is_scalar(x_77)) { + x_79 = lean_alloc_ctor(0, 2, 0); +} else { + x_79 = x_77; +} +lean_ctor_set(x_79, 0, x_78); +lean_ctor_set(x_79, 1, x_76); +return x_79; +} +else +{ +lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; +lean_dec(x_68); +x_80 = lean_ctor_get(x_74, 1); +lean_inc(x_80); +if (lean_is_exclusive(x_74)) { + lean_ctor_release(x_74, 0); + lean_ctor_release(x_74, 1); + x_81 = x_74; +} else { + lean_dec_ref(x_74); + x_81 = lean_box(0); +} +x_82 = lean_ctor_get(x_75, 0); +lean_inc(x_82); +if (lean_is_exclusive(x_75)) { + lean_ctor_release(x_75, 0); + x_83 = x_75; +} else { + lean_dec_ref(x_75); + x_83 = lean_box(0); +} +if (lean_is_scalar(x_83)) { + x_84 = lean_alloc_ctor(1, 1, 0); +} else { + x_84 = x_83; +} +lean_ctor_set(x_84, 0, x_82); +if (lean_is_scalar(x_81)) { + x_85 = lean_alloc_ctor(0, 2, 0); +} else { + x_85 = x_81; +} +lean_ctor_set(x_85, 0, x_84); +lean_ctor_set(x_85, 1, x_80); +return x_85; +} +} +else +{ +lean_object* x_86; lean_object* x_87; lean_object* x_88; lean_object* x_89; +lean_dec(x_68); +x_86 = lean_ctor_get(x_74, 0); +lean_inc(x_86); +x_87 = lean_ctor_get(x_74, 1); +lean_inc(x_87); +if (lean_is_exclusive(x_74)) { + lean_ctor_release(x_74, 0); + lean_ctor_release(x_74, 1); + x_88 = x_74; +} else { + lean_dec_ref(x_74); + x_88 = lean_box(0); +} +if (lean_is_scalar(x_88)) { + x_89 = lean_alloc_ctor(1, 2, 0); +} else { + x_89 = x_88; +} +lean_ctor_set(x_89, 0, x_86); +lean_ctor_set(x_89, 1, x_87); +return x_89; +} +} +} +else +{ +lean_object* x_90; lean_object* x_91; lean_object* x_92; +lean_free_object(x_9); +x_90 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2; +x_91 = l_Lean_Expr_getRevArg_x21(x_68, x_90); +x_92 = l_Lean_Meta_findSplit_x3f_go(x_1, x_2, x_91, x_4, x_5, x_6, x_7, x_18); +if (lean_obj_tag(x_92) == 0) +{ +lean_object* x_93; +x_93 = lean_ctor_get(x_92, 0); +lean_inc(x_93); +if (lean_obj_tag(x_93) == 0) +{ +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; +x_94 = lean_ctor_get(x_92, 1); +lean_inc(x_94); +if (lean_is_exclusive(x_92)) { + lean_ctor_release(x_92, 0); + lean_ctor_release(x_92, 1); + x_95 = x_92; +} else { + lean_dec_ref(x_92); + x_95 = lean_box(0); +} +x_96 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_96, 0, x_68); +if (lean_is_scalar(x_95)) { + x_97 = lean_alloc_ctor(0, 2, 0); +} else { + x_97 = x_95; +} +lean_ctor_set(x_97, 0, x_96); +lean_ctor_set(x_97, 1, x_94); +return x_97; +} +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_dec(x_68); +x_98 = lean_ctor_get(x_92, 1); +lean_inc(x_98); +if (lean_is_exclusive(x_92)) { + lean_ctor_release(x_92, 0); + lean_ctor_release(x_92, 1); + x_99 = x_92; +} else { + lean_dec_ref(x_92); + x_99 = lean_box(0); +} +x_100 = lean_ctor_get(x_93, 0); +lean_inc(x_100); +if (lean_is_exclusive(x_93)) { + lean_ctor_release(x_93, 0); + x_101 = x_93; +} else { + lean_dec_ref(x_93); + x_101 = lean_box(0); +} +if (lean_is_scalar(x_101)) { + x_102 = lean_alloc_ctor(1, 1, 0); +} else { + x_102 = x_101; +} +lean_ctor_set(x_102, 0, x_100); +if (lean_is_scalar(x_99)) { + x_103 = lean_alloc_ctor(0, 2, 0); +} else { + x_103 = x_99; +} +lean_ctor_set(x_103, 0, x_102); +lean_ctor_set(x_103, 1, x_98); +return x_103; +} +} +else +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; +lean_dec(x_68); +x_104 = lean_ctor_get(x_92, 0); +lean_inc(x_104); +x_105 = lean_ctor_get(x_92, 1); +lean_inc(x_105); +if (lean_is_exclusive(x_92)) { + lean_ctor_release(x_92, 0); + lean_ctor_release(x_92, 1); + x_106 = x_92; +} else { + lean_dec_ref(x_92); + x_106 = lean_box(0); +} +if (lean_is_scalar(x_106)) { + x_107 = lean_alloc_ctor(1, 2, 0); +} else { + x_107 = x_106; +} +lean_ctor_set(x_107, 0, x_104); +lean_ctor_set(x_107, 1, x_105); +return x_107; +} +} +} +} +else +{ +lean_object* x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111; +x_108 = lean_ctor_get(x_9, 1); +lean_inc(x_108); +lean_dec(x_9); +x_109 = lean_ctor_get(x_10, 0); +lean_inc(x_109); +if (lean_is_exclusive(x_10)) { + lean_ctor_release(x_10, 0); + x_110 = x_10; +} else { + lean_dec_ref(x_10); + x_110 = lean_box(0); +} +x_111 = l_Lean_Expr_isIte(x_109); +if (x_111 == 0) +{ +uint8_t x_112; +x_112 = l_Lean_Expr_isDIte(x_109); +if (x_112 == 0) +{ +lean_object* x_113; lean_object* x_114; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +if (lean_is_scalar(x_110)) { + x_113 = lean_alloc_ctor(1, 1, 0); +} else { + x_113 = x_110; +} +lean_ctor_set(x_113, 0, x_109); +x_114 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_114, 0, x_113); +lean_ctor_set(x_114, 1, x_108); +return x_114; +} +else +{ +lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_115 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2; +x_116 = l_Lean_Expr_getRevArg_x21(x_109, x_115); +x_117 = l_Lean_Meta_findSplit_x3f_go(x_1, x_2, x_116, x_4, x_5, x_6, x_7, x_108); +if (lean_obj_tag(x_117) == 0) +{ +lean_object* x_118; +x_118 = lean_ctor_get(x_117, 0); +lean_inc(x_118); +if (lean_obj_tag(x_118) == 0) +{ +lean_object* x_119; lean_object* x_120; lean_object* x_121; lean_object* x_122; +x_119 = lean_ctor_get(x_117, 1); +lean_inc(x_119); +if (lean_is_exclusive(x_117)) { + lean_ctor_release(x_117, 0); + lean_ctor_release(x_117, 1); + x_120 = x_117; +} else { + lean_dec_ref(x_117); + x_120 = lean_box(0); +} +if (lean_is_scalar(x_110)) { + x_121 = lean_alloc_ctor(1, 1, 0); +} else { + x_121 = x_110; +} +lean_ctor_set(x_121, 0, x_109); +if (lean_is_scalar(x_120)) { + x_122 = lean_alloc_ctor(0, 2, 0); +} else { + x_122 = x_120; +} +lean_ctor_set(x_122, 0, x_121); +lean_ctor_set(x_122, 1, x_119); +return x_122; +} +else +{ +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_dec(x_110); +lean_dec(x_109); +x_123 = lean_ctor_get(x_117, 1); +lean_inc(x_123); +if (lean_is_exclusive(x_117)) { + lean_ctor_release(x_117, 0); + lean_ctor_release(x_117, 1); + x_124 = x_117; +} else { + lean_dec_ref(x_117); + x_124 = lean_box(0); +} +x_125 = lean_ctor_get(x_118, 0); +lean_inc(x_125); +if (lean_is_exclusive(x_118)) { + lean_ctor_release(x_118, 0); + x_126 = x_118; +} else { + lean_dec_ref(x_118); + x_126 = lean_box(0); +} +if (lean_is_scalar(x_126)) { + x_127 = lean_alloc_ctor(1, 1, 0); +} else { + x_127 = x_126; +} +lean_ctor_set(x_127, 0, x_125); +if (lean_is_scalar(x_124)) { + x_128 = lean_alloc_ctor(0, 2, 0); +} else { + x_128 = x_124; +} +lean_ctor_set(x_128, 0, x_127); +lean_ctor_set(x_128, 1, x_123); +return x_128; +} +} +else +{ +lean_object* x_129; lean_object* x_130; lean_object* x_131; lean_object* x_132; +lean_dec(x_110); +lean_dec(x_109); +x_129 = lean_ctor_get(x_117, 0); +lean_inc(x_129); +x_130 = lean_ctor_get(x_117, 1); +lean_inc(x_130); +if (lean_is_exclusive(x_117)) { + lean_ctor_release(x_117, 0); + lean_ctor_release(x_117, 1); + x_131 = x_117; +} else { + lean_dec_ref(x_117); + x_131 = lean_box(0); +} +if (lean_is_scalar(x_131)) { + x_132 = lean_alloc_ctor(1, 2, 0); +} else { + x_132 = x_131; +} +lean_ctor_set(x_132, 0, x_129); +lean_ctor_set(x_132, 1, x_130); +return x_132; +} +} +} +else +{ +lean_object* x_133; lean_object* x_134; lean_object* x_135; +x_133 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2; +x_134 = l_Lean_Expr_getRevArg_x21(x_109, x_133); +x_135 = l_Lean_Meta_findSplit_x3f_go(x_1, x_2, x_134, x_4, x_5, x_6, x_7, x_108); +if (lean_obj_tag(x_135) == 0) +{ +lean_object* x_136; +x_136 = lean_ctor_get(x_135, 0); +lean_inc(x_136); +if (lean_obj_tag(x_136) == 0) +{ +lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; +x_137 = lean_ctor_get(x_135, 1); +lean_inc(x_137); +if (lean_is_exclusive(x_135)) { + lean_ctor_release(x_135, 0); + lean_ctor_release(x_135, 1); + x_138 = x_135; +} else { + lean_dec_ref(x_135); + x_138 = lean_box(0); +} +if (lean_is_scalar(x_110)) { + x_139 = lean_alloc_ctor(1, 1, 0); +} else { + x_139 = x_110; +} +lean_ctor_set(x_139, 0, x_109); +if (lean_is_scalar(x_138)) { + x_140 = lean_alloc_ctor(0, 2, 0); +} else { + x_140 = x_138; +} +lean_ctor_set(x_140, 0, x_139); +lean_ctor_set(x_140, 1, x_137); +return x_140; +} +else +{ +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_dec(x_110); +lean_dec(x_109); +x_141 = lean_ctor_get(x_135, 1); +lean_inc(x_141); +if (lean_is_exclusive(x_135)) { + lean_ctor_release(x_135, 0); + lean_ctor_release(x_135, 1); + x_142 = x_135; +} else { + lean_dec_ref(x_135); + x_142 = lean_box(0); +} +x_143 = lean_ctor_get(x_136, 0); +lean_inc(x_143); +if (lean_is_exclusive(x_136)) { + lean_ctor_release(x_136, 0); + x_144 = x_136; +} else { + lean_dec_ref(x_136); + x_144 = lean_box(0); +} +if (lean_is_scalar(x_144)) { + x_145 = lean_alloc_ctor(1, 1, 0); +} else { + x_145 = x_144; +} +lean_ctor_set(x_145, 0, x_143); +if (lean_is_scalar(x_142)) { + x_146 = lean_alloc_ctor(0, 2, 0); +} else { + x_146 = x_142; +} +lean_ctor_set(x_146, 0, x_145); +lean_ctor_set(x_146, 1, x_141); +return x_146; +} +} +else +{ +lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; +lean_dec(x_110); +lean_dec(x_109); +x_147 = lean_ctor_get(x_135, 0); +lean_inc(x_147); +x_148 = lean_ctor_get(x_135, 1); +lean_inc(x_148); +if (lean_is_exclusive(x_135)) { + lean_ctor_release(x_135, 0); + lean_ctor_release(x_135, 1); + x_149 = x_135; +} else { + lean_dec_ref(x_135); + x_149 = lean_box(0); +} +if (lean_is_scalar(x_149)) { + x_150 = lean_alloc_ctor(1, 2, 0); +} else { + x_150 = x_149; +} +lean_ctor_set(x_150, 0, x_147); +lean_ctor_set(x_150, 1, x_148); +return x_150; +} +} +} +} +} +else +{ +uint8_t x_151; +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +x_151 = !lean_is_exclusive(x_9); +if (x_151 == 0) +{ +return x_9; +} +else +{ +lean_object* x_152; lean_object* x_153; lean_object* x_154; +x_152 = lean_ctor_get(x_9, 0); +x_153 = lean_ctor_get(x_9, 1); +lean_inc(x_153); +lean_inc(x_152); +lean_dec(x_9); +x_154 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_154, 0, x_152); +lean_ctor_set(x_154, 1, x_153); +return x_154; +} +} +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f_go___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +_start: +{ +uint8_t x_9; lean_object* x_10; +x_9 = lean_unbox(x_1); +lean_dec(x_1); +x_10 = l_Lean_Meta_findSplit_x3f_go(x_9, x_2, x_3, x_4, x_5, x_6, x_7, x_8); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f(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; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassApp_x3f___spec__1(x_1, 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(x_9); +x_12 = l_Lean_Meta_findSplit_x3f_go(x_2, x_3, x_10, x_4, x_5, x_6, x_7, x_11); +return x_12; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_findSplit_x3f___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); +lean_dec(x_2); +x_10 = l_Lean_Meta_findSplit_x3f(x_1, x_9, x_3, x_4, x_5, x_6, x_7, x_8); +return x_10; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(10u); +x_2 = lean_unsigned_to_nat(1u); +x_3 = l_Nat_nextPowerOfTwo_go(x_1, x_2, lean_box(0)); +return x_3; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__1; +x_3 = lean_mk_array(x_2, x_1); +return x_3; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(0u); +x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__2; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(5u); +x_2 = lean_unsigned_to_nat(2u); +x_3 = lean_nat_sub(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__4; +x_2 = lean_unsigned_to_nat(1u); +x_3 = lean_nat_sub(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_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) { +_start: +{ +uint8_t x_7; lean_object* x_8; lean_object* x_9; +x_7 = 0; +x_8 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__3; +x_9 = l_Lean_Meta_findSplit_x3f(x_1, x_7, x_8, x_2, x_3, x_4, x_5, x_6); +if (lean_obj_tag(x_9) == 0) +{ +lean_object* x_10; +x_10 = lean_ctor_get(x_9, 0); +lean_inc(x_10); +if (lean_obj_tag(x_10) == 0) +{ +uint8_t x_11; +x_11 = !lean_is_exclusive(x_9); +if (x_11 == 0) +{ +lean_object* x_12; lean_object* x_13; +x_12 = lean_ctor_get(x_9, 0); +lean_dec(x_12); +x_13 = lean_box(0); +lean_ctor_set(x_9, 0, x_13); +return x_9; +} +else +{ +lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_14 = lean_ctor_get(x_9, 1); +lean_inc(x_14); +lean_dec(x_9); +x_15 = lean_box(0); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +return x_16; +} +} +else +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_9); +if (x_17 == 0) +{ +lean_object* x_18; uint8_t x_19; +x_18 = lean_ctor_get(x_9, 0); +lean_dec(x_18); +x_19 = !lean_is_exclusive(x_10); +if (x_19 == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_20 = lean_ctor_get(x_10, 0); +x_21 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2; +x_22 = l_Lean_Expr_getRevArg_x21(x_20, x_21); +x_23 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__5; +x_24 = l_Lean_Expr_getRevArg_x21(x_20, x_23); +lean_dec(x_20); +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_22); +lean_ctor_set(x_25, 1, x_24); +lean_ctor_set(x_10, 0, x_25); +return x_9; +} +else +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +x_26 = lean_ctor_get(x_10, 0); +lean_inc(x_26); +lean_dec(x_10); +x_27 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2; +x_28 = l_Lean_Expr_getRevArg_x21(x_26, x_27); +x_29 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__5; +x_30 = l_Lean_Expr_getRevArg_x21(x_26, x_29); +lean_dec(x_26); +x_31 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_31, 0, x_28); +lean_ctor_set(x_31, 1, x_30); +x_32 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_9, 0, x_32); +return x_9; +} +} +else +{ +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; +x_33 = lean_ctor_get(x_9, 1); +lean_inc(x_33); +lean_dec(x_9); +x_34 = lean_ctor_get(x_10, 0); +lean_inc(x_34); +if (lean_is_exclusive(x_10)) { + lean_ctor_release(x_10, 0); + x_35 = x_10; +} else { + lean_dec_ref(x_10); + x_35 = lean_box(0); +} +x_36 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2; +x_37 = l_Lean_Expr_getRevArg_x21(x_34, x_36); +x_38 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__5; +x_39 = l_Lean_Expr_getRevArg_x21(x_34, x_38); +lean_dec(x_34); +x_40 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_40, 0, x_37); +lean_ctor_set(x_40, 1, x_39); +if (lean_is_scalar(x_35)) { + x_41 = lean_alloc_ctor(1, 1, 0); +} else { + x_41 = x_35; +} +lean_ctor_set(x_41, 0, x_40); +x_42 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 1, x_33); +return x_42; +} +} +} +else +{ +uint8_t x_43; +x_43 = !lean_is_exclusive(x_9); +if (x_43 == 0) +{ +return x_9; +} +else +{ +lean_object* x_44; lean_object* x_45; lean_object* x_46; +x_44 = lean_ctor_get(x_9, 0); +x_45 = lean_ctor_get(x_9, 1); +lean_inc(x_45); +lean_inc(x_44); +lean_dec(x_9); +x_46 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +return x_46; +} +} +} +} static lean_object* _init_l_Lean_Meta_SplitIf_getSimpContext___closed__1() { _start: { @@ -2459,7 +6789,7 @@ static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_Spli _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("", 0, 0); +x_1 = lean_mk_string_unchecked("", 15, 15); return x_1; } } @@ -2468,33 +6798,16 @@ static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_Spli { lean_object* x_1; lean_object* x_2; x_1 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__9; -x_2 = l_Lean_stringToMessageData(x_1); -return x_2; -} -} -static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("", 15, 15); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__12() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11; x_2 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__13() { +static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__12; +x_1 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; x_2 = l_Lean_MessageData_ofFormat(x_1); return x_2; } @@ -2553,11 +6866,11 @@ x_31 = l_Lean_Expr_isAppOfArity(x_14, x_29, x_30); if (x_31 == 0) { lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_32 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__13; +x_32 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11; x_33 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_33, 0, x_12); lean_ctor_set(x_33, 1, x_32); -x_34 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; +x_34 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; x_35 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_35, 0, x_33); lean_ctor_set(x_35, 1, x_34); @@ -2580,11 +6893,11 @@ if (x_41 == 0) { lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_dec(x_40); -x_42 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__13; +x_42 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11; x_43 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_43, 0, x_12); lean_ctor_set(x_43, 1, x_42); -x_44 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; +x_44 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; x_45 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_45, 0, x_43); lean_ctor_set(x_45, 1, x_44); @@ -2607,7 +6920,7 @@ x_51 = l_Lean_MessageData_ofExpr(x_50); x_52 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_52, 0, x_12); lean_ctor_set(x_52, 1, x_51); -x_53 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; +x_53 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; x_54 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_54, 0, x_52); lean_ctor_set(x_54, 1, x_53); @@ -2645,11 +6958,11 @@ x_66 = l_Lean_Expr_isAppOfArity(x_14, x_64, x_65); if (x_66 == 0) { 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; -x_67 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__13; +x_67 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11; x_68 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_68, 0, x_12); lean_ctor_set(x_68, 1, x_67); -x_69 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; +x_69 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; x_70 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_70, 0, x_68); lean_ctor_set(x_70, 1, x_69); @@ -2672,11 +6985,11 @@ if (x_76 == 0) { 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_dec(x_75); -x_77 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__13; +x_77 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11; x_78 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_78, 0, x_12); lean_ctor_set(x_78, 1, x_77); -x_79 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; +x_79 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; x_80 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_80, 0, x_78); lean_ctor_set(x_80, 1, x_79); @@ -2699,7 +7012,7 @@ x_86 = l_Lean_MessageData_ofExpr(x_85); x_87 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_87, 0, x_12); lean_ctor_set(x_87, 1, x_86); -x_88 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; +x_88 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; x_89 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_89, 0, x_87); lean_ctor_set(x_89, 1, x_88); @@ -2775,11 +7088,11 @@ x_112 = l_Lean_Expr_isAppOfArity(x_94, x_110, x_111); if (x_112 == 0) { 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_113 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__13; +x_113 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11; 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___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; +x_115 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; x_116 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_116, 0, x_114); lean_ctor_set(x_116, 1, x_115); @@ -2802,11 +7115,11 @@ if (x_122 == 0) { 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_dec(x_121); -x_123 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__13; +x_123 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11; x_124 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_124, 0, x_109); lean_ctor_set(x_124, 1, x_123); -x_125 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; +x_125 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; x_126 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_126, 0, x_124); lean_ctor_set(x_126, 1, x_125); @@ -2829,7 +7142,7 @@ x_132 = l_Lean_MessageData_ofExpr(x_131); x_133 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_133, 0, x_109); lean_ctor_set(x_133, 1, x_132); -x_134 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; +x_134 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; x_135 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_135, 0, x_133); lean_ctor_set(x_135, 1, x_134); @@ -2930,326 +7243,95 @@ LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_Split _start: { lean_object* x_12; -x_12 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_1); -return x_12; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { -_start: -{ -uint8_t x_13; lean_object* x_14; -x_13 = lean_unbox(x_3); -lean_dec(x_3); -x_14 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -return x_14; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___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); -lean_dec(x_2); -x_13 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_1); -return x_13; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f___elambda__1(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, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -lean_object* x_12; -x_12 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f(x_2, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -return x_12; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f(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: -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_7 = lean_ctor_get(x_2, 1); -lean_inc(x_7); -lean_dec(x_2); -x_8 = lean_local_ctx_num_indices(x_7); -x_9 = lean_box(x_1); -x_10 = lean_alloc_closure((void*)(l_Lean_Meta_SplitIf_mkDischarge_x3f___elambda__1___boxed), 11, 2); -lean_closure_set(x_10, 0, x_9); -lean_closure_set(x_10, 1, x_8); -x_11 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_11, 0, x_10); -lean_ctor_set(x_11, 1, x_6); -return x_11; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f___elambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { -_start: -{ -uint8_t x_12; lean_object* x_13; -x_12 = lean_unbox(x_1); -lean_dec(x_1); -x_13 = l_Lean_Meta_SplitIf_mkDischarge_x3f___elambda__1(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); -lean_dec(x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_2); -return x_13; -} -} -LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f___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); -lean_dec(x_1); -x_8 = l_Lean_Meta_SplitIf_mkDischarge_x3f(x_7, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -return x_8; -} -} -static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(5u); -x_2 = lean_unsigned_to_nat(1u); -x_3 = lean_nat_sub(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__1; -x_2 = lean_unsigned_to_nat(1u); -x_3 = lean_nat_sub(x_1, x_2); -return x_3; -} -} -LEAN_EXPORT uint8_t l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1(lean_object* x_1) { -_start: -{ -uint8_t x_2; -x_2 = l_Lean_Expr_isIte(x_1); -if (x_2 == 0) -{ -uint8_t x_3; -x_3 = l_Lean_Expr_isDIte(x_1); -if (x_3 == 0) -{ -uint8_t x_4; -x_4 = 0; -return x_4; -} -else -{ -lean_object* x_5; lean_object* x_6; uint8_t x_7; -x_5 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__2; -x_6 = l_Lean_Expr_getRevArg_x21(x_1, x_5); -x_7 = l_Lean_Expr_hasLooseBVars(x_6); -lean_dec(x_6); -if (x_7 == 0) -{ -uint8_t x_8; -x_8 = 1; -return x_8; -} -else -{ -uint8_t x_9; -x_9 = 0; -return x_9; -} -} -} -else -{ -lean_object* x_10; lean_object* x_11; uint8_t x_12; -x_10 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__2; -x_11 = l_Lean_Expr_getRevArg_x21(x_1, x_10); -x_12 = l_Lean_Expr_hasLooseBVars(x_11); -lean_dec(x_11); -if (x_12 == 0) -{ -uint8_t x_13; -x_13 = 1; -return x_13; -} -else -{ -uint8_t x_14; -x_14 = 0; -return x_14; -} -} -} -} -static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___boxed), 1, 0); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(5u); -x_2 = lean_unsigned_to_nat(2u); -x_3 = lean_nat_sub(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__2; -x_2 = lean_unsigned_to_nat(1u); -x_3 = lean_nat_sub(x_1, x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; -x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__1; -x_3 = lean_find_expr(x_2, x_1); -if (lean_obj_tag(x_3) == 0) -{ -lean_object* x_4; -x_4 = lean_box(0); -return x_4; -} -else -{ -uint8_t x_5; -x_5 = !lean_is_exclusive(x_3); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_6 = lean_ctor_get(x_3, 0); -x_7 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__2; -x_8 = l_Lean_Expr_getRevArg_x21(x_6, x_7); -x_9 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__3; -x_10 = l_Lean_Expr_getRevArg_x21(x_6, x_9); -lean_dec(x_6); -x_11 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(x_8); -if (lean_obj_tag(x_11) == 0) -{ -lean_object* x_12; -x_12 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_12, 0, x_8); -lean_ctor_set(x_12, 1, x_10); -lean_ctor_set(x_3, 0, x_12); -return x_3; -} -else -{ -uint8_t x_13; -lean_dec(x_10); -lean_dec(x_8); -lean_free_object(x_3); -x_13 = !lean_is_exclusive(x_11); -if (x_13 == 0) -{ -return x_11; -} -else -{ -lean_object* x_14; lean_object* x_15; -x_14 = lean_ctor_get(x_11, 0); -lean_inc(x_14); -lean_dec(x_11); -x_15 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_15, 0, x_14); -return x_15; -} +x_12 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_1); +return x_12; } } -else +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +_start: { -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_16 = lean_ctor_get(x_3, 0); -lean_inc(x_16); +uint8_t x_13; lean_object* x_14; +x_13 = lean_unbox(x_3); lean_dec(x_3); -x_17 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__2; -x_18 = l_Lean_Expr_getRevArg_x21(x_16, x_17); -x_19 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__3; -x_20 = l_Lean_Expr_getRevArg_x21(x_16, x_19); -lean_dec(x_16); -x_21 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(x_18); -if (lean_obj_tag(x_21) == 0) -{ -lean_object* x_22; lean_object* x_23; -x_22 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_22, 0, x_18); -lean_ctor_set(x_22, 1, x_20); -x_23 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_23, 0, x_22); -return x_23; +x_14 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___lambda__2(x_1, x_2, x_13, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +return x_14; } -else -{ -lean_object* x_24; lean_object* x_25; lean_object* x_26; -lean_dec(x_20); -lean_dec(x_18); -x_24 = lean_ctor_get(x_21, 0); -lean_inc(x_24); -if (lean_is_exclusive(x_21)) { - lean_ctor_release(x_21, 0); - x_25 = x_21; -} else { - lean_dec_ref(x_21); - x_25 = lean_box(0); } -if (lean_is_scalar(x_25)) { - x_26 = lean_alloc_ctor(1, 1, 0); -} else { - x_26 = x_25; +LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___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); +lean_dec(x_2); +x_13 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f(x_1, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_1); +return x_13; } -lean_ctor_set(x_26, 0, x_24); -return x_26; } +LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f___elambda__1(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, lean_object* x_9, lean_object* x_10, lean_object* x_11) { +_start: +{ +lean_object* x_12; +x_12 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f(x_2, x_1, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +return x_12; } } +LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f(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: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_7 = lean_ctor_get(x_2, 1); +lean_inc(x_7); +lean_dec(x_2); +x_8 = lean_local_ctx_num_indices(x_7); +x_9 = lean_box(x_1); +x_10 = lean_alloc_closure((void*)(l_Lean_Meta_SplitIf_mkDischarge_x3f___elambda__1___boxed), 11, 2); +lean_closure_set(x_10, 0, x_9); +lean_closure_set(x_10, 1, x_8); +x_11 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_11, 0, x_10); +lean_ctor_set(x_11, 1, x_6); +return x_11; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f___elambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -uint8_t x_2; lean_object* x_3; -x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1(x_1); +uint8_t x_12; lean_object* x_13; +x_12 = lean_unbox(x_1); lean_dec(x_1); -x_3 = lean_box(x_2); -return x_3; +x_13 = l_Lean_Meta_SplitIf_mkDischarge_x3f___elambda__1(x_12, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +return x_13; } } -LEAN_EXPORT lean_object* l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_mkDischarge_x3f___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_2; -x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(x_1); +uint8_t x_7; lean_object* x_8; +x_7 = lean_unbox(x_1); lean_dec(x_1); -return x_2; +x_8 = l_Lean_Meta_SplitIf_mkDischarge_x3f(x_7, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_8; } } LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { @@ -3363,7 +7445,7 @@ x_21 = l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2___closed__2; lean_ctor_set_tag(x_11, 7); lean_ctor_set(x_11, 1, x_20); lean_ctor_set(x_11, 0, x_21); -x_22 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; +x_22 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; x_23 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_23, 0, x_11); lean_ctor_set(x_23, 1, x_22); @@ -3389,7 +7471,7 @@ x_30 = l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2___closed__2; x_31 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_31, 0, x_30); lean_ctor_set(x_31, 1, x_29); -x_32 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10; +x_32 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; x_33 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_33, 0, x_31); lean_ctor_set(x_33, 1, x_32); @@ -3406,7 +7488,7 @@ return x_37; } } } -static lean_object* _init_l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__1() { +static lean_object* _init_l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3___closed__1() { _start: { lean_object* x_1; @@ -3414,148 +7496,155 @@ x_1 = lean_mk_string_unchecked("h", 1, 1); return x_1; } } -static lean_object* _init_l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__2() { +static lean_object* _init_l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__1; +x_2 = l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_splitIfAt_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_EXPORT lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { -lean_object* x_9; uint8_t x_10; -x_9 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassApp_x3f___spec__1(x_2, x_4, x_5, x_6, x_7, x_8); -x_10 = !lean_is_exclusive(x_9); -if (x_10 == 0) +lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_9 = l_Lean_instantiateMVars___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassApp_x3f___spec__1(x_1, 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(x_9); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +x_12 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f(x_10, x_4, x_5, x_6, x_7, x_11); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_11 = lean_ctor_get(x_9, 0); -x_12 = lean_ctor_get(x_9, 1); -x_13 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(x_11); -lean_dec(x_11); +lean_object* x_13; +x_13 = lean_ctor_get(x_12, 0); +lean_inc(x_13); if (lean_obj_tag(x_13) == 0) { -lean_object* x_14; +uint8_t x_14; lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_1); -x_14 = lean_box(0); -lean_ctor_set(x_9, 0, x_14); -return x_9; +lean_dec(x_2); +x_14 = !lean_is_exclusive(x_12); +if (x_14 == 0) +{ +lean_object* x_15; lean_object* x_16; +x_15 = lean_ctor_get(x_12, 0); +lean_dec(x_15); +x_16 = lean_box(0); +lean_ctor_set(x_12, 0, x_16); +return x_12; } else { -lean_object* x_15; -lean_free_object(x_9); -x_15 = lean_ctor_get(x_13, 0); -lean_inc(x_15); +lean_object* x_17; lean_object* x_18; lean_object* x_19; +x_17 = lean_ctor_get(x_12, 1); +lean_inc(x_17); +lean_dec(x_12); +x_18 = lean_box(0); +x_19 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_19, 0, x_18); +lean_ctor_set(x_19, 1, x_17); +return x_19; +} +} +else +{ +lean_object* x_20; +x_20 = lean_ctor_get(x_13, 0); +lean_inc(x_20); lean_dec(x_13); if (lean_obj_tag(x_3) == 0) { -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 1); -lean_inc(x_17); -lean_dec(x_15); -x_18 = l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__2; -x_19 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_18, x_6, x_7, x_12); -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; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_21 = lean_ctor_get(x_12, 1); lean_inc(x_21); -lean_dec(x_19); -x_22 = l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2(x_1, x_16, x_17, x_20, x_4, x_5, x_6, x_7, x_21); -return x_22; +lean_dec(x_12); +x_22 = lean_ctor_get(x_20, 0); +lean_inc(x_22); +x_23 = lean_ctor_get(x_20, 1); +lean_inc(x_23); +lean_dec(x_20); +x_24 = l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3___closed__2; +x_25 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_24, x_6, x_7, x_21); +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_27); +lean_dec(x_25); +x_28 = l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2(x_2, x_22, x_23, x_26, x_4, x_5, x_6, x_7, x_27); +return x_28; } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; -x_23 = lean_ctor_get(x_15, 0); -lean_inc(x_23); -x_24 = lean_ctor_get(x_15, 1); -lean_inc(x_24); -lean_dec(x_15); -x_25 = lean_ctor_get(x_3, 0); -lean_inc(x_25); +lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; +x_29 = lean_ctor_get(x_12, 1); +lean_inc(x_29); +lean_dec(x_12); +x_30 = lean_ctor_get(x_20, 0); +lean_inc(x_30); +x_31 = lean_ctor_get(x_20, 1); +lean_inc(x_31); +lean_dec(x_20); +x_32 = lean_ctor_get(x_3, 0); +lean_inc(x_32); lean_dec(x_3); -x_26 = l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2(x_1, x_23, x_24, x_25, x_4, x_5, x_6, x_7, x_12); -return x_26; +x_33 = l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2(x_2, x_30, x_31, x_32, x_4, x_5, x_6, x_7, x_29); +return x_33; } } } else { -lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_27 = lean_ctor_get(x_9, 0); -x_28 = lean_ctor_get(x_9, 1); -lean_inc(x_28); -lean_inc(x_27); -lean_dec(x_9); -x_29 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f(x_27); -lean_dec(x_27); -if (lean_obj_tag(x_29) == 0) -{ -lean_object* x_30; lean_object* x_31; +uint8_t x_34; lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -lean_dec(x_1); -x_30 = lean_box(0); -x_31 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_31, 0, x_30); -lean_ctor_set(x_31, 1, x_28); -return x_31; -} -else -{ -lean_object* x_32; -x_32 = lean_ctor_get(x_29, 0); -lean_inc(x_32); -lean_dec(x_29); -if (lean_obj_tag(x_3) == 0) +lean_dec(x_2); +x_34 = !lean_is_exclusive(x_12); +if (x_34 == 0) { -lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; -x_33 = lean_ctor_get(x_32, 0); -lean_inc(x_33); -x_34 = lean_ctor_get(x_32, 1); -lean_inc(x_34); -lean_dec(x_32); -x_35 = l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__2; -x_36 = l___private_Lean_CoreM_0__Lean_Core_mkFreshNameImp(x_35, x_6, x_7, x_28); -x_37 = lean_ctor_get(x_36, 0); -lean_inc(x_37); -x_38 = lean_ctor_get(x_36, 1); -lean_inc(x_38); -lean_dec(x_36); -x_39 = l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2(x_1, x_33, x_34, x_37, x_4, x_5, x_6, x_7, x_38); -return x_39; +return x_12; } else { -lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; -x_40 = lean_ctor_get(x_32, 0); -lean_inc(x_40); -x_41 = lean_ctor_get(x_32, 1); -lean_inc(x_41); -lean_dec(x_32); -x_42 = lean_ctor_get(x_3, 0); -lean_inc(x_42); -lean_dec(x_3); -x_43 = l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2(x_1, x_40, x_41, x_42, x_4, x_5, x_6, x_7, x_28); -return x_43; +lean_object* x_35; lean_object* x_36; lean_object* x_37; +x_35 = lean_ctor_get(x_12, 0); +x_36 = lean_ctor_get(x_12, 1); +lean_inc(x_36); +lean_inc(x_35); +lean_dec(x_12); +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; +} } } } +LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_splitIfAt_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) { +_start: +{ +lean_object* x_9; lean_object* x_10; +lean_inc(x_1); +x_9 = lean_alloc_closure((void*)(l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3), 8, 3); +lean_closure_set(x_9, 0, x_2); +lean_closure_set(x_9, 1, x_1); +lean_closure_set(x_9, 2, x_3); +x_10 = l_Lean_MVarId_withContext___at___private_Lean_Meta_SynthInstance_0__Lean_Meta_synthPendingImp___spec__2___rarg(x_1, x_9, x_4, x_5, x_6, x_7, x_8); +return x_10; } } LEAN_EXPORT lean_object* l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { @@ -3680,7 +7769,7 @@ static lean_object* _init_l_Lean_Meta_simpIfTarget___closed__11() { 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_simpIfTarget___closed__8; x_2 = l_Lean_Meta_simpIfTarget___closed__9; -x_3 = lean_unsigned_to_nat(95u); +x_3 = lean_unsigned_to_nat(203u); x_4 = lean_unsigned_to_nat(4u); x_5 = l_Lean_Meta_simpIfTarget___closed__10; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -3904,7 +7993,7 @@ static lean_object* _init_l_Lean_Meta_simpIfLocalDecl___closed__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; x_1 = l_Lean_Meta_simpIfTarget___closed__8; x_2 = l_Lean_Meta_simpIfLocalDecl___closed__2; -x_3 = lean_unsigned_to_nat(102u); +x_3 = lean_unsigned_to_nat(210u); x_4 = lean_unsigned_to_nat(4u); x_5 = l_Lean_Meta_simpIfTarget___closed__10; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4310,7 +8399,78 @@ return x_21; } } } -LEAN_EXPORT lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { +LEAN_EXPORT lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +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; +} +} +static lean_object* _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("failure", 7, 7); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__1; +x_2 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__1; +x_3 = l_Lean_Name_mkStr2(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Meta_splitIfTarget_x3f___lambda__1___boxed), 6, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("`split` tactic failed to simplify target using new hypotheses Goals:\n", 69, 69); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__4; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("\n", 1, 1); +return x_1; +} +} +static lean_object* _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__6; +x_2 = l_Lean_stringToMessageData(x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { lean_object* x_8; @@ -4411,6 +8571,10 @@ if (x_33 == 0) lean_object* x_34; lean_object* x_35; lean_object* x_36; x_34 = lean_ctor_get(x_24, 0); x_35 = lean_ctor_get(x_24, 1); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); lean_inc(x_34); x_36 = l_Lean_Meta_simpIfTarget(x_34, x_29, x_3, x_4, x_5, x_6, x_32); if (lean_obj_tag(x_36) == 0) @@ -4419,13 +8583,18 @@ uint8_t x_37; x_37 = !lean_is_exclusive(x_36); if (x_37 == 0) { -lean_object* x_38; uint8_t x_39; +lean_object* x_38; lean_object* x_39; uint8_t x_40; x_38 = lean_ctor_get(x_36, 0); -x_39 = lean_name_eq(x_27, x_31); +x_39 = lean_ctor_get(x_36, 1); +x_40 = lean_name_eq(x_27, x_31); lean_dec(x_27); -if (x_39 == 0) +if (x_40 == 0) { lean_dec(x_34); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); lean_ctor_set(x_24, 1, x_28); lean_ctor_set(x_24, 0, x_31); lean_ctor_set(x_21, 1, x_35); @@ -4437,11 +8606,15 @@ return x_36; } else { -uint8_t x_40; -x_40 = lean_name_eq(x_34, x_38); +uint8_t x_41; +x_41 = lean_name_eq(x_34, x_38); lean_dec(x_34); -if (x_40 == 0) +if (x_41 == 0) { +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); lean_ctor_set(x_24, 1, x_28); lean_ctor_set(x_24, 0, x_31); lean_ctor_set(x_21, 1, x_35); @@ -4453,88 +8626,253 @@ return x_36; } else { -lean_object* x_41; -lean_dec(x_38); +lean_object* x_42; lean_object* x_43; uint8_t x_44; +lean_free_object(x_36); lean_free_object(x_24); lean_dec(x_35); -lean_dec(x_31); lean_free_object(x_21); lean_dec(x_28); lean_free_object(x_20); lean_free_object(x_12); -x_41 = lean_box(0); -lean_ctor_set(x_36, 0, x_41); -return x_36; +x_42 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2; +x_43 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_42, x_3, x_4, x_5, x_6, x_39); +x_44 = !lean_is_exclusive(x_43); +if (x_44 == 0) +{ +lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48; +x_45 = lean_ctor_get(x_43, 0); +x_46 = lean_ctor_get(x_43, 1); +x_47 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; +x_48 = lean_unbox(x_45); +lean_dec(x_45); +if (x_48 == 0) +{ +lean_object* x_49; lean_object* x_50; +lean_free_object(x_43); +lean_dec(x_38); +lean_dec(x_31); +x_49 = lean_box(0); +x_50 = lean_apply_6(x_47, x_49, x_3, x_4, x_5, x_6, x_46); +return x_50; } +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; +x_51 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_51, 0, x_31); +x_52 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +lean_ctor_set_tag(x_43, 7); +lean_ctor_set(x_43, 1, x_51); +lean_ctor_set(x_43, 0, x_52); +x_53 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +x_54 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_54, 0, x_43); +lean_ctor_set(x_54, 1, x_53); +x_55 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_55, 0, x_38); +x_56 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_56, 0, x_54); +lean_ctor_set(x_56, 1, x_55); +x_57 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_58 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_58, 0, x_56); +lean_ctor_set(x_58, 1, x_57); +x_59 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_42, x_58, x_3, x_4, x_5, x_6, x_46); +x_60 = lean_ctor_get(x_59, 0); +lean_inc(x_60); +x_61 = lean_ctor_get(x_59, 1); +lean_inc(x_61); +lean_dec(x_59); +x_62 = lean_apply_6(x_47, x_60, x_3, x_4, x_5, x_6, x_61); +return x_62; } } else { -lean_object* x_42; lean_object* x_43; uint8_t x_44; -x_42 = lean_ctor_get(x_36, 0); -x_43 = lean_ctor_get(x_36, 1); -lean_inc(x_43); -lean_inc(x_42); +lean_object* x_63; lean_object* x_64; lean_object* x_65; uint8_t x_66; +x_63 = lean_ctor_get(x_43, 0); +x_64 = lean_ctor_get(x_43, 1); +lean_inc(x_64); +lean_inc(x_63); +lean_dec(x_43); +x_65 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; +x_66 = lean_unbox(x_63); +lean_dec(x_63); +if (x_66 == 0) +{ +lean_object* x_67; lean_object* x_68; +lean_dec(x_38); +lean_dec(x_31); +x_67 = lean_box(0); +x_68 = lean_apply_6(x_65, x_67, x_3, x_4, x_5, x_6, x_64); +return x_68; +} +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; +x_69 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_69, 0, x_31); +x_70 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +x_71 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_71, 0, x_70); +lean_ctor_set(x_71, 1, x_69); +x_72 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +x_73 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); +x_74 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_74, 0, x_38); +x_75 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_75, 0, x_73); +lean_ctor_set(x_75, 1, x_74); +x_76 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_77 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +x_78 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_42, x_77, x_3, x_4, x_5, x_6, x_64); +x_79 = lean_ctor_get(x_78, 0); +lean_inc(x_79); +x_80 = lean_ctor_get(x_78, 1); +lean_inc(x_80); +lean_dec(x_78); +x_81 = lean_apply_6(x_65, x_79, x_3, x_4, x_5, x_6, x_80); +return x_81; +} +} +} +} +} +else +{ +lean_object* x_82; lean_object* x_83; uint8_t x_84; +x_82 = lean_ctor_get(x_36, 0); +x_83 = lean_ctor_get(x_36, 1); +lean_inc(x_83); +lean_inc(x_82); lean_dec(x_36); -x_44 = lean_name_eq(x_27, x_31); +x_84 = lean_name_eq(x_27, x_31); lean_dec(x_27); -if (x_44 == 0) +if (x_84 == 0) { -lean_object* x_45; +lean_object* x_85; lean_dec(x_34); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); lean_ctor_set(x_24, 1, x_28); lean_ctor_set(x_24, 0, x_31); lean_ctor_set(x_21, 1, x_35); -lean_ctor_set(x_21, 0, x_42); +lean_ctor_set(x_21, 0, x_82); lean_ctor_set(x_20, 1, x_21); lean_ctor_set(x_20, 0, x_24); -x_45 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_45, 0, x_12); -lean_ctor_set(x_45, 1, x_43); -return x_45; +x_85 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_85, 0, x_12); +lean_ctor_set(x_85, 1, x_83); +return x_85; } else { -uint8_t x_46; -x_46 = lean_name_eq(x_34, x_42); +uint8_t x_86; +x_86 = lean_name_eq(x_34, x_82); lean_dec(x_34); -if (x_46 == 0) +if (x_86 == 0) { -lean_object* x_47; +lean_object* x_87; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); lean_ctor_set(x_24, 1, x_28); lean_ctor_set(x_24, 0, x_31); lean_ctor_set(x_21, 1, x_35); -lean_ctor_set(x_21, 0, x_42); +lean_ctor_set(x_21, 0, x_82); lean_ctor_set(x_20, 1, x_21); lean_ctor_set(x_20, 0, x_24); -x_47 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_47, 0, x_12); -lean_ctor_set(x_47, 1, x_43); -return x_47; +x_87 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_87, 0, x_12); +lean_ctor_set(x_87, 1, x_83); +return x_87; } else { -lean_object* x_48; lean_object* x_49; -lean_dec(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_93; uint8_t x_94; lean_free_object(x_24); lean_dec(x_35); -lean_dec(x_31); lean_free_object(x_21); lean_dec(x_28); lean_free_object(x_20); lean_free_object(x_12); -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_43); -return x_49; +x_88 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2; +x_89 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_88, x_3, x_4, x_5, x_6, x_83); +x_90 = lean_ctor_get(x_89, 0); +lean_inc(x_90); +x_91 = lean_ctor_get(x_89, 1); +lean_inc(x_91); +if (lean_is_exclusive(x_89)) { + lean_ctor_release(x_89, 0); + lean_ctor_release(x_89, 1); + x_92 = x_89; +} else { + lean_dec_ref(x_89); + x_92 = lean_box(0); +} +x_93 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; +x_94 = lean_unbox(x_90); +lean_dec(x_90); +if (x_94 == 0) +{ +lean_object* x_95; lean_object* x_96; +lean_dec(x_92); +lean_dec(x_82); +lean_dec(x_31); +x_95 = lean_box(0); +x_96 = lean_apply_6(x_93, x_95, x_3, x_4, x_5, x_6, x_91); +return x_96; +} +else +{ +lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; +x_97 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_97, 0, x_31); +x_98 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +if (lean_is_scalar(x_92)) { + x_99 = lean_alloc_ctor(7, 2, 0); +} else { + x_99 = x_92; + lean_ctor_set_tag(x_99, 7); +} +lean_ctor_set(x_99, 0, x_98); +lean_ctor_set(x_99, 1, x_97); +x_100 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +x_101 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_101, 0, x_99); +lean_ctor_set(x_101, 1, x_100); +x_102 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_102, 0, x_82); +x_103 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_103, 0, x_101); +lean_ctor_set(x_103, 1, x_102); +x_104 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_105 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_105, 0, x_103); +lean_ctor_set(x_105, 1, x_104); +x_106 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_88, x_105, x_3, x_4, x_5, x_6, x_91); +x_107 = lean_ctor_get(x_106, 0); +lean_inc(x_107); +x_108 = lean_ctor_get(x_106, 1); +lean_inc(x_108); +lean_dec(x_106); +x_109 = lean_apply_6(x_93, x_107, x_3, x_4, x_5, x_6, x_108); +return x_109; +} } } } } else { -uint8_t x_50; +uint8_t x_110; lean_free_object(x_24); lean_dec(x_35); lean_dec(x_34); @@ -4544,156 +8882,229 @@ lean_dec(x_28); lean_dec(x_27); lean_free_object(x_20); lean_free_object(x_12); -x_50 = !lean_is_exclusive(x_36); -if (x_50 == 0) +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_110 = !lean_is_exclusive(x_36); +if (x_110 == 0) { return x_36; } else { -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_36, 0); -x_52 = lean_ctor_get(x_36, 1); -lean_inc(x_52); -lean_inc(x_51); +lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_111 = lean_ctor_get(x_36, 0); +x_112 = lean_ctor_get(x_36, 1); +lean_inc(x_112); +lean_inc(x_111); lean_dec(x_36); -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; +x_113 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_113, 0, x_111); +lean_ctor_set(x_113, 1, x_112); +return x_113; } } } else { -lean_object* x_54; lean_object* x_55; lean_object* x_56; -x_54 = lean_ctor_get(x_24, 0); -x_55 = lean_ctor_get(x_24, 1); -lean_inc(x_55); -lean_inc(x_54); +lean_object* x_114; lean_object* x_115; lean_object* x_116; +x_114 = lean_ctor_get(x_24, 0); +x_115 = lean_ctor_get(x_24, 1); +lean_inc(x_115); +lean_inc(x_114); lean_dec(x_24); -lean_inc(x_54); -x_56 = l_Lean_Meta_simpIfTarget(x_54, x_29, x_3, x_4, x_5, x_6, x_32); -if (lean_obj_tag(x_56) == 0) +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_114); +x_116 = l_Lean_Meta_simpIfTarget(x_114, x_29, x_3, x_4, x_5, x_6, x_32); +if (lean_obj_tag(x_116) == 0) { -lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; -x_57 = lean_ctor_get(x_56, 0); -lean_inc(x_57); -x_58 = lean_ctor_get(x_56, 1); -lean_inc(x_58); -if (lean_is_exclusive(x_56)) { - lean_ctor_release(x_56, 0); - lean_ctor_release(x_56, 1); - x_59 = x_56; +lean_object* x_117; lean_object* x_118; lean_object* x_119; uint8_t x_120; +x_117 = lean_ctor_get(x_116, 0); +lean_inc(x_117); +x_118 = lean_ctor_get(x_116, 1); +lean_inc(x_118); +if (lean_is_exclusive(x_116)) { + lean_ctor_release(x_116, 0); + lean_ctor_release(x_116, 1); + x_119 = x_116; } else { - lean_dec_ref(x_56); - x_59 = lean_box(0); + lean_dec_ref(x_116); + x_119 = lean_box(0); } -x_60 = lean_name_eq(x_27, x_31); +x_120 = lean_name_eq(x_27, x_31); lean_dec(x_27); -if (x_60 == 0) +if (x_120 == 0) { -lean_object* x_61; lean_object* x_62; -lean_dec(x_54); -x_61 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_61, 0, x_31); -lean_ctor_set(x_61, 1, x_28); -lean_ctor_set(x_21, 1, x_55); -lean_ctor_set(x_21, 0, x_57); +lean_object* x_121; lean_object* x_122; +lean_dec(x_114); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_121 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_121, 0, x_31); +lean_ctor_set(x_121, 1, x_28); +lean_ctor_set(x_21, 1, x_115); +lean_ctor_set(x_21, 0, x_117); lean_ctor_set(x_20, 1, x_21); -lean_ctor_set(x_20, 0, x_61); -if (lean_is_scalar(x_59)) { - x_62 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_121); +if (lean_is_scalar(x_119)) { + x_122 = lean_alloc_ctor(0, 2, 0); } else { - x_62 = x_59; + x_122 = x_119; } -lean_ctor_set(x_62, 0, x_12); -lean_ctor_set(x_62, 1, x_58); -return x_62; +lean_ctor_set(x_122, 0, x_12); +lean_ctor_set(x_122, 1, x_118); +return x_122; } else { -uint8_t x_63; -x_63 = lean_name_eq(x_54, x_57); -lean_dec(x_54); -if (x_63 == 0) +uint8_t x_123; +x_123 = lean_name_eq(x_114, x_117); +lean_dec(x_114); +if (x_123 == 0) { -lean_object* x_64; lean_object* x_65; -x_64 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_64, 0, x_31); -lean_ctor_set(x_64, 1, x_28); -lean_ctor_set(x_21, 1, x_55); -lean_ctor_set(x_21, 0, x_57); +lean_object* x_124; lean_object* x_125; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_124 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_124, 0, x_31); +lean_ctor_set(x_124, 1, x_28); +lean_ctor_set(x_21, 1, x_115); +lean_ctor_set(x_21, 0, x_117); lean_ctor_set(x_20, 1, x_21); -lean_ctor_set(x_20, 0, x_64); -if (lean_is_scalar(x_59)) { - x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_20, 0, x_124); +if (lean_is_scalar(x_119)) { + x_125 = lean_alloc_ctor(0, 2, 0); } else { - x_65 = x_59; + x_125 = x_119; } -lean_ctor_set(x_65, 0, x_12); -lean_ctor_set(x_65, 1, x_58); -return x_65; +lean_ctor_set(x_125, 0, x_12); +lean_ctor_set(x_125, 1, x_118); +return x_125; } else { -lean_object* x_66; lean_object* x_67; -lean_dec(x_57); -lean_dec(x_55); -lean_dec(x_31); +lean_object* x_126; lean_object* x_127; lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; uint8_t x_132; +lean_dec(x_119); +lean_dec(x_115); lean_free_object(x_21); lean_dec(x_28); lean_free_object(x_20); lean_free_object(x_12); -x_66 = lean_box(0); -if (lean_is_scalar(x_59)) { - x_67 = lean_alloc_ctor(0, 2, 0); +x_126 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2; +x_127 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_126, x_3, x_4, x_5, x_6, x_118); +x_128 = lean_ctor_get(x_127, 0); +lean_inc(x_128); +x_129 = lean_ctor_get(x_127, 1); +lean_inc(x_129); +if (lean_is_exclusive(x_127)) { + lean_ctor_release(x_127, 0); + lean_ctor_release(x_127, 1); + x_130 = x_127; } else { - x_67 = x_59; + lean_dec_ref(x_127); + x_130 = lean_box(0); +} +x_131 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; +x_132 = lean_unbox(x_128); +lean_dec(x_128); +if (x_132 == 0) +{ +lean_object* x_133; lean_object* x_134; +lean_dec(x_130); +lean_dec(x_117); +lean_dec(x_31); +x_133 = lean_box(0); +x_134 = lean_apply_6(x_131, x_133, x_3, x_4, x_5, x_6, x_129); +return x_134; +} +else +{ +lean_object* x_135; lean_object* x_136; lean_object* x_137; lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; +x_135 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_135, 0, x_31); +x_136 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +if (lean_is_scalar(x_130)) { + x_137 = lean_alloc_ctor(7, 2, 0); +} else { + x_137 = x_130; + lean_ctor_set_tag(x_137, 7); +} +lean_ctor_set(x_137, 0, x_136); +lean_ctor_set(x_137, 1, x_135); +x_138 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +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 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_140, 0, x_117); +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_Meta_findSplit_x3f_find_x3f___closed__7; +x_143 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_143, 0, x_141); +lean_ctor_set(x_143, 1, x_142); +x_144 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_126, x_143, x_3, x_4, x_5, x_6, x_129); +x_145 = lean_ctor_get(x_144, 0); +lean_inc(x_145); +x_146 = lean_ctor_get(x_144, 1); +lean_inc(x_146); +lean_dec(x_144); +x_147 = lean_apply_6(x_131, x_145, x_3, x_4, x_5, x_6, x_146); +return x_147; } -lean_ctor_set(x_67, 0, x_66); -lean_ctor_set(x_67, 1, x_58); -return x_67; } } } else { -lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; -lean_dec(x_55); -lean_dec(x_54); +lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; +lean_dec(x_115); +lean_dec(x_114); lean_dec(x_31); lean_free_object(x_21); lean_dec(x_28); lean_dec(x_27); lean_free_object(x_20); lean_free_object(x_12); -x_68 = lean_ctor_get(x_56, 0); -lean_inc(x_68); -x_69 = lean_ctor_get(x_56, 1); -lean_inc(x_69); -if (lean_is_exclusive(x_56)) { - lean_ctor_release(x_56, 0); - lean_ctor_release(x_56, 1); - x_70 = x_56; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_148 = lean_ctor_get(x_116, 0); +lean_inc(x_148); +x_149 = lean_ctor_get(x_116, 1); +lean_inc(x_149); +if (lean_is_exclusive(x_116)) { + lean_ctor_release(x_116, 0); + lean_ctor_release(x_116, 1); + x_150 = x_116; } else { - lean_dec_ref(x_56); - x_70 = lean_box(0); + lean_dec_ref(x_116); + x_150 = lean_box(0); } -if (lean_is_scalar(x_70)) { - x_71 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_150)) { + x_151 = lean_alloc_ctor(1, 2, 0); } else { - x_71 = x_70; + x_151 = x_150; } -lean_ctor_set(x_71, 0, x_68); -lean_ctor_set(x_71, 1, x_69); -return x_71; +lean_ctor_set(x_151, 0, x_148); +lean_ctor_set(x_151, 1, x_149); +return x_151; } } } else { -uint8_t x_72; +uint8_t x_152; lean_free_object(x_21); lean_dec(x_28); lean_dec(x_27); @@ -4704,194 +9115,263 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_72 = !lean_is_exclusive(x_30); -if (x_72 == 0) +x_152 = !lean_is_exclusive(x_30); +if (x_152 == 0) { return x_30; } else { -lean_object* x_73; lean_object* x_74; lean_object* x_75; -x_73 = lean_ctor_get(x_30, 0); -x_74 = lean_ctor_get(x_30, 1); -lean_inc(x_74); -lean_inc(x_73); +lean_object* x_153; lean_object* x_154; lean_object* x_155; +x_153 = lean_ctor_get(x_30, 0); +x_154 = lean_ctor_get(x_30, 1); +lean_inc(x_154); +lean_inc(x_153); lean_dec(x_30); -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; +x_155 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_155, 0, x_153); +lean_ctor_set(x_155, 1, x_154); +return x_155; } } } else { -lean_object* x_76; lean_object* x_77; uint8_t x_78; lean_object* x_79; -x_76 = lean_ctor_get(x_21, 0); -x_77 = lean_ctor_get(x_21, 1); -lean_inc(x_77); -lean_inc(x_76); +lean_object* x_156; lean_object* x_157; uint8_t x_158; lean_object* x_159; +x_156 = lean_ctor_get(x_21, 0); +x_157 = lean_ctor_get(x_21, 1); +lean_inc(x_157); +lean_inc(x_156); lean_dec(x_21); -x_78 = 0; +x_158 = 0; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_76); -x_79 = l_Lean_Meta_simpIfTarget(x_76, x_78, x_3, x_4, x_5, x_6, x_22); -if (lean_obj_tag(x_79) == 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_79, 0); -lean_inc(x_80); -x_81 = lean_ctor_get(x_79, 1); -lean_inc(x_81); -lean_dec(x_79); -x_82 = lean_ctor_get(x_24, 0); -lean_inc(x_82); -x_83 = lean_ctor_get(x_24, 1); -lean_inc(x_83); +lean_inc(x_156); +x_159 = l_Lean_Meta_simpIfTarget(x_156, x_158, x_3, x_4, x_5, x_6, x_22); +if (lean_obj_tag(x_159) == 0) +{ +lean_object* x_160; lean_object* x_161; lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; +x_160 = lean_ctor_get(x_159, 0); +lean_inc(x_160); +x_161 = lean_ctor_get(x_159, 1); +lean_inc(x_161); +lean_dec(x_159); +x_162 = lean_ctor_get(x_24, 0); +lean_inc(x_162); +x_163 = lean_ctor_get(x_24, 1); +lean_inc(x_163); if (lean_is_exclusive(x_24)) { lean_ctor_release(x_24, 0); lean_ctor_release(x_24, 1); - x_84 = x_24; + x_164 = x_24; } else { lean_dec_ref(x_24); - x_84 = lean_box(0); + x_164 = lean_box(0); } -lean_inc(x_82); -x_85 = l_Lean_Meta_simpIfTarget(x_82, x_78, x_3, x_4, x_5, x_6, x_81); -if (lean_obj_tag(x_85) == 0) -{ -lean_object* x_86; lean_object* x_87; lean_object* x_88; uint8_t x_89; -x_86 = lean_ctor_get(x_85, 0); -lean_inc(x_86); -x_87 = lean_ctor_get(x_85, 1); -lean_inc(x_87); -if (lean_is_exclusive(x_85)) { - lean_ctor_release(x_85, 0); - lean_ctor_release(x_85, 1); - x_88 = x_85; +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_162); +x_165 = l_Lean_Meta_simpIfTarget(x_162, x_158, x_3, x_4, x_5, x_6, x_161); +if (lean_obj_tag(x_165) == 0) +{ +lean_object* x_166; lean_object* x_167; lean_object* x_168; uint8_t x_169; +x_166 = lean_ctor_get(x_165, 0); +lean_inc(x_166); +x_167 = lean_ctor_get(x_165, 1); +lean_inc(x_167); +if (lean_is_exclusive(x_165)) { + lean_ctor_release(x_165, 0); + lean_ctor_release(x_165, 1); + x_168 = x_165; } else { - lean_dec_ref(x_85); - x_88 = lean_box(0); + lean_dec_ref(x_165); + x_168 = lean_box(0); } -x_89 = lean_name_eq(x_76, x_80); -lean_dec(x_76); -if (x_89 == 0) +x_169 = lean_name_eq(x_156, x_160); +lean_dec(x_156); +if (x_169 == 0) { -lean_object* x_90; lean_object* x_91; lean_object* x_92; -lean_dec(x_82); -if (lean_is_scalar(x_84)) { - x_90 = lean_alloc_ctor(0, 2, 0); +lean_object* x_170; lean_object* x_171; lean_object* x_172; +lean_dec(x_162); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +if (lean_is_scalar(x_164)) { + x_170 = lean_alloc_ctor(0, 2, 0); } else { - x_90 = x_84; -} -lean_ctor_set(x_90, 0, x_80); -lean_ctor_set(x_90, 1, x_77); -x_91 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_91, 0, x_86); -lean_ctor_set(x_91, 1, x_83); -lean_ctor_set(x_20, 1, x_91); -lean_ctor_set(x_20, 0, x_90); -if (lean_is_scalar(x_88)) { - x_92 = lean_alloc_ctor(0, 2, 0); + x_170 = x_164; +} +lean_ctor_set(x_170, 0, x_160); +lean_ctor_set(x_170, 1, x_157); +x_171 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_171, 0, x_166); +lean_ctor_set(x_171, 1, x_163); +lean_ctor_set(x_20, 1, x_171); +lean_ctor_set(x_20, 0, x_170); +if (lean_is_scalar(x_168)) { + x_172 = lean_alloc_ctor(0, 2, 0); } else { - x_92 = x_88; + x_172 = x_168; } -lean_ctor_set(x_92, 0, x_12); -lean_ctor_set(x_92, 1, x_87); -return x_92; +lean_ctor_set(x_172, 0, x_12); +lean_ctor_set(x_172, 1, x_167); +return x_172; } else { -uint8_t x_93; -x_93 = lean_name_eq(x_82, x_86); -lean_dec(x_82); -if (x_93 == 0) +uint8_t x_173; +x_173 = lean_name_eq(x_162, x_166); +lean_dec(x_162); +if (x_173 == 0) { -lean_object* x_94; lean_object* x_95; lean_object* x_96; -if (lean_is_scalar(x_84)) { - x_94 = lean_alloc_ctor(0, 2, 0); +lean_object* x_174; lean_object* x_175; lean_object* x_176; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +if (lean_is_scalar(x_164)) { + x_174 = lean_alloc_ctor(0, 2, 0); } else { - x_94 = x_84; -} -lean_ctor_set(x_94, 0, x_80); -lean_ctor_set(x_94, 1, x_77); -x_95 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_95, 0, x_86); -lean_ctor_set(x_95, 1, x_83); -lean_ctor_set(x_20, 1, x_95); -lean_ctor_set(x_20, 0, x_94); -if (lean_is_scalar(x_88)) { - x_96 = lean_alloc_ctor(0, 2, 0); + x_174 = x_164; +} +lean_ctor_set(x_174, 0, x_160); +lean_ctor_set(x_174, 1, x_157); +x_175 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_175, 0, x_166); +lean_ctor_set(x_175, 1, x_163); +lean_ctor_set(x_20, 1, x_175); +lean_ctor_set(x_20, 0, x_174); +if (lean_is_scalar(x_168)) { + x_176 = lean_alloc_ctor(0, 2, 0); } else { - x_96 = x_88; + x_176 = x_168; } -lean_ctor_set(x_96, 0, x_12); -lean_ctor_set(x_96, 1, x_87); -return x_96; +lean_ctor_set(x_176, 0, x_12); +lean_ctor_set(x_176, 1, x_167); +return x_176; } else { -lean_object* x_97; lean_object* x_98; -lean_dec(x_86); -lean_dec(x_84); -lean_dec(x_83); -lean_dec(x_80); -lean_dec(x_77); +lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; uint8_t x_183; +lean_dec(x_168); +lean_dec(x_164); +lean_dec(x_163); +lean_dec(x_157); lean_free_object(x_20); lean_free_object(x_12); -x_97 = lean_box(0); -if (lean_is_scalar(x_88)) { - x_98 = lean_alloc_ctor(0, 2, 0); +x_177 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2; +x_178 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_177, x_3, x_4, x_5, x_6, x_167); +x_179 = lean_ctor_get(x_178, 0); +lean_inc(x_179); +x_180 = lean_ctor_get(x_178, 1); +lean_inc(x_180); +if (lean_is_exclusive(x_178)) { + lean_ctor_release(x_178, 0); + lean_ctor_release(x_178, 1); + x_181 = x_178; } else { - x_98 = x_88; -} -lean_ctor_set(x_98, 0, x_97); -lean_ctor_set(x_98, 1, x_87); -return x_98; -} + lean_dec_ref(x_178); + x_181 = lean_box(0); } +x_182 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; +x_183 = lean_unbox(x_179); +lean_dec(x_179); +if (x_183 == 0) +{ +lean_object* x_184; lean_object* x_185; +lean_dec(x_181); +lean_dec(x_166); +lean_dec(x_160); +x_184 = lean_box(0); +x_185 = lean_apply_6(x_182, x_184, x_3, x_4, x_5, x_6, x_180); +return x_185; } else { -lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; -lean_dec(x_84); -lean_dec(x_83); -lean_dec(x_82); -lean_dec(x_80); -lean_dec(x_77); -lean_dec(x_76); +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_186 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_186, 0, x_160); +x_187 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +if (lean_is_scalar(x_181)) { + x_188 = lean_alloc_ctor(7, 2, 0); +} else { + x_188 = x_181; + lean_ctor_set_tag(x_188, 7); +} +lean_ctor_set(x_188, 0, x_187); +lean_ctor_set(x_188, 1, x_186); +x_189 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +x_190 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_190, 0, x_188); +lean_ctor_set(x_190, 1, x_189); +x_191 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_191, 0, x_166); +x_192 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_192, 0, x_190); +lean_ctor_set(x_192, 1, x_191); +x_193 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_194 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_194, 0, x_192); +lean_ctor_set(x_194, 1, x_193); +x_195 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_177, x_194, x_3, x_4, x_5, x_6, x_180); +x_196 = lean_ctor_get(x_195, 0); +lean_inc(x_196); +x_197 = lean_ctor_get(x_195, 1); +lean_inc(x_197); +lean_dec(x_195); +x_198 = lean_apply_6(x_182, x_196, x_3, x_4, x_5, x_6, x_197); +return x_198; +} +} +} +} +else +{ +lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; +lean_dec(x_164); +lean_dec(x_163); +lean_dec(x_162); +lean_dec(x_160); +lean_dec(x_157); +lean_dec(x_156); lean_free_object(x_20); lean_free_object(x_12); -x_99 = lean_ctor_get(x_85, 0); -lean_inc(x_99); -x_100 = lean_ctor_get(x_85, 1); -lean_inc(x_100); -if (lean_is_exclusive(x_85)) { - lean_ctor_release(x_85, 0); - lean_ctor_release(x_85, 1); - x_101 = x_85; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_199 = lean_ctor_get(x_165, 0); +lean_inc(x_199); +x_200 = lean_ctor_get(x_165, 1); +lean_inc(x_200); +if (lean_is_exclusive(x_165)) { + lean_ctor_release(x_165, 0); + lean_ctor_release(x_165, 1); + x_201 = x_165; } else { - lean_dec_ref(x_85); - x_101 = lean_box(0); + lean_dec_ref(x_165); + x_201 = lean_box(0); } -if (lean_is_scalar(x_101)) { - x_102 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_201)) { + x_202 = lean_alloc_ctor(1, 2, 0); } else { - x_102 = x_101; + x_202 = x_201; } -lean_ctor_set(x_102, 0, x_99); -lean_ctor_set(x_102, 1, x_100); -return x_102; +lean_ctor_set(x_202, 0, x_199); +lean_ctor_set(x_202, 1, x_200); +return x_202; } } else { -lean_object* x_103; lean_object* x_104; lean_object* x_105; lean_object* x_106; -lean_dec(x_77); -lean_dec(x_76); +lean_object* x_203; lean_object* x_204; lean_object* x_205; lean_object* x_206; +lean_dec(x_157); +lean_dec(x_156); lean_free_object(x_20); lean_dec(x_24); lean_free_object(x_12); @@ -4899,548 +9379,686 @@ lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_103 = lean_ctor_get(x_79, 0); -lean_inc(x_103); -x_104 = lean_ctor_get(x_79, 1); -lean_inc(x_104); -if (lean_is_exclusive(x_79)) { - lean_ctor_release(x_79, 0); - lean_ctor_release(x_79, 1); - x_105 = x_79; +x_203 = lean_ctor_get(x_159, 0); +lean_inc(x_203); +x_204 = lean_ctor_get(x_159, 1); +lean_inc(x_204); +if (lean_is_exclusive(x_159)) { + lean_ctor_release(x_159, 0); + lean_ctor_release(x_159, 1); + x_205 = x_159; } else { - lean_dec_ref(x_79); - x_105 = lean_box(0); + lean_dec_ref(x_159); + x_205 = lean_box(0); } -if (lean_is_scalar(x_105)) { - x_106 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_205)) { + x_206 = lean_alloc_ctor(1, 2, 0); } else { - x_106 = x_105; + x_206 = x_205; } -lean_ctor_set(x_106, 0, x_103); -lean_ctor_set(x_106, 1, x_104); -return x_106; +lean_ctor_set(x_206, 0, x_203); +lean_ctor_set(x_206, 1, x_204); +return x_206; } } } else { -lean_object* x_107; lean_object* x_108; lean_object* x_109; lean_object* x_110; uint8_t x_111; lean_object* x_112; -x_107 = lean_ctor_get(x_20, 1); -lean_inc(x_107); +lean_object* x_207; lean_object* x_208; lean_object* x_209; lean_object* x_210; uint8_t x_211; lean_object* x_212; +x_207 = lean_ctor_get(x_20, 1); +lean_inc(x_207); lean_dec(x_20); -x_108 = lean_ctor_get(x_21, 0); -lean_inc(x_108); -x_109 = lean_ctor_get(x_21, 1); -lean_inc(x_109); +x_208 = lean_ctor_get(x_21, 0); +lean_inc(x_208); +x_209 = lean_ctor_get(x_21, 1); +lean_inc(x_209); if (lean_is_exclusive(x_21)) { lean_ctor_release(x_21, 0); lean_ctor_release(x_21, 1); - x_110 = x_21; + x_210 = x_21; } else { lean_dec_ref(x_21); - x_110 = lean_box(0); + x_210 = lean_box(0); } -x_111 = 0; +x_211 = 0; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_108); -x_112 = l_Lean_Meta_simpIfTarget(x_108, x_111, x_3, x_4, x_5, x_6, x_22); -if (lean_obj_tag(x_112) == 0) -{ -lean_object* x_113; lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; lean_object* x_118; -x_113 = lean_ctor_get(x_112, 0); -lean_inc(x_113); -x_114 = lean_ctor_get(x_112, 1); -lean_inc(x_114); -lean_dec(x_112); -x_115 = lean_ctor_get(x_107, 0); -lean_inc(x_115); -x_116 = lean_ctor_get(x_107, 1); -lean_inc(x_116); -if (lean_is_exclusive(x_107)) { - lean_ctor_release(x_107, 0); - lean_ctor_release(x_107, 1); - x_117 = x_107; +lean_inc(x_208); +x_212 = l_Lean_Meta_simpIfTarget(x_208, x_211, x_3, x_4, x_5, x_6, x_22); +if (lean_obj_tag(x_212) == 0) +{ +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_213 = lean_ctor_get(x_212, 0); +lean_inc(x_213); +x_214 = lean_ctor_get(x_212, 1); +lean_inc(x_214); +lean_dec(x_212); +x_215 = lean_ctor_get(x_207, 0); +lean_inc(x_215); +x_216 = lean_ctor_get(x_207, 1); +lean_inc(x_216); +if (lean_is_exclusive(x_207)) { + lean_ctor_release(x_207, 0); + lean_ctor_release(x_207, 1); + x_217 = x_207; } else { - lean_dec_ref(x_107); - x_117 = lean_box(0); + lean_dec_ref(x_207); + x_217 = lean_box(0); } -lean_inc(x_115); -x_118 = l_Lean_Meta_simpIfTarget(x_115, x_111, x_3, x_4, x_5, x_6, x_114); -if (lean_obj_tag(x_118) == 0) -{ -lean_object* x_119; lean_object* x_120; lean_object* x_121; uint8_t x_122; -x_119 = lean_ctor_get(x_118, 0); -lean_inc(x_119); -x_120 = lean_ctor_get(x_118, 1); -lean_inc(x_120); -if (lean_is_exclusive(x_118)) { - lean_ctor_release(x_118, 0); - lean_ctor_release(x_118, 1); - x_121 = x_118; +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_215); +x_218 = l_Lean_Meta_simpIfTarget(x_215, x_211, x_3, x_4, x_5, x_6, x_214); +if (lean_obj_tag(x_218) == 0) +{ +lean_object* x_219; lean_object* x_220; lean_object* x_221; uint8_t x_222; +x_219 = lean_ctor_get(x_218, 0); +lean_inc(x_219); +x_220 = lean_ctor_get(x_218, 1); +lean_inc(x_220); +if (lean_is_exclusive(x_218)) { + lean_ctor_release(x_218, 0); + lean_ctor_release(x_218, 1); + x_221 = x_218; } else { - lean_dec_ref(x_118); - x_121 = lean_box(0); + lean_dec_ref(x_218); + x_221 = lean_box(0); } -x_122 = lean_name_eq(x_108, x_113); -lean_dec(x_108); -if (x_122 == 0) +x_222 = lean_name_eq(x_208, x_213); +lean_dec(x_208); +if (x_222 == 0) { -lean_object* x_123; lean_object* x_124; lean_object* x_125; lean_object* x_126; -lean_dec(x_115); -if (lean_is_scalar(x_117)) { - x_123 = lean_alloc_ctor(0, 2, 0); +lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; +lean_dec(x_215); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +if (lean_is_scalar(x_217)) { + x_223 = lean_alloc_ctor(0, 2, 0); } else { - x_123 = x_117; + x_223 = x_217; } -lean_ctor_set(x_123, 0, x_113); -lean_ctor_set(x_123, 1, x_109); -if (lean_is_scalar(x_110)) { - x_124 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_223, 0, x_213); +lean_ctor_set(x_223, 1, x_209); +if (lean_is_scalar(x_210)) { + x_224 = lean_alloc_ctor(0, 2, 0); } else { - x_124 = x_110; -} -lean_ctor_set(x_124, 0, x_119); -lean_ctor_set(x_124, 1, x_116); -x_125 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_125, 0, x_123); -lean_ctor_set(x_125, 1, x_124); -lean_ctor_set(x_12, 0, x_125); -if (lean_is_scalar(x_121)) { - x_126 = lean_alloc_ctor(0, 2, 0); + x_224 = x_210; +} +lean_ctor_set(x_224, 0, x_219); +lean_ctor_set(x_224, 1, x_216); +x_225 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_225, 0, x_223); +lean_ctor_set(x_225, 1, x_224); +lean_ctor_set(x_12, 0, x_225); +if (lean_is_scalar(x_221)) { + x_226 = lean_alloc_ctor(0, 2, 0); } else { - x_126 = x_121; + x_226 = x_221; } -lean_ctor_set(x_126, 0, x_12); -lean_ctor_set(x_126, 1, x_120); -return x_126; +lean_ctor_set(x_226, 0, x_12); +lean_ctor_set(x_226, 1, x_220); +return x_226; } else { -uint8_t x_127; -x_127 = lean_name_eq(x_115, x_119); -lean_dec(x_115); -if (x_127 == 0) +uint8_t x_227; +x_227 = lean_name_eq(x_215, x_219); +lean_dec(x_215); +if (x_227 == 0) { -lean_object* x_128; lean_object* x_129; lean_object* x_130; lean_object* x_131; -if (lean_is_scalar(x_117)) { - x_128 = lean_alloc_ctor(0, 2, 0); +lean_object* x_228; lean_object* x_229; lean_object* x_230; lean_object* x_231; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +if (lean_is_scalar(x_217)) { + x_228 = lean_alloc_ctor(0, 2, 0); } else { - x_128 = x_117; + x_228 = x_217; } -lean_ctor_set(x_128, 0, x_113); -lean_ctor_set(x_128, 1, x_109); -if (lean_is_scalar(x_110)) { - x_129 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_228, 0, x_213); +lean_ctor_set(x_228, 1, x_209); +if (lean_is_scalar(x_210)) { + x_229 = lean_alloc_ctor(0, 2, 0); } else { - x_129 = x_110; -} -lean_ctor_set(x_129, 0, x_119); -lean_ctor_set(x_129, 1, x_116); -x_130 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_130, 0, x_128); -lean_ctor_set(x_130, 1, x_129); -lean_ctor_set(x_12, 0, x_130); -if (lean_is_scalar(x_121)) { - x_131 = lean_alloc_ctor(0, 2, 0); + x_229 = x_210; +} +lean_ctor_set(x_229, 0, x_219); +lean_ctor_set(x_229, 1, x_216); +x_230 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_230, 0, x_228); +lean_ctor_set(x_230, 1, x_229); +lean_ctor_set(x_12, 0, x_230); +if (lean_is_scalar(x_221)) { + x_231 = lean_alloc_ctor(0, 2, 0); } else { - x_131 = x_121; + x_231 = x_221; } -lean_ctor_set(x_131, 0, x_12); -lean_ctor_set(x_131, 1, x_120); -return x_131; +lean_ctor_set(x_231, 0, x_12); +lean_ctor_set(x_231, 1, x_220); +return x_231; } else { -lean_object* x_132; lean_object* x_133; -lean_dec(x_119); -lean_dec(x_117); -lean_dec(x_116); -lean_dec(x_113); -lean_dec(x_110); -lean_dec(x_109); +lean_object* x_232; lean_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; uint8_t x_238; +lean_dec(x_221); +lean_dec(x_217); +lean_dec(x_216); +lean_dec(x_210); +lean_dec(x_209); lean_free_object(x_12); -x_132 = lean_box(0); -if (lean_is_scalar(x_121)) { - x_133 = lean_alloc_ctor(0, 2, 0); +x_232 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2; +x_233 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_232, x_3, x_4, x_5, x_6, x_220); +x_234 = lean_ctor_get(x_233, 0); +lean_inc(x_234); +x_235 = lean_ctor_get(x_233, 1); +lean_inc(x_235); +if (lean_is_exclusive(x_233)) { + lean_ctor_release(x_233, 0); + lean_ctor_release(x_233, 1); + x_236 = x_233; } else { - x_133 = x_121; -} -lean_ctor_set(x_133, 0, x_132); -lean_ctor_set(x_133, 1, x_120); -return x_133; -} -} -} -else -{ -lean_object* x_134; lean_object* x_135; lean_object* x_136; lean_object* x_137; -lean_dec(x_117); -lean_dec(x_116); -lean_dec(x_115); -lean_dec(x_113); -lean_dec(x_110); -lean_dec(x_109); -lean_dec(x_108); + lean_dec_ref(x_233); + x_236 = lean_box(0); +} +x_237 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; +x_238 = lean_unbox(x_234); +lean_dec(x_234); +if (x_238 == 0) +{ +lean_object* x_239; lean_object* x_240; +lean_dec(x_236); +lean_dec(x_219); +lean_dec(x_213); +x_239 = lean_box(0); +x_240 = lean_apply_6(x_237, x_239, x_3, x_4, x_5, x_6, x_235); +return x_240; +} +else +{ +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; +x_241 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_241, 0, x_213); +x_242 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +if (lean_is_scalar(x_236)) { + x_243 = lean_alloc_ctor(7, 2, 0); +} else { + x_243 = x_236; + lean_ctor_set_tag(x_243, 7); +} +lean_ctor_set(x_243, 0, x_242); +lean_ctor_set(x_243, 1, x_241); +x_244 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +x_245 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_245, 0, x_243); +lean_ctor_set(x_245, 1, x_244); +x_246 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_246, 0, x_219); +x_247 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_247, 0, x_245); +lean_ctor_set(x_247, 1, x_246); +x_248 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_249 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_249, 0, x_247); +lean_ctor_set(x_249, 1, x_248); +x_250 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_232, x_249, x_3, x_4, x_5, x_6, x_235); +x_251 = lean_ctor_get(x_250, 0); +lean_inc(x_251); +x_252 = lean_ctor_get(x_250, 1); +lean_inc(x_252); +lean_dec(x_250); +x_253 = lean_apply_6(x_237, x_251, x_3, x_4, x_5, x_6, x_252); +return x_253; +} +} +} +} +else +{ +lean_object* x_254; lean_object* x_255; lean_object* x_256; lean_object* x_257; +lean_dec(x_217); +lean_dec(x_216); +lean_dec(x_215); +lean_dec(x_213); +lean_dec(x_210); +lean_dec(x_209); +lean_dec(x_208); lean_free_object(x_12); -x_134 = lean_ctor_get(x_118, 0); -lean_inc(x_134); -x_135 = lean_ctor_get(x_118, 1); -lean_inc(x_135); -if (lean_is_exclusive(x_118)) { - lean_ctor_release(x_118, 0); - lean_ctor_release(x_118, 1); - x_136 = x_118; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_254 = lean_ctor_get(x_218, 0); +lean_inc(x_254); +x_255 = lean_ctor_get(x_218, 1); +lean_inc(x_255); +if (lean_is_exclusive(x_218)) { + lean_ctor_release(x_218, 0); + lean_ctor_release(x_218, 1); + x_256 = x_218; } else { - lean_dec_ref(x_118); - x_136 = lean_box(0); + lean_dec_ref(x_218); + x_256 = lean_box(0); } -if (lean_is_scalar(x_136)) { - x_137 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_256)) { + x_257 = lean_alloc_ctor(1, 2, 0); } else { - x_137 = x_136; + x_257 = x_256; } -lean_ctor_set(x_137, 0, x_134); -lean_ctor_set(x_137, 1, x_135); -return x_137; +lean_ctor_set(x_257, 0, x_254); +lean_ctor_set(x_257, 1, x_255); +return x_257; } } else { -lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; -lean_dec(x_110); -lean_dec(x_109); -lean_dec(x_108); -lean_dec(x_107); +lean_object* x_258; lean_object* x_259; lean_object* x_260; lean_object* x_261; +lean_dec(x_210); +lean_dec(x_209); +lean_dec(x_208); +lean_dec(x_207); lean_free_object(x_12); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_138 = lean_ctor_get(x_112, 0); -lean_inc(x_138); -x_139 = lean_ctor_get(x_112, 1); -lean_inc(x_139); -if (lean_is_exclusive(x_112)) { - lean_ctor_release(x_112, 0); - lean_ctor_release(x_112, 1); - x_140 = x_112; +x_258 = lean_ctor_get(x_212, 0); +lean_inc(x_258); +x_259 = lean_ctor_get(x_212, 1); +lean_inc(x_259); +if (lean_is_exclusive(x_212)) { + lean_ctor_release(x_212, 0); + lean_ctor_release(x_212, 1); + x_260 = x_212; } else { - lean_dec_ref(x_112); - x_140 = lean_box(0); + lean_dec_ref(x_212); + x_260 = lean_box(0); } -if (lean_is_scalar(x_140)) { - x_141 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_260)) { + x_261 = lean_alloc_ctor(1, 2, 0); } else { - x_141 = x_140; + x_261 = x_260; } -lean_ctor_set(x_141, 0, x_138); -lean_ctor_set(x_141, 1, x_139); -return x_141; +lean_ctor_set(x_261, 0, x_258); +lean_ctor_set(x_261, 1, x_259); +return x_261; } } } else { -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; uint8_t x_150; lean_object* x_151; -x_142 = lean_ctor_get(x_12, 0); -lean_inc(x_142); +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; uint8_t x_270; lean_object* x_271; +x_262 = lean_ctor_get(x_12, 0); +lean_inc(x_262); lean_dec(x_12); -x_143 = lean_ctor_get(x_142, 0); -lean_inc(x_143); -x_144 = lean_ctor_get(x_11, 1); -lean_inc(x_144); +x_263 = lean_ctor_get(x_262, 0); +lean_inc(x_263); +x_264 = lean_ctor_get(x_11, 1); +lean_inc(x_264); lean_dec(x_11); -x_145 = lean_ctor_get(x_142, 1); -lean_inc(x_145); -if (lean_is_exclusive(x_142)) { - lean_ctor_release(x_142, 0); - lean_ctor_release(x_142, 1); - x_146 = x_142; +x_265 = lean_ctor_get(x_262, 1); +lean_inc(x_265); +if (lean_is_exclusive(x_262)) { + lean_ctor_release(x_262, 0); + lean_ctor_release(x_262, 1); + x_266 = x_262; } else { - lean_dec_ref(x_142); - x_146 = lean_box(0); -} -x_147 = lean_ctor_get(x_143, 0); -lean_inc(x_147); -x_148 = lean_ctor_get(x_143, 1); -lean_inc(x_148); -if (lean_is_exclusive(x_143)) { - lean_ctor_release(x_143, 0); - lean_ctor_release(x_143, 1); - x_149 = x_143; + lean_dec_ref(x_262); + x_266 = lean_box(0); +} +x_267 = lean_ctor_get(x_263, 0); +lean_inc(x_267); +x_268 = lean_ctor_get(x_263, 1); +lean_inc(x_268); +if (lean_is_exclusive(x_263)) { + lean_ctor_release(x_263, 0); + lean_ctor_release(x_263, 1); + x_269 = x_263; } else { - lean_dec_ref(x_143); - x_149 = lean_box(0); + lean_dec_ref(x_263); + x_269 = lean_box(0); } -x_150 = 0; +x_270 = 0; lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); lean_inc(x_3); -lean_inc(x_147); -x_151 = l_Lean_Meta_simpIfTarget(x_147, x_150, x_3, x_4, x_5, x_6, x_144); -if (lean_obj_tag(x_151) == 0) -{ -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_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(x_151); -x_154 = lean_ctor_get(x_145, 0); -lean_inc(x_154); -x_155 = lean_ctor_get(x_145, 1); -lean_inc(x_155); -if (lean_is_exclusive(x_145)) { - lean_ctor_release(x_145, 0); - lean_ctor_release(x_145, 1); - x_156 = x_145; +lean_inc(x_267); +x_271 = l_Lean_Meta_simpIfTarget(x_267, x_270, x_3, x_4, x_5, x_6, x_264); +if (lean_obj_tag(x_271) == 0) +{ +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_272 = lean_ctor_get(x_271, 0); +lean_inc(x_272); +x_273 = lean_ctor_get(x_271, 1); +lean_inc(x_273); +lean_dec(x_271); +x_274 = lean_ctor_get(x_265, 0); +lean_inc(x_274); +x_275 = lean_ctor_get(x_265, 1); +lean_inc(x_275); +if (lean_is_exclusive(x_265)) { + lean_ctor_release(x_265, 0); + lean_ctor_release(x_265, 1); + x_276 = x_265; } else { - lean_dec_ref(x_145); - x_156 = lean_box(0); + lean_dec_ref(x_265); + x_276 = lean_box(0); } -lean_inc(x_154); -x_157 = l_Lean_Meta_simpIfTarget(x_154, x_150, x_3, x_4, x_5, x_6, x_153); -if (lean_obj_tag(x_157) == 0) -{ -lean_object* x_158; lean_object* x_159; lean_object* x_160; uint8_t x_161; -x_158 = lean_ctor_get(x_157, 0); -lean_inc(x_158); -x_159 = lean_ctor_get(x_157, 1); -lean_inc(x_159); -if (lean_is_exclusive(x_157)) { - lean_ctor_release(x_157, 0); - lean_ctor_release(x_157, 1); - x_160 = x_157; +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_4); +lean_inc(x_3); +lean_inc(x_274); +x_277 = l_Lean_Meta_simpIfTarget(x_274, x_270, x_3, x_4, x_5, x_6, x_273); +if (lean_obj_tag(x_277) == 0) +{ +lean_object* x_278; lean_object* x_279; lean_object* x_280; uint8_t x_281; +x_278 = lean_ctor_get(x_277, 0); +lean_inc(x_278); +x_279 = lean_ctor_get(x_277, 1); +lean_inc(x_279); +if (lean_is_exclusive(x_277)) { + lean_ctor_release(x_277, 0); + lean_ctor_release(x_277, 1); + x_280 = x_277; } else { - lean_dec_ref(x_157); - x_160 = lean_box(0); + lean_dec_ref(x_277); + x_280 = lean_box(0); } -x_161 = lean_name_eq(x_147, x_152); -lean_dec(x_147); -if (x_161 == 0) +x_281 = lean_name_eq(x_267, x_272); +lean_dec(x_267); +if (x_281 == 0) { -lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; lean_object* x_166; -lean_dec(x_154); -if (lean_is_scalar(x_156)) { - x_162 = lean_alloc_ctor(0, 2, 0); +lean_object* x_282; lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; +lean_dec(x_274); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +if (lean_is_scalar(x_276)) { + x_282 = lean_alloc_ctor(0, 2, 0); } else { - x_162 = x_156; + x_282 = x_276; } -lean_ctor_set(x_162, 0, x_152); -lean_ctor_set(x_162, 1, x_148); -if (lean_is_scalar(x_149)) { - x_163 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_282, 0, x_272); +lean_ctor_set(x_282, 1, x_268); +if (lean_is_scalar(x_269)) { + x_283 = lean_alloc_ctor(0, 2, 0); } else { - x_163 = x_149; + x_283 = x_269; } -lean_ctor_set(x_163, 0, x_158); -lean_ctor_set(x_163, 1, x_155); -if (lean_is_scalar(x_146)) { - x_164 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_283, 0, x_278); +lean_ctor_set(x_283, 1, x_275); +if (lean_is_scalar(x_266)) { + x_284 = lean_alloc_ctor(0, 2, 0); } else { - x_164 = x_146; -} -lean_ctor_set(x_164, 0, x_162); -lean_ctor_set(x_164, 1, x_163); -x_165 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_165, 0, x_164); -if (lean_is_scalar(x_160)) { - x_166 = lean_alloc_ctor(0, 2, 0); + x_284 = x_266; +} +lean_ctor_set(x_284, 0, x_282); +lean_ctor_set(x_284, 1, x_283); +x_285 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_285, 0, x_284); +if (lean_is_scalar(x_280)) { + x_286 = lean_alloc_ctor(0, 2, 0); } else { - x_166 = x_160; + x_286 = x_280; } -lean_ctor_set(x_166, 0, x_165); -lean_ctor_set(x_166, 1, x_159); -return x_166; +lean_ctor_set(x_286, 0, x_285); +lean_ctor_set(x_286, 1, x_279); +return x_286; } else { -uint8_t x_167; -x_167 = lean_name_eq(x_154, x_158); -lean_dec(x_154); -if (x_167 == 0) +uint8_t x_287; +x_287 = lean_name_eq(x_274, x_278); +lean_dec(x_274); +if (x_287 == 0) { -lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; lean_object* x_172; -if (lean_is_scalar(x_156)) { - x_168 = lean_alloc_ctor(0, 2, 0); +lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +if (lean_is_scalar(x_276)) { + x_288 = lean_alloc_ctor(0, 2, 0); } else { - x_168 = x_156; + x_288 = x_276; } -lean_ctor_set(x_168, 0, x_152); -lean_ctor_set(x_168, 1, x_148); -if (lean_is_scalar(x_149)) { - x_169 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_288, 0, x_272); +lean_ctor_set(x_288, 1, x_268); +if (lean_is_scalar(x_269)) { + x_289 = lean_alloc_ctor(0, 2, 0); } else { - x_169 = x_149; + x_289 = x_269; } -lean_ctor_set(x_169, 0, x_158); -lean_ctor_set(x_169, 1, x_155); -if (lean_is_scalar(x_146)) { - x_170 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_289, 0, x_278); +lean_ctor_set(x_289, 1, x_275); +if (lean_is_scalar(x_266)) { + x_290 = lean_alloc_ctor(0, 2, 0); } else { - x_170 = x_146; -} -lean_ctor_set(x_170, 0, x_168); -lean_ctor_set(x_170, 1, x_169); -x_171 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_171, 0, x_170); -if (lean_is_scalar(x_160)) { - x_172 = lean_alloc_ctor(0, 2, 0); + x_290 = x_266; +} +lean_ctor_set(x_290, 0, x_288); +lean_ctor_set(x_290, 1, x_289); +x_291 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_291, 0, x_290); +if (lean_is_scalar(x_280)) { + x_292 = lean_alloc_ctor(0, 2, 0); } else { - x_172 = x_160; -} -lean_ctor_set(x_172, 0, x_171); -lean_ctor_set(x_172, 1, x_159); -return x_172; -} -else -{ -lean_object* x_173; lean_object* x_174; -lean_dec(x_158); -lean_dec(x_156); -lean_dec(x_155); -lean_dec(x_152); -lean_dec(x_149); -lean_dec(x_148); -lean_dec(x_146); -x_173 = lean_box(0); -if (lean_is_scalar(x_160)) { - x_174 = lean_alloc_ctor(0, 2, 0); + x_292 = x_280; +} +lean_ctor_set(x_292, 0, x_291); +lean_ctor_set(x_292, 1, x_279); +return x_292; +} +else +{ +lean_object* x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; uint8_t x_299; +lean_dec(x_280); +lean_dec(x_276); +lean_dec(x_275); +lean_dec(x_269); +lean_dec(x_268); +lean_dec(x_266); +x_293 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2; +x_294 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_293, x_3, x_4, x_5, x_6, x_279); +x_295 = lean_ctor_get(x_294, 0); +lean_inc(x_295); +x_296 = lean_ctor_get(x_294, 1); +lean_inc(x_296); +if (lean_is_exclusive(x_294)) { + lean_ctor_release(x_294, 0); + lean_ctor_release(x_294, 1); + x_297 = x_294; } else { - x_174 = x_160; -} -lean_ctor_set(x_174, 0, x_173); -lean_ctor_set(x_174, 1, x_159); -return x_174; -} + lean_dec_ref(x_294); + x_297 = lean_box(0); +} +x_298 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; +x_299 = lean_unbox(x_295); +lean_dec(x_295); +if (x_299 == 0) +{ +lean_object* x_300; lean_object* x_301; +lean_dec(x_297); +lean_dec(x_278); +lean_dec(x_272); +x_300 = lean_box(0); +x_301 = lean_apply_6(x_298, x_300, x_3, x_4, x_5, x_6, x_296); +return x_301; +} +else +{ +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; lean_object* x_312; lean_object* x_313; lean_object* x_314; +x_302 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_302, 0, x_272); +x_303 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +if (lean_is_scalar(x_297)) { + x_304 = lean_alloc_ctor(7, 2, 0); +} else { + x_304 = x_297; + lean_ctor_set_tag(x_304, 7); +} +lean_ctor_set(x_304, 0, x_303); +lean_ctor_set(x_304, 1, x_302); +x_305 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +x_306 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_306, 0, x_304); +lean_ctor_set(x_306, 1, x_305); +x_307 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_307, 0, x_278); +x_308 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_308, 0, x_306); +lean_ctor_set(x_308, 1, x_307); +x_309 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_310 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_310, 0, x_308); +lean_ctor_set(x_310, 1, x_309); +x_311 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_293, x_310, x_3, x_4, x_5, x_6, x_296); +x_312 = lean_ctor_get(x_311, 0); +lean_inc(x_312); +x_313 = lean_ctor_get(x_311, 1); +lean_inc(x_313); +lean_dec(x_311); +x_314 = lean_apply_6(x_298, x_312, x_3, x_4, x_5, x_6, x_313); +return x_314; +} +} +} +} +else +{ +lean_object* x_315; lean_object* x_316; lean_object* x_317; lean_object* x_318; +lean_dec(x_276); +lean_dec(x_275); +lean_dec(x_274); +lean_dec(x_272); +lean_dec(x_269); +lean_dec(x_268); +lean_dec(x_267); +lean_dec(x_266); +lean_dec(x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +x_315 = lean_ctor_get(x_277, 0); +lean_inc(x_315); +x_316 = lean_ctor_get(x_277, 1); +lean_inc(x_316); +if (lean_is_exclusive(x_277)) { + lean_ctor_release(x_277, 0); + lean_ctor_release(x_277, 1); + x_317 = x_277; +} else { + lean_dec_ref(x_277); + x_317 = lean_box(0); } +if (lean_is_scalar(x_317)) { + x_318 = lean_alloc_ctor(1, 2, 0); +} else { + x_318 = x_317; } -else -{ -lean_object* x_175; lean_object* x_176; lean_object* x_177; lean_object* x_178; -lean_dec(x_156); -lean_dec(x_155); -lean_dec(x_154); -lean_dec(x_152); -lean_dec(x_149); -lean_dec(x_148); -lean_dec(x_147); -lean_dec(x_146); -x_175 = lean_ctor_get(x_157, 0); -lean_inc(x_175); -x_176 = lean_ctor_get(x_157, 1); -lean_inc(x_176); -if (lean_is_exclusive(x_157)) { - lean_ctor_release(x_157, 0); - lean_ctor_release(x_157, 1); - x_177 = x_157; -} else { - lean_dec_ref(x_157); - x_177 = lean_box(0); -} -if (lean_is_scalar(x_177)) { - x_178 = lean_alloc_ctor(1, 2, 0); -} else { - x_178 = x_177; -} -lean_ctor_set(x_178, 0, x_175); -lean_ctor_set(x_178, 1, x_176); -return x_178; +lean_ctor_set(x_318, 0, x_315); +lean_ctor_set(x_318, 1, x_316); +return x_318; } } else { -lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; -lean_dec(x_149); -lean_dec(x_148); -lean_dec(x_147); -lean_dec(x_146); -lean_dec(x_145); +lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; +lean_dec(x_269); +lean_dec(x_268); +lean_dec(x_267); +lean_dec(x_266); +lean_dec(x_265); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_179 = lean_ctor_get(x_151, 0); -lean_inc(x_179); -x_180 = lean_ctor_get(x_151, 1); -lean_inc(x_180); -if (lean_is_exclusive(x_151)) { - lean_ctor_release(x_151, 0); - lean_ctor_release(x_151, 1); - x_181 = x_151; +x_319 = lean_ctor_get(x_271, 0); +lean_inc(x_319); +x_320 = lean_ctor_get(x_271, 1); +lean_inc(x_320); +if (lean_is_exclusive(x_271)) { + lean_ctor_release(x_271, 0); + lean_ctor_release(x_271, 1); + x_321 = x_271; } else { - lean_dec_ref(x_151); - x_181 = lean_box(0); + lean_dec_ref(x_271); + x_321 = lean_box(0); } -if (lean_is_scalar(x_181)) { - x_182 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_321)) { + x_322 = lean_alloc_ctor(1, 2, 0); } else { - x_182 = x_181; + x_322 = x_321; } -lean_ctor_set(x_182, 0, x_179); -lean_ctor_set(x_182, 1, x_180); -return x_182; +lean_ctor_set(x_322, 0, x_319); +lean_ctor_set(x_322, 1, x_320); +return x_322; } } } } else { -uint8_t x_183; +uint8_t x_323; lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); -x_183 = !lean_is_exclusive(x_11); -if (x_183 == 0) +x_323 = !lean_is_exclusive(x_11); +if (x_323 == 0) { return x_11; } else { -lean_object* x_184; lean_object* x_185; lean_object* x_186; -x_184 = lean_ctor_get(x_11, 0); -x_185 = lean_ctor_get(x_11, 1); -lean_inc(x_185); -lean_inc(x_184); +lean_object* x_324; lean_object* x_325; lean_object* x_326; +x_324 = lean_ctor_get(x_11, 0); +x_325 = lean_ctor_get(x_11, 1); +lean_inc(x_325); +lean_inc(x_324); lean_dec(x_11); -x_186 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_186, 0, x_184); -lean_ctor_set(x_186, 1, x_185); -return x_186; +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_187; +uint8_t x_327; lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -x_187 = !lean_is_exclusive(x_8); -if (x_187 == 0) +x_327 = !lean_is_exclusive(x_8); +if (x_327 == 0) { return x_8; } else { -lean_object* x_188; lean_object* x_189; lean_object* x_190; -x_188 = lean_ctor_get(x_8, 0); -x_189 = lean_ctor_get(x_8, 1); -lean_inc(x_189); -lean_inc(x_188); +lean_object* x_328; lean_object* x_329; lean_object* x_330; +x_328 = lean_ctor_get(x_8, 0); +x_329 = lean_ctor_get(x_8, 1); +lean_inc(x_329); +lean_inc(x_328); lean_dec(x_8); -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; +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; } } } @@ -5449,13 +10067,26 @@ LEAN_EXPORT lean_object* l_Lean_Meta_splitIfTarget_x3f(lean_object* x_1, lean_ob _start: { lean_object* x_8; lean_object* x_9; -x_8 = lean_alloc_closure((void*)(l_Lean_Meta_splitIfTarget_x3f___lambda__1), 7, 2); +x_8 = lean_alloc_closure((void*)(l_Lean_Meta_splitIfTarget_x3f___lambda__2), 7, 2); lean_closure_set(x_8, 0, x_1); lean_closure_set(x_8, 1, x_2); x_9 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitIfTarget_x3f___spec__1(x_8, x_3, x_4, x_5, x_6, x_7); return x_9; } } +LEAN_EXPORT lean_object* l_Lean_Meta_splitIfTarget_x3f___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_Meta_splitIfTarget_x3f___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_7; +} +} LEAN_EXPORT lean_object* l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitIfLocalDecl_x3f___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { @@ -5766,6 +10397,10 @@ lean_dec(x_28); x_31 = lean_ctor_get(x_26, 0); lean_inc(x_31); lean_dec(x_26); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); lean_inc(x_31); x_32 = l_Lean_Meta_simpIfLocalDecl(x_31, x_4, x_5, x_6, x_7, x_8, x_30); if (lean_obj_tag(x_32) == 0) @@ -5774,13 +10409,34 @@ uint8_t x_33; x_33 = !lean_is_exclusive(x_32); if (x_33 == 0) { -lean_object* x_34; uint8_t x_35; +lean_object* x_34; lean_object* x_35; uint8_t x_36; x_34 = lean_ctor_get(x_32, 0); -x_35 = lean_name_eq(x_27, x_29); +x_35 = lean_ctor_get(x_32, 1); +x_36 = lean_name_eq(x_27, x_29); lean_dec(x_27); -if (x_35 == 0) +if (x_36 == 0) +{ +lean_dec(x_31); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_ctor_set(x_22, 1, x_34); +lean_ctor_set(x_22, 0, x_29); +lean_ctor_set(x_32, 0, x_14); +return x_32; +} +else { +uint8_t x_37; +x_37 = lean_name_eq(x_31, x_34); lean_dec(x_31); +if (x_37 == 0) +{ +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); lean_ctor_set(x_22, 1, x_34); lean_ctor_set(x_22, 0, x_29); lean_ctor_set(x_32, 0, x_14); @@ -5788,112 +10444,269 @@ return x_32; } else { -uint8_t x_36; -x_36 = lean_name_eq(x_31, x_34); -lean_dec(x_31); -if (x_36 == 0) +lean_object* x_38; lean_object* x_39; uint8_t x_40; +lean_free_object(x_32); +lean_free_object(x_22); +lean_free_object(x_14); +x_38 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2; +x_39 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_38, x_5, x_6, x_7, x_8, x_35); +x_40 = !lean_is_exclusive(x_39); +if (x_40 == 0) +{ +lean_object* x_41; lean_object* x_42; lean_object* x_43; uint8_t x_44; +x_41 = lean_ctor_get(x_39, 0); +x_42 = lean_ctor_get(x_39, 1); +x_43 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; +x_44 = lean_unbox(x_41); +lean_dec(x_41); +if (x_44 == 0) +{ +lean_object* x_45; lean_object* x_46; +lean_free_object(x_39); +lean_dec(x_34); +lean_dec(x_29); +x_45 = lean_box(0); +x_46 = lean_apply_6(x_43, x_45, x_5, x_6, x_7, x_8, x_42); +return x_46; +} +else +{ +lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_47 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_47, 0, x_29); +x_48 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +lean_ctor_set_tag(x_39, 7); +lean_ctor_set(x_39, 1, x_47); +lean_ctor_set(x_39, 0, x_48); +x_49 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +x_50 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_50, 0, x_39); +lean_ctor_set(x_50, 1, x_49); +x_51 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_51, 0, x_34); +x_52 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_52, 0, x_50); +lean_ctor_set(x_52, 1, x_51); +x_53 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_54 = 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_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_38, x_54, x_5, x_6, x_7, x_8, x_42); +x_56 = lean_ctor_get(x_55, 0); +lean_inc(x_56); +x_57 = lean_ctor_get(x_55, 1); +lean_inc(x_57); +lean_dec(x_55); +x_58 = lean_apply_6(x_43, x_56, x_5, x_6, x_7, x_8, x_57); +return x_58; +} +} +else +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; +x_59 = lean_ctor_get(x_39, 0); +x_60 = lean_ctor_get(x_39, 1); +lean_inc(x_60); +lean_inc(x_59); +lean_dec(x_39); +x_61 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; +x_62 = lean_unbox(x_59); +lean_dec(x_59); +if (x_62 == 0) { -lean_ctor_set(x_22, 1, x_34); -lean_ctor_set(x_22, 0, x_29); -lean_ctor_set(x_32, 0, x_14); -return x_32; +lean_object* x_63; lean_object* x_64; +lean_dec(x_34); +lean_dec(x_29); +x_63 = lean_box(0); +x_64 = lean_apply_6(x_61, x_63, x_5, x_6, x_7, x_8, x_60); +return x_64; } else { -lean_object* x_37; -lean_dec(x_34); -lean_dec(x_29); -lean_free_object(x_22); -lean_free_object(x_14); -x_37 = lean_box(0); -lean_ctor_set(x_32, 0, x_37); -return x_32; +lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; +x_65 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_65, 0, x_29); +x_66 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +x_67 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_67, 0, x_66); +lean_ctor_set(x_67, 1, x_65); +x_68 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +x_69 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_69, 0, x_67); +lean_ctor_set(x_69, 1, x_68); +x_70 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_70, 0, x_34); +x_71 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_71, 0, x_69); +lean_ctor_set(x_71, 1, x_70); +x_72 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_73 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); +x_74 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_38, x_73, x_5, x_6, x_7, x_8, x_60); +x_75 = lean_ctor_get(x_74, 0); +lean_inc(x_75); +x_76 = lean_ctor_get(x_74, 1); +lean_inc(x_76); +lean_dec(x_74); +x_77 = lean_apply_6(x_61, x_75, x_5, x_6, x_7, x_8, x_76); +return x_77; +} +} } } } else { -lean_object* x_38; lean_object* x_39; uint8_t x_40; -x_38 = lean_ctor_get(x_32, 0); -x_39 = lean_ctor_get(x_32, 1); -lean_inc(x_39); -lean_inc(x_38); +lean_object* x_78; lean_object* x_79; uint8_t x_80; +x_78 = lean_ctor_get(x_32, 0); +x_79 = lean_ctor_get(x_32, 1); +lean_inc(x_79); +lean_inc(x_78); lean_dec(x_32); -x_40 = lean_name_eq(x_27, x_29); +x_80 = lean_name_eq(x_27, x_29); lean_dec(x_27); -if (x_40 == 0) +if (x_80 == 0) { -lean_object* x_41; +lean_object* x_81; lean_dec(x_31); -lean_ctor_set(x_22, 1, x_38); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_ctor_set(x_22, 1, x_78); lean_ctor_set(x_22, 0, x_29); -x_41 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_41, 0, x_14); -lean_ctor_set(x_41, 1, x_39); -return x_41; +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_14); +lean_ctor_set(x_81, 1, x_79); +return x_81; } else { -uint8_t x_42; -x_42 = lean_name_eq(x_31, x_38); +uint8_t x_82; +x_82 = lean_name_eq(x_31, x_78); lean_dec(x_31); -if (x_42 == 0) +if (x_82 == 0) { -lean_object* x_43; -lean_ctor_set(x_22, 1, x_38); +lean_object* x_83; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +lean_ctor_set(x_22, 1, x_78); lean_ctor_set(x_22, 0, x_29); -x_43 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_43, 0, x_14); -lean_ctor_set(x_43, 1, x_39); -return x_43; +x_83 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_83, 0, x_14); +lean_ctor_set(x_83, 1, x_79); +return x_83; } else { -lean_object* x_44; lean_object* x_45; -lean_dec(x_38); -lean_dec(x_29); +lean_object* x_84; 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_free_object(x_22); lean_free_object(x_14); -x_44 = lean_box(0); -x_45 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_45, 0, x_44); -lean_ctor_set(x_45, 1, x_39); -return x_45; +x_84 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2; +x_85 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_84, x_5, x_6, x_7, x_8, x_79); +x_86 = lean_ctor_get(x_85, 0); +lean_inc(x_86); +x_87 = lean_ctor_get(x_85, 1); +lean_inc(x_87); +if (lean_is_exclusive(x_85)) { + lean_ctor_release(x_85, 0); + lean_ctor_release(x_85, 1); + x_88 = x_85; +} else { + lean_dec_ref(x_85); + x_88 = lean_box(0); +} +x_89 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; +x_90 = lean_unbox(x_86); +lean_dec(x_86); +if (x_90 == 0) +{ +lean_object* x_91; lean_object* x_92; +lean_dec(x_88); +lean_dec(x_78); +lean_dec(x_29); +x_91 = lean_box(0); +x_92 = lean_apply_6(x_89, x_91, x_5, x_6, x_7, x_8, x_87); +return x_92; +} +else +{ +lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; lean_object* x_104; lean_object* x_105; +x_93 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_93, 0, x_29); +x_94 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +if (lean_is_scalar(x_88)) { + x_95 = lean_alloc_ctor(7, 2, 0); +} else { + x_95 = x_88; + lean_ctor_set_tag(x_95, 7); +} +lean_ctor_set(x_95, 0, x_94); +lean_ctor_set(x_95, 1, x_93); +x_96 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +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_alloc_ctor(1, 1, 0); +lean_ctor_set(x_98, 0, x_78); +x_99 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_99, 0, x_97); +lean_ctor_set(x_99, 1, x_98); +x_100 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_101 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_101, 0, x_99); +lean_ctor_set(x_101, 1, x_100); +x_102 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_84, x_101, x_5, x_6, x_7, x_8, x_87); +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(x_102); +x_105 = lean_apply_6(x_89, x_103, x_5, x_6, x_7, x_8, x_104); +return x_105; +} } } } } else { -uint8_t x_46; +uint8_t x_106; lean_dec(x_31); lean_dec(x_29); lean_dec(x_27); lean_free_object(x_22); lean_free_object(x_14); -x_46 = !lean_is_exclusive(x_32); -if (x_46 == 0) +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_106 = !lean_is_exclusive(x_32); +if (x_106 == 0) { return x_32; } else { -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_32, 0); -x_48 = lean_ctor_get(x_32, 1); -lean_inc(x_48); -lean_inc(x_47); +lean_object* x_107; lean_object* x_108; lean_object* x_109; +x_107 = lean_ctor_get(x_32, 0); +x_108 = lean_ctor_get(x_32, 1); +lean_inc(x_108); +lean_inc(x_107); lean_dec(x_32); -x_49 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_49, 0, x_47); -lean_ctor_set(x_49, 1, x_48); -return x_49; +x_109 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_109, 0, x_107); +lean_ctor_set(x_109, 1, x_108); +return x_109; } } } else { -uint8_t x_50; +uint8_t x_110; lean_dec(x_27); lean_free_object(x_22); lean_dec(x_26); @@ -5903,415 +10716,553 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_50 = !lean_is_exclusive(x_28); -if (x_50 == 0) +x_110 = !lean_is_exclusive(x_28); +if (x_110 == 0) { return x_28; } else { -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = lean_ctor_get(x_28, 0); -x_52 = lean_ctor_get(x_28, 1); -lean_inc(x_52); -lean_inc(x_51); +lean_object* x_111; lean_object* x_112; lean_object* x_113; +x_111 = lean_ctor_get(x_28, 0); +x_112 = lean_ctor_get(x_28, 1); +lean_inc(x_112); +lean_inc(x_111); lean_dec(x_28); -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; +x_113 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_113, 0, x_111); +lean_ctor_set(x_113, 1, x_112); +return x_113; } } } else { -lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_54 = lean_ctor_get(x_22, 0); -x_55 = lean_ctor_get(x_22, 1); -lean_inc(x_55); -lean_inc(x_54); +lean_object* x_114; lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_114 = lean_ctor_get(x_22, 0); +x_115 = lean_ctor_get(x_22, 1); +lean_inc(x_115); +lean_inc(x_114); lean_dec(x_22); -x_56 = lean_ctor_get(x_54, 0); -lean_inc(x_56); -lean_dec(x_54); +x_116 = lean_ctor_get(x_114, 0); +lean_inc(x_116); +lean_dec(x_114); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_56); -x_57 = l_Lean_Meta_simpIfLocalDecl(x_56, x_4, x_5, x_6, x_7, x_8, x_23); -if (lean_obj_tag(x_57) == 0) +lean_inc(x_116); +x_117 = l_Lean_Meta_simpIfLocalDecl(x_116, x_4, x_5, x_6, x_7, x_8, x_23); +if (lean_obj_tag(x_117) == 0) { -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_58 = lean_ctor_get(x_57, 0); -lean_inc(x_58); -x_59 = lean_ctor_get(x_57, 1); -lean_inc(x_59); -lean_dec(x_57); -x_60 = lean_ctor_get(x_55, 0); -lean_inc(x_60); -lean_dec(x_55); -lean_inc(x_60); -x_61 = l_Lean_Meta_simpIfLocalDecl(x_60, x_4, x_5, x_6, x_7, x_8, x_59); -if (lean_obj_tag(x_61) == 0) +lean_object* x_118; lean_object* x_119; lean_object* x_120; lean_object* x_121; +x_118 = lean_ctor_get(x_117, 0); +lean_inc(x_118); +x_119 = lean_ctor_get(x_117, 1); +lean_inc(x_119); +lean_dec(x_117); +x_120 = lean_ctor_get(x_115, 0); +lean_inc(x_120); +lean_dec(x_115); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_120); +x_121 = l_Lean_Meta_simpIfLocalDecl(x_120, x_4, x_5, x_6, x_7, x_8, x_119); +if (lean_obj_tag(x_121) == 0) { -lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; -x_62 = lean_ctor_get(x_61, 0); -lean_inc(x_62); -x_63 = lean_ctor_get(x_61, 1); -lean_inc(x_63); -if (lean_is_exclusive(x_61)) { - lean_ctor_release(x_61, 0); - lean_ctor_release(x_61, 1); - x_64 = x_61; +lean_object* x_122; lean_object* x_123; lean_object* x_124; uint8_t x_125; +x_122 = lean_ctor_get(x_121, 0); +lean_inc(x_122); +x_123 = lean_ctor_get(x_121, 1); +lean_inc(x_123); +if (lean_is_exclusive(x_121)) { + lean_ctor_release(x_121, 0); + lean_ctor_release(x_121, 1); + x_124 = x_121; } else { - lean_dec_ref(x_61); - x_64 = lean_box(0); + lean_dec_ref(x_121); + x_124 = lean_box(0); } -x_65 = lean_name_eq(x_56, x_58); -lean_dec(x_56); -if (x_65 == 0) +x_125 = lean_name_eq(x_116, x_118); +lean_dec(x_116); +if (x_125 == 0) { -lean_object* x_66; lean_object* x_67; -lean_dec(x_60); -x_66 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_66, 0, x_58); -lean_ctor_set(x_66, 1, x_62); -lean_ctor_set(x_14, 0, x_66); -if (lean_is_scalar(x_64)) { - x_67 = lean_alloc_ctor(0, 2, 0); +lean_object* x_126; lean_object* x_127; +lean_dec(x_120); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_126 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_126, 0, x_118); +lean_ctor_set(x_126, 1, x_122); +lean_ctor_set(x_14, 0, x_126); +if (lean_is_scalar(x_124)) { + x_127 = lean_alloc_ctor(0, 2, 0); } else { - x_67 = x_64; + x_127 = x_124; } -lean_ctor_set(x_67, 0, x_14); -lean_ctor_set(x_67, 1, x_63); -return x_67; +lean_ctor_set(x_127, 0, x_14); +lean_ctor_set(x_127, 1, x_123); +return x_127; } else { -uint8_t x_68; -x_68 = lean_name_eq(x_60, x_62); -lean_dec(x_60); -if (x_68 == 0) +uint8_t x_128; +x_128 = lean_name_eq(x_120, x_122); +lean_dec(x_120); +if (x_128 == 0) { -lean_object* x_69; lean_object* x_70; -x_69 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_69, 0, x_58); -lean_ctor_set(x_69, 1, x_62); -lean_ctor_set(x_14, 0, x_69); -if (lean_is_scalar(x_64)) { - x_70 = lean_alloc_ctor(0, 2, 0); +lean_object* x_129; lean_object* x_130; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_129 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_129, 0, x_118); +lean_ctor_set(x_129, 1, x_122); +lean_ctor_set(x_14, 0, x_129); +if (lean_is_scalar(x_124)) { + x_130 = lean_alloc_ctor(0, 2, 0); } else { - x_70 = x_64; + x_130 = x_124; } -lean_ctor_set(x_70, 0, x_14); -lean_ctor_set(x_70, 1, x_63); -return x_70; +lean_ctor_set(x_130, 0, x_14); +lean_ctor_set(x_130, 1, x_123); +return x_130; } else { -lean_object* x_71; lean_object* x_72; -lean_dec(x_62); -lean_dec(x_58); +lean_object* x_131; lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; uint8_t x_137; +lean_dec(x_124); lean_free_object(x_14); -x_71 = lean_box(0); -if (lean_is_scalar(x_64)) { - x_72 = lean_alloc_ctor(0, 2, 0); +x_131 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2; +x_132 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_131, x_5, x_6, x_7, x_8, x_123); +x_133 = lean_ctor_get(x_132, 0); +lean_inc(x_133); +x_134 = lean_ctor_get(x_132, 1); +lean_inc(x_134); +if (lean_is_exclusive(x_132)) { + lean_ctor_release(x_132, 0); + lean_ctor_release(x_132, 1); + x_135 = x_132; } else { - x_72 = x_64; + lean_dec_ref(x_132); + x_135 = lean_box(0); +} +x_136 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; +x_137 = lean_unbox(x_133); +lean_dec(x_133); +if (x_137 == 0) +{ +lean_object* x_138; lean_object* x_139; +lean_dec(x_135); +lean_dec(x_122); +lean_dec(x_118); +x_138 = lean_box(0); +x_139 = lean_apply_6(x_136, x_138, x_5, x_6, x_7, x_8, x_134); +return x_139; +} +else +{ +lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; lean_object* x_145; lean_object* x_146; lean_object* x_147; lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; +x_140 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_140, 0, x_118); +x_141 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +if (lean_is_scalar(x_135)) { + x_142 = lean_alloc_ctor(7, 2, 0); +} else { + x_142 = x_135; + lean_ctor_set_tag(x_142, 7); +} +lean_ctor_set(x_142, 0, x_141); +lean_ctor_set(x_142, 1, x_140); +x_143 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +x_144 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_144, 0, x_142); +lean_ctor_set(x_144, 1, x_143); +x_145 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_145, 0, x_122); +x_146 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_146, 0, x_144); +lean_ctor_set(x_146, 1, x_145); +x_147 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_148 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_148, 0, x_146); +lean_ctor_set(x_148, 1, x_147); +x_149 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_131, x_148, x_5, x_6, x_7, x_8, x_134); +x_150 = lean_ctor_get(x_149, 0); +lean_inc(x_150); +x_151 = lean_ctor_get(x_149, 1); +lean_inc(x_151); +lean_dec(x_149); +x_152 = lean_apply_6(x_136, x_150, x_5, x_6, x_7, x_8, x_151); +return x_152; } -lean_ctor_set(x_72, 0, x_71); -lean_ctor_set(x_72, 1, x_63); -return x_72; } } } else { -lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; -lean_dec(x_60); -lean_dec(x_58); -lean_dec(x_56); +lean_object* x_153; lean_object* x_154; lean_object* x_155; lean_object* x_156; +lean_dec(x_120); +lean_dec(x_118); +lean_dec(x_116); lean_free_object(x_14); -x_73 = lean_ctor_get(x_61, 0); -lean_inc(x_73); -x_74 = lean_ctor_get(x_61, 1); -lean_inc(x_74); -if (lean_is_exclusive(x_61)) { - lean_ctor_release(x_61, 0); - lean_ctor_release(x_61, 1); - x_75 = x_61; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_153 = lean_ctor_get(x_121, 0); +lean_inc(x_153); +x_154 = lean_ctor_get(x_121, 1); +lean_inc(x_154); +if (lean_is_exclusive(x_121)) { + lean_ctor_release(x_121, 0); + lean_ctor_release(x_121, 1); + x_155 = x_121; } else { - lean_dec_ref(x_61); - x_75 = lean_box(0); + lean_dec_ref(x_121); + x_155 = lean_box(0); } -if (lean_is_scalar(x_75)) { - x_76 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_155)) { + x_156 = lean_alloc_ctor(1, 2, 0); } else { - x_76 = x_75; + x_156 = x_155; } -lean_ctor_set(x_76, 0, x_73); -lean_ctor_set(x_76, 1, x_74); -return x_76; +lean_ctor_set(x_156, 0, x_153); +lean_ctor_set(x_156, 1, x_154); +return x_156; } } else { -lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; -lean_dec(x_56); -lean_dec(x_55); +lean_object* x_157; lean_object* x_158; lean_object* x_159; lean_object* x_160; +lean_dec(x_116); +lean_dec(x_115); lean_free_object(x_14); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_77 = lean_ctor_get(x_57, 0); -lean_inc(x_77); -x_78 = lean_ctor_get(x_57, 1); -lean_inc(x_78); -if (lean_is_exclusive(x_57)) { - lean_ctor_release(x_57, 0); - lean_ctor_release(x_57, 1); - x_79 = x_57; +x_157 = lean_ctor_get(x_117, 0); +lean_inc(x_157); +x_158 = lean_ctor_get(x_117, 1); +lean_inc(x_158); +if (lean_is_exclusive(x_117)) { + lean_ctor_release(x_117, 0); + lean_ctor_release(x_117, 1); + x_159 = x_117; } else { - lean_dec_ref(x_57); - x_79 = lean_box(0); + lean_dec_ref(x_117); + x_159 = lean_box(0); } -if (lean_is_scalar(x_79)) { - x_80 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_159)) { + x_160 = lean_alloc_ctor(1, 2, 0); } else { - x_80 = x_79; + x_160 = x_159; } -lean_ctor_set(x_80, 0, x_77); -lean_ctor_set(x_80, 1, x_78); -return x_80; +lean_ctor_set(x_160, 0, x_157); +lean_ctor_set(x_160, 1, x_158); +return x_160; } } } else { -lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; -x_81 = lean_ctor_get(x_14, 0); -lean_inc(x_81); +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; +x_161 = lean_ctor_get(x_14, 0); +lean_inc(x_161); lean_dec(x_14); -x_82 = lean_ctor_get(x_13, 1); -lean_inc(x_82); +x_162 = lean_ctor_get(x_13, 1); +lean_inc(x_162); lean_dec(x_13); -x_83 = lean_ctor_get(x_81, 0); -lean_inc(x_83); -x_84 = lean_ctor_get(x_81, 1); -lean_inc(x_84); -if (lean_is_exclusive(x_81)) { - lean_ctor_release(x_81, 0); - lean_ctor_release(x_81, 1); - x_85 = x_81; +x_163 = lean_ctor_get(x_161, 0); +lean_inc(x_163); +x_164 = lean_ctor_get(x_161, 1); +lean_inc(x_164); +if (lean_is_exclusive(x_161)) { + lean_ctor_release(x_161, 0); + lean_ctor_release(x_161, 1); + x_165 = x_161; } else { - lean_dec_ref(x_81); - x_85 = lean_box(0); + lean_dec_ref(x_161); + x_165 = lean_box(0); } -x_86 = lean_ctor_get(x_83, 0); -lean_inc(x_86); -lean_dec(x_83); +x_166 = lean_ctor_get(x_163, 0); +lean_inc(x_166); +lean_dec(x_163); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); lean_inc(x_5); lean_inc(x_4); -lean_inc(x_86); -x_87 = l_Lean_Meta_simpIfLocalDecl(x_86, x_4, x_5, x_6, x_7, x_8, x_82); -if (lean_obj_tag(x_87) == 0) -{ -lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; -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(x_87); -x_90 = lean_ctor_get(x_84, 0); -lean_inc(x_90); -lean_dec(x_84); -lean_inc(x_90); -x_91 = l_Lean_Meta_simpIfLocalDecl(x_90, x_4, x_5, x_6, x_7, x_8, x_89); -if (lean_obj_tag(x_91) == 0) -{ -lean_object* x_92; lean_object* x_93; lean_object* x_94; uint8_t x_95; -x_92 = lean_ctor_get(x_91, 0); -lean_inc(x_92); -x_93 = lean_ctor_get(x_91, 1); -lean_inc(x_93); -if (lean_is_exclusive(x_91)) { - lean_ctor_release(x_91, 0); - lean_ctor_release(x_91, 1); - x_94 = x_91; +lean_inc(x_166); +x_167 = l_Lean_Meta_simpIfLocalDecl(x_166, x_4, x_5, x_6, x_7, x_8, x_162); +if (lean_obj_tag(x_167) == 0) +{ +lean_object* x_168; lean_object* x_169; lean_object* x_170; lean_object* x_171; +x_168 = lean_ctor_get(x_167, 0); +lean_inc(x_168); +x_169 = lean_ctor_get(x_167, 1); +lean_inc(x_169); +lean_dec(x_167); +x_170 = lean_ctor_get(x_164, 0); +lean_inc(x_170); +lean_dec(x_164); +lean_inc(x_8); +lean_inc(x_7); +lean_inc(x_6); +lean_inc(x_5); +lean_inc(x_170); +x_171 = l_Lean_Meta_simpIfLocalDecl(x_170, x_4, x_5, x_6, x_7, x_8, x_169); +if (lean_obj_tag(x_171) == 0) +{ +lean_object* x_172; lean_object* x_173; lean_object* x_174; uint8_t x_175; +x_172 = lean_ctor_get(x_171, 0); +lean_inc(x_172); +x_173 = lean_ctor_get(x_171, 1); +lean_inc(x_173); +if (lean_is_exclusive(x_171)) { + lean_ctor_release(x_171, 0); + lean_ctor_release(x_171, 1); + x_174 = x_171; } else { - lean_dec_ref(x_91); - x_94 = lean_box(0); + lean_dec_ref(x_171); + x_174 = lean_box(0); } -x_95 = lean_name_eq(x_86, x_88); -lean_dec(x_86); -if (x_95 == 0) +x_175 = lean_name_eq(x_166, x_168); +lean_dec(x_166); +if (x_175 == 0) { -lean_object* x_96; lean_object* x_97; lean_object* x_98; -lean_dec(x_90); -if (lean_is_scalar(x_85)) { - x_96 = lean_alloc_ctor(0, 2, 0); +lean_object* x_176; lean_object* x_177; lean_object* x_178; +lean_dec(x_170); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +if (lean_is_scalar(x_165)) { + x_176 = lean_alloc_ctor(0, 2, 0); } else { - x_96 = x_85; -} -lean_ctor_set(x_96, 0, x_88); -lean_ctor_set(x_96, 1, x_92); -x_97 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_97, 0, x_96); -if (lean_is_scalar(x_94)) { - x_98 = lean_alloc_ctor(0, 2, 0); + x_176 = x_165; +} +lean_ctor_set(x_176, 0, x_168); +lean_ctor_set(x_176, 1, x_172); +x_177 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_177, 0, x_176); +if (lean_is_scalar(x_174)) { + x_178 = lean_alloc_ctor(0, 2, 0); } else { - x_98 = x_94; + x_178 = x_174; } -lean_ctor_set(x_98, 0, x_97); -lean_ctor_set(x_98, 1, x_93); -return x_98; +lean_ctor_set(x_178, 0, x_177); +lean_ctor_set(x_178, 1, x_173); +return x_178; } else { -uint8_t x_99; -x_99 = lean_name_eq(x_90, x_92); -lean_dec(x_90); -if (x_99 == 0) +uint8_t x_179; +x_179 = lean_name_eq(x_170, x_172); +lean_dec(x_170); +if (x_179 == 0) { -lean_object* x_100; lean_object* x_101; lean_object* x_102; -if (lean_is_scalar(x_85)) { - x_100 = lean_alloc_ctor(0, 2, 0); +lean_object* x_180; lean_object* x_181; lean_object* x_182; +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +if (lean_is_scalar(x_165)) { + x_180 = lean_alloc_ctor(0, 2, 0); } else { - x_100 = x_85; -} -lean_ctor_set(x_100, 0, x_88); -lean_ctor_set(x_100, 1, x_92); -x_101 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_101, 0, x_100); -if (lean_is_scalar(x_94)) { - x_102 = lean_alloc_ctor(0, 2, 0); + x_180 = x_165; +} +lean_ctor_set(x_180, 0, x_168); +lean_ctor_set(x_180, 1, x_172); +x_181 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_181, 0, x_180); +if (lean_is_scalar(x_174)) { + x_182 = lean_alloc_ctor(0, 2, 0); } else { - x_102 = x_94; + x_182 = x_174; } -lean_ctor_set(x_102, 0, x_101); -lean_ctor_set(x_102, 1, x_93); -return x_102; +lean_ctor_set(x_182, 0, x_181); +lean_ctor_set(x_182, 1, x_173); +return x_182; } else { -lean_object* x_103; lean_object* x_104; -lean_dec(x_92); -lean_dec(x_88); -lean_dec(x_85); -x_103 = lean_box(0); -if (lean_is_scalar(x_94)) { - x_104 = lean_alloc_ctor(0, 2, 0); +lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_187; lean_object* x_188; uint8_t x_189; +lean_dec(x_174); +lean_dec(x_165); +x_183 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2; +x_184 = l_Lean_isTracingEnabledFor___at_Lean_Meta_processPostponed_loop___spec__1(x_183, x_5, x_6, x_7, x_8, x_173); +x_185 = lean_ctor_get(x_184, 0); +lean_inc(x_185); +x_186 = lean_ctor_get(x_184, 1); +lean_inc(x_186); +if (lean_is_exclusive(x_184)) { + lean_ctor_release(x_184, 0); + lean_ctor_release(x_184, 1); + x_187 = x_184; } else { - x_104 = x_94; -} -lean_ctor_set(x_104, 0, x_103); -lean_ctor_set(x_104, 1, x_93); -return x_104; -} -} -} -else -{ -lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_108; -lean_dec(x_90); -lean_dec(x_88); -lean_dec(x_86); -lean_dec(x_85); -x_105 = lean_ctor_get(x_91, 0); -lean_inc(x_105); -x_106 = lean_ctor_get(x_91, 1); -lean_inc(x_106); -if (lean_is_exclusive(x_91)) { - lean_ctor_release(x_91, 0); - lean_ctor_release(x_91, 1); - x_107 = x_91; + lean_dec_ref(x_184); + x_187 = lean_box(0); +} +x_188 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3; +x_189 = lean_unbox(x_185); +lean_dec(x_185); +if (x_189 == 0) +{ +lean_object* x_190; lean_object* x_191; +lean_dec(x_187); +lean_dec(x_172); +lean_dec(x_168); +x_190 = lean_box(0); +x_191 = lean_apply_6(x_188, x_190, x_5, x_6, x_7, x_8, x_186); +return x_191; +} +else +{ +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; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; +x_192 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_192, 0, x_168); +x_193 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5; +if (lean_is_scalar(x_187)) { + x_194 = lean_alloc_ctor(7, 2, 0); +} else { + x_194 = x_187; + lean_ctor_set_tag(x_194, 7); +} +lean_ctor_set(x_194, 0, x_193); +lean_ctor_set(x_194, 1, x_192); +x_195 = l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7; +x_196 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_196, 0, x_194); +lean_ctor_set(x_196, 1, x_195); +x_197 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_197, 0, x_172); +x_198 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_198, 0, x_196); +lean_ctor_set(x_198, 1, x_197); +x_199 = l_Lean_Meta_findSplit_x3f_find_x3f___closed__7; +x_200 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_200, 0, x_198); +lean_ctor_set(x_200, 1, x_199); +x_201 = l_Lean_addTrace___at_Lean_Meta_processPostponed_loop___spec__2(x_183, x_200, x_5, x_6, x_7, x_8, x_186); +x_202 = lean_ctor_get(x_201, 0); +lean_inc(x_202); +x_203 = lean_ctor_get(x_201, 1); +lean_inc(x_203); +lean_dec(x_201); +x_204 = lean_apply_6(x_188, x_202, x_5, x_6, x_7, x_8, x_203); +return x_204; +} +} +} +} +else +{ +lean_object* x_205; lean_object* x_206; lean_object* x_207; lean_object* x_208; +lean_dec(x_170); +lean_dec(x_168); +lean_dec(x_166); +lean_dec(x_165); +lean_dec(x_8); +lean_dec(x_7); +lean_dec(x_6); +lean_dec(x_5); +x_205 = lean_ctor_get(x_171, 0); +lean_inc(x_205); +x_206 = lean_ctor_get(x_171, 1); +lean_inc(x_206); +if (lean_is_exclusive(x_171)) { + lean_ctor_release(x_171, 0); + lean_ctor_release(x_171, 1); + x_207 = x_171; } else { - lean_dec_ref(x_91); - x_107 = lean_box(0); + lean_dec_ref(x_171); + x_207 = lean_box(0); } -if (lean_is_scalar(x_107)) { - x_108 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_207)) { + x_208 = lean_alloc_ctor(1, 2, 0); } else { - x_108 = x_107; + x_208 = x_207; } -lean_ctor_set(x_108, 0, x_105); -lean_ctor_set(x_108, 1, x_106); -return x_108; +lean_ctor_set(x_208, 0, x_205); +lean_ctor_set(x_208, 1, x_206); +return x_208; } } else { -lean_object* x_109; lean_object* x_110; lean_object* x_111; lean_object* x_112; -lean_dec(x_86); -lean_dec(x_85); -lean_dec(x_84); +lean_object* x_209; lean_object* x_210; lean_object* x_211; lean_object* x_212; +lean_dec(x_166); +lean_dec(x_165); +lean_dec(x_164); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_109 = lean_ctor_get(x_87, 0); -lean_inc(x_109); -x_110 = lean_ctor_get(x_87, 1); -lean_inc(x_110); -if (lean_is_exclusive(x_87)) { - lean_ctor_release(x_87, 0); - lean_ctor_release(x_87, 1); - x_111 = x_87; +x_209 = lean_ctor_get(x_167, 0); +lean_inc(x_209); +x_210 = lean_ctor_get(x_167, 1); +lean_inc(x_210); +if (lean_is_exclusive(x_167)) { + lean_ctor_release(x_167, 0); + lean_ctor_release(x_167, 1); + x_211 = x_167; } else { - lean_dec_ref(x_87); - x_111 = lean_box(0); + lean_dec_ref(x_167); + x_211 = lean_box(0); } -if (lean_is_scalar(x_111)) { - x_112 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_211)) { + x_212 = lean_alloc_ctor(1, 2, 0); } else { - x_112 = x_111; + x_212 = x_211; } -lean_ctor_set(x_112, 0, x_109); -lean_ctor_set(x_112, 1, x_110); -return x_112; +lean_ctor_set(x_212, 0, x_209); +lean_ctor_set(x_212, 1, x_210); +return x_212; } } } } else { -uint8_t x_113; +uint8_t x_213; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_113 = !lean_is_exclusive(x_13); -if (x_113 == 0) +x_213 = !lean_is_exclusive(x_13); +if (x_213 == 0) { return x_13; } else { -lean_object* x_114; lean_object* x_115; lean_object* x_116; -x_114 = lean_ctor_get(x_13, 0); -x_115 = lean_ctor_get(x_13, 1); -lean_inc(x_115); -lean_inc(x_114); +lean_object* x_214; lean_object* x_215; lean_object* x_216; +x_214 = lean_ctor_get(x_13, 0); +x_215 = lean_ctor_get(x_13, 1); +lean_inc(x_215); +lean_inc(x_214); lean_dec(x_13); -x_116 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_116, 0, x_114); -lean_ctor_set(x_116, 1, x_115); -return x_116; +x_216 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_216, 0, x_214); +lean_ctor_set(x_216, 1, x_215); +return x_216; } } } else { -uint8_t x_117; +uint8_t x_217; lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); @@ -6319,23 +11270,23 @@ lean_dec(x_5); lean_dec(x_4); lean_dec(x_3); lean_dec(x_2); -x_117 = !lean_is_exclusive(x_10); -if (x_117 == 0) +x_217 = !lean_is_exclusive(x_10); +if (x_217 == 0) { return x_10; } else { -lean_object* x_118; lean_object* x_119; lean_object* x_120; -x_118 = lean_ctor_get(x_10, 0); -x_119 = lean_ctor_get(x_10, 1); -lean_inc(x_119); -lean_inc(x_118); +lean_object* x_218; lean_object* x_219; lean_object* x_220; +x_218 = lean_ctor_get(x_10, 0); +x_219 = lean_ctor_get(x_10, 1); +lean_inc(x_219); +lean_inc(x_218); lean_dec(x_10); -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; +x_220 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_220, 0, x_218); +lean_ctor_set(x_220, 1, x_219); +return x_220; } } } @@ -6359,7 +11310,7 @@ x_12 = l_Lean_commitWhenSome_x3f___at_Lean_Meta_splitIfLocalDecl_x3f___spec__1(x return x_12; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__1() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__1() { _start: { lean_object* x_1; @@ -6367,27 +11318,27 @@ x_1 = lean_mk_string_unchecked("Lean", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__2() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__1; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__3() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__2; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__2; x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__4() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__4() { _start: { lean_object* x_1; @@ -6395,17 +11346,17 @@ x_1 = lean_mk_string_unchecked("initFn", 6, 6); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__5() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__3; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__4; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__3; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__4; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__6() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__6() { _start: { lean_object* x_1; @@ -6413,47 +11364,47 @@ x_1 = lean_mk_string_unchecked("_@", 2, 2); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__7() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__5; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__6; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__5; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__6; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__8() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__7; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__1; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__7; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__9() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__8; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__8; x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__1; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__10() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__9; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__9; x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__2; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__11() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__11() { _start: { lean_object* x_1; @@ -6461,17 +11412,17 @@ x_1 = lean_mk_string_unchecked("SplitIf", 7, 7); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__12() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__10; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__11; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__10; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__11; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__13() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__13() { _start: { lean_object* x_1; @@ -6479,33 +11430,33 @@ x_1 = lean_mk_string_unchecked("_hyg", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__14() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__12; -x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__13; +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__12; +x_2 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__13; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__15() { +static lean_object* _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__14; -x_2 = lean_unsigned_to_nat(1609u); +x_1 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__14; +x_2 = lean_unsigned_to_nat(3688u); x_3 = l_Lean_Name_num___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; x_2 = l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__4; x_3 = 0; -x_4 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__15; +x_4 = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__15; x_5 = l_Lean_registerTraceClass(x_2, x_3, x_4, x_1); return x_5; } @@ -6523,6 +11474,64 @@ lean_dec_ref(res); res = initialize_Lean_Meta_Tactic_Simp_Main(builtin, lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +l_Lean_Meta_SplitKind_noConfusion___rarg___closed__1 = _init_l_Lean_Meta_SplitKind_noConfusion___rarg___closed__1(); +lean_mark_persistent(l_Lean_Meta_SplitKind_noConfusion___rarg___closed__1); +l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__1 = _init_l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__1(); +lean_mark_persistent(l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__1); +l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__2 = _init_l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__2(); +lean_mark_persistent(l_Std_Range_forIn_x27_loop___at___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___spec__1___closed__2); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__1 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__1(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__1); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__2 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__2(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__2); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__3 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__3(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__3); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__4 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__4(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___lambda__3___closed__4); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__1 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__1(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__1); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__2); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__3 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__3(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__3); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__4 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__4(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__4); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__5 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__5(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__5); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__6 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__6(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_FindSplitImpl_isCandidate_x3f___closed__6); +l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___closed__1 = _init_l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_Meta_FindSplitImpl_checkVisited___lambda__1___closed__1); +l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___closed__1 = _init_l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___closed__1(); +lean_mark_persistent(l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___closed__1); +l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___closed__2 = _init_l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___closed__2(); +lean_mark_persistent(l_Lean_Expr_withAppAux___at_Lean_Meta_FindSplitImpl_visit_visitApp_x3f___spec__2___closed__2); +l_Lean_Meta_findSplit_x3f_find_x3f_unsafe__1___closed__1 = _init_l_Lean_Meta_findSplit_x3f_find_x3f_unsafe__1___closed__1(); +lean_mark_persistent(l_Lean_Meta_findSplit_x3f_find_x3f_unsafe__1___closed__1); +l_Lean_Meta_findSplit_x3f_find_x3f___closed__1 = _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__1(); +lean_mark_persistent(l_Lean_Meta_findSplit_x3f_find_x3f___closed__1); +l_Lean_Meta_findSplit_x3f_find_x3f___closed__2 = _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__2(); +lean_mark_persistent(l_Lean_Meta_findSplit_x3f_find_x3f___closed__2); +l_Lean_Meta_findSplit_x3f_find_x3f___closed__3 = _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__3(); +lean_mark_persistent(l_Lean_Meta_findSplit_x3f_find_x3f___closed__3); +l_Lean_Meta_findSplit_x3f_find_x3f___closed__4 = _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__4(); +lean_mark_persistent(l_Lean_Meta_findSplit_x3f_find_x3f___closed__4); +l_Lean_Meta_findSplit_x3f_find_x3f___closed__5 = _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__5(); +lean_mark_persistent(l_Lean_Meta_findSplit_x3f_find_x3f___closed__5); +l_Lean_Meta_findSplit_x3f_find_x3f___closed__6 = _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__6(); +lean_mark_persistent(l_Lean_Meta_findSplit_x3f_find_x3f___closed__6); +l_Lean_Meta_findSplit_x3f_find_x3f___closed__7 = _init_l_Lean_Meta_findSplit_x3f_find_x3f___closed__7(); +lean_mark_persistent(l_Lean_Meta_findSplit_x3f_find_x3f___closed__7); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__1 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__1(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__1); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__2 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__2(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__2); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__3 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__3(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__3); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__4 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__4(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__4); +l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__5 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__5(); +lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_findIfToSplit_x3f___closed__5); l_Lean_Meta_SplitIf_getSimpContext___closed__1 = _init_l_Lean_Meta_SplitIf_getSimpContext___closed__1(); lean_mark_persistent(l_Lean_Meta_SplitIf_getSimpContext___closed__1); l_Lean_Meta_SplitIf_getSimpContext___closed__2 = _init_l_Lean_Meta_SplitIf_getSimpContext___closed__2(); @@ -6596,28 +11605,14 @@ l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__10); l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11(); lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__11); -l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__12 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__12(); -lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__12); -l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__13 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__13(); -lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_discharge_x3f___closed__13); -l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__1 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__1(); -lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__1); -l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__2 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__2(); -lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___lambda__1___closed__2); -l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__1 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__1(); -lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__1); -l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__2 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__2(); -lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__2); -l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__3 = _init_l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__3(); -lean_mark_persistent(l___private_Lean_Meta_Tactic_SplitIf_0__Lean_Meta_SplitIf_findIfToSplit_x3f___closed__3); l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2___closed__1 = _init_l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2___closed__1(); lean_mark_persistent(l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2___closed__1); l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2___closed__2 = _init_l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2___closed__2(); lean_mark_persistent(l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__2___closed__2); -l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__1 = _init_l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__1(); -lean_mark_persistent(l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__1); -l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__2 = _init_l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__2(); -lean_mark_persistent(l_Lean_Meta_SplitIf_splitIfAt_x3f___closed__2); +l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3___closed__1 = _init_l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3___closed__1(); +lean_mark_persistent(l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3___closed__1); +l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3___closed__2 = _init_l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3___closed__2(); +lean_mark_persistent(l_Lean_Meta_SplitIf_splitIfAt_x3f___lambda__3___closed__2); l_Lean_Meta_simpIfTarget___closed__1 = _init_l_Lean_Meta_simpIfTarget___closed__1(); lean_mark_persistent(l_Lean_Meta_simpIfTarget___closed__1); l_Lean_Meta_simpIfTarget___closed__2 = _init_l_Lean_Meta_simpIfTarget___closed__2(); @@ -6646,37 +11641,51 @@ l_Lean_Meta_simpIfLocalDecl___closed__2 = _init_l_Lean_Meta_simpIfLocalDecl___cl lean_mark_persistent(l_Lean_Meta_simpIfLocalDecl___closed__2); l_Lean_Meta_simpIfLocalDecl___closed__3 = _init_l_Lean_Meta_simpIfLocalDecl___closed__3(); lean_mark_persistent(l_Lean_Meta_simpIfLocalDecl___closed__3); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__1(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__1); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__2(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__2); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__3 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__3(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__3); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__4 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__4(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__4); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__5 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__5(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__5); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__6 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__6(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__6); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__7 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__7(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__7); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__8 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__8(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__8); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__9 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__9(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__9); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__10 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__10(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__10); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__11 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__11(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__11); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__12 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__12(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__12); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__13 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__13(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__13); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__14 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__14(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__14); -l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__15 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__15(); -lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609____closed__15); -if (builtin) {res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_1609_(lean_io_mk_world()); +l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__1 = _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__1(); +lean_mark_persistent(l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__1); +l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2 = _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2(); +lean_mark_persistent(l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__2); +l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3 = _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3(); +lean_mark_persistent(l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__3); +l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__4 = _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__4(); +lean_mark_persistent(l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__4); +l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5 = _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5(); +lean_mark_persistent(l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__5); +l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__6 = _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__6(); +lean_mark_persistent(l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__6); +l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7 = _init_l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7(); +lean_mark_persistent(l_Lean_Meta_splitIfTarget_x3f___lambda__2___closed__7); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__1 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__1(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__1); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__2 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__2(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__2); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__3 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__3(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__3); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__4 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__4(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__4); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__5 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__5(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__5); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__6 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__6(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__6); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__7 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__7(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__7); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__8 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__8(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__8); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__9 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__9(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__9); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__10 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__10(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__10); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__11 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__11(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__11); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__12 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__12(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__12); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__13 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__13(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__13); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__14 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__14(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__14); +l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__15 = _init_l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__15(); +lean_mark_persistent(l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688____closed__15); +if (builtin) {res = l_Lean_Meta_initFn____x40_Lean_Meta_Tactic_SplitIf___hyg_3688_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Parser/Term.c b/stage0/stdlib/Lean/Parser/Term.c index 8f943da18637..221bb84ce489 100644 --- a/stage0/stdlib/Lean/Parser/Term.c +++ b/stage0/stdlib/Lean/Parser/Term.c @@ -15,6 +15,8 @@ extern "C" { #endif static lean_object* l_Lean_Parser_Term_dynamicQuot_formatter___closed__2; static lean_object* l_Lean_Parser_Term_tuple___closed__5; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__62; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Term_byTactic_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_suffices___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -47,6 +49,7 @@ static lean_object* l_Lean_Parser_Tactic_quotSeq___closed__4; static lean_object* l_Lean_Parser_Term_matchExprPat_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_let__delayed_formatter___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_ensureTypeOf_parenthesizer__1(lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__56; static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeContainsMVar_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_noErrorIfUnused_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_whereDecls_parenthesizer___closed__4; @@ -135,9 +138,11 @@ static lean_object* l_Lean_Parser_Termination_suffix_formatter___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_unsafe_formatter__1___closed__2; static lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__26; static lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_panic_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_haveId_formatter___closed__3; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__1; static lean_object* l_Lean_Parser_Term_let_formatter___closed__6; static lean_object* l_Lean_Parser_Term_matchExpr_formatter___closed__5; lean_object* l_Lean_Parser_rawIdent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -146,14 +151,12 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_typeOf_formatter__1___closed static lean_object* l_Lean_Parser_Term_borrowed___closed__9; LEAN_EXPORT lean_object* l_Lean_Parser_Term_omission; static lean_object* l___regBuiltin_Lean_Parser_Term_omission_parenthesizer__1___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_noImplicitLambda; static lean_object* l_Lean_Parser_Term_suffices___closed__1; static lean_object* l_Lean_Parser_Term_inaccessible___closed__9; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__13; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_hole_declRange__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_arrow_declRange__1(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__38; static lean_object* l_Lean_Parser_Term_haveI___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_notFollowedBy_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_leftact___closed__7; @@ -170,7 +173,6 @@ static lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_depArrow___closed__8; static lean_object* l_Lean_Parser_Term_dynamicQuot_parenthesizer___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__1; static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__5; static lean_object* l_Lean_Parser_Term_namedArgument___closed__1; static lean_object* l_Lean_Parser_Command_docComment_parenthesizer___closed__1; @@ -241,7 +243,6 @@ static lean_object* l_Lean_Parser_Term_trailing__parser___closed__3; static lean_object* l_Lean_Parser_Term_byTactic_x27_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_letExpr_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_letIdDecl_formatter___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__43; static lean_object* l_Lean_Parser_Term_structInst___closed__25; static lean_object* l_Lean_Parser_Term_basicFun___closed__7; LEAN_EXPORT lean_object* l_Lean_Parser_Term_doubleQuotedName_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -337,12 +338,10 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_scientific_declRange__1___cl static lean_object* l_Lean_Parser_Term_omission___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Termination_suffix_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_x27_parenthesizer__1___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__17; static lean_object* l_Lean_Parser_Term_let__delayed___closed__7; static lean_object* l_Lean_Parser_Term_namedPattern_formatter___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_proj_formatter__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_withAnonymousAntiquot; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__20; static lean_object* l_Lean_Parser_Term_dynamicQuot_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_declRange__1___closed__5; static lean_object* l_Lean_Parser_Term_clear_parenthesizer___closed__7; @@ -436,7 +435,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_attrKind_docString__1(l static lean_object* l_Lean_Parser_Term_scoped___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_typeAscription_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_hole___closed__5; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__32; static lean_object* l___regBuiltin_Lean_Parser_Term_withAnonymousAntiquot_formatter__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_noImplicitLambda_declRange__1___closed__4; @@ -446,6 +444,7 @@ static lean_object* l_Lean_Parser_Term_fromTerm___closed__4; static lean_object* l_Lean_Parser_Term_sort___closed__2; static lean_object* l_Lean_Parser_Term_optEllipsis___closed__5; static lean_object* l_Lean_Parser_Term_haveDecl_parenthesizer___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__2; static lean_object* l___regBuiltin_Lean_Parser_Tactic_quotSeq_declRange__1___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_showTermElabImpl_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_matchExprPat___closed__10; @@ -482,7 +481,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1 static lean_object* l_Lean_Parser_Term_letRecDecl___closed__5; static lean_object* l_Lean_Parser_Term_typeOf_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_borrowed___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__8; static lean_object* l_Lean_Parser_Term_structInstLVal___closed__1; static lean_object* l_Lean_Parser_Term_letMVar_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__13; @@ -550,6 +548,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___ static lean_object* l_Lean_Parser_Term_noindex_formatter___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeContainsMVar_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_dbgTrace_formatter___closed__3; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__11; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot___closed__10; static lean_object* l_Lean_Parser_Term_structInst___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_namedArgument_formatter__1___closed__2; @@ -656,6 +655,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_explicit_formatter__1___clos static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_pipeCompletion___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__17; static lean_object* l_Lean_Parser_Term_local___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_dynamicQuot_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Term_sorry___closed__1; @@ -713,7 +713,6 @@ static lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__6; static lean_object* l_Lean_Parser_Term_letIdLhs_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__3; static lean_object* l_Lean_Parser_Term_match_formatter___closed__14; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__35; LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeOf_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_showTermElabImpl_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Term_assert___closed__1; @@ -734,7 +733,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_borrowed_parenthesizer(lean_object*, static lean_object* l_Lean_Parser_Term_matchExpr___closed__8; static lean_object* l_Lean_Parser_Term_suffices_formatter___closed__6; lean_object* l_Lean_Parser_rawFn(lean_object*, uint8_t, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__39; static lean_object* l_Lean_Parser_Term_noImplicitLambda___closed__8; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_trailing__parser___closed__4; @@ -794,6 +792,7 @@ static lean_object* l_Lean_Parser_Term_bracketedBinder___closed__1; static lean_object* l_Lean_Parser_Term_binrel__no__prop_parenthesizer___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeAscription_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_haveId_formatter___closed__1; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Termination_terminationBy_formatter___closed__1; static lean_object* l_Lean_Parser_Term_showTermElabImpl___closed__7; @@ -941,7 +940,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_declRange__1(lea static lean_object* l_Lean_Parser_Term_pipeProj_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_let__tmp___closed__5; static lean_object* l_Lean_Parser_Term_noErrorIfUnused___closed__4; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__48; lean_object* l_Lean_Parser_interpolatedStr(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern_declRange__1___closed__7; static lean_object* l_Lean_Parser_Term_ellipsis_formatter___closed__6; @@ -953,7 +951,6 @@ static lean_object* l_Lean_Parser_Term_syntheticHole_formatter___closed__3; static lean_object* l_Lean_Parser_Term_letExpr___closed__7; static lean_object* l_Lean_Parser_Term_structInst___closed__28; static lean_object* l_Lean_Parser_Term_stateRefT___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__33; static lean_object* l_Lean_Parser_Term_fromTerm_formatter___closed__4; static lean_object* l_Lean_Parser_Term_attributes_formatter___closed__5; static lean_object* l_Lean_Parser_Term_unop_parenthesizer___closed__1; @@ -1014,6 +1011,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_docString static lean_object* l_Lean_Parser_Term_tuple___closed__11; static lean_object* l_Lean_Parser_Term_namedArgument_formatter___closed__6; static lean_object* l_Lean_Parser_Term_sufficesDecl___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48; static lean_object* l_Lean_Parser_Term_binrel___closed__2; static lean_object* l_Lean_Parser_Term_stateRefT___closed__5; static lean_object* l_Lean_Parser_Term_rightact_parenthesizer___closed__2; @@ -1033,7 +1031,6 @@ static lean_object* l_Lean_Parser_Term_let__delayed_formatter___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_leftact_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__11; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__30; static lean_object* l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_tuple_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_tuple___closed__14; @@ -1047,6 +1044,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_explicit_parenthesizer__1___ static lean_object* l___regBuiltin_Lean_Parser_Term_show_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_panic_formatter___closed__4; static lean_object* l_Lean_Parser_Term_letrec___closed__6; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__63; static lean_object* l_Lean_Parser_Term_anonymousCtor___closed__13; static lean_object* l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__8; extern lean_object* l_Lean_Parser_strLit; @@ -1069,6 +1067,7 @@ static lean_object* l_Lean_Parser_Term_waitIfTypeMVar___closed__8; static lean_object* l_Lean_Parser_Term_proj_formatter___closed__5; static lean_object* l_Lean_Parser_Term_binop_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_letMVar_parenthesizer___closed__1; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__9; static lean_object* l_Lean_Parser_Term_completion___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__2; @@ -1104,6 +1103,7 @@ static lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_letIdDecl_formatter___closed__1; static lean_object* l_Lean_Parser_Term_structInstField___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_byTactic_declRange__1___closed__4; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__23; static lean_object* l___regBuiltin_Lean_Parser_Term_letI_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_whereDecls_formatter___closed__3; static lean_object* l_Lean_Parser_Term_ensureExpectedType_formatter___closed__1; @@ -1140,7 +1140,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAltsWhereDecls; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_anonymousCtor_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_letMVar_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot___closed__5; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__57; static lean_object* l_Lean_Parser_Term_whereDecls_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_letMVar_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_attrInstance___closed__2; @@ -1175,6 +1174,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_pipeProj_declRange__1___clos static lean_object* l_Lean_Parser_Term_assert___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_unsafe_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_dbgTrace___closed__7; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__9; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_typeAscription_docString__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_doubleQuotedName_formatter___closed__3___boxed__const__1; static lean_object* l___regBuiltin_Lean_Parser_Term_sufficesDecl_parenthesizer__1___closed__2; @@ -1198,6 +1198,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_panic_declRange__1___closed_ static lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__4; static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__3; static lean_object* l_Lean_Parser_Term_assert___closed__10; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__14; static lean_object* l_Lean_Parser_Term_binderDefault___closed__2; static lean_object* l_Lean_Parser_Term_letPatDecl_parenthesizer___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_let__tmp_docString__1(lean_object*); @@ -1206,6 +1207,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_unreachable_docString__ LEAN_EXPORT lean_object* l_Lean_Parser_Term_unreachable; static lean_object* l_Lean_Parser_Term_inaccessible_formatter___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_dotIdent_declRange__1___closed__7; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__2; extern lean_object* l_Lean_Parser_hygieneInfo; static lean_object* l_Lean_Parser_Term_forInMacro_formatter___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_leftact_formatter__1___closed__2; @@ -1258,6 +1260,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__ static lean_object* l_Lean_Parser_Term_nomatch___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Termination_terminationBy_docString__1___closed__3; static lean_object* l_Lean_Parser_Term_noImplicitLambda___closed__4; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__1; static lean_object* l_Lean_Parser_Term_whereDecls___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_binrel_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_haveIdDecl___closed__9; @@ -1268,6 +1271,7 @@ static lean_object* l_Lean_Parser_Term_scoped_formatter___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letRecDecls_parenthesizer__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letEqnsDecl_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_haveI_parenthesizer__1___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__54; static lean_object* l_Lean_Parser_Term_structInstField___closed__10; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_forInMacro_x27_formatter___closed__2; @@ -1332,7 +1336,6 @@ static lean_object* l_Lean_Parser_Term_declName___closed__1; static lean_object* l_Lean_Parser_Term_stateRefT_formatter___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_cdot_declRange__1___closed__5; static lean_object* l_Lean_Parser_Term_noImplicitLambda_parenthesizer___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__42; static lean_object* l_Lean_Parser_Term_leftact_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_forall___closed__12; static lean_object* l_Lean_Parser_Term_letIdDecl_parenthesizer___closed__6; @@ -1412,7 +1415,6 @@ static lean_object* l_Lean_Parser_Term_fromTerm_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_attrInstance___closed__5; static lean_object* l_Lean_Parser_Term_stateRefT_parenthesizer___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_let_declRange__1___closed__5; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__40; LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchExprAlt(lean_object*); static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Term_haveEqnsDecl; @@ -1436,6 +1438,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitUniv; static lean_object* l_Lean_Parser_Term_strictImplicitRightBracket___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_dotIdent_declRange__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_binrel_docString__1___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__49; LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeSpec; static lean_object* l_Lean_Parser_Term_doubleQuotedName___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_whereDecls; @@ -1549,21 +1552,21 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_unop_parenthesizer__1___clos lean_object* l_Lean_Parser_ppLine_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Termination_terminationBy___closed__12; LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchExprAlt_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__36; lean_object* l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_app_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_subst___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Termination_terminationBy_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_macroDollarArg; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__10; LEAN_EXPORT lean_object* l_Lean_Parser_Term_argument_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_letIdDecl_formatter__1___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_declRange__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_suffices_declRange__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_funBinder; static lean_object* l_Lean_Parser_Term_paren___closed__10; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__45; static lean_object* l_Lean_Parser_Term_borrowed___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_parenthesizer__1___closed__1; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__12; static lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__3; static lean_object* l_Lean_Parser_Term_typeAscription_formatter___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeOf_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1602,6 +1605,7 @@ static lean_object* l_Lean_Parser_Term_sufficesDecl_formatter___closed__1; static lean_object* l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__9; static lean_object* l_Lean_Parser_Term_whereDecls___closed__3; static lean_object* l_Lean_Parser_Term_suffices_parenthesizer___closed__4; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__55; static lean_object* l_Lean_Parser_Term_strictImplicitRightBracket___closed__1; static lean_object* l_Lean_Parser_Term_namedPattern___closed__9; static lean_object* l_Lean_Parser_Term_syntheticHole_formatter___closed__4; @@ -1672,6 +1676,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_fun_declRange__1___closed__5 LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_explicit___closed__6; static lean_object* l_Lean_Parser_Term_binderTactic___closed__4; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__22; static lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Termination_decreasingBy_docString__1___closed__3; @@ -1689,7 +1694,6 @@ static lean_object* l_Lean_Parser_Term_panic___closed__8; static lean_object* l_Lean_Parser_Term_have___closed__9; LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeAscription; static lean_object* l_Lean_Parser_Term_binrel___closed__13; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__63; LEAN_EXPORT lean_object* l_Lean_Parser_Term_proj; static lean_object* l_Lean_Parser_Term_declName___closed__3; static lean_object* l_Lean_Parser_Term_trueVal___closed__1; @@ -1761,6 +1765,7 @@ static lean_object* l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__6; uint8_t l_Lean_Syntax_isAntiquot(lean_object*); static lean_object* l_Lean_Parser_Term_letIdLhs___closed__7; static lean_object* l_Lean_Parser_Term_unreachable___closed__7; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__37; static lean_object* l_Lean_Parser_Term_structInst___closed__2; static lean_object* l_Lean_Parser_Term_ident_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_cdot_formatter__1___closed__1; @@ -1817,6 +1822,7 @@ static lean_object* l_Lean_Parser_Term_structInst___closed__20; static lean_object* l_Lean_Parser_Term_attrInstance_formatter___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Term_trueVal; static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeContainsMVar_declRange__1___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__7; static lean_object* l_Lean_Parser_Term_haveDecl___closed__7; static lean_object* l_Lean_Parser_Term_matchDiscr_formatter___closed__2; static lean_object* l_Lean_Parser_Term_typeOf___closed__3; @@ -1863,6 +1869,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_ellipsis_formatter__1(l static lean_object* l_Lean_Parser_Command_docComment___closed__1; static lean_object* l_Lean_Parser_Term_binop__lazy___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_paren_declRange__1___closed__2; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_haveI_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_ellipsis___closed__9; static lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__5; @@ -1906,7 +1913,6 @@ static lean_object* l_Lean_Parser_Term_trailing__parser___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_sepBy1IndentSemicolon_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_nofun_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_parenthesizer__1(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_typeAscription_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__3; static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__6; @@ -1981,6 +1987,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_haveEqnsDecl_parenthesizer(lean_obje static lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_haveIdDecl___closed__4; static lean_object* l_Lean_Parser_Term_trailing__parser_formatter___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__33; LEAN_EXPORT lean_object* l_Lean_Parser_Term_dynamicQuot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_ensureExpectedType_parenthesizer___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_hole_formatter__1___closed__2; @@ -1988,6 +1995,8 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_let__tmp_declRange__1(l static lean_object* l_Lean_Parser_Term_showTermElabImpl_parenthesizer___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_tacticParser_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_forInMacro___closed__6; +LEAN_EXPORT lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419_(lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__57; LEAN_EXPORT lean_object* l_Lean_Parser_Term_pipeCompletion_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_noImplicitLambda_formatter___closed__3; static lean_object* l_Lean_Parser_semicolonOrLinebreak_parenthesizer___closed__2; @@ -2081,7 +2090,6 @@ static lean_object* l_Lean_Parser_Term_waitIfTypeMVar_parenthesizer___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_sort_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_formatter___closed__9; static lean_object* l_Lean_Parser_Term_explicitBinder_formatter___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Term_waitIfTypeContainsMVar_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_typeAscription_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_match___closed__17; @@ -2153,6 +2161,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer_ static lean_object* l_Lean_Parser_Term_structInst___closed__23; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_subst_formatter__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Termination_decreasingBy_docString__1(lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__24; static lean_object* l___regBuiltin_Lean_Parser_Term_defaultOrOfNonempty_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_attrKind_docString__1___closed__2; @@ -2191,6 +2200,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_app__1(lean_object*); static lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_panic_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_whereDecls___closed__4; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__21; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letIdDecl_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_haveI_declRange__1___closed__6; @@ -2237,6 +2247,7 @@ static lean_object* l_Lean_Parser_Term_letPatDecl_formatter___closed__6; static lean_object* l_Lean_Parser_Term_funBinder_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_declRange__1___closed__3; static lean_object* l_Lean_Parser_Tactic_quot_formatter___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicitUniv_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_letIdDecl_formatter___closed__4; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__9; @@ -2292,6 +2303,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_panic__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_byTactic_declRange__1___closed__1; static lean_object* l_Lean_Parser_Term_letIdDecl_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_let__fun___closed__12; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__30; static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_declRange__1___closed__2; static lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_dotIdent_formatter__1(lean_object*); @@ -2332,13 +2344,11 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_letrec_formatter__1___closed static lean_object* l_Lean_Parser_Term_letExpr_parenthesizer___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_attributes_formatter___closed__3; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__37; static lean_object* l_Lean_Parser_Term_cdot___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Term_hole_declRange__1___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeContainsMVar_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_noindex___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_noErrorIfUnused_parenthesizer__1___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__14; LEAN_EXPORT lean_object* l_Lean_Parser_Term_attrInstance; static lean_object* l_Lean_Parser_Term_waitIfContainsMVar___closed__7; static lean_object* l_Lean_Parser_Term_cdot_parenthesizer___closed__4; @@ -2410,10 +2420,10 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_leftact; static lean_object* l___regBuiltin_Lean_Parser_Term_binop_parenthesizer__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_showTermElabImpl_formatter__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_let__delayed_declRange__1___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__13; static lean_object* l_Lean_Parser_Term_let__delayed___closed__3; static lean_object* l_Lean_Parser_Term_letExpr_formatter___closed__3; static lean_object* l_Lean_Parser_Term_assert___closed__4; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__50; static lean_object* l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__20; static lean_object* l_Lean_Parser_Term_clear___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_type_declRange__1___closed__2; @@ -2444,7 +2454,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_macroDollarArg_formatte LEAN_EXPORT lean_object* l_Lean_Parser_Term_generalizingParam; static lean_object* l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_omission_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__44; static lean_object* l_Lean_Parser_Term_doubleQuotedName___closed__10; static lean_object* l_Lean_Parser_Term_explicitBinder_formatter___closed__1; static lean_object* l_Lean_Parser_Term_haveId___closed__5; @@ -2457,6 +2466,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_parenthesizer_ static lean_object* l_Lean_Parser_Term_let__delayed___closed__11; static lean_object* l_Lean_Parser_Tactic_quotSeq_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_haveId___closed__8; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__38; static lean_object* l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_cdot___closed__4; @@ -2492,6 +2502,7 @@ static lean_object* l_Lean_Parser_Termination_terminationBy_parenthesizer___clos static lean_object* l_Lean_Parser_Term_let__fun___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_rightact_declRange__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_attrKind; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__44; static lean_object* l_Lean_Parser_Term_dbgTrace_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_suffices_declRange__1___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst__1(lean_object*); @@ -2532,7 +2543,6 @@ lean_object* l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(lean_objec LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Termination_terminationBy_docString__1(lean_object*); static lean_object* l_Lean_Parser_Term_matchExpr___closed__11; static lean_object* l_Lean_Parser_Term_typeAscription___closed__15; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__60; static lean_object* l_Lean_Parser_Term_leftact___closed__1; static lean_object* l_Lean_Parser_Term_subst___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_hole_declRange__1___closed__4; @@ -2541,6 +2551,7 @@ static lean_object* l_Lean_Parser_Term_binop__lazy___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_paren_declRange__1___closed__3; static lean_object* l_Lean_Parser_Term_leftact___closed__4; static lean_object* l_Lean_Parser_Term_binderTactic___closed__7; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__13; LEAN_EXPORT lean_object* l_Lean_Parser_Term_sort; static lean_object* l_Lean_Parser_Tactic_quotSeq___closed__9; static lean_object* l___regBuiltin_Lean_Parser_Term_explicit_docString__1___closed__1; @@ -2561,7 +2572,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_cdot_docString__1(lean_ static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__14; static lean_object* l_Lean_Parser_Command_docComment_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeMVar_declRange__1___closed__4; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_unreachable_formatter__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_let__fun_formatter__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_docString__1___closed__1; @@ -2588,9 +2598,7 @@ static lean_object* l_Lean_Parser_Term_binderTactic_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_anonymousCtor___closed__3; static lean_object* l_Lean_Parser_Term_byTactic_formatter___closed__5; lean_object* l_Lean_PrettyPrinter_Parenthesizer_parserOfStack_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__26; static lean_object* l___regBuiltin_Lean_Parser_Term_haveDecl_docString__1___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__9; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_dbgTrace_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_namedArgument___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeMVar_formatter__1___closed__2; @@ -2681,7 +2689,6 @@ static lean_object* l_Lean_Parser_Term_tuple_parenthesizer___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_assert_declRange__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_binop__lazy_parenthesizer__1___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__59; static lean_object* l___regBuiltin_Lean_Parser_Term_let__delayed_declRange__1___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_haveEqnsDecl_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_waitIfTypeMVar___closed__4; @@ -2694,7 +2701,6 @@ static lean_object* l_Lean_Parser_Term_attributes_formatter___closed__7; lean_object* l_Lean_Parser_symbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_attrInstance_parenthesizer__1(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__31; static lean_object* l_Lean_Parser_Term_binderTactic_formatter___closed__1; static lean_object* l_Lean_Parser_Term_matchDiscr_formatter___closed__4; static lean_object* l_Lean_Parser_Term_let_formatter___closed__4; @@ -2747,7 +2753,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_trailing__parser; static lean_object* l___regBuiltin_Lean_Parser_Term_fun_declRange__1___closed__4; static lean_object* l_Lean_Parser_Term_basicFun___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_typeOf_declRange__1___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__29; static lean_object* l_Lean_Parser_Term_letrec___closed__9; static lean_object* l_Lean_Parser_Term_waitIfContainsMVar___closed__4; lean_object* l_Lean_Parser_nameLit_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2768,9 +2773,9 @@ static lean_object* l_Lean_Parser_Term_doubleQuotedName_parenthesizer___closed__ static lean_object* l___regBuiltin_Lean_Parser_Term_explicitUniv_formatter__1___closed__2; static lean_object* l_Lean_Parser_Term_binderDefault___closed__5; static lean_object* l_Lean_Parser_Term_sorry_formatter___closed__3; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__34; static lean_object* l_Lean_Parser_Term_binrel_formatter___closed__4; static lean_object* l_Lean_Parser_Term_show___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__41; static lean_object* l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_suffices_formatter___closed__2; static lean_object* l_Lean_Parser_Term_leading__parser_parenthesizer___closed__8; @@ -2888,9 +2893,9 @@ static lean_object* l_Lean_Parser_Term_letIdBinder___closed__3; static lean_object* l_Lean_Parser_Term_let_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_letDecl___closed__2; static lean_object* l_Lean_Parser_Term_basicFun_formatter___closed__7; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__54; static lean_object* l_Lean_Parser_Term_letRecDecls_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_sorry_formatter___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__39; static lean_object* l_Lean_Parser_Term_funStrictImplicitBinder_formatter___closed__5; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__12; LEAN_EXPORT lean_object* l_Lean_Parser_darrow; @@ -2985,6 +2990,7 @@ static lean_object* l_Lean_Parser_Term_binrel__no__prop___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_unreachable_declRange__1___closed__1; static lean_object* l_Lean_Parser_Term_haveDecl___closed__5; static lean_object* l_Lean_Parser_Term_argument_parenthesizer___closed__3; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__32; static lean_object* l_Lean_Parser_Term_withDeclName_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_letExpr___closed__12; static lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName_formatter__1___closed__2; @@ -2992,6 +2998,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_ident_formatter(lean_object*, lean_o static lean_object* l___regBuiltin_Lean_Parser_Term_attrInstance_formatter__1___closed__2; lean_object* l_Lean_Parser_withoutPosition___lambda__1(lean_object*); static lean_object* l_Lean_Parser_Term_dynamicQuot___closed__5; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_omission_declRange__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_waitIfContainsMVar_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_app_declRange__1___closed__1; @@ -3015,11 +3022,11 @@ static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_docStri LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_generalizingParam___closed__12; static lean_object* l_Lean_Parser_Term_matchAlt_parenthesizer___closed__5; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__12; static lean_object* l_Lean_Parser_Term_letrec_formatter___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_ellipsis_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Term_matchExpr___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__18; static lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt_formatter___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_formatter__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_local_formatter__1___closed__2; @@ -3059,6 +3066,7 @@ static lean_object* l_Lean_Parser_Term_macroDollarArg___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeMVar_declRange__1___closed__1; static lean_object* l_Lean_Parser_Term_inaccessible___closed__10; static lean_object* l_Lean_Parser_Term_show_formatter___closed__4; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__8; LEAN_EXPORT lean_object* l_Lean_Parser_Term_attrKind_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_assert_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_let_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3145,6 +3153,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_formatter__1___closed static lean_object* l_Lean_Parser_Term_matchExprPat_formatter___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName_declRange__1___closed__7; static lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__13; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__11; static lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__7; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letExpr; @@ -3154,7 +3163,7 @@ static lean_object* l_Lean_Parser_Term_clear_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_waitIfTypeContainsMVar_parenthesizer___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder_parenthesizer(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_quotSeq_formatter___closed__5; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__50; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__58; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_matchExpr__1(lean_object*); static lean_object* l_Lean_Parser_Term_optEllipsis___closed__7; static lean_object* l_Lean_Parser_Term_letDecl___closed__4; @@ -3333,6 +3342,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_letI_declRange__1___closed__ static lean_object* l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__14; static lean_object* l_Lean_Parser_Term_binderDefault_parenthesizer___closed__3; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__6; static lean_object* l_Lean_Parser_Term_arrow_parenthesizer___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_showTermElabImpl_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Termination_terminationBy_parenthesizer___closed__10; @@ -3357,7 +3367,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_haveI_declRange__1___closed_ static lean_object* l_Lean_Parser_Term_optIdent_formatter___closed__1; static lean_object* l_Lean_Parser_Termination_terminationBy___closed__3; static lean_object* l_Lean_Parser_Term_haveI_parenthesizer___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__19; static lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_dotIdent_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Tactic_quot_formatter___closed__5; @@ -3380,7 +3389,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeq1Indented_formatt static lean_object* l_Lean_Parser_Term_letRecDecl___closed__3; static lean_object* l_Lean_Parser_Term_unop___closed__5; static lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__8; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__27; LEAN_EXPORT lean_object* l_Lean_Parser_Term_noindex_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_basicFun_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_showTermElabImpl___closed__8; @@ -3450,6 +3458,7 @@ static lean_object* l_Lean_Parser_Term_let__tmp___closed__11; static lean_object* l_Lean_Parser_Term_fun_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_haveEqnsDecl_formatter___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_scoped; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__47; static lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt___closed__1; static lean_object* l_Lean_Parser_Term_explicit___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_char_declRange__1___closed__3; @@ -3540,6 +3549,7 @@ static lean_object* l_Lean_Parser_Term_nomatch___closed__4; static lean_object* l_Lean_Parser_Term_forInMacro_x27___closed__4; static lean_object* l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__25; static lean_object* l_Lean_Parser_Term_forall_formatter___closed__1; static lean_object* l_Lean_Parser_Term_stateRefT___closed__7; static lean_object* l_Lean_Parser_Term_rightact___closed__2; @@ -3564,6 +3574,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_match_formatter(lean_object*, lean_o static lean_object* l_Lean_Parser_Term_explicitUniv___closed__9; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_docComment_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_assert___closed__9; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__4; static lean_object* l_Lean_Parser_Term_anonymousCtor_formatter___closed__9; static lean_object* l_Lean_Parser_darrow___closed__2; static lean_object* l_Lean_Parser_Term_funBinder_parenthesizer___closed__2; @@ -3587,6 +3598,7 @@ static lean_object* l_Lean_Parser_Term_assert_formatter___closed__6; static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__13; static lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_formatter__1___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__35; static lean_object* l_Lean_Parser_Term_haveIdDecl_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_binop__lazy_parenthesizer__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlt_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3633,6 +3645,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_binrel__no__prop_formatter__ lean_object* l_Lean_Parser_many(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_optEllipsis; static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_x27_declRange__1___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__40; static lean_object* l___regBuiltin_Lean_Parser_Term_quotedName_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__1; static lean_object* l_Lean_Parser_Termination_suffix_formatter___closed__7; @@ -3675,6 +3688,7 @@ static lean_object* l_Lean_Parser_Term_instBinder_formatter___closed__4; static lean_object* l_Lean_Parser_Term_letMVar_formatter___closed__6; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_formatter___closed__8; static lean_object* l_Lean_Parser_Term_type_formatter___closed__6; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__59; static lean_object* l___regBuiltin_Lean_Parser_Term_cdot_docString__1___closed__1; static lean_object* l_Lean_Parser_Term_whereDecls___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_rightact_formatter__1___closed__1; @@ -3685,7 +3699,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_omission_formatter__1___clos static lean_object* l_Lean_Parser_Term_scoped___closed__2; lean_object* l_Lean_PrettyPrinter_Formatter_pushNone_formatter___boxed(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_app_formatter__1(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__22; static lean_object* l_Lean_Parser_Term_funStrictImplicitBinder___closed__7; static lean_object* l_Lean_Parser_Term_rightact___closed__9; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_ensureTypeOf_declRange__1(lean_object*); @@ -3741,6 +3754,7 @@ static lean_object* l_Lean_Parser_Term_typeAscription_formatter___closed__11; static lean_object* l_Lean_Parser_Term_motive_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_scientific_formatter___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binrel__no__prop_declRange__1(lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__60; LEAN_EXPORT lean_object* l_Lean_Parser_Term_doubleQuotedName_parenthesizer___closed__3___boxed__const__1; static lean_object* l_Lean_Parser_Term_letIdDecl___closed__5; static lean_object* l_Lean_Parser_Term_binrel___closed__8; @@ -3751,6 +3765,7 @@ static lean_object* l_Lean_Parser_Term_syntheticHole_formatter___closed__1; static lean_object* l_Lean_Parser_Termination_decreasingBy_formatter___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_quotSeq_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_stateRefT_formatter___closed__4; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__20; static lean_object* l_Lean_Parser_Term_optExprPrecedence___closed__3; static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__4; static lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__9; @@ -3759,7 +3774,6 @@ static lean_object* l_Lean_Parser_Term_binderTactic_formatter___closed__2; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_formatter___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Term_explicitBinder___closed__3; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__62; static lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_declRange__1___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_byTactic_formatter__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder___boxed(lean_object*); @@ -3976,12 +3990,11 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_declName_formatter(lean_object*, lea static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_haveEqnsDecl_formatter__1___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__18; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__24; static lean_object* l_Lean_Parser_Term_binderDefault_formatter___closed__1; static lean_object* l_Lean_Parser_Term_typeSpec_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_explicit_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_let__fun___closed__13; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__28; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_explicitUniv_declRange__1___closed__5; static lean_object* l_Lean_Parser_Term_have___closed__1; @@ -4006,8 +4019,10 @@ static lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_leftact_declRange__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_motive_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_docString__1(lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46; static lean_object* l_Lean_Parser_Term_matchExprPat___closed__6; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__17; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__42; static lean_object* l_Lean_Parser_Term_sorry_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_whereDecls_formatter___closed__7; @@ -4029,7 +4044,6 @@ static lean_object* l_Lean_Parser_Term_explicit_formatter___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_unreachable_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_x27_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_rightact___closed__4; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__51; static lean_object* l_Lean_Parser_Term_defaultOrOfNonempty___closed__7; static lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__10; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_scientific_declRange__1(lean_object*); @@ -4068,9 +4082,9 @@ static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenth static lean_object* l_Lean_Parser_Term_dynamicQuot___closed__12; static lean_object* l___regBuiltin_Lean_Parser_Term_letDecl_formatter__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_scientific_declRange__1___closed__6; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__46; LEAN_EXPORT lean_object* l_Lean_Parser_Term_rightact_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_type___closed__8; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__36; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_funStrictImplicitBinder___closed__3; static lean_object* l_Lean_Parser_Term_stateRefT_parenthesizer___closed__2; @@ -4143,6 +4157,7 @@ static lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_omission___closed__8; static lean_object* l_Lean_Parser_Term_letMVar___closed__4; static lean_object* l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__7; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType_formatter(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_stateRefT___closed__9; static lean_object* l_Lean_Parser_Term_noindex_parenthesizer___closed__4; @@ -4167,6 +4182,7 @@ static lean_object* l_Lean_Parser_Term_typeOf___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_trailing__parser_declRange__1___closed__4; static lean_object* l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__2; lean_object* l_id___rarg___boxed(lean_object*); +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__7; static lean_object* l_Lean_Parser_Term_subst___closed__8; static lean_object* l_Lean_Parser_Term_byTactic_parenthesizer___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlt_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4229,6 +4245,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1 static lean_object* l_Lean_Parser_Term_ident_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Termination_suffix_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_structInst___closed__10; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__12; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_haveI__1(lean_object*); static lean_object* l_Lean_Parser_Term_prop_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_forall___closed__7; @@ -4261,7 +4278,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFields_parenthesizer(lean_ lean_object* l_Lean_Parser_unicodeSymbol_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_docString__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__47; static lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_parenthesizer__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_let_declRange__1___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_let_parenthesizer__1(lean_object*); @@ -4327,7 +4343,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_dotIdent_formatter(lean_object*, lea LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letrec_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_suffices___closed__11; static lean_object* l___regBuiltin_Lean_Parser_Term_let__delayed_declRange__1___closed__6; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__41; static lean_object* l_Lean_Parser_Term_doubleQuotedName_formatter___closed__7; static lean_object* l_Lean_Parser_Term_sort_parenthesizer___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_matchAltsWhereDecls_parenthesizer__1___closed__1; @@ -4442,6 +4457,7 @@ static lean_object* l_Lean_Parser_Term_letI___closed__2; static lean_object* l_Lean_Parser_Term_structInst___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_declRange__1___closed__7; LEAN_EXPORT lean_object* l_Lean_Parser_Term_haveIdDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__51; static lean_object* l_Lean_Parser_Term_letI_parenthesizer___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Term_fromTerm_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_letPatDecl_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4472,7 +4488,6 @@ static lean_object* l_Lean_Parser_Term_falseVal_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_nomatch_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_tuple_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Command_docComment___closed__9; -LEAN_EXPORT lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_dotIdent; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_letMVar_formatter__1___closed__1; @@ -4588,6 +4603,7 @@ static lean_object* l_Lean_Parser_Term_showTermElabImpl_formatter___closed__1; static lean_object* l_Lean_Parser_Term_dbgTrace___closed__13; static lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_parenthesizer__1___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_formatter__1(lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__19; static lean_object* l_Lean_Parser_Term_namedArgument_parenthesizer___closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Term_let__delayed_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_dbgTrace_parenthesizer__1___closed__1; @@ -4646,6 +4662,7 @@ static lean_object* l_Lean_Parser_Term_forInMacro_x27___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_arrow_declRange__1___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_defaultOrOfNonempty; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__43; static lean_object* l_Lean_Parser_Term_explicitUniv___closed__15; static lean_object* l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__3; @@ -4669,6 +4686,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_paren_docString__1___closed_ LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_sepByIndentSemicolon_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_explicitUniv___closed__16; static lean_object* l_Lean_Parser_Term_show___closed__6; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__8; static lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__8; LEAN_EXPORT lean_object* l_Lean_Parser_Term_fun_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_withDeclName___closed__3; @@ -4691,7 +4709,6 @@ static lean_object* l_Lean_Parser_Term_rightact_parenthesizer___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_noindex_declRange__1___closed__7; static lean_object* l_Lean_Parser_Term_typeAscription_formatter___closed__12; static lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern_declRange__1___closed__5; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__23; static lean_object* l_Lean_Parser_Term_strictImplicitRightBracket___closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Term_proj_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_inaccessible_formatter___closed__1; @@ -4832,11 +4849,11 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_cdot_parenthesizer__1(l static lean_object* l_Lean_Parser_Term_type_formatter___closed__3; static lean_object* l_Lean_Parser_Term_syntheticHole___closed__2; static lean_object* l_Lean_Parser_Term_proj___closed__7; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__45; lean_object* l_Lean_Parser_sepBy1_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_ensureTypeOf_formatter___closed__2; lean_object* l_Lean_Parser_lookahead(lean_object*); static lean_object* l_Lean_Parser_Term_str_formatter___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__16; static lean_object* l_Lean_Parser_Term_ellipsis_parenthesizer___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_sorry_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_parenthesizer___closed__2; @@ -4892,6 +4909,7 @@ static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___clos static lean_object* l_Lean_Parser_Term_proj_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName_formatter__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_waitIfContainsMVar_parenthesizer__1(lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__10; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_parenthesizer___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letMVar__1(lean_object*); static lean_object* l_Lean_Parser_Term_typeAscription___closed__5; @@ -4970,6 +4988,7 @@ static lean_object* l_Lean_Parser_Term_depArrow_formatter___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldAbbrev; static lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_declRange__1___closed__1; lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t, uint8_t); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__15; static lean_object* l___regBuiltin_Lean_Parser_Term_char_declRange__1___closed__7; lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_tacticSeq___closed__3; @@ -5004,7 +5023,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_dbgTrace; static lean_object* l_Lean_Parser_Term_noImplicitLambda___closed__7; static lean_object* l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__5; static lean_object* l_Lean_Parser_Term_sufficesDecl___closed__8; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__28; static lean_object* l_Lean_Parser_Term_borrowed_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_falseVal_formatter___closed__1; static lean_object* l_Lean_Parser_Term_forall_formatter___closed__7; @@ -5026,7 +5044,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_sepBy1IndentSemicolon_formatter(le static lean_object* l_Lean_Parser_Term_leading__parser___closed__9; static lean_object* l_Lean_Parser_Term_dynamicQuot_formatter___closed__7; static lean_object* l_Lean_Parser_Term_explicit___closed__4; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__15; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__53; static lean_object* l___regBuiltin_Lean_Parser_Term_binop__lazy_docString__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_haveIdDecl_formatter__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_fun_formatter__1___closed__1; @@ -5035,8 +5053,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_noImplicitLambda_parenthesiz LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_have_declRange__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot___closed__4; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__49; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__55; static lean_object* l_Lean_Parser_Term_explicitUniv_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_show_formatter___closed__1; static lean_object* l_Lean_Parser_Term_panic___closed__9; @@ -5067,6 +5083,7 @@ static lean_object* l_Lean_Parser_Term_matchExpr_formatter___closed__6; static lean_object* l_Lean_Parser_Term_leading__parser_parenthesizer___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_showTermElabImpl_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_matchExpr_formatter___closed__8; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__61; static lean_object* l_Lean_Parser_Term_argument___closed__7; static lean_object* l_Lean_Parser_Term_noErrorIfUnused___closed__8; extern lean_object* l_Lean_Parser_numLit; @@ -5083,7 +5100,6 @@ static lean_object* l_Lean_Parser_Term_unsafe___closed__6; static lean_object* l_Lean_Parser_Term_basicFun___closed__6; static lean_object* l_Lean_Parser_Tactic_tacticSeq_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_let__delayed_formatter__1___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__52; static lean_object* l_Lean_Parser_Term_ensureExpectedType_formatter___closed__4; extern lean_object* l_Lean_PrettyPrinter_formatterAttribute; static lean_object* l_Lean_Parser_Term_optEllipsis___closed__2; @@ -5107,7 +5123,6 @@ static lean_object* l_Lean_Parser_Term_doubleQuotedName___closed__12; static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_assert_docString__1___closed__1; static lean_object* l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__10; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__11; static lean_object* l_Lean_Parser_Term_tuple_parenthesizer___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_basicFun; static lean_object* l_Lean_Parser_Term_attrKind_parenthesizer___closed__1; @@ -5116,6 +5131,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_let_parenthesizer__1___close static lean_object* l_Lean_Parser_Term_generalizingParam___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName_declRange__1___closed__3; static lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___closed__3; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__52; static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__5; static lean_object* l_Lean_Parser_Term_letExpr___closed__8; static lean_object* l_Lean_Parser_Term_sufficesDecl_formatter___closed__4; @@ -5151,13 +5167,13 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_letExpr_declRange__1___close static lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_num_declRange__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName_parenthesizer__1___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__21; static lean_object* l_Lean_Parser_Term_forall_formatter___closed__3; static lean_object* l_Lean_Parser_Term_strictImplicitRightBracket___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_parenthesizer__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_ensureTypeOf_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_forInMacro_x27_parenthesizer___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__29; static lean_object* l_Lean_Parser_Term_fun_formatter___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_optType; @@ -5207,7 +5223,6 @@ static lean_object* l_Lean_Parser_Term_let__fun___closed__11; static lean_object* l___regBuiltin_Lean_Parser_Term_hole_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__16; static lean_object* l_Lean_Parser_Term_matchAlt___closed__8; static lean_object* l_Lean_Parser_Term_letEqnsDecl___closed__7; static lean_object* l_Lean_Parser_Term_basicFun_formatter___closed__9; @@ -5332,7 +5347,6 @@ static lean_object* l_Lean_Parser_Command_docComment_formatter___closed__2; static lean_object* l_Lean_Parser_Term_noErrorIfUnused_formatter___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_forInMacro; lean_object* l_Lean_PrettyPrinter_Formatter_categoryParser_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__61; static lean_object* l_Lean_Parser_Term_haveDecl___closed__3; static lean_object* l_Lean_Parser_Term_funImplicitBinder___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern_docString__1(lean_object*); @@ -5341,7 +5355,6 @@ static lean_object* l_Lean_Parser_Term_haveIdDecl_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_let__tmp_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__14; static lean_object* l_Lean_Parser_Term_matchAlt___closed__3; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_tuple_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_defaultOrOfNonempty_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_whereDecls_parenthesizer__1___closed__1; @@ -5397,7 +5410,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_fromTerm_parenthesizer__1___ LEAN_EXPORT lean_object* l_Lean_Parser_Term_forInMacro_x27_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_have_formatter___closed__1; lean_object* l_Lean_Parser_ppDedentIfGrouped_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__25; static lean_object* l_Lean_Parser_semicolonOrLinebreak_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_let__tmp_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_explicitUniv___closed__14; @@ -5457,9 +5469,9 @@ static lean_object* l_Lean_Parser_Term_generalizingParam___closed__9; static lean_object* l_Lean_Parser_Term_typeAscription___closed__13; static lean_object* l_Lean_Parser_Term_binrel___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_hole_parenthesizer__1___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__34; static lean_object* l___regBuiltin_Lean_Parser_Term_unop_formatter__1___closed__1; static lean_object* l_Lean_Parser_Termination_terminationBy_x3f_parenthesizer___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__53; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binrel__no__prop_parenthesizer__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder(uint8_t); static lean_object* l_Lean_Parser_Term_leftact_formatter___closed__2; @@ -5490,6 +5502,8 @@ static lean_object* l_Lean_Parser_Term_clear___closed__9; static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_matchExprAlts_formatter___closed__3; static lean_object* l_Lean_Parser_Term_attrInstance___closed__9; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__27; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__3; static lean_object* l_Lean_Parser_Term_ellipsis___closed__10; static lean_object* l_Lean_Parser_Term_typeAscription___closed__3; static lean_object* l_Lean_Parser_Term_withDeclName___closed__4; @@ -5658,7 +5672,6 @@ static lean_object* l_Lean_Parser_Term_motive_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_haveIdDecl_parenthesizer___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_pipeCompletion_declRange__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible__1(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__58; static lean_object* l_Lean_Parser_Term_explicit_formatter___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_letrec___closed__13; @@ -5686,7 +5699,6 @@ static lean_object* l_Lean_Parser_Term_waitIfTypeMVar_formatter___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letrec_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_argument___closed__5; static lean_object* l_Lean_Parser_Term_optEllipsis___closed__6; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__56; static lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_let__fun_declRange__1___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_typeAscription_declRange__1___closed__5; @@ -5747,6 +5759,7 @@ static lean_object* l_Lean_Parser_Term_waitIfTypeMVar___closed__12; static lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__8; static lean_object* l_Lean_Parser_Term_macroDollarArg_formatter___closed__1; static lean_object* l_Lean_Parser_Term_depArrow_formatter___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__31; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_docString__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Termination_suffix_docString__1___closed__2; @@ -5774,6 +5787,7 @@ static lean_object* l_Lean_Parser_Term_syntheticHole___closed__8; LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstField_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Command_commentBody___elambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_let__tmp_parenthesizer__1(lean_object*); +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__10; static lean_object* l_Lean_Parser_Term_letExpr_formatter___closed__9; static lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_declRange__1___closed__5; static lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented_parenthesizer___closed__2; @@ -5844,7 +5858,6 @@ static lean_object* l_Lean_Parser_Term_letMVar_formatter___closed__9; static lean_object* l_Lean_Parser_Term_clear___closed__4; static lean_object* l_Lean_Parser_Term_binderType___closed__4; lean_object* l_Lean_Parser_termParser(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__7; lean_object* l_Lean_PrettyPrinter_Parenthesizer_pushNone_parenthesizer___boxed(lean_object*); static lean_object* l_Lean_Parser_Term_clear_formatter___closed__5; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_formatter___closed__2; @@ -23266,6 +23279,136 @@ x_3 = l_Lean_Parser_Term_bracketedBinder(x_2); return x_3; } } +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("builtin_structInstFieldDecl_parser", 34, 34); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__1; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("structInstFieldDecl", 19, 19); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__4() { +_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_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__3; +x_4 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__3; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__7; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__5; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__8; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__6; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__10; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__7; +x_2 = l_Lean_Parser_Command_docComment___closed__1; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__8; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__9; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__10; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__16; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__12() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__11; +x_2 = lean_unsigned_to_nat(1921u); +x_3 = l_Lean_Name_num___override(x_1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921_(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; +x_2 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__2; +x_3 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__4; +x_4 = 0; +x_5 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__12; +x_6 = l_Lean_Parser_registerBuiltinParserAttribute(x_2, x_3, x_4, x_5, x_1); +return x_6; +} +} static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__1() { _start: { @@ -69144,7 +69287,7 @@ x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__1() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69154,7 +69297,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__2() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__2() { _start: { lean_object* x_1; lean_object* x_2; @@ -69164,7 +69307,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__3() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__3() { _start: { lean_object* x_1; lean_object* x_2; @@ -69174,7 +69317,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__4() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__4() { _start: { lean_object* x_1; lean_object* x_2; @@ -69184,7 +69327,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__5() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__5() { _start: { lean_object* x_1; lean_object* x_2; @@ -69194,7 +69337,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__6() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69204,7 +69347,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__7() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__7() { _start: { lean_object* x_1; lean_object* x_2; @@ -69214,7 +69357,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__8() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__8() { _start: { lean_object* x_1; lean_object* x_2; @@ -69224,7 +69367,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__9() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__9() { _start: { lean_object* x_1; lean_object* x_2; @@ -69234,7 +69377,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__10() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__10() { _start: { lean_object* x_1; lean_object* x_2; @@ -69244,7 +69387,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__11() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69254,7 +69397,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__12() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__12() { _start: { lean_object* x_1; lean_object* x_2; @@ -69264,7 +69407,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__13() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__13() { _start: { lean_object* x_1; lean_object* x_2; @@ -69274,7 +69417,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__14() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__14() { _start: { lean_object* x_1; lean_object* x_2; @@ -69284,7 +69427,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__15() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__15() { _start: { lean_object* x_1; lean_object* x_2; @@ -69294,7 +69437,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__16() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69304,7 +69447,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__17() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__17() { _start: { lean_object* x_1; lean_object* x_2; @@ -69314,7 +69457,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__18() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__18() { _start: { lean_object* x_1; lean_object* x_2; @@ -69324,7 +69467,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__19() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__19() { _start: { lean_object* x_1; lean_object* x_2; @@ -69334,7 +69477,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__20() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__20() { _start: { lean_object* x_1; lean_object* x_2; @@ -69344,7 +69487,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__21() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__21() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69354,7 +69497,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__22() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__22() { _start: { lean_object* x_1; lean_object* x_2; @@ -69364,7 +69507,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__23() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__23() { _start: { lean_object* x_1; lean_object* x_2; @@ -69374,7 +69517,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__24() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__24() { _start: { lean_object* x_1; lean_object* x_2; @@ -69384,7 +69527,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__25() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__25() { _start: { lean_object* x_1; lean_object* x_2; @@ -69394,7 +69537,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__26() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__26() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69404,7 +69547,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__27() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__27() { _start: { lean_object* x_1; lean_object* x_2; @@ -69414,7 +69557,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__28() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__28() { _start: { lean_object* x_1; lean_object* x_2; @@ -69424,7 +69567,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__29() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__29() { _start: { lean_object* x_1; lean_object* x_2; @@ -69434,7 +69577,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__30() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__30() { _start: { lean_object* x_1; lean_object* x_2; @@ -69444,7 +69587,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__31() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__31() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69454,7 +69597,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__32() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__32() { _start: { lean_object* x_1; lean_object* x_2; @@ -69464,7 +69607,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__33() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__33() { _start: { lean_object* x_1; lean_object* x_2; @@ -69474,7 +69617,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__34() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__34() { _start: { lean_object* x_1; lean_object* x_2; @@ -69484,7 +69627,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__35() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__35() { _start: { lean_object* x_1; lean_object* x_2; @@ -69494,7 +69637,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__36() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__36() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69504,7 +69647,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__37() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__37() { _start: { lean_object* x_1; lean_object* x_2; @@ -69514,7 +69657,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__38() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__38() { _start: { lean_object* x_1; lean_object* x_2; @@ -69524,7 +69667,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__39() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__39() { _start: { lean_object* x_1; lean_object* x_2; @@ -69534,7 +69677,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__40() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__40() { _start: { lean_object* x_1; lean_object* x_2; @@ -69544,7 +69687,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__41() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__41() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69554,7 +69697,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__42() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__42() { _start: { lean_object* x_1; lean_object* x_2; @@ -69564,7 +69707,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__43() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__43() { _start: { lean_object* x_1; lean_object* x_2; @@ -69574,7 +69717,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__44() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__44() { _start: { lean_object* x_1; lean_object* x_2; @@ -69584,7 +69727,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__45() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__45() { _start: { lean_object* x_1; lean_object* x_2; @@ -69594,7 +69737,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__46() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46() { _start: { lean_object* x_1; @@ -69602,29 +69745,29 @@ x_1 = lean_mk_string_unchecked("optSemicolon", 12, 12); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__47() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__47() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__46; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__48() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__46; +x_4 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__49() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__49() { _start: { lean_object* x_1; @@ -69632,27 +69775,27 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optSemicolon), 1, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__50() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__50() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__49; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__49; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__51() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__51() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__48; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__52() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__52() { _start: { lean_object* x_1; @@ -69660,17 +69803,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optSemicolon_formatter), 6, return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__53() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__53() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__52; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__52; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__54() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__54() { _start: { lean_object* x_1; @@ -69678,17 +69821,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optSemicolon_parenthesizer), return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__55() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__55() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__54; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__54; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__56() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__56() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69698,7 +69841,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__57() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__57() { _start: { lean_object* x_1; @@ -69706,17 +69849,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFields), 1, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__58() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__58() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__57; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__57; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__59() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__59() { _start: { lean_object* x_1; lean_object* x_2; @@ -69726,7 +69869,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__60() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__60() { _start: { lean_object* x_1; @@ -69734,17 +69877,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFields_formatter), return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__61() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__61() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__60; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__60; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__62() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__62() { _start: { lean_object* x_1; @@ -69752,24 +69895,24 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFields_parenthesiz return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__63() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__63() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__62; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__62; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__1; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__1; x_3 = l___regBuiltin_Lean_Parser_Term_letDecl_docString__1___closed__2; -x_4 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__2; -x_5 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__3; +x_4 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__2; +x_5 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__3; x_6 = l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__6; x_7 = l_Lean_Parser_registerAlias(x_2, x_3, x_4, x_5, x_6, x_1); if (lean_obj_tag(x_7) == 0) @@ -69779,7 +69922,7 @@ x_8 = lean_ctor_get(x_7, 1); lean_inc(x_8); lean_dec(x_7); x_9 = l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__9; -x_10 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__4; +x_10 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__4; x_11 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_2, x_10, x_8); if (lean_obj_tag(x_11) == 0) { @@ -69788,7 +69931,7 @@ x_12 = lean_ctor_get(x_11, 1); lean_inc(x_12); lean_dec(x_11); x_13 = l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__12; -x_14 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__5; +x_14 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__5; x_15 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_2, x_14, x_12); if (lean_obj_tag(x_15) == 0) { @@ -69796,10 +69939,10 @@ lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean x_16 = lean_ctor_get(x_15, 1); lean_inc(x_16); lean_dec(x_15); -x_17 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__6; +x_17 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__6; x_18 = l___regBuiltin_Lean_Parser_Term_haveDecl_docString__1___closed__2; -x_19 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__7; -x_20 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__8; +x_19 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__7; +x_20 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__8; x_21 = l_Lean_Parser_registerAlias(x_17, x_18, x_19, x_20, x_6, x_16); if (lean_obj_tag(x_21) == 0) { @@ -69807,7 +69950,7 @@ lean_object* x_22; lean_object* x_23; lean_object* x_24; x_22 = lean_ctor_get(x_21, 1); lean_inc(x_22); lean_dec(x_21); -x_23 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__9; +x_23 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__9; x_24 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_17, x_23, x_22); if (lean_obj_tag(x_24) == 0) { @@ -69815,7 +69958,7 @@ lean_object* x_25; lean_object* x_26; lean_object* x_27; x_25 = lean_ctor_get(x_24, 1); lean_inc(x_25); lean_dec(x_24); -x_26 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__10; +x_26 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__10; x_27 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_17, x_26, x_25); if (lean_obj_tag(x_27) == 0) { @@ -69823,10 +69966,10 @@ lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean x_28 = lean_ctor_get(x_27, 1); lean_inc(x_28); lean_dec(x_27); -x_29 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__11; +x_29 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__11; x_30 = l___regBuiltin_Lean_Parser_Term_sufficesDecl_docString__1___closed__2; -x_31 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__12; -x_32 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__13; +x_31 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__12; +x_32 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__13; x_33 = l_Lean_Parser_registerAlias(x_29, x_30, x_31, x_32, x_6, x_28); if (lean_obj_tag(x_33) == 0) { @@ -69834,7 +69977,7 @@ lean_object* x_34; lean_object* x_35; lean_object* x_36; x_34 = lean_ctor_get(x_33, 1); lean_inc(x_34); lean_dec(x_33); -x_35 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__14; +x_35 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__14; x_36 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_29, x_35, x_34); if (lean_obj_tag(x_36) == 0) { @@ -69842,7 +69985,7 @@ lean_object* x_37; lean_object* x_38; lean_object* x_39; x_37 = lean_ctor_get(x_36, 1); lean_inc(x_37); lean_dec(x_36); -x_38 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__15; +x_38 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__15; x_39 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_29, x_38, x_37); if (lean_obj_tag(x_39) == 0) { @@ -69850,10 +69993,10 @@ lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean x_40 = lean_ctor_get(x_39, 1); lean_inc(x_40); lean_dec(x_39); -x_41 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__16; +x_41 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__16; x_42 = l_Lean_Parser_Term_letRecDecls___closed__2; -x_43 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__17; -x_44 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__18; +x_43 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__17; +x_44 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__18; x_45 = l_Lean_Parser_registerAlias(x_41, x_42, x_43, x_44, x_6, x_40); if (lean_obj_tag(x_45) == 0) { @@ -69861,7 +70004,7 @@ lean_object* x_46; lean_object* x_47; lean_object* x_48; x_46 = lean_ctor_get(x_45, 1); lean_inc(x_46); lean_dec(x_45); -x_47 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__19; +x_47 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__19; x_48 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_41, x_47, x_46); if (lean_obj_tag(x_48) == 0) { @@ -69869,7 +70012,7 @@ lean_object* x_49; lean_object* x_50; lean_object* x_51; x_49 = lean_ctor_get(x_48, 1); lean_inc(x_49); lean_dec(x_48); -x_50 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__20; +x_50 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__20; x_51 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_41, x_50, x_49); if (lean_obj_tag(x_51) == 0) { @@ -69877,10 +70020,10 @@ lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean x_52 = lean_ctor_get(x_51, 1); lean_inc(x_52); lean_dec(x_51); -x_53 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__21; +x_53 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__21; x_54 = l_Lean_Parser_Term_hole___closed__2; -x_55 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__22; -x_56 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__23; +x_55 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__22; +x_56 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__23; x_57 = l_Lean_Parser_registerAlias(x_53, x_54, x_55, x_56, x_6, x_52); if (lean_obj_tag(x_57) == 0) { @@ -69888,7 +70031,7 @@ lean_object* x_58; lean_object* x_59; lean_object* x_60; x_58 = lean_ctor_get(x_57, 1); lean_inc(x_58); lean_dec(x_57); -x_59 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__24; +x_59 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__24; x_60 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_53, x_59, x_58); if (lean_obj_tag(x_60) == 0) { @@ -69896,7 +70039,7 @@ lean_object* x_61; lean_object* x_62; lean_object* x_63; x_61 = lean_ctor_get(x_60, 1); lean_inc(x_61); lean_dec(x_60); -x_62 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__25; +x_62 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__25; x_63 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_53, x_62, x_61); if (lean_obj_tag(x_63) == 0) { @@ -69904,10 +70047,10 @@ lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean x_64 = lean_ctor_get(x_63, 1); lean_inc(x_64); lean_dec(x_63); -x_65 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__26; +x_65 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__26; x_66 = l_Lean_Parser_Term_syntheticHole___closed__2; -x_67 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__27; -x_68 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__28; +x_67 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__27; +x_68 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__28; x_69 = l_Lean_Parser_registerAlias(x_65, x_66, x_67, x_68, x_6, x_64); if (lean_obj_tag(x_69) == 0) { @@ -69915,7 +70058,7 @@ lean_object* x_70; lean_object* x_71; lean_object* x_72; x_70 = lean_ctor_get(x_69, 1); lean_inc(x_70); lean_dec(x_69); -x_71 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__29; +x_71 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__29; x_72 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_65, x_71, x_70); if (lean_obj_tag(x_72) == 0) { @@ -69923,7 +70066,7 @@ lean_object* x_73; lean_object* x_74; lean_object* x_75; x_73 = lean_ctor_get(x_72, 1); lean_inc(x_73); lean_dec(x_72); -x_74 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__30; +x_74 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__30; x_75 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_65, x_74, x_73); if (lean_obj_tag(x_75) == 0) { @@ -69931,10 +70074,10 @@ lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean x_76 = lean_ctor_get(x_75, 1); lean_inc(x_76); lean_dec(x_75); -x_77 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__31; +x_77 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__31; x_78 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; -x_79 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__32; -x_80 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__33; +x_79 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__32; +x_80 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__33; x_81 = l_Lean_Parser_registerAlias(x_77, x_78, x_79, x_80, x_6, x_76); if (lean_obj_tag(x_81) == 0) { @@ -69942,7 +70085,7 @@ lean_object* x_82; lean_object* x_83; lean_object* x_84; x_82 = lean_ctor_get(x_81, 1); lean_inc(x_82); lean_dec(x_81); -x_83 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__34; +x_83 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__34; x_84 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_77, x_83, x_82); if (lean_obj_tag(x_84) == 0) { @@ -69950,7 +70093,7 @@ lean_object* x_85; lean_object* x_86; lean_object* x_87; x_85 = lean_ctor_get(x_84, 1); lean_inc(x_85); lean_dec(x_84); -x_86 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__35; +x_86 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__35; x_87 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_77, x_86, x_85); if (lean_obj_tag(x_87) == 0) { @@ -69958,10 +70101,10 @@ lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean x_88 = lean_ctor_get(x_87, 1); lean_inc(x_88); lean_dec(x_87); -x_89 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__36; +x_89 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__36; x_90 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__2; -x_91 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__37; -x_92 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__38; +x_91 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__37; +x_92 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__38; x_93 = l_Lean_Parser_registerAlias(x_89, x_90, x_91, x_92, x_6, x_88); if (lean_obj_tag(x_93) == 0) { @@ -69969,7 +70112,7 @@ lean_object* x_94; lean_object* x_95; lean_object* x_96; x_94 = lean_ctor_get(x_93, 1); lean_inc(x_94); lean_dec(x_93); -x_95 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__39; +x_95 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__39; x_96 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_89, x_95, x_94); if (lean_obj_tag(x_96) == 0) { @@ -69977,7 +70120,7 @@ lean_object* x_97; lean_object* x_98; lean_object* x_99; x_97 = lean_ctor_get(x_96, 1); lean_inc(x_97); lean_dec(x_96); -x_98 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__40; +x_98 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__40; x_99 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_89, x_98, x_97); if (lean_obj_tag(x_99) == 0) { @@ -69985,10 +70128,10 @@ lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; x_100 = lean_ctor_get(x_99, 1); lean_inc(x_100); lean_dec(x_99); -x_101 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__41; +x_101 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__41; x_102 = l___regBuiltin_Lean_Parser_Term_attrKind_docString__1___closed__2; -x_103 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__42; -x_104 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__43; +x_103 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__42; +x_104 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__43; x_105 = l_Lean_Parser_registerAlias(x_101, x_102, x_103, x_104, x_6, x_100); if (lean_obj_tag(x_105) == 0) { @@ -69996,7 +70139,7 @@ lean_object* x_106; lean_object* x_107; lean_object* x_108; x_106 = lean_ctor_get(x_105, 1); lean_inc(x_106); lean_dec(x_105); -x_107 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__44; +x_107 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__44; x_108 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_101, x_107, x_106); if (lean_obj_tag(x_108) == 0) { @@ -70004,7 +70147,7 @@ lean_object* x_109; lean_object* x_110; lean_object* x_111; x_109 = lean_ctor_get(x_108, 1); lean_inc(x_109); lean_dec(x_108); -x_110 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__45; +x_110 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__45; x_111 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_101, x_110, x_109); if (lean_obj_tag(x_111) == 0) { @@ -70012,10 +70155,10 @@ lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; x_112 = lean_ctor_get(x_111, 1); lean_inc(x_112); lean_dec(x_111); -x_113 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__47; -x_114 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__48; -x_115 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__50; -x_116 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__51; +x_113 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__47; +x_114 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48; +x_115 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__50; +x_116 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__51; x_117 = l_Lean_Parser_registerAlias(x_113, x_114, x_115, x_116, x_6, x_112); if (lean_obj_tag(x_117) == 0) { @@ -70023,7 +70166,7 @@ lean_object* x_118; lean_object* x_119; lean_object* x_120; x_118 = lean_ctor_get(x_117, 1); lean_inc(x_118); lean_dec(x_117); -x_119 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__53; +x_119 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__53; x_120 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_113, x_119, x_118); if (lean_obj_tag(x_120) == 0) { @@ -70031,7 +70174,7 @@ lean_object* x_121; lean_object* x_122; lean_object* x_123; x_121 = lean_ctor_get(x_120, 1); lean_inc(x_121); lean_dec(x_120); -x_122 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__55; +x_122 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__55; x_123 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_113, x_122, x_121); if (lean_obj_tag(x_123) == 0) { @@ -70039,10 +70182,10 @@ lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; x_124 = lean_ctor_get(x_123, 1); lean_inc(x_124); lean_dec(x_123); -x_125 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__56; +x_125 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__56; x_126 = l_Lean_Parser_Term_structInstFields___closed__2; -x_127 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__58; -x_128 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__59; +x_127 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__58; +x_128 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__59; x_129 = l_Lean_Parser_registerAlias(x_125, x_126, x_127, x_128, x_6, x_124); if (lean_obj_tag(x_129) == 0) { @@ -70050,7 +70193,7 @@ lean_object* x_130; lean_object* x_131; lean_object* x_132; x_130 = lean_ctor_get(x_129, 1); lean_inc(x_130); lean_dec(x_129); -x_131 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__61; +x_131 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__61; x_132 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_125, x_131, x_130); if (lean_obj_tag(x_132) == 0) { @@ -70058,7 +70201,7 @@ lean_object* x_133; lean_object* x_134; lean_object* x_135; x_133 = lean_ctor_get(x_132, 1); lean_inc(x_133); lean_dec(x_132); -x_134 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__63; +x_134 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__63; x_135 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_125, x_134, x_133); return x_135; } @@ -73865,7 +74008,34 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }l_Lean_Parser_Term_bracketedBinder___closed__1 = _init_l_Lean_Parser_Term_bracketedBinder___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_bracketedBinder___closed__1); -l_Lean_Parser_Term_depArrow___closed__1 = _init_l_Lean_Parser_Term_depArrow___closed__1(); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__1 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__1); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__2 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__2); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__3 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__3); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__4 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__4); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__5 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__5); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__6 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__6); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__7 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__7); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__8 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__8); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__9 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__9); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__10 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__10); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__11 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__11); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__12 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__12(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__12); +if (builtin) {res = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921_(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_depArrow___closed__1 = _init_l_Lean_Parser_Term_depArrow___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_depArrow___closed__1); l_Lean_Parser_Term_depArrow___closed__2 = _init_l_Lean_Parser_Term_depArrow___closed__2(); lean_mark_persistent(l_Lean_Parser_Term_depArrow___closed__2); @@ -81708,133 +81878,133 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Tactic_quotSeq_parenthesizer__1_ if (builtin) {res = l___regBuiltin_Lean_Parser_Tactic_quotSeq_parenthesizer__1(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -}l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__1(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__1); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__2(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__2); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__3(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__3); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__4(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__4); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__5 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__5(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__5); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__6 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__6(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__6); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__7 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__7(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__7); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__8 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__8(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__8); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__9 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__9(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__9); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__10 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__10(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__10); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__11 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__11(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__11); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__12 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__12(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__12); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__13 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__13(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__13); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__14 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__14(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__14); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__15 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__15(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__15); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__16 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__16(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__16); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__17 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__17(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__17); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__18 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__18(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__18); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__19 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__19(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__19); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__20 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__20(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__20); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__21 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__21(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__21); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__22 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__22(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__22); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__23 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__23(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__23); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__24 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__24(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__24); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__25 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__25(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__25); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__26 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__26(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__26); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__27 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__27(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__27); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__28 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__28(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__28); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__29 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__29(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__29); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__30 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__30(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__30); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__31 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__31(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__31); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__32 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__32(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__32); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__33 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__33(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__33); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__34 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__34(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__34); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__35 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__35(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__35); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__36 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__36(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__36); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__37 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__37(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__37); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__38 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__38(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__38); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__39 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__39(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__39); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__40 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__40(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__40); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__41 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__41(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__41); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__42 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__42(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__42); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__43 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__43(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__43); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__44 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__44(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__44); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__45 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__45(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__45); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__46 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__46(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__46); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__47 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__47(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__47); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__48 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__48(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__48); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__49 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__49(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__49); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__50 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__50(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__50); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__51 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__51(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__51); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__52 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__52(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__52); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__53 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__53(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__53); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__54 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__54(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__54); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__55 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__55(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__55); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__56 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__56(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__56); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__57 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__57(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__57); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__58 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__58(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__58); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__59 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__59(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__59); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__60 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__60(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__60); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__61 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__61(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__61); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__62 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__62(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__62); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__63 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__63(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379____closed__63); -if (builtin) {res = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5379_(lean_io_mk_world()); +}l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__1(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__1); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__2(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__2); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__3(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__3); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__4(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__4); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__5 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__5(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__5); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__6 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__6(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__6); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__7 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__7(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__7); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__8 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__8(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__8); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__9 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__9(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__9); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__10 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__10(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__10); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__11 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__11(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__11); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__12 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__12(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__12); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__13 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__13(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__13); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__14 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__14(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__14); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__15 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__15(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__15); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__16 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__16(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__16); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__17 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__17(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__17); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__18 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__18(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__18); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__19 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__19(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__19); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__20 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__20(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__20); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__21 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__21(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__21); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__22 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__22(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__22); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__23 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__23(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__23); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__24 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__24(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__24); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__25 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__25(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__25); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__26 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__26(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__26); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__27 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__27(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__27); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__28 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__28(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__28); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__29 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__29(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__29); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__30 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__30(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__30); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__31 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__31(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__31); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__32 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__32(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__32); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__33 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__33(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__33); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__34 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__34(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__34); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__35 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__35(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__35); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__36 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__36(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__36); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__37 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__37(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__37); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__38 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__38(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__38); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__39 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__39(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__39); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__40 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__40(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__40); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__41 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__41(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__41); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__42 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__42(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__42); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__43 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__43(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__43); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__44 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__44(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__44); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__45 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__45(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__45); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__47 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__47(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__47); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__49 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__49(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__49); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__50 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__50(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__50); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__51 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__51(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__51); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__52 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__52(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__52); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__53 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__53(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__53); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__54 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__54(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__54); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__55 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__55(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__55); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__56 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__56(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__56); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__57 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__57(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__57); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__58 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__58(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__58); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__59 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__59(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__59); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__60 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__60(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__60); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__61 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__61(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__61); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__62 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__62(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__62); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__63 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__63(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__63); +if (builtin) {res = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }return lean_io_result_mk_ok(lean_box(0)); From a1c3a36433f74257a2a332b3e0b2a6f6631a9713 Mon Sep 17 00:00:00 2001 From: Kyle Miller Date: Sat, 30 Nov 2024 12:27:25 -0800 Subject: [PATCH 03/24] feat: parity between structure instance notation and `where` notation (#6165) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR modifies structure instance notation and `where` notation to use the same notation for fields. Structure instance notation now admits binders, type ascriptions, and equations, and `where` notation admits full structure lvals. Examples of these for structure instance notation: ```lean structure PosFun where f : Nat → Nat pos : ∀ n, 0 < f n def p : PosFun := { f n := n + 1 pos := by simp } def p' : PosFun := { f | 0 => 1 | n + 1 => n + 1 pos := by rintro (_|_) <;> simp } ``` Just like for the structure `where` notation, a field `f x y z : ty := val` expands to `f := fun x y z => (val : ty)`. The type ascription is optional. The PR also is setting things up for future expansion. Pending some discussion, in the future structure/`where` notation could have have embedded `where` clauses; rather than `{ a := { x := 1, y := z } }` one could write `{ a where x := 1; y := z }`. --- src/Init/Notation.lean | 3 +- src/Lean/Elab/MutualDef.lean | 77 ++++----- src/Lean/Elab/PatternVar.lean | 15 +- src/Lean/Elab/StructInst.lean | 135 +++++++++++---- src/Lean/Linter/UnusedVariables.lean | 2 +- src/Lean/Parser/Command.lean | 4 +- src/Lean/Parser/Term.lean | 89 +++++----- .../PrettyPrinter/Delaborator/Builtins.lean | 6 +- stage0/src/stdlib_flags.h | 2 +- tests/lean/StxQuot.lean | 2 +- tests/lean/StxQuot.lean.expected.out | 4 +- tests/lean/run/3807.lean | 2 - tests/lean/run/structInst.lean | 161 +++++++++++++----- 13 files changed, 328 insertions(+), 174 deletions(-) diff --git a/src/Init/Notation.lean b/src/Init/Notation.lean index 402b762cb995..b37ce7494a93 100644 --- a/src/Init/Notation.lean +++ b/src/Init/Notation.lean @@ -49,8 +49,7 @@ For example, `let x ← e` is a `doElem`, and a `do` block consists of a list of def doElem : Category := {} /-- `structInstFieldDecl` is the syntax category for value declarations for fields in structure instance notation. -For example, the `:= 1` and `where a := 3` in `{ x := 1, y where a := 3 }` are in the `structInstFieldDecl` class. -This category is necessary because structure instance notation is recursive due to the `x where ...` field notation. -/ +For example, the `:= 1` and `| 0 => 0 | n + 1 => n` in `{ x := 1, f | 0 => 0 | n + 1 => n }` are in the `structInstFieldDecl` class. -/ def structInstFieldDecl : Category := {} /-- `level` is a builtin syntax category for universe levels. diff --git a/src/Lean/Elab/MutualDef.lean b/src/Lean/Elab/MutualDef.lean index c345959a64e4..a74287fa04ca 100644 --- a/src/Lean/Elab/MutualDef.lean +++ b/src/Lean/Elab/MutualDef.lean @@ -282,52 +282,37 @@ private partial def withFunLocalDecls {α} (headers : Array DefViewElabHeader) ( k fvars loop 0 #[] -private def expandWhereStructInst : Macro - | whereStx@`(Parser.Command.whereStructInst|where%$whereTk $[$decls:letDecl];* $[$whereDecls?:whereDecls]?) => do - let letIdDecls ← decls.mapM fun stx => match stx with - | `(letDecl|$_decl:letPatDecl) => Macro.throwErrorAt stx "patterns are not allowed here" - | `(letDecl|$decl:letEqnsDecl) => expandLetEqnsDecl decl (useExplicit := false) - | `(letDecl|$decl:letIdDecl) => pure decl - | _ => Macro.throwUnsupported - let structInstFields ← letIdDecls.mapM fun - | stx@`(letIdDecl|$id:ident $binders* $[: $ty?]? := $val) => withRef stx do - let mut val := val - if let some ty := ty? then - val ← `(($val : $ty)) - -- HACK: this produces invalid syntax, but the fun elaborator supports letIdBinders as well - have : Coe (TSyntax ``letIdBinder) (TSyntax ``funBinder) := ⟨(⟨·⟩)⟩ - val ← if binders.size > 0 then `(fun $binders* => $val) else pure val - `(structInstField|$id:ident := $val) - | stx@`(letIdDecl|_ $_* $[: $_]? := $_) => Macro.throwErrorAt stx "'_' is not allowed here" - | _ => Macro.throwUnsupported - - let startOfStructureTkInfo : SourceInfo := - match whereTk.getPos? with - | some pos => .synthetic pos ⟨pos.byteIdx + 1⟩ true - | none => .none - -- Position the closing `}` at the end of the trailing whitespace of `where $[$_:letDecl];*`. - -- We need an accurate range of the generated structure instance in the generated `TermInfo` - -- so that we can determine the expected type in structure field completion. - let structureStxTailInfo := - whereStx[1].getTailInfo? - <|> whereStx[0].getTailInfo? - let endOfStructureTkInfo : SourceInfo := - match structureStxTailInfo with - | some (SourceInfo.original _ _ trailing _) => - let tokenPos := trailing.str.prev trailing.stopPos - let tokenEndPos := trailing.stopPos - .synthetic tokenPos tokenEndPos true - | _ => .none - - let body ← `(structInst| { $structInstFields,* }) - let body := body.raw.setInfo <| - match startOfStructureTkInfo.getPos?, endOfStructureTkInfo.getTailPos? with - | some startPos, some endPos => .synthetic startPos endPos true - | _, _ => .none - match whereDecls? with - | some whereDecls => expandWhereDecls whereDecls body - | none => return body - | _ => Macro.throwUnsupported +private def expandWhereStructInst : Macro := fun whereStx => do + let whereTk := whereStx[0] + let structInstFields : TSyntaxArray ``Parser.Term.structInstField := .mk whereStx[1][0].getSepArgs + let whereDecls? := whereStx[2].getOptional? + + let startOfStructureTkInfo : SourceInfo := + match whereTk.getPos? with + | some pos => .synthetic pos ⟨pos.byteIdx + 1⟩ true + | none => .none + -- Position the closing `}` at the end of the trailing whitespace of `where $[$_:letDecl];*`. + -- We need an accurate range of the generated structure instance in the generated `TermInfo` + -- so that we can determine the expected type in structure field completion. + let structureStxTailInfo := + whereStx[1].getTailInfo? + <|> whereStx[0].getTailInfo? + let endOfStructureTkInfo : SourceInfo := + match structureStxTailInfo with + | some (SourceInfo.original _ _ trailing _) => + let tokenPos := trailing.str.prev trailing.stopPos + let tokenEndPos := trailing.stopPos + .synthetic tokenPos tokenEndPos true + | _ => .none + + let body ← `(structInst| { $structInstFields,* }) + let body := body.raw.setInfo <| + match startOfStructureTkInfo.getPos?, endOfStructureTkInfo.getTailPos? with + | some startPos, some endPos => .synthetic startPos endPos true + | _, _ => .none + match whereDecls? with + | some whereDecls => expandWhereDecls whereDecls body + | none => return body /- Recall that diff --git a/src/Lean/Elab/PatternVar.lean b/src/Lean/Elab/PatternVar.lean index 75ee2565a430..5736f39f92ba 100644 --- a/src/Lean/Elab/PatternVar.lean +++ b/src/Lean/Elab/PatternVar.lean @@ -261,11 +261,16 @@ partial def collect (stx : Syntax) : M Syntax := withRef stx <| withFreshMacroSc | `({ $[$srcs?,* with]? $fields,* $[..%$ell?]? $[: $ty?]? }) => if let some srcs := srcs? then throwErrorAt (mkNullNode srcs) "invalid struct instance pattern, 'with' is not allowed in patterns" - let fields ← fields.getElems.mapM fun - | `(Parser.Term.structInstField| $lval:structInstLVal := $val) => do - let newVal ← collect val - `(Parser.Term.structInstField| $lval:structInstLVal := $newVal) - | _ => throwInvalidPattern -- `structInstFieldAbbrev` should be expanded at this point + -- TODO(kmill) restore this + -- let fields ← fields.getElems.mapM fun + -- | `(Parser.Term.structInstField| $lval:structInstLVal := $val) => do + -- let newVal ← collect val + -- `(Parser.Term.structInstField| $lval:structInstLVal := $newVal) + -- | _ => throwInvalidPattern -- `structInstFieldAbbrev` should be expanded at this point + let fields ← fields.getElems.mapM fun field => do + let field := field.raw + let val ← collect field[1][2][1] + pure <| field.setArg 1 <| field[1].setArg 2 <| field[1][2].setArg 1 val `({ $[$srcs?,* with]? $fields,* $[..%$ell?]? $[: $ty?]? }) | _ => throwInvalidPattern diff --git a/src/Lean/Elab/StructInst.lean b/src/Lean/Elab/StructInst.lean index 2776bde5fcd5..77fd8fa0d611 100644 --- a/src/Lean/Elab/StructInst.lean +++ b/src/Lean/Elab/StructInst.lean @@ -31,13 +31,32 @@ open Meta open TSyntax.Compat /-! -Recall that structure instances are of the form: -``` -"{" >> optional (atomic (sepBy1 termParser ", " >> " with ")) - >> manyIndent (group ((structInstFieldAbbrev <|> structInstField) >> optional ", ")) +Recall that structure instances are (after removing parsing and pretty printing hints): + +```lean +def structInst := leading_parser + "{ " >> optional (sepBy1 termParser ", " >> " with ") + >> structInstFields (sepByIndent structInstField ", " (allowTrailingSep := true)) >> optEllipsis - >> optional (" : " >> termParser) - >> " }" + >> optional (" : " >> termParser) >> " }" + +def structInstField := leading_parser + structInstLVal >> optional (many structInstFieldBinder >> optType >> structInstFieldDecl) + +@[builtin_structInstFieldDecl_parser] +def structInstFieldDef := leading_parser + " := " >> termParser + +@[builtin_structInstFieldDecl_parser] +def structInstFieldEqns := leading_parser + matchAlts + +def structInstWhereBody := leading_parser + structInstFields (sepByIndent structInstField "; " (allowTrailingSep := true)) + +@[builtin_structInstFieldDecl_parser] +def structInstFieldWhere := leading_parser + "where" >> structInstWhereBody ``` -/ @@ -54,21 +73,74 @@ Structure instance notation makes use of the expected type. let stxNew := stx.setArg 4 mkNullNode `(($stxNew : $expected)) +def mkStructInstField (lval : TSyntax ``Parser.Term.structInstLVal) (binders : TSyntaxArray ``Parser.Term.structInstFieldBinder) + (type? : Option Term) (val : Term) : MacroM Term := do + let mut val := val + if let some type := type? then + val ← `(($val : $type)) + if !binders.isEmpty then + -- HACK: this produces invalid syntax, but the fun elaborator supports structInstFieldBinder as well + val ← `(fun $binders* => $val) +-- `(Parser.Term.structInstField| $lval := $val) + return mkNode ``Parser.Term.structInstField + #[lval, mkNullNode #[mkNullNode, mkNullNode, mkNode ``Parser.Term.structInstFieldDef #[mkAtom " := ", val]]] + /-- -Expands field abbreviation notation. -Example: `{ x, y := 0 }` expands to `{ x := x, y := 0 }`. +Takes an arbitrary `structInstField` and expands it to be a `structInstFieldDef` without any binders or type ascription. -/ -@[builtin_macro Lean.Parser.Term.structInst] def expandStructInstFieldAbbrev : Macro - | `({ $[$srcs,* with]? $fields,* $[..%$ell]? $[: $ty]? }) => - if fields.getElems.raw.any (·.getKind == ``Lean.Parser.Term.structInstFieldAbbrev) then do - let fieldsNew ← fields.getElems.mapM fun - | `(Parser.Term.structInstFieldAbbrev| $id:ident) => - `(Parser.Term.structInstField| $id:ident := $id:ident) - | field => return field - `({ $[$srcs,* with]? $fieldsNew,* $[..%$ell]? $[: $ty]? }) +private def expandStructInstField (stx : Syntax) : MacroM (Option Syntax) := withRef stx do + if stx.isOfKind `Lean.Parser.Term.structInstField && stx.getNumArgs == 3 then + -- old syntax + let lval : TSyntax ``Parser.Term.structInstLVal := stx[0] + let val : Term := stx[2] + mkStructInstField lval #[] none val + else if stx.isOfKind `Lean.Parser.Term.structInstFieldAbbrev then + -- old syntax + let id : Ident := stx[0] + let lval ← `(Parser.Term.structInstLVal| $id:ident) + mkStructInstField lval #[] none id + else if stx.isOfKind ``Parser.Term.structInstField then + let lval := stx[0] + if stx[1].getNumArgs > 0 then + let binders := stx[1][0].getArgs + let ty? := match stx[1][1] with | `(Parser.Term.optTypeForStructInst| $[: $ty?]?) => ty? | _ => none + let decl := stx[1][2] + match decl with + | `(Parser.Term.structInstFieldDef| := $val) => + if binders.isEmpty && ty?.isNone then + return none + else + mkStructInstField lval binders ty? val + | `(Parser.Term.structInstFieldEqns| $alts:matchAlts) => + let val ← expandMatchAltsIntoMatch stx alts (useExplicit := false) + mkStructInstField lval binders ty? val + | _ => Macro.throwUnsupported else - Macro.throwUnsupported - | _ => Macro.throwUnsupported + -- Abbreviation + match lval with + | `(Parser.Term.structInstLVal| $id:ident) => + mkStructInstField lval #[] none id + | _ => + Macro.throwErrorAt lval "unsupported structure instance field abbreviation, expecting identifier" + else + Macro.throwUnsupported + +/-- +Expands fields. +* Abbrevations. Example: `{ x }` expands to `{ x := x }`. +* Equations. Example: `{ f | 0 => 0 | n + 1 => n }` expands to `{ f := fun x => match x with | 0 => 0 | n + 1 => n }`. +* `where`. Example: `{ s where x := 1 }` expands to `{ s := { x := 1 }}`. +* Binders and types. Example: `{ f n : Nat := n + 1 }` expands to `{ f := fun n => (n + 1 : Nat) }`. +-/ +@[builtin_macro Lean.Parser.Term.structInst] def expandStructInstFields : Macro | stx => do + let structInstFields := stx[2] + let fields := structInstFields[0].getSepArgs + let fields? ← fields.mapM expandStructInstField + if fields?.all (·.isNone) then + Macro.throwUnsupported + let fields := fields?.zipWith fields Option.getD + let structInstFields := structInstFields.setArg 0 <| Syntax.mkSep fields (mkAtomFrom stx ", ") + return stx.setArg 2 structInstFields /-- If `stx` is of the form `{ s₁, ..., sₙ with ... }` and `sᵢ` is not a local variable, @@ -187,12 +259,13 @@ def structInstArrayRef := leading_parser "[" >> termParser >>"]" -/ private def isModifyOp? (stx : Syntax) : TermElabM (Option Syntax) := do let s? ← stx[2][0].getSepArgs.foldlM (init := none) fun s? arg => do - /- arg is of the form `structInstFieldAbbrev <|> structInstField` -/ - if arg.getKind == ``Lean.Parser.Term.structInstField then - /- Remark: the syntax for `structInstField` is + /- arg is of the form `structInstField`. It should be macro expanded at this point, but we make sure it's the case. -/ + if arg[1][2].getKind == ``Lean.Parser.Term.structInstFieldDef then + /- Remark: the syntax for `structInstField` after macro expansion is ``` def structInstLVal := leading_parser (ident <|> numLit <|> structInstArrayRef) >> many (group ("." >> (ident <|> numLit)) <|> structInstArrayRef) - def structInstField := leading_parser structInstLVal >> " := " >> termParser + def structInstFieldDef := leading_parser + structInstLVal >> group (null >> null >> group (" := " >> termParser)) ``` -/ let lval := arg[0] @@ -235,7 +308,7 @@ private def elabModifyOp (stx modifyOp : Syntax) (sources : Array ExplicitSource withMacroExpansion stx stxNew <| elabTerm stxNew expectedType? let rest := modifyOp[0][1] if rest.isNone then - cont modifyOp[2] + cont modifyOp[1][2][1] else let s ← `(s) let valFirst := rest[0] @@ -412,7 +485,7 @@ Converts a `Field StructInstView` back into syntax. Used to construct synthetic private def Field.toSyntax : Field → Syntax | field => let stx := field.ref - let stx := stx.setArg 2 field.val.toSyntax + let stx := stx.setArg 1 <| stx[1].setArg 2 <| stx[1][2].setArg 1 field.val.toSyntax match field.lhs with | first::rest => stx.setArg 0 <| mkNullNode #[first.toSyntax true, mkNullNode <| rest.toArray.map (FieldLHS.toSyntax false) ] | _ => unreachable! @@ -428,7 +501,7 @@ private def toFieldLHS (stx : Syntax) : MacroM FieldLHS := return FieldLHS.fieldName stx stx.getId.eraseMacroScopes else match stx.isFieldIdx? with | some idx => return FieldLHS.fieldIndex stx idx - | none => Macro.throwError "unexpected structure syntax" + | none => Macro.throwErrorAt stx "unexpected structure syntax" /-- Creates a structure instance view from structure instance notation @@ -439,16 +512,20 @@ private def mkStructView (stx : Syntax) (structName : Name) (sources : SourcesVi /- Recall that `stx` is of the form ``` leading_parser "{" >> optional (atomic (sepBy1 termParser ", " >> " with ")) - >> structInstFields (sepByIndent (structInstFieldAbbrev <|> structInstField) ...) + >> structInstFields (sepByIndent structInstField ...) >> optional ".." >> optional (" : " >> termParser) >> " }" ``` - - This method assumes that `structInstFieldAbbrev` had already been expanded. + This method assumes that `structInstField` had already been expanded by the macro `expandStructInstFields` + and is of the form + ``` + def structInstFieldDef := leading_parser + structInstLVal >> group (null >> null >> group (" := " >> termParser)) + ``` -/ let fields ← stx[2][0].getSepArgs.toList.mapM fun fieldStx => do - let val := fieldStx[2] + let val := fieldStx[1][2][1] let first ← toFieldLHS fieldStx[0][0] let rest ← fieldStx[0][1].getArgs.toList.mapM toFieldLHS return { ref := fieldStx, lhs := first :: rest, val := FieldVal.term val : Field } diff --git a/src/Lean/Linter/UnusedVariables.lean b/src/Lean/Linter/UnusedVariables.lean index 74bcb7260e5b..7d7abe40bbe9 100644 --- a/src/Lean/Linter/UnusedVariables.lean +++ b/src/Lean/Linter/UnusedVariables.lean @@ -248,7 +248,7 @@ builtin_initialize addBuiltinUnusedVariablesIgnoreFn (fun _ stack opts => !getLinterUnusedVariablesFunArgs opts && stack.matches [`null, none, `null, ``Lean.Parser.Term.letIdDecl, none] && (stack.get? 3 |>.any fun (_, pos) => pos == 1) && - (stack.get? 5 |>.any fun (stx, _) => !stx.isOfKind ``Lean.Parser.Command.whereStructField)) + (stack.get? 5 |>.any fun (stx, _) => !stx.isOfKind ``Lean.Parser.Term.structInstField)) /-- Function argument in declaration signature (when `linter.unusedVariables.funArgs` is false) diff --git a/src/Lean/Parser/Command.lean b/src/Lean/Parser/Command.lean index 825cab538e04..73a94a5b0fae 100644 --- a/src/Lean/Parser/Command.lean +++ b/src/Lean/Parser/Command.lean @@ -134,10 +134,8 @@ def declValSimple := leading_parser " :=" >> ppHardLineUnlessUngrouped >> declBody >> Termination.suffix >> optional Term.whereDecls def declValEqns := leading_parser Term.matchAltsWhereDecls -def whereStructField := leading_parser - Term.letDecl def whereStructInst := leading_parser - ppIndent ppSpace >> "where" >> Term.structInstFields (sepByIndent (ppGroup whereStructField) "; " (allowTrailingSep := true)) >> + ppIndent ppSpace >> "where" >> Term.structInstFields (sepByIndent Term.structInstField "; " (allowTrailingSep := true)) >> optional Term.whereDecls /-- `declVal` matches the right-hand side of a declaration, one of: * `:= expr` (a "simple declaration") diff --git a/src/Lean/Parser/Term.lean b/src/Lean/Parser/Term.lean index 8cf659a87420..2cad961e35f3 100644 --- a/src/Lean/Parser/Term.lean +++ b/src/Lean/Parser/Term.lean @@ -269,38 +269,6 @@ an optional `x :`, then a term `ty`, then `from val` or `by tac`. -/ @[builtin_term_parser] def «suffices» := leading_parser:leadPrec withPosition ("suffices " >> sufficesDecl) >> optSemicolon termParser @[builtin_term_parser] def «show» := leading_parser:leadPrec "show " >> termParser >> ppSpace >> showRhs -def structInstArrayRef := leading_parser - "[" >> withoutPosition termParser >> "]" -def structInstLVal := leading_parser - (ident <|> fieldIdx <|> structInstArrayRef) >> - many (group ("." >> (ident <|> fieldIdx)) <|> structInstArrayRef) -def structInstField := ppGroup $ leading_parser - structInstLVal >> " := " >> termParser -def structInstFieldAbbrev := leading_parser - -- `x` is an abbreviation for `x := x` - atomic (ident >> notFollowedBy ("." <|> ":=" <|> symbol "[") "invalid field abbreviation") -def optEllipsis := leading_parser - optional " .." -/- -Tags the structure instance field syntax with a `Lean.Parser.Term.structInstFields` syntax node. -This node is used to enable structure instance field completion in the whitespace -of a structure instance notation. --/ -def structInstFields (p : Parser) : Parser := node `Lean.Parser.Term.structInstFields p -/-- -Structure instance. `{ x := e, ... }` assigns `e` to field `x`, which may be -inherited. If `e` is itself a variable called `x`, it can be elided: -`fun y => { x := 1, y }`. -A *structure update* of an existing value can be given via `with`: -`{ point with x := 1 }`. -The structure type can be specified if not inferable: -`{ x := 1, y := 2 : Point }`. --/ -@[builtin_term_parser] def structInst := leading_parser - "{ " >> withoutPosition (optional (atomic (sepBy1 termParser ", " >> " with ")) - >> structInstFields (sepByIndent (structInstFieldAbbrev <|> structInstField) ", " (allowTrailingSep := true)) - >> optEllipsis - >> optional (" : " >> termParser)) >> " }" def typeSpec := leading_parser " : " >> termParser def optType : Parser := optional typeSpec /-- @@ -387,13 +355,6 @@ use `(_)` to inhibit this and have it be solved for by unification instead, like explicitBinder requireType <|> strictImplicitBinder requireType <|> implicitBinder requireType <|> instBinder -/- -Syntax category for structure instance notation fields. -Does not initialize `registerBuiltinDynamicParserAttribute` since this category is not meant to be user-extensible. --/ -builtin_initialize - registerBuiltinParserAttribute `builtin_structInstFieldDecl_parser ``Category.structInstFieldDecl - /- It is feasible to support dependent arrows such as `{α} → α → α` without sacrificing the quality of the error messages for the longer case. `{α} → α → α` would be short for `{α : Type} → α → α` @@ -495,6 +456,56 @@ e.g. because it has no constructors. @[builtin_term_parser] def «nofun» := leading_parser "nofun" +/- +Syntax category for structure instance notation fields. +Does not initialize `registerBuiltinDynamicParserAttribute` since this category is not meant to be user-extensible. +-/ +builtin_initialize + registerBuiltinParserAttribute `builtin_structInstFieldDecl_parser ``Category.structInstFieldDecl +@[inline] def structInstFieldDeclParser (rbp : Nat := 0) : Parser := + categoryParser `structInstFieldDecl rbp +def optEllipsis := leading_parser + optional " .." +def structInstArrayRef := leading_parser + "[" >> withoutPosition termParser >> "]" +def structInstLVal := leading_parser + (ident <|> fieldIdx <|> structInstArrayRef) >> + many (group ("." >> (ident <|> fieldIdx)) <|> structInstArrayRef) +def structInstFieldBinder := + withAntiquot (mkAntiquot "structInstFieldBinder" decl_name% (isPseudoKind := true)) <| + binderIdent <|> bracketedBinder +def optTypeForStructInst : Parser := optional (atomic (typeSpec >> notFollowedBy "}" "}")) +/- `x` is an abbreviation for `x := x` -/ +def structInstField := ppGroup <| leading_parser + structInstLVal >> optional (many (checkColGt >> structInstFieldBinder) >> optTypeForStructInst >> ppDedent structInstFieldDeclParser) +/- +Tags the structure instance field syntax with a `Lean.Parser.Term.structInstFields` syntax node. +This node is used to enable structure instance field completion in the whitespace +of a structure instance notation. +-/ +def structInstFields (p : Parser) : Parser := node `Lean.Parser.Term.structInstFields p +/-- +Structure instance. `{ x := e, ... }` assigns `e` to field `x`, which may be +inherited. If `e` is itself a variable called `x`, it can be elided: +`fun y => { x := 1, y }`. +A *structure update* of an existing value can be given via `with`: +`{ point with x := 1 }`. +The structure type can be specified if not inferable: +`{ x := 1, y := 2 : Point }`. +-/ +@[builtin_term_parser] def structInst := leading_parser + "{ " >> withoutPosition (optional (atomic (sepBy1 termParser ", " >> " with ")) + >> structInstFields (sepByIndent structInstField ", " (allowTrailingSep := true)) + >> optEllipsis + >> optional (" : " >> termParser)) >> " }" + +@[builtin_structInstFieldDecl_parser] +def structInstFieldDef := leading_parser + " := " >> termParser +@[builtin_structInstFieldDecl_parser] +def structInstFieldEqns := leading_parser + matchAlts + def funImplicitBinder := withAntiquot (mkAntiquot "implicitBinder" ``implicitBinder) <| atomic (lookahead ("{" >> many1 binderIdent >> (symbol " : " <|> "}"))) >> implicitBinder def funStrictImplicitBinder := diff --git a/src/Lean/PrettyPrinter/Delaborator/Builtins.lean b/src/Lean/PrettyPrinter/Delaborator/Builtins.lean index 56f91ee8c1d7..abb766f49594 100644 --- a/src/Lean/PrettyPrinter/Delaborator/Builtins.lean +++ b/src/Lean/PrettyPrinter/Delaborator/Builtins.lean @@ -238,7 +238,11 @@ def unexpandStructureInstance (stx : Syntax) : Delab := whenPPOption getPPStruct let fieldPos ← nextExtraPos let fieldId := annotatePos fieldPos fieldId addFieldInfo fieldPos (s.induct ++ fieldName) fieldName fieldId fieldVals[idx]! - let field ← `(structInstField|$fieldId:ident := $(stx[1][idx])) + -- TODO(kmill) restore this +-- let field ← `(structInstField|$fieldId:ident := $(stx[1][idx])) + let lval ← `(structInstLVal| $fieldId:ident) + let field := mkNode ``Parser.Term.structInstField + #[lval, mkNullNode #[mkNullNode, mkNullNode, mkNode ``Parser.Term.structInstFieldDef #[mkAtom " := ", stx[1][idx]]]] fields := fields.push field let tyStx ← withType do if (← getPPOption getPPStructureInstanceType) then delab >>= pure ∘ some else pure none diff --git a/stage0/src/stdlib_flags.h b/stage0/src/stdlib_flags.h index 90b8f24cbc3d..e3a7672d2d48 100644 --- a/stage0/src/stdlib_flags.h +++ b/stage0/src/stdlib_flags.h @@ -10,7 +10,7 @@ options get_default_options() { opts = opts.update({"debug", "byAsSorry"}, false); // switch to `true` for ABI-breaking changes affecting meta code; // see also next option! - opts = opts.update({"interpreter", "prefer_native"}, false); + opts = opts.update({"interpreter", "prefer_native"}, true); // switch to `false` when enabling `prefer_native` should also affect use // of built-in parsers in quotations; this is usually the case, but setting // both to `true` may be necessary for handling non-builtin parsers with diff --git a/tests/lean/StxQuot.lean b/tests/lean/StxQuot.lean index 501aae5c4c3a..6c3d06351091 100644 --- a/tests/lean/StxQuot.lean +++ b/tests/lean/StxQuot.lean @@ -70,7 +70,7 @@ def f' (stx : Syntax) : Unhygienic Syntax := match stx with open Parser.Term in #eval run do match ← `(structInstField|a := b) with - | `(Parser.Term.structInstField| $lhs:ident := $rhs) => pure #[lhs.raw, rhs] + | `(structInstField| $lhs:ident := $rhs) => pure #[lhs.raw, rhs] | _ => unreachable! #eval run do diff --git a/tests/lean/StxQuot.lean.expected.out b/tests/lean/StxQuot.lean.expected.out index ec84ae2af231..407a4cd4d320 100644 --- a/tests/lean/StxQuot.lean.expected.out +++ b/tests/lean/StxQuot.lean.expected.out @@ -32,8 +32,8 @@ StxQuot.lean:19:15-19:16: error: unexpected token ']'; expected term "`a._@.UnhygienicMain._hyg.1" "(Term.explicitUniv `a._@.UnhygienicMain._hyg.1 \".{\" [(num \"0\")] \"}\")" "#[(Term.matchAlt \"|\" [[`a._@.UnhygienicMain._hyg.1]] \"=>\" (num \"1\")), (Term.matchAlt \"|\" [[(Term.hole \"_\")]] \"=>\" (num \"2\"))]" -"(Term.structInst\n \"{\"\n []\n (Term.structInstFields\n [(Term.structInstField (Term.structInstLVal `a._@.UnhygienicMain._hyg.1 []) \":=\" `a._@.UnhygienicMain._hyg.1)])\n (Term.optEllipsis [])\n [\":\" `a._@.UnhygienicMain._hyg.1]\n \"}\")" -"(Term.structInst\n \"{\"\n []\n (Term.structInstFields\n [(Term.structInstField (Term.structInstLVal `a._@.UnhygienicMain._hyg.1 []) \":=\" `a._@.UnhygienicMain._hyg.1)])\n (Term.optEllipsis [])\n []\n \"}\")" +"(Term.structInst\n \"{\"\n []\n (Term.structInstFields\n [(Term.structInstField\n (Term.structInstLVal `a._@.UnhygienicMain._hyg.1 [])\n [[] [] (Term.structInstFieldDef \":=\" `a._@.UnhygienicMain._hyg.1)])])\n (Term.optEllipsis [])\n [\":\" `a._@.UnhygienicMain._hyg.1]\n \"}\")" +"(Term.structInst\n \"{\"\n []\n (Term.structInstFields\n [(Term.structInstField\n (Term.structInstLVal `a._@.UnhygienicMain._hyg.1 [])\n [[] [] (Term.structInstFieldDef \":=\" `a._@.UnhygienicMain._hyg.1)])])\n (Term.optEllipsis [])\n []\n \"}\")" "(Command.section \"section\" [])" "(Command.section \"section\" [`foo._@.UnhygienicMain._hyg.1])" "(Term.match\n \"match\"\n []\n []\n [(Term.matchDiscr [] `a._@.UnhygienicMain._hyg.1)]\n \"with\"\n (Term.matchAlts\n [(Term.matchAlt \"|\" [[`a._@.UnhygienicMain._hyg.1]] \"=>\" `b._@.UnhygienicMain._hyg.1)\n (Term.matchAlt\n \"|\"\n [[(«term_+_» `a._@.UnhygienicMain._hyg.1 \"+\" (num \"1\"))]]\n \"=>\"\n («term_+_» `b._@.UnhygienicMain._hyg.1 \"+\" (num \"1\")))]))" diff --git a/tests/lean/run/3807.lean b/tests/lean/run/3807.lean index 7447a7d2b80c..2d89e9d91282 100644 --- a/tests/lean/run/3807.lean +++ b/tests/lean/run/3807.lean @@ -54,8 +54,6 @@ macro_rules spreads := spreads.push arg else newFields := newFields.push field - | `(structInstFieldAbbrev| $_:ident) => - newFields := newFields.push field | _ => throwUnsupported diff --git a/tests/lean/run/structInst.lean b/tests/lean/run/structInst.lean index 8d1ec21983b7..18ec2625db4e 100644 --- a/tests/lean/run/structInst.lean +++ b/tests/lean/run/structInst.lean @@ -1,81 +1,158 @@ - +/-! +# Tests for structure instance notation +-/ namespace Ex1 -structure A := +structure A where (x : Nat) -structure B extends A := +structure B extends A where (y : Nat := x + 2) (x := y + 1) -structure C extends B := +structure C extends B where (z : Nat) (x := z + 10) +/-- info: { x := 1 + 1, y := 1 } : B -/ +#guard_msgs in #check { y := 1 : B } +/-- info: { x := 1 + 10, y := 1 + 10 + 2, z := 1 } : C -/ +#guard_msgs in #check { z := 1 : C } +/-! Make sure `z` is parsed as an abbreviation: -/ +/-- info: fun z => { x := z + 10, y := z + 10 + 2, z := z } : Nat → C -/ +#guard_msgs in #check fun z : Nat => { z : C } + +def test1 : B where + y := 1 +def test2 : C where + z := 1 + end Ex1 namespace Ex2 -structure A := +structure A where (x : Nat) (y : Nat) -structure B extends A := +structure B extends A where (z : Nat := x + 1) (y := z + x) +/-- info: { x := 1, y := 1 + 1 + 1, z := 1 + 1 } : B -/ +#guard_msgs in #check { x := 1 : B } + +def test1 : B where + x := 1 + end Ex2 namespace Ex3 -structure A := +structure A where (x : Nat) -structure B extends A := +structure B extends A where (y : Nat := x + 2) (x := y + 1) -structure C extends B := +structure C extends B where (z : Nat := 2*y) (x := z + 2) (y := z + 3) +/-- info: { x := 1, y := 1 + 2, z := 2 * (1 + 2) } : C -/ +#guard_msgs in #check { x := 1 : C } +/-- info: { x := 2 * 1 + 2, y := 1, z := 2 * 1 } : C -/ +#guard_msgs in #check { y := 1 : C } +/-- info: { x := 1 + 2, y := 1 + 3, z := 1 } : C -/ +#guard_msgs in #check { z := 1 : C } + +def test1 : C where + x := 1 +def test2 : C where + y := 1 +def test3 : C where + z := 1 + end Ex3 namespace Ex4 -structure A := +structure A where (x : Nat) -structure B extends A := +structure B extends A where (y : Nat := x + 1) (x := y + 1) -structure C extends B := +structure C extends B where (z : Nat := 2*y) (x := z + 3) -end Ex4 - -namespace Ex1 - -#check { y := 1 : B } -#check { z := 1 : C } - -end Ex1 - -namespace Ex2 - -#check { x := 1 : B } - -end Ex2 - -namespace Ex3 - -#check { x := 1 : C } -#check { y := 1 : C } -#check { z := 1 : C } - -end Ex3 - -namespace Ex4 - -#check { x := 1 : C } -- works -#check { y := 1 : C } -- works -#check { z := 1 : C } -- works -#check { z := 1, x := 2 : C } -- works -#check { y := 1 : B } -- works +/-- info: { x := 1, y := 1 + 1, z := 2 * (1 + 1) } : C -/ +#guard_msgs in #check { x := 1 : C } +/-- info: { x := 2 * 1 + 3, y := 1, z := 2 * 1 } : C -/ +#guard_msgs in #check { y := 1 : C } +/-- info: { x := 1 + 3, y := 1 + 3 + 1, z := 1 } : C -/ +#guard_msgs in #check { z := 1 : C } +/-- info: { x := 2, y := 2 + 1, z := 1 } : C -/ +#guard_msgs in #check { z := 1, x := 2 : C } +/-- info: { x := 1 + 1, y := 1 } : B -/ +#guard_msgs in #check { y := 1 : B } + +def test1 : C where + x := 1 +def test2 : C where + y := 1 +def test3 : C where + z := 1 +def test4 : C where + z := 1 + x := 2 +def test5 : C where + y := 1 end Ex4 + +/-! +Binders example +-/ +structure PosFun where + f : Nat → Nat + pos : ∀ n, 0 < f n + +def p : PosFun := + { f n := n + 1 + pos := by simp } + +def p_where : PosFun where + f n := n + 1 + pos := by simp + +/-! +Equations +-/ +def p' : PosFun := + { f + | 0 => 1 + | n + 1 => n + 1 + pos := by rintro (_|_) <;> simp } + +def p'_where : PosFun where + f + | 0 => 1 + | n + 1 => n + 1 + pos := by rintro (_|_) <;> simp + +/-! +Binders and type ascriptions +-/ +namespace Ex5 + +structure A (α : Type) (β : Type) where + x : α + f : β → β + z : α + +/-- info: fun z => { x := 1, f := fun n => n + 1, z := z } : Int → A Int Int -/ +#guard_msgs in #check fun z => { x : Int := 1, f n : Int := n + 1, z : A _ _ } + +def test1 (z : Int) : A Int Int where + x : Int := 1 + f n : Int := n + 1 + z + +end Ex5 From ca96922b4be5d395f6e3102ed3c8950e18982be7 Mon Sep 17 00:00:00 2001 From: Lean stage0 autoupdater <> Date: Sat, 30 Nov 2024 21:22:30 +0000 Subject: [PATCH 04/24] chore: update stage0 --- stage0/src/stdlib_flags.h | 2 +- stage0/stdlib/Lean/Elab/MutualDef.c | 2702 +-- stage0/stdlib/Lean/Elab/PatternVar.c | 994 +- stage0/stdlib/Lean/Elab/StructInst.c | 4725 +++-- stage0/stdlib/Lean/Linter/UnusedVariables.c | 4 +- stage0/stdlib/Lean/Parser/Command.c | 894 +- stage0/stdlib/Lean/Parser/Term.c | 14630 ++++++++-------- .../Lean/PrettyPrinter/Delaborator/Builtins.c | 319 +- 8 files changed, 11830 insertions(+), 12440 deletions(-) diff --git a/stage0/src/stdlib_flags.h b/stage0/src/stdlib_flags.h index e3a7672d2d48..90b8f24cbc3d 100644 --- a/stage0/src/stdlib_flags.h +++ b/stage0/src/stdlib_flags.h @@ -10,7 +10,7 @@ options get_default_options() { opts = opts.update({"debug", "byAsSorry"}, false); // switch to `true` for ABI-breaking changes affecting meta code; // see also next option! - opts = opts.update({"interpreter", "prefer_native"}, true); + opts = opts.update({"interpreter", "prefer_native"}, false); // switch to `false` when enabling `prefer_native` should also affect use // of built-in parsers in quotations; this is usually the case, but setting // both to `true` may be necessary for handling non-builtin parsers with diff --git a/stage0/stdlib/Lean/Elab/MutualDef.c b/stage0/stdlib/Lean/Elab/MutualDef.c index 1a00454faf83..7f6005a4728e 100644 --- a/stage0/stdlib/Lean/Elab/MutualDef.c +++ b/stage0/stdlib/Lean/Elab/MutualDef.c @@ -18,7 +18,6 @@ static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____clo static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___lambda__1___closed__12; LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Elab_Command_elabMutualDef___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders_process___spec__1(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__6; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__6___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_instantiateMVarsProfiling___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -27,11 +26,11 @@ lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabMutualDef___spec__5(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkSorry(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479_(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__8___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_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__3___closed__3; static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__12___lambda__2___closed__10; lean_object* l_Lean_Elab_Term_levelMVarToParam(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__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_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getKindForLetRecs___spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_InfoTree_Main_0__Lean_Elab_withSavedPartialInfoContext___at_Lean_Elab_Term_elabMutualDef___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__7; @@ -45,11 +44,11 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeader static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__10; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__13; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getAllUserLevelNames(lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentArray_mapMAux___at_Lean_Elab_Term_elabMutualDef___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_LocalContext_getFVars___spec__1(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkKinds(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_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628_(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__4___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_logException___at_Lean_Elab_Command_withLoggingExceptions___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__3; @@ -61,7 +60,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualD lean_object* l_Lean_Macro_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_processDefDeriving(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_instToSnapshotTreeDefsParsedSnapshot___spec__1(size_t, size_t, lean_object*); -static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__2; extern lean_object* l_Lean_instFVarIdSetInhabited; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabMutualDef___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_getFVars___closed__4; @@ -80,7 +78,6 @@ static lean_object* l_Lean_Elab_instInhabitedDefViewElabHeader___closed__6; LEAN_EXPORT lean_object* l_Array_erase___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__2___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__1; LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__2(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___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*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___spec__1(lean_object*, size_t, size_t); @@ -89,9 +86,9 @@ LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_M LEAN_EXPORT lean_object* l_Lean_Language_DynamicSnapshot_ofTyped___at_Lean_Elab_Command_elabMutualDef___spec__10(lean_object*, lean_object*); static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__5; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__8(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__1; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_merge(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__5; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkBodyTask(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_runTermElabM___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabMutualDef_go___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -113,15 +110,14 @@ static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_M extern lean_object* l_Lean_Elab_Tactic_instInhabitedTacticParsedSnapshot; LEAN_EXPORT lean_object* l_Lean_Meta_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__8___boxed(lean_object**); lean_object* l_Lean_Language_Snapshot_Diagnostics_ofMessageLog(lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__15; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_getMax_x3f___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Language_DynamicSnapshot_toTyped_x3f___rarg(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__5; lean_object* l_Lean_Meta_isProp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_isModified___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__7(lean_object*, lean_object*, lean_object*, size_t, 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_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__6___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pushLocalDecl___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_throwError___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__1___boxed(lean_object*, lean_object*, lean_object*); @@ -131,7 +127,6 @@ lean_object* lean_io_promise_new(lean_object*); uint8_t l_Lean_Exception_isInterrupt(lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__15___boxed(lean_object**); lean_object* l_Lean_Elab_Term_synthesizeSyntheticMVars(uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__3; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint64_t lean_uint64_of_nat(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -141,8 +136,6 @@ LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualD LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_registerFailedToInferDefTypeInfo(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_MutualDef_0__Lean_Elab_Term_check___lambda__2___closed__4; static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__4___rarg___closed__1; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__3; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__1; lean_object* l_Lean_FileMap_toPosition(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withUsed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -150,14 +143,12 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMutualDef_processDeriving(lean_obj lean_object* l_Lean_MessageData_joinSep(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_uint64_to_usize(uint64_t); -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__5; -static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__7; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__3; uint8_t l_Lean_Expr_isAppOfArity(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__7___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__5___closed__1; +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_toString(lean_object*, uint8_t, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabMutualDef___spec__10___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*); @@ -177,7 +168,6 @@ lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*) LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__15___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__5; lean_object* l_Lean_LocalDecl_replaceFVarId(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_pushMain___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -213,7 +203,6 @@ LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosur LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__1___closed__4; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__6; lean_object* l_Lean_replaceRef(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__18(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars___spec__4(lean_object*, lean_object*); @@ -225,31 +214,29 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply___lamb static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__5; lean_object* l_Lean_Elab_shareCommonPreDefs(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getPos_x3f(lean_object*, uint8_t); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__3; lean_object* l_Lean_Expr_bvar___override(lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__3; lean_object* l_Lean_Elab_levelMVarToParamTypesPreDecls___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__12___boxed(lean_object**); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___lambda__3___closed__2; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendingMVarErrorMessage___closed__1; lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabSyntax___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__1; lean_object* l_Lean_Syntax_TSepArray_getElems___rarg(lean_object*); static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__4___closed__14; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabMutualDef___spec__12(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__15; lean_object* l_Lean_Expr_fvarId_x21(lean_object*); lean_object* l_ReaderT_pure___at___private_Lean_Elab_Term_0__Lean_Elab_Term_applyAttributesCore___spec__12___rarg___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_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5___rarg___lambda__1(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pickMaxFVar_x3f___boxed(lean_object*, lean_object*); lean_object* l_Lean_Elab_logException___at_Lean_Elab_Term_exceptionToSorry___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__6(lean_object*, size_t, size_t, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__1___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_InfoTree_Main_0__Lean_Elab_withSavedPartialInfoContext___at_Lean_Elab_Term_elabMutualDef___spec__2___lambda__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_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_getFVars___closed__2; @@ -261,11 +248,9 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabMutualDe LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__2(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendingMVarErrorMessage___closed__2; static uint64_t l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___lambda__1___closed__6; -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__5; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__1___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_Std_Range_forIn_x27_loop___at_Lean_Elab_Command_elabMutualDef___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__12___lambda__1___boxed(lean_object**); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4(lean_object*, size_t, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5___rarg___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); @@ -281,7 +266,6 @@ LEAN_EXPORT uint8_t l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isExample( LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__6(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, uint8_t, 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*); static lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___spec__1___closed__3; lean_object* lean_io_get_num_heartbeats(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__3___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); @@ -320,9 +304,9 @@ LEAN_EXPORT lean_object* l_Lean_Elab_getDeclarationRange_x3f___at_Lean_Elab_Term LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMultiConstant_x3f___spec__2(lean_object*, size_t, size_t); static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__4___closed__2; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__7; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__6; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_elabMutualDef_go___spec__5(lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__2___closed__1; @@ -347,8 +331,6 @@ LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_E lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Meta_Tactic_Intro_0__Lean_Meta_introNImp___spec__1(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_instantiateMVarsAtLetRecToLift___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_appArg_x21(lean_object*); -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__8; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_FVarId_findDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_instantiateMVarsProfiling___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -364,8 +346,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check lean_object* l_Lean_LocalDecl_index(lean_object*); LEAN_EXPORT lean_object* l_Lean_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_filterMapM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__1; -lean_object* l_Lean_Elab_Term_expandLetEqnsDecl(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_RBNode_foldM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__3___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_FixPoint_run___boxed(lean_object*, lean_object*); @@ -373,7 +353,6 @@ LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_MutualClosure_pushLet static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___closed__2; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__6; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___closed__2; -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__3; LEAN_EXPORT lean_object* l_Lean_Meta_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___lambda__1___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_PersistentArray_mapM___at_Lean_Elab_Term_elabMutualDef___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -384,19 +363,20 @@ LEAN_EXPORT lean_object* l_List_mapTR_loop___at___private_Lean_Elab_MutualDef_0_ static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__4___closed__3; static lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__3___closed__2; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__2; -static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__10; +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__1; lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__4___boxed(lean_object**); static lean_object* l_Lean_Elab_instantiateMVarsProfiling___closed__1; LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_elabMutualDef_go___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_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pushNewVars___spec__1(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__9; LEAN_EXPORT lean_object* l_Array_filterMapM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_io_promise_resolve(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs(lean_object*); +static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__12; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___rarg___lambda__1(lean_object*, lean_object*); size_t lean_usize_of_nat(lean_object*); lean_object* l_Lean_LocalDecl_setBinderInfo(lean_object*, uint8_t); @@ -412,11 +392,12 @@ lean_object* l_Lean_Meta_withLCtx___at_Lean_Elab_Term_MVarErrorInfo_logError___s static lean_object* l_List_mapTR_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendingMVarErrorMessage___spec__1___closed__2; static double l_Lean_addTrace___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__5___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_InfoTree_Main_0__Lean_Elab_withSavedPartialInfoContext___at_Lean_Elab_Term_elabMutualDef___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__5; lean_object* lean_task_pure(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_insertReplacementForLetRecs(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_preprocess___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__1(size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__4; static lean_object* l_List_forM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkLetRecsToLiftTypes___spec__1___closed__1; lean_object* l_Lean_Meta_resetZetaDeltaFVarIds___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabMutualDef___spec__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -445,12 +426,10 @@ uint8_t l_Array_contains___at_Lean_Meta_setMVarUserNamesAt___spec__1(lean_object LEAN_EXPORT lean_object* l_Lean_Elab_instantiateMVarsProfiling(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_take(lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__1___closed__4; -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_getFVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5___rarg___closed__1; static lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__2___closed__2; -static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__6; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_getDeclarationSelectionRef(lean_object*); LEAN_EXPORT lean_object* l_Lean_RBNode_find___at_Lean_Elab_Term_MutualClosure_isApplicable___spec__1(lean_object*, lean_object*); @@ -464,7 +443,6 @@ LEAN_EXPORT uint8_t l_Lean_Elab_Term_MutualClosure_isApplicable(lean_object*, le static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_registerFailedToInferDefTypeInfo___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__1___boxed(lean_object**); static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__18___lambda__1___closed__3; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__4; uint64_t lean_uint64_shift_right(uint64_t, uint64_t); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabMutualDef___lambda__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_MutualDef_0__Lean_Elab_Term_getAllUserLevelNames___boxed(lean_object*); @@ -473,8 +451,8 @@ lean_object* l_Lean_SourceInfo_fromRef(lean_object*, uint8_t); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__18___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__4; uint64_t lean_uint64_of_nat(lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440_(lean_object*); lean_object* l_List_findSome_x3f___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__7___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__14___boxed(lean_object**); @@ -493,7 +471,6 @@ LEAN_EXPORT uint8_t l_List_mapTR_loop___at___private_Lean_Elab_MutualDef_0__Lean LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_quickCmp___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_isApplicable___lambda__1___boxed(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMutualDef_go___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__12___lambda__2___closed__7; @@ -504,6 +481,8 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__1___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_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__5; +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentArray_mapMAux___at_Lean_Elab_Term_elabMutualDef___spec__9(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_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -523,15 +502,16 @@ LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_Term_MutualClosure_insertRe LEAN_EXPORT uint8_t l_Lean_Elab_Term_MutualClosure_isApplicable___lambda__1(lean_object*, lean_object*); lean_object* l_Lean_Elab_toAttributeKind___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabMutualDef_go___spec__13(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__8; lean_object* l_List_mapTR_loop___at_Lean_MessageData_instCoeListExpr___spec__1(lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__12___lambda__2___closed__6; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__4; lean_object* l_Lean_Elab_Term_applyAttributesAt(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_RBNode_find___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__13___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__15(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_MutualClosure_pushLetRecs___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getKind(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__6___closed__2; lean_object* l_Lean_SourceInfo_getTailPos_x3f(lean_object*, uint8_t); lean_object* l_Lean_MessageData_ofFormat(lean_object*); @@ -555,7 +535,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_withRestoreOrSaveFull___at___private_Lean_E LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRangesForBuiltin___at_Lean_Elab_Term_elabMutualDef_go___spec__7___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___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_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabAttrs___at_Lean_Elab_Command_elabMutualDef___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__3; static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__1___closed__3; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_indexOfAux___at_Lean_LocalContext_erase___spec__3(lean_object*, lean_object*, lean_object*); @@ -563,7 +542,6 @@ static lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualD LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__1___rarg___lambda__2(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__5; lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_filterMapM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__14; @@ -572,7 +550,6 @@ static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____clo lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___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_List_mapTR_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendingMVarErrorMessage___spec__2(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___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_MutualDef_0__Lean_Elab_Term_withHeaderSecVars___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__7___lambda__1(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_Replacement_apply___lambda__1___boxed(lean_object*, lean_object*); @@ -590,7 +567,6 @@ LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0_ LEAN_EXPORT uint8_t l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___lambda__1(lean_object*); lean_object* lean_array_to_list(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__6___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5_(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabMutualDef___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_MutualClosure_pushLetRecs___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -603,7 +579,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualD LEAN_EXPORT lean_object* l_Lean_Elab_withSaveInfoContext___at_Lean_Elab_Term_elabMutualDef___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_num___override(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_insertReplacementForMainFns(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Syntax_node3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__12___lambda__2___closed__14; @@ -614,12 +589,12 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_level LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_pushLocalDecl(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_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__4___closed__4; LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at_Lean_Elab_Command_elabMutualDef___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__1___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabMutualDef_go___lambda__1___boxed(lean_object**); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__1___closed__2; +static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__6; uint8_t l_Lean_Syntax_isMissing(lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__7___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_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__4___closed__4; @@ -628,14 +603,12 @@ static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_M LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___rarg___lambda__2(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, size_t, lean_object*); extern lean_object* l_Lean_levelZero; static lean_object* l_Lean_Linter_logLint___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__5___closed__4; -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___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_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__6___rarg___lambda__1(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__12___lambda__2___closed__5; LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__1___boxed(lean_object**); extern lean_object* l_Lean_instInhabitedExpr; -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__4; static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__5___closed__5; LEAN_EXPORT lean_object* l_Lean_RBNode_forIn_visit___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Command_elabMutualDef___spec__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -684,7 +657,6 @@ static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_M LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Elab_Command_elabMutualDef___spec__9___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__2___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_Term_MutualClosure_Replacement_apply___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Syntax_node2(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__5___closed__2; LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Elab_Command_elabMutualDef___spec__9___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_MutualClosure_pushLetRecs___spec__1___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -696,7 +668,6 @@ lean_object* lean_string_utf8_prev(lean_object*, lean_object*); static lean_object* l_Lean_Linter_logLint___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__5___closed__3; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__2; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_addMessageContextPartial___at_Lean_Elab_Command_instAddMessageContextCommandElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_erase___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___spec__2(lean_object*, lean_object*); @@ -707,7 +678,6 @@ lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_ static lean_object* l_Lean_Elab_Term_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___closed__1; LEAN_EXPORT lean_object* l_Lean_RBNode_forIn_visit___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars___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_throwErrorAt___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__6; uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*); lean_object* l_Lean_Meta_Closure_mkForall(lean_object*, lean_object*); lean_object* l_Lean_Meta_lambdaTelescope___at___private_Lean_Elab_PreDefinition_WF_Fix_0__Lean_Elab_WF_processSumCasesOn___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -723,6 +693,7 @@ LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at___private_Lean_Elab_Mut LEAN_EXPORT lean_object* l_Lean_RBNode_find___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosureFor___spec__4___boxed(lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_fvarId(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_resetModified___rarg(lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__3; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___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*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__12___lambda__2___closed__12; @@ -734,6 +705,7 @@ LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0_ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_getScope___rarg(lean_object*, lean_object*); extern lean_object* l_Lean_Language_Snapshot_Diagnostics_empty; +LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__15___lambda__1___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_instInhabitedDefViewElabHeader; @@ -745,8 +717,6 @@ lean_object* l_Array_eraseIdx___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_preprocess(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withAutoBoundImplicitForbiddenPred___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Std_Format_defWidth; -LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938_(lean_object*); -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__7; LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__6___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_instInhabitedDefViewElabHeader___closed__2; LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -779,12 +749,13 @@ LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_M lean_object* l_Array_append___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__12; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___lambda__1___closed__5; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___boxed(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls_loop(lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__12___lambda__2___closed__4; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__3___closed__1; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___closed__1; lean_object* l_Lean_MessageData_ofExpr(lean_object*); +static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__11; lean_object* l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_6____spec__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -810,7 +781,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosur LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_userName(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__2(lean_object*); -lean_object* l_Lean_Syntax_node4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_SourceInfo_getPos_x3f(lean_object*, uint8_t); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_registerFailedToInferDefTypeInfo___closed__2; @@ -820,11 +790,9 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeader extern lean_object* l_Lean_Elab_instTypeNameDefsParsedSnapshot; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withUsed___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__2; LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_MutualClosure_main___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_Lean_Elab_addDeclarationRangesForBuiltin___at_Lean_Elab_Term_elabMutualDef_go___spec__7___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__6; static lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__3___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__4___closed__13; @@ -833,7 +801,7 @@ lean_object* l_Lean_FileMap_leanPosToLspPos(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabMutualDef___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_TerminationHints_rememberExtraParams(lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__1; +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__4; LEAN_EXPORT lean_object* l_Nat_foldM_loop___at_Lean_Elab_Term_MutualClosure_pushMain___spec__1___lambda__1(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_type; static lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___closed__2; @@ -859,17 +827,17 @@ LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_M LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Command_elabMutualDef___spec__8(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__10___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_NameSet_empty; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__2; LEAN_EXPORT lean_object* l_List_mapM_loop___at_Lean_Elab_Term_MutualClosure_main___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Command_elabMutualDef___spec__6(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_collectUsed___spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__2___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed__const__1; LEAN_EXPORT lean_object* l_List_foldlM___at_Lean_Elab_Term_MutualClosure_pushLetRecs___spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__4; +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__1; lean_object* l_Lean_Elab_addPreDefinitions(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Language_withAlwaysResolvedPromises___at_Lean_Elab_Term_elabMutualDef_go___spec__16(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__7; LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___boxed(lean_object**); LEAN_EXPORT lean_object* l_Lean_Elab_withSaveInfoContext___at_Lean_Elab_Term_elabMutualDef___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__4___rarg___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -877,7 +845,6 @@ lean_object* l_Lean_CollectMVars_visit(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Linter_logLint___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__5___closed__1; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__6___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__8; LEAN_EXPORT lean_object* l_Lean_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__3(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___lambda__1___boxed(lean_object*, lean_object*); @@ -895,7 +862,6 @@ lean_object* l_Lean_Syntax_SepArray_ofElems(lean_object*, lean_object*); static lean_object* l_Lean_Elab_withSaveInfoContext___at_Lean_Elab_Term_elabMutualDef___spec__1___closed__1; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendingMVarErrorMessage___boxed(lean_object*); -static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__9; uint8_t lean_nat_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabMutualDef___spec__12(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_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Term_elabMutualDef_processDeriving___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -905,7 +871,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabMutualDef(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureFor___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_MutualDef_0__Lean_Elab_Term_withFunLocalDecls_loop___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_pushLetRecs(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___lambda__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Command_elabMutualDef___spec__12___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -915,6 +880,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_clean static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__5___rarg___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__1; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___spec__3(lean_object*, size_t, size_t); lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_registerFailedToInferDefTypeInfo___closed__1; @@ -937,9 +903,9 @@ lean_object* l_Lean_indentExpr(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabMutualDef___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__8; static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__4___closed__3; LEAN_EXPORT lean_object* l_Nat_foldM_loop___at_Lean_Elab_Term_MutualClosure_pushMain___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Nat_foldM_loop___at_Lean_Elab_Term_MutualClosure_pushMain___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -987,13 +953,12 @@ lean_object* lean_panic_fn(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__12___lambda__1(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars(lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__8___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__1; static size_t l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___lambda__1___closed__2; -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_removeUnusedVars___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_Syntax_setInfo(lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__3; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___lambda__4___closed__1; lean_object* lean_nat_sub(lean_object*, lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__12___lambda__2___closed__2; @@ -1010,18 +975,13 @@ uint8_t l_Lean_Expr_isProp(lean_object*); static lean_object* l_List_mapTR_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendingMVarErrorMessage___spec__2___closed__1; lean_object* lean_nat_mul(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getRange_x3f(lean_object*, uint8_t); -static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__3; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__10; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Command_elabMutualDef___spec__13(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_RBNode_find___at_Lean_Elab_Term_MutualClosure_isApplicable___spec__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__18___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__5; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__4___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withInfoContext_x27(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__3; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__5; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_iotaTR(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__11___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__2___closed__1; @@ -1047,6 +1007,7 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_Elab_Command_elabM LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkFreeVarMap___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__6; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_checkModifiers___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__9(lean_object*, lean_object*, lean_object*, lean_object*); @@ -1058,14 +1019,13 @@ LEAN_EXPORT lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMu static lean_object* l_Lean_Elab_instantiateMVarsProfiling___closed__2; LEAN_EXPORT lean_object* l_Lean_Meta_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__15___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withFunLocalDecls_loop___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__6; uint8_t l_Lean_Expr_hasSorry(lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_getFVars___closed__1; -static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__4; lean_object* l_String_intercalate(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed(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_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___lambda__1___closed__8; size_t lean_usize_sub(size_t, size_t); +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__2; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___lambda__1___closed__10; LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__1___boxed(lean_object**); extern lean_object* l_Lean_Elab_Command_instInhabitedScope; @@ -1109,13 +1069,12 @@ lean_object* l_Lean_Elab_Term_withLevelNames___rarg(lean_object*, lean_object*, static lean_object* l_List_mapTR_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getPendingMVarErrorMessage___spec__1___closed__1; lean_object* lean_array_uget(lean_object*, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_elabAttr___at_Lean_Elab_Command_elabMutualDef___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667_(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___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*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_addDeclarationRanges___at_Lean_Elab_Term_elabMutualDef_go___spec__10___closed__4; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__2; lean_object* l_Lean_Expr_fvar___override(lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); size_t lean_array_size(lean_object*); +static lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__4; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_elabMutualDef___spec__6(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_Array_forIn_x27Unsafe_loop___at_Lean_Elab_Term_elabMutualDef_go___spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1126,7 +1085,6 @@ static lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualD LEAN_EXPORT lean_object* l_Lean_Elab_Term_MutualClosure_FixPoint_run(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__5(lean_object*, lean_object*, lean_object*, size_t, size_t); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5(lean_object*, size_t, size_t, lean_object*); static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__4___closed__2; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__3___rarg___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_getUsedFVarsMap(lean_object*); @@ -1137,7 +1095,6 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClos lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withUsed___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__4___closed__15; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__4; static lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__2___closed__4; LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isExample___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_getFunName___closed__1; @@ -1159,19 +1116,16 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_Mutua LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__4(lean_object*); static lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__5___closed__1; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_MutualClosure_getModifiersForLetRecs___spec__2(lean_object*, size_t, size_t); +static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__14; static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__4___closed__6; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_levelMVarToParamHeaders_process___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___lambda__1___closed__9; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___lambda__1___closed__7; -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__5; lean_object* lean_string_append(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__6___lambda__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___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_getAttributeImpl(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__4; -lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Syntax_SepArray_getElems___spec__1(lean_object*, size_t, size_t, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__1; lean_object* lean_array_get_size(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_fixpoint___rarg___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_RBNode_foldM___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_updateUsedVarsOf___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1181,8 +1135,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_withRestoreOrSaveFull___at___private_L LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_cleanupOfNat___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__5___boxed(lean_object**); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__2; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__3(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_addDeclarationRangesForBuiltin___at_Lean_Elab_Term_elabMutualDef_go___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__13(lean_object*, size_t, size_t); @@ -1211,16 +1163,14 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_isMul lean_object* lean_nat_add(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Language_withAlwaysResolvedPromises___at_Lean_Elab_Term_elabMutualDef_go___spec__12(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_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__1; static lean_object* l_Lean_addDeclarationRanges___at_Lean_Elab_Term_elabMutualDef_go___spec__10___closed__2; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___lambda__1___closed__13; LEAN_EXPORT lean_object* l_Lean_Elab_Term_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___boxed(lean_object**); static lean_object* l_Nat_foldM_loop___at_Lean_Elab_Term_MutualClosure_pushMain___spec__1___closed__3; uint8_t l_Lean_Exception_isRuntime(lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1(size_t, size_t, lean_object*); +static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__2; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__18___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__4; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___rarg___boxed__const__1; static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__4___closed__5; lean_object* l_Lean_CollectFVars_State_add(lean_object*, lean_object*); @@ -1233,11 +1183,9 @@ static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeader lean_object* l_Lean_Expr_mvarId_x21(lean_object*); static lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__7___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__5; uint64_t l___private_Lean_Meta_Basic_0__Lean_Meta_Config_toKey(lean_object*); lean_object* l_Lean_Elab_Term_mkBodyInfo(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___spec__4___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__11; lean_object* l_Lean_Elab_fixLevelParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_expandWhereDecls(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_uset(lean_object*, size_t, lean_object*); @@ -1266,22 +1214,17 @@ LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_MutualDef_0_ LEAN_EXPORT lean_object* l_Lean_RBNode_fold___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkLetRecClosures___spec__10(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabDeclAttrs___at_Lean_Elab_Command_elabMutualDef___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__6___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__1; LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__4___rarg___lambda__4(lean_object*, size_t, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__5___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_instInhabitedDefViewElabHeader___closed__5; size_t lean_usize_land(size_t, size_t); static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__8; -static lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__4; static lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_check___closed__2; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Command_elabMutualDef___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_FixPoint_markModified___rarg(lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__5___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkInitialUsedFVarsMap___spec__6___rarg___lambda__1(lean_object*, size_t, lean_object*, lean_object*, lean_object*, lean_object*, size_t, lean_object*, lean_object*, size_t, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_elabModifiers___at_Lean_Elab_Command_elabMutualDef___spec__1___lambda__3___closed__6; LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars___spec__5(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Core_withRestoreOrSaveFull___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabFunValues___spec__13___lambda__4___closed__9; @@ -14556,2036 +14499,486 @@ x_2 = lean_alloc_closure((void*)(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Te return x_2; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__1() { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("whereStructField", 16, 16); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__2() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__2; -x_4 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("letDecl", 7, 7); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__4() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__3; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1(size_t x_1, size_t x_2, lean_object* x_3) { -_start: -{ -uint8_t x_4; -x_4 = lean_usize_dec_lt(x_2, x_1); -if (x_4 == 0) -{ -lean_object* x_5; -x_5 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_5, 0, x_3); -return x_5; -} -else -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; -x_6 = lean_array_uget(x_3, x_2); -x_7 = lean_unsigned_to_nat(0u); -x_8 = lean_array_uset(x_3, x_2, x_7); -x_9 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__2; -lean_inc(x_6); -x_10 = l_Lean_Syntax_isOfKind(x_6, x_9); -if (x_10 == 0) -{ -lean_object* x_11; -lean_dec(x_8); -lean_dec(x_6); -x_11 = lean_box(0); -return x_11; -} -else -{ -lean_object* x_12; lean_object* x_13; uint8_t x_14; -x_12 = l_Lean_Syntax_getArg(x_6, x_7); -lean_dec(x_6); -x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__4; -lean_inc(x_12); -x_14 = l_Lean_Syntax_isOfKind(x_12, x_13); -if (x_14 == 0) -{ -lean_object* x_15; -lean_dec(x_12); -lean_dec(x_8); -x_15 = lean_box(0); -return x_15; -} -else -{ -size_t x_16; size_t x_17; lean_object* x_18; -x_16 = 1; -x_17 = lean_usize_add(x_2, x_16); -x_18 = lean_array_uset(x_8, x_2, x_12); -x_2 = x_17; -x_3 = x_18; -goto _start; -} -} -} -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("letPatDecl", 10, 10); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__2() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("letEqnsDecl", 11, 11); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__4() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__3; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("letIdDecl", 9, 9); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__6() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__5; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__7() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("patterns are not allowed here", 29, 29); -return x_1; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -uint8_t x_6; -x_6 = lean_usize_dec_lt(x_2, x_1); -if (x_6 == 0) -{ -lean_object* x_7; -lean_dec(x_4); -x_7 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_7, 0, x_3); -lean_ctor_set(x_7, 1, x_5); -return x_7; -} -else -{ -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t 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); -x_11 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__4; -lean_inc(x_8); -x_12 = l_Lean_Syntax_isOfKind(x_8, x_11); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; -lean_dec(x_10); -lean_dec(x_8); -lean_dec(x_4); -x_13 = lean_box(1); -x_14 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_5); -return x_14; -} -else -{ -lean_object* x_15; lean_object* x_16; uint8_t x_17; -x_15 = l_Lean_Syntax_getArg(x_8, x_9); -x_16 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__2; -lean_inc(x_15); -x_17 = l_Lean_Syntax_isOfKind(x_15, x_16); -if (x_17 == 0) -{ -lean_object* x_18; uint8_t x_19; -lean_dec(x_8); -x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__4; -lean_inc(x_15); -x_19 = l_Lean_Syntax_isOfKind(x_15, x_18); -if (x_19 == 0) -{ -lean_object* x_20; uint8_t x_21; -x_20 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__6; -lean_inc(x_15); -x_21 = l_Lean_Syntax_isOfKind(x_15, x_20); -if (x_21 == 0) -{ -lean_object* x_22; lean_object* x_23; -lean_dec(x_15); -lean_dec(x_10); -lean_dec(x_4); -x_22 = lean_box(1); -x_23 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_23, 0, x_22); -lean_ctor_set(x_23, 1, x_5); -return x_23; -} -else -{ -size_t x_24; size_t x_25; lean_object* x_26; -x_24 = 1; -x_25 = lean_usize_add(x_2, x_24); -x_26 = lean_array_uset(x_10, x_2, x_15); -x_2 = x_25; -x_3 = x_26; -goto _start; -} -} -else -{ -uint8_t x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; size_t x_32; size_t x_33; lean_object* x_34; -x_28 = 0; -lean_inc(x_4); -x_29 = l_Lean_Elab_Term_expandLetEqnsDecl(x_15, x_28, x_4, x_5); -lean_dec(x_15); -x_30 = lean_ctor_get(x_29, 0); -lean_inc(x_30); -x_31 = lean_ctor_get(x_29, 1); -lean_inc(x_31); -lean_dec(x_29); -x_32 = 1; -x_33 = lean_usize_add(x_2, x_32); -x_34 = lean_array_uset(x_10, x_2, x_30); -x_2 = x_33; -x_3 = x_34; -x_5 = x_31; -goto _start; -} -} -else -{ -lean_object* x_36; lean_object* x_37; uint8_t x_38; -lean_dec(x_15); -lean_dec(x_10); -x_36 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__7; -x_37 = l_Lean_Macro_throwErrorAt___rarg(x_8, x_36, x_4, x_5); -lean_dec(x_8); -x_38 = !lean_is_exclusive(x_37); -if (x_38 == 0) -{ -return x_37; -} -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_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__3(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { -_start: -{ -uint8_t x_5; -x_5 = lean_usize_dec_lt(x_3, x_2); -if (x_5 == 0) -{ -return x_4; -} -else -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; size_t x_10; lean_object* x_11; -x_6 = lean_array_uget(x_4, x_3); -x_7 = lean_unsigned_to_nat(0u); -x_8 = lean_array_uset(x_4, x_3, x_7); -x_9 = 1; -x_10 = lean_usize_add(x_3, x_9); -x_11 = lean_array_uset(x_8, x_3, x_6); -x_3 = x_10; -x_4 = x_11; -goto _start; -} -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("'_' is not allowed here", 23, 23); -return x_1; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__1(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; -x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__1___closed__1; -x_6 = l_Lean_Macro_throwErrorAt___rarg(x_1, x_5, x_3, x_4); -return x_6; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstField", 15, 15); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__2() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstLVal", 14, 14); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__4() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__3; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked(":=", 2, 2); -return x_1; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; uint8_t x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_7 = lean_ctor_get(x_5, 5); -x_8 = 0; -x_9 = l_Lean_SourceInfo_fromRef(x_7, x_8); -x_10 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__10; -lean_inc(x_9); -x_11 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_11, 0, x_9); -lean_ctor_set(x_11, 1, x_10); -lean_ctor_set(x_11, 2, x_1); -x_12 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__4; -lean_inc(x_9); -x_13 = l_Lean_Syntax_node2(x_9, x_12, x_2, x_11); -x_14 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__5; -lean_inc(x_9); -x_15 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_15, 0, x_9); -lean_ctor_set(x_15, 1, x_14); -x_16 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__2; -x_17 = l_Lean_Syntax_node3(x_9, x_16, x_13, x_15, x_4); -x_18 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_6); -return x_18; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("fun", 3, 3); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__2() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("basicFun", 8, 8); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__4() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__3; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("=>", 2, 2); -return x_1; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: -{ -lean_object* x_10; lean_object* x_11; uint8_t x_12; -x_10 = lean_array_get_size(x_3); -x_11 = lean_unsigned_to_nat(0u); -x_12 = lean_nat_dec_lt(x_11, x_10); -lean_dec(x_10); -if (x_12 == 0) -{ -lean_object* x_13; -lean_dec(x_3); -lean_inc(x_6); -x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2(x_1, x_2, x_6, x_6, x_8, x_9); -lean_dec(x_6); -return x_13; -} -else -{ -lean_object* x_14; uint8_t x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; size_t 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; -x_14 = lean_ctor_get(x_8, 5); -x_15 = 0; -x_16 = l_Lean_SourceInfo_fromRef(x_14, x_15); -x_17 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__1; -lean_inc(x_16); -x_18 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_18, 0, x_16); -lean_ctor_set(x_18, 1, x_17); -x_19 = lean_array_size(x_3); -x_20 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__3(x_4, x_19, x_5, x_3); -lean_inc(x_1); -x_21 = l_Array_append___rarg(x_1, x_20); -lean_dec(x_20); -x_22 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__10; -lean_inc(x_16); -x_23 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_23, 0, x_16); -lean_ctor_set(x_23, 1, x_22); -lean_ctor_set(x_23, 2, x_21); -lean_inc(x_1); -lean_inc(x_16); -x_24 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_24, 0, x_16); -lean_ctor_set(x_24, 1, x_22); -lean_ctor_set(x_24, 2, x_1); -x_25 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__5; -lean_inc(x_16); -x_26 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_26, 0, x_16); -lean_ctor_set(x_26, 1, x_25); -x_27 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__4; -lean_inc(x_6); -lean_inc(x_16); -x_28 = l_Lean_Syntax_node4(x_16, x_27, x_23, x_24, x_26, x_6); -x_29 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__2; -x_30 = l_Lean_Syntax_node2(x_16, x_29, x_18, x_28); -x_31 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2(x_1, x_2, x_6, x_30, x_8, x_9); -lean_dec(x_6); -return x_31; -} -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("typeAscription", 14, 14); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__2() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("(", 1, 1); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__4() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked(":", 1, 1); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked(")", 1, 1); -return x_1; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, size_t 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; uint8_t x_14; -x_11 = lean_unsigned_to_nat(4u); -x_12 = l_Lean_Syntax_getArg(x_1, x_11); -x_13 = l_Lean_Syntax_getArgs(x_2); -x_14 = !lean_is_exclusive(x_9); -if (x_14 == 0) -{ -lean_object* x_15; lean_object* x_16; -x_15 = lean_ctor_get(x_9, 5); -x_16 = l_Lean_replaceRef(x_1, x_15); -lean_dec(x_15); -lean_inc(x_16); -lean_ctor_set(x_9, 5, x_16); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_17; lean_object* x_18; -lean_dec(x_16); -x_17 = lean_box(0); -x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3(x_3, x_4, x_13, x_5, x_6, x_12, x_17, x_9, x_10); -lean_dec(x_9); -return x_18; -} -else -{ -lean_object* x_19; uint8_t 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; lean_object* x_33; -x_19 = lean_ctor_get(x_8, 0); -lean_inc(x_19); -lean_dec(x_8); -x_20 = 0; -x_21 = l_Lean_SourceInfo_fromRef(x_16, x_20); -lean_dec(x_16); -x_22 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__3; -lean_inc(x_21); -x_23 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_23, 0, x_21); -lean_ctor_set(x_23, 1, x_22); -x_24 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__4; -lean_inc(x_21); -x_25 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_25, 0, x_21); -lean_ctor_set(x_25, 1, x_24); -x_26 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__10; -lean_inc(x_21); -x_27 = l_Lean_Syntax_node1(x_21, x_26, x_19); -x_28 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__5; -lean_inc(x_21); -x_29 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_29, 0, x_21); -lean_ctor_set(x_29, 1, x_28); -x_30 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__2; -x_31 = l_Lean_Syntax_node5(x_21, x_30, x_23, x_12, x_25, x_27, x_29); -x_32 = lean_box(0); -x_33 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3(x_3, x_4, x_13, x_5, x_6, x_31, x_32, x_9, x_10); -lean_dec(x_9); -return x_33; -} -} -else -{ -lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; -x_34 = lean_ctor_get(x_9, 0); -x_35 = lean_ctor_get(x_9, 1); -x_36 = lean_ctor_get(x_9, 2); -x_37 = lean_ctor_get(x_9, 3); -x_38 = lean_ctor_get(x_9, 4); -x_39 = lean_ctor_get(x_9, 5); -lean_inc(x_39); -lean_inc(x_38); -lean_inc(x_37); -lean_inc(x_36); -lean_inc(x_35); -lean_inc(x_34); -lean_dec(x_9); -x_40 = l_Lean_replaceRef(x_1, x_39); -lean_dec(x_39); -lean_inc(x_40); -x_41 = lean_alloc_ctor(0, 6, 0); -lean_ctor_set(x_41, 0, x_34); -lean_ctor_set(x_41, 1, x_35); -lean_ctor_set(x_41, 2, x_36); -lean_ctor_set(x_41, 3, x_37); -lean_ctor_set(x_41, 4, x_38); -lean_ctor_set(x_41, 5, x_40); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_42; lean_object* x_43; -lean_dec(x_40); -x_42 = lean_box(0); -x_43 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3(x_3, x_4, x_13, x_5, x_6, x_12, x_42, x_41, x_10); -lean_dec(x_41); -return x_43; -} -else -{ -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_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; -x_44 = lean_ctor_get(x_8, 0); -lean_inc(x_44); -lean_dec(x_8); -x_45 = 0; -x_46 = l_Lean_SourceInfo_fromRef(x_40, x_45); -lean_dec(x_40); -x_47 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__3; -lean_inc(x_46); -x_48 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_48, 0, x_46); -lean_ctor_set(x_48, 1, x_47); -x_49 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__4; -lean_inc(x_46); -x_50 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_50, 0, x_46); -lean_ctor_set(x_50, 1, x_49); -x_51 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__10; -lean_inc(x_46); -x_52 = l_Lean_Syntax_node1(x_46, x_51, x_44); -x_53 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__5; -lean_inc(x_46); -x_54 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_54, 0, x_46); -lean_ctor_set(x_54, 1, x_53); -x_55 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__2; -x_56 = l_Lean_Syntax_node5(x_46, x_55, x_48, x_12, x_50, x_52, x_54); -x_57 = lean_box(0); -x_58 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3(x_3, x_4, x_13, x_5, x_6, x_56, x_57, x_41, x_10); -lean_dec(x_41); -return x_58; -} -} -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("ident", 5, 5); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__1; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("hole", 4, 4); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__4() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__3; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("typeSpec", 8, 8); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__6() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__5; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4(lean_object* x_1, size_t x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { -_start: -{ -uint8_t x_9; -x_9 = lean_usize_dec_lt(x_5, x_4); -if (x_9 == 0) -{ -lean_object* x_10; -lean_dec(x_7); -lean_dec(x_1); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_6); -lean_ctor_set(x_10, 1, x_8); -return x_10; -} -else -{ -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_21; uint8_t x_22; -x_11 = lean_array_uget(x_6, x_5); -x_12 = lean_unsigned_to_nat(0u); -x_13 = lean_array_uset(x_6, x_5, x_12); -x_21 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__6; -lean_inc(x_11); -x_22 = l_Lean_Syntax_isOfKind(x_11, x_21); -if (x_22 == 0) -{ -lean_object* x_23; lean_object* x_24; -lean_dec(x_13); -lean_dec(x_11); -lean_dec(x_7); -lean_dec(x_1); -x_23 = lean_box(1); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_23); -lean_ctor_set(x_24, 1, x_8); -return x_24; -} -else -{ -lean_object* x_25; lean_object* x_26; uint8_t x_27; -x_25 = l_Lean_Syntax_getArg(x_11, x_12); -x_26 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__2; -lean_inc(x_25); -x_27 = l_Lean_Syntax_isOfKind(x_25, x_26); -if (x_27 == 0) -{ -lean_object* x_28; uint8_t x_29; -lean_dec(x_13); -lean_dec(x_1); -x_28 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__4; -x_29 = l_Lean_Syntax_isOfKind(x_25, x_28); -if (x_29 == 0) -{ -lean_object* x_30; lean_object* x_31; -lean_dec(x_11); -lean_dec(x_7); -x_30 = lean_box(1); -x_31 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_31, 0, x_30); -lean_ctor_set(x_31, 1, x_8); -return x_31; -} -else -{ -lean_object* x_32; lean_object* x_33; uint8_t x_34; -x_32 = lean_unsigned_to_nat(2u); -x_33 = l_Lean_Syntax_getArg(x_11, x_32); -x_34 = l_Lean_Syntax_isNone(x_33); -if (x_34 == 0) -{ -lean_object* x_35; uint8_t x_36; -x_35 = lean_unsigned_to_nat(1u); -lean_inc(x_33); -x_36 = l_Lean_Syntax_matchesNull(x_33, x_35); -if (x_36 == 0) -{ -lean_object* x_37; lean_object* x_38; -lean_dec(x_33); -lean_dec(x_11); -lean_dec(x_7); -x_37 = lean_box(1); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_37); -lean_ctor_set(x_38, 1, x_8); -return x_38; -} -else -{ -lean_object* x_39; lean_object* x_40; uint8_t x_41; -x_39 = l_Lean_Syntax_getArg(x_33, x_12); -lean_dec(x_33); -x_40 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__6; -x_41 = l_Lean_Syntax_isOfKind(x_39, x_40); -if (x_41 == 0) -{ -lean_object* x_42; lean_object* x_43; -lean_dec(x_11); -lean_dec(x_7); -x_42 = lean_box(1); -x_43 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_43, 0, x_42); -lean_ctor_set(x_43, 1, x_8); -return x_43; -} -else -{ -lean_object* x_44; lean_object* x_45; uint8_t x_46; -x_44 = lean_mk_string_unchecked("'_' is not allowed here", 23, 23); -x_45 = l_Lean_Macro_throwErrorAt___rarg(x_11, x_44, x_7, x_8); -lean_dec(x_11); -x_46 = !lean_is_exclusive(x_45); -if (x_46 == 0) -{ -return x_45; -} -else -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; -x_47 = lean_ctor_get(x_45, 0); -x_48 = lean_ctor_get(x_45, 1); -lean_inc(x_48); -lean_inc(x_47); -lean_dec(x_45); -x_49 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_49, 0, x_47); -lean_ctor_set(x_49, 1, x_48); -return x_49; -} -} -} -} -else -{ -lean_object* x_50; lean_object* x_51; uint8_t x_52; -lean_dec(x_33); -x_50 = lean_mk_string_unchecked("'_' is not allowed here", 23, 23); -x_51 = l_Lean_Macro_throwErrorAt___rarg(x_11, x_50, x_7, x_8); -lean_dec(x_11); -x_52 = !lean_is_exclusive(x_51); -if (x_52 == 0) -{ -return x_51; -} -else -{ -lean_object* x_53; lean_object* x_54; lean_object* x_55; -x_53 = lean_ctor_get(x_51, 0); -x_54 = lean_ctor_get(x_51, 1); -lean_inc(x_54); -lean_inc(x_53); -lean_dec(x_51); -x_55 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_55, 0, x_53); -lean_ctor_set(x_55, 1, x_54); -return x_55; -} -} -} -} -else -{ -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; uint8_t x_60; -x_56 = lean_unsigned_to_nat(1u); -x_57 = l_Lean_Syntax_getArg(x_11, x_56); -x_58 = lean_unsigned_to_nat(2u); -x_59 = l_Lean_Syntax_getArg(x_11, x_58); -x_60 = l_Lean_Syntax_isNone(x_59); -if (x_60 == 0) -{ -uint8_t x_61; -lean_inc(x_59); -x_61 = l_Lean_Syntax_matchesNull(x_59, x_56); -if (x_61 == 0) -{ -lean_object* x_62; lean_object* x_63; -lean_dec(x_59); -lean_dec(x_57); -lean_dec(x_25); -lean_dec(x_13); -lean_dec(x_11); -lean_dec(x_7); -lean_dec(x_1); -x_62 = lean_box(1); -x_63 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_63, 0, x_62); -lean_ctor_set(x_63, 1, x_8); -return x_63; -} -else -{ -lean_object* x_64; lean_object* x_65; uint8_t x_66; -x_64 = l_Lean_Syntax_getArg(x_59, x_12); -lean_dec(x_59); -x_65 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__6; -lean_inc(x_64); -x_66 = l_Lean_Syntax_isOfKind(x_64, x_65); -if (x_66 == 0) -{ -lean_object* x_67; lean_object* x_68; -lean_dec(x_64); -lean_dec(x_57); -lean_dec(x_25); -lean_dec(x_13); -lean_dec(x_11); -lean_dec(x_7); -lean_dec(x_1); -x_67 = lean_box(1); -x_68 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_68, 0, x_67); -lean_ctor_set(x_68, 1, x_8); -return x_68; -} -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; -x_69 = l_Lean_Syntax_getArg(x_64, x_56); -lean_dec(x_64); -x_70 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_70, 0, x_69); -x_71 = lean_box(0); -lean_inc(x_7); -lean_inc(x_1); -x_72 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4(x_11, x_57, x_1, x_25, x_3, x_2, x_71, x_70, x_7, x_8); -lean_dec(x_57); -lean_dec(x_11); -x_73 = lean_ctor_get(x_72, 0); -lean_inc(x_73); -x_74 = lean_ctor_get(x_72, 1); -lean_inc(x_74); -lean_dec(x_72); -x_14 = x_73; -x_15 = x_74; -goto block_20; -} -} -} -else -{ -lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; -lean_dec(x_59); -x_75 = lean_box(0); -x_76 = lean_box(0); -lean_inc(x_7); -lean_inc(x_1); -x_77 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4(x_11, x_57, x_1, x_25, x_3, x_2, x_76, x_75, x_7, x_8); -lean_dec(x_57); -lean_dec(x_11); -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(x_77); -x_14 = x_78; -x_15 = x_79; -goto block_20; -} -} -} -block_20: -{ -size_t x_16; size_t x_17; lean_object* x_18; -x_16 = 1; -x_17 = lean_usize_add(x_5, x_16); -x_18 = lean_array_uset(x_13, x_5, x_14); -x_5 = x_17; -x_6 = x_18; -x_8 = x_15; -goto _start; -} -} -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { -_start: -{ -uint8_t x_5; -x_5 = lean_usize_dec_lt(x_3, x_2); -if (x_5 == 0) -{ -return x_4; -} -else -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; size_t x_10; lean_object* x_11; -x_6 = lean_array_uget(x_4, x_3); -x_7 = lean_unsigned_to_nat(0u); -x_8 = lean_array_uset(x_4, x_3, x_7); -x_9 = 1; -x_10 = lean_usize_add(x_3, x_9); -x_11 = lean_array_uset(x_8, x_3, x_6); -x_3 = x_10; -x_4 = x_11; -goto _start; -} -} -} -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInst", 10, 10); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__2() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("{", 1, 1); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__4() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstFieldAbbrev", 21, 21); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__4; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__2; -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___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__5; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__6; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__8() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked(",", 1, 1); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__9() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("optEllipsis", 11, 11); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__10() { -_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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; -x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__9; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__11() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("}", 1, 1); -return x_1; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1(lean_object* x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -lean_object* x_11; size_t x_12; lean_object* x_13; -x_11 = lean_box(0); -x_12 = lean_array_size(x_1); -lean_inc(x_9); -x_13 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2(x_12, x_2, x_1, x_9, x_10); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; size_t x_17; lean_object* x_18; -x_14 = lean_ctor_get(x_13, 0); -lean_inc(x_14); -x_15 = lean_ctor_get(x_13, 1); -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; -} else { - lean_dec_ref(x_13); - x_16 = lean_box(0); -} -x_17 = lean_array_size(x_14); -lean_inc(x_9); -lean_inc(x_3); -x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4(x_3, x_2, x_11, x_17, x_2, x_14, x_9, x_15); -if (lean_obj_tag(x_18) == 0) -{ -lean_object* x_19; lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; size_t 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; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_61; -x_19 = lean_ctor_get(x_18, 0); -lean_inc(x_19); -x_20 = lean_ctor_get(x_18, 1); -lean_inc(x_20); -if (lean_is_exclusive(x_18)) { - lean_ctor_release(x_18, 0); - lean_ctor_release(x_18, 1); - x_21 = x_18; -} else { - lean_dec_ref(x_18); - x_21 = lean_box(0); -} -x_22 = 0; -x_23 = l_Lean_Syntax_getPos_x3f(x_4, x_22); -x_24 = l_Lean_Syntax_getTailInfo_x3f(x_5); -x_25 = lean_ctor_get(x_9, 5); -lean_inc(x_25); -x_26 = l_Lean_SourceInfo_fromRef(x_25, x_22); -lean_dec(x_25); -x_27 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__3; -lean_inc(x_26); -x_28 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_28, 0, x_26); -lean_ctor_set(x_28, 1, x_27); -x_29 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__10; -lean_inc(x_3); -lean_inc(x_26); -x_30 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_30, 0, x_26); -lean_ctor_set(x_30, 1, x_29); -lean_ctor_set(x_30, 2, x_3); -x_31 = lean_array_size(x_19); -x_32 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__7; -x_33 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5(x_32, x_31, x_2, x_19); -x_34 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__8; -x_35 = l_Lean_Syntax_SepArray_ofElems(x_34, x_33); -lean_dec(x_33); -x_36 = l_Array_append___rarg(x_3, x_35); -lean_dec(x_35); -lean_inc(x_26); -x_37 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_37, 0, x_26); -lean_ctor_set(x_37, 1, x_29); -lean_ctor_set(x_37, 2, x_36); -lean_inc(x_26); -x_38 = l_Lean_Syntax_node1(x_26, x_6, x_37); -x_39 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__10; -lean_inc(x_30); -lean_inc(x_26); -x_40 = l_Lean_Syntax_node1(x_26, x_39, x_30); -x_41 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__11; -lean_inc(x_26); -x_42 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_42, 0, x_26); -lean_ctor_set(x_42, 1, x_41); -x_43 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__2; -lean_inc(x_30); -x_44 = l_Lean_Syntax_node6(x_26, x_43, x_28, x_30, x_38, x_40, x_30, x_42); -if (lean_obj_tag(x_23) == 0) -{ -lean_object* x_95; -x_95 = lean_box(2); -x_61 = x_95; -goto block_94; -} -else -{ -lean_object* x_96; lean_object* x_97; lean_object* x_98; uint8_t x_99; lean_object* x_100; -x_96 = lean_ctor_get(x_23, 0); -lean_inc(x_96); -lean_dec(x_23); -x_97 = lean_unsigned_to_nat(1u); -x_98 = lean_nat_add(x_96, x_97); -x_99 = 1; -x_100 = lean_alloc_ctor(1, 2, 1); -lean_ctor_set(x_100, 0, x_96); -lean_ctor_set(x_100, 1, x_98); -lean_ctor_set_uint8(x_100, sizeof(void*)*2, x_99); -x_61 = x_100; -goto block_94; -} -block_60: -{ -lean_object* x_47; -x_47 = l_Lean_SourceInfo_getTailPos_x3f(x_45, x_22); -lean_dec(x_45); -if (lean_obj_tag(x_47) == 0) -{ -lean_object* x_48; lean_object* x_49; -lean_dec(x_46); -x_48 = lean_box(2); -x_49 = l_Lean_Syntax_setInfo(x_48, x_44); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_50; -lean_dec(x_9); -if (lean_is_scalar(x_21)) { - x_50 = lean_alloc_ctor(0, 2, 0); -} else { - x_50 = x_21; -} -lean_ctor_set(x_50, 0, x_49); -lean_ctor_set(x_50, 1, x_20); -return x_50; -} -else -{ -lean_object* x_51; lean_object* x_52; -lean_dec(x_21); -x_51 = lean_ctor_get(x_8, 0); -lean_inc(x_51); -lean_dec(x_8); -x_52 = l_Lean_Elab_Term_expandWhereDecls(x_51, x_49, x_9, x_20); -lean_dec(x_9); -return x_52; -} -} -else -{ -lean_object* x_53; uint8_t x_54; lean_object* x_55; lean_object* x_56; -x_53 = lean_ctor_get(x_47, 0); -lean_inc(x_53); -lean_dec(x_47); -x_54 = 1; -x_55 = lean_alloc_ctor(1, 2, 1); -lean_ctor_set(x_55, 0, x_46); -lean_ctor_set(x_55, 1, x_53); -lean_ctor_set_uint8(x_55, sizeof(void*)*2, x_54); -x_56 = l_Lean_Syntax_setInfo(x_55, x_44); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_57; -lean_dec(x_9); -if (lean_is_scalar(x_21)) { - x_57 = lean_alloc_ctor(0, 2, 0); -} else { - x_57 = x_21; -} -lean_ctor_set(x_57, 0, x_56); -lean_ctor_set(x_57, 1, x_20); -return x_57; -} -else -{ -lean_object* x_58; lean_object* x_59; -lean_dec(x_21); -x_58 = lean_ctor_get(x_8, 0); -lean_inc(x_58); -lean_dec(x_8); -x_59 = l_Lean_Elab_Term_expandWhereDecls(x_58, x_56, x_9, x_20); -lean_dec(x_9); -return x_59; -} -} -} -block_94: -{ -lean_object* x_62; lean_object* x_63; -x_62 = l_Lean_SourceInfo_getPos_x3f(x_61, x_22); -lean_dec(x_61); -if (lean_obj_tag(x_24) == 0) -{ -lean_object* x_84; -x_84 = l_Lean_Syntax_getTailInfo_x3f(x_4); -if (lean_obj_tag(x_84) == 0) -{ -lean_dec(x_16); -if (lean_obj_tag(x_62) == 0) -{ -lean_object* x_85; lean_object* x_86; -lean_dec(x_21); -x_85 = lean_box(2); -x_86 = l_Lean_Syntax_setInfo(x_85, x_44); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_87; -lean_dec(x_9); -x_87 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_87, 0, x_86); -lean_ctor_set(x_87, 1, x_20); -return x_87; -} -else -{ -lean_object* x_88; lean_object* x_89; -x_88 = lean_ctor_get(x_8, 0); -lean_inc(x_88); -lean_dec(x_8); -x_89 = l_Lean_Elab_Term_expandWhereDecls(x_88, x_86, x_9, x_20); -lean_dec(x_9); -return x_89; -} -} -else -{ -lean_object* x_90; lean_object* x_91; -x_90 = lean_ctor_get(x_62, 0); -lean_inc(x_90); -lean_dec(x_62); -x_91 = lean_box(2); -x_45 = x_91; -x_46 = x_90; -goto block_60; -} -} -else -{ -lean_object* x_92; -x_92 = lean_ctor_get(x_84, 0); -lean_inc(x_92); -lean_dec(x_84); -x_63 = x_92; -goto block_83; -} -} -else -{ -lean_object* x_93; -x_93 = lean_ctor_get(x_24, 0); -lean_inc(x_93); -lean_dec(x_24); -x_63 = x_93; -goto block_83; -} -block_83: -{ -if (lean_obj_tag(x_63) == 0) -{ -if (lean_obj_tag(x_62) == 0) -{ -lean_object* x_64; lean_object* x_65; -lean_dec(x_63); -lean_dec(x_21); -x_64 = lean_box(2); -x_65 = l_Lean_Syntax_setInfo(x_64, x_44); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_66; -lean_dec(x_9); -if (lean_is_scalar(x_16)) { - x_66 = lean_alloc_ctor(0, 2, 0); -} else { - x_66 = x_16; -} -lean_ctor_set(x_66, 0, x_65); -lean_ctor_set(x_66, 1, x_20); -return x_66; -} -else -{ -lean_object* x_67; lean_object* x_68; -lean_dec(x_16); -x_67 = lean_ctor_get(x_8, 0); -lean_inc(x_67); -lean_dec(x_8); -x_68 = l_Lean_Elab_Term_expandWhereDecls(x_67, x_65, x_9, x_20); -lean_dec(x_9); -return x_68; -} -} -else -{ -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_dec(x_16); -x_69 = lean_ctor_get(x_63, 2); -lean_inc(x_69); -lean_dec(x_63); -x_70 = lean_ctor_get(x_62, 0); -lean_inc(x_70); -lean_dec(x_62); -x_71 = lean_ctor_get(x_69, 0); -lean_inc(x_71); -x_72 = lean_ctor_get(x_69, 2); -lean_inc(x_72); -lean_dec(x_69); -x_73 = lean_string_utf8_prev(x_71, x_72); -lean_dec(x_71); -x_74 = 1; -x_75 = lean_alloc_ctor(1, 2, 1); -lean_ctor_set(x_75, 0, x_73); -lean_ctor_set(x_75, 1, x_72); -lean_ctor_set_uint8(x_75, sizeof(void*)*2, x_74); -x_45 = x_75; -x_46 = x_70; -goto block_60; -} -} -else -{ -lean_dec(x_63); -if (lean_obj_tag(x_62) == 0) -{ -lean_object* x_76; lean_object* x_77; -lean_dec(x_21); -x_76 = lean_box(2); -x_77 = l_Lean_Syntax_setInfo(x_76, x_44); -if (lean_obj_tag(x_8) == 0) -{ -lean_object* x_78; -lean_dec(x_9); -if (lean_is_scalar(x_16)) { - x_78 = lean_alloc_ctor(0, 2, 0); -} else { - x_78 = x_16; -} -lean_ctor_set(x_78, 0, x_77); -lean_ctor_set(x_78, 1, x_20); -return x_78; -} -else +uint8_t x_5; +x_5 = lean_usize_dec_lt(x_3, x_2); +if (x_5 == 0) { -lean_object* x_79; lean_object* x_80; -lean_dec(x_16); -x_79 = lean_ctor_get(x_8, 0); -lean_inc(x_79); -lean_dec(x_8); -x_80 = l_Lean_Elab_Term_expandWhereDecls(x_79, x_77, x_9, x_20); -lean_dec(x_9); -return x_80; -} +return x_4; } else { -lean_object* x_81; lean_object* x_82; -lean_dec(x_16); -x_81 = lean_ctor_get(x_62, 0); -lean_inc(x_81); -lean_dec(x_62); -x_82 = lean_box(2); -x_45 = x_82; -x_46 = x_81; -goto block_60; +lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; size_t x_10; lean_object* x_11; +x_6 = lean_array_uget(x_4, x_3); +x_7 = lean_unsigned_to_nat(0u); +x_8 = lean_array_uset(x_4, x_3, x_7); +x_9 = 1; +x_10 = lean_usize_add(x_3, x_9); +x_11 = lean_array_uset(x_8, x_3, x_6); +x_3 = x_10; +x_4 = x_11; +goto _start; } } } +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("structInstField", 15, 15); +return x_1; } } -else -{ -uint8_t x_101; -lean_dec(x_16); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_3); -x_101 = !lean_is_exclusive(x_18); -if (x_101 == 0) +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__2() { +_start: { -return x_18; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; +x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; +x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; +x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } -else -{ -lean_object* x_102; lean_object* x_103; lean_object* x_104; -x_102 = lean_ctor_get(x_18, 0); -x_103 = lean_ctor_get(x_18, 1); -lean_inc(x_103); -lean_inc(x_102); -lean_dec(x_18); -x_104 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_104, 0, x_102); -lean_ctor_set(x_104, 1, x_103); -return x_104; } +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__2; +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; } } -else -{ -uint8_t x_105; -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_6); -lean_dec(x_3); -x_105 = !lean_is_exclusive(x_13); -if (x_105 == 0) +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__4() { +_start: { -return x_13; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("structInst", 10, 10); +return x_1; } -else +} +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__5() { +_start: { -lean_object* x_106; lean_object* x_107; lean_object* x_108; -x_106 = lean_ctor_get(x_13, 0); -x_107 = lean_ctor_get(x_13, 1); -lean_inc(x_107); -lean_inc(x_106); -lean_dec(x_13); -x_108 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_108, 0, x_106); -lean_ctor_set(x_108, 1, x_107); -return x_108; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; +x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; +x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; +x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__4; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("{", 1, 1); +return x_1; } } -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__1() { +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__7() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("whereStructInst", 15, 15); +x_1 = lean_mk_string_unchecked("structInstFields", 16, 16); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__2() { +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; -x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__2; -x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__1; +x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; +x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__7; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__3() { +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__9() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstFields", 16, 16); +x_1 = lean_mk_string_unchecked("structInstFieldAbbrev", 21, 21); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__4() { +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__10() { _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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__3; +x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__9; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__5() { +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__11() { _start: { -uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = 1; -x_2 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; -x_3 = lean_box(x_1); -x_4 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_4, 0, x_3); -lean_ctor_set(x_4, 1, x_2); -return x_4; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__10; +x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__3; +x_3 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__6() { +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__12() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("whereDecls", 10, 10); +x_1 = lean_mk_string_unchecked(",", 1, 1); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__7() { +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__13() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("optEllipsis", 11, 11); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__14() { _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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__6; +x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__13; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__15() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("}", 1, 1); +return x_1; +} +} LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { -lean_object* x_4; uint8_t x_5; -x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__2; -lean_inc(x_1); -x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); -if (x_5 == 0) +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; 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_20; lean_object* x_21; lean_object* x_22; size_t x_23; size_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_55; +x_4 = lean_unsigned_to_nat(0u); +x_5 = l_Lean_Syntax_getArg(x_1, x_4); +x_6 = lean_unsigned_to_nat(1u); +x_7 = l_Lean_Syntax_getArg(x_1, x_6); +x_8 = l_Lean_Syntax_getArg(x_7, x_4); +x_9 = l_Lean_Syntax_getSepArgs(x_8); +lean_dec(x_8); +x_10 = lean_unsigned_to_nat(2u); +x_11 = l_Lean_Syntax_getArg(x_1, x_10); +x_12 = l_Lean_Syntax_getOptional_x3f(x_11); +lean_dec(x_11); +x_13 = 0; +x_14 = l_Lean_Syntax_getPos_x3f(x_5, x_13); +x_15 = l_Lean_Syntax_getTailInfo_x3f(x_7); +lean_dec(x_7); +x_16 = lean_ctor_get(x_2, 5); +x_17 = l_Lean_SourceInfo_fromRef(x_16, x_13); +x_18 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__6; +lean_inc(x_17); +x_19 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_19, 0, x_17); +lean_ctor_set(x_19, 1, x_18); +x_20 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__10; +x_21 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; +lean_inc(x_17); +x_22 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_22, 0, x_17); +lean_ctor_set(x_22, 1, x_20); +lean_ctor_set(x_22, 2, x_21); +x_23 = lean_array_size(x_9); +x_24 = 0; +x_25 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__11; +x_26 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1(x_25, x_23, x_24, x_9); +x_27 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__12; +x_28 = l_Lean_Syntax_SepArray_ofElems(x_27, x_26); +lean_dec(x_26); +x_29 = l_Array_append___rarg(x_21, x_28); +lean_dec(x_28); +lean_inc(x_17); +x_30 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_30, 0, x_17); +lean_ctor_set(x_30, 1, x_20); +lean_ctor_set(x_30, 2, x_29); +x_31 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__8; +lean_inc(x_17); +x_32 = l_Lean_Syntax_node1(x_17, x_31, x_30); +x_33 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__14; +lean_inc(x_22); +lean_inc(x_17); +x_34 = l_Lean_Syntax_node1(x_17, x_33, x_22); +x_35 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__15; +lean_inc(x_17); +x_36 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_36, 0, x_17); +lean_ctor_set(x_36, 1, x_35); +x_37 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__5; +lean_inc(x_22); +x_38 = l_Lean_Syntax_node6(x_17, x_37, x_19, x_22, x_32, x_34, x_22, x_36); +if (lean_obj_tag(x_14) == 0) { -lean_object* x_6; lean_object* x_7; -lean_dec(x_2); -lean_dec(x_1); -x_6 = lean_box(1); -x_7 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_7, 0, x_6); -lean_ctor_set(x_7, 1, x_3); -return x_7; +lean_object* x_89; +x_89 = lean_box(2); +x_55 = x_89; +goto block_88; } else { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_8 = lean_unsigned_to_nat(0u); -x_9 = l_Lean_Syntax_getArg(x_1, x_8); -x_10 = lean_unsigned_to_nat(1u); -x_11 = l_Lean_Syntax_getArg(x_1, x_10); -x_12 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__4; -lean_inc(x_11); -x_13 = l_Lean_Syntax_isOfKind(x_11, x_12); -if (x_13 == 0) +lean_object* x_90; lean_object* x_91; uint8_t x_92; lean_object* x_93; +x_90 = lean_ctor_get(x_14, 0); +lean_inc(x_90); +lean_dec(x_14); +x_91 = lean_nat_add(x_90, x_6); +x_92 = 1; +x_93 = lean_alloc_ctor(1, 2, 1); +lean_ctor_set(x_93, 0, x_90); +lean_ctor_set(x_93, 1, x_91); +lean_ctor_set_uint8(x_93, sizeof(void*)*2, x_92); +x_55 = x_93; +goto block_88; +} +block_54: +{ +lean_object* x_41; +x_41 = l_Lean_SourceInfo_getTailPos_x3f(x_39, x_13); +lean_dec(x_39); +if (lean_obj_tag(x_41) == 0) { -lean_object* x_14; lean_object* x_15; -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_2); -lean_dec(x_1); -x_14 = lean_box(1); -x_15 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_15, 0, x_14); -lean_ctor_set(x_15, 1, x_3); -return x_15; +lean_object* x_42; lean_object* x_43; +lean_dec(x_40); +x_42 = lean_box(2); +x_43 = l_Lean_Syntax_setInfo(x_42, x_38); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_44; +x_44 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_44, 0, x_43); +lean_ctor_set(x_44, 1, x_3); +return x_44; } else { -lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; size_t x_20; lean_object* x_21; -x_16 = l_Lean_Syntax_getArg(x_11, x_8); -x_17 = l_Lean_Syntax_getArgs(x_16); -lean_dec(x_16); -x_18 = lean_array_get_size(x_17); -x_19 = lean_nat_dec_lt(x_8, x_18); -x_20 = 0; -if (x_19 == 0) -{ -lean_object* x_67; -lean_dec(x_18); -lean_dec(x_17); -x_67 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; -x_21 = x_67; -goto block_66; +lean_object* x_45; lean_object* x_46; +x_45 = lean_ctor_get(x_12, 0); +lean_inc(x_45); +lean_dec(x_12); +x_46 = l_Lean_Elab_Term_expandWhereDecls(x_45, x_43, x_2, x_3); +return x_46; +} } else { -uint8_t x_68; -x_68 = lean_nat_dec_le(x_18, x_18); -if (x_68 == 0) +lean_object* x_47; uint8_t x_48; lean_object* x_49; lean_object* x_50; +x_47 = lean_ctor_get(x_41, 0); +lean_inc(x_47); +lean_dec(x_41); +x_48 = 1; +x_49 = lean_alloc_ctor(1, 2, 1); +lean_ctor_set(x_49, 0, x_40); +lean_ctor_set(x_49, 1, x_47); +lean_ctor_set_uint8(x_49, sizeof(void*)*2, x_48); +x_50 = l_Lean_Syntax_setInfo(x_49, x_38); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_69; -lean_dec(x_18); -lean_dec(x_17); -x_69 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; -x_21 = x_69; -goto block_66; +lean_object* x_51; +x_51 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_51, 0, x_50); +lean_ctor_set(x_51, 1, x_3); +return x_51; } else { -size_t x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_70 = lean_usize_of_nat(x_18); -lean_dec(x_18); -x_71 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__5; -x_72 = l_Array_foldlMUnsafe_fold___at_Lean_Syntax_SepArray_getElems___spec__1(x_17, x_20, x_70, x_71); -lean_dec(x_17); -x_73 = lean_ctor_get(x_72, 1); -lean_inc(x_73); -lean_dec(x_72); -x_21 = x_73; -goto block_66; +lean_object* x_52; lean_object* x_53; +x_52 = lean_ctor_get(x_12, 0); +lean_inc(x_52); +lean_dec(x_12); +x_53 = l_Lean_Elab_Term_expandWhereDecls(x_52, x_50, x_2, x_3); +return x_53; } } -block_66: -{ -size_t x_22; lean_object* x_23; -x_22 = lean_array_size(x_21); -x_23 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1(x_22, x_20, x_21); -if (lean_obj_tag(x_23) == 0) -{ -lean_object* x_24; lean_object* x_25; -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_2); -lean_dec(x_1); -x_24 = lean_box(1); -x_25 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_25, 0, x_24); -lean_ctor_set(x_25, 1, x_3); -return x_25; } -else +block_88: { -uint8_t x_26; -x_26 = !lean_is_exclusive(x_23); -if (x_26 == 0) +lean_object* x_56; lean_object* x_57; +x_56 = l_Lean_SourceInfo_getPos_x3f(x_55, x_13); +lean_dec(x_55); +if (lean_obj_tag(x_15) == 0) { -lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; -x_27 = lean_ctor_get(x_23, 0); -x_28 = lean_unsigned_to_nat(2u); -x_29 = l_Lean_Syntax_getArg(x_1, x_28); -lean_dec(x_1); -x_30 = l_Lean_Syntax_isNone(x_29); -if (x_30 == 0) +lean_object* x_78; +x_78 = l_Lean_Syntax_getTailInfo_x3f(x_5); +lean_dec(x_5); +if (lean_obj_tag(x_78) == 0) { -uint8_t x_31; -lean_inc(x_29); -x_31 = l_Lean_Syntax_matchesNull(x_29, x_10); -if (x_31 == 0) +if (lean_obj_tag(x_56) == 0) { -lean_object* x_32; lean_object* x_33; -lean_dec(x_29); -lean_free_object(x_23); -lean_dec(x_27); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_2); -x_32 = lean_box(1); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_32); -lean_ctor_set(x_33, 1, x_3); -return x_33; +lean_object* x_79; lean_object* x_80; +x_79 = lean_box(2); +x_80 = l_Lean_Syntax_setInfo(x_79, x_38); +if (lean_obj_tag(x_12) == 0) +{ +lean_object* x_81; +x_81 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_81, 0, x_80); +lean_ctor_set(x_81, 1, x_3); +return x_81; } else { -lean_object* x_34; lean_object* x_35; uint8_t x_36; -x_34 = l_Lean_Syntax_getArg(x_29, x_8); -lean_dec(x_29); -x_35 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__7; -lean_inc(x_34); -x_36 = l_Lean_Syntax_isOfKind(x_34, x_35); -if (x_36 == 0) -{ -lean_object* x_37; lean_object* x_38; -lean_dec(x_34); -lean_free_object(x_23); -lean_dec(x_27); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_2); -x_37 = lean_box(1); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_37); -lean_ctor_set(x_38, 1, x_3); -return x_38; +lean_object* x_82; lean_object* x_83; +x_82 = lean_ctor_get(x_12, 0); +lean_inc(x_82); +lean_dec(x_12); +x_83 = l_Lean_Elab_Term_expandWhereDecls(x_82, x_80, x_2, x_3); +return x_83; +} } else { -lean_object* x_39; lean_object* x_40; lean_object* x_41; -lean_ctor_set(x_23, 0, x_34); -x_39 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; -x_40 = lean_box(0); -x_41 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1(x_27, x_20, x_39, x_9, x_11, x_12, x_40, x_23, x_2, x_3); -lean_dec(x_11); -lean_dec(x_9); -return x_41; -} +lean_object* x_84; lean_object* x_85; +x_84 = lean_ctor_get(x_56, 0); +lean_inc(x_84); +lean_dec(x_56); +x_85 = lean_box(2); +x_39 = x_85; +x_40 = x_84; +goto block_54; } } else { -lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -lean_dec(x_29); -lean_free_object(x_23); -x_42 = lean_box(0); -x_43 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; -x_44 = lean_box(0); -x_45 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1(x_27, x_20, x_43, x_9, x_11, x_12, x_44, x_42, x_2, x_3); -lean_dec(x_11); -lean_dec(x_9); -return x_45; +lean_object* x_86; +x_86 = lean_ctor_get(x_78, 0); +lean_inc(x_86); +lean_dec(x_78); +x_57 = x_86; +goto block_77; } } else { -lean_object* x_46; lean_object* x_47; lean_object* x_48; uint8_t x_49; -x_46 = lean_ctor_get(x_23, 0); -lean_inc(x_46); -lean_dec(x_23); -x_47 = lean_unsigned_to_nat(2u); -x_48 = l_Lean_Syntax_getArg(x_1, x_47); -lean_dec(x_1); -x_49 = l_Lean_Syntax_isNone(x_48); -if (x_49 == 0) +lean_object* x_87; +lean_dec(x_5); +x_87 = lean_ctor_get(x_15, 0); +lean_inc(x_87); +lean_dec(x_15); +x_57 = x_87; +goto block_77; +} +block_77: { -uint8_t x_50; -lean_inc(x_48); -x_50 = l_Lean_Syntax_matchesNull(x_48, x_10); -if (x_50 == 0) +if (lean_obj_tag(x_57) == 0) { -lean_object* x_51; lean_object* x_52; -lean_dec(x_48); -lean_dec(x_46); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_2); -x_51 = lean_box(1); -x_52 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_52, 0, x_51); -lean_ctor_set(x_52, 1, x_3); -return x_52; -} -else +if (lean_obj_tag(x_56) == 0) { -lean_object* x_53; lean_object* x_54; uint8_t x_55; -x_53 = l_Lean_Syntax_getArg(x_48, x_8); -lean_dec(x_48); -x_54 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__7; -lean_inc(x_53); -x_55 = l_Lean_Syntax_isOfKind(x_53, x_54); -if (x_55 == 0) +lean_object* x_58; lean_object* x_59; +lean_dec(x_57); +x_58 = lean_box(2); +x_59 = l_Lean_Syntax_setInfo(x_58, x_38); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_56; lean_object* x_57; -lean_dec(x_53); -lean_dec(x_46); -lean_dec(x_11); -lean_dec(x_9); -lean_dec(x_2); -x_56 = lean_box(1); -x_57 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_57, 0, x_56); -lean_ctor_set(x_57, 1, x_3); -return x_57; +lean_object* x_60; +x_60 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_60, 0, x_59); +lean_ctor_set(x_60, 1, x_3); +return x_60; } else { -lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; -x_58 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_58, 0, x_53); -x_59 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; -x_60 = lean_box(0); -x_61 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1(x_46, x_20, x_59, x_9, x_11, x_12, x_60, x_58, x_2, x_3); -lean_dec(x_11); -lean_dec(x_9); -return x_61; -} +lean_object* x_61; lean_object* x_62; +x_61 = lean_ctor_get(x_12, 0); +lean_inc(x_61); +lean_dec(x_12); +x_62 = l_Lean_Elab_Term_expandWhereDecls(x_61, x_59, x_2, x_3); +return x_62; } } else { -lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; -lean_dec(x_48); -x_62 = lean_box(0); -x_63 = l_Lean_Elab_instInhabitedDefViewElabHeader___closed__1; -x_64 = lean_box(0); -x_65 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1(x_46, x_20, x_63, x_9, x_11, x_12, x_64, x_62, x_2, x_3); -lean_dec(x_11); -lean_dec(x_9); -return x_65; -} -} -} -} -} -} -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -size_t x_4; size_t x_5; lean_object* x_6; -x_4 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_5 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_6 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1(x_4, x_5, x_3); -return x_6; +lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; uint8_t x_68; lean_object* x_69; +x_63 = lean_ctor_get(x_57, 2); +lean_inc(x_63); +lean_dec(x_57); +x_64 = lean_ctor_get(x_56, 0); +lean_inc(x_64); +lean_dec(x_56); +x_65 = lean_ctor_get(x_63, 0); +lean_inc(x_65); +x_66 = lean_ctor_get(x_63, 2); +lean_inc(x_66); +lean_dec(x_63); +x_67 = lean_string_utf8_prev(x_65, x_66); +lean_dec(x_65); +x_68 = 1; +x_69 = lean_alloc_ctor(1, 2, 1); +lean_ctor_set(x_69, 0, x_67); +lean_ctor_set(x_69, 1, x_66); +lean_ctor_set_uint8(x_69, sizeof(void*)*2, x_68); +x_39 = x_69; +x_40 = x_64; +goto block_54; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: +else { -size_t x_6; size_t x_7; lean_object* x_8; -x_6 = lean_unbox_usize(x_1); -lean_dec(x_1); -x_7 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_8 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2(x_6, x_7, x_3, x_4, x_5); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: +lean_dec(x_57); +if (lean_obj_tag(x_56) == 0) { -size_t x_5; size_t x_6; lean_object* x_7; -x_5 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_6 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_7 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__3(x_1, x_5, x_6, x_4); -lean_dec(x_1); -return x_7; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: +lean_object* x_70; lean_object* x_71; +x_70 = lean_box(2); +x_71 = l_Lean_Syntax_setInfo(x_70, x_38); +if (lean_obj_tag(x_12) == 0) { -lean_object* x_5; -x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__1(x_1, x_2, x_3, x_4); -lean_dec(x_2); -lean_dec(x_1); -return x_5; -} +lean_object* x_72; +x_72 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_72, 0, x_71); +lean_ctor_set(x_72, 1, x_3); +return x_72; } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: +else { -lean_object* x_7; -x_7 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_3); -return x_7; +lean_object* x_73; lean_object* x_74; +x_73 = lean_ctor_get(x_12, 0); +lean_inc(x_73); +lean_dec(x_12); +x_74 = l_Lean_Elab_Term_expandWhereDecls(x_73, x_71, x_2, x_3); +return x_74; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9) { -_start: +else { -size_t x_10; lean_object* x_11; -x_10 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_11 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3(x_1, x_2, x_3, x_4, x_10, x_6, x_7, x_8, x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_4); -return x_11; +lean_object* x_75; lean_object* x_76; +x_75 = lean_ctor_get(x_56, 0); +lean_inc(x_75); +lean_dec(x_56); +x_76 = lean_box(2); +x_39 = x_76; +x_40 = x_75; +goto block_54; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { -_start: -{ -size_t x_11; lean_object* x_12; -x_11 = lean_unbox_usize(x_6); -lean_dec(x_6); -x_12 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4(x_1, x_2, x_3, x_4, x_5, x_11, x_7, x_8, x_9, x_10); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_2); -lean_dec(x_1); -return x_12; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___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: -{ -size_t x_9; size_t x_10; size_t x_11; lean_object* x_12; -x_9 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_10 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_11 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_12 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4(x_1, x_9, x_3, x_10, x_11, x_6, x_7, x_8); -lean_dec(x_3); -return x_12; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { size_t x_5; size_t x_6; lean_object* x_7; @@ -16593,22 +14986,19 @@ x_5 = lean_unbox_usize(x_2); lean_dec(x_2); x_6 = lean_unbox_usize(x_3); lean_dec(x_3); -x_7 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__5(x_1, x_5, x_6, x_4); +x_7 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1(x_1, x_5, x_6, x_4); lean_dec(x_1); return x_7; } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { -size_t x_11; lean_object* x_12; -x_11 = lean_unbox_usize(x_2); +lean_object* x_4; +x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst(x_1, x_2, x_3); lean_dec(x_2); -x_12 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1(x_1, x_11, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_7); -lean_dec(x_5); -lean_dec(x_4); -return x_12; +lean_dec(x_1); +return x_4; } } static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__1() { @@ -16635,13 +15025,33 @@ static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_decl _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("unexpected declaration body", 27, 27); +x_1 = lean_mk_string_unchecked("whereStructInst", 15, 15); return x_1; } } static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__4() { _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_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; +x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__1; +x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_getBodyTerm_x3f___closed__2; +x_4 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__3; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__5() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("unexpected declaration body", 27, 27); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__6() { +_start: +{ lean_object* x_1; x_1 = lean_mk_string_unchecked("declaration body is missing", 27, 27); return x_1; @@ -16671,7 +15081,7 @@ x_10 = l_Lean_Syntax_isOfKind(x_1, x_9); if (x_10 == 0) { lean_object* x_11; uint8_t x_12; -x_11 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__2; +x_11 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__4; lean_inc(x_1); x_12 = l_Lean_Syntax_isOfKind(x_1, x_11); if (x_12 == 0) @@ -16681,7 +15091,7 @@ x_13 = l_Lean_Syntax_isMissing(x_1); if (x_13 == 0) { lean_object* x_14; lean_object* x_15; -x_14 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__3; +x_14 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__5; x_15 = l_Lean_Macro_throwErrorAt___rarg(x_1, x_14, x_2, x_3); lean_dec(x_1); return x_15; @@ -16689,7 +15099,7 @@ return x_15; else { lean_object* x_16; lean_object* x_17; -x_16 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__4; +x_16 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__6; x_17 = l_Lean_Macro_throwErrorAt___rarg(x_1, x_16, x_2, x_3); lean_dec(x_1); return x_17; @@ -16699,6 +15109,8 @@ else { lean_object* x_18; x_18 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst(x_1, x_2, x_3); +lean_dec(x_2); +lean_dec(x_1); return x_18; } } @@ -16761,7 +15173,7 @@ x_36 = l_Lean_Syntax_isOfKind(x_1, x_35); if (x_36 == 0) { lean_object* x_37; uint8_t x_38; -x_37 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__2; +x_37 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__4; lean_inc(x_1); x_38 = l_Lean_Syntax_isOfKind(x_1, x_37); if (x_38 == 0) @@ -16771,7 +15183,7 @@ x_39 = l_Lean_Syntax_isMissing(x_1); if (x_39 == 0) { lean_object* x_40; lean_object* x_41; -x_40 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__3; +x_40 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__5; x_41 = l_Lean_Macro_throwErrorAt___rarg(x_1, x_40, x_34, x_3); lean_dec(x_1); return x_41; @@ -16779,7 +15191,7 @@ return x_41; else { lean_object* x_42; lean_object* x_43; -x_42 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__4; +x_42 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__6; x_43 = l_Lean_Macro_throwErrorAt___rarg(x_1, x_42, x_34, x_3); lean_dec(x_1); return x_43; @@ -16789,6 +15201,8 @@ else { lean_object* x_44; x_44 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst(x_1, x_34, x_3); +lean_dec(x_34); +lean_dec(x_1); return x_44; } } @@ -20549,7 +18963,7 @@ lean_dec(x_1); return x_12; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__1() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__1() { _start: { lean_object* x_1; @@ -20557,7 +18971,7 @@ x_1 = lean_mk_string_unchecked("deprecated", 10, 10); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__2() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__2() { _start: { lean_object* x_1; @@ -20565,17 +18979,17 @@ x_1 = lean_mk_string_unchecked("oldSectionVars", 14, 14); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__3() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__1; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__2; +x_1 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__1; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__2; x_3 = l_Lean_Name_mkStr2(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__4() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__4() { _start: { lean_object* x_1; @@ -20583,13 +18997,13 @@ x_1 = lean_mk_string_unchecked("re-enable deprecated behavior of including exact return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__5() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__5() { _start: { uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = 0; x_2 = l_Lean_Elab_instantiateMVarsProfiling___closed__1; -x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__4; +x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__4; x_4 = lean_box(x_1); x_5 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_5, 0, x_4); @@ -20598,31 +19012,31 @@ lean_ctor_set(x_5, 2, x_3); return x_5; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__6() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__6; x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__1; -x_5 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__2; +x_4 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__1; +x_5 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__2; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__3; -x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__5; -x_4 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__6; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__3; +x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__5; +x_4 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__6; x_5 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_6____spec__1(x_2, x_3, x_4, x_1); return x_5; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__1() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__1() { _start: { lean_object* x_1; @@ -20630,7 +19044,7 @@ x_1 = lean_mk_string_unchecked("linter", 6, 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__2() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__2() { _start: { lean_object* x_1; @@ -20638,17 +19052,17 @@ x_1 = lean_mk_string_unchecked("unusedSectionVars", 17, 17); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__3() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__1; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__2; +x_1 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__1; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__2; x_3 = l_Lean_Name_mkStr2(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__4() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__4() { _start: { lean_object* x_1; @@ -20656,13 +19070,13 @@ x_1 = lean_mk_string_unchecked("enable the 'unused section variables in theorem return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__5() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__5() { _start: { uint8_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = 1; x_2 = l_Lean_Elab_instantiateMVarsProfiling___closed__1; -x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__4; +x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__4; x_4 = lean_box(x_1); x_5 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_5, 0, x_4); @@ -20671,26 +19085,26 @@ lean_ctor_set(x_5, 2, x_3); return x_5; } } -static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__6() { +static lean_object* _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__6; x_3 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders_mkTacTask___closed__1; -x_4 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__1; -x_5 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__2; +x_4 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__1; +x_5 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__2; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__3; -x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__5; -x_4 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__6; +x_2 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__3; +x_3 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__5; +x_4 = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__6; x_5 = l_Lean_Option_register___at_Lean_Elab_initFn____x40_Lean_Elab_AutoBound___hyg_6____spec__1(x_2, x_3, x_4, x_1); return x_5; } @@ -53666,7 +52080,7 @@ lean_dec(x_2); return x_9; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__1() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -53676,83 +52090,83 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__2() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__1; +x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__1; x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__8; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__3() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__2; +x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__2; x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__10; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__4() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__3; +x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__3; x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__4; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__5() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__4; +x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__4; x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__6; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__6() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__5; +x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__5; x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__14; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__7() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__6; +x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__6; x_2 = l_Lean_Elab_initFn____x40_Lean_Elab_MutualDef___hyg_5____closed__16; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__8() { +static lean_object* _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__7; -x_2 = lean_unsigned_to_nat(16938u); +x_1 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__7; +x_2 = lean_unsigned_to_nat(15750u); x_3 = l_Lean_Name_num___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; x_2 = l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_MutualClosure_mkClosureForAux___closed__2; x_3 = 0; -x_4 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__8; +x_4 = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__8; x_5 = l_Lean_registerTraceClass(x_2, x_3, x_4, x_1); return x_5; } @@ -54063,94 +52477,6 @@ l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___closed__1 = _ini lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___closed__1); l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed__const__1 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed__const__1(); lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_elabHeaders___boxed__const__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__2); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__3); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__1___closed__4); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__2); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__3); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__4); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__5 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__5(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__5); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__6 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__6(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__6); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__7 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__7(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__2___closed__7); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__1___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__1___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__1___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__2); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__3); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__4); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__5 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__5(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__2___closed__5); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__2); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__3); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__4); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__5 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__5(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__3___closed__5); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__2); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__3); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__4); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__5 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__5(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___lambda__4___closed__5); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__1 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__1); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__2 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__2); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__3 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__3); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__4 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__4); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__5 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__5(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__5); -l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__6 = _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__6(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___spec__4___closed__6); -l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__1 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__1); -l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__2 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__2(); -lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__2); -l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__3 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__3(); -lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__3); -l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__4 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__4(); -lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__4); -l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__5 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__5(); -lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__5); -l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__6 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__6(); -lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__6); -l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__7 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__7(); -lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__7); -l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__8 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__8(); -lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__8); -l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__9 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__9(); -lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__9); -l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__10 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__10(); -lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__10); -l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__11 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__11(); -lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___lambda__1___closed__11); l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__1 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__1(); lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__1); l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__2 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__2(); @@ -54165,6 +52491,22 @@ l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__6); l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__7 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__7(); lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__7); +l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__8 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__8(); +lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__8); +l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__9 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__9(); +lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__9); +l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__10 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__10(); +lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__10); +l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__11 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__11(); +lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__11); +l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__12 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__12(); +lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__12); +l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__13 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__13(); +lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__13); +l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__14 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__14(); +lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__14); +l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__15 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__15(); +lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_expandWhereStructInst___closed__15); l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__1 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__1(); lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__1); l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__2 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__2(); @@ -54173,6 +52515,10 @@ l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__3 = _i lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__3); l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__4 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__4(); lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__4); +l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__5 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__5(); +lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__5); +l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__6 = _init_l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__6(); +lean_mark_persistent(l___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerm___closed__6); l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__1___closed__1 = _init_l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__1___closed__1); l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__1___closed__2 = _init_l_Lean_Elab_elabTerminationHints___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_declValToTerminationHint___spec__1___lambda__1___closed__2(); @@ -54225,36 +52571,36 @@ l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Ter lean_mark_persistent(l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__4___closed__4); l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__7___lambda__1___closed__1 = _init_l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__7___lambda__1___closed__1(); lean_mark_persistent(l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_MutualDef_0__Lean_Elab_Term_withHeaderSecVars_collectUsed___spec__7___lambda__1___closed__1); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__1); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__2(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__2); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__3(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__3); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__4(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__4); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__5 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__5(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__5); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__6 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__6(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628____closed__6); -if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6628_(lean_io_mk_world()); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__1); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__2); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__3(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__3); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__4(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__4); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__5 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__5(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__5); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__6 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__6(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440____closed__6); +if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5440_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Elab_Term_deprecated_oldSectionVars = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Elab_Term_deprecated_oldSectionVars); lean_dec_ref(res); -}l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__1); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__2(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__2); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__3(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__3); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__4(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__4); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__5 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__5(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__5); -l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__6 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__6(); -lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667____closed__6); -if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_6667_(lean_io_mk_world()); +}l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__1 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__1); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__2 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__2); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__3 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__3(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__3); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__4 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__4(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__4); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__5 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__5(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__5); +l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__6 = _init_l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__6(); +lean_mark_persistent(l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479____closed__6); +if (builtin) {res = l_Lean_Elab_Term_initFn____x40_Lean_Elab_MutualDef___hyg_5479_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; l_Lean_Elab_Term_linter_unusedSectionVars = lean_io_result_get_value(res); lean_mark_persistent(l_Lean_Elab_Term_linter_unusedSectionVars); @@ -54446,23 +52792,23 @@ l_Lean_Elab_Command_elabMutualDef___lambda__3___closed__4 = _init_l_Lean_Elab_Co lean_mark_persistent(l_Lean_Elab_Command_elabMutualDef___lambda__3___closed__4); l_Lean_Elab_Command_elabMutualDef___lambda__3___closed__5 = _init_l_Lean_Elab_Command_elabMutualDef___lambda__3___closed__5(); lean_mark_persistent(l_Lean_Elab_Command_elabMutualDef___lambda__3___closed__5); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__1 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__1(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__1); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__2 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__2(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__2); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__3 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__3(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__3); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__4 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__4(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__4); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__5 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__5(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__5); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__6 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__6(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__6); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__7 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__7(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__7); -l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__8 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__8(); -lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938____closed__8); -if (builtin) {res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_16938_(lean_io_mk_world()); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__1 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__1(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__1); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__2 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__2(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__2); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__3 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__3(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__3); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__4 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__4(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__4); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__5 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__5(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__5); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__6 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__6(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__6); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__7 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__7(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__7); +l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__8 = _init_l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__8(); +lean_mark_persistent(l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750____closed__8); +if (builtin) {res = l_Lean_Elab_Command_initFn____x40_Lean_Elab_MutualDef___hyg_15750_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Elab/PatternVar.c b/stage0/stdlib/Lean/Elab/PatternVar.c index 83558a15dc3c..0667b3d440be 100644 --- a/stage0/stdlib/Lean/Elab/PatternVar.c +++ b/stage0/stdlib/Lean/Elab/PatternVar.c @@ -31,7 +31,6 @@ static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__17; LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__12(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__3; lean_object* l_Lean_Elab_Term_resolveId_x3f(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__8; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__6(lean_object*); static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__6; lean_object* lean_mk_empty_array_with_capacity(lean_object*); @@ -41,6 +40,7 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Patt static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__3; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processExplicitArg___spec__1___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_main___spec__3___closed__1; +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___spec__1___closed__2; static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__4___closed__16; @@ -62,7 +62,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__1 lean_object* l_Lean_MessageData_joinSep(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_CollectPatternVars_collect___spec__1___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_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__4___closed__17; -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___closed__2; lean_object* l_Lean_Name_toString(lean_object*, uint8_t, lean_object*); lean_object* l_Lean_Syntax_getId(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -86,24 +85,23 @@ static lean_object* l_Lean_Elab_Term_getPatternVars___closed__1; extern lean_object* l_Lean_Elab_Term_instMonadTermElabM; LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_processVar___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); -static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__3; static lean_object* l_Lean_Elab_Term_CollectPatternVars_instInhabitedState___closed__1; static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processExplicitArg___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_getPatternsVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Environment_isConstructor(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_samePatternsVariables(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtor(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_replaceRef(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___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___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___spec__8(lean_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_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_getPatternVarNames___spec__1(size_t, size_t, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_Term_getPatternsVars___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_qsort_sort___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__2___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_TSepArray_getElems___rarg(lean_object*); static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_getPatternsVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -126,6 +124,7 @@ lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_instInhabitedContext; static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected_showName___closed__3; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__5___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4(lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_processVar___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected_showName(lean_object*, lean_object*); extern lean_object* l_Lean_LocalContext_empty; @@ -137,6 +136,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__4 LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_getPatternsVars___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___closed__3; static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__27; +static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__1; static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__5___closed__4; lean_object* l_Lean_stringToMessageData(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -173,7 +173,7 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatte size_t lean_usize_of_nat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processExplicitArg(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_PatternVar_0__Lean_Elab_Term_CollectPatternVars_isDone___boxed(lean_object*); -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__11___closed__1; static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_processVar___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_pushNewArg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -207,16 +207,13 @@ lean_object* l_Lean_MessageData_ofSyntax(lean_object*); lean_object* l_Lean_Syntax_node6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__2; static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___closed__1; -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__10___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_collectPatternVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_processVar___lambda__3___closed__2; LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_Term_getPatternsVars___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__1; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processExplicitArg___spec__1(size_t, size_t, lean_object*); -static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__1; static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_getPatternsVars___spec__4___closed__3; -static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__5; static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_processVar___lambda__2___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_getNextParam(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__15(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -225,8 +222,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtor lean_object* l_Lean_MessageData_ofFormat(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___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_RBNode_ins___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected_showName___spec__2(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4(lean_object*, size_t, size_t, lean_object*); -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_instInhabitedState; static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__2; static lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___spec__1___closed__1; @@ -242,7 +237,6 @@ extern uint8_t l_Lean_instInhabitedBinderInfo; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_getPatternsVars___spec__4___closed__1; LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_foldlMAux___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__12(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__6(lean_object*, lean_object*, lean_object*, lean_object*); @@ -261,7 +255,6 @@ LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forM___at___private_Lean_Elab_ static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_processVar___lambda__2___closed__4; static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__22; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__4; -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_samePatternsVariables___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_processVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_getPatternsVars___spec__4___closed__6; @@ -273,6 +266,7 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_CollectPatternVar lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__13___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Core_withFreshMacroScope___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PersistentHashMap_forM___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__10___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__4___closed__9; @@ -288,11 +282,11 @@ lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__1___closed__2; lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_processVar___lambda__3___closed__1; -LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___boxed(lean_object**); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__7; static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__4___closed__15; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwInvalidPattern___spec__1___rarg(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_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___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*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__20; uint8_t l_Lean_Syntax_isIdent(lean_object*); lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_Term_0__Lean_Elab_Term_elabTermAux___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -307,7 +301,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_Coll static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwInvalidPattern___rarg___closed__1; lean_object* l_Array_eraseIdx___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_pushNewArg(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___spec__7___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at_Lean_Elab_Term_getPatternsVars___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__4___closed__11; static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__10___closed__8; @@ -323,9 +316,7 @@ uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___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_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected_showName___closed__2; static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__23; -LEAN_EXPORT lean_object* l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_expandApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__2; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__4___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_getPatternsVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); double l_Float_ofScientific(lean_object*, uint8_t, lean_object*); @@ -354,10 +345,9 @@ static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__12; static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__4; static lean_object* l_panic___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__1___closed__2; uint8_t l_Lean_Name_isAtomic(lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___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*); uint8_t lean_nat_dec_eq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__5___closed__2; -static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__13(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getFVarLocalDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_SepArray_ofElems(lean_object*, lean_object*); @@ -390,6 +380,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_Coll LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__8(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_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__6___rarg___boxed(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*); +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_pushNewArg___lambda__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___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__4___closed__4; uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*); @@ -433,10 +424,10 @@ lean_object* lean_array_mk(lean_object*); uint8_t l_Lean_Syntax_structEq(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___lambda__2___closed__1; static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__10___closed__6; +static lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processImplicitArg(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__2; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___spec__3(size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5(lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at_Lean_Elab_Term_getPatternsVars___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isTracingEnabledForCore(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected_showName___spec__6___boxed(lean_object*, lean_object*, lean_object*); @@ -456,6 +447,7 @@ size_t lean_array_size(lean_object*); LEAN_EXPORT uint8_t l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_isNextArgAccessible(lean_object*); static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__1___closed__1; static lean_object* l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__4___closed__12; +LEAN_EXPORT lean_object* l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_instInhabitedOfMonad___rarg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__1___rarg___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_PatternVar_0__Lean_Elab_Term_CollectPatternVars_processVar___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -500,14 +492,13 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatte lean_object* l_List_mapTR_loop___at_Lean_compileDecl___spec__1(lean_object*, lean_object*); uint8_t lean_string_dec_lt(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_CollectPatternVars_collect_processExplicitArg___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6(lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Meta_forallTelescopeReducing___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___spec__4___rarg(lean_object*, lean_object*, uint8_t, 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_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__7___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_expandMacros(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___closed__24; LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processId(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_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Subarray_forInUnsafe_loop___at_Lean_Elab_Term_CollectPatternVars_collect___spec__2___closed__2; static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__7; LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__11___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -520,7 +511,6 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PatternVar_0 static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect_processCtorAppCore___closed__2; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Init_Data_Repr_0__Nat_reprFast(lean_object*); -static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__6; LEAN_EXPORT lean_object* l_Lean_SMap_forM___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___spec__8(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_liftMacroM___at_Lean_Elab_Term_getPatternsVars___spec__1___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__10___closed__5; @@ -7255,7 +7245,7 @@ static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatt lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__6; x_2 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__7; -x_3 = lean_unsigned_to_nat(279u); +x_3 = lean_unsigned_to_nat(284u); x_4 = lean_unsigned_to_nat(15u); x_5 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__8; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -7612,7 +7602,7 @@ static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatt lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__6; x_2 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__7; -x_3 = lean_unsigned_to_nat(280u); +x_3 = lean_unsigned_to_nat(285u); x_4 = lean_unsigned_to_nat(74u); x_5 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__8; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -9963,7 +9953,7 @@ static lean_object* _init_l_Lean_Elab_Term_CollectPatternVars_collect_pushNewArg lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__6; x_2 = l_Lean_Elab_Term_CollectPatternVars_collect_pushNewArg___closed__1; -x_3 = lean_unsigned_to_nat(311u); +x_3 = lean_unsigned_to_nat(316u); x_4 = lean_unsigned_to_nat(11u); x_5 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__8; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -10273,263 +10263,101 @@ goto _start; } } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___closed__1() { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstLVal", 14, 14); -return x_1; -} -} -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___closed__2() { -_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_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__3; -x_2 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__4; -x_3 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__5; -x_4 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13) { -_start: -{ -uint8_t x_14; -x_14 = lean_usize_dec_lt(x_4, x_3); -if (x_14 == 0) -{ -lean_object* x_15; -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_1); -x_15 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_15, 0, x_5); -lean_ctor_set(x_15, 1, x_13); -return x_15; -} -else -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19; -x_16 = lean_array_uget(x_5, x_4); -x_17 = lean_unsigned_to_nat(0u); -x_18 = lean_array_uset(x_5, x_4, x_17); -lean_inc(x_16); -x_19 = l_Lean_Syntax_isOfKind(x_16, x_1); -if (x_19 == 0) -{ -lean_object* x_20; uint8_t x_21; -lean_dec(x_18); -lean_dec(x_16); -lean_dec(x_1); -x_20 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwInvalidPattern___rarg(x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_12); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); -x_21 = !lean_is_exclusive(x_20); -if (x_21 == 0) -{ -return x_20; -} -else -{ -lean_object* x_22; lean_object* x_23; lean_object* x_24; -x_22 = lean_ctor_get(x_20, 0); -x_23 = lean_ctor_get(x_20, 1); -lean_inc(x_23); -lean_inc(x_22); -lean_dec(x_20); -x_24 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_24, 0, x_22); -lean_ctor_set(x_24, 1, x_23); -return x_24; -} -} -else -{ -lean_object* x_25; lean_object* x_26; uint8_t x_27; -x_25 = l_Lean_Syntax_getArg(x_16, x_17); -x_26 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___closed__2; -lean_inc(x_25); -x_27 = l_Lean_Syntax_isOfKind(x_25, x_26); -if (x_27 == 0) +uint8_t x_12; +x_12 = lean_usize_dec_lt(x_2, x_1); +if (x_12 == 0) { -lean_object* x_28; uint8_t x_29; -lean_dec(x_25); -lean_dec(x_18); -lean_dec(x_16); -lean_dec(x_1); -x_28 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwInvalidPattern___rarg(x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_12); -lean_dec(x_11); +lean_object* x_13; lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -x_29 = !lean_is_exclusive(x_28); -if (x_29 == 0) -{ -return x_28; -} -else -{ -lean_object* x_30; lean_object* x_31; lean_object* x_32; -x_30 = lean_ctor_get(x_28, 0); -x_31 = lean_ctor_get(x_28, 1); -lean_inc(x_31); -lean_inc(x_30); -lean_dec(x_28); -x_32 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_32, 0, x_30); -lean_ctor_set(x_32, 1, x_31); -return x_32; -} +lean_dec(x_5); +lean_dec(x_4); +x_13 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_13, 0, x_3); +lean_ctor_set(x_13, 1, x_11); +return x_13; } else { -lean_object* x_33; lean_object* x_34; lean_object* x_35; -x_33 = lean_unsigned_to_nat(2u); -x_34 = l_Lean_Syntax_getArg(x_16, x_33); -lean_dec(x_16); -lean_inc(x_12); -lean_inc(x_11); +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; +x_14 = lean_array_uget(x_3, x_2); +x_15 = lean_unsigned_to_nat(0u); +x_16 = lean_array_uset(x_3, x_2, x_15); +x_17 = lean_unsigned_to_nat(1u); +x_18 = l_Lean_Syntax_getArg(x_14, x_17); +x_19 = lean_unsigned_to_nat(2u); +x_20 = l_Lean_Syntax_getArg(x_18, x_19); +x_21 = l_Lean_Syntax_getArg(x_20, x_17); lean_inc(x_10); lean_inc(x_9); lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); -x_35 = l_Lean_Elab_Term_CollectPatternVars_collect(x_34, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -if (lean_obj_tag(x_35) == 0) -{ -lean_object* x_36; lean_object* x_37; lean_object* x_38; uint8_t x_39; lean_object* x_40; lean_object* x_41; uint8_t x_42; -x_36 = lean_ctor_get(x_35, 0); -lean_inc(x_36); -x_37 = lean_ctor_get(x_35, 1); -lean_inc(x_37); -lean_dec(x_35); -x_38 = lean_ctor_get(x_11, 5); -lean_inc(x_38); -x_39 = 0; -x_40 = l_Lean_SourceInfo_fromRef(x_38, x_39); -lean_dec(x_38); -x_41 = lean_st_ref_get(x_12, x_37); -x_42 = !lean_is_exclusive(x_41); -if (x_42 == 0) -{ -lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; size_t x_47; size_t x_48; lean_object* x_49; -x_43 = lean_ctor_get(x_41, 1); -x_44 = lean_ctor_get(x_41, 0); -lean_dec(x_44); -x_45 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__4; -lean_inc(x_40); -lean_ctor_set_tag(x_41, 2); -lean_ctor_set(x_41, 1, x_45); -lean_ctor_set(x_41, 0, x_40); -lean_inc(x_1); -x_46 = l_Lean_Syntax_node3(x_40, x_1, x_25, x_41, x_36); -x_47 = 1; -x_48 = lean_usize_add(x_4, x_47); -x_49 = lean_array_uset(x_18, x_4, x_46); -x_4 = x_48; -x_5 = x_49; -x_13 = x_43; -goto _start; -} -else +lean_inc(x_5); +lean_inc(x_4); +x_22 = l_Lean_Elab_Term_CollectPatternVars_collect(x_21, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +if (lean_obj_tag(x_22) == 0) { -lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; size_t x_55; size_t x_56; lean_object* x_57; -x_51 = lean_ctor_get(x_41, 1); -lean_inc(x_51); -lean_dec(x_41); -x_52 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___spec__2___closed__4; -lean_inc(x_40); -x_53 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_53, 0, x_40); -lean_ctor_set(x_53, 1, x_52); -lean_inc(x_1); -x_54 = l_Lean_Syntax_node3(x_40, x_1, x_25, x_53, x_36); -x_55 = 1; -x_56 = lean_usize_add(x_4, x_55); -x_57 = lean_array_uset(x_18, x_4, x_54); -x_4 = x_56; -x_5 = x_57; -x_13 = x_51; +lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; size_t x_28; size_t x_29; lean_object* x_30; +x_23 = lean_ctor_get(x_22, 0); +lean_inc(x_23); +x_24 = lean_ctor_get(x_22, 1); +lean_inc(x_24); +lean_dec(x_22); +x_25 = l_Lean_Syntax_setArg(x_20, x_17, x_23); +x_26 = l_Lean_Syntax_setArg(x_18, x_19, x_25); +x_27 = l_Lean_Syntax_setArg(x_14, x_17, x_26); +x_28 = 1; +x_29 = lean_usize_add(x_2, x_28); +x_30 = lean_array_uset(x_16, x_2, x_27); +x_2 = x_29; +x_3 = x_30; +x_11 = x_24; goto _start; } -} else { -uint8_t x_59; -lean_dec(x_25); +uint8_t x_32; +lean_dec(x_20); lean_dec(x_18); -lean_dec(x_12); -lean_dec(x_11); +lean_dec(x_16); +lean_dec(x_14); lean_dec(x_10); lean_dec(x_9); lean_dec(x_8); lean_dec(x_7); lean_dec(x_6); -lean_dec(x_1); -x_59 = !lean_is_exclusive(x_35); -if (x_59 == 0) +lean_dec(x_5); +lean_dec(x_4); +x_32 = !lean_is_exclusive(x_22); +if (x_32 == 0) { -return x_35; +return x_22; } else { -lean_object* x_60; lean_object* x_61; lean_object* x_62; -x_60 = lean_ctor_get(x_35, 0); -x_61 = lean_ctor_get(x_35, 1); -lean_inc(x_61); -lean_inc(x_60); -lean_dec(x_35); -x_62 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_62, 0, x_60); -lean_ctor_set(x_62, 1, x_61); -return x_62; -} -} -} -} -} -} +lean_object* x_33; lean_object* x_34; lean_object* x_35; +x_33 = lean_ctor_get(x_22, 0); +x_34 = lean_ctor_get(x_22, 1); +lean_inc(x_34); +lean_inc(x_33); +lean_dec(x_22); +x_35 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_35, 0, x_33); +lean_ctor_set(x_35, 1, x_34); +return x_35; } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { -_start: -{ -uint8_t x_5; -x_5 = lean_usize_dec_lt(x_3, x_2); -if (x_5 == 0) -{ -return x_4; } -else -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; size_t x_10; lean_object* x_11; -x_6 = lean_array_uget(x_4, x_3); -x_7 = lean_unsigned_to_nat(0u); -x_8 = lean_array_uset(x_4, x_3, x_7); -x_9 = 1; -x_10 = lean_usize_add(x_3, x_9); -x_11 = lean_array_uset(x_8, x_3, x_6); -x_3 = x_10; -x_4 = x_11; -goto _start; } } } -static lean_object* _init_l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__1() { +static lean_object* _init_l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__1() { _start: { lean_object* x_1; @@ -10537,19 +10365,19 @@ x_1 = lean_mk_string_unchecked("structInst", 10, 10); return x_1; } } -static lean_object* _init_l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__2() { +static lean_object* _init_l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__2() { _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_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__3; x_2 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__4; x_3 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__5; -x_4 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__1; +x_4 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5(lean_object* x_1, size_t x_2, size_t x_3) { +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4(lean_object* x_1, size_t x_2, size_t x_3) { _start: { uint8_t x_4; @@ -10558,7 +10386,7 @@ if (x_4 == 0) { lean_object* x_5; lean_object* x_6; uint8_t x_7; x_5 = lean_array_uget(x_1, x_2); -x_6 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__2; +x_6 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__2; x_7 = l_Lean_Syntax_isOfKind(x_5, x_6); if (x_7 == 0) { @@ -10583,7 +10411,7 @@ return x_12; } } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { _start: { uint8_t x_5; @@ -10592,7 +10420,7 @@ if (x_5 == 0) { lean_object* x_6; lean_object* x_7; uint8_t x_8; size_t x_9; size_t x_10; x_6 = lean_array_uget(x_1, x_2); -x_7 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__2; +x_7 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__2; lean_inc(x_6); x_8 = l_Lean_Syntax_isOfKind(x_6, x_7); x_9 = 1; @@ -10618,7 +10446,7 @@ return x_4; } } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___spec__8(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___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___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_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; uint8_t x_14; @@ -10727,13 +10555,13 @@ return x_35; } } } -LEAN_EXPORT lean_object* l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___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_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; lean_object* x_12; lean_object* x_13; x_11 = lean_unsigned_to_nat(0u); x_12 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__4___closed__1; -x_13 = l___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___spec__8(x_1, x_2, x_11, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_13 = l___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___spec__7(x_1, x_2, x_11, x_12, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); return x_13; } } @@ -11080,255 +10908,253 @@ x_1 = lean_mk_string_unchecked("with", 4, 4); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16, lean_object* x_17, lean_object* x_18, lean_object* x_19) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -lean_object* x_20; size_t x_21; size_t x_22; lean_object* x_23; -x_20 = l_Lean_Syntax_TSepArray_getElems___rarg(x_1); -x_21 = lean_array_size(x_20); -x_22 = 0; -lean_inc(x_18); -lean_inc(x_17); -x_23 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3(x_2, x_3, x_21, x_22, x_20, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19); -if (lean_obj_tag(x_23) == 0) +lean_object* x_17; size_t x_18; size_t x_19; lean_object* x_20; +x_17 = l_Lean_Syntax_TSepArray_getElems___rarg(x_1); +x_18 = lean_array_size(x_17); +x_19 = 0; +lean_inc(x_15); +lean_inc(x_14); +x_20 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3(x_18, x_19, x_17, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +if (lean_obj_tag(x_20) == 0) { -lean_object* x_24; lean_object* 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; lean_object* x_33; size_t x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); +lean_object* x_21; lean_object* x_22; lean_object* x_23; uint8_t x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_21 = lean_ctor_get(x_20, 0); +lean_inc(x_21); +x_22 = lean_ctor_get(x_20, 1); +lean_inc(x_22); +lean_dec(x_20); +x_23 = lean_ctor_get(x_14, 5); +lean_inc(x_23); +lean_dec(x_14); +x_24 = 0; +x_25 = l_Lean_SourceInfo_fromRef(x_23, x_24); lean_dec(x_23); -x_26 = lean_ctor_get(x_17, 5); -lean_inc(x_26); -lean_dec(x_17); -x_27 = 0; -x_28 = l_Lean_SourceInfo_fromRef(x_26, x_27); -lean_dec(x_26); -x_29 = lean_st_ref_get(x_18, x_25); -lean_dec(x_18); -x_30 = lean_ctor_get(x_29, 1); -lean_inc(x_30); -if (lean_is_exclusive(x_29)) { - lean_ctor_release(x_29, 0); - lean_ctor_release(x_29, 1); - x_31 = x_29; +x_26 = lean_st_ref_get(x_15, x_22); +lean_dec(x_15); +x_27 = lean_ctor_get(x_26, 1); +lean_inc(x_27); +if (lean_is_exclusive(x_26)) { + lean_ctor_release(x_26, 0); + lean_ctor_release(x_26, 1); + x_28 = x_26; } else { - lean_dec_ref(x_29); - x_31 = lean_box(0); + lean_dec_ref(x_26); + x_28 = lean_box(0); } -x_32 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__1; -lean_inc(x_28); -x_33 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_33, 0, x_28); -lean_ctor_set(x_33, 1, x_32); -x_34 = lean_array_size(x_24); -x_35 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4(x_4, x_34, x_22, x_24); -x_36 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__4___closed__2; -x_37 = l_Lean_Syntax_SepArray_ofElems(x_36, x_35); -lean_dec(x_35); -x_38 = l_Lean_Elab_Term_CollectPatternVars_instInhabitedState___closed__1; -x_39 = l_Array_append___rarg(x_38, x_37); -lean_dec(x_37); -x_40 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__3; -lean_inc(x_28); -x_41 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_41, 0, x_28); -lean_ctor_set(x_41, 1, x_40); -lean_ctor_set(x_41, 2, x_39); -lean_inc(x_28); -x_42 = l_Lean_Syntax_node1(x_28, x_5, x_41); -x_43 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__4; -lean_inc(x_28); -x_44 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_44, 0, x_28); -lean_ctor_set(x_44, 1, x_43); -if (lean_obj_tag(x_10) == 0) +x_29 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__1; +lean_inc(x_25); +x_30 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_30, 0, x_25); +lean_ctor_set(x_30, 1, x_29); +x_31 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__4___closed__2; +x_32 = l_Lean_Syntax_SepArray_ofElems(x_31, x_21); +lean_dec(x_21); +x_33 = l_Lean_Elab_Term_CollectPatternVars_instInhabitedState___closed__1; +x_34 = l_Array_append___rarg(x_33, x_32); +lean_dec(x_32); +x_35 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__3; +lean_inc(x_25); +x_36 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_36, 0, x_25); +lean_ctor_set(x_36, 1, x_35); +lean_ctor_set(x_36, 2, x_34); +lean_inc(x_25); +x_37 = l_Lean_Syntax_node1(x_25, x_2, x_36); +x_38 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__4; +lean_inc(x_25); +x_39 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_39, 0, x_25); +lean_ctor_set(x_39, 1, x_38); +if (lean_obj_tag(x_7) == 0) { -x_45 = x_38; -goto block_82; +x_40 = x_33; +goto block_77; } else { -lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean_object* x_88; -x_83 = lean_ctor_get(x_10, 0); -x_84 = l_Array_append___rarg(x_38, x_83); -lean_inc(x_28); -x_85 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_85, 0, x_28); -lean_ctor_set(x_85, 1, x_40); -lean_ctor_set(x_85, 2, x_84); -x_86 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__7; -lean_inc(x_28); -x_87 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_87, 0, x_28); -lean_ctor_set(x_87, 1, x_86); -x_88 = l_Array_mkArray2___rarg(x_85, x_87); -x_45 = x_88; -goto block_82; +lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; +x_78 = lean_ctor_get(x_7, 0); +x_79 = l_Array_append___rarg(x_33, x_78); +lean_inc(x_25); +x_80 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_80, 0, x_25); +lean_ctor_set(x_80, 1, x_35); +lean_ctor_set(x_80, 2, x_79); +x_81 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__7; +lean_inc(x_25); +x_82 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_82, 0, x_25); +lean_ctor_set(x_82, 1, x_81); +x_83 = l_Array_mkArray2___rarg(x_80, x_82); +x_40 = x_83; +goto block_77; } -block_82: +block_77: { -lean_object* x_46; lean_object* x_47; -x_46 = l_Array_append___rarg(x_38, x_45); -lean_dec(x_45); -lean_inc(x_28); -x_47 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_47, 0, x_28); -lean_ctor_set(x_47, 1, x_40); -lean_ctor_set(x_47, 2, x_46); -if (lean_obj_tag(x_6) == 0) +lean_object* x_41; lean_object* x_42; +x_41 = l_Array_append___rarg(x_33, x_40); +lean_dec(x_40); +lean_inc(x_25); +x_42 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_42, 0, x_25); +lean_ctor_set(x_42, 1, x_35); +lean_ctor_set(x_42, 2, x_41); +if (lean_obj_tag(x_3) == 0) { -lean_object* x_48; lean_object* x_49; lean_object* x_50; -x_48 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__5; -lean_inc(x_28); -x_49 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_49, 0, x_28); -lean_ctor_set(x_49, 1, x_40); -lean_ctor_set(x_49, 2, x_48); -lean_inc(x_49); -lean_inc(x_28); -x_50 = l_Lean_Syntax_node1(x_28, x_7, x_49); -if (lean_obj_tag(x_8) == 0) +lean_object* x_43; lean_object* x_44; lean_object* x_45; +x_43 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__5; +lean_inc(x_25); +x_44 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_44, 0, x_25); +lean_ctor_set(x_44, 1, x_35); +lean_ctor_set(x_44, 2, x_43); +lean_inc(x_44); +lean_inc(x_25); +x_45 = l_Lean_Syntax_node1(x_25, x_4, x_44); +if (lean_obj_tag(x_5) == 0) { -lean_object* x_51; lean_object* x_52; -x_51 = l_Lean_Syntax_node6(x_28, x_9, x_33, x_47, x_42, x_50, x_49, x_44); -if (lean_is_scalar(x_31)) { - x_52 = lean_alloc_ctor(0, 2, 0); +lean_object* x_46; lean_object* x_47; +x_46 = l_Lean_Syntax_node6(x_25, x_6, x_30, x_42, x_37, x_45, x_44, x_39); +if (lean_is_scalar(x_28)) { + x_47 = lean_alloc_ctor(0, 2, 0); } else { - x_52 = x_31; + x_47 = x_28; } -lean_ctor_set(x_52, 0, x_51); -lean_ctor_set(x_52, 1, x_30); -return x_52; +lean_ctor_set(x_47, 0, x_46); +lean_ctor_set(x_47, 1, x_27); +return x_47; } else { -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_dec(x_49); -x_53 = lean_ctor_get(x_8, 0); -lean_inc(x_53); -lean_dec(x_8); -x_54 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__6; -lean_inc(x_28); -x_55 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_55, 0, x_28); -lean_ctor_set(x_55, 1, x_54); -x_56 = l_Array_mkArray2___rarg(x_55, x_53); -x_57 = l_Array_append___rarg(x_38, x_56); -lean_dec(x_56); -lean_inc(x_28); -x_58 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_58, 0, x_28); -lean_ctor_set(x_58, 1, x_40); -lean_ctor_set(x_58, 2, x_57); -x_59 = l_Lean_Syntax_node6(x_28, x_9, x_33, x_47, x_42, x_50, x_58, x_44); -if (lean_is_scalar(x_31)) { - x_60 = lean_alloc_ctor(0, 2, 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_object* x_55; +lean_dec(x_44); +x_48 = lean_ctor_get(x_5, 0); +lean_inc(x_48); +lean_dec(x_5); +x_49 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__6; +lean_inc(x_25); +x_50 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_50, 0, x_25); +lean_ctor_set(x_50, 1, x_49); +x_51 = l_Array_mkArray2___rarg(x_50, x_48); +x_52 = l_Array_append___rarg(x_33, x_51); +lean_dec(x_51); +lean_inc(x_25); +x_53 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_53, 0, x_25); +lean_ctor_set(x_53, 1, x_35); +lean_ctor_set(x_53, 2, x_52); +x_54 = l_Lean_Syntax_node6(x_25, x_6, x_30, x_42, x_37, x_45, x_53, x_39); +if (lean_is_scalar(x_28)) { + x_55 = lean_alloc_ctor(0, 2, 0); } else { - x_60 = x_31; + x_55 = x_28; } -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_30); -return x_60; +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_55, 1, x_27); +return x_55; } } else { -lean_object* x_61; uint8_t x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; -x_61 = lean_ctor_get(x_6, 0); -x_62 = 1; -x_63 = l_Lean_SourceInfo_fromRef(x_61, x_62); -x_64 = l_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___closed__5; -x_65 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_65, 0, x_63); -lean_ctor_set(x_65, 1, x_64); -x_66 = l_Array_mkArray1___rarg(x_65); -x_67 = l_Array_append___rarg(x_38, x_66); -lean_dec(x_66); -lean_inc(x_28); -x_68 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_68, 0, x_28); -lean_ctor_set(x_68, 1, x_40); -lean_ctor_set(x_68, 2, x_67); -lean_inc(x_28); -x_69 = l_Lean_Syntax_node1(x_28, x_7, x_68); -if (lean_obj_tag(x_8) == 0) +lean_object* x_56; uint8_t x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_56 = lean_ctor_get(x_3, 0); +x_57 = 1; +x_58 = l_Lean_SourceInfo_fromRef(x_56, x_57); +x_59 = l_Lean_Elab_Term_CollectPatternVars_collect_processCtorApp___closed__5; +x_60 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_60, 0, x_58); +lean_ctor_set(x_60, 1, x_59); +x_61 = l_Array_mkArray1___rarg(x_60); +x_62 = l_Array_append___rarg(x_33, x_61); +lean_dec(x_61); +lean_inc(x_25); +x_63 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_63, 0, x_25); +lean_ctor_set(x_63, 1, x_35); +lean_ctor_set(x_63, 2, x_62); +lean_inc(x_25); +x_64 = l_Lean_Syntax_node1(x_25, x_4, x_63); +if (lean_obj_tag(x_5) == 0) { -lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; -x_70 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__5; -lean_inc(x_28); -x_71 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_71, 0, x_28); -lean_ctor_set(x_71, 1, x_40); -lean_ctor_set(x_71, 2, x_70); -x_72 = l_Lean_Syntax_node6(x_28, x_9, x_33, x_47, x_42, x_69, x_71, x_44); -if (lean_is_scalar(x_31)) { - x_73 = lean_alloc_ctor(0, 2, 0); +lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_65 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__5; +lean_inc(x_25); +x_66 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_66, 0, x_25); +lean_ctor_set(x_66, 1, x_35); +lean_ctor_set(x_66, 2, x_65); +x_67 = l_Lean_Syntax_node6(x_25, x_6, x_30, x_42, x_37, x_64, x_66, x_39); +if (lean_is_scalar(x_28)) { + x_68 = lean_alloc_ctor(0, 2, 0); } else { - x_73 = x_31; + x_68 = x_28; } -lean_ctor_set(x_73, 0, x_72); -lean_ctor_set(x_73, 1, x_30); -return x_73; +lean_ctor_set(x_68, 0, x_67); +lean_ctor_set(x_68, 1, x_27); +return x_68; } 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; -x_74 = lean_ctor_get(x_8, 0); -lean_inc(x_74); -lean_dec(x_8); -x_75 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__6; -lean_inc(x_28); -x_76 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_76, 0, x_28); -lean_ctor_set(x_76, 1, x_75); -x_77 = l_Array_mkArray2___rarg(x_76, x_74); -x_78 = l_Array_append___rarg(x_38, x_77); -lean_dec(x_77); -lean_inc(x_28); -x_79 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_79, 0, x_28); -lean_ctor_set(x_79, 1, x_40); -lean_ctor_set(x_79, 2, x_78); -x_80 = l_Lean_Syntax_node6(x_28, x_9, x_33, x_47, x_42, x_69, x_79, x_44); -if (lean_is_scalar(x_31)) { - x_81 = lean_alloc_ctor(0, 2, 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; +x_69 = lean_ctor_get(x_5, 0); +lean_inc(x_69); +lean_dec(x_5); +x_70 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__6; +lean_inc(x_25); +x_71 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_71, 0, x_25); +lean_ctor_set(x_71, 1, x_70); +x_72 = l_Array_mkArray2___rarg(x_71, x_69); +x_73 = l_Array_append___rarg(x_33, x_72); +lean_dec(x_72); +lean_inc(x_25); +x_74 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_74, 0, x_25); +lean_ctor_set(x_74, 1, x_35); +lean_ctor_set(x_74, 2, x_73); +x_75 = l_Lean_Syntax_node6(x_25, x_6, x_30, x_42, x_37, x_64, x_74, x_39); +if (lean_is_scalar(x_28)) { + x_76 = lean_alloc_ctor(0, 2, 0); } else { - x_81 = x_31; + x_76 = x_28; } -lean_ctor_set(x_81, 0, x_80); -lean_ctor_set(x_81, 1, x_30); -return x_81; +lean_ctor_set(x_76, 0, x_75); +lean_ctor_set(x_76, 1, x_27); +return x_76; } } } } else { -uint8_t x_89; -lean_dec(x_18); -lean_dec(x_17); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); +uint8_t x_84; +lean_dec(x_15); +lean_dec(x_14); +lean_dec(x_6); lean_dec(x_5); -x_89 = !lean_is_exclusive(x_23); -if (x_89 == 0) +lean_dec(x_4); +lean_dec(x_2); +x_84 = !lean_is_exclusive(x_20); +if (x_84 == 0) { -return x_23; +return x_20; } else { -lean_object* x_90; lean_object* x_91; lean_object* x_92; -x_90 = lean_ctor_get(x_23, 0); -x_91 = lean_ctor_get(x_23, 1); -lean_inc(x_91); -lean_inc(x_90); -lean_dec(x_23); -x_92 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_92, 0, x_90); -lean_ctor_set(x_92, 1, x_91); -return x_92; +lean_object* x_85; lean_object* x_86; lean_object* x_87; +x_85 = lean_ctor_get(x_20, 0); +x_86 = lean_ctor_get(x_20, 1); +lean_inc(x_86); +lean_inc(x_85); +lean_dec(x_20); +x_87 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_87, 0, x_85); +lean_ctor_set(x_87, 1, x_86); +return x_87; } } } @@ -11337,79 +11163,15 @@ static lean_object* _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__ _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstFieldAbbrev", 21, 21); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__2() { -_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_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__3; -x_2 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__4; -x_3 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__5; -x_4 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstField", 15, 15); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__4() { -_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_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__3; -x_2 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__4; -x_3 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_finalize___closed__5; -x_4 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__3; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__4; -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_Elab_Term_CollectPatternVars_collect___lambda__3___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__2; -x_2 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__5; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__7() { -_start: -{ -lean_object* x_1; x_1 = lean_mk_string_unchecked("invalid struct instance pattern, 'with' is not allowed in patterns", 66, 66); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__8() { +static lean_object* _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__7; +x_1 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } @@ -11421,57 +11183,54 @@ lean_object* x_17; x_17 = l_Lean_Syntax_getArgs(x_1); if (lean_obj_tag(x_6) == 0) { -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_18 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__4; -x_19 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__5; -x_20 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__6; -x_21 = lean_box(0); -x_22 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2(x_17, x_18, x_19, x_20, x_2, x_3, x_4, x_8, x_5, x_6, x_21, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_object* x_18; lean_object* x_19; +x_18 = lean_box(0); +x_19 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2(x_17, x_2, x_3, x_4, x_8, x_5, x_6, x_18, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); lean_dec(x_17); -return x_22; +return x_19; } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30; +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; uint8_t x_27; lean_dec(x_17); lean_dec(x_8); lean_dec(x_5); lean_dec(x_4); lean_dec(x_2); -x_23 = lean_ctor_get(x_6, 0); -x_24 = l_Lean_Syntax_TSepArray_getElems___rarg(x_23); -x_25 = lean_box(2); -x_26 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__3; -x_27 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_27, 0, x_25); -lean_ctor_set(x_27, 1, x_26); -lean_ctor_set(x_27, 2, x_24); -x_28 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__8; -x_29 = l_Lean_throwErrorAt___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_processVar___spec__1(x_27, x_28, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +x_20 = lean_ctor_get(x_6, 0); +x_21 = l_Lean_Syntax_TSepArray_getElems___rarg(x_20); +x_22 = lean_box(2); +x_23 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___closed__3; +x_24 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_24, 0, x_22); +lean_ctor_set(x_24, 1, x_23); +lean_ctor_set(x_24, 2, x_21); +x_25 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__2; +x_26 = l_Lean_throwErrorAt___at___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_processVar___spec__1(x_24, x_25, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); lean_dec(x_15); lean_dec(x_13); lean_dec(x_12); lean_dec(x_11); lean_dec(x_10); lean_dec(x_9); -lean_dec(x_27); -x_30 = !lean_is_exclusive(x_29); -if (x_30 == 0) +lean_dec(x_24); +x_27 = !lean_is_exclusive(x_26); +if (x_27 == 0) { -return x_29; +return x_26; } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; -x_31 = lean_ctor_get(x_29, 0); -x_32 = lean_ctor_get(x_29, 1); -lean_inc(x_32); -lean_inc(x_31); -lean_dec(x_29); -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_31); -lean_ctor_set(x_33, 1, x_32); -return x_33; +lean_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; } } } @@ -12510,7 +12269,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__1 { lean_object* x_11; lean_object* x_12; x_11 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__14___closed__1; -x_12 = l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___spec__7(x_1, x_11, x_2, x_3, x_4, x_5, x_6, x_8, x_9, x_10); +x_12 = l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6(x_1, x_11, x_2, x_3, x_4, x_5, x_6, x_8, x_9, x_10); if (lean_obj_tag(x_12) == 0) { uint8_t x_13; @@ -12951,7 +12710,7 @@ lean_dec(x_10); if (x_51 == 0) { lean_object* x_52; uint8_t x_53; -x_52 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__2; +x_52 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__2; lean_inc(x_1); x_53 = l_Lean_Syntax_isOfKind(x_1, x_52); if (x_53 == 0) @@ -13066,7 +12825,7 @@ else size_t x_80; size_t x_81; uint8_t x_82; x_80 = 0; x_81 = lean_usize_of_nat(x_75); -x_82 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5(x_74, x_80, x_81); +x_82 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4(x_74, x_80, x_81); if (x_82 == 0) { lean_object* x_83; lean_object* x_84; @@ -13105,7 +12864,7 @@ else { lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; x_89 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__4___closed__1; -x_90 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6(x_74, x_80, x_81, x_89); +x_90 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5(x_74, x_80, x_81, x_89); lean_dec(x_74); x_91 = lean_alloc_closure((void*)(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__1), 9, 6); lean_closure_set(x_91, 0, x_2); @@ -13553,7 +13312,7 @@ lean_dec(x_10); if (x_193 == 0) { lean_object* x_194; uint8_t x_195; -x_194 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__2; +x_194 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__2; lean_inc(x_1); x_195 = l_Lean_Syntax_isOfKind(x_1, x_194); if (x_195 == 0) @@ -13668,7 +13427,7 @@ else size_t x_222; size_t x_223; uint8_t x_224; x_222 = 0; x_223 = lean_usize_of_nat(x_217); -x_224 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5(x_216, x_222, x_223); +x_224 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4(x_216, x_222, x_223); if (x_224 == 0) { lean_object* x_225; lean_object* x_226; @@ -13707,7 +13466,7 @@ else { lean_object* x_231; lean_object* x_232; lean_object* x_233; lean_object* x_234; x_231 = l___private_Lean_Elab_PatternVar_0__Lean_Elab_Term_CollectPatternVars_throwCtorExpected___rarg___lambda__4___closed__1; -x_232 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6(x_216, x_222, x_223, x_231); +x_232 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5(x_216, x_222, x_223, x_231); lean_dec(x_216); x_233 = lean_alloc_closure((void*)(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__1), 9, 6); lean_closure_set(x_233, 0, x_2); @@ -14627,33 +14386,19 @@ lean_dec(x_2); return x_17; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___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, 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_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___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, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) { _start: { -size_t x_14; size_t x_15; lean_object* x_16; -x_14 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_15 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_16 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3(x_1, x_2, x_14, x_15, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13); -lean_dec(x_2); -return x_16; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -size_t x_5; size_t x_6; lean_object* x_7; -x_5 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_6 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_7 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4(x_1, x_5, x_6, x_4); +size_t x_12; size_t x_13; lean_object* x_14; +x_12 = lean_unbox_usize(x_1); lean_dec(x_1); -return x_7; +x_13 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_14 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3(x_12, x_13, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +return x_14; } } -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { size_t x_4; size_t x_5; uint8_t x_6; lean_object* x_7; @@ -14661,13 +14406,13 @@ x_4 = lean_unbox_usize(x_2); lean_dec(x_2); x_5 = lean_unbox_usize(x_3); lean_dec(x_3); -x_6 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5(x_1, x_4, x_5); +x_6 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4(x_1, x_4, x_5); lean_dec(x_1); x_7 = lean_box(x_6); return x_7; } } -LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { size_t x_5; size_t x_6; lean_object* x_7; @@ -14675,60 +14420,39 @@ x_5 = lean_unbox_usize(x_2); lean_dec(x_2); x_6 = lean_unbox_usize(x_3); lean_dec(x_3); -x_7 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6(x_1, x_5, x_6, x_4); +x_7 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5(x_1, x_5, x_6, x_4); lean_dec(x_1); return x_7; } } -LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___spec__8___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { +LEAN_EXPORT lean_object* l___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___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_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12) { _start: { lean_object* x_13; -x_13 = l___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___spec__8(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); +x_13 = l___private_Init_Meta_0__Array_mapSepElemsMAux___at_Lean_Elab_Term_CollectPatternVars_collect___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12); lean_dec(x_1); return x_13; } } -LEAN_EXPORT lean_object* l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___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_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; -x_11 = l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___spec__7(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); +x_11 = l_Array_mapSepElemsM___at_Lean_Elab_Term_CollectPatternVars_collect___spec__6(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); lean_dec(x_1); return x_11; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___boxed(lean_object** _args) { -lean_object* x_1 = _args[0]; -lean_object* x_2 = _args[1]; -lean_object* x_3 = _args[2]; -lean_object* x_4 = _args[3]; -lean_object* x_5 = _args[4]; -lean_object* x_6 = _args[5]; -lean_object* x_7 = _args[6]; -lean_object* x_8 = _args[7]; -lean_object* x_9 = _args[8]; -lean_object* x_10 = _args[9]; -lean_object* x_11 = _args[10]; -lean_object* x_12 = _args[11]; -lean_object* x_13 = _args[12]; -lean_object* x_14 = _args[13]; -lean_object* x_15 = _args[14]; -lean_object* x_16 = _args[15]; -lean_object* x_17 = _args[16]; -lean_object* x_18 = _args[17]; -lean_object* x_19 = _args[18]; +LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { _start: { -lean_object* x_20; -x_20 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16, x_17, x_18, x_19); -lean_dec(x_11); -lean_dec(x_10); -lean_dec(x_6); -lean_dec(x_4); +lean_object* x_17; +x_17 = l_Lean_Elab_Term_CollectPatternVars_collect___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_14, x_15, x_16); +lean_dec(x_8); +lean_dec(x_7); lean_dec(x_3); lean_dec(x_1); -return x_20; +return x_17; } } LEAN_EXPORT lean_object* l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14, lean_object* x_15, lean_object* x_16) { @@ -17442,14 +17166,10 @@ l_Subarray_forInUnsafe_loop___at_Lean_Elab_Term_CollectPatternVars_collect___spe lean_mark_persistent(l_Subarray_forInUnsafe_loop___at_Lean_Elab_Term_CollectPatternVars_collect___spec__2___closed__1); l_Subarray_forInUnsafe_loop___at_Lean_Elab_Term_CollectPatternVars_collect___spec__2___closed__2 = _init_l_Subarray_forInUnsafe_loop___at_Lean_Elab_Term_CollectPatternVars_collect___spec__2___closed__2(); lean_mark_persistent(l_Subarray_forInUnsafe_loop___at_Lean_Elab_Term_CollectPatternVars_collect___spec__2___closed__2); -l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___closed__1); -l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___closed__2 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Term_CollectPatternVars_collect___spec__3___closed__2); -l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__1 = _init_l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__1(); -lean_mark_persistent(l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__1); -l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__2 = _init_l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__2(); -lean_mark_persistent(l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__5___closed__2); +l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__1 = _init_l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__1(); +lean_mark_persistent(l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__1); +l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__2 = _init_l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__2(); +lean_mark_persistent(l_Array_anyMUnsafe_any___at_Lean_Elab_Term_CollectPatternVars_collect___spec__4___closed__2); l_Lean_Elab_Term_CollectPatternVars_collect___lambda__1___closed__1 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__1___closed__1); l_Lean_Elab_Term_CollectPatternVars_collect___lambda__1___closed__2 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__1___closed__2(); @@ -17472,18 +17192,6 @@ l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__1 = _init_l_Le lean_mark_persistent(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__1); l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__2 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__2(); lean_mark_persistent(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__2); -l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__3 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__3(); -lean_mark_persistent(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__3); -l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__4 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__4(); -lean_mark_persistent(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__4); -l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__5 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__5(); -lean_mark_persistent(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__5); -l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__6 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__6(); -lean_mark_persistent(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__6); -l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__7 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__7(); -lean_mark_persistent(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__7); -l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__8 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__8(); -lean_mark_persistent(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__3___closed__8); l_Lean_Elab_Term_CollectPatternVars_collect___lambda__5___closed__1 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__5___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_CollectPatternVars_collect___lambda__5___closed__1); l_Lean_Elab_Term_CollectPatternVars_collect___lambda__5___closed__2 = _init_l_Lean_Elab_Term_CollectPatternVars_collect___lambda__5___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/StructInst.c b/stage0/stdlib/Lean/Elab/StructInst.c index 157f1db9e6e5..aca5db7b2cfa 100644 --- a/stage0/stdlib/Lean/Elab/StructInst.c +++ b/stage0/stdlib/Lean/Elab/StructInst.c @@ -18,15 +18,13 @@ static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructIns static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___closed__1; lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__5(lean_object*, lean_object*); -static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__1; +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__7; static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__5___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_instToFormatFieldLHS___closed__2; -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__4; lean_object* lean_format_pretty(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__6; static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType_declRange__1___closed__7; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_instToFormatFieldLHS___closed__1; @@ -35,14 +33,15 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMiss LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__2(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_Lean_Elab_Term_StructInst_mkProjStx_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefault_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__1; LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___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_Elab_Term_StructInst_expandStructInstFields(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType_declRange__1___closed__4; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__10(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___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_Lean_Elab_Term_StructInst_instToFormatFieldLHS___lambda__1___boxed(lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__2; +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__4; +lean_object* l_Lean_Macro_throwErrorAt___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_formatField___closed__4; static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValue_x3f_process___closed__1; static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst__1___closed__4; @@ -56,7 +55,6 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Stru LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__1; lean_object* l_Lean_addBuiltinDocString(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__8; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__3___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___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_panic___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__1___closed__2; @@ -65,20 +63,18 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Stru LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__4___rarg(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__9; LEAN_EXPORT lean_object* l_Std_Format_joinSep___at_Lean_Elab_Term_StructInst_formatField___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_Elab_Term_StructInst_DefaultFields_step___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___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__16; LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_Term_StructInst_formatStruct___spec__5(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeaderAux___closed__1; -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__13; -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1(lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__3(lean_object*, size_t, size_t, lean_object*); static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__8; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_findField_x3f___lambda__1___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_defaultMissing_x3f___boxed(lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeaderAux___closed__2; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__4; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__9; static lean_object* l_Lean_Elab_Term_StructInst_instToFormatFieldLHS___closed__5; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -93,7 +89,6 @@ static lean_object* l_Lean_Elab_Term_StructInst_formatField___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_getFieldValue_x3f___lambda__1(lean_object*, lean_object*); lean_object* l_Lean_getExprMVarAssignment_x3f___at___private_Lean_Meta_Basic_0__Lean_Meta_isClassQuick_x3f___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_whnf(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__1; extern lean_object* l_Lean_maxRecDepthErrorMessage; lean_object* l_Lean_Core_instantiateTypeLevelParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -101,26 +96,27 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Stru static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__3; lean_object* l_Lean_Syntax_getHeadInfo(lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__12; +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__1; LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__8(lean_object*, lean_object*); uint8_t l_Lean_Exception_isInterrupt(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__1; static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__4___closed__3; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___lambda__2___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__8; LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___spec__1___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__1; lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapTR_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2___closed__1; +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__9; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__3; static lean_object* l_panic___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__1___closed__3; size_t lean_uint64_to_usize(uint64_t); uint64_t lean_uint64_lor(uint64_t, uint64_t); lean_object* l_Lean_Expr_getAutoParamTactic_x3f(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__2(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_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___closed__3; LEAN_EXPORT lean_object* l_List_findSomeM_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_findDefaultMissing_x3f___spec__1___rarg___lambda__2(lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Elab_addCompletionInfo___at_Lean_Elab_Term_addDotCompletionInfo___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -131,6 +127,7 @@ lean_object* l_Lean_Elab_Term_elabTermEnsuringType(lean_object*, lean_object*, u static uint64_t l_Lean_Elab_Term_StructInst_DefaultFields_reduce___closed__1; lean_object* l_Lean_Elab_Term_isLocalIdent_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_sort___override(lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__3; lean_object* l_Lean_PersistentArray_push___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing___rarg___closed__1; lean_object* lean_array_push(lean_object*, lean_object*); @@ -145,6 +142,7 @@ static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean lean_object* l_Lean_findField_x3f(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_get_x3f___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__4(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__1___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__5; lean_object* lean_mk_array(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_findDefaultMissing_x3f___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTR_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2(lean_object*, lean_object*, lean_object*); @@ -154,6 +152,7 @@ LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldVal_toSyntax___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux(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_Term_StructInst_DefaultFields_mkDefaultValue_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__2; static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__4___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__1___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_instToStringStructInstView___closed__2; @@ -161,40 +160,33 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Stru extern lean_object* l_Lean_Elab_Term_instMonadTermElabM; lean_object* l_Lean_Syntax_getArgs(lean_object*); lean_object* l_Lean_Expr_mdata___override(lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__20; static lean_object* l_Lean_Elab_Term_StructInst_instInhabitedExplicitSourceView___closed__1; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__15(size_t, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__3; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__3; lean_object* l_Lean_replaceRef(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__11; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_instToStringStructInstView___lambda__1(lean_object*); lean_object* l_Lean_Elab_Term_getMVarDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_instInhabitedReaderT___rarg___boxed(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_declRange__1___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__5___lambda__1___closed__2; -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562_(lean_object*); lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_proj___override(lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); lean_object* l_Lean_Meta_forallTelescope___at_Lean_Meta_mapForallTelescope_x27___spec__1___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__3; lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___lambda__1___closed__1; -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__6; -LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__1___rarg___lambda__2(lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__5___rarg___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__2(size_t, size_t, lean_object*); -lean_object* l_Lean_Syntax_TSepArray_getElems___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__7; -lean_object* l_Lean_Macro_throwError___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_reduce_withReduceLCtx___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Expr_fvarId_x21(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_findDefaultMissing_x3f(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__2___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName___lambda__3(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_Term_StructInst_DefaultFields_tryToSynthesizeDefault_loop___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -208,9 +200,9 @@ lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*, uint8_t); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__7___closed__1; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__11; lean_object* l_List_find_x3f___rarg(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__3; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_setType(lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__14; LEAN_EXPORT uint8_t l_Lean_Elab_Term_StructInst_StructInstView_allDefault___lambda__1(lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__9___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__2; @@ -231,9 +223,8 @@ LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst static lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__1; lean_object* l_Lean_stringToMessageData(lean_object*); lean_object* l_Lean_LocalDecl_setValue(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__2; -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__3; -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__2___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_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__3___boxed(lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__13; lean_object* l_Lean_Syntax_mkSynthetic(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__13; @@ -242,7 +233,6 @@ uint8_t lean_string_dec_eq(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__2; lean_object* l_Lean_Elab_Term_instInhabitedTermElabM(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__12; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___closed__3; LEAN_EXPORT uint8_t l_Lean_Elab_Term_StructInst_findField_x3f___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -250,16 +240,18 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst__1__ static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__5___lambda__1___closed__5; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_Field_toSyntax___spec__1___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnknownExpectedType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_reduce___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__4; static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__3(lean_object*, size_t, size_t); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__5; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldLHS_toSyntax___closed__2; LEAN_EXPORT lean_object* l_List_findSomeM_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_findDefaultMissing_x3f___spec__1(lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_Field_toSyntax___closed__1; +static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__7___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__8; +lean_object* l_Lean_Syntax_getNumArgs(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__4; lean_object* l_Lean_LocalDecl_index(lean_object*); @@ -274,6 +266,7 @@ lean_object* l_Lean_getDefaultFnForField_x3f(lean_object*, lean_object*, lean_ob static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__1; static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__6___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__6; static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_declRange__1___closed__2; uint8_t l_Lean_Expr_isLambda(lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__4; @@ -282,6 +275,7 @@ size_t lean_ptr_addr(lean_object*); lean_object* l_Lean_Name_mkStr3(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__7; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___lambda__2___closed__2; +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing___rarg___lambda__1___boxed(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_appendTR___rarg(lean_object*, lean_object*); @@ -291,7 +285,6 @@ size_t lean_usize_of_nat(lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_mkProjStx_x3f___lambda__1___closed__3; lean_object* l_Lean_isSubobjectField_x3f(lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__6; -static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_docString__1___closed__1; LEAN_EXPORT lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3(lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__7___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -299,16 +292,17 @@ static lean_object* l_Lean_Elab_Term_StructInst_instInhabitedField___closed__1; lean_object* l_Lean_Meta_mkFreshLevelMVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_getFieldValue_x3f(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__12; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_instInhabitedField; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_StructInstView_modifyFieldsM___at_Lean_Elab_Term_StructInst_StructInstView_modifyFields___spec__1(lean_object*, lean_object*); lean_object* lean_checked_assign(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_Term_StructInst_formatField___spec__3(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_findDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__16(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_Term_StructInst_DefaultFields_mkDefaultValue_x3f_process___lambda__3___boxed(lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___closed__2; +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__12; static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__11; lean_object* lean_local_ctx_find(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_markDefaultMissing(lean_object*); @@ -324,6 +318,7 @@ lean_object* l_liftExcept___at_Lean_Elab_liftMacroM___spec__1(lean_object*, lean LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___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_Elab_Term_StructInst_StructInstView_allDefault___lambda__1___boxed(lean_object*); LEAN_EXPORT lean_object* l_List_mapTR_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandCompositeFields___spec__1(lean_object*, lean_object*, lean_object*); +static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields_docString__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isRoundDone___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValue_x3f_process(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*); @@ -333,13 +328,12 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Stru lean_object* l_Lean_PersistentHashMap_insert___at_Lean_LocalContext_mkLocalDecl___spec__1(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_ResolveName_resolveNamespace(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__6; -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___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_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__4(lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_isFieldIdx_x3f(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isRoundDone(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__2___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_Array_zipWithAux___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__3; LEAN_EXPORT lean_object* l_Lean_Syntax_rewriteBottomUpM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__3(lean_object*, lean_object*); uint64_t lean_uint64_shift_right(uint64_t, uint64_t); @@ -352,35 +346,30 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesi lean_object* lean_nat_to_int(lean_object*); lean_object* l_List_findSome_x3f___rarg(lean_object*, lean_object*); lean_object* l_Lean_MessageData_ofSyntax(lean_object*); -lean_object* l_Lean_Syntax_node6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_instToFormatFieldLHS___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValue_x3f_process___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_nat_div(lean_object*, lean_object*); lean_object* l_Lean_getConstInfo___at_Lean_Elab_Term_mkConst___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_mkHole(lean_object*, uint8_t); -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__7; static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__2; lean_object* l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_Term_StructInst_SourcesView_isNone(lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldLHS_toSyntax___closed__1; static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__4___closed__5; -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_collectStructNames(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__3(lean_object*); lean_object* l_Lean_registerTraceClass(lean_object*, uint8_t, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_reduce___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_lambdaLetTelescope___at___private_Lean_Meta_InferType_0__Lean_Meta_inferLambdaType___spec__1___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__8; lean_object* l_Lean_Elab_Term_elabTerm___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_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType_docString__1___closed__1; LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__5___rarg___lambda__2(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__1; -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__1(lean_object*, lean_object*, size_t, size_t); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_components(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldVal_toSyntax(lean_object*); lean_object* l_Lean_Syntax_getKind(lean_object*); -static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__7; lean_object* l_Lean_MessageData_ofFormat(lean_object*); LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_Term_StructInst_DefaultFields_getHierarchyDepth___spec__1(lean_object*, lean_object*); lean_object* l_Lean_Elab_getBetterRef(lean_object*, lean_object*); @@ -388,7 +377,6 @@ uint8_t l_Lean_Expr_isMVar(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnexpectedExpectedType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__5___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_reduce___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_formatField___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_defaultMissing_x3f(lean_object*); lean_object* l_Lean_Expr_appArg(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -398,15 +386,15 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_StructIns static lean_object* l_Lean_Elab_Term_StructInst_instToStringField___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStruct(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_outOfBounds___rarg(lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__4; static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__4; static lean_object* l_Lean_Elab_Term_StructInst_instInhabitedFieldLHS___closed__1; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnknownExpectedType___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_panic___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__1___closed__1; lean_object* l_Lean_Meta_whnfForall(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_st_ref_get(lean_object*, lean_object*); -static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValue_x3f_process___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_addMacroStack___at_Lean_Elab_Term_instAddErrorMessageContextTermElabM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -430,6 +418,7 @@ lean_object* l_Lean_Expr_appFnCleanup(lean_object*, lean_object*); extern lean_object* l_Lean_Elab_Term_termElabAttribute; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_panic___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__1___closed__1; +static lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__4; uint8_t l_Lean_Expr_hasLooseBVars(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefault(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_Term_StructInst_throwFailedToElabField___rarg___closed__4; @@ -440,6 +429,7 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Stru LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_mkSep(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__2; static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__5___lambda__1___closed__6; LEAN_EXPORT lean_object* l_List_mapTR_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandCompositeFields___spec__3(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___lambda__1___closed__2; @@ -449,27 +439,25 @@ uint8_t l_Lean_Syntax_isMissing(lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS___closed__1; LEAN_EXPORT lean_object* l_List_mapTR_loop___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__12(lean_object*, lean_object*); static lean_object* l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__5___rarg___lambda__2___closed__1; -static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__10; extern lean_object* l_Lean_levelZero; static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__6; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___spec__1(lean_object*, size_t, size_t); static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__10___closed__3; LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__12; LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__2___rarg___lambda__2(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_filterMapM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__3(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_Term_StructInst_throwFailedToElabField___rarg___closed__2; static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__4; -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__10; LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_Field_toSyntax___spec__1(size_t, size_t, lean_object*); -static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__5; -static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_getHierarchyDepth(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkProjStx_x3f___lambda__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_Elab_Term_StructInst_formatStruct___closed__9; LEAN_EXPORT uint8_t l_Lean_Elab_Term_StructInst_StructInstView_allDefault(lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName___lambda__1___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_DefaultFields_reduce___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -483,19 +471,21 @@ LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Le lean_object* l_List_lengthTRAux___rarg(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType_declRange__1___closed__1; static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__2; +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType(lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___spec__4___closed__1; LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapTR_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandCompositeFields___spec__2(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getSepArgs(lean_object*); lean_object* l_Lean_addMacroScope(lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__24; static lean_object* l_Lean_Elab_Term_StructInst_instToFormatField___closed__1; -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Core_withFreshMacroScope___rarg(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__10; +lean_object* l_Lean_Elab_Term_expandMatchAltsIntoMatch(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__5; +static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__3; LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_contains___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__5___boxed(lean_object*, lean_object*); uint8_t lean_name_eq(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -515,12 +505,9 @@ static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___c LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__5; lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___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*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__4; -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__9; -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Syntax_matchesNull(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_DefaultFields_reduce___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -532,13 +519,13 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMis LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax(lean_object*); uint8_t l_Lean_Syntax_isIdent(lean_object*); -static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__21; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__7; lean_object* l_Lean_LocalDecl_fvarId(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT uint8_t l_Lean_Elab_Term_StructInst_Field_isSimple(lean_object*); LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_throwAbortTerm___at_Lean_Elab_Term_ensureType___spec__1___rarg(lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__11; LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__5; LEAN_EXPORT lean_object* l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -552,8 +539,10 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMis static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__2; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_propagateExpectedType___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__7; +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__2; LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__7; +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__5; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__5; LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__4(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldLHS_toSyntax(uint8_t, lean_object*); @@ -565,19 +554,21 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Stru static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__5___rarg(lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__15; lean_object* l_Lean_MessageData_ofConstName(lean_object*, uint8_t); +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_append___rarg(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__1; uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnknownExpectedType___closed__1; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___closed__2; -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__4; lean_object* l_Lean_MessageData_ofExpr(lean_object*); static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__1; LEAN_EXPORT lean_object* l_List_findSomeM_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_findDefaultMissing_x3f___spec__1___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__1(lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnexpectedExpectedType___closed__3; static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__1; +static lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__4; static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__4___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_StructInstView_modifyFieldsM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_instToStringStructInstView___closed__1; @@ -586,16 +577,16 @@ LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Stru LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_throwFailedToElabField___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___boxed(lean_object**); lean_object* l_panic___at_Lean_Parser_SyntaxStack_back___spec__1(lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__14; double l_Float_ofScientific(lean_object*, uint8_t, lean_object*); -static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__3; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__4; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_ensureHasType(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_Term_StructInst_elabStructInst___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getStructureName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_node4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__7; LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___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*, lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__13; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__7(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_throwUnsupportedSyntax___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__5___rarg___closed__1; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__1(lean_object*); @@ -617,9 +608,8 @@ LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0 LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isSimpleField_x3f___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_step(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7; -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__11; LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__1___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__2; +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_findSomeM_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_findDefaultMissing_x3f___spec__1___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName___lambda__2(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_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -630,7 +620,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_instInhabitedExplicitSource static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_Field_toSyntax___closed__2; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___rarg(lean_object*, lean_object*, lean_object*); -static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1(lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValue_x3f_process___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValue_x3f_process___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -638,7 +627,6 @@ static lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___ lean_object* l_Lean_Expr_app___override(lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName___closed__1; lean_object* lean_string_length(lean_object*); -LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing___rarg(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_SourcesView_isNone___boxed(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___rarg___lambda__1(lean_object*, lean_object*); @@ -653,15 +641,16 @@ lean_object* l_Lean_Meta_mkFreshLevelMVarsFor(lean_object*, lean_object*, lean_o LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_instToStringField; lean_object* l_Lean_throwError___at_Lean_Elab_Term_synthesizeInstMVarCore___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Syntax_SepArray_ofElems(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_elabStructInst(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_nat_dec_lt(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___lambda__1___boxed(lean_object*, lean_object*); lean_object* lean_environment_main_module(lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__8; lean_object* l_Lean_Meta_synthInstance_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefault_loop___closed__1; +static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__12; static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefault_loop___closed__3; -static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__4; LEAN_EXPORT lean_object* l_List_findSomeM_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_findDefaultMissing_x3f___spec__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_getLocalInstances(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__14; @@ -669,21 +658,25 @@ static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkProjStx_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_mkStr2(lean_object*, lean_object*); static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__10___closed__4; +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__1(size_t, size_t, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_isPrivateNameFromImportedModule(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType_declRange__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_reduce_withReduceLCtx(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_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__9; static lean_object* l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__3___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___spec__3___closed__4; +static lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__1; LEAN_EXPORT lean_object* l_Std_DHashMap_Internal_AssocList_replace___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__9(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHeaderAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_indentExpr(lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__14; static lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__3___closed__5; uint8_t l_Lean_BinderInfo_isExplicit(uint8_t); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_instInhabitedStructInstView; -static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__2; +static lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__6; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_instToFormatFieldLHS(lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__9; +static lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__5; static double l_Lean_addTrace___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__16___closed__1; static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__5; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -694,15 +687,15 @@ lean_object* l_Lean_mkSepArray(lean_object*, lean_object*); uint8_t l_Lean_Expr_isConstOf(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__4; -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__10; lean_object* l_Std_Format_joinSep___at_Prod_repr___spec__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint64_t l_Lean_Name_hash___override(lean_object*); -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__3; +static lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__7; static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__5; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__1; lean_object* l_Lean_addMessageContextFull___at_Lean_Meta_instAddMessageContextMetaM___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_contains___at_Lean_registerInternalExceptionId___spec__1(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__3; static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnexpectedExpectedType___closed__4; LEAN_EXPORT lean_object* l_Lean_addTrace___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__16___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -730,19 +723,18 @@ lean_object* l_Lean_Expr_getAppFn(lean_object*); lean_object* l_Lean_Meta_withLCtx___at___private_Lean_Meta_Basic_0__Lean_Meta_mkLevelErrorMessageCore___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_isStructure(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_elabStructInst___closed__2; -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_StructInst_throwFailedToElabField___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Array_mkArray1___rarg(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType_declRange__1(lean_object*); lean_object* lean_nat_mul(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__5___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__5___lambda__1___boxed(lean_object**); +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792_(lean_object*); uint64_t lean_uint64_shift_left(uint64_t, uint64_t); LEAN_EXPORT uint8_t l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefault_loop___lambda__1(lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__11; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnknownExpectedType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___closed__4; -static lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_reduce_withReduceLCtx___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__2___boxed(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__5___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -761,6 +753,7 @@ static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDef static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__8; lean_object* l_List_reverse___rarg(lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___closed__5; +static lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__1; lean_object* l_Lean_Syntax_prettyPrint(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___closed__6; @@ -780,6 +773,7 @@ static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructIns LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__2(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__1___lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_isDefaultMissing_x3f___rarg___lambda__1(lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__11; static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__12; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWithSyntax___boxed(lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___closed__1; @@ -790,13 +784,11 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructI LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_isTracingEnabledForCore(lean_object*, lean_object*, lean_object*); size_t lean_usize_add(size_t, size_t); -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__9; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_findSomeM_x3f___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_declRange__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__8; extern lean_object* l_Lean_instInhabitedName; lean_object* l_Lean_Expr_betaRev(lean_object*, lean_object*, uint8_t, uint8_t); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__4(lean_object*, size_t, size_t, lean_object*); @@ -808,7 +800,6 @@ LEAN_EXPORT lean_object* l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_StructIn LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go(lean_object*); size_t lean_array_size(lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_reduce(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__23; static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__5___closed__5; LEAN_EXPORT lean_object* l_panic___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValue_x3f_process___closed__3; @@ -819,6 +810,7 @@ extern lean_object* l_Lean_instInhabitedSyntax; lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5; +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___lambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_instInhabitedFieldLHS; lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructName_throwUnexpectedExpectedType___closed__1; @@ -826,8 +818,10 @@ lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar(lean_object*, lean_object* static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__5___closed__4; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___spec__3(lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_trySynthStructInstance_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__7; lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MVarId_isAssigned___rarg(lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Array_zipWithAux___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__2; static lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__3; lean_object* lean_string_append(lean_object*, lean_object*); @@ -840,13 +834,13 @@ lean_object* lean_array_get_size(lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_mkDefaultValue_x3f_process___closed__4; lean_object* l_panic___at___private_Init_Prelude_0__Lean_assembleParts___spec__1(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNumLitFields___lambda__1___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_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__3; static lean_object* l_Lean_Elab_Term_StructInst_throwFailedToElabField___rarg___closed__3; LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__11(lean_object*, lean_object*, lean_object*, size_t, size_t); static lean_object* l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__6; static lean_object* l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__3___closed__2; static lean_object* l_Lean_Elab_Term_StructInst_instInhabitedStructInstView___closed__1; LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__5(lean_object*); +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField(lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_formatStruct(lean_object*); lean_object* lean_infer_type(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_find_expr(lean_object*, lean_object*); @@ -858,11 +852,9 @@ extern lean_object* l_Lean_Elab_unsupportedSyntaxExceptionId; static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__6; static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__8; uint8_t lean_usize_dec_lt(size_t, size_t); -lean_object* l_Array_mkArray2___rarg(lean_object*, lean_object*); -static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1; +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_forIn_x27Unsafe_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__2___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_tryToSynthesizeDefault_loop___closed__2; static lean_object* l_Lean_Elab_throwUnsupportedSyntax___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__5___rarg___closed__2; lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -873,16 +865,20 @@ lean_object* lean_nat_add(lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_formatStruct___closed__6; static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__1; lean_object* l_Array_contains___at_Lean_registerInternalExceptionId___spec__1___boxed(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields_docString__1(lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__8___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_throwError___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Std_Format_joinSep___at_Lean_Elab_Term_StructInst_formatStruct___spec__4(lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__4; LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___closed__4; uint8_t l_Lean_Exception_isRuntime(lean_object*); LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_formatStruct___spec__2(size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__1___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__2; static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_declRange__1___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_formatField(lean_object*, lean_object*); +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1(lean_object*); LEAN_EXPORT lean_object* l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__5___rarg___lambda__4(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst__1___closed__3; static lean_object* l_Lean_throwMaxRecDepthAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstAux___spec__4___closed__2; @@ -894,9 +890,7 @@ static lean_object* l_Lean_Elab_Term_StructInst_throwFailedToElabField___rarg___ static lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__5___lambda__1___closed__1; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldLHS_toSyntax___boxed(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_reduce___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_docString__1(lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; -LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType_declRange__1___closed__5; lean_object* l_Lean_getStructureFieldsFlattened(lean_object*, lean_object*, uint8_t); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -916,6 +910,7 @@ lean_object* l___private_Init_Data_Repr_0__Nat_reprFast(lean_object*); lean_object* l_Lean_Elab_Term_withMacroExpansion___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_findField_x3f(lean_object*, lean_object*); LEAN_EXPORT lean_object* l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__10; LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___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_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -925,7 +920,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMis LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_instToFormatField; LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_Term_StructInst_formatField___spec__2(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__11; LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_StructInst_throwFailedToElabField___spec__1(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getForallBody(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_propagateExpectedType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -937,7 +931,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_D static lean_object* l_Lean_Elab_Term_StructInst_markDefaultMissing___closed__1; static lean_object* l_Lean_Elab_Term_StructInst_instToFormatFieldLHS___closed__4; LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_throwFailedToElabField___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_instMonad___rarg(lean_object*); size_t lean_usize_land(size_t, size_t); @@ -954,6 +947,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_reduce___lamb uint8_t l_Array_isEmpty___rarg(lean_object*); LEAN_EXPORT lean_object* l_Lean_MVarId_isAssigned___at_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___spec__2___rarg(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__10; +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l___private_Lean_Expr_0__Lean_beqBinderInfo____x40_Lean_Expr___hyg_406_(uint8_t, uint8_t); static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1() { _start: @@ -1334,925 +1328,1889 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__1(lean_object* x_1, lean_object* x_2, size_t x_3, size_t x_4) { +static lean_object* _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__1() { _start: { -uint8_t x_5; -x_5 = lean_usize_dec_eq(x_3, x_4); -if (x_5 == 0) -{ -lean_object* x_6; lean_object* x_7; uint8_t x_8; -x_6 = lean_array_uget(x_2, x_3); -x_7 = l_Lean_Syntax_getKind(x_6); -x_8 = lean_name_eq(x_7, x_1); -lean_dec(x_7); -if (x_8 == 0) -{ -size_t x_9; size_t x_10; -x_9 = 1; -x_10 = lean_usize_add(x_3, x_9); -x_3 = x_10; -goto _start; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("structInstField", 15, 15); +return x_1; } -else +} +static lean_object* _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__2() { +_start: { -uint8_t x_12; -x_12 = 1; -return x_12; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; +x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; +x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; +x_4 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -else +static lean_object* _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__3() { +_start: { -uint8_t x_13; -x_13 = 0; -return x_13; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("structInstFieldDef", 18, 18); +return x_1; } } +static lean_object* _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__4() { +_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_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; +x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; +x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; +x_4 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__3; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__1() { +} +static lean_object* _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__5() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("ident", 5, 5); +x_1 = lean_mk_string_unchecked(" := ", 4, 4); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__2() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__1; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = lean_box(2); +x_2 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__5; +x_3 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__3() { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; +x_6 = lean_box(0); +x_7 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_7, 0, x_2); +lean_ctor_set(x_7, 1, x_6); +x_8 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__6; +x_9 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_7); +x_10 = lean_array_mk(x_9); +x_11 = lean_box(2); +x_12 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__4; +x_13 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_13, 0, x_11); +lean_ctor_set(x_13, 1, x_12); +lean_ctor_set(x_13, 2, x_10); +x_14 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_6); +x_15 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__4; +x_16 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_14); +x_17 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_17, 0, x_15); +lean_ctor_set(x_17, 1, x_16); +x_18 = lean_array_mk(x_17); +x_19 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; +x_20 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_20, 0, x_11); +lean_ctor_set(x_20, 1, x_19); +lean_ctor_set(x_20, 2, x_18); +x_21 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_21, 0, x_20); +lean_ctor_set(x_21, 1, x_6); +x_22 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_22, 0, x_1); +lean_ctor_set(x_22, 1, x_21); +x_23 = lean_array_mk(x_22); +x_24 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__2; +x_25 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_25, 0, x_11); +lean_ctor_set(x_25, 1, x_24); +lean_ctor_set(x_25, 2, x_23); +x_26 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_26, 0, x_25); +lean_ctor_set(x_26, 1, x_5); +return x_26; +} +} +static lean_object* _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstLVal", 14, 14); +x_1 = lean_mk_string_unchecked("fun", 3, 3); return x_1; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__4() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__2() { _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_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; -x_4 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__3; +x_4 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__3() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked(":=", 2, 2); +x_1 = lean_mk_string_unchecked("basicFun", 8, 8); return x_1; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, size_t x_4, size_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { +static lean_object* _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__4() { _start: { -uint8_t x_9; -x_9 = lean_usize_dec_lt(x_5, x_4); -if (x_9 == 0) +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; +x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; +x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; +x_4 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__3; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__5() { +_start: { -lean_object* x_10; -lean_dec(x_2); -x_10 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_10, 0, x_6); -lean_ctor_set(x_10, 1, x_8); -return x_10; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("=>", 2, 2); +return x_1; } -else +} +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: { -lean_object* x_11; lean_object* x_12; lean_object* x_13; uint8_t x_14; -x_11 = lean_array_uget(x_6, x_5); -x_12 = lean_unsigned_to_nat(0u); -x_13 = lean_array_uset(x_6, x_5, x_12); -lean_inc(x_11); -x_14 = l_Lean_Syntax_isOfKind(x_11, x_1); -if (x_14 == 0) +uint8_t x_7; +x_7 = l_Array_isEmpty___rarg(x_2); +if (x_7 == 0) { -size_t x_15; size_t x_16; lean_object* x_17; -x_15 = 1; -x_16 = lean_usize_add(x_5, x_15); -x_17 = lean_array_uset(x_13, x_5, x_11); -x_5 = x_16; -x_6 = x_17; -goto _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; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_8 = lean_ctor_get(x_5, 5); +x_9 = 0; +x_10 = l_Lean_SourceInfo_fromRef(x_8, x_9); +x_11 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__1; +lean_inc(x_10); +x_12 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_12, 0, x_10); +lean_ctor_set(x_12, 1, x_11); +x_13 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; +x_14 = l_Array_append___rarg(x_13, x_2); +x_15 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; +lean_inc(x_10); +x_16 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_16, 0, x_10); +lean_ctor_set(x_16, 1, x_15); +lean_ctor_set(x_16, 2, x_14); +lean_inc(x_10); +x_17 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_17, 0, x_10); +lean_ctor_set(x_17, 1, x_15); +lean_ctor_set(x_17, 2, x_13); +x_18 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__5; +lean_inc(x_10); +x_19 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_19, 0, x_10); +lean_ctor_set(x_19, 1, x_18); +x_20 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__4; +lean_inc(x_10); +x_21 = l_Lean_Syntax_node4(x_10, x_20, x_16, x_17, x_19, x_3); +x_22 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__2; +x_23 = l_Lean_Syntax_node2(x_10, x_22, x_12, x_21); +x_24 = lean_box(0); +x_25 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1(x_1, x_23, x_24, x_5, x_6); +return x_25; } else { -lean_object* x_19; lean_object* x_20; uint8_t x_21; -x_19 = l_Lean_Syntax_getArg(x_11, x_12); -x_20 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__2; -lean_inc(x_19); -x_21 = l_Lean_Syntax_isOfKind(x_19, x_20); -if (x_21 == 0) +lean_object* x_26; lean_object* x_27; +x_26 = lean_box(0); +x_27 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1(x_1, x_3, x_26, x_5, x_6); +return x_27; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: { -size_t x_22; size_t x_23; lean_object* x_24; -lean_dec(x_19); -x_22 = 1; -x_23 = lean_usize_add(x_5, x_22); -x_24 = lean_array_uset(x_13, x_5, x_11); -x_5 = x_23; -x_6 = x_24; -goto _start; +if (lean_obj_tag(x_3) == 0) +{ +lean_object* x_7; lean_object* x_8; +x_7 = lean_box(0); +x_8 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2(x_1, x_2, x_4, x_7, x_5, x_6); +return x_8; } else { -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; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; size_t x_37; size_t x_38; lean_object* x_39; -lean_dec(x_11); -x_26 = lean_ctor_get(x_7, 5); -x_27 = 0; -x_28 = l_Lean_SourceInfo_fromRef(x_26, x_27); -x_29 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; -x_30 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; -lean_inc(x_28); -x_31 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_31, 0, x_28); -lean_ctor_set(x_31, 1, x_29); -lean_ctor_set(x_31, 2, x_30); -x_32 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__4; -lean_inc(x_19); -lean_inc(x_28); -x_33 = l_Lean_Syntax_node2(x_28, x_32, x_19, x_31); -x_34 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5; -lean_inc(x_28); -x_35 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_35, 0, x_28); -lean_ctor_set(x_35, 1, x_34); -lean_inc(x_2); -x_36 = l_Lean_Syntax_node3(x_28, x_2, x_33, x_35, x_19); -x_37 = 1; -x_38 = lean_usize_add(x_5, x_37); -x_39 = lean_array_uset(x_13, x_5, x_36); -x_5 = x_38; -x_6 = x_39; -goto _start; +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; +x_9 = lean_ctor_get(x_3, 0); +lean_inc(x_9); +lean_dec(x_3); +x_10 = lean_ctor_get(x_5, 5); +x_11 = 0; +x_12 = l_Lean_SourceInfo_fromRef(x_10, x_11); +x_13 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__10; +lean_inc(x_12); +x_14 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_14, 0, x_12); +lean_ctor_set(x_14, 1, x_13); +x_15 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__11; +lean_inc(x_12); +x_16 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_16, 0, x_12); +lean_ctor_set(x_16, 1, x_15); +x_17 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; +lean_inc(x_12); +x_18 = l_Lean_Syntax_node1(x_12, x_17, x_9); +x_19 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__12; +lean_inc(x_12); +x_20 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_20, 0, x_12); +lean_ctor_set(x_20, 1, x_19); +x_21 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__9; +x_22 = l_Lean_Syntax_node5(x_12, x_21, x_14, x_4, x_16, x_18, x_20); +x_23 = lean_box(0); +x_24 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2(x_1, x_2, x_22, x_23, x_5, x_6); +return x_24; } } } +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___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_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1(x_1, x_2, x_3, x_4, x_5); +lean_dec(x_4); +lean_dec(x_3); +return x_6; } } -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__3(lean_object* x_1, size_t x_2, size_t x_3, lean_object* x_4) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { -uint8_t x_5; -x_5 = lean_usize_dec_lt(x_3, x_2); -if (x_5 == 0) -{ -return x_4; +lean_object* x_7; +x_7 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_2); +return x_7; } -else +} +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_mkStructInstField___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_6; lean_object* x_7; lean_object* x_8; size_t x_9; size_t x_10; lean_object* x_11; -x_6 = lean_array_uget(x_4, x_3); -x_7 = lean_unsigned_to_nat(0u); -x_8 = lean_array_uset(x_4, x_3, x_7); -x_9 = 1; -x_10 = lean_usize_add(x_3, x_9); -x_11 = lean_array_uset(x_8, x_3, x_6); -x_3 = x_10; -x_4 = x_11; -goto _start; +lean_object* x_7; +x_7 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_2); +return x_7; +} } +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___lambda__1(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_inc(x_2); +return x_2; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__1() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstFieldAbbrev", 21, 21); +x_1 = lean_mk_string_unchecked("structInstLVal", 14, 14); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__2() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__2() { _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_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; -x_4 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__1; +x_4 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__3() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = lean_box(0); +x_2 = lean_array_mk(x_1); +return x_2; +} +} +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__4() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstField", 15, 15); +x_1 = lean_mk_string_unchecked("structInstFieldAbbrev", 21, 21); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__4() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; -x_4 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__3; +x_4 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__4; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__5() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__4; -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; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("unsupported structure instance field abbreviation, expecting identifier", 71, 71); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("ident", 5, 5); +return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__6() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__2; -x_2 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__5; -x_3 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); +x_1 = lean_box(0); +x_2 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__7; +x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__7() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__9() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("{", 1, 1); +x_1 = lean_alloc_closure((void*)(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___lambda__1___boxed), 2, 0); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__8() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__10() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked(",", 1, 1); +x_1 = lean_mk_string_unchecked("structInstFieldEqns", 19, 19); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__9() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__11() { +_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_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; +x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; +x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; +x_4 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__10; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__12() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("}", 1, 1); +x_1 = lean_mk_string_unchecked("matchAlts", 9, 9); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__10() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__13() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; -x_2 = l_Array_append___rarg(x_1, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; +x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; +x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; +x_4 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__12; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__11() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__14() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("..", 2, 2); +x_1 = lean_mk_string_unchecked("typeSpec", 8, 8); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__12() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__15() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("with", 4, 4); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; +x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; +x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; +x_4 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__14; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__16() { _start: { -lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; uint8_t x_15; -x_11 = l_Lean_Syntax_getArgs(x_1); -x_12 = l_Lean_Syntax_TSepArray_getElems___rarg(x_11); -lean_dec(x_11); -x_13 = lean_array_get_size(x_12); -x_14 = lean_unsigned_to_nat(0u); -x_15 = lean_nat_dec_lt(x_14, x_13); -if (x_15 == 0) +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__9; +x_2 = lean_box(0); +x_3 = lean_box(0); +x_4 = lean_apply_2(x_1, x_3, x_2); +return x_4; +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +_start: { -lean_object* x_16; lean_object* x_17; -lean_dec(x_13); -lean_dec(x_12); +lean_object* x_4; uint8_t x_5; uint8_t x_6; +x_4 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__2; +lean_inc(x_1); +x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); +x_6 = !lean_is_exclusive(x_2); +if (x_6 == 0) +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; +x_7 = lean_ctor_get(x_2, 5); +x_8 = l_Lean_replaceRef(x_1, x_7); +lean_dec(x_7); +lean_inc(x_8); +lean_ctor_set(x_2, 5, x_8); +if (x_5 == 0) +{ +lean_object* x_30; uint8_t x_31; +x_30 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__5; +lean_inc(x_1); +x_31 = l_Lean_Syntax_isOfKind(x_1, x_30); +if (x_31 == 0) +{ +lean_object* x_32; lean_object* x_33; +lean_dec(x_2); lean_dec(x_8); -lean_dec(x_5); -lean_dec(x_4); +lean_dec(x_1); +x_32 = lean_box(1); +x_33 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_33, 0, x_32); +lean_ctor_set(x_33, 1, x_3); +return x_33; +} +else +{ +lean_object* x_34; +x_34 = lean_box(0); +x_9 = x_34; +goto block_29; +} +} +else +{ +lean_object* x_35; lean_object* x_36; uint8_t x_37; +x_35 = l_Lean_Syntax_getNumArgs(x_1); +x_36 = lean_unsigned_to_nat(3u); +x_37 = lean_nat_dec_eq(x_35, x_36); +lean_dec(x_35); +if (x_37 == 0) +{ +lean_object* x_38; uint8_t x_39; +x_38 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__5; +lean_inc(x_1); +x_39 = l_Lean_Syntax_isOfKind(x_1, x_38); +if (x_39 == 0) +{ +lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; +lean_dec(x_8); +x_40 = lean_unsigned_to_nat(0u); +x_41 = l_Lean_Syntax_getArg(x_1, x_40); +x_42 = lean_unsigned_to_nat(1u); +x_43 = l_Lean_Syntax_getArg(x_1, x_42); +x_44 = l_Lean_Syntax_getNumArgs(x_43); +x_45 = lean_nat_dec_lt(x_40, x_44); +lean_dec(x_44); +if (x_45 == 0) +{ +lean_object* x_46; uint8_t x_47; +lean_dec(x_43); +lean_dec(x_1); +x_46 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__2; +lean_inc(x_41); +x_47 = l_Lean_Syntax_isOfKind(x_41, x_46); +if (x_47 == 0) +{ +lean_object* x_48; lean_object* x_49; +x_48 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__6; +x_49 = l_Lean_Macro_throwErrorAt___rarg(x_41, x_48, x_2, x_3); +lean_dec(x_41); +return x_49; +} +else +{ +lean_object* x_50; lean_object* x_51; uint8_t x_52; +x_50 = l_Lean_Syntax_getArg(x_41, x_40); +x_51 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__8; +lean_inc(x_50); +x_52 = l_Lean_Syntax_isOfKind(x_50, x_51); +if (x_52 == 0) +{ +lean_object* x_53; lean_object* x_54; +lean_dec(x_50); +x_53 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__6; +x_54 = l_Lean_Macro_throwErrorAt___rarg(x_41, x_53, x_2, x_3); +lean_dec(x_41); +return x_54; +} +else +{ +lean_object* x_55; uint8_t x_56; +x_55 = l_Lean_Syntax_getArg(x_41, x_42); +x_56 = l_Lean_Syntax_matchesNull(x_55, x_40); +if (x_56 == 0) +{ +lean_object* x_57; lean_object* x_58; +lean_dec(x_50); +x_57 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__6; +x_58 = l_Lean_Macro_throwErrorAt___rarg(x_41, x_57, x_2, x_3); +lean_dec(x_41); +return x_58; +} +else +{ +lean_object* x_59; lean_object* x_60; lean_object* x_61; uint8_t x_62; +x_59 = lean_box(0); +x_60 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; +x_61 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_41, x_60, x_59, x_50, x_2, x_3); lean_dec(x_2); -x_16 = lean_box(1); -x_17 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_17, 0, x_16); -lean_ctor_set(x_17, 1, x_10); -return x_17; +x_62 = !lean_is_exclusive(x_61); +if (x_62 == 0) +{ +lean_object* x_63; lean_object* x_64; +x_63 = lean_ctor_get(x_61, 0); +x_64 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_64, 0, x_63); +lean_ctor_set(x_61, 0, x_64); +return x_61; } else { -size_t x_18; size_t x_19; lean_object* x_20; uint8_t x_21; -x_18 = 0; -x_19 = lean_usize_of_nat(x_13); -lean_dec(x_13); -x_20 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__2; -x_21 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__1(x_20, x_12, x_18, x_19); -if (x_21 == 0) +lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_65 = lean_ctor_get(x_61, 0); +x_66 = lean_ctor_get(x_61, 1); +lean_inc(x_66); +lean_inc(x_65); +lean_dec(x_61); +x_67 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_67, 0, x_65); +x_68 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_68, 0, x_67); +lean_ctor_set(x_68, 1, x_66); +return x_68; +} +} +} +} +} +else { -lean_object* x_22; lean_object* x_23; -lean_dec(x_12); +lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; uint8_t x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; uint8_t x_77; lean_object* x_78; +x_69 = l_Lean_Syntax_getArg(x_43, x_40); +x_70 = l_Lean_Syntax_getArgs(x_69); +lean_dec(x_69); +x_71 = l_Lean_Syntax_getArg(x_43, x_42); +x_72 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__9; +x_73 = l_Lean_Syntax_isNone(x_71); +x_74 = lean_unsigned_to_nat(2u); +x_75 = l_Lean_Syntax_getArg(x_43, x_74); +lean_dec(x_43); +x_76 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__4; +lean_inc(x_75); +x_77 = l_Lean_Syntax_isOfKind(x_75, x_76); +if (x_73 == 0) +{ +uint8_t x_126; +lean_inc(x_71); +x_126 = l_Lean_Syntax_matchesNull(x_71, x_42); +if (x_126 == 0) +{ +lean_object* x_127; +lean_dec(x_71); +x_127 = lean_box(0); +x_78 = x_127; +goto block_125; +} +else +{ +lean_object* x_128; lean_object* x_129; uint8_t x_130; +x_128 = l_Lean_Syntax_getArg(x_71, x_40); +lean_dec(x_71); +x_129 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__15; +lean_inc(x_128); +x_130 = l_Lean_Syntax_isOfKind(x_128, x_129); +if (x_130 == 0) +{ +lean_object* x_131; +lean_dec(x_128); +x_131 = lean_box(0); +x_78 = x_131; +goto block_125; +} +else +{ +lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; +x_132 = l_Lean_Syntax_getArg(x_128, x_42); +lean_dec(x_128); +x_133 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_133, 0, x_132); +x_134 = lean_box(0); +x_135 = lean_apply_2(x_72, x_134, x_133); +x_78 = x_135; +goto block_125; +} +} +} +else +{ +lean_object* x_136; +lean_dec(x_71); +x_136 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__16; +x_78 = x_136; +goto block_125; +} +block_125: +{ +if (x_77 == 0) +{ +lean_object* x_79; uint8_t x_80; +x_79 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__11; +lean_inc(x_75); +x_80 = l_Lean_Syntax_isOfKind(x_75, x_79); +if (x_80 == 0) +{ +lean_object* x_81; lean_object* x_82; +lean_dec(x_78); +lean_dec(x_75); +lean_dec(x_70); +lean_dec(x_41); +lean_dec(x_2); +lean_dec(x_1); +x_81 = lean_box(1); +x_82 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_82, 0, x_81); +lean_ctor_set(x_82, 1, x_3); +return x_82; +} +else +{ +lean_object* x_83; lean_object* x_84; uint8_t x_85; +x_83 = l_Lean_Syntax_getArg(x_75, x_40); +lean_dec(x_75); +x_84 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__13; +lean_inc(x_83); +x_85 = l_Lean_Syntax_isOfKind(x_83, x_84); +if (x_85 == 0) +{ +lean_object* x_86; lean_object* x_87; +lean_dec(x_83); +lean_dec(x_78); +lean_dec(x_70); +lean_dec(x_41); +lean_dec(x_2); +lean_dec(x_1); +x_86 = lean_box(1); +x_87 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_87, 0, x_86); +lean_ctor_set(x_87, 1, x_3); +return x_87; +} +else +{ +uint8_t x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean_object* x_92; uint8_t x_93; +x_88 = 0; +lean_inc(x_2); +x_89 = l_Lean_Elab_Term_expandMatchAltsIntoMatch(x_1, x_83, x_88, x_2, x_3); +lean_dec(x_1); +x_90 = lean_ctor_get(x_89, 0); +lean_inc(x_90); +x_91 = lean_ctor_get(x_89, 1); +lean_inc(x_91); +lean_dec(x_89); +x_92 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_41, x_70, x_78, x_90, x_2, x_91); +lean_dec(x_2); +lean_dec(x_70); +x_93 = !lean_is_exclusive(x_92); +if (x_93 == 0) +{ +lean_object* x_94; lean_object* x_95; +x_94 = lean_ctor_get(x_92, 0); +x_95 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_95, 0, x_94); +lean_ctor_set(x_92, 0, x_95); +return x_92; +} +else +{ +lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; +x_96 = lean_ctor_get(x_92, 0); +x_97 = lean_ctor_get(x_92, 1); +lean_inc(x_97); +lean_inc(x_96); +lean_dec(x_92); +x_98 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_98, 0, x_96); +x_99 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_99, 0, x_98); +lean_ctor_set(x_99, 1, x_97); +return x_99; +} +} +} +} +else +{ +lean_object* x_100; uint8_t x_101; +lean_dec(x_1); +x_100 = l_Lean_Syntax_getArg(x_75, x_42); +lean_dec(x_75); +x_101 = l_Array_isEmpty___rarg(x_70); +if (x_101 == 0) +{ +lean_object* x_102; uint8_t x_103; +x_102 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_41, x_70, x_78, x_100, x_2, x_3); +lean_dec(x_2); +lean_dec(x_70); +x_103 = !lean_is_exclusive(x_102); +if (x_103 == 0) +{ +lean_object* x_104; lean_object* x_105; +x_104 = lean_ctor_get(x_102, 0); +x_105 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_105, 0, x_104); +lean_ctor_set(x_102, 0, x_105); +return x_102; +} +else +{ +lean_object* x_106; lean_object* x_107; lean_object* x_108; lean_object* x_109; +x_106 = lean_ctor_get(x_102, 0); +x_107 = lean_ctor_get(x_102, 1); +lean_inc(x_107); +lean_inc(x_106); +lean_dec(x_102); +x_108 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_108, 0, x_106); +x_109 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_109, 0, x_108); +lean_ctor_set(x_109, 1, x_107); +return x_109; +} +} +else +{ +if (lean_obj_tag(x_78) == 0) +{ +lean_object* x_110; lean_object* x_111; +lean_dec(x_100); +lean_dec(x_70); +lean_dec(x_41); +lean_dec(x_2); +x_110 = lean_box(0); +x_111 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_111, 0, x_110); +lean_ctor_set(x_111, 1, x_3); +return x_111; +} +else +{ +lean_object* x_112; uint8_t x_113; +lean_inc(x_78); +x_112 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_41, x_70, x_78, x_100, x_2, x_3); +lean_dec(x_2); +lean_dec(x_70); +x_113 = !lean_is_exclusive(x_78); +if (x_113 == 0) +{ +lean_object* x_114; uint8_t x_115; +x_114 = lean_ctor_get(x_78, 0); +lean_dec(x_114); +x_115 = !lean_is_exclusive(x_112); +if (x_115 == 0) +{ +lean_object* x_116; +x_116 = lean_ctor_get(x_112, 0); +lean_ctor_set(x_78, 0, x_116); +lean_ctor_set(x_112, 0, x_78); +return x_112; +} +else +{ +lean_object* x_117; lean_object* x_118; lean_object* x_119; +x_117 = lean_ctor_get(x_112, 0); +x_118 = lean_ctor_get(x_112, 1); +lean_inc(x_118); +lean_inc(x_117); +lean_dec(x_112); +lean_ctor_set(x_78, 0, x_117); +x_119 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_119, 0, x_78); +lean_ctor_set(x_119, 1, x_118); +return x_119; +} +} +else +{ +lean_object* x_120; lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; +lean_dec(x_78); +x_120 = lean_ctor_get(x_112, 0); +lean_inc(x_120); +x_121 = lean_ctor_get(x_112, 1); +lean_inc(x_121); +if (lean_is_exclusive(x_112)) { + lean_ctor_release(x_112, 0); + lean_ctor_release(x_112, 1); + x_122 = x_112; +} else { + lean_dec_ref(x_112); + x_122 = lean_box(0); +} +x_123 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_123, 0, x_120); +if (lean_is_scalar(x_122)) { + x_124 = lean_alloc_ctor(0, 2, 0); +} else { + x_124 = x_122; +} +lean_ctor_set(x_124, 0, x_123); +lean_ctor_set(x_124, 1, x_121); +return x_124; +} +} +} +} +} +} +} +else +{ +lean_object* x_137; +x_137 = lean_box(0); +x_9 = x_137; +goto block_29; +} +} +else +{ +lean_object* x_138; lean_object* x_139; lean_object* x_140; lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; uint8_t x_145; lean_dec(x_8); -lean_dec(x_5); -lean_dec(x_4); +x_138 = lean_unsigned_to_nat(0u); +x_139 = l_Lean_Syntax_getArg(x_1, x_138); +x_140 = lean_unsigned_to_nat(2u); +x_141 = l_Lean_Syntax_getArg(x_1, x_140); +lean_dec(x_1); +x_142 = lean_box(0); +x_143 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; +x_144 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_139, x_143, x_142, x_141, x_2, x_3); lean_dec(x_2); -x_22 = lean_box(1); -x_23 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_23, 0, x_22); -lean_ctor_set(x_23, 1, x_10); -return x_23; +x_145 = !lean_is_exclusive(x_144); +if (x_145 == 0) +{ +lean_object* x_146; lean_object* x_147; +x_146 = lean_ctor_get(x_144, 0); +x_147 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_147, 0, x_146); +lean_ctor_set(x_144, 0, x_147); +return x_144; } else { -size_t 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_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; size_t 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; -x_24 = lean_array_size(x_12); -x_25 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__4; -x_26 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__5; -x_27 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2(x_20, x_25, x_26, x_24, x_18, x_12, x_9, x_10); -x_28 = lean_ctor_get(x_27, 0); -lean_inc(x_28); -x_29 = lean_ctor_get(x_27, 1); -lean_inc(x_29); -if (lean_is_exclusive(x_27)) { - lean_ctor_release(x_27, 0); - lean_ctor_release(x_27, 1); - x_30 = x_27; +lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; +x_148 = lean_ctor_get(x_144, 0); +x_149 = lean_ctor_get(x_144, 1); +lean_inc(x_149); +lean_inc(x_148); +lean_dec(x_144); +x_150 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_150, 0, x_148); +x_151 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_151, 0, x_150); +lean_ctor_set(x_151, 1, x_149); +return x_151; +} +} +} +block_29: +{ +lean_object* x_10; lean_object* x_11; uint8_t 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; uint8_t x_22; +lean_dec(x_9); +x_10 = lean_unsigned_to_nat(0u); +x_11 = l_Lean_Syntax_getArg(x_1, x_10); +lean_dec(x_1); +x_12 = 0; +x_13 = l_Lean_SourceInfo_fromRef(x_8, x_12); +lean_dec(x_8); +x_14 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; +x_15 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; +lean_inc(x_13); +x_16 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_16, 0, x_13); +lean_ctor_set(x_16, 1, x_14); +lean_ctor_set(x_16, 2, x_15); +x_17 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__2; +lean_inc(x_11); +x_18 = l_Lean_Syntax_node2(x_13, x_17, x_11, x_16); +x_19 = lean_box(0); +x_20 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; +x_21 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_18, x_20, x_19, x_11, x_2, x_3); +lean_dec(x_2); +x_22 = !lean_is_exclusive(x_21); +if (x_22 == 0) +{ +lean_object* x_23; lean_object* x_24; +x_23 = lean_ctor_get(x_21, 0); +x_24 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_24, 0, x_23); +lean_ctor_set(x_21, 0, x_24); +return x_21; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +x_25 = lean_ctor_get(x_21, 0); +x_26 = lean_ctor_get(x_21, 1); +lean_inc(x_26); +lean_inc(x_25); +lean_dec(x_21); +x_27 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_27, 0, x_25); +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_26); +return x_28; +} +} +} +else +{ +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; +x_152 = lean_ctor_get(x_2, 0); +x_153 = lean_ctor_get(x_2, 1); +x_154 = lean_ctor_get(x_2, 2); +x_155 = lean_ctor_get(x_2, 3); +x_156 = lean_ctor_get(x_2, 4); +x_157 = lean_ctor_get(x_2, 5); +lean_inc(x_157); +lean_inc(x_156); +lean_inc(x_155); +lean_inc(x_154); +lean_inc(x_153); +lean_inc(x_152); +lean_dec(x_2); +x_158 = l_Lean_replaceRef(x_1, x_157); +lean_dec(x_157); +lean_inc(x_158); +x_159 = lean_alloc_ctor(0, 6, 0); +lean_ctor_set(x_159, 0, x_152); +lean_ctor_set(x_159, 1, x_153); +lean_ctor_set(x_159, 2, x_154); +lean_ctor_set(x_159, 3, x_155); +lean_ctor_set(x_159, 4, x_156); +lean_ctor_set(x_159, 5, x_158); +if (x_5 == 0) +{ +lean_object* x_179; uint8_t x_180; +x_179 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__5; +lean_inc(x_1); +x_180 = l_Lean_Syntax_isOfKind(x_1, x_179); +if (x_180 == 0) +{ +lean_object* x_181; lean_object* x_182; +lean_dec(x_159); +lean_dec(x_158); +lean_dec(x_1); +x_181 = lean_box(1); +x_182 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_182, 0, x_181); +lean_ctor_set(x_182, 1, x_3); +return x_182; +} +else +{ +lean_object* x_183; +x_183 = lean_box(0); +x_160 = x_183; +goto block_178; +} +} +else +{ +lean_object* x_184; lean_object* x_185; uint8_t x_186; +x_184 = l_Lean_Syntax_getNumArgs(x_1); +x_185 = lean_unsigned_to_nat(3u); +x_186 = lean_nat_dec_eq(x_184, x_185); +lean_dec(x_184); +if (x_186 == 0) +{ +lean_object* x_187; uint8_t x_188; +x_187 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__5; +lean_inc(x_1); +x_188 = l_Lean_Syntax_isOfKind(x_1, x_187); +if (x_188 == 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_dec(x_158); +x_189 = lean_unsigned_to_nat(0u); +x_190 = l_Lean_Syntax_getArg(x_1, x_189); +x_191 = lean_unsigned_to_nat(1u); +x_192 = l_Lean_Syntax_getArg(x_1, x_191); +x_193 = l_Lean_Syntax_getNumArgs(x_192); +x_194 = lean_nat_dec_lt(x_189, x_193); +lean_dec(x_193); +if (x_194 == 0) +{ +lean_object* x_195; uint8_t x_196; +lean_dec(x_192); +lean_dec(x_1); +x_195 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__2; +lean_inc(x_190); +x_196 = l_Lean_Syntax_isOfKind(x_190, x_195); +if (x_196 == 0) +{ +lean_object* x_197; lean_object* x_198; +x_197 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__6; +x_198 = l_Lean_Macro_throwErrorAt___rarg(x_190, x_197, x_159, x_3); +lean_dec(x_190); +return x_198; +} +else +{ +lean_object* x_199; lean_object* x_200; uint8_t x_201; +x_199 = l_Lean_Syntax_getArg(x_190, x_189); +x_200 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__8; +lean_inc(x_199); +x_201 = l_Lean_Syntax_isOfKind(x_199, x_200); +if (x_201 == 0) +{ +lean_object* x_202; lean_object* x_203; +lean_dec(x_199); +x_202 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__6; +x_203 = l_Lean_Macro_throwErrorAt___rarg(x_190, x_202, x_159, x_3); +lean_dec(x_190); +return x_203; +} +else +{ +lean_object* x_204; uint8_t x_205; +x_204 = l_Lean_Syntax_getArg(x_190, x_191); +x_205 = l_Lean_Syntax_matchesNull(x_204, x_189); +if (x_205 == 0) +{ +lean_object* x_206; lean_object* x_207; +lean_dec(x_199); +x_206 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__6; +x_207 = l_Lean_Macro_throwErrorAt___rarg(x_190, x_206, x_159, x_3); +lean_dec(x_190); +return x_207; +} +else +{ +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_208 = lean_box(0); +x_209 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; +x_210 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_190, x_209, x_208, x_199, x_159, x_3); +lean_dec(x_159); +x_211 = lean_ctor_get(x_210, 0); +lean_inc(x_211); +x_212 = lean_ctor_get(x_210, 1); +lean_inc(x_212); +if (lean_is_exclusive(x_210)) { + lean_ctor_release(x_210, 0); + lean_ctor_release(x_210, 1); + x_213 = x_210; } else { - lean_dec_ref(x_27); - x_30 = lean_box(0); + lean_dec_ref(x_210); + x_213 = lean_box(0); } -x_31 = lean_ctor_get(x_9, 5); -x_32 = 0; -x_33 = l_Lean_SourceInfo_fromRef(x_31, x_32); -x_34 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__7; -lean_inc(x_33); -x_35 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_35, 0, x_33); -lean_ctor_set(x_35, 1, x_34); -x_36 = lean_array_size(x_28); -x_37 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__6; -x_38 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__3(x_37, x_36, x_18, x_28); -x_39 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__8; -x_40 = l_Lean_Syntax_SepArray_ofElems(x_39, x_38); -lean_dec(x_38); -x_41 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; -x_42 = l_Array_append___rarg(x_41, x_40); -lean_dec(x_40); -x_43 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; -lean_inc(x_33); -x_44 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_44, 0, x_33); -lean_ctor_set(x_44, 1, x_43); -lean_ctor_set(x_44, 2, x_42); -lean_inc(x_33); -x_45 = l_Lean_Syntax_node1(x_33, x_2, x_44); -x_46 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__9; -lean_inc(x_33); -x_47 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_47, 0, x_33); -lean_ctor_set(x_47, 1, x_46); -if (lean_obj_tag(x_6) == 0) +x_214 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_214, 0, x_211); +if (lean_is_scalar(x_213)) { + x_215 = lean_alloc_ctor(0, 2, 0); +} else { + x_215 = x_213; +} +lean_ctor_set(x_215, 0, x_214); +lean_ctor_set(x_215, 1, x_212); +return x_215; +} +} +} +} +else { -x_48 = x_41; -goto block_85; +lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; uint8_t x_220; lean_object* x_221; lean_object* x_222; lean_object* x_223; uint8_t x_224; lean_object* x_225; +x_216 = l_Lean_Syntax_getArg(x_192, x_189); +x_217 = l_Lean_Syntax_getArgs(x_216); +lean_dec(x_216); +x_218 = l_Lean_Syntax_getArg(x_192, x_191); +x_219 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__9; +x_220 = l_Lean_Syntax_isNone(x_218); +x_221 = lean_unsigned_to_nat(2u); +x_222 = l_Lean_Syntax_getArg(x_192, x_221); +lean_dec(x_192); +x_223 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__4; +lean_inc(x_222); +x_224 = l_Lean_Syntax_isOfKind(x_222, x_223); +if (x_220 == 0) +{ +uint8_t x_263; +lean_inc(x_218); +x_263 = l_Lean_Syntax_matchesNull(x_218, x_191); +if (x_263 == 0) +{ +lean_object* x_264; +lean_dec(x_218); +x_264 = lean_box(0); +x_225 = x_264; +goto block_262; } 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; -x_86 = lean_ctor_get(x_6, 0); -x_87 = l_Array_append___rarg(x_41, x_86); -lean_inc(x_33); -x_88 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_88, 0, x_33); -lean_ctor_set(x_88, 1, x_43); -lean_ctor_set(x_88, 2, x_87); -x_89 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__12; -lean_inc(x_33); -x_90 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_90, 0, x_33); -lean_ctor_set(x_90, 1, x_89); -x_91 = l_Array_mkArray2___rarg(x_88, x_90); -x_48 = x_91; -goto block_85; +lean_object* x_265; lean_object* x_266; uint8_t x_267; +x_265 = l_Lean_Syntax_getArg(x_218, x_189); +lean_dec(x_218); +x_266 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__15; +lean_inc(x_265); +x_267 = l_Lean_Syntax_isOfKind(x_265, x_266); +if (x_267 == 0) +{ +lean_object* x_268; +lean_dec(x_265); +x_268 = lean_box(0); +x_225 = x_268; +goto block_262; } -block_85: +else { -lean_object* x_49; lean_object* x_50; -x_49 = l_Array_append___rarg(x_41, x_48); -lean_dec(x_48); -lean_inc(x_33); -x_50 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_50, 0, x_33); -lean_ctor_set(x_50, 1, x_43); -lean_ctor_set(x_50, 2, x_49); -if (lean_obj_tag(x_3) == 0) +lean_object* x_269; lean_object* x_270; lean_object* x_271; lean_object* x_272; +x_269 = l_Lean_Syntax_getArg(x_265, x_191); +lean_dec(x_265); +x_270 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_270, 0, x_269); +x_271 = lean_box(0); +x_272 = lean_apply_2(x_219, x_271, x_270); +x_225 = x_272; +goto block_262; +} +} +} +else { -lean_object* x_51; lean_object* x_52; lean_object* x_53; -x_51 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__10; -lean_inc(x_33); -x_52 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_52, 0, x_33); -lean_ctor_set(x_52, 1, x_43); -lean_ctor_set(x_52, 2, x_51); -lean_inc(x_52); -lean_inc(x_33); -x_53 = l_Lean_Syntax_node1(x_33, x_4, x_52); -if (lean_obj_tag(x_8) == 0) +lean_object* x_273; +lean_dec(x_218); +x_273 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__16; +x_225 = x_273; +goto block_262; +} +block_262: +{ +if (x_224 == 0) +{ +lean_object* x_226; uint8_t x_227; +x_226 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__11; +lean_inc(x_222); +x_227 = l_Lean_Syntax_isOfKind(x_222, x_226); +if (x_227 == 0) +{ +lean_object* x_228; lean_object* x_229; +lean_dec(x_225); +lean_dec(x_222); +lean_dec(x_217); +lean_dec(x_190); +lean_dec(x_159); +lean_dec(x_1); +x_228 = lean_box(1); +x_229 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_229, 0, x_228); +lean_ctor_set(x_229, 1, x_3); +return x_229; +} +else +{ +lean_object* x_230; lean_object* x_231; uint8_t x_232; +x_230 = l_Lean_Syntax_getArg(x_222, x_189); +lean_dec(x_222); +x_231 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__13; +lean_inc(x_230); +x_232 = l_Lean_Syntax_isOfKind(x_230, x_231); +if (x_232 == 0) { -lean_object* x_54; lean_object* x_55; -x_54 = l_Lean_Syntax_node6(x_33, x_5, x_35, x_50, x_45, x_53, x_52, x_47); -if (lean_is_scalar(x_30)) { - x_55 = lean_alloc_ctor(0, 2, 0); +lean_object* x_233; lean_object* x_234; +lean_dec(x_230); +lean_dec(x_225); +lean_dec(x_217); +lean_dec(x_190); +lean_dec(x_159); +lean_dec(x_1); +x_233 = lean_box(1); +x_234 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_234, 0, x_233); +lean_ctor_set(x_234, 1, x_3); +return x_234; +} +else +{ +uint8_t 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 = 0; +lean_inc(x_159); +x_236 = l_Lean_Elab_Term_expandMatchAltsIntoMatch(x_1, x_230, x_235, x_159, x_3); +lean_dec(x_1); +x_237 = lean_ctor_get(x_236, 0); +lean_inc(x_237); +x_238 = lean_ctor_get(x_236, 1); +lean_inc(x_238); +lean_dec(x_236); +x_239 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_190, x_217, x_225, x_237, x_159, x_238); +lean_dec(x_159); +lean_dec(x_217); +x_240 = lean_ctor_get(x_239, 0); +lean_inc(x_240); +x_241 = lean_ctor_get(x_239, 1); +lean_inc(x_241); +if (lean_is_exclusive(x_239)) { + lean_ctor_release(x_239, 0); + lean_ctor_release(x_239, 1); + x_242 = x_239; } else { - x_55 = x_30; + lean_dec_ref(x_239); + x_242 = lean_box(0); +} +x_243 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_243, 0, x_240); +if (lean_is_scalar(x_242)) { + x_244 = lean_alloc_ctor(0, 2, 0); +} else { + x_244 = x_242; +} +lean_ctor_set(x_244, 0, x_243); +lean_ctor_set(x_244, 1, x_241); +return x_244; +} } -lean_ctor_set(x_55, 0, x_54); -lean_ctor_set(x_55, 1, x_29); -return x_55; } else { -lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; -lean_dec(x_52); -x_56 = lean_ctor_get(x_8, 0); -lean_inc(x_56); -lean_dec(x_8); -x_57 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__11; -lean_inc(x_33); -x_58 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_58, 0, x_33); -lean_ctor_set(x_58, 1, x_57); -x_59 = l_Array_mkArray2___rarg(x_58, x_56); -x_60 = l_Array_append___rarg(x_41, x_59); -lean_dec(x_59); -lean_inc(x_33); -x_61 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_61, 0, x_33); -lean_ctor_set(x_61, 1, x_43); -lean_ctor_set(x_61, 2, x_60); -x_62 = l_Lean_Syntax_node6(x_33, x_5, x_35, x_50, x_45, x_53, x_61, x_47); -if (lean_is_scalar(x_30)) { - x_63 = lean_alloc_ctor(0, 2, 0); +lean_object* x_245; uint8_t x_246; +lean_dec(x_1); +x_245 = l_Lean_Syntax_getArg(x_222, x_191); +lean_dec(x_222); +x_246 = l_Array_isEmpty___rarg(x_217); +if (x_246 == 0) +{ +lean_object* x_247; lean_object* x_248; lean_object* x_249; lean_object* x_250; lean_object* x_251; lean_object* x_252; +x_247 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_190, x_217, x_225, x_245, x_159, x_3); +lean_dec(x_159); +lean_dec(x_217); +x_248 = lean_ctor_get(x_247, 0); +lean_inc(x_248); +x_249 = lean_ctor_get(x_247, 1); +lean_inc(x_249); +if (lean_is_exclusive(x_247)) { + lean_ctor_release(x_247, 0); + lean_ctor_release(x_247, 1); + x_250 = x_247; } else { - x_63 = x_30; + lean_dec_ref(x_247); + x_250 = lean_box(0); } -lean_ctor_set(x_63, 0, x_62); -lean_ctor_set(x_63, 1, x_29); -return x_63; +x_251 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_251, 0, x_248); +if (lean_is_scalar(x_250)) { + x_252 = lean_alloc_ctor(0, 2, 0); +} else { + x_252 = x_250; } +lean_ctor_set(x_252, 0, x_251); +lean_ctor_set(x_252, 1, x_249); +return x_252; } else { -lean_object* x_64; uint8_t x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; -x_64 = lean_ctor_get(x_3, 0); -x_65 = 1; -x_66 = l_Lean_SourceInfo_fromRef(x_64, x_65); -x_67 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__11; -x_68 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_68, 0, x_66); -lean_ctor_set(x_68, 1, x_67); -x_69 = l_Array_mkArray1___rarg(x_68); -x_70 = l_Array_append___rarg(x_41, x_69); -lean_dec(x_69); -lean_inc(x_33); -x_71 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_71, 0, x_33); -lean_ctor_set(x_71, 1, x_43); -lean_ctor_set(x_71, 2, x_70); -lean_inc(x_33); -x_72 = l_Lean_Syntax_node1(x_33, x_4, x_71); -if (lean_obj_tag(x_8) == 0) +if (lean_obj_tag(x_225) == 0) { -lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; -x_73 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__10; -lean_inc(x_33); -x_74 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_74, 0, x_33); -lean_ctor_set(x_74, 1, x_43); -lean_ctor_set(x_74, 2, x_73); -x_75 = l_Lean_Syntax_node6(x_33, x_5, x_35, x_50, x_45, x_72, x_74, x_47); -if (lean_is_scalar(x_30)) { - x_76 = lean_alloc_ctor(0, 2, 0); -} else { - x_76 = x_30; -} -lean_ctor_set(x_76, 0, x_75); -lean_ctor_set(x_76, 1, x_29); -return x_76; +lean_object* x_253; lean_object* x_254; +lean_dec(x_245); +lean_dec(x_217); +lean_dec(x_190); +lean_dec(x_159); +x_253 = lean_box(0); +x_254 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_254, 0, x_253); +lean_ctor_set(x_254, 1, x_3); +return x_254; } else { -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; -x_77 = lean_ctor_get(x_8, 0); -lean_inc(x_77); -lean_dec(x_8); -x_78 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__11; -lean_inc(x_33); -x_79 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_79, 0, x_33); -lean_ctor_set(x_79, 1, x_78); -x_80 = l_Array_mkArray2___rarg(x_79, x_77); -x_81 = l_Array_append___rarg(x_41, x_80); -lean_dec(x_80); -lean_inc(x_33); -x_82 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_82, 0, x_33); -lean_ctor_set(x_82, 1, x_43); -lean_ctor_set(x_82, 2, x_81); -x_83 = l_Lean_Syntax_node6(x_33, x_5, x_35, x_50, x_45, x_72, x_82, x_47); -if (lean_is_scalar(x_30)) { - x_84 = lean_alloc_ctor(0, 2, 0); +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_inc(x_225); +x_255 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_190, x_217, x_225, x_245, x_159, x_3); +lean_dec(x_159); +lean_dec(x_217); +if (lean_is_exclusive(x_225)) { + lean_ctor_release(x_225, 0); + x_256 = x_225; } else { - x_84 = x_30; + lean_dec_ref(x_225); + x_256 = lean_box(0); } -lean_ctor_set(x_84, 0, x_83); -lean_ctor_set(x_84, 1, x_29); -return x_84; +x_257 = lean_ctor_get(x_255, 0); +lean_inc(x_257); +x_258 = lean_ctor_get(x_255, 1); +lean_inc(x_258); +if (lean_is_exclusive(x_255)) { + lean_ctor_release(x_255, 0); + lean_ctor_release(x_255, 1); + x_259 = x_255; +} else { + lean_dec_ref(x_255); + x_259 = lean_box(0); +} +if (lean_is_scalar(x_256)) { + x_260 = lean_alloc_ctor(1, 1, 0); +} else { + x_260 = x_256; +} +lean_ctor_set(x_260, 0, x_257); +if (lean_is_scalar(x_259)) { + x_261 = lean_alloc_ctor(0, 2, 0); +} else { + x_261 = x_259; +} +lean_ctor_set(x_261, 0, x_260); +lean_ctor_set(x_261, 1, x_258); +return x_261; +} +} +} +} +} +} +else +{ +lean_object* x_274; +x_274 = lean_box(0); +x_160 = x_274; +goto block_178; +} +} +else +{ +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_object* x_286; +lean_dec(x_158); +x_275 = lean_unsigned_to_nat(0u); +x_276 = l_Lean_Syntax_getArg(x_1, x_275); +x_277 = lean_unsigned_to_nat(2u); +x_278 = l_Lean_Syntax_getArg(x_1, x_277); +lean_dec(x_1); +x_279 = lean_box(0); +x_280 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; +x_281 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_276, x_280, x_279, x_278, x_159, x_3); +lean_dec(x_159); +x_282 = lean_ctor_get(x_281, 0); +lean_inc(x_282); +x_283 = lean_ctor_get(x_281, 1); +lean_inc(x_283); +if (lean_is_exclusive(x_281)) { + lean_ctor_release(x_281, 0); + lean_ctor_release(x_281, 1); + x_284 = x_281; +} else { + lean_dec_ref(x_281); + x_284 = lean_box(0); +} +x_285 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_285, 0, x_282); +if (lean_is_scalar(x_284)) { + x_286 = lean_alloc_ctor(0, 2, 0); +} else { + x_286 = x_284; +} +lean_ctor_set(x_286, 0, x_285); +lean_ctor_set(x_286, 1, x_283); +return x_286; +} +} +block_178: +{ +lean_object* x_161; lean_object* x_162; uint8_t 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_dec(x_160); +x_161 = lean_unsigned_to_nat(0u); +x_162 = l_Lean_Syntax_getArg(x_1, x_161); +lean_dec(x_1); +x_163 = 0; +x_164 = l_Lean_SourceInfo_fromRef(x_158, x_163); +lean_dec(x_158); +x_165 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; +x_166 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; +lean_inc(x_164); +x_167 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_167, 0, x_164); +lean_ctor_set(x_167, 1, x_165); +lean_ctor_set(x_167, 2, x_166); +x_168 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__2; +lean_inc(x_162); +x_169 = l_Lean_Syntax_node2(x_164, x_168, x_162, x_167); +x_170 = lean_box(0); +x_171 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; +x_172 = l_Lean_Elab_Term_StructInst_mkStructInstField(x_169, x_171, x_170, x_162, x_159, x_3); +lean_dec(x_159); +x_173 = lean_ctor_get(x_172, 0); +lean_inc(x_173); +x_174 = lean_ctor_get(x_172, 1); +lean_inc(x_174); +if (lean_is_exclusive(x_172)) { + lean_ctor_release(x_172, 0); + lean_ctor_release(x_172, 1); + x_175 = x_172; +} else { + lean_dec_ref(x_172); + x_175 = lean_box(0); +} +x_176 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_176, 0, x_173); +if (lean_is_scalar(x_175)) { + x_177 = lean_alloc_ctor(0, 2, 0); +} else { + x_177 = x_175; +} +lean_ctor_set(x_177, 0, x_176); +lean_ctor_set(x_177, 1, x_174); +return x_177; +} +} +} +} +LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___lambda__1___boxed(lean_object* x_1, lean_object* x_2) { +_start: +{ +lean_object* x_3; +x_3 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___lambda__1(x_1, x_2); +lean_dec(x_2); +lean_dec(x_1); +return x_3; +} +} +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__1(size_t x_1, size_t x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +uint8_t x_6; +x_6 = lean_usize_dec_lt(x_2, x_1); +if (x_6 == 0) +{ +lean_object* x_7; +lean_dec(x_4); +x_7 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_7, 0, x_3); +lean_ctor_set(x_7, 1, x_5); +return x_7; +} +else +{ +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; +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); +lean_inc(x_4); +x_11 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField(x_8, x_4, x_5); +if (lean_obj_tag(x_11) == 0) +{ +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(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; +goto _start; +} +else +{ +uint8_t x_18; +lean_dec(x_10); +lean_dec(x_4); +x_18 = !lean_is_exclusive(x_11); +if (x_18 == 0) +{ +return x_11; +} +else +{ +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_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_Array_zipWithAux___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__2(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; +x_5 = lean_array_get_size(x_1); +x_6 = lean_nat_dec_lt(x_3, x_5); +lean_dec(x_5); +if (x_6 == 0) +{ +lean_dec(x_3); +return x_4; } +else +{ +lean_object* x_7; lean_object* x_8; uint8_t x_9; +x_7 = lean_array_fget(x_1, x_3); +x_8 = lean_array_get_size(x_2); +x_9 = lean_nat_dec_lt(x_3, x_8); +lean_dec(x_8); +if (x_9 == 0) +{ +lean_dec(x_7); +lean_dec(x_3); +return x_4; } +else +{ +lean_object* x_10; lean_object* x_11; lean_object* x_12; +x_10 = lean_array_fget(x_2, x_3); +x_11 = lean_unsigned_to_nat(1u); +x_12 = lean_nat_add(x_3, x_11); +lean_dec(x_3); +if (lean_obj_tag(x_7) == 0) +{ +lean_object* x_13; +x_13 = lean_array_push(x_4, x_10); +x_3 = x_12; +x_4 = x_13; +goto _start; +} +else +{ +lean_object* x_15; lean_object* x_16; +lean_dec(x_10); +x_15 = lean_ctor_get(x_7, 0); +lean_inc(x_15); +lean_dec(x_7); +x_16 = lean_array_push(x_4, x_15); +x_3 = x_12; +x_4 = x_16; +goto _start; } } } } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__3(lean_object* x_1, size_t x_2, size_t x_3) { _start: { -lean_object* x_11; lean_object* x_12; uint8_t x_13; -x_11 = lean_unsigned_to_nat(4u); -x_12 = l_Lean_Syntax_getArg(x_1, x_11); -x_13 = l_Lean_Syntax_isNone(x_12); -if (x_13 == 0) +uint8_t x_4; +x_4 = lean_usize_dec_eq(x_2, x_3); +if (x_4 == 0) { -lean_object* x_14; uint8_t x_15; -x_14 = lean_unsigned_to_nat(2u); -lean_inc(x_12); -x_15 = l_Lean_Syntax_matchesNull(x_12, x_14); -if (x_15 == 0) +lean_object* x_5; +x_5 = lean_array_uget(x_1, x_2); +if (lean_obj_tag(x_5) == 0) { -lean_object* x_16; lean_object* x_17; -lean_dec(x_12); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -x_16 = lean_box(1); -x_17 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_17, 0, x_16); -lean_ctor_set(x_17, 1, x_10); -return x_17; +size_t x_6; size_t x_7; +x_6 = 1; +x_7 = lean_usize_add(x_2, x_6); +x_2 = x_7; +goto _start; } else { -lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; -x_18 = lean_unsigned_to_nat(1u); -x_19 = l_Lean_Syntax_getArg(x_12, x_18); -lean_dec(x_12); -x_20 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_20, 0, x_19); -x_21 = lean_box(0); -x_22 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1(x_2, x_3, x_8, x_4, x_5, x_6, x_21, x_20, x_9, x_10); -return x_22; +uint8_t x_9; +lean_dec(x_5); +x_9 = 1; +return x_9; } } else { -lean_object* x_23; lean_object* x_24; lean_object* x_25; -lean_dec(x_12); -x_23 = lean_box(0); -x_24 = lean_box(0); -x_25 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1(x_2, x_3, x_8, x_4, x_5, x_6, x_24, x_23, x_9, x_10); -return x_25; +uint8_t x_10; +x_10 = 0; +return x_10; } } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__1() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstFields", 16, 16); +x_1 = lean_mk_string_unchecked(", ", 2, 2); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__2() { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _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_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; -x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; -x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; -x_4 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t 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; +x_8 = lean_unsigned_to_nat(0u); +x_9 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; +x_10 = l_Array_zipWithAux___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__2(x_1, x_2, x_8, x_9); +x_11 = l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1; +x_12 = 0; +x_13 = l_Lean_mkAtomFrom(x_3, x_11, x_12); +x_14 = l_Lean_Syntax_mkSep(x_10, x_13); +lean_dec(x_10); +x_15 = l_Lean_Syntax_setArg(x_4, x_8, x_14); +x_16 = lean_unsigned_to_nat(2u); +x_17 = l_Lean_Syntax_setArg(x_3, x_16, x_15); +x_18 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_18, 0, x_17); +lean_ctor_set(x_18, 1, x_7); +return x_18; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__3() { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFields(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("optEllipsis", 11, 11); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__4() { -_start: +lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; size_t x_9; size_t x_10; lean_object* x_11; +x_4 = lean_unsigned_to_nat(2u); +x_5 = l_Lean_Syntax_getArg(x_1, x_4); +x_6 = lean_unsigned_to_nat(0u); +x_7 = l_Lean_Syntax_getArg(x_5, x_6); +x_8 = l_Lean_Syntax_getSepArgs(x_7); +lean_dec(x_7); +x_9 = lean_array_size(x_8); +x_10 = 0; +lean_inc(x_2); +lean_inc(x_8); +x_11 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__1(x_9, x_10, x_8, x_2, x_3); +if (lean_obj_tag(x_11) == 0) { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; -x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; -x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; -x_4 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__3; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: +uint8_t x_12; +x_12 = !lean_is_exclusive(x_11); +if (x_12 == 0) { -lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; -x_7 = lean_unsigned_to_nat(2u); -x_8 = l_Lean_Syntax_getArg(x_1, x_7); -x_9 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__2; -lean_inc(x_8); -x_10 = l_Lean_Syntax_isOfKind(x_8, x_9); -if (x_10 == 0) +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +x_13 = lean_ctor_get(x_11, 0); +x_14 = lean_ctor_get(x_11, 1); +x_15 = lean_array_get_size(x_13); +x_16 = lean_nat_dec_lt(x_6, x_15); +if (x_16 == 0) { -lean_object* x_11; lean_object* x_12; +lean_object* x_17; +lean_dec(x_15); +lean_dec(x_13); lean_dec(x_8); +lean_dec(x_5); lean_dec(x_2); -x_11 = lean_box(1); -x_12 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_12, 0, x_11); -lean_ctor_set(x_12, 1, x_6); -return x_12; +lean_dec(x_1); +x_17 = lean_box(1); +lean_ctor_set_tag(x_11, 1); +lean_ctor_set(x_11, 0, x_17); +return x_11; } else { -lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; -x_13 = lean_unsigned_to_nat(0u); -x_14 = l_Lean_Syntax_getArg(x_8, x_13); -lean_dec(x_8); -x_15 = lean_unsigned_to_nat(3u); -x_16 = l_Lean_Syntax_getArg(x_1, x_15); -x_17 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__4; -lean_inc(x_16); -x_18 = l_Lean_Syntax_isOfKind(x_16, x_17); -if (x_18 == 0) +size_t x_18; uint8_t x_19; +x_18 = lean_usize_of_nat(x_15); +lean_dec(x_15); +x_19 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__3(x_13, x_10, x_18); +if (x_19 == 0) { -lean_object* x_19; lean_object* x_20; -lean_dec(x_16); -lean_dec(x_14); +lean_object* x_20; +lean_dec(x_13); +lean_dec(x_8); +lean_dec(x_5); lean_dec(x_2); -x_19 = lean_box(1); -x_20 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_20, 0, x_19); -lean_ctor_set(x_20, 1, x_6); -return x_20; +lean_dec(x_1); +x_20 = lean_box(1); +lean_ctor_set_tag(x_11, 1); +lean_ctor_set(x_11, 0, x_20); +return x_11; } else { -lean_object* x_21; uint8_t x_22; -x_21 = l_Lean_Syntax_getArg(x_16, x_13); -lean_dec(x_16); -x_22 = l_Lean_Syntax_isNone(x_21); -if (x_22 == 0) -{ -lean_object* x_23; uint8_t x_24; -x_23 = lean_unsigned_to_nat(1u); -lean_inc(x_21); -x_24 = l_Lean_Syntax_matchesNull(x_21, x_23); -if (x_24 == 0) -{ -lean_object* x_25; lean_object* x_26; -lean_dec(x_21); -lean_dec(x_14); +lean_object* x_21; lean_object* x_22; +lean_free_object(x_11); +x_21 = lean_box(0); +x_22 = l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1(x_13, x_8, x_1, x_5, x_21, x_2, x_14); lean_dec(x_2); -x_25 = lean_box(1); -x_26 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_26, 0, x_25); -lean_ctor_set(x_26, 1, x_6); -return x_26; +lean_dec(x_8); +lean_dec(x_13); +return x_22; } -else -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_27 = l_Lean_Syntax_getArg(x_21, x_13); -lean_dec(x_21); -x_28 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_28, 0, x_27); -x_29 = lean_box(0); -x_30 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__2(x_1, x_14, x_9, x_17, x_2, x_4, x_29, x_28, x_5, x_6); -lean_dec(x_28); -lean_dec(x_14); -return x_30; } } else { -lean_object* x_31; lean_object* x_32; lean_object* x_33; -lean_dec(x_21); -x_31 = lean_box(0); -x_32 = lean_box(0); -x_33 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__2(x_1, x_14, x_9, x_17, x_2, x_4, x_32, x_31, x_5, x_6); -lean_dec(x_14); -return x_33; -} -} -} -} -} -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; uint8_t x_5; -x_4 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__2; -lean_inc(x_1); -x_5 = l_Lean_Syntax_isOfKind(x_1, x_4); -if (x_5 == 0) +lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26; +x_23 = lean_ctor_get(x_11, 0); +x_24 = lean_ctor_get(x_11, 1); +lean_inc(x_24); +lean_inc(x_23); +lean_dec(x_11); +x_25 = lean_array_get_size(x_23); +x_26 = lean_nat_dec_lt(x_6, x_25); +if (x_26 == 0) { -lean_object* x_6; lean_object* x_7; +lean_object* x_27; lean_object* x_28; +lean_dec(x_25); +lean_dec(x_23); +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_2); lean_dec(x_1); -x_6 = lean_box(1); -x_7 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_7, 0, x_6); -lean_ctor_set(x_7, 1, x_3); -return x_7; +x_27 = lean_box(1); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_24); +return x_28; } else { -lean_object* x_8; lean_object* x_9; uint8_t x_10; -x_8 = lean_unsigned_to_nat(1u); -x_9 = l_Lean_Syntax_getArg(x_1, x_8); -x_10 = l_Lean_Syntax_isNone(x_9); -if (x_10 == 0) -{ -lean_object* x_11; uint8_t x_12; -x_11 = lean_unsigned_to_nat(2u); -lean_inc(x_9); -x_12 = l_Lean_Syntax_matchesNull(x_9, x_11); -if (x_12 == 0) -{ -lean_object* x_13; lean_object* x_14; -lean_dec(x_9); -lean_dec(x_1); -x_13 = lean_box(1); -x_14 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_14, 0, x_13); -lean_ctor_set(x_14, 1, x_3); -return x_14; -} -else +size_t x_29; uint8_t x_30; +x_29 = lean_usize_of_nat(x_25); +lean_dec(x_25); +x_30 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__3(x_23, x_10, x_29); +if (x_30 == 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; -x_15 = lean_unsigned_to_nat(0u); -x_16 = l_Lean_Syntax_getArg(x_9, x_15); -lean_dec(x_9); -x_17 = l_Lean_Syntax_getArgs(x_16); -lean_dec(x_16); -x_18 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_18, 0, x_17); -x_19 = lean_box(0); -x_20 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3(x_1, x_4, x_19, x_18, x_2, x_3); -lean_dec(x_18); +lean_object* x_31; lean_object* x_32; +lean_dec(x_23); +lean_dec(x_8); +lean_dec(x_5); +lean_dec(x_2); lean_dec(x_1); -return x_20; -} +x_31 = lean_box(1); +x_32 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_32, 0, x_31); +lean_ctor_set(x_32, 1, x_24); +return x_32; } else { -lean_object* x_21; lean_object* x_22; lean_object* x_23; -lean_dec(x_9); -x_21 = lean_box(0); -x_22 = lean_box(0); -x_23 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3(x_1, x_4, x_22, x_21, x_2, x_3); -lean_dec(x_1); -return x_23; +lean_object* x_33; lean_object* x_34; +x_33 = lean_box(0); +x_34 = l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1(x_23, x_8, x_1, x_5, x_33, x_2, x_24); +lean_dec(x_2); +lean_dec(x_8); +lean_dec(x_23); +return x_34; } } } } -LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: +else { -size_t x_5; size_t x_6; uint8_t x_7; lean_object* x_8; -x_5 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_6 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_7 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__1(x_1, x_2, x_5, x_6); +uint8_t x_35; +lean_dec(x_8); +lean_dec(x_5); lean_dec(x_2); lean_dec(x_1); -x_8 = lean_box(x_7); -return x_8; -} -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___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) { -_start: +x_35 = !lean_is_exclusive(x_11); +if (x_35 == 0) { -size_t x_9; size_t x_10; lean_object* x_11; -x_9 = lean_unbox_usize(x_4); -lean_dec(x_4); -x_10 = lean_unbox_usize(x_5); -lean_dec(x_5); -x_11 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2(x_1, x_2, x_3, x_9, x_10, x_6, x_7, x_8); -lean_dec(x_7); -lean_dec(x_3); -lean_dec(x_1); return x_11; } -} -LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: +else { -size_t x_5; size_t x_6; lean_object* x_7; -x_5 = lean_unbox_usize(x_2); -lean_dec(x_2); -x_6 = lean_unbox_usize(x_3); -lean_dec(x_3); -x_7 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__3(x_1, x_5, x_6, x_4); -lean_dec(x_1); -return x_7; +lean_object* x_36; lean_object* x_37; lean_object* x_38; +x_36 = lean_ctor_get(x_11, 0); +x_37 = lean_ctor_get(x_11, 1); +lean_inc(x_37); +lean_inc(x_36); +lean_dec(x_11); +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_36); +lean_ctor_set(x_38, 1, x_37); +return x_38; +} +} } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__1___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_11; -x_11 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -lean_dec(x_7); -lean_dec(x_6); -lean_dec(x_3); +size_t x_6; size_t x_7; lean_object* x_8; +x_6 = lean_unbox_usize(x_1); lean_dec(x_1); -return x_11; +x_7 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_8 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__1(x_6, x_7, x_3, x_4, x_5); +return x_8; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { +LEAN_EXPORT lean_object* l_Array_zipWithAux___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_11; -x_11 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); -lean_dec(x_9); -lean_dec(x_8); -lean_dec(x_7); -lean_dec(x_6); +lean_object* x_5; +x_5 = l_Array_zipWithAux___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__2(x_1, x_2, x_3, x_4); lean_dec(x_2); lean_dec(x_1); -return x_11; +return x_5; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { -lean_object* x_7; -x_7 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_4); +size_t x_4; size_t x_5; uint8_t x_6; lean_object* x_7; +x_4 = lean_unbox_usize(x_2); +lean_dec(x_2); +x_5 = lean_unbox_usize(x_3); lean_dec(x_3); +x_6 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_StructInst_expandStructInstFields___spec__3(x_1, x_4, x_5); lean_dec(x_1); +x_7 = lean_box(x_6); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7) { _start: { -lean_object* x_4; -x_4 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev(x_1, x_2, x_3); +lean_object* x_8; +x_8 = l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean_dec(x_6); +lean_dec(x_5); lean_dec(x_2); -return x_4; +lean_dec(x_1); +return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("expandStructInstFieldAbbrev", 27, 27); +x_1 = lean_mk_string_unchecked("expandStructInstFields", 22, 22); return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__2() { _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; @@ -2260,151 +3218,49 @@ x_1 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; x_2 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__3; x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; x_4 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__4; -x_5 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__1; +x_5 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__3() { +static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__3() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___boxed), 3, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_StructInst_expandStructInstFields), 3, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__7; x_3 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__2; -x_4 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__2; -x_5 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__3; +x_4 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__2; +x_5 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__3; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_docString__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields_docString__1___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("Expands field abbreviation notation.\nExample: `{ x, y := 0 }` expands to `{ x := x, y := 0 }`.\n", 95, 95); +x_1 = lean_mk_string_unchecked("Expands fields.\n* Abbrevations. Example: `{ x }` expands to `{ x := x }`.\n* Equations. Example: `{ f | 0 => 0 | n + 1 => n }` expands to `{ f := fun x => match x with | 0 => 0 | n + 1 => n }`.\n* `where`. Example: `{ s where x := 1 }` expands to `{ s := { x := 1 }}`.\n* Binders and types. Example: `{ f n : Nat := n + 1 }` expands to `{ f := fun n => (n + 1 : Nat) }`.\n", 368, 368); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_docString__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields_docString__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__2; -x_3 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__2; +x_3 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields_docString__1___closed__1; x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); return x_4; } } -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(38u); -x_2 = lean_unsigned_to_nat(45u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(48u); -x_2 = lean_unsigned_to_nat(31u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__1; -x_2 = lean_unsigned_to_nat(45u); -x_3 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__2; -x_4 = lean_unsigned_to_nat(31u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); -return x_5; -} -} -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(38u); -x_2 = lean_unsigned_to_nat(49u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(38u); -x_2 = lean_unsigned_to_nat(76u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__4; -x_2 = lean_unsigned_to_nat(49u); -x_3 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__5; -x_4 = lean_unsigned_to_nat(76u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); -return x_5; -} -} -static lean_object* _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__3; -x_2 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__6; -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__2; -x_3 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__7; -x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); -return x_4; -} -} static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__1() { _start: { @@ -2496,6 +3352,14 @@ static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Str _start: { lean_object* x_1; +x_1 = lean_mk_string_unchecked(":=", 2, 2); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__11() { +_start: +{ +lean_object* x_1; x_1 = lean_mk_string_unchecked(";", 1, 1); return x_1; } @@ -2574,7 +3438,7 @@ x_41 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_41, 0, x_14); lean_ctor_set(x_41, 1, x_39); lean_ctor_set(x_41, 2, x_40); -x_42 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5; +x_42 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10; lean_inc(x_14); x_43 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_43, 0, x_14); @@ -2586,7 +3450,7 @@ x_45 = l_Lean_Syntax_node5(x_14, x_44, x_38, x_41, x_41, x_43, x_8); x_46 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__7; lean_inc(x_14); x_47 = l_Lean_Syntax_node1(x_14, x_46, x_45); -x_48 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10; +x_48 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__11; lean_inc(x_14); x_49 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_49, 0, x_14); @@ -2627,7 +3491,7 @@ x_61 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_61, 0, x_14); lean_ctor_set(x_61, 1, x_59); lean_ctor_set(x_61, 2, x_60); -x_62 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5; +x_62 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10; lean_inc(x_14); x_63 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_63, 0, x_14); @@ -2639,7 +3503,7 @@ x_65 = l_Lean_Syntax_node5(x_14, x_64, x_58, x_61, x_61, x_63, x_8); x_66 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__7; lean_inc(x_14); x_67 = l_Lean_Syntax_node1(x_14, x_66, x_65); -x_68 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10; +x_68 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__11; lean_inc(x_14); x_69 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_69, 0, x_14); @@ -2751,7 +3615,7 @@ x_102 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_102, 0, x_14); lean_ctor_set(x_102, 1, x_100); lean_ctor_set(x_102, 2, x_101); -x_103 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5; +x_103 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10; lean_inc(x_14); x_104 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_104, 0, x_14); @@ -2763,7 +3627,7 @@ x_106 = l_Lean_Syntax_node5(x_14, x_105, x_99, x_102, x_102, x_104, x_8); x_107 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__7; lean_inc(x_14); x_108 = l_Lean_Syntax_node1(x_14, x_107, x_106); -x_109 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10; +x_109 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__11; lean_inc(x_14); x_110 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_110, 0, x_14); @@ -2810,14 +3674,6 @@ return x_117; } } } -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked(", ", 2, 2); -return x_1; -} -} LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go(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: { @@ -2830,7 +3686,7 @@ lean_dec(x_7); lean_dec(x_6); lean_dec(x_5); lean_dec(x_4); -x_11 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1; +x_11 = l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1; x_12 = 0; x_13 = l_Lean_mkAtomFrom(x_1, x_11, x_12); x_14 = l_Lean_Syntax_mkSep(x_3, x_13); @@ -3003,21 +3859,12 @@ return x_29; } } } -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = lean_box(0); -x_2 = lean_array_mk(x_1); -return x_2; -} -} LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) { _start: { lean_object* x_11; lean_object* x_12; lean_object* x_13; x_11 = lean_array_to_list(x_1); -x_12 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_12 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_13 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go(x_2, x_11, x_12, x_4, x_5, x_6, x_7, x_8, x_9, x_10); if (lean_obj_tag(x_13) == 0) { @@ -3451,7 +4298,7 @@ if (x_4 == 0) lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; x_6 = l_Lean_instInhabitedSyntax; x_7 = l_outOfBounds___rarg(x_6); -x_8 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1; +x_8 = l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1; x_9 = 0; x_10 = l_Lean_mkAtomFrom(x_7, x_8, x_9); x_11 = l_Lean_Syntax_mkSep(x_1, x_10); @@ -3477,7 +4324,7 @@ else { lean_object* x_20; lean_object* x_21; uint8_t x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; x_20 = lean_array_fget(x_1, x_3); -x_21 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1; +x_21 = l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1; x_22 = 0; x_23 = l_Lean_mkAtomFrom(x_20, x_21, x_22); x_24 = l_Lean_Syntax_mkSep(x_1, x_23); @@ -3558,7 +4405,7 @@ static lean_object* _init_l_Array_mapMUnsafe_map___at___private_Lean_Elab_Struct lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__1; x_2 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__2; -x_3 = lean_unsigned_to_nat(173u); +x_3 = lean_unsigned_to_nat(245u); x_4 = lean_unsigned_to_nat(43u); x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -4286,7 +5133,7 @@ else { lean_object* x_30; lean_object* x_31; lean_dec(x_10); -x_30 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_30 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_31 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___lambda__1(x_12, x_30, x_2, x_3, x_4, x_5, x_6, x_7, x_8); lean_dec(x_7); lean_dec(x_6); @@ -4414,7 +5261,7 @@ else { lean_object* x_61; lean_object* x_62; lean_dec(x_10); -x_61 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_61 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_62 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___lambda__1(x_12, x_61, x_2, x_3, x_4, x_5, x_47, x_7, x_8); lean_dec(x_7); lean_dec(x_47); @@ -4674,87 +5521,91 @@ uint8_t x_12; x_12 = lean_usize_dec_eq(x_2, x_3); if (x_12 == 0) { -lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20; x_13 = lean_array_uget(x_1, x_2); -lean_inc(x_13); -x_14 = l_Lean_Syntax_getKind(x_13); -x_15 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__4; -x_16 = lean_name_eq(x_14, x_15); -lean_dec(x_14); -if (x_16 == 0) +x_14 = lean_unsigned_to_nat(1u); +x_15 = l_Lean_Syntax_getArg(x_13, x_14); +x_16 = lean_unsigned_to_nat(2u); +x_17 = l_Lean_Syntax_getArg(x_15, x_16); +lean_dec(x_15); +x_18 = l_Lean_Syntax_getKind(x_17); +x_19 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__4; +x_20 = lean_name_eq(x_18, x_19); +lean_dec(x_18); +if (x_20 == 0) { -size_t x_17; size_t x_18; +size_t x_21; size_t x_22; lean_dec(x_13); -x_17 = 1; -x_18 = lean_usize_add(x_2, x_17); -x_2 = x_18; +x_21 = 1; +x_22 = lean_usize_add(x_2, x_21); +x_2 = x_22; goto _start; } else { -lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; uint8_t x_25; -x_20 = lean_unsigned_to_nat(0u); -x_21 = l_Lean_Syntax_getArg(x_13, x_20); -x_22 = l_Lean_Syntax_getArg(x_21, x_20); -lean_dec(x_21); -x_23 = l_Lean_Syntax_getKind(x_22); -x_24 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__2; -x_25 = lean_name_eq(x_23, x_24); -lean_dec(x_23); -if (x_25 == 0) +lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; uint8_t x_29; +x_24 = lean_unsigned_to_nat(0u); +x_25 = l_Lean_Syntax_getArg(x_13, x_24); +x_26 = l_Lean_Syntax_getArg(x_25, x_24); +lean_dec(x_25); +x_27 = l_Lean_Syntax_getKind(x_26); +x_28 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__2; +x_29 = lean_name_eq(x_27, x_28); +lean_dec(x_27); +if (x_29 == 0) { if (lean_obj_tag(x_4) == 0) { -lean_object* x_26; size_t x_27; size_t x_28; -x_26 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_26, 0, x_13); -x_27 = 1; -x_28 = lean_usize_add(x_2, x_27); -x_2 = x_28; -x_4 = x_26; +lean_object* x_30; size_t x_31; size_t x_32; +x_30 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_30, 0, x_13); +x_31 = 1; +x_32 = lean_usize_add(x_2, x_31); +x_2 = x_32; +x_4 = x_30; goto _start; } else { -lean_object* x_30; lean_object* x_31; uint8_t x_32; -x_30 = lean_ctor_get(x_4, 0); -lean_inc(x_30); -x_31 = l_Lean_Syntax_getKind(x_30); -x_32 = lean_name_eq(x_31, x_24); -lean_dec(x_31); -if (x_32 == 0) +lean_object* x_34; lean_object* x_35; uint8_t x_36; +x_34 = lean_ctor_get(x_4, 0); +lean_inc(x_34); +x_35 = l_Lean_Syntax_getKind(x_34); +x_36 = lean_name_eq(x_35, x_28); +lean_dec(x_35); +if (x_36 == 0) { -size_t x_33; size_t x_34; +size_t x_37; size_t x_38; lean_dec(x_13); -x_33 = 1; -x_34 = lean_usize_add(x_2, x_33); -x_2 = x_34; +x_37 = 1; +x_38 = lean_usize_add(x_2, x_37); +x_2 = x_38; goto _start; } else { -lean_object* x_36; lean_object* x_37; uint8_t x_38; +lean_object* x_40; lean_object* x_41; uint8_t x_42; lean_dec(x_4); -x_36 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__4; -x_37 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__1(x_13, x_36, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +x_40 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__4; +x_41 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__1(x_13, x_40, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_13); -x_38 = !lean_is_exclusive(x_37); -if (x_38 == 0) +x_42 = !lean_is_exclusive(x_41); +if (x_42 == 0) { -return x_37; +return x_41; } 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_43; lean_object* x_44; lean_object* x_45; +x_43 = lean_ctor_get(x_41, 0); +x_44 = lean_ctor_get(x_41, 1); +lean_inc(x_44); +lean_inc(x_43); +lean_dec(x_41); +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; } } } @@ -4763,72 +5614,72 @@ else { if (lean_obj_tag(x_4) == 0) { -lean_object* x_42; size_t x_43; size_t x_44; -x_42 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_42, 0, x_13); -x_43 = 1; -x_44 = lean_usize_add(x_2, x_43); -x_2 = x_44; -x_4 = x_42; +lean_object* x_46; size_t x_47; size_t x_48; +x_46 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_46, 0, x_13); +x_47 = 1; +x_48 = lean_usize_add(x_2, x_47); +x_2 = x_48; +x_4 = x_46; goto _start; } else { -lean_object* x_46; lean_object* x_47; uint8_t x_48; -x_46 = lean_ctor_get(x_4, 0); -lean_inc(x_46); +lean_object* x_50; lean_object* x_51; uint8_t x_52; +x_50 = lean_ctor_get(x_4, 0); +lean_inc(x_50); lean_dec(x_4); -x_47 = l_Lean_Syntax_getKind(x_46); -x_48 = lean_name_eq(x_47, x_24); -lean_dec(x_47); -if (x_48 == 0) +x_51 = l_Lean_Syntax_getKind(x_50); +x_52 = lean_name_eq(x_51, x_28); +lean_dec(x_51); +if (x_52 == 0) { -lean_object* x_49; lean_object* x_50; uint8_t x_51; -x_49 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__4; -x_50 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__1(x_13, x_49, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_object* x_53; lean_object* x_54; uint8_t x_55; +x_53 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__4; +x_54 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__1(x_13, x_53, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_13); -x_51 = !lean_is_exclusive(x_50); -if (x_51 == 0) +x_55 = !lean_is_exclusive(x_54); +if (x_55 == 0) { -return x_50; +return x_54; } else { -lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_52 = lean_ctor_get(x_50, 0); -x_53 = lean_ctor_get(x_50, 1); -lean_inc(x_53); -lean_inc(x_52); -lean_dec(x_50); -x_54 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_54, 0, x_52); -lean_ctor_set(x_54, 1, x_53); -return x_54; +lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_56 = lean_ctor_get(x_54, 0); +x_57 = lean_ctor_get(x_54, 1); +lean_inc(x_57); +lean_inc(x_56); +lean_dec(x_54); +x_58 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_58, 0, x_56); +lean_ctor_set(x_58, 1, x_57); +return x_58; } } else { -lean_object* x_55; lean_object* x_56; uint8_t x_57; -x_55 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__6; -x_56 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__1(x_13, x_55, x_5, x_6, x_7, x_8, x_9, x_10, x_11); +lean_object* x_59; lean_object* x_60; uint8_t x_61; +x_59 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__3___closed__6; +x_60 = l_Lean_throwErrorAt___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_isModifyOp_x3f___spec__1(x_13, x_59, x_5, x_6, x_7, x_8, x_9, x_10, x_11); lean_dec(x_13); -x_57 = !lean_is_exclusive(x_56); -if (x_57 == 0) +x_61 = !lean_is_exclusive(x_60); +if (x_61 == 0) { -return x_56; +return x_60; } else { -lean_object* x_58; lean_object* x_59; lean_object* x_60; -x_58 = lean_ctor_get(x_56, 0); -x_59 = lean_ctor_get(x_56, 1); -lean_inc(x_59); -lean_inc(x_58); -lean_dec(x_56); -x_60 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_60, 0, x_58); -lean_ctor_set(x_60, 1, x_59); -return x_60; +lean_object* x_62; lean_object* x_63; lean_object* x_64; +x_62 = lean_ctor_get(x_60, 0); +x_63 = lean_ctor_get(x_60, 1); +lean_inc(x_63); +lean_inc(x_62); +lean_dec(x_60); +x_64 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_64, 0, x_62); +lean_ctor_set(x_64, 1, x_63); +return x_64; } } } @@ -4837,13 +5688,13 @@ return x_60; } else { -lean_object* x_61; +lean_object* x_65; lean_dec(x_9); lean_dec(x_5); -x_61 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_61, 0, x_4); -lean_ctor_set(x_61, 1, x_11); -return x_61; +x_65 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_65, 0, x_4); +lean_ctor_set(x_65, 1, x_11); +return x_65; } } } @@ -5237,68 +6088,20 @@ static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Str _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("fun", 3, 3); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17() { -_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_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; -x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; -x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; -x_4 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__16; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__18() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("basicFun", 8, 8); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19() { -_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_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; -x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; -x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; -x_4 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__18; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__20() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("=>", 2, 2); -return x_1; -} -} -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__21() { -_start: -{ -lean_object* x_1; x_1 = lean_mk_string_unchecked("", 0, 0); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__21; +x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__16; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } } -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__23() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__18() { _start: { lean_object* x_1; @@ -5306,11 +6109,11 @@ x_1 = lean_mk_string_unchecked("\n===>\n", 6, 6); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__24() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__23; +x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__18; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } @@ -5403,7 +6206,7 @@ lean_ctor_set(x_49, 0, x_27); lean_ctor_set(x_49, 1, x_48); lean_ctor_set(x_49, 2, x_47); lean_ctor_set(x_49, 3, x_3); -x_50 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5; +x_50 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10; lean_inc(x_27); x_51 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_51, 0, x_27); @@ -5418,7 +6221,7 @@ lean_inc(x_53); lean_inc(x_45); lean_inc(x_27); x_55 = l_Lean_Syntax_node5(x_27, x_54, x_45, x_49, x_51, x_22, x_53); -x_56 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__16; +x_56 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__1; lean_inc(x_27); x_57 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_57, 0, x_27); @@ -5440,15 +6243,15 @@ x_62 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_62, 0, x_27); lean_ctor_set(x_62, 1, x_6); lean_ctor_set(x_62, 2, x_61); -x_63 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__20; +x_63 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__5; lean_inc(x_27); x_64 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_64, 0, x_27); lean_ctor_set(x_64, 1, x_63); -x_65 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19; +x_65 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__4; lean_inc(x_27); x_66 = l_Lean_Syntax_node4(x_27, x_65, x_60, x_62, x_64, x_7); -x_67 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; +x_67 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__2; lean_inc(x_27); x_68 = l_Lean_Syntax_node2(x_27, x_67, x_57, x_66); x_69 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__15; @@ -5487,11 +6290,11 @@ x_82 = lean_ctor_get(x_74, 0); lean_dec(x_82); lean_inc(x_10); x_83 = l_Lean_MessageData_ofSyntax(x_10); -x_84 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_84 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; lean_ctor_set_tag(x_74, 7); lean_ctor_set(x_74, 1, x_83); lean_ctor_set(x_74, 0, x_84); -x_85 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__24; +x_85 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19; x_86 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_86, 0, x_74); lean_ctor_set(x_86, 1, x_85); @@ -5521,11 +6324,11 @@ lean_inc(x_94); lean_dec(x_74); lean_inc(x_10); x_95 = l_Lean_MessageData_ofSyntax(x_10); -x_96 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_96 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_97 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_97, 0, x_96); lean_ctor_set(x_97, 1, x_95); -x_98 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__24; +x_98 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19; x_99 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_99, 0, x_97); lean_ctor_set(x_99, 1, x_98); @@ -5601,7 +6404,7 @@ lean_ctor_set(x_125, 0, x_27); lean_ctor_set(x_125, 1, x_124); lean_ctor_set(x_125, 2, x_123); lean_ctor_set(x_125, 3, x_3); -x_126 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5; +x_126 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10; lean_inc(x_27); x_127 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_127, 0, x_27); @@ -5616,7 +6419,7 @@ lean_inc(x_129); lean_inc(x_121); lean_inc(x_27); x_131 = l_Lean_Syntax_node5(x_27, x_130, x_121, x_125, x_127, x_22, x_129); -x_132 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__16; +x_132 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__1; lean_inc(x_27); x_133 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_133, 0, x_27); @@ -5638,15 +6441,15 @@ x_138 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_138, 0, x_27); lean_ctor_set(x_138, 1, x_6); lean_ctor_set(x_138, 2, x_137); -x_139 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__20; +x_139 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__5; lean_inc(x_27); x_140 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_140, 0, x_27); lean_ctor_set(x_140, 1, x_139); -x_141 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19; +x_141 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__4; lean_inc(x_27); x_142 = l_Lean_Syntax_node4(x_27, x_141, x_136, x_138, x_140, x_7); -x_143 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; +x_143 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__2; lean_inc(x_27); x_144 = l_Lean_Syntax_node2(x_27, x_143, x_133, x_142); x_145 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__15; @@ -5688,7 +6491,7 @@ if (lean_is_exclusive(x_150)) { } lean_inc(x_10); x_158 = l_Lean_MessageData_ofSyntax(x_10); -x_159 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_159 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; if (lean_is_scalar(x_157)) { x_160 = lean_alloc_ctor(7, 2, 0); } else { @@ -5697,7 +6500,7 @@ if (lean_is_scalar(x_157)) { } lean_ctor_set(x_160, 0, x_159); lean_ctor_set(x_160, 1, x_158); -x_161 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__24; +x_161 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19; x_162 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_162, 0, x_160); lean_ctor_set(x_162, 1, x_161); @@ -5754,22 +6557,42 @@ static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Str _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("struct", 6, 6); +x_1 = lean_mk_string_unchecked("structInstFields", 16, 16); return x_1; } } static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; +x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__6; +x_3 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; +x_4 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__4; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("struct", 6, 6); +return x_1; +} +} +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7() { +_start: +{ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__3; -x_2 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__4; +x_2 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__6; x_3 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__6; x_4 = l_Lean_Name_mkStr3(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__6() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__8() { _start: { lean_object* x_1; @@ -5777,11 +6600,11 @@ x_1 = lean_mk_string_unchecked("\nval: ", 6, 6); return x_1; } } -static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7() { +static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__9() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__6; +x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__8; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } @@ -5854,7 +6677,7 @@ x_46 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesWi lean_dec(x_45); lean_inc(x_2); x_47 = l_Lean_Syntax_setArg(x_2, x_15, x_46); -x_48 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5; +x_48 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7; x_49 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_48, x_6, x_7, x_8, x_9, x_10, x_11, x_25); if (x_36 == 0) { @@ -5882,7 +6705,7 @@ lean_ctor_set_tag(x_49, 1); lean_ctor_set(x_49, 1, x_22); lean_ctor_set(x_49, 0, x_50); x_54 = lean_array_mk(x_49); -x_55 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__4; +x_55 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__2; x_56 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_56, 0, x_41); lean_ctor_set(x_56, 1, x_55); @@ -5900,7 +6723,7 @@ x_61 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_61, 0, x_60); lean_ctor_set(x_61, 1, x_30); x_62 = lean_array_mk(x_61); -x_63 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__2; +x_63 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5; x_64 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_64, 0, x_41); lean_ctor_set(x_64, 1, x_63); @@ -5922,11 +6745,11 @@ else lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_inc(x_2); x_70 = l_Lean_MessageData_ofSyntax(x_2); -x_71 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_71 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_72 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_72, 0, x_71); lean_ctor_set(x_72, 1, x_70); -x_73 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7; +x_73 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__9; x_74 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_74, 0, x_72); lean_ctor_set(x_74, 1, x_73); @@ -5962,7 +6785,7 @@ x_84 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_84, 0, x_50); lean_ctor_set(x_84, 1, x_22); x_85 = lean_array_mk(x_84); -x_86 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__4; +x_86 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__2; x_87 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_87, 0, x_41); lean_ctor_set(x_87, 1, x_86); @@ -5980,7 +6803,7 @@ x_92 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_92, 0, x_91); lean_ctor_set(x_92, 1, x_30); x_93 = lean_array_mk(x_92); -x_94 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__2; +x_94 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5; x_95 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_95, 0, x_41); lean_ctor_set(x_95, 1, x_94); @@ -6002,11 +6825,11 @@ else 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_inc(x_2); x_101 = l_Lean_MessageData_ofSyntax(x_2); -x_102 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_102 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_103 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_103, 0, x_102); lean_ctor_set(x_103, 1, x_101); -x_104 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7; +x_104 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__9; x_105 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_105, 0, x_103); lean_ctor_set(x_105, 1, x_104); @@ -6082,7 +6905,7 @@ x_138 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkSourcesW lean_dec(x_137); lean_inc(x_2); x_139 = l_Lean_Syntax_setArg(x_2, x_15, x_138); -x_140 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5; +x_140 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7; x_141 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_140, x_6, x_7, x_8, x_9, x_10, x_11, x_116); if (x_127 == 0) { @@ -6121,7 +6944,7 @@ if (lean_is_scalar(x_145)) { lean_ctor_set(x_146, 0, x_142); lean_ctor_set(x_146, 1, x_135); x_147 = lean_array_mk(x_146); -x_148 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__4; +x_148 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__2; x_149 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_149, 0, x_132); lean_ctor_set(x_149, 1, x_148); @@ -6139,7 +6962,7 @@ x_154 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_154, 0, x_153); lean_ctor_set(x_154, 1, x_121); x_155 = lean_array_mk(x_154); -x_156 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__2; +x_156 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5; x_157 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_157, 0, x_132); lean_ctor_set(x_157, 1, x_156); @@ -6161,11 +6984,11 @@ else 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_inc(x_2); x_163 = l_Lean_MessageData_ofSyntax(x_2); -x_164 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_164 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_165 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_165, 0, x_164); lean_ctor_set(x_165, 1, x_163); -x_166 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7; +x_166 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__9; x_167 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_167, 0, x_165); lean_ctor_set(x_167, 1, x_166); @@ -6193,404 +7016,408 @@ return x_174; } else { -lean_object* x_177; lean_object* x_178; lean_object* x_179; lean_object* x_180; lean_object* x_181; uint8_t x_182; lean_object* x_183; +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; uint8_t x_184; lean_object* x_185; lean_dec(x_16); -x_177 = lean_unsigned_to_nat(2u); -x_178 = l_Lean_Syntax_getArg(x_1, x_177); +x_177 = l_Lean_Syntax_getArg(x_1, x_15); lean_dec(x_1); -x_179 = l_Lean_Syntax_getArg(x_14, x_13); -lean_dec(x_14); +x_178 = lean_unsigned_to_nat(2u); +x_179 = l_Lean_Syntax_getArg(x_177, x_178); +lean_dec(x_177); x_180 = l_Lean_Syntax_getArg(x_179, x_15); lean_dec(x_179); -x_181 = lean_array_get_size(x_3); -x_182 = lean_nat_dec_lt(x_13, x_181); +x_181 = l_Lean_Syntax_getArg(x_14, x_13); +lean_dec(x_14); +x_182 = l_Lean_Syntax_getArg(x_181, x_15); lean_dec(x_181); -if (x_182 == 0) +x_183 = lean_array_get_size(x_3); +x_184 = lean_nat_dec_lt(x_13, x_183); +lean_dec(x_183); +if (x_184 == 0) { -lean_object* x_338; lean_object* x_339; -x_338 = l_Lean_Elab_Term_StructInst_instInhabitedExplicitSourceView; -x_339 = l_outOfBounds___rarg(x_338); -x_183 = x_339; -goto block_337; +lean_object* x_340; lean_object* x_341; +x_340 = l_Lean_Elab_Term_StructInst_instInhabitedExplicitSourceView; +x_341 = l_outOfBounds___rarg(x_340); +x_185 = x_341; +goto block_339; } else { -lean_object* x_340; -x_340 = lean_array_fget(x_3, x_13); -x_183 = x_340; -goto block_337; +lean_object* x_342; +x_342 = lean_array_fget(x_3, x_13); +x_185 = x_342; +goto block_339; } -block_337: +block_339: { -lean_object* x_184; lean_object* x_185; uint8_t x_186; lean_object* x_187; lean_object* x_188; lean_object* x_189; uint8_t x_190; -x_184 = lean_ctor_get(x_183, 0); -lean_inc(x_184); -lean_dec(x_183); -x_185 = lean_ctor_get(x_10, 5); -lean_inc(x_185); -x_186 = 0; -x_187 = l_Lean_SourceInfo_fromRef(x_185, x_186); +lean_object* x_186; lean_object* x_187; uint8_t x_188; lean_object* x_189; lean_object* x_190; lean_object* x_191; uint8_t x_192; +x_186 = lean_ctor_get(x_185, 0); +lean_inc(x_186); lean_dec(x_185); -x_188 = lean_ctor_get(x_10, 10); -lean_inc(x_188); -x_189 = lean_st_ref_get(x_11, x_12); -x_190 = !lean_is_exclusive(x_189); -if (x_190 == 0) +x_187 = lean_ctor_get(x_10, 5); +lean_inc(x_187); +x_188 = 0; +x_189 = l_Lean_SourceInfo_fromRef(x_187, x_188); +lean_dec(x_187); +x_190 = lean_ctor_get(x_10, 10); +lean_inc(x_190); +x_191 = lean_st_ref_get(x_11, x_12); +x_192 = !lean_is_exclusive(x_191); +if (x_192 == 0) { -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; 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; 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_object* x_233; lean_object* x_234; lean_object* x_235; lean_object* x_236; lean_object* x_237; lean_object* x_238; uint8_t x_239; -x_191 = lean_ctor_get(x_189, 0); -x_192 = lean_ctor_get(x_189, 1); +lean_object* x_193; lean_object* x_194; lean_object* x_195; lean_object* x_196; lean_object* x_197; lean_object* x_198; lean_object* x_199; lean_object* x_200; lean_object* x_201; lean_object* x_202; lean_object* x_203; lean_object* x_204; 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; 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; lean_object* x_240; uint8_t x_241; x_193 = lean_ctor_get(x_191, 0); -lean_inc(x_193); -lean_dec(x_191); -x_194 = lean_environment_main_module(x_193); -x_195 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__5; -lean_inc(x_187); -lean_ctor_set_tag(x_189, 2); -lean_ctor_set(x_189, 1, x_195); -lean_ctor_set(x_189, 0, x_187); -x_196 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__8; -lean_inc(x_188); -lean_inc(x_194); -x_197 = l_Lean_addMacroScope(x_194, x_196, x_188); -x_198 = lean_box(0); -x_199 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__7; -lean_inc(x_187); -x_200 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_200, 0, x_187); -lean_ctor_set(x_200, 1, x_199); -lean_ctor_set(x_200, 2, x_197); -lean_ctor_set(x_200, 3, x_198); -x_201 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__4; -lean_inc(x_187); -x_202 = l_Lean_Syntax_node3(x_187, x_201, x_184, x_189, x_200); -x_203 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__10; -lean_inc(x_187); -x_204 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_204, 0, x_187); -lean_ctor_set(x_204, 1, x_203); -x_205 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__13; -lean_inc(x_188); -lean_inc(x_194); -x_206 = l_Lean_addMacroScope(x_194, x_205, x_188); -x_207 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__12; -lean_inc(x_187); -x_208 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_208, 0, x_187); -lean_ctor_set(x_208, 1, x_207); -lean_ctor_set(x_208, 2, x_206); -lean_ctor_set(x_208, 3, x_198); -x_209 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5; -lean_inc(x_187); -x_210 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_210, 0, x_187); +x_194 = lean_ctor_get(x_191, 1); +x_195 = lean_ctor_get(x_193, 0); +lean_inc(x_195); +lean_dec(x_193); +x_196 = lean_environment_main_module(x_195); +x_197 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__5; +lean_inc(x_189); +lean_ctor_set_tag(x_191, 2); +lean_ctor_set(x_191, 1, x_197); +lean_ctor_set(x_191, 0, x_189); +x_198 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__8; +lean_inc(x_190); +lean_inc(x_196); +x_199 = l_Lean_addMacroScope(x_196, x_198, x_190); +x_200 = lean_box(0); +x_201 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__7; +lean_inc(x_189); +x_202 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_202, 0, x_189); +lean_ctor_set(x_202, 1, x_201); +lean_ctor_set(x_202, 2, x_199); +lean_ctor_set(x_202, 3, x_200); +x_203 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__4; +lean_inc(x_189); +x_204 = l_Lean_Syntax_node3(x_189, x_203, x_186, x_191, x_202); +x_205 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__10; +lean_inc(x_189); +x_206 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_206, 0, x_189); +lean_ctor_set(x_206, 1, x_205); +x_207 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__13; +lean_inc(x_190); +lean_inc(x_196); +x_208 = l_Lean_addMacroScope(x_196, x_207, x_190); +x_209 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__12; +lean_inc(x_189); +x_210 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_210, 0, x_189); lean_ctor_set(x_210, 1, x_209); -x_211 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__12; -lean_inc(x_187); +lean_ctor_set(x_210, 2, x_208); +lean_ctor_set(x_210, 3, x_200); +x_211 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10; +lean_inc(x_189); x_212 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_212, 0, x_187); +lean_ctor_set(x_212, 0, x_189); lean_ctor_set(x_212, 1, x_211); -x_213 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__10; -lean_inc(x_212); -lean_inc(x_204); -lean_inc(x_187); -x_214 = l_Lean_Syntax_node5(x_187, x_213, x_204, x_208, x_210, x_180, x_212); -x_215 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__16; -lean_inc(x_187); -x_216 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_216, 0, x_187); -lean_ctor_set(x_216, 1, x_215); -x_217 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__3; -x_218 = l_Lean_addMacroScope(x_194, x_217, x_188); -x_219 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__2; -lean_inc(x_187); -x_220 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_220, 0, x_187); -lean_ctor_set(x_220, 1, x_219); -lean_ctor_set(x_220, 2, x_218); -lean_ctor_set(x_220, 3, x_198); -x_221 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; -lean_inc(x_187); -x_222 = l_Lean_Syntax_node1(x_187, x_221, x_220); -x_223 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; -lean_inc(x_187); -x_224 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_224, 0, x_187); -lean_ctor_set(x_224, 1, x_221); -lean_ctor_set(x_224, 2, x_223); -x_225 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__20; -lean_inc(x_187); -x_226 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_226, 0, x_187); -lean_ctor_set(x_226, 1, x_225); -x_227 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19; -lean_inc(x_187); -x_228 = l_Lean_Syntax_node4(x_187, x_227, x_222, x_224, x_226, x_178); -x_229 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; -lean_inc(x_187); -x_230 = l_Lean_Syntax_node2(x_187, x_229, x_216, x_228); -x_231 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__15; -lean_inc(x_187); -x_232 = l_Lean_Syntax_node3(x_187, x_231, x_204, x_230, x_212); -lean_inc(x_187); -x_233 = l_Lean_Syntax_node2(x_187, x_221, x_214, x_232); -x_234 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__2; -x_235 = l_Lean_Syntax_node2(x_187, x_234, x_202, x_233); -x_236 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5; -x_237 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_236, x_6, x_7, x_8, x_9, x_10, x_11, x_192); -x_238 = lean_ctor_get(x_237, 0); -lean_inc(x_238); -x_239 = lean_unbox(x_238); -lean_dec(x_238); -if (x_239 == 0) -{ -lean_object* x_240; lean_object* x_241; lean_object* x_242; -x_240 = lean_ctor_get(x_237, 1); +x_213 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__12; +lean_inc(x_189); +x_214 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_214, 0, x_189); +lean_ctor_set(x_214, 1, x_213); +x_215 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__10; +lean_inc(x_214); +lean_inc(x_206); +lean_inc(x_189); +x_216 = l_Lean_Syntax_node5(x_189, x_215, x_206, x_210, x_212, x_182, x_214); +x_217 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__1; +lean_inc(x_189); +x_218 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_218, 0, x_189); +lean_ctor_set(x_218, 1, x_217); +x_219 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__3; +x_220 = l_Lean_addMacroScope(x_196, x_219, x_190); +x_221 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__2; +lean_inc(x_189); +x_222 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_222, 0, x_189); +lean_ctor_set(x_222, 1, x_221); +lean_ctor_set(x_222, 2, x_220); +lean_ctor_set(x_222, 3, x_200); +x_223 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; +lean_inc(x_189); +x_224 = l_Lean_Syntax_node1(x_189, x_223, x_222); +x_225 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; +lean_inc(x_189); +x_226 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_226, 0, x_189); +lean_ctor_set(x_226, 1, x_223); +lean_ctor_set(x_226, 2, x_225); +x_227 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__5; +lean_inc(x_189); +x_228 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_228, 0, x_189); +lean_ctor_set(x_228, 1, x_227); +x_229 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__4; +lean_inc(x_189); +x_230 = l_Lean_Syntax_node4(x_189, x_229, x_224, x_226, x_228, x_180); +x_231 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__2; +lean_inc(x_189); +x_232 = l_Lean_Syntax_node2(x_189, x_231, x_218, x_230); +x_233 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__15; +lean_inc(x_189); +x_234 = l_Lean_Syntax_node3(x_189, x_233, x_206, x_232, x_214); +lean_inc(x_189); +x_235 = l_Lean_Syntax_node2(x_189, x_223, x_216, x_234); +x_236 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__2; +x_237 = l_Lean_Syntax_node2(x_189, x_236, x_204, x_235); +x_238 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7; +x_239 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_238, x_6, x_7, x_8, x_9, x_10, x_11, x_194); +x_240 = lean_ctor_get(x_239, 0); lean_inc(x_240); -lean_dec(x_237); -x_241 = lean_box(0); -x_242 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__1(x_235, x_4, x_2, x_241, x_6, x_7, x_8, x_9, x_10, x_11, x_240); -return x_242; +x_241 = lean_unbox(x_240); +lean_dec(x_240); +if (x_241 == 0) +{ +lean_object* x_242; lean_object* x_243; lean_object* x_244; +x_242 = lean_ctor_get(x_239, 1); +lean_inc(x_242); +lean_dec(x_239); +x_243 = lean_box(0); +x_244 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__1(x_237, x_4, x_2, x_243, x_6, x_7, x_8, x_9, x_10, x_11, x_242); +return x_244; } else { -uint8_t x_243; -x_243 = !lean_is_exclusive(x_237); -if (x_243 == 0) +uint8_t x_245; +x_245 = !lean_is_exclusive(x_239); +if (x_245 == 0) { -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; -x_244 = lean_ctor_get(x_237, 1); -x_245 = lean_ctor_get(x_237, 0); -lean_dec(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; +x_246 = lean_ctor_get(x_239, 1); +x_247 = lean_ctor_get(x_239, 0); +lean_dec(x_247); lean_inc(x_2); -x_246 = l_Lean_MessageData_ofSyntax(x_2); -x_247 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; -lean_ctor_set_tag(x_237, 7); -lean_ctor_set(x_237, 1, x_246); -lean_ctor_set(x_237, 0, x_247); -x_248 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__24; -x_249 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_249, 0, x_237); -lean_ctor_set(x_249, 1, x_248); -lean_inc(x_235); -x_250 = l_Lean_MessageData_ofSyntax(x_235); +x_248 = l_Lean_MessageData_ofSyntax(x_2); +x_249 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; +lean_ctor_set_tag(x_239, 7); +lean_ctor_set(x_239, 1, x_248); +lean_ctor_set(x_239, 0, x_249); +x_250 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19; x_251 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_251, 0, x_249); +lean_ctor_set(x_251, 0, x_239); lean_ctor_set(x_251, 1, x_250); -x_252 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_252, 0, x_251); -lean_ctor_set(x_252, 1, x_247); -x_253 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_236, x_252, x_6, x_7, x_8, x_9, x_10, x_11, x_244); -x_254 = lean_ctor_get(x_253, 0); -lean_inc(x_254); -x_255 = lean_ctor_get(x_253, 1); -lean_inc(x_255); -lean_dec(x_253); -x_256 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__1(x_235, x_4, x_2, x_254, x_6, x_7, x_8, x_9, x_10, x_11, x_255); -lean_dec(x_254); -return x_256; +lean_inc(x_237); +x_252 = l_Lean_MessageData_ofSyntax(x_237); +x_253 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_253, 0, x_251); +lean_ctor_set(x_253, 1, x_252); +x_254 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_254, 0, x_253); +lean_ctor_set(x_254, 1, x_249); +x_255 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_238, x_254, x_6, x_7, x_8, x_9, x_10, x_11, x_246); +x_256 = lean_ctor_get(x_255, 0); +lean_inc(x_256); +x_257 = lean_ctor_get(x_255, 1); +lean_inc(x_257); +lean_dec(x_255); +x_258 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__1(x_237, x_4, x_2, x_256, x_6, x_7, x_8, x_9, x_10, x_11, x_257); +lean_dec(x_256); +return x_258; } else { -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; lean_object* x_268; lean_object* x_269; -x_257 = lean_ctor_get(x_237, 1); -lean_inc(x_257); -lean_dec(x_237); +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; lean_object* x_269; lean_object* x_270; lean_object* x_271; +x_259 = lean_ctor_get(x_239, 1); +lean_inc(x_259); +lean_dec(x_239); lean_inc(x_2); -x_258 = l_Lean_MessageData_ofSyntax(x_2); -x_259 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; -x_260 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_260, 0, x_259); -lean_ctor_set(x_260, 1, x_258); -x_261 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__24; +x_260 = l_Lean_MessageData_ofSyntax(x_2); +x_261 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_262 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_262, 0, x_260); -lean_ctor_set(x_262, 1, x_261); -lean_inc(x_235); -x_263 = l_Lean_MessageData_ofSyntax(x_235); +lean_ctor_set(x_262, 0, x_261); +lean_ctor_set(x_262, 1, x_260); +x_263 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19; x_264 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_264, 0, x_262); lean_ctor_set(x_264, 1, x_263); -x_265 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_265, 0, x_264); -lean_ctor_set(x_265, 1, x_259); -x_266 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_236, x_265, x_6, x_7, x_8, x_9, x_10, x_11, x_257); -x_267 = lean_ctor_get(x_266, 0); -lean_inc(x_267); -x_268 = lean_ctor_get(x_266, 1); -lean_inc(x_268); -lean_dec(x_266); -x_269 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__1(x_235, x_4, x_2, x_267, x_6, x_7, x_8, x_9, x_10, x_11, x_268); -lean_dec(x_267); -return x_269; +lean_inc(x_237); +x_265 = l_Lean_MessageData_ofSyntax(x_237); +x_266 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_266, 0, x_264); +lean_ctor_set(x_266, 1, x_265); +x_267 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_267, 0, x_266); +lean_ctor_set(x_267, 1, x_261); +x_268 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_238, x_267, x_6, x_7, x_8, x_9, x_10, x_11, x_259); +x_269 = lean_ctor_get(x_268, 0); +lean_inc(x_269); +x_270 = lean_ctor_get(x_268, 1); +lean_inc(x_270); +lean_dec(x_268); +x_271 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__1(x_237, x_4, x_2, x_269, x_6, x_7, x_8, x_9, x_10, x_11, x_270); +lean_dec(x_269); +return x_271; } } } else { -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; 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; 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; uint8_t x_319; -x_270 = lean_ctor_get(x_189, 0); -x_271 = lean_ctor_get(x_189, 1); -lean_inc(x_271); -lean_inc(x_270); -lean_dec(x_189); -x_272 = lean_ctor_get(x_270, 0); -lean_inc(x_272); -lean_dec(x_270); -x_273 = lean_environment_main_module(x_272); -x_274 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__5; -lean_inc(x_187); -x_275 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_275, 0, x_187); -lean_ctor_set(x_275, 1, x_274); -x_276 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__8; -lean_inc(x_188); +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; 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; 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; uint8_t x_321; +x_272 = lean_ctor_get(x_191, 0); +x_273 = lean_ctor_get(x_191, 1); lean_inc(x_273); -x_277 = l_Lean_addMacroScope(x_273, x_276, x_188); -x_278 = lean_box(0); -x_279 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__7; -lean_inc(x_187); -x_280 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_280, 0, x_187); -lean_ctor_set(x_280, 1, x_279); -lean_ctor_set(x_280, 2, x_277); -lean_ctor_set(x_280, 3, x_278); -x_281 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__4; -lean_inc(x_187); -x_282 = l_Lean_Syntax_node3(x_187, x_281, x_184, x_275, x_280); -x_283 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__10; -lean_inc(x_187); -x_284 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_284, 0, x_187); -lean_ctor_set(x_284, 1, x_283); -x_285 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__13; -lean_inc(x_188); -lean_inc(x_273); -x_286 = l_Lean_addMacroScope(x_273, x_285, x_188); -x_287 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__12; -lean_inc(x_187); -x_288 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_288, 0, x_187); -lean_ctor_set(x_288, 1, x_287); -lean_ctor_set(x_288, 2, x_286); -lean_ctor_set(x_288, 3, x_278); -x_289 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5; -lean_inc(x_187); -x_290 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_290, 0, x_187); +lean_inc(x_272); +lean_dec(x_191); +x_274 = lean_ctor_get(x_272, 0); +lean_inc(x_274); +lean_dec(x_272); +x_275 = lean_environment_main_module(x_274); +x_276 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__5; +lean_inc(x_189); +x_277 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_277, 0, x_189); +lean_ctor_set(x_277, 1, x_276); +x_278 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__8; +lean_inc(x_190); +lean_inc(x_275); +x_279 = l_Lean_addMacroScope(x_275, x_278, x_190); +x_280 = lean_box(0); +x_281 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__7; +lean_inc(x_189); +x_282 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_282, 0, x_189); +lean_ctor_set(x_282, 1, x_281); +lean_ctor_set(x_282, 2, x_279); +lean_ctor_set(x_282, 3, x_280); +x_283 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__4; +lean_inc(x_189); +x_284 = l_Lean_Syntax_node3(x_189, x_283, x_186, x_277, x_282); +x_285 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__10; +lean_inc(x_189); +x_286 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_286, 0, x_189); +lean_ctor_set(x_286, 1, x_285); +x_287 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__13; +lean_inc(x_190); +lean_inc(x_275); +x_288 = l_Lean_addMacroScope(x_275, x_287, x_190); +x_289 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__12; +lean_inc(x_189); +x_290 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_290, 0, x_189); lean_ctor_set(x_290, 1, x_289); -x_291 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__12; -lean_inc(x_187); +lean_ctor_set(x_290, 2, x_288); +lean_ctor_set(x_290, 3, x_280); +x_291 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10; +lean_inc(x_189); x_292 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_292, 0, x_187); +lean_ctor_set(x_292, 0, x_189); lean_ctor_set(x_292, 1, x_291); -x_293 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__10; -lean_inc(x_292); -lean_inc(x_284); -lean_inc(x_187); -x_294 = l_Lean_Syntax_node5(x_187, x_293, x_284, x_288, x_290, x_180, x_292); -x_295 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__16; -lean_inc(x_187); -x_296 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_296, 0, x_187); -lean_ctor_set(x_296, 1, x_295); -x_297 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__3; -x_298 = l_Lean_addMacroScope(x_273, x_297, x_188); -x_299 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__2; -lean_inc(x_187); -x_300 = lean_alloc_ctor(3, 4, 0); -lean_ctor_set(x_300, 0, x_187); -lean_ctor_set(x_300, 1, x_299); -lean_ctor_set(x_300, 2, x_298); -lean_ctor_set(x_300, 3, x_278); -x_301 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; -lean_inc(x_187); -x_302 = l_Lean_Syntax_node1(x_187, x_301, x_300); -x_303 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; -lean_inc(x_187); -x_304 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_304, 0, x_187); -lean_ctor_set(x_304, 1, x_301); -lean_ctor_set(x_304, 2, x_303); -x_305 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__20; -lean_inc(x_187); -x_306 = lean_alloc_ctor(2, 2, 0); -lean_ctor_set(x_306, 0, x_187); -lean_ctor_set(x_306, 1, x_305); -x_307 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19; -lean_inc(x_187); -x_308 = l_Lean_Syntax_node4(x_187, x_307, x_302, x_304, x_306, x_178); -x_309 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; -lean_inc(x_187); -x_310 = l_Lean_Syntax_node2(x_187, x_309, x_296, x_308); -x_311 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__15; -lean_inc(x_187); -x_312 = l_Lean_Syntax_node3(x_187, x_311, x_284, x_310, x_292); -lean_inc(x_187); -x_313 = l_Lean_Syntax_node2(x_187, x_301, x_294, x_312); -x_314 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__2; -x_315 = l_Lean_Syntax_node2(x_187, x_314, x_282, x_313); -x_316 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5; -x_317 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_316, x_6, x_7, x_8, x_9, x_10, x_11, x_271); -x_318 = lean_ctor_get(x_317, 0); -lean_inc(x_318); -x_319 = lean_unbox(x_318); -lean_dec(x_318); -if (x_319 == 0) -{ -lean_object* x_320; lean_object* x_321; lean_object* x_322; -x_320 = lean_ctor_get(x_317, 1); +x_293 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__12; +lean_inc(x_189); +x_294 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_294, 0, x_189); +lean_ctor_set(x_294, 1, x_293); +x_295 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__10; +lean_inc(x_294); +lean_inc(x_286); +lean_inc(x_189); +x_296 = l_Lean_Syntax_node5(x_189, x_295, x_286, x_290, x_292, x_182, x_294); +x_297 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__1; +lean_inc(x_189); +x_298 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_298, 0, x_189); +lean_ctor_set(x_298, 1, x_297); +x_299 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__3; +x_300 = l_Lean_addMacroScope(x_275, x_299, x_190); +x_301 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__2; +lean_inc(x_189); +x_302 = lean_alloc_ctor(3, 4, 0); +lean_ctor_set(x_302, 0, x_189); +lean_ctor_set(x_302, 1, x_301); +lean_ctor_set(x_302, 2, x_300); +lean_ctor_set(x_302, 3, x_280); +x_303 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; +lean_inc(x_189); +x_304 = l_Lean_Syntax_node1(x_189, x_303, x_302); +x_305 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__1; +lean_inc(x_189); +x_306 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_306, 0, x_189); +lean_ctor_set(x_306, 1, x_303); +lean_ctor_set(x_306, 2, x_305); +x_307 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__5; +lean_inc(x_189); +x_308 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_308, 0, x_189); +lean_ctor_set(x_308, 1, x_307); +x_309 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__4; +lean_inc(x_189); +x_310 = l_Lean_Syntax_node4(x_189, x_309, x_304, x_306, x_308, x_180); +x_311 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__2; +lean_inc(x_189); +x_312 = l_Lean_Syntax_node2(x_189, x_311, x_298, x_310); +x_313 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__15; +lean_inc(x_189); +x_314 = l_Lean_Syntax_node3(x_189, x_313, x_286, x_312, x_294); +lean_inc(x_189); +x_315 = l_Lean_Syntax_node2(x_189, x_303, x_296, x_314); +x_316 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__2; +x_317 = l_Lean_Syntax_node2(x_189, x_316, x_284, x_315); +x_318 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7; +x_319 = l_Lean_isTracingEnabledFor___at_Lean_Elab_Term_traceAtCmdPos___spec__1(x_318, x_6, x_7, x_8, x_9, x_10, x_11, x_273); +x_320 = lean_ctor_get(x_319, 0); lean_inc(x_320); -lean_dec(x_317); -x_321 = lean_box(0); -x_322 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__1(x_315, x_4, x_2, x_321, x_6, x_7, x_8, x_9, x_10, x_11, x_320); -return x_322; +x_321 = lean_unbox(x_320); +lean_dec(x_320); +if (x_321 == 0) +{ +lean_object* x_322; lean_object* x_323; lean_object* x_324; +x_322 = lean_ctor_get(x_319, 1); +lean_inc(x_322); +lean_dec(x_319); +x_323 = lean_box(0); +x_324 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__1(x_317, x_4, x_2, x_323, x_6, x_7, x_8, x_9, x_10, x_11, x_322); +return x_324; } 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; lean_object* x_335; lean_object* x_336; -x_323 = lean_ctor_get(x_317, 1); -lean_inc(x_323); -if (lean_is_exclusive(x_317)) { - lean_ctor_release(x_317, 0); - lean_ctor_release(x_317, 1); - x_324 = x_317; +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_325 = lean_ctor_get(x_319, 1); +lean_inc(x_325); +if (lean_is_exclusive(x_319)) { + lean_ctor_release(x_319, 0); + lean_ctor_release(x_319, 1); + x_326 = x_319; } else { - lean_dec_ref(x_317); - x_324 = lean_box(0); + lean_dec_ref(x_319); + x_326 = lean_box(0); } lean_inc(x_2); -x_325 = l_Lean_MessageData_ofSyntax(x_2); -x_326 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; -if (lean_is_scalar(x_324)) { - x_327 = lean_alloc_ctor(7, 2, 0); -} else { - x_327 = x_324; - lean_ctor_set_tag(x_327, 7); -} -lean_ctor_set(x_327, 0, x_326); -lean_ctor_set(x_327, 1, x_325); -x_328 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__24; -x_329 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_329, 0, x_327); -lean_ctor_set(x_329, 1, x_328); -lean_inc(x_315); -x_330 = l_Lean_MessageData_ofSyntax(x_315); +x_327 = l_Lean_MessageData_ofSyntax(x_2); +x_328 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; +if (lean_is_scalar(x_326)) { + x_329 = lean_alloc_ctor(7, 2, 0); +} else { + x_329 = x_326; + lean_ctor_set_tag(x_329, 7); +} +lean_ctor_set(x_329, 0, x_328); +lean_ctor_set(x_329, 1, x_327); +x_330 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19; x_331 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_331, 0, x_329); lean_ctor_set(x_331, 1, x_330); -x_332 = lean_alloc_ctor(7, 2, 0); -lean_ctor_set(x_332, 0, x_331); -lean_ctor_set(x_332, 1, x_326); -x_333 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_316, x_332, x_6, x_7, x_8, x_9, x_10, x_11, x_323); -x_334 = lean_ctor_get(x_333, 0); -lean_inc(x_334); -x_335 = lean_ctor_get(x_333, 1); -lean_inc(x_335); -lean_dec(x_333); -x_336 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__1(x_315, x_4, x_2, x_334, x_6, x_7, x_8, x_9, x_10, x_11, x_335); -lean_dec(x_334); -return x_336; +lean_inc(x_317); +x_332 = l_Lean_MessageData_ofSyntax(x_317); +x_333 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_333, 0, x_331); +lean_ctor_set(x_333, 1, x_332); +x_334 = lean_alloc_ctor(7, 2, 0); +lean_ctor_set(x_334, 0, x_333); +lean_ctor_set(x_334, 1, x_328); +x_335 = l_Lean_addTrace___at_Lean_Elab_Term_traceAtCmdPos___spec__2(x_318, x_334, x_6, x_7, x_8, x_9, x_10, x_11, x_325); +x_336 = lean_ctor_get(x_335, 0); +lean_inc(x_336); +x_337 = lean_ctor_get(x_335, 1); +lean_inc(x_337); +lean_dec(x_335); +x_338 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__1(x_317, x_4, x_2, x_336, x_6, x_7, x_8, x_9, x_10, x_11, x_337); +lean_dec(x_336); +return x_338; } } } @@ -6823,7 +7650,7 @@ x_20 = l_Lean_indentExpr(x_12); x_21 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); -x_22 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_22 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_23 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_23, 0, x_21); lean_ctor_set(x_23, 1, x_22); @@ -6866,7 +7693,7 @@ x_35 = l_Lean_indentExpr(x_26); x_36 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_36, 0, x_34); lean_ctor_set(x_36, 1, x_35); -x_37 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_37 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_38 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_38, 0, x_36); lean_ctor_set(x_38, 1, x_37); @@ -7148,7 +7975,7 @@ x_56 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructNa x_57 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_57, 0, x_56); lean_ctor_set(x_57, 1, x_55); -x_58 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_58 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_59 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_59, 0, x_57); lean_ctor_set(x_59, 1, x_58); @@ -7211,7 +8038,7 @@ x_70 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructNa x_71 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_71, 0, x_70); lean_ctor_set(x_71, 1, x_69); -x_72 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_72 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_73 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_73, 0, x_71); lean_ctor_set(x_73, 1, x_72); @@ -7359,7 +8186,7 @@ x_103 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructN x_104 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_104, 0, x_103); lean_ctor_set(x_104, 1, x_102); -x_105 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_105 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_106 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_106, 0, x_104); lean_ctor_set(x_106, 1, x_105); @@ -9023,22 +9850,14 @@ return x_2; static lean_object* _init_l_Lean_Elab_Term_StructInst_formatField___closed__3() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked(" := ", 4, 4); -return x_1; -} -} -static lean_object* _init_l_Lean_Elab_Term_StructInst_formatField___closed__4() { -_start: -{ lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Term_StructInst_formatField___closed__3; +x_1 = l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__5; x_2 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_formatField___closed__5() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_formatField___closed__4() { _start: { lean_object* x_1; @@ -9046,11 +9865,11 @@ x_1 = lean_mk_string_unchecked("", 9, 9); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_formatField___closed__6() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_formatField___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Term_StructInst_formatField___closed__5; +x_1 = l_Lean_Elab_Term_StructInst_formatField___closed__4; x_2 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; @@ -9064,7 +9883,7 @@ x_3 = lean_ctor_get(x_2, 1); lean_inc(x_3); x_4 = l_Lean_Elab_Term_StructInst_formatField___closed__2; x_5 = l_Std_Format_joinSep___at_Lean_Elab_Term_StructInst_formatField___spec__1(x_3, x_4); -x_6 = l_Lean_Elab_Term_StructInst_formatField___closed__4; +x_6 = l_Lean_Elab_Term_StructInst_formatField___closed__3; x_7 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_7, 0, x_5); lean_ctor_set(x_7, 1, x_6); @@ -9101,7 +9920,7 @@ return x_14; { lean_object* x_15; lean_object* x_16; lean_dec(x_1); -x_15 = l_Lean_Elab_Term_StructInst_formatField___closed__6; +x_15 = l_Lean_Elab_Term_StructInst_formatField___closed__5; x_16 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_16, 0, x_7); lean_ctor_set(x_16, 1, x_15); @@ -9318,18 +10137,26 @@ return x_2; static lean_object* _init_l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__3() { _start: { +lean_object* x_1; +x_1 = lean_mk_string_unchecked(",", 1, 1); +return x_1; +} +} +static lean_object* _init_l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__4() { +_start: +{ lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__8; +x_1 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__3; x_2 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__4() { +static lean_object* _init_l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__3; +x_1 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__4; x_2 = lean_box(1); x_3 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -9337,7 +10164,7 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__5() { +static lean_object* _init_l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__6() { _start: { lean_object* x_1; lean_object* x_2; @@ -9346,11 +10173,11 @@ x_2 = lean_string_length(x_1); return x_2; } } -static lean_object* _init_l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__6() { +static lean_object* _init_l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__7() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__5; +x_1 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__6; x_2 = lean_nat_to_int(x_1); return x_2; } @@ -9367,7 +10194,7 @@ return x_2; else { lean_object* x_3; lean_object* x_4; uint8_t x_5; -x_3 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__4; +x_3 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__5; lean_inc(x_1); x_4 = l_Std_Format_joinSep___at_Lean_Elab_Term_StructInst_formatStruct___spec__4(x_1, x_3); x_5 = !lean_is_exclusive(x_1); @@ -9386,7 +10213,7 @@ x_9 = l_Lean_Elab_Term_StructInst_instToFormatFieldLHS___closed__5; x_10 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_10, 0, x_1); lean_ctor_set(x_10, 1, x_9); -x_11 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__6; +x_11 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__7; x_12 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_12, 0, x_11); lean_ctor_set(x_12, 1, x_10); @@ -9408,7 +10235,7 @@ x_17 = l_Lean_Elab_Term_StructInst_instToFormatFieldLHS___closed__5; x_18 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_18, 0, x_16); lean_ctor_set(x_18, 1, x_17); -x_19 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__6; +x_19 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__7; x_20 = lean_alloc_ctor(4, 2, 0); lean_ctor_set(x_20, 0, x_19); lean_ctor_set(x_20, 1, x_18); @@ -9425,7 +10252,7 @@ static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__1() _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1; +x_1 = l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1; x_2 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; @@ -9434,14 +10261,22 @@ return x_2; static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__2() { _start: { +lean_object* x_1; +x_1 = lean_mk_string_unchecked("{", 1, 1); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__3() { +_start: +{ lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__7; +x_1 = l_Lean_Elab_Term_StructInst_formatStruct___closed__2; x_2 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__3() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__4() { _start: { lean_object* x_1; @@ -9449,17 +10284,17 @@ x_1 = lean_mk_string_unchecked("#", 1, 1); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__4() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Term_StructInst_formatStruct___closed__3; +x_1 = l_Lean_Elab_Term_StructInst_formatStruct___closed__4; x_2 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__5() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__6() { _start: { lean_object* x_1; @@ -9467,37 +10302,45 @@ x_1 = lean_mk_string_unchecked(" with ", 6, 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__6() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__7() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Term_StructInst_formatStruct___closed__5; +x_1 = l_Lean_Elab_Term_StructInst_formatStruct___closed__6; x_2 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__7() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__21; +x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__16; x_2 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__8() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__9() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("}", 1, 1); +return x_1; +} +} +static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__10() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__9; +x_1 = l_Lean_Elab_Term_StructInst_formatStruct___closed__9; x_2 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__9() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__11() { _start: { lean_object* x_1; @@ -9505,11 +10348,11 @@ x_1 = lean_mk_string_unchecked(" .. ", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__10() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__12() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Elab_Term_StructInst_formatStruct___closed__9; +x_1 = l_Lean_Elab_Term_StructInst_formatStruct___closed__11; x_2 = lean_alloc_ctor(3, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; @@ -9544,26 +10387,26 @@ x_12 = 0; x_13 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_formatStruct___spec__2(x_11, x_12, x_9); x_14 = lean_array_to_list(x_13); x_15 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3(x_14); -x_16 = l_Lean_Elab_Term_StructInst_formatStruct___closed__4; +x_16 = l_Lean_Elab_Term_StructInst_formatStruct___closed__5; x_17 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_17, 0, x_16); lean_ctor_set(x_17, 1, x_15); -x_18 = l_Lean_Elab_Term_StructInst_formatStruct___closed__2; +x_18 = l_Lean_Elab_Term_StructInst_formatStruct___closed__3; x_19 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_19, 0, x_18); lean_ctor_set(x_19, 1, x_17); -x_20 = l_Lean_Elab_Term_StructInst_formatStruct___closed__6; +x_20 = l_Lean_Elab_Term_StructInst_formatStruct___closed__7; x_21 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_21, 0, x_19); lean_ctor_set(x_21, 1, x_20); x_22 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_22, 0, x_21); lean_ctor_set(x_22, 1, x_7); -x_23 = l_Lean_Elab_Term_StructInst_formatStruct___closed__7; +x_23 = l_Lean_Elab_Term_StructInst_formatStruct___closed__8; x_24 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_24, 0, x_22); lean_ctor_set(x_24, 1, x_23); -x_25 = l_Lean_Elab_Term_StructInst_formatStruct___closed__8; +x_25 = l_Lean_Elab_Term_StructInst_formatStruct___closed__10; x_26 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_26, 0, x_24); lean_ctor_set(x_26, 1, x_25); @@ -9573,15 +10416,15 @@ else { lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_dec(x_9); -x_27 = l_Lean_Elab_Term_StructInst_formatStruct___closed__2; +x_27 = l_Lean_Elab_Term_StructInst_formatStruct___closed__3; x_28 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_28, 0, x_27); lean_ctor_set(x_28, 1, x_7); -x_29 = l_Lean_Elab_Term_StructInst_formatStruct___closed__7; +x_29 = l_Lean_Elab_Term_StructInst_formatStruct___closed__8; x_30 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_30, 0, x_28); lean_ctor_set(x_30, 1, x_29); -x_31 = l_Lean_Elab_Term_StructInst_formatStruct___closed__8; +x_31 = l_Lean_Elab_Term_StructInst_formatStruct___closed__10; x_32 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_32, 0, x_30); lean_ctor_set(x_32, 1, x_31); @@ -9599,26 +10442,26 @@ x_34 = 0; x_35 = l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_formatStruct___spec__2(x_33, x_34, x_9); x_36 = lean_array_to_list(x_35); x_37 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3(x_36); -x_38 = l_Lean_Elab_Term_StructInst_formatStruct___closed__4; +x_38 = l_Lean_Elab_Term_StructInst_formatStruct___closed__5; x_39 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_39, 0, x_38); lean_ctor_set(x_39, 1, x_37); -x_40 = l_Lean_Elab_Term_StructInst_formatStruct___closed__2; +x_40 = l_Lean_Elab_Term_StructInst_formatStruct___closed__3; x_41 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_41, 0, x_40); lean_ctor_set(x_41, 1, x_39); -x_42 = l_Lean_Elab_Term_StructInst_formatStruct___closed__6; +x_42 = l_Lean_Elab_Term_StructInst_formatStruct___closed__7; x_43 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_43, 0, x_41); lean_ctor_set(x_43, 1, x_42); x_44 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_44, 0, x_43); lean_ctor_set(x_44, 1, x_7); -x_45 = l_Lean_Elab_Term_StructInst_formatStruct___closed__10; +x_45 = l_Lean_Elab_Term_StructInst_formatStruct___closed__12; x_46 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_46, 0, x_44); lean_ctor_set(x_46, 1, x_45); -x_47 = l_Lean_Elab_Term_StructInst_formatStruct___closed__8; +x_47 = l_Lean_Elab_Term_StructInst_formatStruct___closed__10; x_48 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_48, 0, x_46); lean_ctor_set(x_48, 1, x_47); @@ -9628,15 +10471,15 @@ else { lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_dec(x_9); -x_49 = l_Lean_Elab_Term_StructInst_formatStruct___closed__2; +x_49 = l_Lean_Elab_Term_StructInst_formatStruct___closed__3; x_50 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_50, 0, x_49); lean_ctor_set(x_50, 1, x_7); -x_51 = l_Lean_Elab_Term_StructInst_formatStruct___closed__10; +x_51 = l_Lean_Elab_Term_StructInst_formatStruct___closed__12; x_52 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_52, 0, x_50); lean_ctor_set(x_52, 1, x_51); -x_53 = l_Lean_Elab_Term_StructInst_formatStruct___closed__8; +x_53 = l_Lean_Elab_Term_StructInst_formatStruct___closed__10; x_54 = lean_alloc_ctor(5, 2, 0); lean_ctor_set(x_54, 0, x_52); lean_ctor_set(x_54, 1, x_53); @@ -9938,7 +10781,7 @@ static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Str lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__1; x_2 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldVal_toSyntax___closed__1; -x_3 = lean_unsigned_to_nat(407u); +x_3 = lean_unsigned_to_nat(480u); x_4 = lean_unsigned_to_nat(17u); x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -10013,7 +10856,7 @@ static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Str lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__1; x_2 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_Field_toSyntax___closed__1; -x_3 = lean_unsigned_to_nat(418u); +x_3 = lean_unsigned_to_nat(491u); x_4 = lean_unsigned_to_nat(11u); x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -10040,89 +10883,99 @@ uint8_t x_5; x_5 = !lean_is_exclusive(x_2); if (x_5 == 0) { -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; uint8_t x_13; lean_object* x_14; lean_object* x_15; size_t x_16; size_t x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; uint8_t x_18; lean_object* x_19; lean_object* x_20; size_t x_21; size_t x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; x_6 = lean_ctor_get(x_2, 0); x_7 = lean_ctor_get(x_2, 1); x_8 = lean_ctor_get(x_1, 0); lean_inc(x_8); -x_9 = lean_ctor_get(x_1, 2); -lean_inc(x_9); -lean_dec(x_1); -x_10 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldVal_toSyntax(x_9); -lean_dec(x_9); +x_9 = lean_unsigned_to_nat(1u); +x_10 = l_Lean_Syntax_getArg(x_8, x_9); x_11 = lean_unsigned_to_nat(2u); -x_12 = l_Lean_Syntax_setArg(x_8, x_11, x_10); -x_13 = 1; -x_14 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldLHS_toSyntax(x_13, x_6); -x_15 = lean_array_mk(x_7); -x_16 = lean_array_size(x_15); -x_17 = 0; -x_18 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_Field_toSyntax___spec__1(x_16, x_17, x_15); -x_19 = lean_box(2); -x_20 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; -x_21 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_21, 0, x_19); -lean_ctor_set(x_21, 1, x_20); -lean_ctor_set(x_21, 2, x_18); -x_22 = lean_box(0); -lean_ctor_set(x_2, 1, x_22); -lean_ctor_set(x_2, 0, x_21); -x_23 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_23, 0, x_14); -lean_ctor_set(x_23, 1, x_2); -x_24 = lean_array_mk(x_23); -x_25 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_25, 0, x_19); -lean_ctor_set(x_25, 1, x_20); -lean_ctor_set(x_25, 2, x_24); -x_26 = lean_unsigned_to_nat(0u); -x_27 = l_Lean_Syntax_setArg(x_12, x_26, x_25); -return x_27; +x_12 = l_Lean_Syntax_getArg(x_10, x_11); +x_13 = lean_ctor_get(x_1, 2); +lean_inc(x_13); +lean_dec(x_1); +x_14 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldVal_toSyntax(x_13); +lean_dec(x_13); +x_15 = l_Lean_Syntax_setArg(x_12, x_9, x_14); +x_16 = l_Lean_Syntax_setArg(x_10, x_11, x_15); +x_17 = l_Lean_Syntax_setArg(x_8, x_9, x_16); +x_18 = 1; +x_19 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldLHS_toSyntax(x_18, x_6); +x_20 = lean_array_mk(x_7); +x_21 = lean_array_size(x_20); +x_22 = 0; +x_23 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_Field_toSyntax___spec__1(x_21, x_22, x_20); +x_24 = lean_box(2); +x_25 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; +x_26 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_26, 0, x_24); +lean_ctor_set(x_26, 1, x_25); +lean_ctor_set(x_26, 2, x_23); +x_27 = lean_box(0); +lean_ctor_set(x_2, 1, x_27); +lean_ctor_set(x_2, 0, x_26); +x_28 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_28, 0, x_19); +lean_ctor_set(x_28, 1, x_2); +x_29 = lean_array_mk(x_28); +x_30 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_30, 0, x_24); +lean_ctor_set(x_30, 1, x_25); +lean_ctor_set(x_30, 2, x_29); +x_31 = lean_unsigned_to_nat(0u); +x_32 = l_Lean_Syntax_setArg(x_17, x_31, x_30); +return x_32; } 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; uint8_t x_35; lean_object* x_36; lean_object* x_37; size_t x_38; size_t 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; -x_28 = lean_ctor_get(x_2, 0); -x_29 = lean_ctor_get(x_2, 1); -lean_inc(x_29); -lean_inc(x_28); +lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; uint8_t x_45; lean_object* x_46; lean_object* x_47; size_t x_48; size_t x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60; +x_33 = lean_ctor_get(x_2, 0); +x_34 = lean_ctor_get(x_2, 1); +lean_inc(x_34); +lean_inc(x_33); lean_dec(x_2); -x_30 = lean_ctor_get(x_1, 0); -lean_inc(x_30); -x_31 = lean_ctor_get(x_1, 2); -lean_inc(x_31); +x_35 = lean_ctor_get(x_1, 0); +lean_inc(x_35); +x_36 = lean_unsigned_to_nat(1u); +x_37 = l_Lean_Syntax_getArg(x_35, x_36); +x_38 = lean_unsigned_to_nat(2u); +x_39 = l_Lean_Syntax_getArg(x_37, x_38); +x_40 = lean_ctor_get(x_1, 2); +lean_inc(x_40); lean_dec(x_1); -x_32 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldVal_toSyntax(x_31); -lean_dec(x_31); -x_33 = lean_unsigned_to_nat(2u); -x_34 = l_Lean_Syntax_setArg(x_30, x_33, x_32); -x_35 = 1; -x_36 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldLHS_toSyntax(x_35, x_28); -x_37 = lean_array_mk(x_29); -x_38 = lean_array_size(x_37); -x_39 = 0; -x_40 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_Field_toSyntax___spec__1(x_38, x_39, x_37); -x_41 = lean_box(2); -x_42 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; -x_43 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_43, 0, x_41); -lean_ctor_set(x_43, 1, x_42); -lean_ctor_set(x_43, 2, x_40); -x_44 = lean_box(0); -x_45 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_45, 0, x_43); -lean_ctor_set(x_45, 1, x_44); -x_46 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_46, 0, x_36); -lean_ctor_set(x_46, 1, x_45); -x_47 = lean_array_mk(x_46); -x_48 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_48, 0, x_41); -lean_ctor_set(x_48, 1, x_42); -lean_ctor_set(x_48, 2, x_47); -x_49 = lean_unsigned_to_nat(0u); -x_50 = l_Lean_Syntax_setArg(x_34, x_49, x_48); -return x_50; +x_41 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldVal_toSyntax(x_40); +lean_dec(x_40); +x_42 = l_Lean_Syntax_setArg(x_39, x_36, x_41); +x_43 = l_Lean_Syntax_setArg(x_37, x_38, x_42); +x_44 = l_Lean_Syntax_setArg(x_35, x_36, x_43); +x_45 = 1; +x_46 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_FieldLHS_toSyntax(x_45, x_33); +x_47 = lean_array_mk(x_34); +x_48 = lean_array_size(x_47); +x_49 = 0; +x_50 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_Field_toSyntax___spec__1(x_48, x_49, x_47); +x_51 = lean_box(2); +x_52 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__3; +x_53 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_53, 0, x_51); +lean_ctor_set(x_53, 1, x_52); +lean_ctor_set(x_53, 2, x_50); +x_54 = lean_box(0); +x_55 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_55, 0, x_53); +lean_ctor_set(x_55, 1, x_54); +x_56 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_56, 0, x_46); +lean_ctor_set(x_56, 1, x_55); +x_57 = lean_array_mk(x_56); +x_58 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_58, 0, x_51); +lean_ctor_set(x_58, 1, x_52); +lean_ctor_set(x_58, 2, x_57); +x_59 = lean_unsigned_to_nat(0u); +x_60 = l_Lean_Syntax_setArg(x_44, x_59, x_58); +return x_60; } } } @@ -10172,14 +11025,15 @@ x_10 = l_Lean_Syntax_isFieldIdx_x3f(x_1); if (lean_obj_tag(x_10) == 0) { lean_object* x_11; lean_object* x_12; -lean_dec(x_1); x_11 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS___closed__1; -x_12 = l_Lean_Macro_throwError___rarg(x_11, x_2, x_3); +x_12 = l_Lean_Macro_throwErrorAt___rarg(x_1, x_11, x_2, x_3); +lean_dec(x_1); return x_12; } else { lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_dec(x_2); x_13 = lean_ctor_get(x_10, 0); lean_inc(x_13); lean_dec(x_10); @@ -10195,6 +11049,7 @@ return x_15; else { lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; +lean_dec(x_2); x_16 = l_Lean_Syntax_getId(x_1); x_17 = lean_erase_macro_scopes(x_16); x_18 = lean_alloc_ctor(0, 2, 0); @@ -10220,14 +11075,15 @@ x_23 = l_Lean_Syntax_isFieldIdx_x3f(x_21); if (lean_obj_tag(x_23) == 0) { lean_object* x_24; lean_object* x_25; -lean_dec(x_21); x_24 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS___closed__1; -x_25 = l_Lean_Macro_throwError___rarg(x_24, x_2, x_3); +x_25 = l_Lean_Macro_throwErrorAt___rarg(x_21, x_24, x_2, x_3); +lean_dec(x_21); return x_25; } else { lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_dec(x_2); x_26 = lean_ctor_get(x_23, 0); lean_inc(x_26); lean_dec(x_23); @@ -10243,6 +11099,7 @@ return x_28; else { lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; +lean_dec(x_2); x_29 = l_Lean_Syntax_getId(x_21); x_30 = lean_erase_macro_scopes(x_29); x_31 = lean_alloc_ctor(0, 2, 0); @@ -10259,6 +11116,7 @@ else { lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_dec(x_4); +lean_dec(x_2); x_33 = lean_unsigned_to_nat(1u); x_34 = l_Lean_Syntax_getArg(x_1, x_33); x_35 = lean_alloc_ctor(2, 2, 0); @@ -10271,21 +11129,13 @@ return x_36; } } } -LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_1, x_2, x_3); -lean_dec(x_2); -return x_4; -} -} LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { if (lean_obj_tag(x_1) == 0) { lean_object* x_5; lean_object* x_6; +lean_dec(x_3); x_5 = l_List_reverse___rarg(x_2); x_6 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_6, 0, x_5); @@ -10301,6 +11151,7 @@ if (x_7 == 0) lean_object* x_8; lean_object* x_9; lean_object* x_10; x_8 = lean_ctor_get(x_1, 0); x_9 = lean_ctor_get(x_1, 1); +lean_inc(x_3); x_10 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_8, x_3, x_4); if (lean_obj_tag(x_10) == 0) { @@ -10327,6 +11178,7 @@ else uint8_t x_14; lean_free_object(x_1); lean_dec(x_9); +lean_dec(x_3); lean_dec(x_2); x_14 = !lean_is_exclusive(x_10); if (x_14 == 0) @@ -10356,6 +11208,7 @@ x_19 = lean_ctor_get(x_1, 1); lean_inc(x_19); lean_inc(x_18); lean_dec(x_1); +lean_inc(x_3); x_20 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_18, x_3, x_4); if (lean_obj_tag(x_20) == 0) { @@ -10377,6 +11230,7 @@ else { lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_dec(x_19); +lean_dec(x_3); lean_dec(x_2); x_25 = lean_ctor_get(x_20, 0); lean_inc(x_25); @@ -10409,6 +11263,7 @@ LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0_ if (lean_obj_tag(x_1) == 0) { lean_object* x_5; lean_object* x_6; +lean_dec(x_3); x_5 = l_List_reverse___rarg(x_2); x_6 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_6, 0, x_5); @@ -10421,230 +11276,246 @@ uint8_t x_7; x_7 = !lean_is_exclusive(x_1); if (x_7 == 0) { -lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; x_8 = lean_ctor_get(x_1, 0); x_9 = lean_ctor_get(x_1, 1); -x_10 = lean_unsigned_to_nat(2u); +x_10 = lean_unsigned_to_nat(1u); x_11 = l_Lean_Syntax_getArg(x_8, x_10); -x_12 = lean_unsigned_to_nat(0u); -x_13 = l_Lean_Syntax_getArg(x_8, x_12); -x_14 = l_Lean_Syntax_getArg(x_13, x_12); -x_15 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_14, x_3, x_4); -if (lean_obj_tag(x_15) == 0) -{ -lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; -x_16 = lean_ctor_get(x_15, 0); -lean_inc(x_16); -x_17 = lean_ctor_get(x_15, 1); -lean_inc(x_17); -lean_dec(x_15); -x_18 = lean_unsigned_to_nat(1u); -x_19 = l_Lean_Syntax_getArg(x_13, x_18); +x_12 = lean_unsigned_to_nat(2u); +x_13 = l_Lean_Syntax_getArg(x_11, x_12); +lean_dec(x_11); +x_14 = l_Lean_Syntax_getArg(x_13, x_10); lean_dec(x_13); -x_20 = l_Lean_Syntax_getArgs(x_19); -lean_dec(x_19); -x_21 = lean_array_to_list(x_20); -x_22 = lean_box(0); -x_23 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_21, x_22, x_3, x_17); -if (lean_obj_tag(x_23) == 0) +x_15 = lean_unsigned_to_nat(0u); +x_16 = l_Lean_Syntax_getArg(x_8, x_15); +x_17 = l_Lean_Syntax_getArg(x_16, x_15); +lean_inc(x_3); +x_18 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_17, x_3, x_4); +if (lean_obj_tag(x_18) == 0) { -lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; -x_24 = lean_ctor_get(x_23, 0); -lean_inc(x_24); -x_25 = lean_ctor_get(x_23, 1); -lean_inc(x_25); -lean_dec(x_23); -lean_ctor_set(x_1, 1, x_24); -lean_ctor_set(x_1, 0, x_16); -x_26 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_26, 0, x_11); -x_27 = lean_box(0); -x_28 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_28, 0, x_8); -lean_ctor_set(x_28, 1, x_1); -lean_ctor_set(x_28, 2, x_26); -lean_ctor_set(x_28, 3, x_27); -x_29 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_29, 0, x_28); -lean_ctor_set(x_29, 1, x_2); +lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; +x_19 = lean_ctor_get(x_18, 0); +lean_inc(x_19); +x_20 = lean_ctor_get(x_18, 1); +lean_inc(x_20); +lean_dec(x_18); +x_21 = l_Lean_Syntax_getArg(x_16, x_10); +lean_dec(x_16); +x_22 = l_Lean_Syntax_getArgs(x_21); +lean_dec(x_21); +x_23 = lean_array_to_list(x_22); +x_24 = lean_box(0); +lean_inc(x_3); +x_25 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_23, x_24, x_3, x_20); +if (lean_obj_tag(x_25) == 0) +{ +lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; +x_26 = lean_ctor_get(x_25, 0); +lean_inc(x_26); +x_27 = lean_ctor_get(x_25, 1); +lean_inc(x_27); +lean_dec(x_25); +lean_ctor_set(x_1, 1, x_26); +lean_ctor_set(x_1, 0, x_19); +x_28 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_28, 0, x_14); +x_29 = lean_box(0); +x_30 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_30, 0, x_8); +lean_ctor_set(x_30, 1, x_1); +lean_ctor_set(x_30, 2, x_28); +lean_ctor_set(x_30, 3, x_29); +x_31 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_31, 0, x_30); +lean_ctor_set(x_31, 1, x_2); x_1 = x_9; -x_2 = x_29; -x_4 = x_25; +x_2 = x_31; +x_4 = x_27; goto _start; } else { -uint8_t x_31; -lean_dec(x_16); -lean_dec(x_11); +uint8_t x_33; +lean_dec(x_19); +lean_dec(x_14); lean_free_object(x_1); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_3); lean_dec(x_2); -x_31 = !lean_is_exclusive(x_23); -if (x_31 == 0) +x_33 = !lean_is_exclusive(x_25); +if (x_33 == 0) { -return x_23; +return x_25; } else { -lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_32 = lean_ctor_get(x_23, 0); -x_33 = lean_ctor_get(x_23, 1); -lean_inc(x_33); -lean_inc(x_32); -lean_dec(x_23); -x_34 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_34, 0, x_32); -lean_ctor_set(x_34, 1, x_33); -return x_34; +lean_object* x_34; lean_object* x_35; lean_object* x_36; +x_34 = lean_ctor_get(x_25, 0); +x_35 = lean_ctor_get(x_25, 1); +lean_inc(x_35); +lean_inc(x_34); +lean_dec(x_25); +x_36 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +return x_36; } } } else { -uint8_t x_35; -lean_dec(x_13); -lean_dec(x_11); +uint8_t x_37; +lean_dec(x_16); +lean_dec(x_14); lean_free_object(x_1); lean_dec(x_9); lean_dec(x_8); +lean_dec(x_3); lean_dec(x_2); -x_35 = !lean_is_exclusive(x_15); -if (x_35 == 0) +x_37 = !lean_is_exclusive(x_18); +if (x_37 == 0) { -return x_15; +return x_18; } else { -lean_object* x_36; lean_object* x_37; lean_object* x_38; -x_36 = lean_ctor_get(x_15, 0); -x_37 = lean_ctor_get(x_15, 1); -lean_inc(x_37); -lean_inc(x_36); -lean_dec(x_15); -x_38 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_38, 0, x_36); -lean_ctor_set(x_38, 1, x_37); -return x_38; +lean_object* x_38; lean_object* x_39; lean_object* x_40; +x_38 = lean_ctor_get(x_18, 0); +x_39 = lean_ctor_get(x_18, 1); +lean_inc(x_39); +lean_inc(x_38); +lean_dec(x_18); +x_40 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_40, 0, x_38); +lean_ctor_set(x_40, 1, x_39); +return x_40; } } } else { -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; -x_39 = lean_ctor_get(x_1, 0); -x_40 = lean_ctor_get(x_1, 1); -lean_inc(x_40); -lean_inc(x_39); +lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; +x_41 = lean_ctor_get(x_1, 0); +x_42 = lean_ctor_get(x_1, 1); +lean_inc(x_42); +lean_inc(x_41); lean_dec(x_1); -x_41 = lean_unsigned_to_nat(2u); -x_42 = l_Lean_Syntax_getArg(x_39, x_41); -x_43 = lean_unsigned_to_nat(0u); -x_44 = l_Lean_Syntax_getArg(x_39, x_43); -x_45 = l_Lean_Syntax_getArg(x_44, x_43); -x_46 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_45, x_3, x_4); -if (lean_obj_tag(x_46) == 0) -{ -lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; -x_47 = lean_ctor_get(x_46, 0); -lean_inc(x_47); -x_48 = lean_ctor_get(x_46, 1); -lean_inc(x_48); -lean_dec(x_46); -x_49 = lean_unsigned_to_nat(1u); -x_50 = l_Lean_Syntax_getArg(x_44, x_49); +x_43 = lean_unsigned_to_nat(1u); +x_44 = l_Lean_Syntax_getArg(x_41, x_43); +x_45 = lean_unsigned_to_nat(2u); +x_46 = l_Lean_Syntax_getArg(x_44, x_45); lean_dec(x_44); -x_51 = l_Lean_Syntax_getArgs(x_50); -lean_dec(x_50); -x_52 = lean_array_to_list(x_51); -x_53 = lean_box(0); -x_54 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_52, x_53, x_3, x_48); -if (lean_obj_tag(x_54) == 0) +x_47 = l_Lean_Syntax_getArg(x_46, x_43); +lean_dec(x_46); +x_48 = lean_unsigned_to_nat(0u); +x_49 = l_Lean_Syntax_getArg(x_41, x_48); +x_50 = l_Lean_Syntax_getArg(x_49, x_48); +lean_inc(x_3); +x_51 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_toFieldLHS(x_50, x_3, x_4); +if (lean_obj_tag(x_51) == 0) { -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; -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_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; +x_52 = lean_ctor_get(x_51, 0); +lean_inc(x_52); +x_53 = lean_ctor_get(x_51, 1); +lean_inc(x_53); +lean_dec(x_51); +x_54 = l_Lean_Syntax_getArg(x_49, x_43); +lean_dec(x_49); +x_55 = l_Lean_Syntax_getArgs(x_54); lean_dec(x_54); -x_57 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_57, 0, x_47); -lean_ctor_set(x_57, 1, x_55); -x_58 = lean_alloc_ctor(0, 1, 0); -lean_ctor_set(x_58, 0, x_42); -x_59 = lean_box(0); -x_60 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_60, 0, x_39); -lean_ctor_set(x_60, 1, x_57); -lean_ctor_set(x_60, 2, x_58); -lean_ctor_set(x_60, 3, x_59); +x_56 = lean_array_to_list(x_55); +x_57 = lean_box(0); +lean_inc(x_3); +x_58 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_56, x_57, x_3, x_53); +if (lean_obj_tag(x_58) == 0) +{ +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_59 = lean_ctor_get(x_58, 0); +lean_inc(x_59); +x_60 = lean_ctor_get(x_58, 1); +lean_inc(x_60); +lean_dec(x_58); x_61 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_61, 0, x_60); -lean_ctor_set(x_61, 1, x_2); -x_1 = x_40; -x_2 = x_61; -x_4 = x_56; +lean_ctor_set(x_61, 0, x_52); +lean_ctor_set(x_61, 1, x_59); +x_62 = lean_alloc_ctor(0, 1, 0); +lean_ctor_set(x_62, 0, x_47); +x_63 = lean_box(0); +x_64 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_64, 0, x_41); +lean_ctor_set(x_64, 1, x_61); +lean_ctor_set(x_64, 2, x_62); +lean_ctor_set(x_64, 3, x_63); +x_65 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_65, 0, x_64); +lean_ctor_set(x_65, 1, x_2); +x_1 = x_42; +x_2 = x_65; +x_4 = x_60; goto _start; } 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_dec(x_52); lean_dec(x_47); lean_dec(x_42); -lean_dec(x_40); -lean_dec(x_39); +lean_dec(x_41); +lean_dec(x_3); lean_dec(x_2); -x_63 = lean_ctor_get(x_54, 0); -lean_inc(x_63); -x_64 = lean_ctor_get(x_54, 1); -lean_inc(x_64); -if (lean_is_exclusive(x_54)) { - lean_ctor_release(x_54, 0); - lean_ctor_release(x_54, 1); - x_65 = x_54; +x_67 = lean_ctor_get(x_58, 0); +lean_inc(x_67); +x_68 = lean_ctor_get(x_58, 1); +lean_inc(x_68); +if (lean_is_exclusive(x_58)) { + lean_ctor_release(x_58, 0); + lean_ctor_release(x_58, 1); + x_69 = x_58; } else { - lean_dec_ref(x_54); - x_65 = lean_box(0); + lean_dec_ref(x_58); + x_69 = lean_box(0); } -if (lean_is_scalar(x_65)) { - x_66 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_69)) { + x_70 = lean_alloc_ctor(1, 2, 0); } else { - x_66 = x_65; + x_70 = x_69; } -lean_ctor_set(x_66, 0, x_63); -lean_ctor_set(x_66, 1, x_64); -return x_66; +lean_ctor_set(x_70, 0, x_67); +lean_ctor_set(x_70, 1, x_68); +return x_70; } } else { -lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; -lean_dec(x_44); +lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; +lean_dec(x_49); +lean_dec(x_47); lean_dec(x_42); -lean_dec(x_40); -lean_dec(x_39); +lean_dec(x_41); +lean_dec(x_3); lean_dec(x_2); -x_67 = lean_ctor_get(x_46, 0); -lean_inc(x_67); -x_68 = lean_ctor_get(x_46, 1); -lean_inc(x_68); -if (lean_is_exclusive(x_46)) { - lean_ctor_release(x_46, 0); - lean_ctor_release(x_46, 1); - x_69 = x_46; +x_71 = lean_ctor_get(x_51, 0); +lean_inc(x_71); +x_72 = lean_ctor_get(x_51, 1); +lean_inc(x_72); +if (lean_is_exclusive(x_51)) { + lean_ctor_release(x_51, 0); + lean_ctor_release(x_51, 1); + x_73 = x_51; } else { - lean_dec_ref(x_46); - x_69 = lean_box(0); + lean_dec_ref(x_51); + x_73 = lean_box(0); } -if (lean_is_scalar(x_69)) { - x_70 = lean_alloc_ctor(1, 2, 0); +if (lean_is_scalar(x_73)) { + x_74 = lean_alloc_ctor(1, 2, 0); } else { - x_70 = x_69; + x_74 = x_73; } -lean_ctor_set(x_70, 0, x_67); -lean_ctor_set(x_70, 1, x_68); -return x_70; +lean_ctor_set(x_74, 0, x_71); +lean_ctor_set(x_74, 1, x_72); +return x_74; } } } @@ -10672,7 +11543,7 @@ if (x_14 == 0) { lean_object* x_15; lean_object* x_16; lean_object* x_17; x_15 = lean_ctor_get(x_13, 0); -x_16 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_16 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_17 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_17, 0, x_1); lean_ctor_set(x_17, 1, x_2); @@ -10690,7 +11561,7 @@ x_19 = lean_ctor_get(x_13, 1); lean_inc(x_19); lean_inc(x_18); lean_dec(x_13); -x_20 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_20 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_21 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_21, 0, x_1); lean_ctor_set(x_21, 1, x_2); @@ -10730,33 +11601,6 @@ return x_26; } } } -LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1___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_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__1(x_1, x_2, x_3, x_4); -lean_dec(x_3); -return x_5; -} -} -LEAN_EXPORT lean_object* l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { -_start: -{ -lean_object* x_5; -x_5 = l_List_mapM_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___spec__2(x_1, x_2, x_3, x_4); -lean_dec(x_3); -return x_5; -} -} -LEAN_EXPORT lean_object* l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___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_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView(x_1, x_2, x_3, x_4, x_5); -lean_dec(x_4); -return x_6; -} -} LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_StructInstView_modifyFieldsM___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { @@ -12850,7 +13694,7 @@ static lean_object* _init_l_List_mapTR_loop___at___private_Lean_Elab_StructInst_ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__1; x_2 = l_List_mapTR_loop___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandParentFields___spec__2___closed__1; -x_3 = lean_unsigned_to_nat(522u); +x_3 = lean_unsigned_to_nat(599u); x_4 = lean_unsigned_to_nat(28u); x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -14386,7 +15230,7 @@ static lean_object* _init_l_List_foldlM___at___private_Lean_Elab_StructInst_0__L lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__1; x_2 = l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkFieldMap___spec__10___closed__1; -x_3 = lean_unsigned_to_nat(545u); +x_3 = lean_unsigned_to_nat(622u); x_4 = lean_unsigned_to_nat(11u); x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -16364,7 +17208,7 @@ if (x_12 == 0) { lean_object* x_13; lean_object* x_14; lean_dec(x_1); -x_13 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_13 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_14 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_14, 0, x_13); lean_ctor_set(x_14, 1, x_11); @@ -16380,7 +17224,7 @@ if (x_16 == 0) { lean_object* x_17; lean_object* x_18; lean_dec(x_1); -x_17 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_17 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_18 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_18, 0, x_17); lean_ctor_set(x_18, 1, x_11); @@ -16391,7 +17235,7 @@ else size_t x_19; size_t x_20; lean_object* x_21; lean_object* x_22; x_19 = lean_usize_of_nat(x_3); x_20 = lean_usize_of_nat(x_4); -x_21 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_21 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_22 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_groupFields___spec__4(x_1, x_2, x_19, x_20, x_21, x_5, x_6, x_7, x_8, x_9, x_10, x_11); return x_22; } @@ -16430,7 +17274,7 @@ static lean_object* _init_l_List_mapM_loop___at___private_Lean_Elab_StructInst_0 { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(2); -x_2 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__8; +x_2 = l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__3; x_3 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -16524,7 +17368,7 @@ x_63 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_63, 0, x_62); lean_ctor_set(x_63, 1, x_22); x_64 = lean_array_mk(x_63); -x_65 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__2; +x_65 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5; x_66 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_66, 0, x_60); lean_ctor_set(x_66, 1, x_65); @@ -16619,7 +17463,7 @@ if (x_93 == 0) { lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; x_94 = lean_ctor_get(x_50, 0); -x_95 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_95 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; lean_inc(x_3); x_96 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_96, 0, x_3); @@ -16738,7 +17582,7 @@ lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; x_121 = lean_ctor_get(x_50, 0); lean_inc(x_121); lean_dec(x_50); -x_122 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_122 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; lean_inc(x_3); x_123 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_123, 0, x_3); @@ -17028,7 +17872,7 @@ x_63 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_63, 0, x_62); lean_ctor_set(x_63, 1, x_22); x_64 = lean_array_mk(x_63); -x_65 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__2; +x_65 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5; x_66 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_66, 0, x_60); lean_ctor_set(x_66, 1, x_65); @@ -17123,7 +17967,7 @@ if (x_93 == 0) { lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; x_94 = lean_ctor_get(x_50, 0); -x_95 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_95 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; lean_inc(x_3); x_96 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_96, 0, x_3); @@ -17242,7 +18086,7 @@ lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; x_121 = lean_ctor_get(x_50, 0); lean_inc(x_121); lean_dec(x_50); -x_122 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_122 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; lean_inc(x_3); x_123 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_123, 0, x_3); @@ -17555,7 +18399,7 @@ x_63 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_63, 0, x_62); lean_ctor_set(x_63, 1, x_22); x_64 = lean_array_mk(x_63); -x_65 = l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__2; +x_65 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5; x_66 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_66, 0, x_60); lean_ctor_set(x_66, 1, x_65); @@ -17650,7 +18494,7 @@ if (x_93 == 0) { lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; x_94 = lean_ctor_get(x_50, 0); -x_95 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_95 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; lean_inc(x_3); x_96 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_96, 0, x_3); @@ -17769,7 +18613,7 @@ lean_object* x_121; lean_object* x_122; lean_object* x_123; lean_object* x_124; x_121 = lean_ctor_get(x_50, 0); lean_inc(x_121); lean_dec(x_50); -x_122 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_122 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; lean_inc(x_3); x_123 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_123, 0, x_3); @@ -18799,7 +19643,7 @@ lean_object* x_224; lean_dec(x_221); lean_dec(x_220); lean_dec(x_88); -x_224 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_224 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_89 = x_224; goto block_219; } @@ -18813,7 +19657,7 @@ lean_object* x_226; lean_dec(x_221); lean_dec(x_220); lean_dec(x_88); -x_226 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_226 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_89 = x_226; goto block_219; } @@ -18823,7 +19667,7 @@ size_t x_227; size_t x_228; lean_object* x_229; lean_object* x_230; x_227 = 0; x_228 = lean_usize_of_nat(x_221); lean_dec(x_221); -x_229 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_229 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_230 = l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_addMissingFields___spec__3(x_2, x_88, x_220, x_227, x_228, x_229); lean_dec(x_220); lean_dec(x_88); @@ -18843,7 +19687,7 @@ if (x_92 == 0) lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_dec(x_89); x_93 = lean_box(0); -x_94 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_94 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; lean_inc(x_4); x_95 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_95, 0, x_4); @@ -18958,7 +19802,7 @@ x_117 = lean_ctor_get(x_114, 1); x_118 = lean_ctor_get(x_114, 0); lean_dec(x_118); x_119 = lean_box(0); -x_120 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_120 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; lean_inc(x_4); x_121 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_121, 0, x_4); @@ -19051,7 +19895,7 @@ x_133 = lean_ctor_get(x_114, 1); lean_inc(x_133); lean_dec(x_114); x_134 = lean_box(0); -x_135 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_135 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; lean_inc(x_4); x_136 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_136, 0, x_4); @@ -19320,7 +20164,7 @@ if (lean_is_exclusive(x_181)) { x_184 = lean_box(0); } x_185 = lean_box(0); -x_186 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_186 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; lean_inc(x_4); x_187 = lean_alloc_ctor(0, 5, 0); lean_ctor_set(x_187, 0, x_4); @@ -21021,7 +21865,7 @@ lean_inc(x_22); lean_dec(x_20); x_23 = lean_ctor_get(x_1, 3); lean_inc(x_23); -x_24 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_24 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; lean_inc(x_8); lean_inc(x_7); lean_inc(x_6); @@ -21341,7 +22185,7 @@ static lean_object* _init_l_Lean_Elab_Term_StructInst_throwFailedToElabField___r _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1; +x_1 = l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1; x_2 = l_Lean_stringToMessageData(x_1); return x_2; } @@ -21370,7 +22214,7 @@ lean_ctor_set(x_19, 1, x_18); x_20 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_20, 0, x_19); lean_ctor_set(x_20, 1, x_3); -x_21 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_21 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_22 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_22, 0, x_20); lean_ctor_set(x_22, 1, x_21); @@ -25170,7 +26014,7 @@ x_877 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkCtorHead x_878 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_878, 0, x_877); lean_ctor_set(x_878, 1, x_876); -x_879 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_879 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_880 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_880, 0, x_878); lean_ctor_set(x_880, 1, x_879); @@ -25251,7 +26095,7 @@ static lean_object* _init_l_List_foldlM___at___private_Lean_Elab_StructInst_0__L { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__3; -x_2 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__4; +x_2 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__6; x_3 = l_Lean_Name_mkStr2(x_1, x_2); return x_3; } @@ -25489,7 +26333,7 @@ x_62 = l_Lean_MessageData_ofExpr(x_38); lean_ctor_set_tag(x_14, 7); lean_ctor_set(x_14, 1, x_62); lean_ctor_set(x_14, 0, x_24); -x_63 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_63 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; lean_ctor_set_tag(x_13, 7); lean_ctor_set(x_13, 1, x_63); lean_ctor_set(x_13, 0, x_14); @@ -25577,7 +26421,7 @@ x_82 = l_Lean_MessageData_ofExpr(x_38); lean_ctor_set_tag(x_14, 7); lean_ctor_set(x_14, 1, x_82); lean_ctor_set(x_14, 0, x_24); -x_83 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_83 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; lean_ctor_set_tag(x_13, 7); lean_ctor_set(x_13, 1, x_83); lean_ctor_set(x_13, 0, x_14); @@ -25817,7 +26661,7 @@ x_129 = l_Lean_MessageData_ofExpr(x_104); lean_ctor_set_tag(x_14, 7); lean_ctor_set(x_14, 1, x_129); lean_ctor_set(x_14, 0, x_128); -x_130 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_130 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; lean_ctor_set_tag(x_13, 7); lean_ctor_set(x_13, 1, x_130); lean_ctor_set(x_13, 0, x_14); @@ -26073,7 +26917,7 @@ x_177 = l_Lean_MessageData_ofExpr(x_152); x_178 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_178, 0, x_176); lean_ctor_set(x_178, 1, x_177); -x_179 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_179 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; lean_ctor_set_tag(x_13, 7); lean_ctor_set(x_13, 1, x_179); lean_ctor_set(x_13, 0, x_178); @@ -26344,7 +27188,7 @@ if (lean_is_scalar(x_198)) { } lean_ctor_set(x_229, 0, x_227); lean_ctor_set(x_229, 1, x_228); -x_230 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_230 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_231 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_231, 0, x_229); lean_ctor_set(x_231, 1, x_230); @@ -26547,7 +27391,7 @@ static lean_object* _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_Str { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_2 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -28651,7 +29495,7 @@ lean_inc(x_6); lean_dec(x_5); x_7 = lean_ctor_get(x_1, 1); lean_inc(x_7); -x_8 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_8 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_9 = l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___rarg(x_1, x_2, x_3, x_8); x_10 = lean_alloc_closure((void*)(l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing___rarg___lambda__2), 2, 1); lean_closure_set(x_10, 0, x_4); @@ -28692,7 +29536,7 @@ static lean_object* _init_l_Lean_Elab_Term_StructInst_DefaultFields_getFieldName lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__1; x_2 = l_Lean_Elab_Term_StructInst_DefaultFields_getFieldName___closed__1; -x_3 = lean_unsigned_to_nat(910u); +x_3 = lean_unsigned_to_nat(987u); x_4 = lean_unsigned_to_nat(9u); x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -31997,7 +32841,7 @@ x_84 = l_Lean_indentExpr(x_69); lean_ctor_set_tag(x_22, 7); lean_ctor_set(x_22, 1, x_84); lean_ctor_set(x_22, 0, x_36); -x_85 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_85 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_86 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_86, 0, x_22); lean_ctor_set(x_86, 1, x_85); @@ -32034,7 +32878,7 @@ x_96 = l_Lean_indentExpr(x_69); lean_ctor_set_tag(x_22, 7); lean_ctor_set(x_22, 1, x_96); lean_ctor_set(x_22, 0, x_36); -x_97 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_97 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_98 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_98, 0, x_22); lean_ctor_set(x_98, 1, x_97); @@ -32282,7 +33126,7 @@ x_151 = l_Lean_indentExpr(x_135); lean_ctor_set_tag(x_22, 7); lean_ctor_set(x_22, 1, x_151); lean_ctor_set(x_22, 0, x_150); -x_152 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_152 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_153 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_153, 0, x_22); lean_ctor_set(x_153, 1, x_152); @@ -32621,7 +33465,7 @@ x_224 = l_Lean_indentExpr(x_208); x_225 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_225, 0, x_223); lean_ctor_set(x_225, 1, x_224); -x_226 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_226 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_227 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_227, 0, x_225); lean_ctor_set(x_227, 1, x_226); @@ -32944,7 +33788,7 @@ static lean_object* _init_l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_D lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__1; x_2 = l_List_forIn_x27_loop___at_Lean_Elab_Term_StructInst_DefaultFields_step___spec__3___closed__1; -x_3 = lean_unsigned_to_nat(1065u); +x_3 = lean_unsigned_to_nat(1142u); x_4 = lean_unsigned_to_nat(25u); x_5 = l_Array_mapMUnsafe_map___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_getStructSources___spec__2___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -34674,7 +35518,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMis _start: { lean_object* x_11; lean_object* x_12; -x_11 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_11 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_12 = l_Lean_Elab_Term_StructInst_DefaultFields_allDefaultMissing_go___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__6(x_1, x_11, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10); if (lean_obj_tag(x_12) == 0) { @@ -35064,14 +35908,14 @@ lean_object* x_25; double x_26; uint8_t x_27; lean_object* x_28; lean_object* x_ x_25 = lean_ctor_get(x_18, 0); x_26 = l_Lean_addTrace___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__16___closed__1; x_27 = 0; -x_28 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__21; +x_28 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__16; x_29 = lean_alloc_ctor(0, 2, 17); lean_ctor_set(x_29, 0, x_1); lean_ctor_set(x_29, 1, x_28); lean_ctor_set_float(x_29, sizeof(void*)*2, x_26); lean_ctor_set_float(x_29, sizeof(void*)*2 + 8, x_26); lean_ctor_set_uint8(x_29, sizeof(void*)*2 + 16, x_27); -x_30 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_30 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_31 = lean_alloc_ctor(9, 3, 0); lean_ctor_set(x_31, 0, x_29); lean_ctor_set(x_31, 1, x_14); @@ -35114,14 +35958,14 @@ lean_inc(x_41); lean_dec(x_18); x_42 = l_Lean_addTrace___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__16___closed__1; x_43 = 0; -x_44 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__21; +x_44 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__16; x_45 = lean_alloc_ctor(0, 2, 17); lean_ctor_set(x_45, 0, x_1); lean_ctor_set(x_45, 1, x_44); lean_ctor_set_float(x_45, sizeof(void*)*2, x_42); lean_ctor_set_float(x_45, sizeof(void*)*2 + 8, x_42); lean_ctor_set_uint8(x_45, sizeof(void*)*2 + 16, x_43); -x_46 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_46 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_47 = lean_alloc_ctor(9, 3, 0); lean_ctor_set(x_47, 0, x_45); lean_ctor_set(x_47, 1, x_14); @@ -35186,14 +36030,14 @@ if (lean_is_exclusive(x_18)) { } x_65 = l_Lean_addTrace___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__16___closed__1; x_66 = 0; -x_67 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__21; +x_67 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__16; x_68 = lean_alloc_ctor(0, 2, 17); lean_ctor_set(x_68, 0, x_1); lean_ctor_set(x_68, 1, x_67); lean_ctor_set_float(x_68, sizeof(void*)*2, x_65); lean_ctor_set_float(x_68, sizeof(void*)*2 + 8, x_65); lean_ctor_set_uint8(x_68, sizeof(void*)*2 + 16, x_66); -x_69 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_69 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_70 = lean_alloc_ctor(9, 3, 0); lean_ctor_set(x_70, 0, x_68); lean_ctor_set(x_70, 1, x_14); @@ -35286,14 +36130,14 @@ if (lean_is_exclusive(x_18)) { } x_91 = l_Lean_addTrace___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__16___closed__1; x_92 = 0; -x_93 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__21; +x_93 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__16; x_94 = lean_alloc_ctor(0, 2, 17); lean_ctor_set(x_94, 0, x_1); lean_ctor_set(x_94, 1, x_93); lean_ctor_set_float(x_94, sizeof(void*)*2, x_91); lean_ctor_set_float(x_94, sizeof(void*)*2 + 8, x_91); lean_ctor_set_uint8(x_94, sizeof(void*)*2 + 16, x_92); -x_95 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_95 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_96 = lean_alloc_ctor(9, 3, 0); lean_ctor_set(x_96, 0, x_94); lean_ctor_set(x_96, 1, x_14); @@ -35624,7 +36468,7 @@ lean_object* x_105; lean_dec(x_77); lean_dec(x_76); lean_dec(x_75); -x_105 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_105 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_82 = x_105; goto block_104; } @@ -35638,7 +36482,7 @@ lean_object* x_107; lean_dec(x_77); lean_dec(x_76); lean_dec(x_75); -x_107 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_107 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_82 = x_107; goto block_104; } @@ -35647,7 +36491,7 @@ else size_t x_108; lean_object* x_109; lean_object* x_110; x_108 = lean_usize_of_nat(x_77); lean_dec(x_77); -x_109 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_109 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; x_110 = l_Array_foldlMUnsafe_fold___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__15(x_69, x_75, x_76, x_70, x_69, x_108, x_109); lean_dec(x_76); x_82 = x_110; @@ -35664,7 +36508,7 @@ lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; lean lean_dec(x_70); x_84 = lean_array_to_list(x_82); x_85 = l_List_mapTR_loop___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__12(x_84, x_78); -x_86 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1; +x_86 = l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1; x_87 = l_String_intercalate(x_86, x_85); x_88 = l_Lean_stringToMessageData(x_87); lean_dec(x_87); @@ -35677,7 +36521,7 @@ if (lean_is_scalar(x_74)) { } lean_ctor_set(x_90, 0, x_89); lean_ctor_set(x_90, 1, x_88); -x_91 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_91 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_92 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_92, 0, x_90); lean_ctor_set(x_92, 1, x_91); @@ -35697,7 +36541,7 @@ lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean lean_dec(x_82); x_94 = lean_array_to_list(x_70); x_95 = l_List_mapTR_loop___at_Lean_Elab_Term_StructInst_DefaultFields_propagateLoop___spec__12(x_94, x_78); -x_96 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1; +x_96 = l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1; x_97 = l_String_intercalate(x_96, x_95); x_98 = l_Lean_stringToMessageData(x_97); lean_dec(x_97); @@ -35710,7 +36554,7 @@ if (lean_is_scalar(x_74)) { } lean_ctor_set(x_100, 0, x_99); lean_ctor_set(x_100, 1, x_98); -x_101 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_101 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_102 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_102, 0, x_100); lean_ctor_set(x_102, 1, x_101); @@ -35934,7 +36778,7 @@ x_46 = l_Lean_MessageData_ofFormat(x_45); x_47 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_47, 0, x_44); lean_ctor_set(x_47, 1, x_46); -x_48 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_48 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_49 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_49, 0, x_47); lean_ctor_set(x_49, 1, x_48); @@ -35985,7 +36829,7 @@ x_68 = l_Lean_MessageData_ofFormat(x_67); x_69 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_69, 0, x_66); lean_ctor_set(x_69, 1, x_68); -x_70 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_70 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_71 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_71, 0, x_69); lean_ctor_set(x_71, 1, x_70); @@ -36073,7 +36917,7 @@ x_100 = l_Lean_MessageData_ofFormat(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___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_102 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_103 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_103, 0, x_101); lean_ctor_set(x_103, 1, x_102); @@ -36336,7 +37180,7 @@ LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_DefaultFields_propagate(lea { lean_object* x_9; lean_object* 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; x_9 = l_Lean_Elab_Term_StructInst_DefaultFields_getHierarchyDepth(x_1); -x_10 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1; +x_10 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3; lean_inc(x_1); x_11 = l_Lean_Elab_Term_StructInst_DefaultFields_collectStructNames(x_1, x_10); x_12 = lean_unsigned_to_nat(0u); @@ -37446,7 +38290,7 @@ x_30 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructI lean_ctor_set_tag(x_20, 7); lean_ctor_set(x_20, 1, x_29); lean_ctor_set(x_20, 0, x_30); -x_31 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_31 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_32 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_32, 0, x_20); lean_ctor_set(x_32, 1, x_31); @@ -37473,7 +38317,7 @@ x_39 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructI x_40 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_40, 0, x_39); lean_ctor_set(x_40, 1, x_38); -x_41 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_41 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_42 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_42, 0, x_40); lean_ctor_set(x_42, 1, x_41); @@ -37540,7 +38384,7 @@ lean_inc(x_12); x_13 = lean_ctor_get(x_11, 1); lean_inc(x_13); lean_dec(x_11); -x_14 = lean_alloc_closure((void*)(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView___boxed), 5, 3); +x_14 = lean_alloc_closure((void*)(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_mkStructView), 5, 3); lean_closure_set(x_14, 0, x_1); lean_closure_set(x_14, 1, x_12); lean_closure_set(x_14, 2, x_3); @@ -37599,7 +38443,7 @@ lean_dec(x_30); lean_inc(x_19); x_31 = l_Lean_Elab_Term_StructInst_formatStruct(x_19); x_32 = l_Lean_MessageData_ofFormat(x_31); -x_33 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_33 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; lean_ctor_set_tag(x_22, 7); lean_ctor_set(x_22, 1, x_32); lean_ctor_set(x_22, 0, x_33); @@ -37625,7 +38469,7 @@ lean_dec(x_22); lean_inc(x_19); x_40 = l_Lean_Elab_Term_StructInst_formatStruct(x_19); x_41 = l_Lean_MessageData_ofFormat(x_40); -x_42 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22; +x_42 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__17; x_43 = lean_alloc_ctor(7, 2, 0); lean_ctor_set(x_43, 0, x_42); lean_ctor_set(x_43, 1, x_41); @@ -38276,7 +39120,7 @@ x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__1() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -38286,37 +39130,37 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__2() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__1; +x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__1; x_2 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__3; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__3() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__2; +x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__2; x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__7; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__4() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__3; +x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__3; x_2 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__4; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__5() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__5() { _start: { lean_object* x_1; @@ -38324,17 +39168,17 @@ x_1 = lean_mk_string_unchecked("initFn", 6, 6); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__6() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__4; -x_2 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__5; +x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__4; +x_2 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__5; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__7() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__7() { _start: { lean_object* x_1; @@ -38342,47 +39186,47 @@ x_1 = lean_mk_string_unchecked("_@", 2, 2); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__8() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__6; -x_2 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__7; +x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__6; +x_2 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__7; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__9() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__8; +x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__8; x_2 = l_Lean_Elab_Term_StructInst_expandStructInstExpectedType___closed__5; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__10() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__9; +x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__9; x_2 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__3; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__11() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__10; +x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__10; x_2 = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType__1___closed__4; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__12() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__12() { _start: { lean_object* x_1; @@ -38390,33 +39234,33 @@ x_1 = lean_mk_string_unchecked("_hyg", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__13() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__11; -x_2 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__12; +x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__11; +x_2 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__12; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__14() { +static lean_object* _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__13; -x_2 = lean_unsigned_to_nat(15562u); +x_1 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__13; +x_2 = lean_unsigned_to_nat(16792u); x_3 = l_Lean_Name_num___override(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792_(lean_object* x_1) { _start: { lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; x_2 = l_List_foldlM___at___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabStructInstView___spec__5___closed__3; x_3 = 0; -x_4 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__14; +x_4 = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__14; x_5 = l_Lean_registerTraceClass(x_2, x_3, x_4, x_1); if (lean_obj_tag(x_5) == 0) { @@ -38424,7 +39268,7 @@ lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = lean_ctor_get(x_5, 1); lean_inc(x_6); lean_dec(x_5); -x_7 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__5; +x_7 = l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7; x_8 = l_Lean_registerTraceClass(x_7, x_3, x_4, x_6); return x_8; } @@ -38546,77 +39390,74 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstEx if (builtin) {res = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstExpectedType_declRange__1(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -}l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__1 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__1(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__1); -l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__2 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__2(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__2); -l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__3 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__3(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__3); -l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__4 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__4(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__4); -l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5 = _init_l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5(); -lean_mark_persistent(l_Array_mapMUnsafe_map___at_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___spec__2___closed__5); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__1 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__1); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__2 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__2(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__2); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__3 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__3(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__3); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__4 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__4(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__4); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__5 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__5(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__5); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__6 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__6(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__6); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__7 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__7(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__7); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__8 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__8(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__8); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__9 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__9(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__9); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__10 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__10(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__10); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__11 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__11(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__11); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__12 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__12(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__1___closed__12); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__1 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__1); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__2 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__2(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__2); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__3 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__3(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__3); -l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__4 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__4(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev___lambda__3___closed__4); -l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__1 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__1); -l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__2 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__2); -l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__3 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__3(); -lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1___closed__3); -if (builtin) {res = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_docString__1___closed__1 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_docString__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_docString__1___closed__1); -if (builtin) {res = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_docString__1(lean_io_mk_world()); +}l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__1 = _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__1); +l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__2 = _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__2); +l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__3 = _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__3(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__3); +l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__4 = _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__4(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__4); +l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__5 = _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__5(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__5); +l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__6 = _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__6(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__1___closed__6); +l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__1 = _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__1); +l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__2 = _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__2); +l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__3 = _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__3(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__3); +l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__4 = _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__4(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__4); +l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__5 = _init_l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__5(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_mkStructInstField___lambda__2___closed__5); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__1 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__1); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__2 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__2(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__2); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__3); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__4 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__4(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__4); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__5 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__5(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__5); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__6 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__6(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__6); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__7 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__7(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__7); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__8 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__8(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__8); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__9 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__9(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__9); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__10 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__10(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__10); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__11 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__11(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__11); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__12 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__12(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__12); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__13 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__13(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__13); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__14 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__14(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__14); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__15 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__15(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__15); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__16 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__16(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandStructInstField___closed__16); +l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1 = _init_l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_expandStructInstFields___lambda__1___closed__1); +l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__1 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__1); +l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__2 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__2); +l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__3 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__3(); +lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1___closed__3); +if (builtin) {res = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields__1(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -}l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__1 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__1); -l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__2 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__2); -l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__3 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__3(); -lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__3); -l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__4 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__4(); -lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__4); -l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__5 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__5(); -lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__5); -l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__6 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__6(); -lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__6); -l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__7 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__7(); -lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1___closed__7); -if (builtin) {res = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFieldAbbrev_declRange__1(lean_io_mk_world()); +}l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields_docString__1___closed__1 = _init_l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields_docString__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields_docString__1___closed__1); +if (builtin) {res = l___regBuiltin_Lean_Elab_Term_StructInst_expandStructInstFields_docString__1(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__1 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__1(); @@ -38639,10 +39480,8 @@ l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExp lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__9); l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10(); lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__10); -l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___closed__1); -l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources___lambda__1___closed__1); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__11 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__11(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_expandNonAtomicExplicitSources_go___lambda__1___closed__11); l_Lean_Elab_Term_StructInst_instInhabitedExplicitSourceView___closed__1 = _init_l_Lean_Elab_Term_StructInst_instInhabitedExplicitSourceView___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_StructInst_instInhabitedExplicitSourceView___closed__1); l_Lean_Elab_Term_StructInst_instInhabitedExplicitSourceView = _init_l_Lean_Elab_Term_StructInst_instInhabitedExplicitSourceView(); @@ -38713,16 +39552,6 @@ l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lam lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__18); l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19(); lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__19); -l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__20 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__20(); -lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__20); -l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__21 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__21(); -lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__21); -l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22(); -lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__22); -l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__23 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__23(); -lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__23); -l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__24 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__24(); -lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__2___closed__24); l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__1 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__1(); lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__1); l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__2 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__2(); @@ -38737,6 +39566,10 @@ l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lam lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__6); l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7(); lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__7); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__8 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__8(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__8); +l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__9 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__9(); +lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___lambda__3___closed__9); l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__1 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__1(); lean_mark_persistent(l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__1); l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__2 = _init_l___private_Lean_Elab_StructInst_0__Lean_Elab_Term_StructInst_elabModifyOp___closed__2(); @@ -38797,8 +39630,6 @@ l_Lean_Elab_Term_StructInst_formatField___closed__4 = _init_l_Lean_Elab_Term_Str lean_mark_persistent(l_Lean_Elab_Term_StructInst_formatField___closed__4); l_Lean_Elab_Term_StructInst_formatField___closed__5 = _init_l_Lean_Elab_Term_StructInst_formatField___closed__5(); lean_mark_persistent(l_Lean_Elab_Term_StructInst_formatField___closed__5); -l_Lean_Elab_Term_StructInst_formatField___closed__6 = _init_l_Lean_Elab_Term_StructInst_formatField___closed__6(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_formatField___closed__6); l_List_mapTR_loop___at_Lean_Elab_Term_StructInst_formatStruct___spec__1___closed__1 = _init_l_List_mapTR_loop___at_Lean_Elab_Term_StructInst_formatStruct___spec__1___closed__1(); lean_mark_persistent(l_List_mapTR_loop___at_Lean_Elab_Term_StructInst_formatStruct___spec__1___closed__1); l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__1 = _init_l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__1(); @@ -38813,6 +39644,8 @@ l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__5 lean_mark_persistent(l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__5); l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__6 = _init_l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__6(); lean_mark_persistent(l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__6); +l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__7 = _init_l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__7(); +lean_mark_persistent(l_List_format___at_Lean_Elab_Term_StructInst_formatStruct___spec__3___closed__7); l_Lean_Elab_Term_StructInst_formatStruct___closed__1 = _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_StructInst_formatStruct___closed__1); l_Lean_Elab_Term_StructInst_formatStruct___closed__2 = _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__2(); @@ -38833,6 +39666,10 @@ l_Lean_Elab_Term_StructInst_formatStruct___closed__9 = _init_l_Lean_Elab_Term_St lean_mark_persistent(l_Lean_Elab_Term_StructInst_formatStruct___closed__9); l_Lean_Elab_Term_StructInst_formatStruct___closed__10 = _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__10(); lean_mark_persistent(l_Lean_Elab_Term_StructInst_formatStruct___closed__10); +l_Lean_Elab_Term_StructInst_formatStruct___closed__11 = _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__11(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_formatStruct___closed__11); +l_Lean_Elab_Term_StructInst_formatStruct___closed__12 = _init_l_Lean_Elab_Term_StructInst_formatStruct___closed__12(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_formatStruct___closed__12); l_Lean_Elab_Term_StructInst_instToFormatStructInstView = _init_l_Lean_Elab_Term_StructInst_instToFormatStructInstView(); lean_mark_persistent(l_Lean_Elab_Term_StructInst_instToFormatStructInstView); l_Lean_Elab_Term_StructInst_instToStringStructInstView___closed__1 = _init_l_Lean_Elab_Term_StructInst_instToStringStructInstView___closed__1(); @@ -39089,35 +39926,35 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_dec if (builtin) {res = l___regBuiltin_Lean_Elab_Term_StructInst_elabStructInst_declRange__1(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -}l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__1 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__1); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__2 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__2(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__2); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__3 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__3(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__3); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__4 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__4(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__4); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__5 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__5(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__5); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__6 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__6(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__6); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__7 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__7(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__7); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__8 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__8(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__8); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__9 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__9(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__9); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__10 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__10(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__10); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__11 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__11(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__11); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__12 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__12(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__12); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__13 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__13(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__13); -l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__14 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__14(); -lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562____closed__14); -if (builtin) {res = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_15562_(lean_io_mk_world()); +}l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__1 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__1(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__1); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__2 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__2(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__2); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__3 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__3(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__3); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__4 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__4(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__4); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__5 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__5(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__5); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__6 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__6(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__6); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__7 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__7(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__7); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__8 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__8(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__8); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__9 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__9(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__9); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__10 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__10(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__10); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__11 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__11(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__11); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__12 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__12(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__12); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__13 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__13(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__13); +l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__14 = _init_l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__14(); +lean_mark_persistent(l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792____closed__14); +if (builtin) {res = l_Lean_Elab_Term_StructInst_initFn____x40_Lean_Elab_StructInst___hyg_16792_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/Linter/UnusedVariables.c b/stage0/stdlib/Lean/Linter/UnusedVariables.c index 8c659b91df54..23a86caa97c2 100644 --- a/stage0/stdlib/Lean/Linter/UnusedVariables.c +++ b/stage0/stdlib/Lean/Linter/UnusedVariables.c @@ -5458,7 +5458,7 @@ static lean_object* _init_l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariable _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("whereStructField", 16, 16); +x_1 = lean_mk_string_unchecked("structInstField", 15, 15); return x_1; } } @@ -5468,7 +5468,7 @@ static lean_object* _init_l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariable lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_8____closed__7; x_2 = l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_987____lambda__1___closed__4; -x_3 = l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_987____lambda__1___closed__5; +x_3 = l_Array_mapMUnsafe_map___at_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1316____spec__1___closed__1; x_4 = l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_2475____lambda__1___closed__8; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; diff --git a/stage0/stdlib/Lean/Parser/Command.c b/stage0/stdlib/Lean/Parser/Command.c index ec27cb3d7e88..b140b09b045d 100644 --- a/stage0/stdlib/Lean/Parser/Command.c +++ b/stage0/stdlib/Lean/Parser/Command.c @@ -35,7 +35,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_mutual; static lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__10; lean_object* l_Lean_PrettyPrinter_Parenthesizer_recover_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__33; static lean_object* l_Lean_Parser_Tactic_open___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Command_declModifiersT_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_openHiding_formatter___closed__4; @@ -63,7 +62,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_initialize_declRange__1__ static lean_object* l_Lean_Parser_Command_openSimple___closed__6; static lean_object* l_Lean_Parser_Command_variable_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Command_declSig_formatter___closed__2; -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Command_deriving_parenthesizer___closed__8; LEAN_EXPORT lean_object* l_Lean_Parser_Command_register__tactic__tag; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_include_formatter__1(lean_object*); @@ -79,6 +77,7 @@ lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_obj static lean_object* l___regBuiltin_Lean_Parser_Command_attribute_declRange__1___closed__6; static lean_object* l_Lean_Parser_Command_exit_parenthesizer___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Command_structImplicitBinder; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__49; LEAN_EXPORT lean_object* l_Lean_Parser_Command_include; static lean_object* l_Lean_Parser_Command_printEqns_formatter___closed__1; static lean_object* l_Lean_Parser_Command_end___closed__4; @@ -127,7 +126,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_partial_formatter(lean_object*, l static lean_object* l_Lean_Parser_Command_definition___closed__10; extern lean_object* l_Lean_Parser_identWithPartialTrailingDot; lean_object* l_Lean_Parser_optional_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_Term_letDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_declModifiers___closed__12; static lean_object* l_Lean_Parser_Command_genInjectiveTheorems___closed__3; static lean_object* l_Lean_Parser_Command_print___closed__5; @@ -138,7 +136,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_attribute_formatter__1___ static lean_object* l_Lean_Parser_Term_set__option_formatter___closed__6; static lean_object* l_Lean_Parser_Command_openRenamingItem___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_omit_docString__1(lean_object*); -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__24; lean_object* l_Lean_Parser_takeUntilFn___boxed(lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_synth___closed__1; static lean_object* l_Lean_Parser_Command_set__option___closed__10; @@ -152,6 +149,7 @@ static lean_object* l_Lean_Parser_Command_import___closed__1; static lean_object* l_Lean_Parser_Command_ctor_parenthesizer___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Command_open_declRange__1___closed__2; lean_object* l_Lean_Parser_Term_matchAlts_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__23; static lean_object* l_Lean_Parser_Command_instance___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_include_formatter__1___closed__2; static lean_object* l_Lean_Parser_Command_variable_formatter___closed__5; @@ -159,6 +157,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_whereStructInst_formatter static lean_object* l_Lean_Parser_Command_namedPrio___closed__10; static lean_object* l___regBuiltin_Lean_Parser_Command_end_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Command_whereStructInst___closed__4; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__17; LEAN_EXPORT lean_object* l_Lean_Parser_Command_classTk; static lean_object* l___regBuiltin_Lean_Parser_Command_deriving_formatter__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_tactic__extension_declRange__1___closed__6; @@ -203,14 +202,13 @@ static lean_object* l_Lean_Parser_Command_set__option_parenthesizer___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_precheckedQuot__1(lean_object*); static lean_object* l_Lean_Parser_Command_inductive_parenthesizer___closed__11; static lean_object* l_Lean_Parser_Command_example_formatter___closed__2; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__48; static lean_object* l_Lean_Parser_Command_optionValue_formatter___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Command_import_parenthesizer__1___closed__1; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__3; lean_object* l_Lean_Parser_Term_attrInstance_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_check__failure_formatter__1___closed__1; lean_object* l_Lean_addBuiltinDocString(lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_version_parenthesizer__1___closed__2; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__1; static lean_object* l_Lean_Parser_Command_declSig_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_computedFields_formatter__1___closed__1; lean_object* l_Lean_Parser_mkAntiquot_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -281,12 +279,14 @@ static lean_object* l_Lean_Parser_Command_openOnly_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Command_variable_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__18; static lean_object* l___regBuiltin_Lean_Parser_Command_addDocString_declRange__1___closed__2; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__54; static lean_object* l_Lean_Parser_Command_set__option___closed__4; static lean_object* l_Lean_Parser_Command_print___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Command_export_declRange__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_version_formatter__1___closed__2; static lean_object* l_Lean_Parser_Command_declValSimple_parenthesizer___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Command_noncomputableSection_declRange__1___closed__5; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__25; static lean_object* l___regBuiltin_Lean_Parser_Command_structure_formatter__1___closed__1; static lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__13; static lean_object* l___regBuiltin_Lean_Parser_Command_eval_declRange__1___closed__6; @@ -301,6 +301,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_genInjectiveTheorems LEAN_EXPORT lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_inductive_formatter___closed__14; static lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__9; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__13; static lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__15; static lean_object* l___regBuiltin_Lean_Parser_Command_printAxioms_declRange__1___closed__2; static lean_object* l_Lean_Parser_Command_abbrev___closed__9; @@ -310,7 +311,6 @@ static lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__ static lean_object* l_Lean_Parser_Command_openHiding_formatter___closed__6; static lean_object* l_Lean_Parser_Command_register__tactic__tag___closed__11; static lean_object* l___regBuiltin_Lean_Parser_Command_genInjectiveTheorems_declRange__1___closed__2; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__9; static lean_object* l___regBuiltin_Lean_Parser_Tactic_open__1___closed__1; static lean_object* l_Lean_Parser_Command_register__tactic__tag___closed__9; static lean_object* l_Lean_Parser_Term_open_formatter___closed__3; @@ -428,8 +428,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___box LEAN_EXPORT lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_export_declRange__1___closed__7; static lean_object* l_Lean_Parser_Command_whereStructInst_formatter___closed__11; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__47; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__11; static lean_object* l_Lean_Parser_Command_definition_formatter___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Command_quot_declRange__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_eval_declRange__1(lean_object*); @@ -485,6 +483,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_openHiding_parenthesizer_ static lean_object* l___regBuiltin_Lean_Parser_Term_quot__1___closed__1; static lean_object* l_Lean_Parser_Command_initialize_parenthesizer___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Command_ctor; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__27; static lean_object* l_Lean_Parser_Command_init__quot___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_variable_parenthesizer__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_export_declRange__1___closed__4; @@ -527,6 +526,7 @@ static lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Command_declModifiers_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_attribute_parenthesizer___closed__10; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__40; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_ctor_parenthesizer__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_noncomputable_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Command_instance___closed__8; @@ -623,10 +623,9 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_declId_parenthesizer__1__ static lean_object* l_Lean_Parser_Command_extends_formatter___closed__5; lean_object* l_Lean_Parser_nonReservedSymbol(lean_object*, uint8_t); static lean_object* l_Lean_Parser_Command_tactic__extension___closed__3; -static lean_object* l_Lean_Parser_Command_whereStructField_parenthesizer___closed__2; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__5; static lean_object* l___regBuiltin_Lean_Parser_Tactic_open_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Command_whereStructInst___closed__11; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__47; LEAN_EXPORT lean_object* l_Lean_Parser_Command_print; static lean_object* l_Lean_Parser_Term_precheckedQuot___closed__4; static lean_object* l_Lean_Parser_Command_abbrev_parenthesizer___closed__7; @@ -644,7 +643,6 @@ static lean_object* l_Lean_Parser_Command_section___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_eval_declRange__1___closed__5; lean_object* l_Lean_Parser_ppDedent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__19; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__17; static lean_object* l_Lean_Parser_Command_mutual_formatter___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Command_import_formatter__1___closed__1; static lean_object* l_Lean_Parser_Command_section___closed__2; @@ -659,6 +657,7 @@ static lean_object* l_Lean_Parser_Command_structImplicitBinder_parenthesizer___c LEAN_EXPORT lean_object* l_Lean_Parser_Command_structureTk_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_structFields_formatter__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_ctor_formatter__1___closed__1; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__44; static lean_object* l_Lean_Parser_Command_structImplicitBinder_formatter___closed__8; static lean_object* l_Lean_Parser_Command_optDefDeriving_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Command_openRenaming_parenthesizer___closed__2; @@ -808,7 +807,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_printTacTags__1(lean static lean_object* l___regBuiltin_Lean_Parser_Command_optDeriving_formatter__1___closed__1; static lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__7; static lean_object* l_Lean_Parser_Command_structFields_parenthesizer___closed__5; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__49; static lean_object* l___regBuiltin_Lean_Parser_Command_declValEqns_parenthesizer__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_import_declRange__1___closed__7; static lean_object* l_Lean_Parser_Command_example_formatter___closed__1; @@ -884,6 +882,7 @@ static lean_object* l_Lean_Parser_Command_initialize_formatter___closed__11; static lean_object* l___regBuiltin_Lean_Parser_Command_import_declRange__1___closed__5; static lean_object* l_Lean_Parser_Command_variable___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Command_register__tactic__tag_declRange__1___closed__7; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__2; static lean_object* l_Lean_Parser_Command_partial_formatter___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_structInstBinder_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_moduleDoc_formatter__1___closed__1; @@ -924,7 +923,6 @@ static lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__10; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_eval_docString__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_openOnly_formatter__1___closed__2; static lean_object* l_Lean_Parser_Command_initialize_formatter___closed__9; -LEAN_EXPORT lean_object* l_Lean_Parser_Command_whereStructField; static lean_object* l_Lean_Parser_Command_attribute___closed__17; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_optDeriving_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Command_optDeclSig___closed__2; @@ -948,24 +946,26 @@ static lean_object* l_Lean_Parser_Command_open_formatter___closed__5; static lean_object* l_Lean_Parser_Term_precheckedQuot___closed__7; static lean_object* l_Lean_Parser_Command_quot___closed__11; static lean_object* l___regBuiltin_Lean_Parser_Command_init__quot_formatter__1___closed__1; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__24; static lean_object* l___regBuiltin_Lean_Parser_Command_classInductive_parenthesizer__1___closed__1; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__16; +LEAN_EXPORT lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097_(lean_object*); static lean_object* l_Lean_Parser_Command_printAxioms_parenthesizer___closed__3; lean_object* l_Lean_Parser_priorityParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_deriving___closed__8; static lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__19; static lean_object* l_Lean_Parser_Command_ctor___closed__13; static lean_object* l___regBuiltin_Lean_Parser_Command_where_formatter__1___closed__2; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__20; static lean_object* l_Lean_Parser_Command_computedField_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Command_declaration___closed__8; static lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__17; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__31; static lean_object* l_Lean_Parser_Command_check_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Command_structFields___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Command_end_formatter__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_exit__1(lean_object*); static lean_object* l_Lean_Parser_Command_print___closed__9; static lean_object* l_Lean_Parser_Command_computedField___closed__11; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__22; static lean_object* l_Lean_Parser_Command_mutual_parenthesizer___closed__7; LEAN_EXPORT lean_object* l_Lean_Parser_Term_precheckedQuot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_universe_declRange__1___closed__5; @@ -1029,6 +1029,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_tactic__extension; static lean_object* l_Lean_Parser_Command_openOnly___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_declId_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_exit_declRange__1___closed__6; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__28; static lean_object* l_Lean_Parser_Command_omit___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Command_printEqns_formatter__1___closed__2; static lean_object* l_Lean_Parser_Command_structure___closed__23; @@ -1079,6 +1080,7 @@ static lean_object* l_Lean_Parser_Command_open_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_synth_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Command_structInstBinder___closed__14; static lean_object* l_Lean_Parser_Command_eval___closed__4; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__37; static lean_object* l_Lean_Parser_Command_printEqns_formatter___closed__3; static lean_object* l_Lean_Parser_Command_attribute_formatter___closed__9; static lean_object* l_Lean_Parser_Command_definition_formatter___closed__9; @@ -1114,7 +1116,6 @@ static lean_object* l_Lean_Parser_Command_openRenaming___closed__7; static lean_object* l_Lean_Parser_Command_classTk_formatter___closed__1; static lean_object* l_Lean_Parser_Term_set__option___closed__1; static lean_object* l_Lean_Parser_Command_universe___closed__4; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__54; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_computedField_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Command_whereStructInst___closed__21; LEAN_EXPORT lean_object* l_Lean_Parser_Command_set__option_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1150,6 +1151,7 @@ static lean_object* l_Lean_Parser_Command_declValEqns_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__23; static lean_object* l___regBuiltin_Lean_Parser_Command_declaration_declRange__1___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Command_tactic__extension_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__46; static lean_object* l_Lean_Parser_Term_quot___closed__17; static lean_object* l_Lean_Parser_Command_printEqns___closed__10; static lean_object* l___regBuiltin_Lean_Parser_Command_check_formatter__1___closed__2; @@ -1180,7 +1182,6 @@ static lean_object* l_Lean_Parser_Command_openOnly_formatter___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Command_printAxioms_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_mutual_formatter___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Command_genInjectiveTheorems_parenthesizer__1___closed__2; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__25; static lean_object* l_Lean_Parser_Term_quot___closed__13; static lean_object* l_Lean_Parser_Tactic_open_parenthesizer___closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Command_eval_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1256,7 +1257,9 @@ static lean_object* l_Lean_Parser_Command_optDefDeriving_formatter___closed__4; static lean_object* l_Lean_Parser_Command_attribute___closed__12; static lean_object* l_Lean_Parser_Command_set__option_parenthesizer___closed__8; static lean_object* l_Lean_Parser_Command_version_parenthesizer___closed__2; +extern lean_object* l_Lean_Parser_Term_structInstField; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_whereStructInst_formatter__1(lean_object*); +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__11; static lean_object* l_Lean_Parser_Command_check___closed__8; static lean_object* l_Lean_Parser_Command_extends___closed__1; static lean_object* l_Lean_Parser_Command_declId___closed__19; @@ -1283,8 +1286,6 @@ static lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__6; static lean_object* l_Lean_Parser_Command_import_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_structSimpleBinder_formatter___closed__5; static lean_object* l_Lean_Parser_Term_open___closed__1; -static lean_object* l_Lean_Parser_Command_whereStructField_formatter___closed__1; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__28; static lean_object* l_Lean_Parser_Command_structure___closed__20; static lean_object* l_Lean_Parser_Command_genInjectiveTheorems_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_universe_formatter__1___closed__1; @@ -1319,6 +1320,7 @@ lean_object* l_Lean_Parser_commandParser_parenthesizer(lean_object*, lean_object static lean_object* l_Lean_Parser_Command_structInstBinder___closed__6; static lean_object* l_Lean_Parser_Command_optDeclSig_formatter___closed__10; static lean_object* l_Lean_Parser_Command_eoi___closed__1; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__30; static lean_object* l_Lean_Parser_Term_set__option___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Command_declModifiers_docString__1___closed__2; static lean_object* l_Lean_Parser_Command_nonrec___closed__4; @@ -1358,7 +1360,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_addDocString_declRange__1 static lean_object* l_Lean_Parser_Command_optDefDeriving_parenthesizer___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Command_unsafe_parenthesizer__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_end_declRange__1___closed__7; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__12; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__51; static lean_object* l_Lean_Parser_Command_optDefDeriving___closed__5; static lean_object* l_Lean_Parser_Command_quot___closed__14; static lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__18; @@ -1372,7 +1374,6 @@ static lean_object* l_Lean_Parser_Command_classInductive___closed__8; static lean_object* l_Lean_Parser_Command_omit_formatter___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Command_moduleDoc_declRange__1___closed__7; static lean_object* l_Lean_Parser_Command_structureTk___closed__6; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__41; static lean_object* l_Lean_Parser_Command_declSig___closed__11; static lean_object* l_Lean_Parser_Command_ctor___closed__14; static lean_object* l___regBuiltin_Lean_Parser_Command_print_declRange__1___closed__4; @@ -1443,7 +1444,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_noncomputableSection static lean_object* l_Lean_Parser_Command_export___closed__3; static lean_object* l_Lean_Parser_Command_opaque___closed__6; static lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__2; -static lean_object* l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Command_derivingClasses; static lean_object* l___regBuiltin_Lean_Parser_Command_deriving_declRange__1___closed__1; static lean_object* l_Lean_Parser_Tactic_open_formatter___closed__2; @@ -1473,14 +1473,12 @@ static lean_object* l_Lean_Parser_Command_eraseAttr_formatter___closed__2; static lean_object* l_Lean_Parser_Command_instance_formatter___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Command_abbrev; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_where__1(lean_object*); -static lean_object* l_Lean_Parser_Command_whereStructField___closed__4; static lean_object* l_Lean_Parser_Command_whereStructInst_formatter___closed__2; static lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__11; static lean_object* l_Lean_Parser_Command_optDefDeriving_formatter___closed__1; static lean_object* l_Lean_Parser_Command_whereStructInst___closed__18; static lean_object* l_Lean_Parser_Command_printAxioms_formatter___closed__1; lean_object* l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__26; static lean_object* l_Lean_Parser_Command_namespace___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_check__failure_declRange__1___closed__1; static lean_object* l_Lean_Parser_Command_private_parenthesizer___closed__1; @@ -1503,7 +1501,6 @@ static lean_object* l_Lean_Parser_Command_openOnly_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_unsafe_formatter__1___closed__2; static lean_object* l_Lean_Parser_Command_openRenamingItem_formatter___closed__1; static lean_object* l_Lean_Parser_Command_quot___closed__7; -static lean_object* l_Lean_Parser_Command_whereStructField___closed__1; static lean_object* l_Lean_Parser_Command_initialize_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_quot_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_printEqns_formatter__1___closed__1; @@ -1533,12 +1530,12 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_quot_formatter__1___closed__ lean_object* l_Lean_Parser_identWithPartialTrailingDot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_structInstBinder___closed__7; static lean_object* l_Lean_Parser_Command_quot_formatter___closed__4; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__43; static lean_object* l_Lean_Parser_Command_export_formatter___closed__1; static lean_object* l_Lean_Parser_Command_printTacTags___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_declaration_declRange__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Command_check_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_in_parenthesizer__1___closed__2; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__19; static lean_object* l_Lean_Parser_Command_mutual___closed__13; static lean_object* l___regBuiltin_Lean_Parser_Command_open_declRange__1___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Tactic_open_formatter__1___closed__2; @@ -1661,6 +1658,7 @@ static lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer___c static lean_object* l_Lean_Parser_Tactic_open_parenthesizer___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Command_set__option_formatter__1___closed__1; static lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__24; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__45; static lean_object* l_Lean_Parser_Command_section_formatter___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Command_protected_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_manyIndent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1676,10 +1674,11 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_inductive_formatter__1___ static lean_object* l_Lean_Parser_Command_where___closed__2; static lean_object* l_Lean_Parser_Command_where___closed__7; static lean_object* l_Lean_Parser_Command_structInstBinder___closed__13; +LEAN_EXPORT lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3073_(lean_object*); +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__21; static lean_object* l___regBuiltin_Lean_Parser_Command_unsafe_parenthesizer__1___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_openDecl_docString__1(lean_object*); static lean_object* l_Lean_Parser_Command_register__tactic__tag___closed__7; -extern lean_object* l_Lean_Parser_Term_letDecl; static lean_object* l_Lean_Parser_Command_private___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Command_addDocString_docString__1___closed__1; static lean_object* l_Lean_Parser_Command_declaration___closed__14; @@ -1700,7 +1699,6 @@ static lean_object* l_Lean_Parser_Command_openScoped___closed__8; lean_object* l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_printTacTags___closed__8; static lean_object* l_Lean_Parser_Command_mutual___closed__2; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__52; static lean_object* l_Lean_Parser_Command_eraseAttr_parenthesizer___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Command_export_declRange__1___closed__6; static lean_object* l_Lean_Parser_Command_ctor_parenthesizer___closed__5; @@ -1731,6 +1729,7 @@ static lean_object* l_Lean_Parser_Command_omit_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Command_structureTk_formatter___closed__3; static lean_object* l_Lean_Parser_Command_declBody___closed__5; static lean_object* l_Lean_Parser_Command_abbrev___closed__6; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__34; static lean_object* l_Lean_Parser_Command_noncomputable___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Tactic_open_formatter__1___closed__1; static lean_object* l_Lean_Parser_Command_attribute___closed__7; @@ -1752,6 +1751,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_set__option_formatter__1___c static lean_object* l_Lean_Parser_Command_axiom_formatter___closed__5; lean_object* l_Lean_Parser_symbol(lean_object*); static lean_object* l_Lean_Parser_Command_printAxioms_parenthesizer___closed__5; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__9; static lean_object* l_Lean_Parser_Command_namedPrio___closed__11; static lean_object* l___regBuiltin_Lean_Parser_Command_theorem_parenthesizer__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_opaque_formatter__1___closed__2; @@ -1762,6 +1762,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_initializeKeyword_formatter(lean_ static lean_object* l_Lean_Parser_Command_version___closed__5; static lean_object* l_Lean_Parser_Command_definition_formatter___closed__4; static lean_object* l_Lean_Parser_Command_structFields___closed__13; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__12; static lean_object* l_Lean_Parser_Command_declVal___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Command_addDocString; static lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__7; @@ -1789,6 +1790,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_noncomputable_formatter__ extern lean_object* l_Lean_Parser_Tactic_tacticSeq; static lean_object* l_Lean_Parser_Term_quot___closed__3; static lean_object* l_Lean_Parser_Command_declaration_formatter___closed__4; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__15; static lean_object* l___regBuiltin_Lean_Parser_Command_printAxioms_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Command_check_formatter___closed__4; static lean_object* l_Lean_Parser_Command_printAxioms___closed__1; @@ -1806,14 +1808,12 @@ lean_object* l_Lean_Parser_symbol_formatter(lean_object*, lean_object*, lean_obj static lean_object* l_Lean_Parser_Command_whereStructInst___closed__16; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_abbrev_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Command_structImplicitBinder___closed__6; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__19; static lean_object* l_Lean_Parser_Command_section_formatter___closed__1; static lean_object* l_Lean_Parser_Command_declValSimple_parenthesizer___closed__8; static lean_object* l_Lean_Parser_Command_eraseAttr_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_noncomputable_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Command_computedField___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_moduleDoc_parenthesizer__1___closed__1; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__30; LEAN_EXPORT lean_object* l_Lean_Parser_Command_open_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_set__option___closed__5; static lean_object* l_Lean_Parser_Command_omit___closed__6; @@ -1860,14 +1860,12 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_declaration_declRange__1_ static lean_object* l_Lean_Parser_Command_noncomputableSection_formatter___closed__1; static lean_object* l_Lean_Parser_Command_inductive___closed__10; static lean_object* l___regBuiltin_Lean_Parser_Tactic_open__1___closed__2; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__46; static lean_object* l_Lean_Parser_Command_printAxioms_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Command_evalBang___closed__2; static lean_object* l_Lean_Parser_Command_structure_formatter___closed__18; static lean_object* l_Lean_Parser_Command_tactic__extension___closed__10; static lean_object* l_Lean_Parser_Command_declSig_parenthesizer___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Command_computedField_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__34; LEAN_EXPORT lean_object* l_Lean_Parser_Command_openScoped_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_eoi_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Command_variable___closed__2; @@ -1900,6 +1898,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_abbrev_parenthesizer__1__ LEAN_EXPORT lean_object* l_Lean_Parser_Command_openDecl_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Command_docComment; static lean_object* l_Lean_Parser_Command_openRenaming___closed__12; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__50; static lean_object* l_Lean_Parser_Command_deriving_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Command_variable_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Command_tactic__extension_parenthesizer___closed__4; @@ -1955,7 +1954,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_openScoped_formatter__1__ static lean_object* l_Lean_Parser_Command_omit_parenthesizer___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Command_classInductive_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_initialize_declRange__1___closed__2; -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Command_universe_parenthesizer___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_import__1(lean_object*); static lean_object* l_Lean_Parser_Command_print___closed__3; @@ -1969,7 +1967,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_inductive_parenthesizer(lean_obje static lean_object* l___regBuiltin_Lean_Parser_Command_evalBang_formatter__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_structure_parenthesizer__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_import_declRange__1___closed__1; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__18; static lean_object* l___private_Lean_Parser_Command_0__Lean_Parser_Command_skipUntilWsOrDelim___closed__1; static lean_object* l_Lean_Parser_Command_synth___closed__9; static lean_object* l_Lean_Parser_Command_optDefDeriving___closed__9; @@ -2029,6 +2026,7 @@ static lean_object* l_Lean_Parser_Command_initialize___closed__5; static lean_object* l_Lean_Parser_Tactic_open_parenthesizer___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_set__option__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Command_openRenamingItem_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__10; static lean_object* l___regBuiltin_Lean_Parser_Command_deriving_parenthesizer__1___closed__1; lean_object* l_Lean_Parser_Term_attrKind_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_partial___closed__4; @@ -2050,7 +2048,6 @@ static lean_object* l_Lean_Parser_Command_genInjectiveTheorems_parenthesizer___c static lean_object* l_Lean_Parser_Command_optDeriving___closed__4; static lean_object* l_Lean_Parser_Command_version___closed__6; static lean_object* l_Lean_Parser_Command_namespace_formatter___closed__1; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Command_namedPrio_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_declaration_formatter__1___closed__1; static lean_object* l_Lean_Parser_Command_definition_parenthesizer___closed__2; @@ -2130,6 +2127,7 @@ static lean_object* l_Lean_Parser_Command_openSimple_formatter___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_quot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_printTacTags___closed__1; static lean_object* l_Lean_Parser_Command_declValSimple_formatter___closed__10; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__35; static lean_object* l_Lean_Parser_Command_declSig___closed__3; static lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Command_computedFields___closed__12; @@ -2171,7 +2169,6 @@ static lean_object* l_Lean_Parser_Command_printEqns___closed__2; static lean_object* l_Lean_Parser_Command_structImplicitBinder_formatter___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_register__tactic__tag_formatter__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_check__failure_declRange__1___closed__2; -static lean_object* l_Lean_Parser_Command_whereStructField___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Command_private_formatter__1___closed__1; static lean_object* l_Lean_Parser_Command_eval_formatter___closed__2; static lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__18; @@ -2211,7 +2208,6 @@ static lean_object* l_Lean_Parser_Term_set__option___closed__9; static lean_object* l_Lean_Parser_Tactic_set__option_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Command_openRenamingItem_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_optDeclSig_formatter__1___closed__1; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__45; static lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__17; LEAN_EXPORT lean_object* l_Lean_Parser_Command_optDeclSig_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Command_section_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2253,7 +2249,6 @@ static lean_object* l_Lean_Parser_Command_moduleDoc___closed__1; static lean_object* l_Lean_Parser_Command_structInstBinder_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_whereStructInst___closed__12; static lean_object* l_Lean_Parser_Command_structure_formatter___closed__16; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__13; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_export__1(lean_object*); static lean_object* l_Lean_Parser_Command_opaque___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Command_noncomputable; @@ -2261,7 +2256,6 @@ static lean_object* l_Lean_Parser_Term_open_formatter___closed__2; static lean_object* l___private_Lean_Parser_Command_0__Lean_Parser_Command_skipUntil___closed__1; static lean_object* l_Lean_Parser_Command_initializeKeyword___closed__5; LEAN_EXPORT lean_object* l___private_Lean_Parser_Command_0__Lean_Parser_Command_skipUntil___elambda__1(lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__27; LEAN_EXPORT lean_object* l_Lean_Parser_Command_universe; static lean_object* l_Lean_Parser_Command_print_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Command_tactic__extension_formatter___closed__1; @@ -2277,7 +2271,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_declValSimple_parenthesizer(lean_ static lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_noncomputableSection_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__9; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__42; static lean_object* l___regBuiltin_Lean_Parser_Command_synth_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Command_structCtor_formatter__1___closed__1; @@ -2285,7 +2278,6 @@ static lean_object* l_Lean_Parser_Command_register__tactic__tag___closed__13; static lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__13; LEAN_EXPORT lean_object* l_Lean_Parser_Command_declaration_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_declModifiers_formatter___closed__14; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__22; static lean_object* l_Lean_Parser_Command_omit___closed__10; lean_object* l_Lean_Parser_checkColGe(lean_object*); static lean_object* l_Lean_Parser_Command_declaration_formatter___closed__9; @@ -2330,6 +2322,7 @@ static lean_object* l_Lean_Parser_Command_abbrev___closed__5; static lean_object* l_Lean_Parser_Command_namespace___closed__1; static lean_object* l_Lean_Parser_Command_whereStructInst_formatter___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_register__tactic__tag_declRange__1(lean_object*); +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__52; static lean_object* l_Lean_Parser_Command_printTacTags___closed__9; static lean_object* l_Lean_Parser_Command_openRenaming_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_openSimple_formatter__1___closed__2; @@ -2371,6 +2364,7 @@ static lean_object* l_Lean_Parser_Command_printAxioms_parenthesizer___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Command_open; static lean_object* l_Lean_Parser_Command_computedFields_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_computedField_parenthesizer___closed__2; +lean_object* l_Lean_Parser_Term_structInstField_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_mutual___closed__11; static lean_object* l_Lean_Parser_Command_instance_formatter___closed__9; static lean_object* l_Lean_Parser_Command_computedFields_parenthesizer___closed__6; @@ -2415,11 +2409,13 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_declVal_docString__1 static lean_object* l_Lean_Parser_Command_eraseAttr_formatter___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_classTk_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Command_where___closed__3; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__6; static lean_object* l_Lean_Parser_Command_openHiding_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Command_check__failure_formatter___closed__3; lean_object* l_Lean_Parser_many(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_openRenamingItem_formatter__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_register__tactic__tag_docString__1(lean_object*); +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__8; static lean_object* l___regBuiltin_Lean_Parser_Command_eoi_parenthesizer__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Command_synth_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_moduleDoc___closed__3; @@ -2428,7 +2424,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_precheckedQuot_declRange__1_ static lean_object* l_Lean_Parser_Command_printEqns_formatter___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Command_computedField_formatter__1___closed__1; lean_object* l_Lean_ppDedent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -LEAN_EXPORT lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3095_(lean_object*); static lean_object* l_Lean_Parser_Command_universe___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Tactic_open_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Command_declId___closed__8; @@ -2455,7 +2450,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_quot__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_inductive_formatter__1___closed__2; static lean_object* l_Lean_Parser_Command_moduleDoc_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Command_end___closed__8; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__53; static lean_object* l_Lean_Parser_Command_include_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Command_structImplicitBinder___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_check__failure_parenthesizer__1(lean_object*); @@ -2479,7 +2473,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_variable; static lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__22; LEAN_EXPORT lean_object* l_Lean_Parser_Command_nonrec; static lean_object* l_Lean_Parser_Command_declValEqns___closed__5; -LEAN_EXPORT lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119_(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_set__option_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Command_export_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_variable_declRange__1___closed__6; @@ -2521,14 +2514,12 @@ static lean_object* l_Lean_Parser_Command_structCtor___closed__9; static lean_object* l_Lean_Parser_Command_optDeclSig___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Command_theorem_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_structureTk___closed__5; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_declaration_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Tactic_open_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Tactic_set__option_declRange__1___closed__1; lean_object* l_Lean_Parser_Termination_suffix_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_openScoped___closed__3; static lean_object* l_Lean_Parser_Command_moduleDoc_parenthesizer___closed__2; -LEAN_EXPORT lean_object* l_Lean_Parser_Command_whereStructField_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_variable_declRange__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Tactic_set__option_declRange__1___closed__6; lean_object* l_Lean_Parser_withPosition_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2583,14 +2574,17 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_structInstBinder_formatter(lean_o static lean_object* l___regBuiltin_Lean_Parser_Command_printTacTags_declRange__1___closed__4; static lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Command_classInductive___closed__12; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__20; LEAN_EXPORT lean_object* l_Lean_Parser_Command_namespace_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_namedPrio_parenthesizer___closed__9; static lean_object* l_Lean_Parser_Command_structImplicitBinder_parenthesizer___closed__3; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__53; static lean_object* l___regBuiltin_Lean_Parser_Command_quot_docString__1___closed__1; static lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_classTk___closed__5; static lean_object* l_Lean_Parser_Command_tactic__extension_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_nonrec_formatter__1___closed__2; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_set__option_declRange__1___closed__5; static lean_object* l_Lean_Parser_Command_printTacTags___closed__12; lean_object* l_Lean_Parser_sepBy1_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2600,7 +2594,6 @@ static lean_object* l_Lean_Parser_Command_optDeriving___closed__6; static lean_object* l_Lean_Parser_Command_computedFields___closed__3; static lean_object* l_Lean_Parser_Command_register__tactic__tag___closed__5; static lean_object* l_Lean_Parser_Command_ctor_formatter___closed__8; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__7; static lean_object* l_Lean_Parser_Command_structure_formatter___closed__14; lean_object* l_Lean_Parser_manyIndent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_attribute_formatter__1___closed__1; @@ -2663,12 +2656,11 @@ static lean_object* l_Lean_Parser_Command_version___closed__2; static lean_object* l_Lean_Parser_Command_structImplicitBinder___closed__5; static lean_object* l_Lean_Parser_Command_mutual___closed__14; static lean_object* l_Lean_Parser_Command_ctor_parenthesizer___closed__2; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__32; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_theorem_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_open_declRange__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Command_eval; -static lean_object* l_Lean_Parser_Command_whereStructField___closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Command_moduleDoc_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Parser_Term_letDecl_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_structCtor_parenthesizer___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_check__1(lean_object*); static lean_object* l_Lean_Parser_Command_instance_formatter___closed__1; @@ -2684,7 +2676,6 @@ static lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__3; static lean_object* l_Lean_Parser_Command_declaration_formatter___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Tactic_open_docString__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_openDecl_docString__1___closed__1; -static lean_object* l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Command_ctor_formatter___closed__5; static lean_object* l_Lean_Parser_Command_optDefDeriving_formatter___closed__5; static lean_object* l_Lean_Parser_Command_structure_formatter___closed__13; @@ -2713,7 +2704,6 @@ static lean_object* l_Lean_Parser_Command_omit_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Command_declValEqns_formatter___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Command_openDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_namedPrio___closed__20; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__39; static lean_object* l___regBuiltin_Lean_Parser_Command_openRenaming_formatter__1___closed__1; static lean_object* l_Lean_Parser_Command_openDecl_formatter___closed__5; static lean_object* l_Lean_Parser_Tactic_set__option_formatter___closed__1; @@ -2754,15 +2744,11 @@ static lean_object* l_Lean_Parser_Command_whereStructInst_parenthesizer___closed static lean_object* l_Lean_Parser_Command_addDocString___closed__8; static lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__4; lean_object* l_Lean_Parser_ppGroup_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__37; static lean_object* l_Lean_Parser_Command_initialize___closed__10; static lean_object* l___regBuiltin_Lean_Parser_Command_section_docString__1___closed__1; static lean_object* l_Lean_Parser_Command_computedField___closed__3; lean_object* l_Lean_Parser_incQuotDepth(lean_object*); -static lean_object* l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__1; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__15; static lean_object* l_Lean_Parser_Command_moduleDoc___closed__7; -static lean_object* l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__2; lean_object* l_Lean_Parser_Term_matchAlts(lean_object*); LEAN_EXPORT lean_object* l___private_Lean_Parser_Command_0__Lean_Parser_Command_skipUntilWs; extern lean_object* l_Lean_PrettyPrinter_Parenthesizer_parenthesizerAliasesRef; @@ -2799,6 +2785,7 @@ lean_object* l_Lean_Parser_Term_instBinder_parenthesizer(lean_object*, lean_obje lean_object* l_Lean_Parser_withoutPosition_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_addDocString_formatter___closed__5; static lean_object* l_Lean_Parser_Term_precheckedQuot___closed__2; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__48; static lean_object* l_Lean_Parser_Command_variable___closed__6; static lean_object* l_Lean_Parser_Command_initialize___closed__13; static lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__12; @@ -2806,7 +2793,6 @@ static lean_object* l_Lean_Parser_Command_declModifiers___closed__8; static lean_object* l_Lean_Parser_Command_deriving___closed__12; lean_object* l_Lean_Parser_Command_commentBody_parenthesizer___boxed(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_genInjectiveTheorems_parenthesizer__1(lean_object*); -LEAN_EXPORT lean_object* l_Lean_Parser_Command_whereStructField_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__8; lean_object* l_Lean_Parser_Term_structInstFields_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_unicodeSymbol_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2832,7 +2818,6 @@ lean_object* l_Lean_Parser_Term_binderDefault_formatter(lean_object*, lean_objec static lean_object* l_Lean_Parser_Command_structure_formatter___closed__19; static lean_object* l_Lean_Parser_Command_optDeclSig_formatter___closed__2; static lean_object* l_Lean_Parser_Command_printTacTags_parenthesizer___closed__5; -static lean_object* l_Lean_Parser_Command_whereStructField_formatter___closed__3; static lean_object* l_Lean_Parser_Term_quot_formatter___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Command_structCtor_formatter__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Command_declValSimple; @@ -2842,7 +2827,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_declSig_parenthesizer(lean_object static lean_object* l___regBuiltin_Lean_Parser_Command_structImplicitBinder_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Command_declId_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Command_namedPrio_formatter___closed__9; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Command_optDefDeriving_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_noncomputable_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Command_computedFields_formatter___closed__7; @@ -2859,7 +2843,6 @@ static lean_object* l_Lean_Parser_Command_variable_formatter___closed__6; static lean_object* l_Lean_Parser_Command_initializeKeyword_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Command_ctor___closed__12; LEAN_EXPORT lean_object* l_Lean_Parser_Command_include_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__21; static lean_object* l_Lean_Parser_Command_namedPrio___closed__13; static lean_object* l_Lean_Parser_Command_mutual_parenthesizer___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Command_noncomputableSection_declRange__1___closed__1; @@ -2872,7 +2855,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_openOnly_parenthesizer__1 static lean_object* l_Lean_Parser_Command_example___closed__8; static lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__14; static lean_object* l___regBuiltin_Lean_Parser_Command_noncomputableSection_parenthesizer__1___closed__2; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__50; static lean_object* l___regBuiltin_Lean_Parser_Command_eoi_formatter__1___closed__1; static lean_object* l_Lean_Parser_Tactic_open_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__5; @@ -2942,10 +2924,12 @@ static lean_object* l_Lean_Parser_Command_open_formatter___closed__2; static lean_object* l_Lean_Parser_Command_axiom___closed__10; static lean_object* l_Lean_Parser_Command_computedField___closed__5; static lean_object* l_Lean_Parser_Command_namedPrio_formatter___closed__6; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__16; LEAN_EXPORT lean_object* l_Lean_Parser_Command_eraseAttr; static lean_object* l_Lean_Parser_Command_declId_formatter___closed__4; static lean_object* l_Lean_Parser_Command_synth___closed__2; static lean_object* l_Lean_Parser_Command_structImplicitBinder___closed__7; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__5; static lean_object* l___regBuiltin_Lean_Parser_Command_init__quot_formatter__1___closed__2; static lean_object* l_Lean_Parser_Command_structure___closed__8; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_end_parenthesizer__1(lean_object*); @@ -2954,11 +2938,13 @@ static lean_object* l_Lean_Parser_Command_where___closed__5; static lean_object* l_Lean_Parser_Command_namedPrio_formatter___closed__2; static lean_object* l_Lean_Parser_Command_openSimple___closed__5; static lean_object* l_Lean_Parser_Command_initialize_formatter___closed__6; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__26; LEAN_EXPORT lean_object* l_Lean_Parser_Command_register__tactic__tag_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_computedField_parenthesizer___closed__8; LEAN_EXPORT lean_object* l_Lean_Parser_Command_namespace_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_structExplicitBinder___closed__16; static lean_object* l_Lean_Parser_Command_namedPrio_formatter___closed__12; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__41; static lean_object* l_Lean_Parser_Command_printAxioms_parenthesizer___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_open_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Command_exit___closed__1; @@ -2986,7 +2972,6 @@ static lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer___c static lean_object* l___regBuiltin_Lean_Parser_Command_universe_declRange__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_check_declRange__1___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_universe_parenthesizer__1(lean_object*); -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__40; static lean_object* l_Lean_Parser_Command_inductive___closed__17; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_inductive_docString__1(lean_object*); static lean_object* l_Lean_Parser_Command_noncomputableSection_formatter___closed__4; @@ -3038,7 +3023,6 @@ static lean_object* l_Lean_Parser_Command_export___closed__9; static lean_object* l_Lean_Parser_Command_opaque_parenthesizer___closed__2; lean_object* l_Lean_Parser_Command_commentBody_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__31; static lean_object* l_Lean_Parser_Command_definition___closed__9; static lean_object* l_Lean_Parser_Command_declaration_parenthesizer___closed__3; lean_object* l_Lean_Parser_Tactic_tacticSeq_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3064,7 +3048,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_omit_formatter__1___close static lean_object* l_Lean_Parser_Command_open_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_openOnly_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Command_structFields___closed__1; -static lean_object* l_Lean_Parser_Command_whereStructField_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Command_structFields_formatter___closed__5; lean_object* l_Lean_Parser_sepBy(lean_object*, lean_object*, lean_object*, uint8_t); static lean_object* l_Lean_Parser_Command_structInstBinder_parenthesizer___closed__6; @@ -3082,7 +3065,6 @@ static lean_object* l_Lean_Parser_Command_eval_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_structCtor_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_mutual_formatter__1___closed__1; static lean_object* l_Lean_Parser_Command_initialize___closed__12; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__35; static lean_object* l___regBuiltin_Lean_Parser_Command_section_declRange__1___closed__4; static lean_object* l_Lean_Parser_Command_open_formatter___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Command_noncomputable_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3101,15 +3083,15 @@ static lean_object* l_Lean_Parser_Command_evalBang_formatter___closed__1; static lean_object* l_Lean_Parser_Command_genInjectiveTheorems___closed__8; static lean_object* l_Lean_Parser_Command_moduleDoc_formatter___closed__3; static lean_object* l_Lean_Parser_Command_import___closed__5; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__42; static lean_object* l_Lean_Parser_Command_namedPrio_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Command_classTk___closed__1; static lean_object* l_Lean_Parser_Command_set__option___closed__7; static lean_object* l_Lean_Parser_Command_protected_parenthesizer___closed__3; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Command_quot; static lean_object* l_Lean_Parser_Command_partial___closed__8; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__44; static lean_object* l_Lean_Parser_Command_declId___closed__9; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__38; lean_object* l_Lean_Parser_Term_whereDecls_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_printEqns___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_quot_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3121,11 +3103,11 @@ static lean_object* l_Lean_Parser_Command_optDeclSig_formatter___closed__4; static lean_object* l_Lean_Parser_Command_computedFields_formatter___closed__1; lean_object* l_Lean_Parser_Term_bracketedBinder_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Command_partial; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__33; static lean_object* l_Lean_Parser_Command_abbrev___closed__11; static lean_object* l_Lean_Parser_Command_printEqns_formatter___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Command_printAxioms_formatter__1___closed__1; static lean_object* l_Lean_Parser_Command_namedPrio___closed__14; -static lean_object* l_Lean_Parser_Command_whereStructField___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Command_printEqns_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Command_variable___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_variable_declRange__1(lean_object*); @@ -3170,7 +3152,6 @@ static lean_object* l_Lean_Parser_Command_extends_formatter___closed__4; static lean_object* l_Lean_Parser_Command_printEqns___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_eval_docString__2(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Command_openOnly_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__23; static lean_object* l___regBuiltin_Lean_Parser_Term_set__option_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Command_omit_formatter___closed__5; static lean_object* l_Lean_Parser_Command_check__failure___closed__3; @@ -3317,6 +3298,7 @@ static lean_object* l_Lean_Parser_Command_noncomputable___closed__8; static lean_object* l_Lean_Parser_Command_version_formatter___closed__2; static lean_object* l_Lean_Parser_Command_opaque_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Command_inductive_formatter___closed__3; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__29; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_declaration_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_open_parenthesizer___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_end_docString__1(lean_object*); @@ -3337,7 +3319,6 @@ static lean_object* l_Lean_Parser_Command_export_formatter___closed__3; static lean_object* l_Lean_Parser_Command_abbrev___closed__2; static lean_object* l_Lean_Parser_Command_definition_formatter___closed__5; static lean_object* l_Lean_Parser_Command_whereStructInst___closed__8; -static lean_object* l_Lean_Parser_Command_whereStructField_formatter___closed__2; static lean_object* l_Lean_Parser_Command_unsafe_formatter___closed__1; static lean_object* l_Lean_Parser_Command_whereStructInst___closed__30; static lean_object* l_Lean_Parser_Command_end_parenthesizer___closed__4; @@ -3388,6 +3369,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_declModifiers_formatter(uint8_t, static lean_object* l___regBuiltin_Lean_Parser_Command_export_parenthesizer__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Command_optionValue; LEAN_EXPORT lean_object* l_Lean_Parser_Command_check; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__36; static lean_object* l_Lean_Parser_Command_structCtor___closed__8; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_mutual_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Command_inductive_formatter___closed__6; @@ -3427,7 +3409,6 @@ static lean_object* l_Lean_Parser_Command_structCtor_formatter___closed__4; static lean_object* l_Lean_Parser_Command_printTacTags_formatter___closed__3; static lean_object* l_Lean_Parser_Command_optDeriving_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Command_evalBang___closed__8; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__14; static lean_object* l_Lean_Parser_Command_declBody_formatter___closed__3; static lean_object* l_Lean_Parser_Command_theorem_formatter___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_classInductive_formatter__1(lean_object*); @@ -3494,7 +3475,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_deriving_declRange__1___c static lean_object* l_Lean_Parser_Command_structureTk_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_printAxioms___closed__10; static lean_object* l_Lean_Parser_Command_print___closed__8; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__32; static lean_object* l_Lean_Parser_Command_opaque___closed__10; LEAN_EXPORT lean_object* l_Lean_Parser_Command_declModifiersF_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_declValEqns___closed__6; @@ -3547,12 +3527,14 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_unsafe_parenthesizer(lean_object* static lean_object* l_Lean_Parser_Command_tactic__extension___closed__6; static lean_object* l_Lean_Parser_Command_openSimple___closed__3; static lean_object* l_Lean_Parser_Command_eraseAttr_parenthesizer___closed__3; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__38; lean_object* l_Lean_Parser_sepBy1_parenthesizer(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_extends___closed__6; static lean_object* l_Lean_Parser_Command_structExplicitBinder_formatter___closed__11; static lean_object* l_Lean_Parser_Command_noncomputable___closed__1; static lean_object* l_Lean_Parser_Term_open_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Command_optDeriving_parenthesizer___closed__4; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__7; static lean_object* l_Lean_Parser_Command_register__tactic__tag_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Command_attribute_formatter___closed__12; static lean_object* l___regBuiltin_Lean_Parser_Term_precheckedQuot_formatter__1___closed__1; @@ -3572,6 +3554,7 @@ static lean_object* l_Lean_Parser_Command_whereStructInst___closed__29; static lean_object* l_Lean_Parser_Command_quot___closed__6; static lean_object* l_Lean_Parser_Command_classInductive___closed__16; static lean_object* l_Lean_Parser_Command_computedFields_parenthesizer___closed__4; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__18; static lean_object* l___regBuiltin_Lean_Parser_Term_set__option_docString__1___closed__1; static lean_object* l_Lean_Parser_Command_inductive_formatter___closed__2; static lean_object* l_Lean_Parser_Command_declSig___closed__2; @@ -3626,6 +3609,7 @@ static lean_object* l_Lean_Parser_Command_version_formatter___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_precheckedQuot_declRange__1___closed__1; static lean_object* l_Lean_Parser_Command_openOnly_formatter___closed__5; static lean_object* l_Lean_Parser_Tactic_open_formatter___closed__7; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__14; static lean_object* l_Lean_Parser_Term_precheckedQuot_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Command_attribute___closed__11; static lean_object* l_Lean_Parser_Command_section_parenthesizer___closed__1; @@ -3636,7 +3620,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Command_declaration_declRange__1_ static lean_object* l_Lean_Parser_Command_classTk___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Command_moduleDoc_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Command_where_formatter___closed__3; -static lean_object* l_Lean_Parser_Command_whereStructField___closed__2; static lean_object* l_Lean_Parser_Command_variable_formatter___closed__2; static lean_object* l_Lean_Parser_Command_universe_formatter___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_openRenaming_parenthesizer__1(lean_object*); @@ -3658,13 +3641,11 @@ static lean_object* l_Lean_Parser_Command_initialize___closed__8; static lean_object* l_Lean_Parser_Command_declaration___closed__4; static lean_object* l_Lean_Parser_Term_quot_formatter___closed__1; static lean_object* l_Lean_Parser_Command_openRenaming_parenthesizer___closed__7; -static lean_object* l_Lean_Parser_Command_whereStructField_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_declModifiers_parenthesizer___closed__25; LEAN_EXPORT lean_object* l_Lean_Parser_Command_structureTk; static lean_object* l_Lean_Parser_Command_mutual___closed__12; static lean_object* l_Lean_Parser_Command_quot_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_structImplicitBinder_parenthesizer___closed__7; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__4; static lean_object* l_Lean_Parser_Term_quot_parenthesizer___closed__9; static lean_object* l_Lean_Parser_Term_set__option___closed__4; static lean_object* l_Lean_Parser_Command_variable___closed__11; @@ -3715,7 +3696,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_init__quot_formatter static lean_object* l___regBuiltin_Lean_Parser_Command_declValSimple_parenthesizer__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Command_openRenaming_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Command_definition_formatter__1___closed__1; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__29; static lean_object* l___regBuiltin_Lean_Parser_Command_printEqns_declRange__1___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Command_mutual_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Command_where_parenthesizer___closed__3; @@ -3737,18 +3717,15 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_partial_formatter__1 static lean_object* l_Lean_Parser_Command_namespace___closed__5; static lean_object* l_Lean_Parser_Command_openRenamingItem_parenthesizer___closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Command_evalBang_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__8; static lean_object* l_Lean_Parser_Command_inductive_parenthesizer___closed__10; static lean_object* l___regBuiltin_Lean_Parser_Term_set__option_declRange__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Command_visibility; static lean_object* l_Lean_Parser_Command_eval_parenthesizer___closed__2; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__10; static lean_object* l_Lean_Parser_Command_noncomputable___closed__6; static lean_object* l_Lean_Parser_Command_check_parenthesizer___closed__2; lean_object* l_Lean_Parser_notSymbol_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_classInductive_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Command_register__tactic__tag_declRange__1___closed__3; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__51; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_structCtor_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Command_inductive___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_eoi_formatter__1(lean_object*); @@ -3769,7 +3746,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_open_formatter(lean_object*, lean static lean_object* l___regBuiltin_Lean_Parser_Tactic_set__option_formatter__1___closed__2; static lean_object* l_Lean_Parser_Command_structure_parenthesizer___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Command_inductive_docString__1___closed__3; -static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__36; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_nonrec_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Command_include_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_printTacTags___closed__11; @@ -3791,6 +3767,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Command_declModifiersT_parenthesizer(lean static lean_object* l_Lean_Parser_Command_open_formatter___closed__3; static lean_object* l_Lean_Parser_Command_declSig___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Command_openHiding; +lean_object* l_Lean_Parser_Term_structInstField_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_abbrev_formatter___closed__1; static lean_object* l_Lean_Parser_Command_optDefDeriving_formatter___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Command_axiom_formatter__1___closed__1; @@ -3805,10 +3782,12 @@ static lean_object* l_Lean_Parser_Command_variable___closed__10; lean_object* l_Lean_Parser_ppGroup_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Command_version___closed__8; static lean_object* l_Lean_Parser_Command_attribute___closed__10; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__43; static lean_object* l_Lean_Parser_Command_inductive___closed__15; static lean_object* l_Lean_Parser_Command_set__option_formatter___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Command_include_formatter__1___closed__1; static lean_object* l_Lean_Parser_Command_structExplicitBinder_parenthesizer___closed__13; +static lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__39; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_initialize__1(lean_object*); static lean_object* l_Lean_Parser_Command_optDeclSig_formatter___closed__6; static lean_object* l_Lean_Parser_Command_whereStructInst_formatter___closed__10; @@ -8042,77 +8021,6 @@ x_1 = l_Lean_Parser_Command_declValEqns___closed__6; return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_whereStructField___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("whereStructField", 16, 16); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Command_whereStructField___closed__2() { -_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_Term_quot___closed__1; -x_2 = l_Lean_Parser_Term_quot___closed__2; -x_3 = l_Lean_Parser_Command_quot___closed__1; -x_4 = l_Lean_Parser_Command_whereStructField___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_Parser_Command_whereStructField___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Command_whereStructField___closed__1; -x_2 = l_Lean_Parser_Command_whereStructField___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_Parser_Command_whereStructField___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_whereStructField___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_letDecl; -x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); -return x_4; -} -} -static lean_object* _init_l_Lean_Parser_Command_whereStructField___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_whereStructField___closed__3; -x_2 = l_Lean_Parser_Command_whereStructField___closed__4; -x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Command_whereStructField___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Command_whereStructField___closed__2; -x_2 = l_Lean_Parser_Command_whereStructField___closed__5; -x_3 = l_Lean_Parser_withCache(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Command_whereStructField() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Parser_Command_whereStructField___closed__6; -return x_1; -} -} static lean_object* _init_l_Lean_Parser_Command_whereStructInst___closed__1() { _start: { @@ -8219,7 +8127,7 @@ static lean_object* _init_l_Lean_Parser_Command_whereStructInst___closed__12() { { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; x_1 = l_Lean_Parser_Command_whereStructInst___closed__9; -x_2 = l_Lean_Parser_Command_whereStructField; +x_2 = l_Lean_Parser_Term_structInstField; x_3 = l_Lean_Parser_Command_whereStructInst___closed__11; x_4 = l_Lean_Parser_withAntiquotSpliceAndSuffix(x_1, x_2, x_3); return x_4; @@ -13507,89 +13415,6 @@ x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Command_whereStructField_formatter___closed__1() { -_start: -{ -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; -x_1 = l_Lean_Parser_Command_whereStructField___closed__1; -x_2 = l_Lean_Parser_Command_whereStructField___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Command_whereStructField_formatter___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_letDecl_formatter), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Command_whereStructField_formatter___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_whereStructField___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_whereStructField_formatter___closed__2; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Command_whereStructField_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Command_whereStructField_formatter___closed__1; -x_7 = l_Lean_Parser_Command_whereStructField_formatter___closed__3; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Term_quot___closed__1; -x_2 = l_Lean_Parser_Term_quot___closed__2; -x_3 = l_Lean_Parser_Command_quot___closed__1; -x_4 = l_Lean_Parser_Command_whereStructField___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_quot_formatter__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_whereStructField_formatter), 5, 0); -return x_1; -} -} -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Term_quot_formatter__1___closed__3; -x_3 = l_Lean_Parser_Command_whereStructField___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; -} -} static lean_object* _init_l_Lean_Parser_Command_whereStructInst_formatter___closed__1() { _start: { @@ -13632,8 +13457,8 @@ static lean_object* _init_l_Lean_Parser_Command_whereStructInst_formatter___clos _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_formatter), 6, 1); +x_1 = l_Lean_Parser_Command_whereStructInst___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } @@ -13641,20 +13466,18 @@ return x_2; static lean_object* _init_l_Lean_Parser_Command_whereStructInst_formatter___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_whereStructInst___closed__6; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstField_formatter), 5, 0); +return x_1; } } static lean_object* _init_l_Lean_Parser_Command_whereStructInst_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_whereStructInst_formatter___closed__4; +x_1 = l_Lean_Parser_Command_whereStructInst_formatter___closed__5; x_2 = l_Lean_Parser_Command_whereStructInst___closed__6; -x_3 = l_Lean_Parser_Command_whereStructInst_formatter___closed__5; +x_3 = l_Lean_Parser_Command_whereStructInst_formatter___closed__4; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_sepByIndent_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -19192,89 +19015,6 @@ x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Command_whereStructField_parenthesizer___closed__1() { -_start: -{ -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; -x_1 = l_Lean_Parser_Command_whereStructField___closed__1; -x_2 = l_Lean_Parser_Command_whereStructField___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Command_whereStructField_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_letDecl_parenthesizer), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Command_whereStructField_parenthesizer___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Command_whereStructField___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Command_whereStructField_parenthesizer___closed__2; -x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Command_whereStructField_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Command_whereStructField_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Command_whereStructField_parenthesizer___closed__3; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Term_quot___closed__1; -x_2 = l_Lean_Parser_Term_quot___closed__2; -x_3 = l_Lean_Parser_Command_quot___closed__1; -x_4 = l_Lean_Parser_Command_whereStructField___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_quot_parenthesizer__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_whereStructField_parenthesizer), 5, 0); -return x_1; -} -} -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Term_quot_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Command_whereStructField___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; -} -} static lean_object* _init_l_Lean_Parser_Command_whereStructInst_parenthesizer___closed__1() { _start: { @@ -19317,8 +19057,8 @@ static lean_object* _init_l_Lean_Parser_Command_whereStructInst_parenthesizer___ _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Command_whereStructInst___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } @@ -19326,20 +19066,18 @@ return x_2; static lean_object* _init_l_Lean_Parser_Command_whereStructInst_parenthesizer___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_whereStructInst___closed__6; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstField_parenthesizer), 5, 0); +return x_1; } } static lean_object* _init_l_Lean_Parser_Command_whereStructInst_parenthesizer___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Command_whereStructInst_parenthesizer___closed__4; +x_1 = l_Lean_Parser_Command_whereStructInst_parenthesizer___closed__5; x_2 = l_Lean_Parser_Command_whereStructInst___closed__6; -x_3 = l_Lean_Parser_Command_whereStructInst_parenthesizer___closed__5; +x_3 = l_Lean_Parser_Command_whereStructInst_parenthesizer___closed__4; x_4 = 1; x_5 = lean_box(x_4); x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepByIndent_parenthesizer___boxed), 9, 4); @@ -42173,7 +41911,7 @@ x_1 = l_Lean_Parser_Command_eoi___closed__5; return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3095_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3073_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -42234,7 +41972,7 @@ x_1 = l_Lean_Parser_Command_ctor___closed__8; return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__1() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -42244,7 +41982,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__2() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__2() { _start: { lean_object* x_1; @@ -42252,19 +41990,19 @@ x_1 = lean_mk_string_unchecked("declModifiersF", 14, 14); return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__3() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__3() { _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_Term_quot___closed__1; x_2 = l_Lean_Parser_Term_quot___closed__2; x_3 = l_Lean_Parser_Command_quot___closed__1; -x_4 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__2; +x_4 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__2; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__4() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__4() { _start: { lean_object* x_1; lean_object* x_2; @@ -42274,7 +42012,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__5() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__5() { _start: { lean_object* x_1; lean_object* x_2; @@ -42284,7 +42022,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__6() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__6() { _start: { lean_object* x_1; lean_object* x_2; @@ -42294,12 +42032,12 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__7() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__7() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; x_1 = lean_box(0); -x_2 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__6; +x_2 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__6; x_3 = 1; x_4 = lean_alloc_ctor(0, 2, 1); lean_ctor_set(x_4, 0, x_1); @@ -42308,7 +42046,7 @@ lean_ctor_set_uint8(x_4, sizeof(void*)*2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__8() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__8() { _start: { lean_object* x_1; @@ -42316,17 +42054,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_declModifiersF_formatter) return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__9() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__9() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__8; +x_1 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__8; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__10() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__10() { _start: { lean_object* x_1; @@ -42334,7 +42072,7 @@ x_1 = l_Lean_PrettyPrinter_Formatter_formatterAliasesRef; return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__11() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__11() { _start: { lean_object* x_1; @@ -42342,17 +42080,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_declModifiersF_parenthesi return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__12() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__12() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__11; +x_1 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__11; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__13() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__13() { _start: { lean_object* x_1; @@ -42360,7 +42098,7 @@ x_1 = l_Lean_PrettyPrinter_Parenthesizer_parenthesizerAliasesRef; return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__14() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__14() { _start: { lean_object* x_1; @@ -42368,17 +42106,17 @@ x_1 = lean_mk_string_unchecked("nestedDeclModifiers", 19, 19); return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__15() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__14; +x_2 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__14; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__16() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__16() { _start: { lean_object* x_1; @@ -42386,19 +42124,19 @@ x_1 = lean_mk_string_unchecked("declModifiersT", 14, 14); return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__17() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__17() { _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_Term_quot___closed__1; x_2 = l_Lean_Parser_Term_quot___closed__2; x_3 = l_Lean_Parser_Command_quot___closed__1; -x_4 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__16; +x_4 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__16; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__18() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__18() { _start: { lean_object* x_1; lean_object* x_2; @@ -42408,7 +42146,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__19() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__19() { _start: { lean_object* x_1; @@ -42416,17 +42154,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_declModifiersT_formatter) return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__20() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__20() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__19; +x_1 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__19; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__21() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__21() { _start: { lean_object* x_1; @@ -42434,17 +42172,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Command_declModifiersT_parenthesi return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__22() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__22() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__21; +x_1 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__21; x_2 = lean_alloc_ctor(0, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__23() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__23() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -42454,7 +42192,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__24() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__24() { _start: { lean_object* x_1; lean_object* x_2; @@ -42464,7 +42202,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__25() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__25() { _start: { lean_object* x_1; lean_object* x_2; @@ -42474,7 +42212,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__26() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__26() { _start: { lean_object* x_1; lean_object* x_2; @@ -42484,7 +42222,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__27() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__27() { _start: { lean_object* x_1; lean_object* x_2; @@ -42494,7 +42232,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__28() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__28() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -42504,7 +42242,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__29() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__29() { _start: { lean_object* x_1; lean_object* x_2; @@ -42514,7 +42252,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__30() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__30() { _start: { lean_object* x_1; lean_object* x_2; @@ -42524,7 +42262,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__31() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__31() { _start: { lean_object* x_1; lean_object* x_2; @@ -42534,7 +42272,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__32() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__32() { _start: { lean_object* x_1; lean_object* x_2; @@ -42544,7 +42282,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__33() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__33() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -42554,7 +42292,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__34() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__34() { _start: { lean_object* x_1; lean_object* x_2; @@ -42564,7 +42302,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__35() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__35() { _start: { lean_object* x_1; lean_object* x_2; @@ -42574,7 +42312,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__36() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__36() { _start: { lean_object* x_1; lean_object* x_2; @@ -42584,7 +42322,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__37() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__37() { _start: { lean_object* x_1; lean_object* x_2; @@ -42594,7 +42332,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__38() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__38() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -42604,7 +42342,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__39() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__39() { _start: { lean_object* x_1; lean_object* x_2; @@ -42614,7 +42352,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__40() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__40() { _start: { lean_object* x_1; lean_object* x_2; @@ -42624,7 +42362,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__41() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__41() { _start: { lean_object* x_1; lean_object* x_2; @@ -42634,7 +42372,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__42() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__42() { _start: { lean_object* x_1; lean_object* x_2; @@ -42644,7 +42382,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__43() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__43() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -42654,7 +42392,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__44() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__44() { _start: { lean_object* x_1; lean_object* x_2; @@ -42664,7 +42402,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__45() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__45() { _start: { lean_object* x_1; lean_object* x_2; @@ -42674,7 +42412,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__46() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__46() { _start: { lean_object* x_1; lean_object* x_2; @@ -42684,7 +42422,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__47() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__47() { _start: { lean_object* x_1; lean_object* x_2; @@ -42694,7 +42432,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__48() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__48() { _start: { lean_object* x_1; @@ -42702,29 +42440,29 @@ x_1 = lean_mk_string_unchecked("docComment", 10, 10); return x_1; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__49() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__49() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__48; +x_2 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__48; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__50() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__50() { _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_Term_quot___closed__1; x_2 = l_Lean_Parser_Term_quot___closed__2; x_3 = l_Lean_Parser_Command_quot___closed__1; -x_4 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__48; +x_4 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__48; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__51() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__51() { _start: { lean_object* x_1; lean_object* x_2; @@ -42734,17 +42472,17 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__52() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__52() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__50; +x_1 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__50; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__53() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__53() { _start: { lean_object* x_1; lean_object* x_2; @@ -42754,7 +42492,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__54() { +static lean_object* _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__54() { _start: { lean_object* x_1; lean_object* x_2; @@ -42764,15 +42502,15 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__1; -x_3 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__3; -x_4 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__4; -x_5 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__5; -x_6 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__7; +x_2 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__1; +x_3 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__3; +x_4 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__4; +x_5 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__5; +x_6 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__7; x_7 = l_Lean_Parser_registerAlias(x_2, x_3, x_4, x_5, x_6, x_1); if (lean_obj_tag(x_7) == 0) { @@ -42780,8 +42518,8 @@ lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; x_8 = lean_ctor_get(x_7, 1); lean_inc(x_8); lean_dec(x_7); -x_9 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__10; -x_10 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__9; +x_9 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__10; +x_10 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__9; x_11 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_2, x_10, x_8); if (lean_obj_tag(x_11) == 0) { @@ -42789,8 +42527,8 @@ lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; x_12 = lean_ctor_get(x_11, 1); lean_inc(x_12); lean_dec(x_11); -x_13 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__13; -x_14 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__12; +x_13 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__13; +x_14 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__12; x_15 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_2, x_14, x_12); if (lean_obj_tag(x_15) == 0) { @@ -42798,9 +42536,9 @@ lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean x_16 = lean_ctor_get(x_15, 1); lean_inc(x_16); lean_dec(x_15); -x_17 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__15; -x_18 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__17; -x_19 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__18; +x_17 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__15; +x_18 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__17; +x_19 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__18; x_20 = l_Lean_Parser_registerAlias(x_17, x_18, x_19, x_5, x_6, x_16); if (lean_obj_tag(x_20) == 0) { @@ -42808,7 +42546,7 @@ lean_object* x_21; lean_object* x_22; lean_object* x_23; x_21 = lean_ctor_get(x_20, 1); lean_inc(x_21); lean_dec(x_20); -x_22 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__20; +x_22 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__20; x_23 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_17, x_22, x_21); if (lean_obj_tag(x_23) == 0) { @@ -42816,7 +42554,7 @@ lean_object* x_24; lean_object* x_25; lean_object* x_26; x_24 = lean_ctor_get(x_23, 1); lean_inc(x_24); lean_dec(x_23); -x_25 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__22; +x_25 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__22; x_26 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_17, x_25, x_24); if (lean_obj_tag(x_26) == 0) { @@ -42824,10 +42562,10 @@ lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean x_27 = lean_ctor_get(x_26, 1); lean_inc(x_27); lean_dec(x_26); -x_28 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__23; +x_28 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__23; x_29 = l_Lean_Parser_Command_declId___closed__2; -x_30 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__24; -x_31 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__25; +x_30 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__24; +x_31 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__25; x_32 = l_Lean_Parser_registerAlias(x_28, x_29, x_30, x_31, x_6, x_27); if (lean_obj_tag(x_32) == 0) { @@ -42835,7 +42573,7 @@ lean_object* x_33; lean_object* x_34; lean_object* x_35; x_33 = lean_ctor_get(x_32, 1); lean_inc(x_33); lean_dec(x_32); -x_34 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__26; +x_34 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__26; x_35 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_28, x_34, x_33); if (lean_obj_tag(x_35) == 0) { @@ -42843,7 +42581,7 @@ lean_object* x_36; lean_object* x_37; lean_object* x_38; x_36 = lean_ctor_get(x_35, 1); lean_inc(x_36); lean_dec(x_35); -x_37 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__27; +x_37 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__27; x_38 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_28, x_37, x_36); if (lean_obj_tag(x_38) == 0) { @@ -42851,10 +42589,10 @@ lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean x_39 = lean_ctor_get(x_38, 1); lean_inc(x_39); lean_dec(x_38); -x_40 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__28; +x_40 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__28; x_41 = l_Lean_Parser_Command_declSig___closed__2; -x_42 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__29; -x_43 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__30; +x_42 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__29; +x_43 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__30; x_44 = l_Lean_Parser_registerAlias(x_40, x_41, x_42, x_43, x_6, x_39); if (lean_obj_tag(x_44) == 0) { @@ -42862,7 +42600,7 @@ lean_object* x_45; lean_object* x_46; lean_object* x_47; x_45 = lean_ctor_get(x_44, 1); lean_inc(x_45); lean_dec(x_44); -x_46 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__31; +x_46 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__31; x_47 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_40, x_46, x_45); if (lean_obj_tag(x_47) == 0) { @@ -42870,7 +42608,7 @@ lean_object* x_48; lean_object* x_49; lean_object* x_50; x_48 = lean_ctor_get(x_47, 1); lean_inc(x_48); lean_dec(x_47); -x_49 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__32; +x_49 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__32; x_50 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_40, x_49, x_48); if (lean_obj_tag(x_50) == 0) { @@ -42878,10 +42616,10 @@ lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean x_51 = lean_ctor_get(x_50, 1); lean_inc(x_51); lean_dec(x_50); -x_52 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__33; +x_52 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__33; x_53 = l___regBuiltin_Lean_Parser_Command_declVal_docString__1___closed__2; -x_54 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__34; -x_55 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__35; +x_54 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__34; +x_55 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__35; x_56 = l_Lean_Parser_registerAlias(x_52, x_53, x_54, x_55, x_6, x_51); if (lean_obj_tag(x_56) == 0) { @@ -42889,7 +42627,7 @@ lean_object* x_57; lean_object* x_58; lean_object* x_59; x_57 = lean_ctor_get(x_56, 1); lean_inc(x_57); lean_dec(x_56); -x_58 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__36; +x_58 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__36; x_59 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_52, x_58, x_57); if (lean_obj_tag(x_59) == 0) { @@ -42897,7 +42635,7 @@ lean_object* x_60; lean_object* x_61; lean_object* x_62; x_60 = lean_ctor_get(x_59, 1); lean_inc(x_60); lean_dec(x_59); -x_61 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__37; +x_61 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__37; x_62 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_52, x_61, x_60); if (lean_obj_tag(x_62) == 0) { @@ -42905,10 +42643,10 @@ lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean x_63 = lean_ctor_get(x_62, 1); lean_inc(x_63); lean_dec(x_62); -x_64 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__38; +x_64 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__38; x_65 = l_Lean_Parser_Command_optDeclSig___closed__2; -x_66 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__39; -x_67 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__40; +x_66 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__39; +x_67 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__40; x_68 = l_Lean_Parser_registerAlias(x_64, x_65, x_66, x_67, x_6, x_63); if (lean_obj_tag(x_68) == 0) { @@ -42916,7 +42654,7 @@ lean_object* x_69; lean_object* x_70; lean_object* x_71; x_69 = lean_ctor_get(x_68, 1); lean_inc(x_69); lean_dec(x_68); -x_70 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__41; +x_70 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__41; x_71 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_64, x_70, x_69); if (lean_obj_tag(x_71) == 0) { @@ -42924,7 +42662,7 @@ lean_object* x_72; lean_object* x_73; lean_object* x_74; x_72 = lean_ctor_get(x_71, 1); lean_inc(x_72); lean_dec(x_71); -x_73 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__42; +x_73 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__42; x_74 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_64, x_73, x_72); if (lean_obj_tag(x_74) == 0) { @@ -42932,10 +42670,10 @@ lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean x_75 = lean_ctor_get(x_74, 1); lean_inc(x_75); lean_dec(x_74); -x_76 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__43; +x_76 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__43; x_77 = l___regBuiltin_Lean_Parser_Command_openDecl_docString__1___closed__2; -x_78 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__44; -x_79 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__45; +x_78 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__44; +x_79 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__45; x_80 = l_Lean_Parser_registerAlias(x_76, x_77, x_78, x_79, x_6, x_75); if (lean_obj_tag(x_80) == 0) { @@ -42943,7 +42681,7 @@ lean_object* x_81; lean_object* x_82; lean_object* x_83; x_81 = lean_ctor_get(x_80, 1); lean_inc(x_81); lean_dec(x_80); -x_82 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__46; +x_82 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__46; x_83 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_76, x_82, x_81); if (lean_obj_tag(x_83) == 0) { @@ -42951,7 +42689,7 @@ lean_object* x_84; lean_object* x_85; lean_object* x_86; x_84 = lean_ctor_get(x_83, 1); lean_inc(x_84); lean_dec(x_83); -x_85 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__47; +x_85 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__47; x_86 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_76, x_85, x_84); if (lean_obj_tag(x_86) == 0) { @@ -42959,10 +42697,10 @@ lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; lean x_87 = lean_ctor_get(x_86, 1); lean_inc(x_87); lean_dec(x_86); -x_88 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__49; -x_89 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__50; -x_90 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__51; -x_91 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__52; +x_88 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__49; +x_89 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__50; +x_90 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__51; +x_91 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__52; x_92 = l_Lean_Parser_registerAlias(x_88, x_89, x_90, x_91, x_6, x_87); if (lean_obj_tag(x_92) == 0) { @@ -42970,7 +42708,7 @@ lean_object* x_93; lean_object* x_94; lean_object* x_95; x_93 = lean_ctor_get(x_92, 1); lean_inc(x_93); lean_dec(x_92); -x_94 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__53; +x_94 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__53; x_95 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_88, x_94, x_93); if (lean_obj_tag(x_95) == 0) { @@ -42978,7 +42716,7 @@ lean_object* x_96; lean_object* x_97; lean_object* x_98; x_96 = lean_ctor_get(x_95, 1); lean_inc(x_96); lean_dec(x_95); -x_97 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__54; +x_97 = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__54; x_98 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_88, x_97, x_96); return x_98; } @@ -46268,20 +46006,6 @@ l_Lean_Parser_Command_declValEqns___closed__6 = _init_l_Lean_Parser_Command_decl lean_mark_persistent(l_Lean_Parser_Command_declValEqns___closed__6); l_Lean_Parser_Command_declValEqns = _init_l_Lean_Parser_Command_declValEqns(); lean_mark_persistent(l_Lean_Parser_Command_declValEqns); -l_Lean_Parser_Command_whereStructField___closed__1 = _init_l_Lean_Parser_Command_whereStructField___closed__1(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField___closed__1); -l_Lean_Parser_Command_whereStructField___closed__2 = _init_l_Lean_Parser_Command_whereStructField___closed__2(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField___closed__2); -l_Lean_Parser_Command_whereStructField___closed__3 = _init_l_Lean_Parser_Command_whereStructField___closed__3(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField___closed__3); -l_Lean_Parser_Command_whereStructField___closed__4 = _init_l_Lean_Parser_Command_whereStructField___closed__4(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField___closed__4); -l_Lean_Parser_Command_whereStructField___closed__5 = _init_l_Lean_Parser_Command_whereStructField___closed__5(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField___closed__5); -l_Lean_Parser_Command_whereStructField___closed__6 = _init_l_Lean_Parser_Command_whereStructField___closed__6(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField___closed__6); -l_Lean_Parser_Command_whereStructField = _init_l_Lean_Parser_Command_whereStructField(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField); l_Lean_Parser_Command_whereStructInst___closed__1 = _init_l_Lean_Parser_Command_whereStructInst___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_whereStructInst___closed__1); l_Lean_Parser_Command_whereStructInst___closed__2 = _init_l_Lean_Parser_Command_whereStructInst___closed__2(); @@ -47320,19 +47044,6 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_declValEqns_formatter__1 if (builtin) {res = l___regBuiltin_Lean_Parser_Command_declValEqns_formatter__1(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -}l_Lean_Parser_Command_whereStructField_formatter___closed__1 = _init_l_Lean_Parser_Command_whereStructField_formatter___closed__1(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField_formatter___closed__1); -l_Lean_Parser_Command_whereStructField_formatter___closed__2 = _init_l_Lean_Parser_Command_whereStructField_formatter___closed__2(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField_formatter___closed__2); -l_Lean_Parser_Command_whereStructField_formatter___closed__3 = _init_l_Lean_Parser_Command_whereStructField_formatter___closed__3(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField_formatter___closed__3); -l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__1); -l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Command_whereStructField_formatter__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); }l_Lean_Parser_Command_whereStructInst_formatter___closed__1 = _init_l_Lean_Parser_Command_whereStructInst_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_whereStructInst_formatter___closed__1); l_Lean_Parser_Command_whereStructInst_formatter___closed__2 = _init_l_Lean_Parser_Command_whereStructInst_formatter___closed__2(); @@ -48238,19 +47949,6 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_declValEqns_parenthesize if (builtin) {res = l___regBuiltin_Lean_Parser_Command_declValEqns_parenthesizer__1(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -}l_Lean_Parser_Command_whereStructField_parenthesizer___closed__1 = _init_l_Lean_Parser_Command_whereStructField_parenthesizer___closed__1(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField_parenthesizer___closed__1); -l_Lean_Parser_Command_whereStructField_parenthesizer___closed__2 = _init_l_Lean_Parser_Command_whereStructField_parenthesizer___closed__2(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField_parenthesizer___closed__2); -l_Lean_Parser_Command_whereStructField_parenthesizer___closed__3 = _init_l_Lean_Parser_Command_whereStructField_parenthesizer___closed__3(); -lean_mark_persistent(l_Lean_Parser_Command_whereStructField_parenthesizer___closed__3); -l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__1); -l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Command_whereStructField_parenthesizer__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); }l_Lean_Parser_Command_whereStructInst_parenthesizer___closed__1 = _init_l_Lean_Parser_Command_whereStructInst_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_Command_whereStructInst_parenthesizer___closed__1); l_Lean_Parser_Command_whereStructInst_parenthesizer___closed__2 = _init_l_Lean_Parser_Command_whereStructInst_parenthesizer___closed__2(); @@ -52199,122 +51897,122 @@ l_Lean_Parser_Command_eoi___closed__5 = _init_l_Lean_Parser_Command_eoi___closed lean_mark_persistent(l_Lean_Parser_Command_eoi___closed__5); l_Lean_Parser_Command_eoi = _init_l_Lean_Parser_Command_eoi(); lean_mark_persistent(l_Lean_Parser_Command_eoi); -if (builtin) {res = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3095_(lean_io_mk_world()); +if (builtin) {res = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3073_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }l_Lean_Parser_Command_declModifiersF = _init_l_Lean_Parser_Command_declModifiersF(); lean_mark_persistent(l_Lean_Parser_Command_declModifiersF); l_Lean_Parser_Command_declModifiersT = _init_l_Lean_Parser_Command_declModifiersT(); lean_mark_persistent(l_Lean_Parser_Command_declModifiersT); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__1 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__1(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__1); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__2 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__2(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__2); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__3 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__3(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__3); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__4 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__4(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__4); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__5 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__5(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__5); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__6 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__6(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__6); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__7 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__7(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__7); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__8 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__8(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__8); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__9 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__9(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__9); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__10 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__10(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__10); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__11 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__11(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__11); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__12 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__12(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__12); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__13 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__13(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__13); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__14 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__14(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__14); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__15 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__15(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__15); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__16 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__16(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__16); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__17 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__17(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__17); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__18 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__18(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__18); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__19 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__19(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__19); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__20 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__20(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__20); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__21 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__21(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__21); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__22 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__22(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__22); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__23 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__23(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__23); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__24 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__24(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__24); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__25 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__25(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__25); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__26 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__26(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__26); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__27 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__27(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__27); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__28 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__28(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__28); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__29 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__29(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__29); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__30 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__30(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__30); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__31 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__31(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__31); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__32 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__32(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__32); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__33 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__33(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__33); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__34 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__34(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__34); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__35 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__35(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__35); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__36 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__36(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__36); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__37 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__37(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__37); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__38 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__38(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__38); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__39 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__39(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__39); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__40 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__40(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__40); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__41 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__41(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__41); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__42 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__42(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__42); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__43 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__43(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__43); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__44 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__44(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__44); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__45 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__45(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__45); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__46 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__46(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__46); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__47 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__47(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__47); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__48 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__48(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__48); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__49 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__49(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__49); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__50 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__50(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__50); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__51 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__51(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__51); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__52 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__52(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__52); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__53 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__53(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__53); -l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__54 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__54(); -lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119____closed__54); -if (builtin) {res = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3119_(lean_io_mk_world()); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__1 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__1(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__1); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__2 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__2(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__2); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__3 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__3(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__3); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__4 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__4(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__4); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__5 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__5(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__5); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__6 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__6(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__6); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__7 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__7(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__7); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__8 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__8(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__8); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__9 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__9(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__9); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__10 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__10(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__10); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__11 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__11(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__11); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__12 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__12(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__12); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__13 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__13(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__13); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__14 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__14(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__14); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__15 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__15(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__15); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__16 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__16(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__16); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__17 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__17(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__17); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__18 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__18(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__18); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__19 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__19(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__19); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__20 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__20(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__20); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__21 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__21(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__21); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__22 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__22(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__22); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__23 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__23(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__23); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__24 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__24(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__24); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__25 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__25(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__25); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__26 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__26(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__26); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__27 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__27(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__27); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__28 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__28(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__28); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__29 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__29(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__29); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__30 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__30(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__30); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__31 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__31(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__31); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__32 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__32(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__32); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__33 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__33(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__33); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__34 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__34(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__34); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__35 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__35(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__35); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__36 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__36(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__36); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__37 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__37(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__37); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__38 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__38(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__38); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__39 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__39(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__39); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__40 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__40(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__40); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__41 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__41(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__41); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__42 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__42(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__42); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__43 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__43(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__43); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__44 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__44(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__44); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__45 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__45(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__45); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__46 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__46(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__46); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__47 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__47(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__47); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__48 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__48(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__48); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__49 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__49(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__49); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__50 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__50(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__50); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__51 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__51(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__51); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__52 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__52(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__52); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__53 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__53(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__53); +l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__54 = _init_l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__54(); +lean_mark_persistent(l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097____closed__54); +if (builtin) {res = l_Lean_Parser_Command_initFn____x40_Lean_Parser_Command___hyg_3097_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }l_Lean_Parser_Term_open___closed__1 = _init_l_Lean_Parser_Term_open___closed__1(); diff --git a/stage0/stdlib/Lean/Parser/Term.c b/stage0/stdlib/Lean/Parser/Term.c index 221bb84ce489..bbffdbcd7ac0 100644 --- a/stage0/stdlib/Lean/Parser/Term.c +++ b/stage0/stdlib/Lean/Parser/Term.c @@ -15,8 +15,6 @@ extern "C" { #endif static lean_object* l_Lean_Parser_Term_dynamicQuot_formatter___closed__2; static lean_object* l_Lean_Parser_Term_tuple___closed__5; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__62; -static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Term_byTactic_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_suffices___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -24,7 +22,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstLVal_formatte static lean_object* l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_pipeProj_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_letI___closed__9; -static lean_object* l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_showTermElabImpl___closed__1; static lean_object* l_Lean_Parser_Term_app_formatter___closed__1; lean_object* l_Lean_Parser_sepByIndent_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -32,6 +29,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_let__tmp_formatter__1___clos static lean_object* l_Lean_Parser_Term_implicitBinder_parenthesizer___closed__1; lean_object* l_Lean_Parser_checkPrec(lean_object*); static lean_object* l_Lean_Parser_Term_letIdLhs___closed__9; +static lean_object* l_Lean_Parser_Term_structInstFieldEqns___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderTactic_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_many1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_docString__1(lean_object*); @@ -49,18 +47,19 @@ static lean_object* l_Lean_Parser_Tactic_quotSeq___closed__4; static lean_object* l_Lean_Parser_Term_matchExprPat_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_let__delayed_formatter___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_ensureTypeOf_parenthesizer__1(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__56; static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeContainsMVar_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_noErrorIfUnused_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_whereDecls_parenthesizer___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_haveId_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_namedPattern_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_let__delayed___closed__5; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__8; static lean_object* l_Lean_Parser_Term_funBinder___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_rightact_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Term_dotIdent___closed__6; static lean_object* l_Lean_Parser_Term_argument_parenthesizer___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_local_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__9; static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_ensureTypeOf_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -84,6 +83,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___c LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_let__delayed_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Term_tuple_formatter___closed__11; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__5; +static lean_object* l_Lean_Parser_Term_structInstFieldDef___closed__1; static lean_object* l_Lean_Parser_Term_bracketedBinder_formatter___closed__1; static lean_object* l_Lean_Parser_Term_leading__parser_formatter___closed__2; static lean_object* l_Lean_Parser_Term_attrInstance_formatter___closed__5; @@ -94,6 +94,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___cl static lean_object* l_Lean_Parser_Term_depArrow___closed__11; static lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern_parenthesizer__1___closed__1; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldEqns; static lean_object* l___regBuiltin_Lean_Parser_Term_showTermElabImpl_declRange__1___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_let__delayed_docString__1(lean_object*); static lean_object* l_Lean_Parser_Term_optExprPrecedence_formatter___closed__3; @@ -120,6 +121,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_local; static lean_object* l_Lean_Parser_Term_instBinder_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_paren___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__3; static lean_object* l_Lean_Parser_Term_defaultOrOfNonempty_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__2; static lean_object* l_Lean_Parser_Term_matchExpr___closed__10; @@ -138,11 +140,9 @@ static lean_object* l_Lean_Parser_Termination_suffix_formatter___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_unsafe_formatter__1___closed__2; static lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__26; static lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_panic_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_haveId_formatter___closed__3; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__1; static lean_object* l_Lean_Parser_Term_let_formatter___closed__6; static lean_object* l_Lean_Parser_Term_matchExpr_formatter___closed__5; lean_object* l_Lean_Parser_rawIdent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -173,7 +173,6 @@ static lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_depArrow___closed__8; static lean_object* l_Lean_Parser_Term_dynamicQuot_parenthesizer___closed__2; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__5; static lean_object* l_Lean_Parser_Term_namedArgument___closed__1; static lean_object* l_Lean_Parser_Command_docComment_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_funBinder_parenthesizer___closed__3; @@ -192,7 +191,6 @@ static lean_object* l_Lean_Parser_Term_rightact_formatter___closed__3; lean_object* l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binop__lazy_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_match_formatter___closed__4; -static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__19; static lean_object* l_Lean_Parser_semicolonOrLinebreak_formatter___closed__2; static lean_object* l_Lean_Parser_Term_whereDecls_parenthesizer___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_letExpr_declRange__1___closed__2; @@ -255,6 +253,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_arrow_parenthesizer__1( static lean_object* l_Lean_Parser_Term_forInMacro___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_omission_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt_parenthesizer___closed__3; +static lean_object* l_Lean_Parser_Term_structInstFieldEqns_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_prop_declRange__1___closed__4; static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Command_docComment_formatter___closed__1; @@ -279,6 +278,7 @@ lean_object* l_Lean_addBuiltinDocString(lean_object*, lean_object*, lean_object* static lean_object* l_Lean_Parser_Term_unsafe_formatter___closed__4; static lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_showRhs_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__46; static lean_object* l_Lean_Parser_Term_matchExprAlt___closed__2; static lean_object* l_Lean_Parser_Term_quotedName_formatter___closed__1; static lean_object* l_Lean_Parser_Term_typeSpec___closed__1; @@ -299,9 +299,10 @@ static lean_object* l___regBuiltin_Lean_Parser_Termination_terminationBy_docStri static lean_object* l_Lean_Parser_Term_haveIdDecl_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__10; static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeqIndentGt_docString__1___closed__2; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__7; static lean_object* l_Lean_Parser_Term_fun___closed__2; static lean_object* l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__13; +static lean_object* l_Lean_Parser_Term_structInstFieldDeclParser___closed__1; +static lean_object* l_Lean_Parser_Term_structInstField___closed__12; static lean_object* l_Lean_Parser_Term_ellipsis___closed__8; static lean_object* l_Lean_Parser_Term_letMVar___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_subst_declRange__1___closed__5; @@ -342,6 +343,7 @@ static lean_object* l_Lean_Parser_Term_let__delayed___closed__7; static lean_object* l_Lean_Parser_Term_namedPattern_formatter___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_proj_formatter__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_withAnonymousAntiquot; +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_dynamicQuot_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_declRange__1___closed__5; static lean_object* l_Lean_Parser_Term_clear_parenthesizer___closed__7; @@ -362,10 +364,13 @@ static lean_object* l_Lean_Parser_Termination_suffix___closed__8; static lean_object* l_Lean_Parser_Command_docComment___closed__3; static lean_object* l_Lean_Parser_Term_clear___closed__2; static lean_object* l_Lean_Parser_Term_haveId___closed__4; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__3; static lean_object* l_Lean_Parser_Term_letRecDecl_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_tuple_parenthesizer___closed__9; +static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Termination_terminationBy_docString__1___closed__4; +static lean_object* l_Lean_Parser_Term_binderDefault___closed__7; static lean_object* l_Lean_Parser_Term_matchExprPat_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeqIndentGt_docString__1___closed__3; static lean_object* l_Lean_Parser_Term_typeAscription___closed__6; @@ -444,7 +449,6 @@ static lean_object* l_Lean_Parser_Term_fromTerm___closed__4; static lean_object* l_Lean_Parser_Term_sort___closed__2; static lean_object* l_Lean_Parser_Term_optEllipsis___closed__5; static lean_object* l_Lean_Parser_Term_haveDecl_parenthesizer___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__2; static lean_object* l___regBuiltin_Lean_Parser_Tactic_quotSeq_declRange__1___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_showTermElabImpl_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_matchExprPat___closed__10; @@ -474,6 +478,7 @@ static lean_object* l_Lean_Parser_Term_explicitBinder___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_tacticParser_formatter(lean_object*); static lean_object* l_Lean_Parser_Term_sorry_formatter___closed__1; static lean_object* l_Lean_Parser_Term_typeOf___closed__6; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_optTypeForStructInst_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_letI_formatter___closed__4; static lean_object* l_Lean_Parser_Tactic_quot_formatter___closed__4; @@ -483,7 +488,6 @@ static lean_object* l_Lean_Parser_Term_typeOf_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_borrowed___closed__2; static lean_object* l_Lean_Parser_Term_structInstLVal___closed__1; static lean_object* l_Lean_Parser_Term_letMVar_parenthesizer___closed__6; -static lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__13; static lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer___closed__6; @@ -498,6 +502,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___c static lean_object* l_Lean_Parser_Term_matchDiscr___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_argument_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_paren_parenthesizer___closed__6; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDeclParser_formatter___boxed(lean_object*); static lean_object* l_Lean_Parser_Term_type_formatter___closed__4; static lean_object* l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Termination_terminationBy_formatter__1___closed__1; @@ -548,7 +553,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___ static lean_object* l_Lean_Parser_Term_noindex_formatter___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeContainsMVar_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_dbgTrace_formatter___closed__3; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__11; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot___closed__10; static lean_object* l_Lean_Parser_Term_structInst___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_namedArgument_formatter__1___closed__2; @@ -590,6 +594,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_paren_formatter(lean_object*, lean_o static lean_object* l___regBuiltin_Lean_Parser_Term_let_parenthesizer__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_optExprPrecedence_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Tactic_quotSeq_declRange__1___closed__1; +static lean_object* l_Lean_Parser_Term_binderType_formatter___closed__1; static lean_object* l_Lean_Parser_Term_local___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_sort_declRange__1___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_ensureExpectedType_formatter__1(lean_object*); @@ -615,6 +620,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_type_declRange__1___closed__ static lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__3; static lean_object* l_Lean_Parser_Term_motive_parenthesizer___closed__8; static lean_object* l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__10; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__26; static lean_object* l_Lean_Parser_Term_trueVal___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_declName_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_binop__lazy___closed__6; @@ -644,6 +650,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_ensureExpectedType_declRange static lean_object* l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_sort__1(lean_object*); static lean_object* l_Lean_Parser_Term_cdot___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__23; static lean_object* l_Lean_Parser_Term_typeSpec___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_noindex_formatter__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__4; @@ -655,11 +662,11 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_explicit_formatter__1___clos static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_pipeCompletion___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__17; static lean_object* l_Lean_Parser_Term_local___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_dynamicQuot_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Term_sorry___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__7; static lean_object* l_Lean_Parser_Term_binop_formatter___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_haveId_formatter__1(lean_object*); @@ -709,7 +716,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___close LEAN_EXPORT lean_object* l_Lean_Parser_Term_trailing__parser_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_sufficesDecl_formatter__1___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_arrow__1(lean_object*); -static lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__6; static lean_object* l_Lean_Parser_Term_letIdLhs_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__3; static lean_object* l_Lean_Parser_Term_match_formatter___closed__14; @@ -728,6 +734,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_withAnonymousAntiquot_p static lean_object* l___regBuiltin_Lean_Parser_Term_letExpr_formatter__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_str_declRange__1___closed__4; static lean_object* l_Lean_Parser_Term_suffices___closed__7; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__27; static lean_object* l___regBuiltin_Lean_Parser_Tactic_sepByIndentSemicolon_docString__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_borrowed_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_matchExpr___closed__8; @@ -748,9 +755,11 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeContainsMVar_paren static lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__9; static lean_object* l_Lean_Parser_Term_optExprPrecedence_formatter___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__7; static lean_object* l_Lean_Parser_Term_omission___closed__5; static lean_object* l_Lean_Parser_Term_let__fun___closed__14; static lean_object* l_Lean_Parser_Term_dotIdent___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__30; static lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_quotedName_declRange__1___closed__7; lean_object* l_Lean_Parser_leadingNode(lean_object*, lean_object*, lean_object*); @@ -759,6 +768,7 @@ static lean_object* l_Lean_Parser_Term_let__fun_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_app_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_basicFun___closed__11; static lean_object* l_Lean_Parser_Term_depArrow___closed__9; +static lean_object* l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_basicFun_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_noErrorIfUnused_declRange__1___closed__7; @@ -769,6 +779,7 @@ static lean_object* l_Lean_Parser_Term_noImplicitLambda___closed__1; static lean_object* l_Lean_Parser_Term_unreachable___closed__2; static lean_object* l_Lean_Parser_Term_match___closed__10; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forall_formatter__1(lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__45; static lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_unop_docString__1___closed__1; static lean_object* l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__1; @@ -778,7 +789,6 @@ static lean_object* l_Lean_Parser_Termination_terminationBy_parenthesizer___clos LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_sufficesDecl_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_assert_formatter___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderDefault; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_matchAltsWhereDecls_formatter__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_sorry_parenthesizer__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_let_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -792,7 +802,6 @@ static lean_object* l_Lean_Parser_Term_bracketedBinder___closed__1; static lean_object* l_Lean_Parser_Term_binrel__no__prop_parenthesizer___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeAscription_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_haveId_formatter___closed__1; -LEAN_EXPORT lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921_(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Termination_terminationBy_formatter___closed__1; static lean_object* l_Lean_Parser_Term_showTermElabImpl___closed__7; @@ -840,6 +849,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_showTermElabImpl_declRange__ static lean_object* l_Lean_Parser_Term_ellipsis_formatter___closed__3; static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__12; static lean_object* l_Lean_Parser_Term_dbgTrace___closed__5; +static lean_object* l_Lean_Parser_Term_instBinder___closed__11; static lean_object* l___regBuiltin_Lean_Parser_Term_byTactic_declRange__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_binop__lazy_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_suffices_declRange__1___closed__6; @@ -889,9 +899,9 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_binrel_parenthesizer(lean_object*, l static lean_object* l___regBuiltin_Lean_Parser_Term_paren_parenthesizer__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_macroDollarArg_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_str; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__1; static lean_object* l_Lean_Parser_Term_binrel_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__7; -static lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__20; static lean_object* l___regBuiltin_Lean_Parser_Term_attributes_formatter__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_letI_formatter__1___closed__2; static lean_object* l_Lean_Parser_Term_paren___closed__7; @@ -901,6 +911,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_let__fun_declRange__1___clos static lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_matchExprElseAlt_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_attrKind___closed__3; +static lean_object* l_Lean_Parser_Term_structInstFieldBinder___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_sort_declRange__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_quotSeq_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_declRange__1___closed__2; @@ -938,9 +949,11 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_pa static lean_object* l_Lean_Parser_Tactic_quotSeq___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Term_pipeProj_parenthesizer___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__31; static lean_object* l_Lean_Parser_Term_let__tmp___closed__5; static lean_object* l_Lean_Parser_Term_noErrorIfUnused___closed__4; lean_object* l_Lean_Parser_interpolatedStr(lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern_declRange__1___closed__7; static lean_object* l_Lean_Parser_Term_ellipsis_formatter___closed__6; static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__4; @@ -1003,7 +1016,6 @@ lean_object* l_Lean_Parser_nameLit_formatter(lean_object*, lean_object*, lean_ob lean_object* l_Lean_Parser_nonReservedSymbol(lean_object*, uint8_t); static lean_object* l_Lean_Parser_Term_structInstLVal___closed__10; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_hole_parenthesizer__1(lean_object*); -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_prop_formatter__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_unreachable_declRange__1(lean_object*); lean_object* l_Lean_Parser_hygieneInfo_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1011,7 +1023,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_docString static lean_object* l_Lean_Parser_Term_tuple___closed__11; static lean_object* l_Lean_Parser_Term_namedArgument_formatter___closed__6; static lean_object* l_Lean_Parser_Term_sufficesDecl___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48; static lean_object* l_Lean_Parser_Term_binrel___closed__2; static lean_object* l_Lean_Parser_Term_stateRefT___closed__5; static lean_object* l_Lean_Parser_Term_rightact_parenthesizer___closed__2; @@ -1027,6 +1038,8 @@ lean_object* l_Lean_Parser_ppDedent_parenthesizer(lean_object*, lean_object*, le static lean_object* l_Lean_Parser_Term_ensureExpectedType_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Term_rightact_declRange__1___closed__7; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__63; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__55; static lean_object* l_Lean_Parser_Term_let__delayed_formatter___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_leftact_parenthesizer__1(lean_object*); @@ -1036,6 +1049,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_tuple_parenthesizer__1___clo static lean_object* l_Lean_Parser_Term_tuple___closed__14; static lean_object* l___regBuiltin_Lean_Parser_Term_pipeProj_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_scoped_parenthesizer___closed__3; +static lean_object* l_Lean_Parser_Term_instBinder_formatter___closed__10; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern__1(lean_object*); static lean_object* l_Lean_Parser_Term_waitIfTypeMVar_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_sufficesDecl___closed__12; @@ -1044,7 +1058,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_explicit_parenthesizer__1___ static lean_object* l___regBuiltin_Lean_Parser_Term_show_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_panic_formatter___closed__4; static lean_object* l_Lean_Parser_Term_letrec___closed__6; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__63; +static lean_object* l_Lean_Parser_Term_binderTactic_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Term_anonymousCtor___closed__13; static lean_object* l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__8; extern lean_object* l_Lean_Parser_strLit; @@ -1067,9 +1081,9 @@ static lean_object* l_Lean_Parser_Term_waitIfTypeMVar___closed__8; static lean_object* l_Lean_Parser_Term_proj_formatter___closed__5; static lean_object* l_Lean_Parser_Term_binop_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_letMVar_parenthesizer___closed__1; -static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__9; static lean_object* l_Lean_Parser_Term_completion___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_formatter__1___closed__1; +static lean_object* l_Lean_Parser_Term_structInstField_parenthesizer___closed__8; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letExpr_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_showTermElabImpl_formatter___closed__4; @@ -1078,6 +1092,7 @@ static lean_object* l_Lean_Parser_Term_dynamicQuot_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Term_match_formatter__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_dotIdent_formatter__1___closed__1; +static lean_object* l_Lean_Parser_Term_structInstField_parenthesizer___closed__10; static lean_object* l_Lean_Parser_Term_waitIfTypeMVar_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_letDecl_docString__1___closed__3; lean_object* l_Lean_Parser_checkLinebreakBefore(lean_object*); @@ -1103,7 +1118,6 @@ static lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_letIdDecl_formatter___closed__1; static lean_object* l_Lean_Parser_Term_structInstField___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_byTactic_declRange__1___closed__4; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__23; static lean_object* l___regBuiltin_Lean_Parser_Term_letI_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_whereDecls_formatter___closed__3; static lean_object* l_Lean_Parser_Term_ensureExpectedType_formatter___closed__1; @@ -1159,10 +1173,12 @@ static lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented_formatter___closed__ static lean_object* l_Lean_Parser_Term_optEllipsis_formatter___closed__1; static lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_dbgTrace___closed__3; +static lean_object* l_Lean_Parser_Term_matchAlt___closed__11; static lean_object* l_Lean_Parser_Term_defaultOrOfNonempty_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_optExprPrecedence_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_let__tmp_declRange__1___closed__1; lean_object* l_Lean_PrettyPrinter_Formatter_checkNoWsBefore_formatter___boxed(lean_object*); +static lean_object* l_Lean_Parser_Term_structInstFieldEqns___closed__5; static lean_object* l_Lean_Parser_Term_type___closed__1; static lean_object* l_Lean_Parser_Term_namedPattern___closed__5; static lean_object* l_Lean_Parser_Term_haveEqnsDecl_formatter___closed__2; @@ -1174,7 +1190,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_pipeProj_declRange__1___clos static lean_object* l_Lean_Parser_Term_assert___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_unsafe_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_dbgTrace___closed__7; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__9; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_typeAscription_docString__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_doubleQuotedName_formatter___closed__3___boxed__const__1; static lean_object* l___regBuiltin_Lean_Parser_Term_sufficesDecl_parenthesizer__1___closed__2; @@ -1188,7 +1203,9 @@ lean_object* l_Lean_addBuiltinDeclarationRanges(lean_object*, lean_object*, lean static lean_object* l_Lean_Parser_Term_unop_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_inaccessible_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_binrel_formatter___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__56; static lean_object* l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__3; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letExpr_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_namedArgument_parenthesizer___closed__2; static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__13; @@ -1198,7 +1215,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_panic_declRange__1___closed_ static lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__4; static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__3; static lean_object* l_Lean_Parser_Term_assert___closed__10; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__14; static lean_object* l_Lean_Parser_Term_binderDefault___closed__2; static lean_object* l_Lean_Parser_Term_letPatDecl_parenthesizer___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_let__tmp_docString__1(lean_object*); @@ -1207,7 +1223,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_unreachable_docString__ LEAN_EXPORT lean_object* l_Lean_Parser_Term_unreachable; static lean_object* l_Lean_Parser_Term_inaccessible_formatter___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_dotIdent_declRange__1___closed__7; -static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__2; +static lean_object* l_Lean_Parser_Term_binderTactic_formatter___closed__7; extern lean_object* l_Lean_Parser_hygieneInfo; static lean_object* l_Lean_Parser_Term_forInMacro_formatter___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_leftact_formatter__1___closed__2; @@ -1260,7 +1276,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__ static lean_object* l_Lean_Parser_Term_nomatch___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Termination_terminationBy_docString__1___closed__3; static lean_object* l_Lean_Parser_Term_noImplicitLambda___closed__4; -static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__1; static lean_object* l_Lean_Parser_Term_whereDecls___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_binrel_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_haveIdDecl___closed__9; @@ -1271,7 +1286,6 @@ static lean_object* l_Lean_Parser_Term_scoped_formatter___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letRecDecls_parenthesizer__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letEqnsDecl_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_haveI_parenthesizer__1___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__54; static lean_object* l_Lean_Parser_Term_structInstField___closed__10; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_forInMacro_x27_formatter___closed__2; @@ -1289,6 +1303,7 @@ static lean_object* l_Lean_Parser_Term_noindex_formatter___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letIdDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_forInMacro___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_str_declRange__1___closed__2; +static lean_object* l_Lean_Parser_Term_instBinder___closed__9; lean_object* l_Lean_Name_mkStr5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer___closed__10; static lean_object* l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__2; @@ -1306,13 +1321,16 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docStri static lean_object* l_Lean_Parser_Term_binrel_formatter___closed__2; static lean_object* l_Lean_Parser_Term_ensureExpectedType___closed__9; static lean_object* l_Lean_Parser_Term_prop___closed__5; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__20; static lean_object* l___regBuiltin_Lean_Parser_Term_pipeProj_declRange__1___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_sorry_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_let__fun_formatter___closed__2; static lean_object* l_Lean_Parser_Term_suffices_parenthesizer___closed__3; +static lean_object* l_Lean_Parser_Term_instBinder_formatter___closed__9; static lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__6; static lean_object* l_Lean_Parser_Term_structInst___closed__27; static lean_object* l_Lean_Parser_Term_matchAltsWhereDecls_formatter___closed__7; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_optTypeForStructInst_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__2; static lean_object* l_Lean_Parser_Term_binop__lazy_formatter___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_show_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1324,7 +1342,6 @@ static lean_object* l_Lean_Parser_Term_dynamicQuot_formatter___closed__6; lean_object* l_Lean_PrettyPrinter_Formatter_fieldIdx_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letIdDecl_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Termination_terminationBy_formatter___closed__13; -static lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__12; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forall_declRange__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_motive_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_termParser_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1417,6 +1434,7 @@ static lean_object* l_Lean_Parser_Term_stateRefT_parenthesizer___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_let_declRange__1___closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchExprAlt(lean_object*); static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__4; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__60; LEAN_EXPORT lean_object* l_Lean_Parser_Term_haveEqnsDecl; static lean_object* l_Lean_Parser_Tactic_quotSeq_formatter___closed__6; static lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented_parenthesizer___closed__3; @@ -1425,8 +1443,6 @@ static lean_object* l_Lean_Parser_Term_namedArgument___closed__9; static lean_object* l_Lean_Parser_Term_noImplicitLambda_formatter___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicitUniv__1(lean_object*); static lean_object* l_Lean_Parser_Term_letPatDecl_parenthesizer___closed__3; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__9; -static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__18; static lean_object* l_Lean_Parser_Term_optEllipsis___closed__3; static lean_object* l_Lean_Parser_Term_typeAscription___closed__23; static lean_object* l___regBuiltin_Lean_Parser_Term_letRecDecl_parenthesizer__1___closed__2; @@ -1438,7 +1454,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitUniv; static lean_object* l_Lean_Parser_Term_strictImplicitRightBracket___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_dotIdent_declRange__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_binrel_docString__1___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__49; LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeSpec; static lean_object* l_Lean_Parser_Term_doubleQuotedName___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_whereDecls; @@ -1463,7 +1478,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_declRange__1___ LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_binrel_formatter___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeqIndentGt_parenthesizer__1___closed__1; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_unreachable_declRange__1___closed__5; static lean_object* l_Lean_Parser_Term_binderTactic___closed__11; static lean_object* l___regBuiltin_Lean_Parser_Term_paren_formatter__1___closed__1; @@ -1505,10 +1519,12 @@ static lean_object* l_Lean_Parser_Term_cdot_formatter___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_declName_docString__1___closed__1; static lean_object* l_Lean_Parser_Term_dbgTrace___closed__11; static lean_object* l_Lean_Parser_Term_namedArgument___closed__3; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__5; static lean_object* l_Lean_Parser_Term_forInMacro_formatter___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Term_trueVal___closed__3; static lean_object* l_Lean_Parser_Term_waitIfContainsMVar___closed__3; +static lean_object* l_Lean_Parser_Term_structInstField_parenthesizer___closed__12; static lean_object* l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_sepBy1IndentSemicolon_docString__1(lean_object*); static lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__6; @@ -1518,6 +1534,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_tuple_formatter__1___closed_ static lean_object* l_Lean_Parser_Term_forInMacro___closed__8; static lean_object* l_Lean_Parser_Term_whereDecls_formatter___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Tactic_sepByIndentSemicolon_docString__1___closed__3; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__48; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_sepBy1IndentSemicolon(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_ensureTypeOf_parenthesizer__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1563,10 +1580,8 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_declRange static lean_object* l___regBuiltin_Lean_Parser_Term_suffices_declRange__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_funBinder; static lean_object* l_Lean_Parser_Term_paren___closed__10; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__45; static lean_object* l_Lean_Parser_Term_borrowed___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_parenthesizer__1___closed__1; -static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__12; static lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__3; static lean_object* l_Lean_Parser_Term_typeAscription_formatter___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeOf_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1581,12 +1596,15 @@ static lean_object* l_Lean_Parser_Term_have_formatter___closed__4; static lean_object* l_Lean_Parser_Term_ensureExpectedType_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_subst_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_letExpr___closed__15; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__8; static lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__3; static lean_object* l_Lean_Parser_Term_funImplicitBinder_formatter___closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Term_forInMacro_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_noErrorIfUnused_declRange__1___closed__4; static lean_object* l_Lean_Parser_Term_attrInstance_formatter___closed__6; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__42; LEAN_EXPORT lean_object* l_Lean_Parser_Term_funStrictImplicitBinder_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_pipeProj_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_binderTactic___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFields(lean_object*); @@ -1605,7 +1623,6 @@ static lean_object* l_Lean_Parser_Term_sufficesDecl_formatter___closed__1; static lean_object* l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__9; static lean_object* l_Lean_Parser_Term_whereDecls___closed__3; static lean_object* l_Lean_Parser_Term_suffices_parenthesizer___closed__4; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__55; static lean_object* l_Lean_Parser_Term_strictImplicitRightBracket___closed__1; static lean_object* l_Lean_Parser_Term_namedPattern___closed__9; static lean_object* l_Lean_Parser_Term_syntheticHole_formatter___closed__4; @@ -1615,6 +1632,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_paren_docString__1(lean static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__4; static lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__3; static lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__3; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__11; static lean_object* l_Lean_Parser_Term_namedArgument_formatter___closed__4; static lean_object* l_Lean_Parser_Term_binop___closed__7; LEAN_EXPORT lean_object* l_Lean_Parser_Term_rightact; @@ -1624,6 +1642,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_nomatch_parenthesizer(lean_object*, static lean_object* l___regBuiltin_Lean_Parser_Term_sufficesDecl_docString__1___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_trailing__parser__1(lean_object*); static lean_object* l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__9; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__37; static lean_object* l_Lean_Parser_Term_byTactic___closed__2; static lean_object* l_Lean_Parser_Term_sort_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_noindex_formatter__1___closed__2; @@ -1636,7 +1655,9 @@ static lean_object* l_Lean_Parser_Term_binop_parenthesizer___closed__4; lean_object* l_Lean_Parser_sepByIndent_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_waitIfContainsMVar_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt_formatter___closed__1; +static lean_object* l_Lean_Parser_Term_binderTactic___closed__12; static lean_object* l_Lean_Parser_Term_hole_parenthesizer___closed__2; +LEAN_EXPORT lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477_(lean_object*); static lean_object* l_Lean_Parser_Term_letExpr_parenthesizer___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_semicolonOrLinebreak_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_quotedName_formatter___closed__3; @@ -1654,6 +1675,7 @@ static lean_object* l_Lean_Parser_Term_have___closed__4; static lean_object* l_Lean_Parser_Term_forall_formatter___closed__11; static lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt___closed__6; static lean_object* l_Lean_Parser_Term_defaultOrOfNonempty_formatter___closed__5; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__40; static lean_object* l_Lean_Parser_Term_attrKind_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_paren_parenthesizer___closed__5; static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__18; @@ -1676,7 +1698,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_fun_declRange__1___closed__5 LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_explicit___closed__6; static lean_object* l_Lean_Parser_Term_binderTactic___closed__4; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__22; static lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Termination_decreasingBy_docString__1___closed__3; @@ -1724,7 +1745,6 @@ static lean_object* l_Lean_Parser_Term_fun_formatter___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_subst_docString__1(lean_object*); static lean_object* l_Lean_Parser_Termination_terminationBy_x3f___closed__5; static lean_object* l_Lean_Parser_Term_namedPattern_formatter___closed__3; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Term_prop___closed__6; static lean_object* l_Lean_Parser_Term_haveId_parenthesizer___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_defaultOrOfNonempty_declRange__1___closed__4; @@ -1732,11 +1752,14 @@ static lean_object* l_Lean_Parser_Term_binrel_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_structInst___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_haveIdDecl_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_namedPattern_formatter___closed__7; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__24; static lean_object* l_Lean_Parser_Term_matchAltsWhereDecls_formatter___closed__6; static lean_object* l_Lean_Parser_Term_binop___closed__3; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot___closed__13; static lean_object* l_Lean_Parser_Term_dbgTrace_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__14; +static lean_object* l_Lean_Parser_Term_structInstFieldDef___closed__5; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__13; lean_object* l_Lean_Parser_mkAntiquot_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_waitIfTypeContainsMVar___closed__5; static lean_object* l_Lean_Parser_Term_clear___closed__6; @@ -1764,8 +1787,8 @@ static lean_object* l_Lean_Parser_Term_quotedName_formatter___closed__2; static lean_object* l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__6; uint8_t l_Lean_Syntax_isAntiquot(lean_object*); static lean_object* l_Lean_Parser_Term_letIdLhs___closed__7; +static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__12; static lean_object* l_Lean_Parser_Term_unreachable___closed__7; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__37; static lean_object* l_Lean_Parser_Term_structInst___closed__2; static lean_object* l_Lean_Parser_Term_ident_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_cdot_formatter__1___closed__1; @@ -1790,6 +1813,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1_ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_omission__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Command_docComment_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_type_declRange__1___closed__6; +static lean_object* l_Lean_Parser_Term_inaccessible_formatter___closed__6; static lean_object* l_Lean_Parser_Term_dbgTrace___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_match_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_namedArgument_formatter___closed__5; @@ -1800,7 +1824,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_type_declRange__1___closed__ static lean_object* l_Lean_Parser_Term_omission_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_sort_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_matchExprPat_parenthesizer___closed__5; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__3; lean_object* l_Lean_Parser_strLit_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Termination_terminationBy_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_sufficesDecl_formatter___closed__13; @@ -1813,7 +1836,6 @@ static lean_object* l_Lean_Parser_Term_basicFun_parenthesizer___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Term_noImplicitLambda_declRange__1___closed__3; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_parenthesizer___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_noErrorIfUnused_parenthesizer__1(lean_object*); -static lean_object* l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_letEqnsDecl___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_show_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__3; @@ -1822,9 +1844,9 @@ static lean_object* l_Lean_Parser_Term_structInst___closed__20; static lean_object* l_Lean_Parser_Term_attrInstance_formatter___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Term_trueVal; static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeContainsMVar_declRange__1___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__7; static lean_object* l_Lean_Parser_Term_haveDecl___closed__7; static lean_object* l_Lean_Parser_Term_matchDiscr_formatter___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__9; static lean_object* l_Lean_Parser_Term_typeOf___closed__3; static lean_object* l_Lean_Parser_Term_binderTactic_formatter___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__2; @@ -1869,7 +1891,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_ellipsis_formatter__1(l static lean_object* l_Lean_Parser_Command_docComment___closed__1; static lean_object* l_Lean_Parser_Term_binop__lazy___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_paren_declRange__1___closed__2; -static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_haveI_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_ellipsis___closed__9; static lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__5; @@ -1877,6 +1898,7 @@ static lean_object* l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed static lean_object* l___regBuiltin_Lean_Parser_Term_explicitUniv_declRange__1___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_leading__parser_declRange__1___closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Term_optSemicolon_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDeclParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_forInMacro_x27; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binop__lazy_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_defaultOrOfNonempty_formatter___closed__2; @@ -1945,6 +1967,7 @@ static lean_object* l_Lean_Parser_Term_funImplicitBinder_parenthesizer___closed_ static lean_object* l_Lean_Parser_Term_matchExprPat___closed__12; static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeq1Indented_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_forall_formatter___closed__12; +static lean_object* l_Lean_Parser_Term_structInstFieldEqns___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Termination_terminationBy___closed__9; static lean_object* l_Lean_Parser_Term_attributes___closed__10; @@ -1962,12 +1985,12 @@ static lean_object* l_Lean_Parser_Term_tuple_formatter___closed__8; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letI; static lean_object* l_Lean_Parser_Term_byTactic___closed__5; static lean_object* l_Lean_Parser_Term_num_parenthesizer___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__57; static lean_object* l_Lean_Parser_Term_letPatDecl_formatter___closed__5; static lean_object* l_Lean_Parser_Term_defaultOrOfNonempty_formatter___closed__1; static lean_object* l_Lean_Parser_Term_type___closed__14; static lean_object* l___regBuiltin_Lean_Parser_Term_letI_declRange__1___closed__4; static lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__8; -static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__1; lean_object* l_Lean_Parser_ident_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_fun_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_stateRefT_parenthesizer__1(lean_object*); @@ -1987,16 +2010,14 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_haveEqnsDecl_parenthesizer(lean_obje static lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_haveIdDecl___closed__4; static lean_object* l_Lean_Parser_Term_trailing__parser_formatter___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__33; LEAN_EXPORT lean_object* l_Lean_Parser_Term_dynamicQuot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_ensureExpectedType_parenthesizer___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_hole_formatter__1___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_let__tmp_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Term_showTermElabImpl_parenthesizer___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_tacticParser_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_forInMacro___closed__6; -LEAN_EXPORT lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419_(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__57; LEAN_EXPORT lean_object* l_Lean_Parser_Term_pipeCompletion_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_noImplicitLambda_formatter___closed__3; static lean_object* l_Lean_Parser_semicolonOrLinebreak_parenthesizer___closed__2; @@ -2007,11 +2028,13 @@ static lean_object* l_Lean_Parser_Termination_suffix___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_whereDecls_formatter__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_leading__parser_formatter__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_tuple_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Term_structInstFieldDef___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_explicitUniv_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_macroDollarArg_formatter___closed__3; static lean_object* l_Lean_Parser_Term_funStrictImplicitBinder_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern_formatter__1___closed__1; +static lean_object* l_Lean_Parser_Term_instBinder___closed__10; static lean_object* l_Lean_Parser_Term_leftact_parenthesizer___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchExpr; static lean_object* l_Lean_Parser_Term_unsafe___closed__7; @@ -2042,6 +2065,7 @@ static lean_object* l_Lean_Parser_Term_subst_parenthesizer___closed__1; static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__19; static lean_object* l___regBuiltin_Lean_Parser_Term_noImplicitLambda_formatter__1___closed__2; lean_object* l_Lean_Parser_many1_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__34; static lean_object* l_Lean_Parser_Termination_decreasingBy___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letIdLhs_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_completion_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2072,6 +2096,7 @@ static lean_object* l_Lean_Parser_Term_panic___closed__2; static lean_object* l_Lean_Parser_Term_binderDefault___closed__6; static lean_object* l_Lean_Parser_Command_docComment_formatter___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__1; +static lean_object* l_Lean_Parser_Term_structInstFieldDef___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_pipeProj_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_leftact___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_optType_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2082,6 +2107,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_have_formatter__1(lean_ static lean_object* l_Lean_Parser_Term_typeOf___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_prop_formatter__1___closed__2; static lean_object* l_Lean_Parser_Term_motive_formatter___closed__4; +static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__14; static lean_object* l_Lean_Parser_Tactic_quot_parenthesizer___closed__4; static lean_object* l_Lean_Parser_semicolonOrLinebreak___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Termination_terminationBy_x3f_parenthesizer__1___closed__2; @@ -2092,8 +2118,10 @@ static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_formatter___closed_ static lean_object* l_Lean_Parser_Term_explicitBinder_formatter___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_waitIfTypeContainsMVar_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_typeAscription_parenthesizer__1(lean_object*); +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__6; static lean_object* l_Lean_Parser_Term_match___closed__17; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1(lean_object*); +static lean_object* l_Lean_Parser_Term_structInstFieldBinder_parenthesizer___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_clear_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfContainsMVar_declRange__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1___closed__1; @@ -2158,10 +2186,11 @@ static lean_object* l_Lean_Parser_Term_scoped___closed__3; static lean_object* l_Lean_Parser_Term_scoped_formatter___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer__1(lean_object*); +static lean_object* l_Lean_Parser_Term_binderDefault_formatter___closed__3; static lean_object* l_Lean_Parser_Term_structInst___closed__23; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_subst_formatter__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Termination_decreasingBy_docString__1(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__24; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__11; static lean_object* l___regBuiltin_Lean_Parser_Term_defaultOrOfNonempty_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_attrKind_docString__1___closed__2; @@ -2181,7 +2210,6 @@ static lean_object* l_Lean_Parser_Term_falseVal_formatter___closed__2; static lean_object* l_Lean_Parser_Term_funStrictImplicitBinder_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_show___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_haveIdLhs_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__2; static lean_object* l_Lean_Parser_Term_assert_formatter___closed__4; static lean_object* l_Lean_Parser_Term_suffices___closed__10; static lean_object* l_Lean_Parser_Term_doubleQuotedName_formatter___closed__5; @@ -2198,9 +2226,9 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder(uint8_t); LEAN_EXPORT lean_object* l_Lean_Parser_Term_leftact_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_app__1(lean_object*); static lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDef_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_panic_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_whereDecls___closed__4; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__21; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letIdDecl_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_haveI_declRange__1___closed__6; @@ -2214,7 +2242,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_docString__1___ static lean_object* l___regBuiltin_Lean_Parser_Term_basicFun_formatter__1___closed__2; lean_object* l_ReaderT_bind___at_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_convParser(lean_object*); -static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__20; static lean_object* l_Lean_Parser_Term_letrec_parenthesizer___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_withDeclName; static lean_object* l___regBuiltin_Lean_Parser_Term_matchAltsWhereDecls_formatter__1___closed__1; @@ -2226,6 +2253,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_trailing__parser_format lean_object* l_Lean_PrettyPrinter_Parenthesizer_checkColGe_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_stateRefT___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Tactic_quotSeq_declRange__1___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__25; static lean_object* l_Lean_Parser_Term_panic___closed__5; static lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__10; static lean_object* l_Lean_Parser_Term_noErrorIfUnused___closed__9; @@ -2247,7 +2275,6 @@ static lean_object* l_Lean_Parser_Term_letPatDecl_formatter___closed__6; static lean_object* l_Lean_Parser_Term_funBinder_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_declRange__1___closed__3; static lean_object* l_Lean_Parser_Tactic_quot_formatter___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicitUniv_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_letIdDecl_formatter___closed__4; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__9; @@ -2280,6 +2307,7 @@ static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___clos LEAN_EXPORT lean_object* l_Lean_Parser_Term_sorry_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_ensureExpectedType_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_quotedName_parenthesizer__1___closed__2; +static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_parenthesizer___closed__8; static lean_object* l_Lean_Parser_Termination_decreasingBy___closed__4; static lean_object* l_Lean_Parser_Term_hole_formatter___closed__3; @@ -2303,7 +2331,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_panic__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_byTactic_declRange__1___closed__1; static lean_object* l_Lean_Parser_Term_letIdDecl_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_let__fun___closed__12; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__30; static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_declRange__1___closed__2; static lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_dotIdent_formatter__1(lean_object*); @@ -2332,11 +2359,12 @@ static lean_object* l_Lean_Parser_Termination_decreasingBy_parenthesizer___close LEAN_EXPORT lean_object* l_Lean_Parser_tacticParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Termination_terminationBy_x3f_docString__1___closed__1; static lean_object* l_Lean_Parser_Term_haveI___closed__1; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letrec__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_sorry_formatter__1___closed__2; static lean_object* l_Lean_Parser_Term_matchExprAlt___closed__1; +static lean_object* l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__3; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDef; static lean_object* l_Lean_Parser_Term_structInstLVal___closed__8; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_unsafe_docString__1(lean_object*); static lean_object* l_Lean_Parser_Term_matchAltsWhereDecls_formatter___closed__1; @@ -2363,15 +2391,18 @@ static lean_object* l_Lean_Parser_Tactic_tacticSeq_formatter___closed__1; static lean_object* l_Lean_Parser_Term_namedArgument___closed__7; static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__8; static lean_object* l_Lean_Parser_Termination_terminationBy_formatter___closed__8; +static lean_object* l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_fun_formatter__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_matchExpr_declRange__1___closed__7; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__11; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__33; static lean_object* l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__1; +static lean_object* l_Lean_Parser_Term_binderTactic___closed__13; +static lean_object* l_Lean_Parser_Term_instBinder_parenthesizer___closed__10; static lean_object* l___regBuiltin_Lean_Parser_Term_noImplicitLambda_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_scoped_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Termination_terminationBy_formatter___closed__9; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Termination_terminationBy___closed__5; static lean_object* l_Lean_Parser_Term_show_formatter___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_fromTerm_formatter__1(lean_object*); @@ -2390,12 +2421,12 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_anonymousCtor_formatter__1__ static lean_object* l_Lean_Parser_Term_fromTerm___closed__8; static lean_object* l_Lean_Parser_Term_haveDecl___closed__2; static lean_object* l_Lean_Parser_Term_matchExprPat___closed__4; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__5; static lean_object* l_Lean_Parser_Term_typeOf___closed__5; static lean_object* l_Lean_Parser_Term_basicFun___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_matchExpr_formatter__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_declName; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_type_parenthesizer__1(lean_object*); lean_object* l_Lean_PrettyPrinter_Formatter_visitAtom(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2406,8 +2437,10 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeMVar_declRange__1_ static lean_object* l_Lean_Parser_Term_binrel_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_have_parenthesizer___closed__5; lean_object* l_Lean_PrettyPrinter_Formatter_parserOfStack_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_waitIfTypeContainsMVar___closed__2; static lean_object* l_Lean_Parser_Termination_decreasingBy___closed__8; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__49; static lean_object* l_Lean_Parser_Term_motive_formatter___closed__5; lean_object* l_Lean_Parser_trailingNode(lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_leading__parser___closed__7; @@ -2423,7 +2456,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_let__delayed_declRange__1___ static lean_object* l_Lean_Parser_Term_let__delayed___closed__3; static lean_object* l_Lean_Parser_Term_letExpr_formatter___closed__3; static lean_object* l_Lean_Parser_Term_assert___closed__4; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__50; static lean_object* l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__20; static lean_object* l_Lean_Parser_Term_clear___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_type_declRange__1___closed__2; @@ -2449,6 +2481,7 @@ static lean_object* l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__1; static lean_object* l_Lean_Parser_Term_ensureTypeOf_formatter___closed__6; static lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__9; static lean_object* l_Lean_Parser_Term_letExpr_parenthesizer___closed__7; +static lean_object* l_Lean_Parser_Term_optTypeForStructInst___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_dotIdent_declRange__1___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_macroDollarArg_formatter__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_generalizingParam; @@ -2465,8 +2498,8 @@ static lean_object* l_Lean_Parser_Term_binop__lazy_parenthesizer___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_let__delayed___closed__11; static lean_object* l_Lean_Parser_Tactic_quotSeq_parenthesizer___closed__1; +static lean_object* l_Lean_Parser_Term_structInstFieldDef___closed__3; static lean_object* l_Lean_Parser_Term_haveId___closed__8; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__38; static lean_object* l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_cdot___closed__4; @@ -2476,6 +2509,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_leftact_declRange__1___close LEAN_EXPORT lean_object* l_Lean_Parser_Term_paren; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicitUniv_formatter__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_unsafe_formatter__1(lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__39; static lean_object* l_Lean_Parser_Term_depArrow___closed__10; static lean_object* l___regBuiltin_Lean_Parser_Term_structInst_docString__1___closed__1; static lean_object* l_Lean_Parser_Term_haveI_parenthesizer___closed__1; @@ -2488,9 +2522,10 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_parenthesi LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_attributes_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Tactic_quotSeq_formatter__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_trailing__parser_declRange__1___closed__5; +static lean_object* l_Lean_Parser_Term_structInstFieldBinder___closed__2; +static lean_object* l_Lean_Parser_Term_structInstField___closed__11; static lean_object* l_Lean_Parser_Term_waitIfTypeMVar___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_x27_declRange__1___closed__6; -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_typeAscription_formatter___closed__6; static lean_object* l_Lean_Parser_Term_argument___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_noindex_declRange__1___closed__6; @@ -2502,7 +2537,6 @@ static lean_object* l_Lean_Parser_Termination_terminationBy_parenthesizer___clos static lean_object* l_Lean_Parser_Term_let__fun___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_rightact_declRange__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_attrKind; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__44; static lean_object* l_Lean_Parser_Term_dbgTrace_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_suffices_declRange__1___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst__1(lean_object*); @@ -2524,6 +2558,7 @@ static lean_object* l_Lean_Parser_Term_doubleQuotedName___closed__4; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__3; static lean_object* l_Lean_Parser_Term_haveIdDecl_formatter___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__3; +static lean_object* l_Lean_Parser_Term_inaccessible___closed__11; static lean_object* l_Lean_Parser_Term_basicFun_parenthesizer___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_byTactic_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_unreachable_parenthesizer___closed__1; @@ -2551,7 +2586,6 @@ static lean_object* l_Lean_Parser_Term_binop__lazy___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_paren_declRange__1___closed__3; static lean_object* l_Lean_Parser_Term_leftact___closed__4; static lean_object* l_Lean_Parser_Term_binderTactic___closed__7; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__13; LEAN_EXPORT lean_object* l_Lean_Parser_Term_sort; static lean_object* l_Lean_Parser_Tactic_quotSeq___closed__9; static lean_object* l___regBuiltin_Lean_Parser_Term_explicit_docString__1___closed__1; @@ -2560,6 +2594,7 @@ static lean_object* l_Lean_Parser_Term_inaccessible___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_completion_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__4; static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__7; +static lean_object* l_Lean_Parser_Term_optTypeForStructInst___closed__1; static lean_object* l_Lean_Parser_Term_declName___closed__6; static lean_object* l_Lean_Parser_Term_attrKind_formatter___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeMVar_declRange__1(lean_object*); @@ -2577,6 +2612,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_let__fun_formatter__1___clos static lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_docString__1___closed__1; lean_object* l_Lean_Parser_notFollowedBy(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_byTactic_x27___closed__6; +static lean_object* l_Lean_Parser_Term_structInstFieldBinder_formatter___closed__1; static lean_object* l_Lean_Parser_Term_letPatDecl___closed__7; static lean_object* l_Lean_Parser_Term_trailing__parser_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_whereDecls___closed__10; @@ -2589,10 +2625,13 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_dynamicQuot_formatter__1___c static lean_object* l___regBuiltin_Lean_Parser_Term_binrel_declRange__1___closed__4; static lean_object* l_Lean_Parser_Term_typeOf___closed__7; static lean_object* l_Lean_Parser_Term_namedPattern_parenthesizer___closed__5; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__36; static lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer___closed__15; static lean_object* l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_nofun; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__32; static lean_object* l_Lean_Parser_Term_arrow___closed__5; +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldDef__1(lean_object*); static lean_object* l_Lean_Parser_Term_let_formatter___closed__5; static lean_object* l_Lean_Parser_Term_binderTactic_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_anonymousCtor___closed__3; @@ -2620,6 +2659,7 @@ static lean_object* l_Lean_Parser_Term_byTactic_formatter___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_haveEqnsDecl_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_letEqnsDecl_parenthesizer___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_funBinder_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldBinder_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeSpec_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_funStrictImplicitBinder_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_forInMacro_parenthesizer___closed__2; @@ -2646,6 +2686,7 @@ static lean_object* l_Lean_Parser_Term_funImplicitBinder_parenthesizer___closed_ static lean_object* l___regBuiltin_Lean_Parser_Term_sort_declRange__1___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName__1(lean_object*); lean_object* l_Lean_ppDedentIfGrouped_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__15; static lean_object* l_Lean_Parser_Term_haveDecl_formatter___closed__2; static lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Termination_terminationBy___closed__15; @@ -2700,6 +2741,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_ensureTypeOf_formatter__1___ static lean_object* l_Lean_Parser_Term_attributes_formatter___closed__7; lean_object* l_Lean_Parser_symbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__1; +static lean_object* l_Lean_Parser_Term_structInstField_parenthesizer___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_attrInstance_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_binderTactic_formatter___closed__1; static lean_object* l_Lean_Parser_Term_matchDiscr_formatter___closed__4; @@ -2735,6 +2777,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Termination_suffix; LEAN_EXPORT lean_object* l_Lean_Parser_Term_scoped_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_sufficesDecl_formatter___closed__6; static lean_object* l_Lean_Parser_Term_trailing__parser_formatter___closed__6; +static lean_object* l_Lean_Parser_Term_structInstFieldDef_formatter___closed__2; static lean_object* l_Lean_Parser_Term_let__delayed___closed__1; static lean_object* l_Lean_Parser_Term_ident___closed__2; static lean_object* l_Lean_Parser_Termination_terminationBy_formatter___closed__5; @@ -2758,6 +2801,7 @@ static lean_object* l_Lean_Parser_Term_waitIfContainsMVar___closed__4; lean_object* l_Lean_Parser_nameLit_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_ident_declRange__1___closed__3; static lean_object* l_Lean_Parser_Tactic_quotSeq_formatter___closed__1; +static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Tactic_seq1_formatter___closed__1; static lean_object* l_Lean_Parser_Term_attributes___closed__6; @@ -2775,7 +2819,7 @@ static lean_object* l_Lean_Parser_Term_binderDefault___closed__5; static lean_object* l_Lean_Parser_Term_sorry_formatter___closed__3; static lean_object* l_Lean_Parser_Term_binrel_formatter___closed__4; static lean_object* l_Lean_Parser_Term_show___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__41; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__54; static lean_object* l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_suffices_formatter___closed__2; static lean_object* l_Lean_Parser_Term_leading__parser_parenthesizer___closed__8; @@ -2784,6 +2828,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_unop_parenthesizer(lean_object*, lea static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfContainsMVar_declRange__1___closed__7; static lean_object* l_Lean_Parser_Term_letRecDecl___closed__6; static lean_object* l_Lean_Parser_Term_structInstLVal___closed__3; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__7; static lean_object* l_Lean_Parser_Term_letMVar___closed__7; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_parenthesizer___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_seq1_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -2826,7 +2871,6 @@ static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot___closed__11; static lean_object* l_Lean_Parser_Termination_terminationBy_formatter___closed__12; lean_object* l_Lean_Parser_checkNoWsBefore(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_char; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_attrInstance_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_hole_formatter___closed__1; static lean_object* l_Lean_Parser_Term_unsafe___closed__4; @@ -2894,8 +2938,8 @@ static lean_object* l_Lean_Parser_Term_let_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_letDecl___closed__2; static lean_object* l_Lean_Parser_Term_basicFun_formatter___closed__7; static lean_object* l_Lean_Parser_Term_letRecDecls_parenthesizer___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__59; static lean_object* l_Lean_Parser_Term_sorry_formatter___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__39; static lean_object* l_Lean_Parser_Term_funStrictImplicitBinder_formatter___closed__5; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__12; LEAN_EXPORT lean_object* l_Lean_Parser_darrow; @@ -2962,14 +3006,12 @@ static lean_object* l_Lean_Parser_Term_typeOf_parenthesizer___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchDiscr; static lean_object* l_Lean_Parser_Term_ensureExpectedType_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_omission___closed__6; -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_anonymousCtor_formatter___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_letMVar_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_optEllipsis___closed__9; static lean_object* l___regBuiltin_Lean_Parser_Term_let__fun_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_clear_parenthesizer___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_haveIdDecl_formatter__1___closed__2; -static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_optExprPrecedence_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_let__tmp___closed__2; static lean_object* l_Lean_Parser_Term_matchExprPat_formatter___closed__1; @@ -2981,6 +3023,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_binrel_declRange__1___closed static lean_object* l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_panic_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_explicit_formatter___closed__3; +static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_matchExpr_declRange__1___closed__4; static lean_object* l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_nofun_formatter__1___closed__1; @@ -2990,15 +3033,14 @@ static lean_object* l_Lean_Parser_Term_binrel__no__prop___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_unreachable_declRange__1___closed__1; static lean_object* l_Lean_Parser_Term_haveDecl___closed__5; static lean_object* l_Lean_Parser_Term_argument_parenthesizer___closed__3; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__32; static lean_object* l_Lean_Parser_Term_withDeclName_parenthesizer___closed__6; +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_letExpr___closed__12; static lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName_formatter__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_ident_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_attrInstance_formatter__1___closed__2; lean_object* l_Lean_Parser_withoutPosition___lambda__1(lean_object*); static lean_object* l_Lean_Parser_Term_dynamicQuot___closed__5; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_omission_declRange__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_waitIfContainsMVar_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_app_declRange__1___closed__1; @@ -3026,7 +3068,6 @@ static lean_object* l_Lean_Parser_Term_letrec_formatter___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_ellipsis_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Term_matchExpr___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__18; static lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt_formatter___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_formatter__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_local_formatter__1___closed__2; @@ -3041,10 +3082,12 @@ static lean_object* l_Lean_Parser_Term_binderTactic___closed__8; static lean_object* l_Lean_Parser_Term_typeOf___closed__8; static lean_object* l_Lean_Parser_Term_let_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_dotIdent_parenthesizer___closed__1; +static lean_object* l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__1; static lean_object* l_Lean_Parser_Term_binderTactic___closed__3; lean_object* l_Lean_PrettyPrinter_Formatter_checkColGt_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_noErrorIfUnused__1(lean_object*); static lean_object* l_Lean_Parser_Term_motive___closed__11; +static lean_object* l_Lean_Parser_Term_structInstFieldEqns_formatter___closed__2; static lean_object* l_Lean_Parser_Term_binrel__no__prop_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_leftact_parenthesizer__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_pipeProj_declRange__1___closed__4; @@ -3066,7 +3109,6 @@ static lean_object* l_Lean_Parser_Term_macroDollarArg___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeMVar_declRange__1___closed__1; static lean_object* l_Lean_Parser_Term_inaccessible___closed__10; static lean_object* l_Lean_Parser_Term_show_formatter___closed__4; -static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__8; LEAN_EXPORT lean_object* l_Lean_Parser_Term_attrKind_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_assert_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_let_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3102,8 +3144,10 @@ static lean_object* l_Lean_Parser_Term_local___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_waitIfContainsMVar_formatter___closed__4; static lean_object* l_Lean_Parser_Term_let__fun_parenthesizer___closed__1; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDef_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_ident_declRange__1___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binrel_formatter__1(lean_object*); +static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_matchExpr_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Tactic_quotSeq_parenthesizer__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letMVar_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3153,17 +3197,16 @@ static lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_formatter__1___closed static lean_object* l_Lean_Parser_Term_matchExprPat_formatter___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName_declRange__1___closed__7; static lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__13; -static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__11; static lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__7; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letExpr; static lean_object* l_Lean_Parser_Term_dbgTrace_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__21; static lean_object* l_Lean_Parser_Term_clear_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_waitIfTypeContainsMVar_parenthesizer___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder_parenthesizer(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_quotSeq_formatter___closed__5; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__58; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_matchExpr__1(lean_object*); static lean_object* l_Lean_Parser_Term_optEllipsis___closed__7; static lean_object* l_Lean_Parser_Term_letDecl___closed__4; @@ -3211,6 +3254,7 @@ static lean_object* l_Lean_Parser_Term_cdot_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_byTactic_formatter___closed__4; static lean_object* l_Lean_Parser_Term_ensureExpectedType___closed__10; static lean_object* l_Lean_Parser_Term_showTermElabImpl_formatter___closed__2; +static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__13; lean_object* l_Lean_Parser_node(lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_stateRefT_declRange__1___closed__5; static lean_object* l_Lean_Parser_Term_rightact___closed__7; @@ -3249,15 +3293,18 @@ static lean_object* l_Lean_Parser_Term_optEllipsis_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_binop__lazy_declRange__1___closed__3; static lean_object* l_Lean_Parser_Term_byTactic___closed__10; static lean_object* l_Lean_Parser_Term_structInstField___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__17; static lean_object* l___regBuiltin_Lean_Parser_Term_type_parenthesizer__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_letPatDecl_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_structInstLVal___closed__2; static lean_object* l_Lean_Parser_Term_let__delayed_parenthesizer___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__47; static lean_object* l_Lean_Parser_Term_fun_formatter___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_defaultOrOfNonempty_declRange__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_letMVar_declRange__1___closed__7; static lean_object* l_Lean_Parser_Term_letDecl_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_let__fun_parenthesizer___closed__6; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__4; static lean_object* l_Lean_Parser_Term_letRecDecl_formatter___closed__5; static lean_object* l_Lean_Parser_Term_ensureExpectedType_formatter___closed__2; static lean_object* l_Lean_Parser_Term_defaultOrOfNonempty___closed__6; @@ -3270,6 +3317,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binrel_docString__1(lea static lean_object* l_Lean_Parser_Term_matchAlt___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_assert_declRange__1___closed__5; static lean_object* l_Lean_Parser_Term_letExpr_parenthesizer___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__43; static lean_object* l_Lean_Parser_Term_letIdDecl___closed__9; static lean_object* l_Lean_Parser_Term_attributes___closed__13; static lean_object* l_Lean_Parser_Term_whereDecls___closed__1; @@ -3287,6 +3335,7 @@ static lean_object* l_Lean_Parser_Term_byTactic_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_letMVar_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_waitIfTypeMVar___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_showTermElabImpl_docString__1___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__61; static lean_object* l_Lean_Parser_Term_strictImplicitLeftBracket___closed__2; static lean_object* l_Lean_Parser_Term_proj_parenthesizer___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_subst_declRange__1___closed__6; @@ -3328,6 +3377,7 @@ static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_subst_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern_parenthesizer__1___closed__2; +static lean_object* l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_letRecDecl_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_explicit___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_trueVal_formatter__1___closed__2; @@ -3342,7 +3392,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_letI_declRange__1___closed__ static lean_object* l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_match_parenthesizer___closed__14; static lean_object* l_Lean_Parser_Term_binderDefault_parenthesizer___closed__3; -static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__6; static lean_object* l_Lean_Parser_Term_arrow_parenthesizer___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_showTermElabImpl_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Termination_terminationBy_parenthesizer___closed__10; @@ -3364,6 +3413,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_unop_declRange__1___closed__ static lean_object* l___regBuiltin_Lean_Parser_Term_subst_formatter__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_basicFun_parenthesizer__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_haveI_declRange__1___closed__2; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDeclParser_formatter___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_optIdent_formatter___closed__1; static lean_object* l_Lean_Parser_Termination_terminationBy___closed__3; static lean_object* l_Lean_Parser_Term_haveI_parenthesizer___closed__2; @@ -3403,7 +3453,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_have_declRange__1___closed__ static lean_object* l_Lean_Parser_Tactic_quot_formatter___closed__1; static lean_object* l_Lean_Parser_Term_matchAltsWhereDecls_formatter___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_leftact_declRange__1(lean_object*); -static lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter___closed__5; static lean_object* l_Lean_Parser_Term_dotIdent_parenthesizer___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_withDeclName_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1(lean_object*); @@ -3411,9 +3460,11 @@ static lean_object* l_Lean_Parser_Term_sufficesDecl_formatter___closed__5; static lean_object* l_Lean_Parser_Term_forall_formatter___closed__5; static lean_object* l_Lean_Parser_Term_binrel_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Term_byTactic___closed__4; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__18; static lean_object* l___regBuiltin_Lean_Parser_Term_scientific_declRange__1___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_ensureTypeOf__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_char__1(lean_object*); +static lean_object* l_Lean_Parser_Term_structInstFieldEqns_formatter___closed__1; static lean_object* l_Lean_Parser_Term_noErrorIfUnused_formatter___closed__4; static lean_object* l_Lean_Parser_Term_letPatDecl_formatter___closed__1; static lean_object* l_Lean_Parser_Term_syntheticHole___closed__10; @@ -3455,12 +3506,14 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_x27_formatter__1_ static lean_object* l_Lean_Parser_Term_letPatDecl_formatter___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_letrec_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_let__tmp___closed__11; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__1; static lean_object* l_Lean_Parser_Term_fun_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_haveEqnsDecl_formatter___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_scoped; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__47; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__53; static lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt___closed__1; static lean_object* l_Lean_Parser_Term_explicit___closed__1; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldBinder_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_char_declRange__1___closed__3; static lean_object* l_Lean_Parser_Termination_terminationBy___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer__1___closed__2; @@ -3493,6 +3546,8 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_let__fun_declRange__1___clos static lean_object* l_Lean_Parser_Term_funImplicitBinder_parenthesizer___closed__3; lean_object* l_Lean_Parser_ident_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__2; +static lean_object* l_Lean_Parser_Term_structInstFieldEqns___closed__4; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldEqns_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_argument_parenthesizer___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letI_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_type___closed__15; @@ -3500,6 +3555,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_noImplicitLambda_parenthesiz static lean_object* l_Lean_Parser_Term_optExprPrecedence_parenthesizer___closed__1; extern lean_object* l_Lean_Parser_charLit; static lean_object* l___regBuiltin_Lean_Parser_Term_ensureExpectedType_formatter__1___closed__1; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldBinder; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_hole_formatter__1(lean_object*); lean_object* l_Lean_Parser_sepBy_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_let___closed__10; @@ -3525,6 +3581,7 @@ static lean_object* l_Lean_Parser_Term_dbgTrace___closed__10; extern lean_object* l_Lean_Parser_rawIdent; static lean_object* l_Lean_Parser_Term_nofun___closed__7; LEAN_EXPORT lean_object* l_Lean_Parser_Term_waitIfTypeMVar_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_showTermElabImpl_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_letExpr___closed__4; static lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__7; @@ -3549,14 +3606,12 @@ static lean_object* l_Lean_Parser_Term_nomatch___closed__4; static lean_object* l_Lean_Parser_Term_forInMacro_x27___closed__4; static lean_object* l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__25; static lean_object* l_Lean_Parser_Term_forall_formatter___closed__1; static lean_object* l_Lean_Parser_Term_stateRefT___closed__7; static lean_object* l_Lean_Parser_Term_rightact___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Termination_terminationBy_formatter__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_binrel__no__prop_declRange__1___closed__4; static lean_object* l_Lean_Parser_semicolonOrLinebreak_formatter___closed__3; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__4; static lean_object* l_Lean_Parser_Term_matchAlt___closed__6; static lean_object* l_Lean_Parser_Tactic_tacticSeq___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_attrKind_formatter__1___closed__1; @@ -3574,7 +3629,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_match_formatter(lean_object*, lean_o static lean_object* l_Lean_Parser_Term_explicitUniv___closed__9; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Command_docComment_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_assert___closed__9; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__4; static lean_object* l_Lean_Parser_Term_anonymousCtor_formatter___closed__9; static lean_object* l_Lean_Parser_darrow___closed__2; static lean_object* l_Lean_Parser_Term_funBinder_parenthesizer___closed__2; @@ -3595,10 +3649,8 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchExprPat_formatter(lean_object*, static lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__3; static lean_object* l_Lean_Parser_Term_assert_formatter___closed__6; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__13; static lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_formatter__1___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__35; static lean_object* l_Lean_Parser_Term_haveIdDecl_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_binop__lazy_parenthesizer__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlt_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3645,7 +3697,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_binrel__no__prop_formatter__ lean_object* l_Lean_Parser_many(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_optEllipsis; static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_x27_declRange__1___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__40; static lean_object* l___regBuiltin_Lean_Parser_Term_quotedName_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__1; static lean_object* l_Lean_Parser_Termination_suffix_formatter___closed__7; @@ -3653,6 +3704,7 @@ static lean_object* l_Lean_Parser_Term_letIdLhs_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Term_suffices_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_dynamicQuot_parenthesizer__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_ensureExpectedType_formatter__1___closed__2; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldEqns_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_cdot_formatter___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_declRange__1___closed__3; static lean_object* l_Lean_Parser_Term_structInstLVal___closed__14; @@ -3688,7 +3740,7 @@ static lean_object* l_Lean_Parser_Term_instBinder_formatter___closed__4; static lean_object* l_Lean_Parser_Term_letMVar_formatter___closed__6; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_formatter___closed__8; static lean_object* l_Lean_Parser_Term_type_formatter___closed__6; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__59; +static lean_object* l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_cdot_docString__1___closed__1; static lean_object* l_Lean_Parser_Term_whereDecls___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_rightact_formatter__1___closed__1; @@ -3707,11 +3759,13 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_fun__1(lean_object*); static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__21; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_noImplicitLambda__1(lean_object*); static lean_object* l_Lean_Parser_Term_attrKind___closed__6; +static lean_object* l_Lean_Parser_Term_structInstField_parenthesizer___closed__9; static lean_object* l___regBuiltin_Lean_Parser_Term_arrow_declRange__1___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_proj__1(lean_object*); static lean_object* l_Lean_Parser_Termination_decreasingBy_formatter___closed__6; static lean_object* l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_assert_parenthesizer___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__35; static lean_object* l___regBuiltin_Lean_Parser_Term_tuple_declRange__1___closed__4; static lean_object* l_Lean_Parser_Term_binop__lazy___closed__7; static lean_object* l_Lean_Parser_Tactic_quotSeq_parenthesizer___closed__6; @@ -3754,7 +3808,6 @@ static lean_object* l_Lean_Parser_Term_typeAscription_formatter___closed__11; static lean_object* l_Lean_Parser_Term_motive_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_scientific_formatter___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binrel__no__prop_declRange__1(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__60; LEAN_EXPORT lean_object* l_Lean_Parser_Term_doubleQuotedName_parenthesizer___closed__3___boxed__const__1; static lean_object* l_Lean_Parser_Term_letIdDecl___closed__5; static lean_object* l_Lean_Parser_Term_binrel___closed__8; @@ -3765,9 +3818,7 @@ static lean_object* l_Lean_Parser_Term_syntheticHole_formatter___closed__1; static lean_object* l_Lean_Parser_Termination_decreasingBy_formatter___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_quotSeq_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_stateRefT_formatter___closed__4; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__20; static lean_object* l_Lean_Parser_Term_optExprPrecedence___closed__3; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__4; static lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__9; LEAN_EXPORT lean_object* l_Lean_Parser_Term_binrel; static lean_object* l_Lean_Parser_Term_binderTactic_formatter___closed__2; @@ -3820,7 +3871,6 @@ static lean_object* l_Lean_Parser_Term_fromTerm___closed__9; lean_object* l_Lean_Parser_attrParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_dynamicQuot_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_forall___closed__1; -static lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__9; static lean_object* l_Lean_Parser_Termination_terminationBy_formatter___closed__3; static lean_object* l_Lean_Parser_Command_docComment_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_let__fun_parenthesizer___closed__4; @@ -3837,7 +3887,6 @@ lean_object* l_Lean_Parser_withPosition_formatter(lean_object*, lean_object*, le static lean_object* l___regBuiltin_Lean_Parser_Term_haveId_formatter__1___closed__2; lean_object* l_Lean_Parser_leadingNode_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_depArrow; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__9; static lean_object* l___regBuiltin_Lean_Parser_Term_str__1___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_char_declRange__1(lean_object*); static lean_object* l_Lean_Parser_Term_depArrow___closed__4; @@ -3884,6 +3933,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_motive_formatter__1___closed static lean_object* l___regBuiltin_Lean_Parser_Term_dbgTrace_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_binrel__no__prop_formatter___closed__4; static lean_object* l_Lean_Parser_Term_let_formatter___closed__2; +static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__10; static lean_object* l_Lean_Parser_Term_letDecl_formatter___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_proj_declRange__1___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Term_doubleQuotedName_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -3959,6 +4009,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_noindex_declRange__1___close static lean_object* l_Lean_Parser_Termination_terminationBy_x3f___closed__6; static lean_object* l_Lean_Parser_Term_anonymousCtor_formatter___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_sufficesDecl_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_letExpr___closed__5; static lean_object* l_Lean_Parser_Term_waitIfContainsMVar___closed__8; static lean_object* l_Lean_Parser_Command_docComment_parenthesizer___closed__6; @@ -3994,7 +4045,6 @@ static lean_object* l_Lean_Parser_Term_binderDefault_formatter___closed__1; static lean_object* l_Lean_Parser_Term_typeSpec_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_explicit_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_let__fun___closed__13; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__28; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_explicitUniv_declRange__1___closed__5; static lean_object* l_Lean_Parser_Term_have___closed__1; @@ -4009,6 +4059,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern_declRange_ static lean_object* l___regBuiltin_Lean_Parser_Term_letDecl_docString__1___closed__1; static lean_object* l_Lean_Parser_Tactic_quotSeq_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_arrow___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__41; static lean_object* l_Lean_Parser_Term_whereDecls_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Tactic_seq1_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_funImplicitBinder___closed__2; @@ -4019,10 +4070,8 @@ static lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_leftact_declRange__1___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_motive_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_docString__1(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46; static lean_object* l_Lean_Parser_Term_matchExprPat___closed__6; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__17; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__42; static lean_object* l_Lean_Parser_Term_sorry_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_whereDecls_formatter___closed__7; @@ -4038,13 +4087,13 @@ static lean_object* l_Lean_Parser_Termination_decreasingBy_parenthesizer___close static lean_object* l_Lean_Parser_Term_trailing__parser_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_typeAscription___closed__19; static lean_object* l_Lean_Parser_Term_matchAlt___closed__4; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__8; static lean_object* l_Lean_Parser_Term_matchExprPat_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_explicit_formatter___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_unreachable_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_x27_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_rightact___closed__4; static lean_object* l_Lean_Parser_Term_defaultOrOfNonempty___closed__7; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__62; static lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__10; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_scientific_declRange__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder_formatter___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4055,6 +4104,7 @@ static lean_object* l_Lean_Parser_Term_funImplicitBinder___closed__6; static lean_object* l_Lean_Parser_Term_whereDecls_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_defaultOrOfNonempty_parenthesizer__1___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__58; static lean_object* l_Lean_Parser_Term_proj___closed__6; static lean_object* l_Lean_Parser_Tactic_quotSeq___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__2; @@ -4084,7 +4134,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_letDecl_formatter__1___close static lean_object* l___regBuiltin_Lean_Parser_Term_scientific_declRange__1___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_rightact_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_type___closed__8; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__36; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_funStrictImplicitBinder___closed__3; static lean_object* l_Lean_Parser_Term_stateRefT_parenthesizer___closed__2; @@ -4147,9 +4196,9 @@ static lean_object* l_Lean_Parser_Term_anonymousCtor_formatter___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_type_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_letExpr_formatter___closed__10; static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__3; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_scientific_declRange__1___closed__4; static lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer___closed__3; +static lean_object* l_Lean_Parser_Term_structInstFieldBinder___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_declRange__1___closed__7; static lean_object* l_Lean_Parser_Term_motive___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4157,7 +4206,6 @@ static lean_object* l_Lean_Parser_Term_type_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_omission___closed__8; static lean_object* l_Lean_Parser_Term_letMVar___closed__4; static lean_object* l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__7; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType_formatter(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_stateRefT___closed__9; static lean_object* l_Lean_Parser_Term_noindex_parenthesizer___closed__4; @@ -4174,6 +4222,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_noImplicitLambda_formatter(lean_obje static lean_object* l_Lean_Parser_Term_optEllipsis___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Term_unreachable_formatter__1___closed__2; lean_object* l_Lean_Parser_atomic_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeSpec_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_fromTerm_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_nomatch_formatter___closed__1; @@ -4182,13 +4231,13 @@ static lean_object* l_Lean_Parser_Term_typeOf___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_trailing__parser_declRange__1___closed__4; static lean_object* l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__2; lean_object* l_id___rarg___boxed(lean_object*); -static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__7; static lean_object* l_Lean_Parser_Term_subst___closed__8; static lean_object* l_Lean_Parser_Term_byTactic_parenthesizer___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlt_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__11; static lean_object* l_Lean_Parser_Term_stateRefT_parenthesizer___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_char_declRange__1___closed__2; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__44; lean_object* l_Lean_Parser_ppGroup_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_letExpr___closed__1; static lean_object* l_Lean_Parser_Term_prop_formatter___closed__1; @@ -4196,6 +4245,7 @@ static lean_object* l_Lean_Parser_semicolonOrLinebreak_formatter___closed__1; lean_object* l_Lean_Parser_incQuotDepth(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_let_declRange__1___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_letRecDecls_parenthesizer__1___closed__1; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDeclParser(lean_object*); static lean_object* l_Lean_Parser_Command_commentBody___elambda__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlts(lean_object*); static lean_object* l_Lean_Parser_Term_waitIfTypeMVar___closed__11; @@ -4228,7 +4278,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_macroArg_formatter(lean_object*, lea extern lean_object* l_Lean_Parser_skip; static lean_object* l_Lean_Parser_Term_doubleQuotedName_formatter___closed__3; static lean_object* l_Lean_Parser_Term_nomatch___closed__6; -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_forInMacro___closed__10; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_subst_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_binop__lazy_declRange__1___closed__6; @@ -4245,7 +4294,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1 static lean_object* l_Lean_Parser_Term_ident_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Termination_suffix_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_structInst___closed__10; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__12; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_haveI__1(lean_object*); static lean_object* l_Lean_Parser_Term_prop_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_forall___closed__7; @@ -4261,6 +4309,7 @@ static lean_object* l_Lean_Parser_Term_dotIdent_formatter___closed__3; lean_object* l_Lean_Parser_parserOfStack(lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_let__fun___closed__7; static lean_object* l_Lean_Parser_Term_typeAscription___closed__11; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__12; static lean_object* l_Lean_Parser_Term_structInst___closed__15; static lean_object* l_Lean_Parser_Term_letrec___closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Term_anonymousCtor; @@ -4279,10 +4328,12 @@ lean_object* l_Lean_Parser_unicodeSymbol_parenthesizer(lean_object*, lean_object LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_docString__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_anonymousCtor_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_parenthesizer__1___closed__1; +static lean_object* l_Lean_Parser_Term_inaccessible_parenthesizer___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_let_declRange__1___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_let_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_binderDefault_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__14; +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__12; static lean_object* l_Lean_Parser_Term_panic___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchExprAlts(lean_object*); static lean_object* l_Lean_Parser_Term_motive_formatter___closed__3; @@ -4291,8 +4342,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Termination_decreasingBy_parenthe static lean_object* l_Lean_Parser_Term_instBinder___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_dynamicQuot_declRange__1___closed__1; static lean_object* l_Lean_Parser_Term_motive_parenthesizer___closed__7; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__10; -static lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__19; static lean_object* l_Lean_Parser_Term_matchExprAlts___closed__7; static lean_object* l_Lean_Parser_Term_trailing__parser_formatter___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_clear_formatter__1(lean_object*); @@ -4352,7 +4401,6 @@ static lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_leading__parser_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__5; static lean_object* l_Lean_Parser_Term_matchExprPat___closed__2; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__5; static lean_object* l_Lean_Parser_Term_haveId_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_haveDecl_formatter___closed__3; static lean_object* l_Lean_Parser_Term_sort_formatter___closed__4; @@ -4377,7 +4425,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_binop; static lean_object* l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__15; static lean_object* l_Lean_Parser_Term_haveI_formatter___closed__1; static lean_object* l_Lean_Parser_Term_forall___closed__8; -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_ident_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_letrec_formatter___closed__2; static lean_object* l_Lean_Parser_Term_namedPattern___closed__12; @@ -4387,13 +4434,13 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_panic_declRange__1___closed_ static lean_object* l_Lean_Parser_Term_namedPattern___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_cdot_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_unop_parenthesizer___closed__3; -static lean_object* l_Lean_Parser_Term_structInst___closed__30; static lean_object* l___regBuiltin_Lean_Parser_Term_omission_formatter__1___closed__2; static lean_object* l_Lean_Parser_Term_namedArgument___closed__8; static lean_object* l_Lean_Parser_Term_typeOf_formatter___closed__1; static lean_object* l_Lean_Parser_Term_forInMacro___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_optEllipsis_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_haveDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__10; LEAN_EXPORT lean_object* l_Lean_Parser_Term_unsafe_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_byTactic_docString__1___closed__1; static lean_object* l_Lean_Parser_Term_waitIfTypeContainsMVar___closed__3; @@ -4457,7 +4504,6 @@ static lean_object* l_Lean_Parser_Term_letI___closed__2; static lean_object* l_Lean_Parser_Term_structInst___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_declRange__1___closed__7; LEAN_EXPORT lean_object* l_Lean_Parser_Term_haveIdDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__51; static lean_object* l_Lean_Parser_Term_letI_parenthesizer___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Term_fromTerm_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_letPatDecl_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4501,6 +4547,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer__1___c static lean_object* l_Lean_Parser_Term_paren_parenthesizer___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_trailing__parser_declRange__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_macroLastArg; +static lean_object* l_Lean_Parser_Term_instBinder_parenthesizer___closed__9; LEAN_EXPORT lean_object* l_Lean_Parser_Term_showTermElabImpl_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_haveId_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_letrec___closed__10; @@ -4561,6 +4608,7 @@ static lean_object* l_Lean_Parser_Term_trailing__parser___closed__10; static lean_object* l_Lean_Parser_Term_paren_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_clear_parenthesizer___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_prop_parenthesizer__1(lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__19; static lean_object* l_Lean_Parser_Term_match___closed__12; static lean_object* l_Lean_Parser_Term_binderTactic_formatter___closed__6; static lean_object* l_Lean_Parser_Term_structInstFields___closed__1; @@ -4573,16 +4621,15 @@ static lean_object* l_Lean_Parser_Term_dynamicQuot_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_trailing__parser___closed__9; lean_object* l_Lean_PrettyPrinter_Formatter_andthen_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_quot_parenthesizer___closed__5; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099_(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_noErrorIfUnused_docString__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName_docString__1(lean_object*); -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__8; static lean_object* l_Lean_Parser_Term_explicitUniv_parenthesizer___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_haveEqnsDecl_parenthesizer__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_attrKind_parenthesizer__1(lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_ensureTypeOf_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_letIdDecl_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_funImplicitBinder___closed__7; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_namedArgument_parenthesizer__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Command_commentBody_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4603,7 +4650,6 @@ static lean_object* l_Lean_Parser_Term_showTermElabImpl_formatter___closed__1; static lean_object* l_Lean_Parser_Term_dbgTrace___closed__13; static lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_parenthesizer__1___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_quot_formatter__1(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__19; static lean_object* l_Lean_Parser_Term_namedArgument_parenthesizer___closed__5; LEAN_EXPORT lean_object* l_Lean_Parser_Term_let__delayed_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_dbgTrace_parenthesizer__1___closed__1; @@ -4633,6 +4679,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_num_declRange__1(lean_o static lean_object* l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_show_declRange__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_suffices__1(lean_object*); +static lean_object* l_Lean_Parser_Term_optTypeForStructInst___closed__3; static lean_object* l_Lean_Parser_Termination_suffix_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_stateRefT_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_letDecl___closed__1; @@ -4662,7 +4709,6 @@ static lean_object* l_Lean_Parser_Term_forInMacro_x27___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_arrow_declRange__1___closed__2; lean_object* l_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Term_defaultOrOfNonempty; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__43; static lean_object* l_Lean_Parser_Term_explicitUniv___closed__15; static lean_object* l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__3; @@ -4686,7 +4732,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_paren_docString__1___closed_ LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_sepByIndentSemicolon_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_explicitUniv___closed__16; static lean_object* l_Lean_Parser_Term_show___closed__6; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__8; static lean_object* l_Lean_Parser_Term_forall_parenthesizer___closed__8; LEAN_EXPORT lean_object* l_Lean_Parser_Term_fun_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_withDeclName___closed__3; @@ -4705,6 +4750,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_withAnonymousAntiquot_format static lean_object* l___regBuiltin_Lean_Parser_Term_matchExpr_declRange__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_sufficesDecl_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfContainsMVar_declRange__1___closed__1; +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldEqns__1(lean_object*); static lean_object* l_Lean_Parser_Term_rightact_parenthesizer___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_noindex_declRange__1___closed__7; static lean_object* l_Lean_Parser_Term_typeAscription_formatter___closed__12; @@ -4714,7 +4760,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_proj_formatter(lean_object*, lean_ob static lean_object* l_Lean_Parser_Term_inaccessible_formatter___closed__1; static lean_object* l_Lean_Parser_Term_anonymousCtor_formatter___closed__8; static lean_object* l_Lean_Parser_Term_pipeProj_formatter___closed__2; -static lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__10; static lean_object* l___regBuiltin_Lean_Parser_Term_sorry_declRange__1___closed__4; static lean_object* l_Lean_Parser_Term_letDecl_formatter___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_falseVal_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4759,6 +4804,7 @@ static lean_object* l_Lean_Parser_Term_nofun_formatter___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_unsafe; lean_object* l_Lean_Parser_many1Indent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_leading__parser_formatter___closed__3; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDeclParser_formatter(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_nomatch_parenthesizer___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Term_dbgTrace_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -4766,6 +4812,7 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_let__fun_parenthesizer(lean_object*, static lean_object* l_Lean_Parser_Term_basicFun_formatter___closed__1; static lean_object* l_Lean_Parser_Term_dynamicQuot___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_matchExpr_declRange__1___closed__6; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__50; static lean_object* l_Lean_Parser_Term_haveIdDecl_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_matchExpr_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_binop__lazy_declRange__1___closed__7; @@ -4817,6 +4864,7 @@ static lean_object* l_Lean_Parser_Term_trueVal_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_binrel_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_structInstField_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_num_declRange__1___closed__3; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__10; static lean_object* l_Lean_Parser_Term_let__tmp___closed__6; static lean_object* l_Lean_Parser_Term_sufficesDecl___closed__3; static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__3; @@ -4853,7 +4901,6 @@ lean_object* l_Lean_Parser_sepBy1_parenthesizer___boxed(lean_object*, lean_objec static lean_object* l_Lean_Parser_Term_ensureTypeOf_formatter___closed__2; lean_object* l_Lean_Parser_lookahead(lean_object*); static lean_object* l_Lean_Parser_Term_str_formatter___closed__1; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__16; static lean_object* l_Lean_Parser_Term_ellipsis_parenthesizer___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_sorry_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_parenthesizer___closed__2; @@ -4892,9 +4939,8 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_panic_parenthesizer(lean_object*, le static lean_object* l___regBuiltin_Lean_Parser_Term_declName_declRange__1___closed__1; static lean_object* l_Lean_Parser_Term_whereDecls_parenthesizer___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_letrec_declRange__1___closed__3; -static lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__11; static lean_object* l_Lean_Parser_Term_binop__lazy_formatter___closed__2; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__1; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_optTypeForStructInst; static lean_object* l_Lean_Parser_Term_type___closed__11; static lean_object* l_Lean_Parser_Term_unreachable_formatter___closed__1; static lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__7; @@ -4902,14 +4948,12 @@ static lean_object* l_Lean_Parser_Term_forall_formatter___closed__8; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_sorry__1(lean_object*); static lean_object* l_Lean_Parser_Term_sufficesDecl___closed__4; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_str_declRange__1(lean_object*); -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__11; static lean_object* l_Lean_Parser_Term_unop_parenthesizer___closed__5; static lean_object* l_Lean_Parser_Term_anonymousCtor_formatter___closed__3; static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Term_proj_formatter___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName_formatter__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_waitIfContainsMVar_parenthesizer__1(lean_object*); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__10; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_parenthesizer___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letMVar__1(lean_object*); static lean_object* l_Lean_Parser_Term_typeAscription___closed__5; @@ -4938,6 +4982,7 @@ static lean_object* l_Lean_Parser_Term_structInstArrayRef___closed__8; static lean_object* l_Lean_Parser_Term_tuple_parenthesizer___closed__10; static lean_object* l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_binderTactic___closed__9; +static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__11; LEAN_EXPORT lean_object* l_Lean_Parser_Term_argument; static lean_object* l_Lean_Parser_Term_explicit___closed__3; static lean_object* l_Lean_Parser_Term_waitIfTypeMVar_parenthesizer___closed__1; @@ -4956,8 +5001,10 @@ static lean_object* l_Lean_Parser_Termination_terminationBy_parenthesizer___clos static lean_object* l_Lean_Parser_Term_ensureTypeOf___closed__9; static lean_object* l___regBuiltin_Lean_Parser_Term_binop_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_structInst_formatter___closed__16; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__52; static lean_object* l_Lean_Parser_Term_waitIfTypeContainsMVar_formatter___closed__2; static lean_object* l_Lean_Parser_Term_structInstLVal_formatter___closed__9; +static lean_object* l_Lean_Parser_Term_structInstFieldEqns___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_declName_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_let__delayed_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_have_declRange__1___closed__6; @@ -4985,10 +5032,9 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letMVar_parenthesizer__ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_paren_declRange__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_depArrow_formatter___closed__3; -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldAbbrev; static lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_declRange__1___closed__1; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__14; lean_object* l_Lean_Parser_mkAntiquot(lean_object*, lean_object*, uint8_t, uint8_t); -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__15; static lean_object* l___regBuiltin_Lean_Parser_Term_char_declRange__1___closed__7; lean_object* l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Tactic_tacticSeq___closed__3; @@ -5026,7 +5072,6 @@ static lean_object* l_Lean_Parser_Term_sufficesDecl___closed__8; static lean_object* l_Lean_Parser_Term_borrowed_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_falseVal_formatter___closed__1; static lean_object* l_Lean_Parser_Term_forall_formatter___closed__7; -static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Tactic_quotSeq___closed__10; static lean_object* l_Lean_Parser_Term_paren_parenthesizer___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_tuple_docString__1___closed__1; @@ -5044,7 +5089,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_sepBy1IndentSemicolon_formatter(le static lean_object* l_Lean_Parser_Term_leading__parser___closed__9; static lean_object* l_Lean_Parser_Term_dynamicQuot_formatter___closed__7; static lean_object* l_Lean_Parser_Term_explicit___closed__4; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__53; static lean_object* l___regBuiltin_Lean_Parser_Term_binop__lazy_docString__1___closed__1; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_haveIdDecl_formatter__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_fun_formatter__1___closed__1; @@ -5076,6 +5120,7 @@ static lean_object* l_Lean_Parser_Term_syntheticHole___closed__4; static lean_object* l_Lean_Parser_Term_optExprPrecedence___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_noImplicitLambda_declRange__1___closed__6; LEAN_EXPORT lean_object* l_Lean_Parser_Term_prop_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__6; static lean_object* l_Lean_Parser_Term_let_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_withDeclName_formatter___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__2; @@ -5083,7 +5128,6 @@ static lean_object* l_Lean_Parser_Term_matchExpr_formatter___closed__6; static lean_object* l_Lean_Parser_Term_leading__parser_parenthesizer___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_showTermElabImpl_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_matchExpr_formatter___closed__8; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__61; static lean_object* l_Lean_Parser_Term_argument___closed__7; static lean_object* l_Lean_Parser_Term_noErrorIfUnused___closed__8; extern lean_object* l_Lean_Parser_numLit; @@ -5094,6 +5138,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_fo static lean_object* l_Lean_Parser_Term_sort___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder_formatter(uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_structInstLVal___closed__5; +static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Termination_terminationBy_formatter___closed__6; static lean_object* l_Lean_Parser_Term_letIdDecl___closed__1; static lean_object* l_Lean_Parser_Term_unsafe___closed__6; @@ -5112,6 +5157,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_completion_parenthesizer__1_ static lean_object* l_Lean_Parser_Term_dynamicQuot_formatter___closed__9; static lean_object* l_Lean_Parser_Term_matchAltsWhereDecls_formatter___closed__4; lean_object* l_Lean_Name_mkStr4(lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__22; lean_object* l_Lean_Parser_strLit_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_leftact_formatter__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_trailing__parser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -5131,7 +5177,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_let_parenthesizer__1___close static lean_object* l_Lean_Parser_Term_generalizingParam___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName_declRange__1___closed__3; static lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented___closed__3; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__52; static lean_object* l_Lean_Parser_Term_structInstField_formatter___closed__5; static lean_object* l_Lean_Parser_Term_letExpr___closed__8; static lean_object* l_Lean_Parser_Term_sufficesDecl_formatter___closed__4; @@ -5173,9 +5218,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_parenthesizer__1___ static lean_object* l___regBuiltin_Lean_Parser_Term_ensureTypeOf_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_forInMacro_x27_parenthesizer___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__29; static lean_object* l_Lean_Parser_Term_fun_formatter___closed__3; -static lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__2; LEAN_EXPORT lean_object* l_Lean_Parser_Term_optType; static lean_object* l___regBuiltin_Lean_Parser_Term_show_parenthesizer__1___closed__2; static lean_object* l_Lean_Parser_Term_tuple___closed__4; @@ -5190,7 +5233,6 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_letIdBinder_formatter(lean_object*, static lean_object* l___regBuiltin_Lean_Parser_Term_str__1___closed__1; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letEqnsDecl_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_let__delayed_parenthesizer___closed__5; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__9; static lean_object* l_Lean_Parser_Tactic_tacticSeqIndentGt_formatter___closed__3; static lean_object* l_Lean_Parser_Tactic_quotSeq___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_declRange__1___closed__1; @@ -5241,10 +5283,12 @@ static lean_object* l_Lean_Parser_Tactic_tacticSeqBracketed___closed__7; lean_object* l_Lean_Parser_numLit_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_leading__parser_declRange__1___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1(lean_object*); +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Termination_terminationBy___closed__8; static lean_object* l_Lean_Parser_Term_binderType___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_scoped_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__9; +static lean_object* l_Lean_Parser_Term_structInstField_parenthesizer___closed__11; static lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_declRange__1___closed__6; static lean_object* l_Lean_Parser_Termination_decreasingBy_parenthesizer___closed__6; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letRecDecl_parenthesizer__1(lean_object*); @@ -5256,6 +5300,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_declName_declRange__1___clos static lean_object* l_Lean_Parser_Term_funBinder_parenthesizer___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_type_docString__1___closed__1; static lean_object* l_Lean_Parser_Term_typeAscription_parenthesizer___closed__8; +static lean_object* l_Lean_Parser_Term_matchAlt_parenthesizer___closed__7; static lean_object* l_Lean_Parser_Term_letDecl___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_paren_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_typeAscription___closed__20; @@ -5272,6 +5317,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_doubleQuotedName_declRange__ static lean_object* l_Lean_Parser_Term_letDecl_formatter___closed__7; static lean_object* l_Lean_Parser_Term_typeOf_parenthesizer___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_rightact_parenthesizer__1(lean_object*); +static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__9; static lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_nomatch_formatter___closed__4; @@ -5283,6 +5329,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_binrel_formatter__1___closed static lean_object* l_Lean_Parser_Term_type___closed__20; static lean_object* l_Lean_Parser_Term_attributes___closed__2; static lean_object* l_Lean_Parser_Term_attributes___closed__8; +static lean_object* l_Lean_Parser_Term_structInstFieldEqns_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_letI___closed__8; static lean_object* l_Lean_Parser_Term_nomatch___closed__8; static lean_object* l_Lean_Parser_Term_matchExprPat_formatter___closed__6; @@ -5312,6 +5359,7 @@ lean_object* l_Lean_Parser_addBuiltinParser(lean_object*, lean_object*, uint8_t, static lean_object* l_Lean_Parser_Term_doubleQuotedName_parenthesizer___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_syntheticHole_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot___closed__14; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__28; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_fromTerm_parenthesizer__1(lean_object*); static lean_object* l_Lean_Parser_Term_matchAltsWhereDecls_parenthesizer___closed__5; static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_declRange__1___closed__6; @@ -5339,6 +5387,8 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_dynamicQuot_declRange__1___c static lean_object* l_Lean_Parser_Term_namedArgument_parenthesizer___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_inaccessible; static lean_object* l_Lean_Parser_Term_leading__parser___closed__4; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__4; +static lean_object* l_Lean_Parser_Term_instBinder___closed__12; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_typeOf_formatter__1(lean_object*); static lean_object* l_Lean_Parser_convParser___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_assert_formatter__1___closed__2; @@ -5353,7 +5403,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_namedPattern_docString_ static lean_object* l___regBuiltin_Lean_Parser_Term_letEqnsDecl_formatter__1___closed__1; static lean_object* l_Lean_Parser_Term_haveIdDecl_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_let__tmp_parenthesizer___closed__6; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__14; static lean_object* l_Lean_Parser_Term_matchAlt___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_tuple_declRange__1___closed__2; static lean_object* l_Lean_Parser_Term_defaultOrOfNonempty_parenthesizer___closed__1; @@ -5380,7 +5429,6 @@ static lean_object* l_Lean_Parser_Term_macroDollarArg___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_byTactic__1(lean_object*); static lean_object* l_Lean_Parser_Term_explicitUniv_formatter___closed__7; static lean_object* l___regBuiltin_Lean_Parser_Term_paren_declRange__1___closed__4; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_quotedName___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_letIdDecl_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__7; @@ -5429,6 +5477,7 @@ static lean_object* l_Lean_Parser_Term_dynamicQuot___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Termination_terminationBy_x3f_docString__1(lean_object*); static lean_object* l_Lean_Parser_Term_local___closed__8; static lean_object* l_Lean_Parser_Term_have___closed__7; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__38; static lean_object* l_Lean_Parser_Term_anonymousCtor___closed__10; static lean_object* l_Lean_Parser_Term_instBinder_parenthesizer___closed__1; static lean_object* l_Lean_Parser_Term_motive_parenthesizer___closed__6; @@ -5442,7 +5491,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_x27__1(lean_ static lean_object* l___regBuiltin_Lean_Parser_Term_hole_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_anonymousCtor___closed__11; static lean_object* l___regBuiltin_Lean_Parser_Term_let__fun_declRange__1___closed__4; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__8; static lean_object* l_Lean_Parser_Term_subst_parenthesizer___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Term_borrowed; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letIdDecl; @@ -5469,7 +5517,6 @@ static lean_object* l_Lean_Parser_Term_generalizingParam___closed__9; static lean_object* l_Lean_Parser_Term_typeAscription___closed__13; static lean_object* l_Lean_Parser_Term_binrel___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_hole_parenthesizer__1___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__34; static lean_object* l___regBuiltin_Lean_Parser_Term_unop_formatter__1___closed__1; static lean_object* l_Lean_Parser_Termination_terminationBy_x3f_parenthesizer___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binrel__no__prop_parenthesizer__1(lean_object*); @@ -5482,6 +5529,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Tactic_quotSeq_formatter__1___clo LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented; static lean_object* l_Lean_Parser_Term_let__fun_parenthesizer___closed__8; static lean_object* l___regBuiltin_Lean_Parser_Term_subst_declRange__1___closed__3; +static lean_object* l_Lean_Parser_Term_structInstField_parenthesizer___closed__6; static lean_object* l_Lean_Parser_Term_waitIfTypeMVar_formatter___closed__4; static lean_object* l_Lean_Parser_Term_binrel___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letPatDecl; @@ -5499,11 +5547,10 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder(uint8_t); static lean_object* l___regBuiltin_Lean_Parser_Termination_suffix_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_letPatDecl___closed__11; static lean_object* l_Lean_Parser_Term_clear___closed__9; +static lean_object* l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_parenthesizer__1___closed__1; static lean_object* l_Lean_Parser_Term_matchExprAlts_formatter___closed__3; static lean_object* l_Lean_Parser_Term_attrInstance___closed__9; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__27; -static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__3; static lean_object* l_Lean_Parser_Term_ellipsis___closed__10; static lean_object* l_Lean_Parser_Term_typeAscription___closed__3; static lean_object* l_Lean_Parser_Term_withDeclName___closed__4; @@ -5527,6 +5574,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_quotedName_declRange__1___cl static lean_object* l___regBuiltin_Lean_Parser_Term_sorry_parenthesizer__1___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__7; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_pipeCompletion_formatter__1(lean_object*); +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__51; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_letRecDecls_formatter__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro_x27_formatter__1(lean_object*); static lean_object* l_Lean_Parser_Term_funImplicitBinder_parenthesizer___closed__4; @@ -5568,8 +5616,10 @@ LEAN_EXPORT lean_object* l_Lean_Parser_Term_prop; static lean_object* l_Lean_Parser_Term_cdot___closed__9; static lean_object* l_Lean_Parser_Term_matchAltsWhereDecls___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_waitIfTypeMVar_formatter__1___closed__1; +static lean_object* l_Lean_Parser_Term_structInstFieldBinder___closed__4; LEAN_EXPORT lean_object* l_Lean_Parser_Term_optIdent_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_implicitBinder___closed__1; +static lean_object* l_Lean_Parser_Term_optTypeForStructInst___closed__4; static lean_object* l_Lean_Parser_Term_motive_formatter___closed__6; static lean_object* l_Lean_Parser_Term_clear_parenthesizer___closed__2; static lean_object* l_Lean_Parser_Term_withDeclName_parenthesizer___closed__3; @@ -5578,7 +5628,6 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___cl static lean_object* l___regBuiltin_Lean_Parser_Term_rightact_declRange__1___closed__4; static lean_object* l_Lean_Parser_Term_haveEqnsDecl___closed__6; static lean_object* l_Lean_Parser_Term_letIdDecl_parenthesizer___closed__5; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__1; static lean_object* l_Lean_Parser_Term_unreachable_formatter___closed__3; static lean_object* l_Lean_Parser_Term_binop__lazy_formatter___closed__4; static lean_object* l_Lean_Parser_Term_letRecDecl_formatter___closed__1; @@ -5641,6 +5690,7 @@ static lean_object* l_Lean_Parser_Term_matchAltExpr___closed__1; static lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__2; static lean_object* l___regBuiltin_Lean_Parser_Term_tuple_declRange__1___closed__1; static lean_object* l_Lean_Parser_Term_explicitUniv_parenthesizer___closed__5; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__16; static lean_object* l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forInMacro__1(lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_assert_declRange__1(lean_object*); @@ -5671,12 +5721,14 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_cdot_parenthesizer__1___clos static lean_object* l_Lean_Parser_Term_motive_parenthesizer___closed__3; static lean_object* l_Lean_Parser_Term_haveIdDecl_parenthesizer___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_pipeCompletion_declRange__1(lean_object*); +static lean_object* l_Lean_Parser_Term_structInstField___closed__13; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible__1(lean_object*); static lean_object* l_Lean_Parser_Term_explicit_formatter___closed__4; static lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__6; static lean_object* l_Lean_Parser_Term_letrec___closed__13; static lean_object* l___regBuiltin_Lean_Parser_Term_dynamicQuot_declRange__1___closed__5; static lean_object* l_Lean_Parser_Term_clear___closed__8; +static lean_object* l_Lean_Parser_Term_structInstFieldEqns___closed__1; static lean_object* l_Lean_Parser_Term_letI_parenthesizer___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185_(lean_object*); static lean_object* l_Lean_Parser_Term_arrow_parenthesizer___closed__3; @@ -5691,6 +5743,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_declName_declRange__1___clos static lean_object* l_Lean_Parser_Term_funBinder___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_prop_declRange__1___closed__5; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_assert__1(lean_object*); +static lean_object* l_Lean_Parser_Term_structInstFieldDef___closed__6; static lean_object* l___regBuiltin_Lean_Parser_Term_defaultOrOfNonempty_declRange__1___closed__7; static lean_object* l_Lean_Parser_Term_declName_formatter___closed__3; static lean_object* l_Lean_Parser_Term_defaultOrOfNonempty___closed__1; @@ -5698,6 +5751,7 @@ static lean_object* l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1_ static lean_object* l_Lean_Parser_Term_waitIfTypeMVar_formatter___closed__3; LEAN_EXPORT lean_object* l_Lean_Parser_Term_letrec_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_Parser_Term_argument___closed__5; +static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__29; static lean_object* l_Lean_Parser_Term_optEllipsis___closed__6; static lean_object* l_Lean_Parser_Term_depArrow_parenthesizer___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Term_let__fun_declRange__1___closed__7; @@ -5720,7 +5774,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeqIndentGt_doc static lean_object* l_Lean_Parser_Term_letExpr_parenthesizer___closed__3; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_let_docString__1(lean_object*); static lean_object* l_Lean_Parser_Term_letRecDecl_parenthesizer___closed__3; -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__7; static lean_object* l_Lean_Parser_Term_dynamicQuot___closed__15; static lean_object* l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__3; static lean_object* l___regBuiltin_Lean_Parser_Term_prop_docString__1___closed__1; @@ -5759,7 +5812,6 @@ static lean_object* l_Lean_Parser_Term_waitIfTypeMVar___closed__12; static lean_object* l_Lean_Parser_Term_structInst_parenthesizer___closed__8; static lean_object* l_Lean_Parser_Term_macroDollarArg_formatter___closed__1; static lean_object* l_Lean_Parser_Term_depArrow_formatter___closed__2; -static lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__31; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1(lean_object*); static lean_object* l___regBuiltin_Lean_Parser_Term_borrowed_docString__1___closed__1; static lean_object* l___regBuiltin_Lean_Parser_Termination_suffix_docString__1___closed__2; @@ -5787,7 +5839,6 @@ static lean_object* l_Lean_Parser_Term_syntheticHole___closed__8; LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstField_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_Parser_Command_commentBody___elambda__1(lean_object*, lean_object*); LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_let__tmp_parenthesizer__1(lean_object*); -static lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__10; static lean_object* l_Lean_Parser_Term_letExpr_formatter___closed__9; static lean_object* l___regBuiltin_Lean_Parser_Term_withDeclName_declRange__1___closed__5; static lean_object* l_Lean_Parser_Tactic_tacticSeq1Indented_parenthesizer___closed__2; @@ -5840,13 +5891,13 @@ static lean_object* l_Lean_Parser_Term_borrowed_parenthesizer___closed__4; static lean_object* l_Lean_Parser_Term_assert___closed__2; static lean_object* l_Lean_Parser_Term_falseVal___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_dynamicQuot__1(lean_object*); -static lean_object* l_Lean_Parser_Term_structInstFieldAbbrev___closed__12; static lean_object* l_Lean_Parser_Term_borrowed___closed__5; static lean_object* l_Lean_Parser_Termination_decreasingBy_parenthesizer___closed__2; LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_clear__1(lean_object*); static lean_object* l_Lean_Parser_Term_structInstField___closed__7; static lean_object* l_Lean_Parser_Term_let__delayed___closed__9; LEAN_EXPORT lean_object* l_Lean_Parser_Term_let__delayed; +static lean_object* l_Lean_Parser_Term_structInstFieldDef_formatter___closed__1; static lean_object* l_Lean_Parser_Term_clear___closed__10; static lean_object* l_Lean_Parser_Term_binop__lazy___closed__4; static lean_object* l_Lean_Parser_Term_panic___closed__3; @@ -5869,7 +5920,6 @@ static lean_object* l_Lean_Parser_Termination_terminationBy___closed__11; static lean_object* l_Lean_Parser_Term_withAnonymousAntiquot_parenthesizer___closed__9; static lean_object* l_Lean_Parser_Term_matchAlts_formatter___closed__1; static lean_object* l_Lean_Parser_Term_matchExprAlts___closed__6; -static lean_object* l_Lean_Parser_Term_structInst___closed__31; static lean_object* l_Lean_Parser_Term_binderDefault___closed__4; static lean_object* _init_l_Lean_Parser_Command_commentBody___elambda__1___closed__1() { _start: @@ -18293,2247 +18343,2433 @@ x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstArrayRef", 18, 18); +x_1 = lean_mk_string_unchecked("typeSpec", 8, 8); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstArrayRef___closed__1; +x_4 = l_Lean_Parser_Term_typeSpec___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__1; -x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__2; +x_1 = l_Lean_Parser_Term_typeSpec___closed__1; +x_2 = l_Lean_Parser_Term_typeSpec___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_optIdent___closed__2; +x_2 = l_Lean_Parser_Term_typeAscription___closed__6; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_typeSpec___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_typeSpec___closed__4; +x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_typeSpec___closed__3; +x_2 = l_Lean_Parser_Term_typeSpec___closed__5; +x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_typeSpec___closed__2; +x_2 = l_Lean_Parser_Term_typeSpec___closed__6; +x_3 = l_Lean_Parser_withCache(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_typeSpec() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("[", 1, 1); +x_1 = l_Lean_Parser_Term_typeSpec___closed__7; return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_optType___closed__1() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__4; -x_2 = l_Lean_Parser_symbol(x_1); +x_1 = l_Lean_Parser_Term_typeSpec; +x_2 = l_Lean_Parser_optional(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_optType() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription___closed__15; -x_2 = l_Lean_Parser_Term_typeAscription___closed__6; -x_3 = l_Lean_Parser_adaptCacheableContext(x_1, x_2); -return x_3; +lean_object* x_1; +x_1 = l_Lean_Parser_Term_optType___closed__1; +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_explicit___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("]", 1, 1); +x_1 = lean_mk_string_unchecked("explicit", 8, 8); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_explicit___closed__2() { +_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_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_explicit___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_explicit___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_explicit___closed__1; +x_2 = l_Lean_Parser_Term_explicit___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_explicit___closed__4() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("@", 1, 1); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_explicit___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__7; +x_1 = l_Lean_Parser_Term_explicit___closed__4; x_2 = l_Lean_Parser_symbol(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_explicit___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__6; -x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__8; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_maxPrec; +x_2 = l_Lean_Parser_termParser(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_explicit___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__5; -x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__9; +x_1 = l_Lean_Parser_Term_explicit___closed__5; +x_2 = l_Lean_Parser_Term_explicit___closed__6; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__11() { +static lean_object* _init_l_Lean_Parser_Term_explicit___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__2; +x_1 = l_Lean_Parser_Term_explicit___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstArrayRef___closed__10; +x_3 = l_Lean_Parser_Term_explicit___closed__7; x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__12() { +static lean_object* _init_l_Lean_Parser_Term_explicit___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__3; -x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__11; +x_1 = l_Lean_Parser_Term_explicit___closed__3; +x_2 = l_Lean_Parser_Term_explicit___closed__8; x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__13() { +static lean_object* _init_l_Lean_Parser_Term_explicit___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__2; -x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__12; +x_1 = l_Lean_Parser_Term_explicit___closed__2; +x_2 = l_Lean_Parser_Term_explicit___closed__9; x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef() { +static lean_object* _init_l_Lean_Parser_Term_explicit() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__13; +x_1 = l_Lean_Parser_Term_explicit___closed__10; return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__1() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicit__1(lean_object* x_1) { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstLVal", 14, 14); -return 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; +x_2 = l___regBuiltin_Lean_Parser_Term_byTactic__1___closed__2; +x_3 = l_Lean_Parser_Term_explicit___closed__2; +x_4 = 1; +x_5 = l_Lean_Parser_Term_explicit; +x_6 = lean_unsigned_to_nat(1000u); +x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_docString__1___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_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstLVal___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("`@x` disables automatic insertion of implicit parameters of the constant `x`.\n`@e` for any term `e` also disables the insertion of implicit lambdas at this position.\n", 166, 166); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__3() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicit_docString__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_structInstLVal___closed__1; -x_2 = l_Lean_Parser_Term_structInstLVal___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_Parser_Term_explicit___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_explicit_docString__1___closed__1; +x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__4() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_fieldIdx; -x_2 = l_Lean_Parser_Term_structInstArrayRef; -x_3 = l_Lean_Parser_orelse(x_1, x_2); +x_1 = lean_unsigned_to_nat(244u); +x_2 = lean_unsigned_to_nat(23u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__5() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_ident; -x_2 = l_Lean_Parser_Term_structInstLVal___closed__4; -x_3 = l_Lean_Parser_orelse(x_1, x_2); +x_1 = lean_unsigned_to_nat(245u); +x_2 = lean_unsigned_to_nat(27u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__6() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_ident; -x_2 = l_Lean_Parser_fieldIdx; -x_3 = l_Lean_Parser_orelse(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__1; +x_2 = lean_unsigned_to_nat(23u); +x_3 = l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__2; +x_4 = lean_unsigned_to_nat(27u); +x_5 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__7() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_cdot___closed__7; -x_2 = l_Lean_Parser_Term_structInstLVal___closed__6; -x_3 = l_Lean_Parser_andthen(x_1, x_2); +x_1 = lean_unsigned_to_nat(244u); +x_2 = lean_unsigned_to_nat(27u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__8() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_sufficesDecl___closed__4; -x_2 = l_Lean_Parser_Term_structInstLVal___closed__7; -x_3 = l_Lean_Parser_node(x_1, x_2); +x_1 = lean_unsigned_to_nat(244u); +x_2 = lean_unsigned_to_nat(35u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__9() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstLVal___closed__8; -x_2 = l_Lean_Parser_Term_structInstArrayRef; -x_3 = l_Lean_Parser_orelse(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__4; +x_2 = lean_unsigned_to_nat(27u); +x_3 = l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__5; +x_4 = lean_unsigned_to_nat(35u); +x_5 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__10() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__7() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstLVal___closed__9; -x_2 = l_Lean_Parser_many(x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__3; +x_2 = l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__6; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__11() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicit_declRange__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstLVal___closed__5; -x_2 = l_Lean_Parser_Term_structInstLVal___closed__10; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_Parser_Term_explicit___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__7; +x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__12() { +static lean_object* _init_l_Lean_Parser_Term_explicit_formatter___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInstLVal___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstLVal___closed__11; -x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); -return x_4; +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; +x_1 = l_Lean_Parser_Term_explicit___closed__1; +x_2 = l_Lean_Parser_Term_explicit___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__13() { +static lean_object* _init_l_Lean_Parser_Term_explicit_formatter___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstLVal___closed__3; -x_2 = l_Lean_Parser_Term_structInstLVal___closed__12; -x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_explicit___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__14() { +static lean_object* _init_l_Lean_Parser_Term_explicit_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstLVal___closed__2; -x_2 = l_Lean_Parser_Term_structInstLVal___closed__13; -x_3 = l_Lean_Parser_withCache(x_1, x_2); +x_1 = l_Lean_Parser_Term_explicit_formatter___closed__2; +x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal() { +static lean_object* _init_l_Lean_Parser_Term_explicit_formatter___closed__4() { _start: { -lean_object* x_1; -x_1 = l_Lean_Parser_Term_structInstLVal___closed__14; -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_explicit___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_explicit_formatter___closed__3; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicit_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstField", 15, 15); -return x_1; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_explicit_formatter___closed__1; +x_7 = l_Lean_Parser_Term_explicit_formatter___closed__4; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_formatter__1___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstField___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; +x_4 = l_Lean_Parser_Term_explicit___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__3() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_formatter__1___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_structInstField___closed__1; -x_2 = l_Lean_Parser_Term_structInstField___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_explicit_formatter), 5, 0); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__4() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicit_formatter__1(lean_object* x_1) { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked(" := ", 4, 4); -return x_1; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; +x_3 = l_Lean_Parser_Term_explicit___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_explicit_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_explicit_formatter__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_explicit_parenthesizer___closed__1() { +_start: +{ +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; +x_1 = l_Lean_Parser_Term_explicit___closed__1; +x_2 = l_Lean_Parser_Term_explicit___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_explicit_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstField___closed__4; -x_2 = l_Lean_Parser_symbol(x_1); +x_1 = l_Lean_Parser_Term_explicit___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_explicit_parenthesizer___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField___closed__5; -x_2 = l_Lean_Parser_Term_typeAscription___closed__6; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_maxPrec; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_termParser_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_explicit_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstLVal; -x_2 = l_Lean_Parser_Term_structInstField___closed__6; -x_3 = l_Lean_Parser_andthen(x_1, x_2); +x_1 = l_Lean_Parser_Term_explicit_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_explicit_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_explicit_parenthesizer___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInstField___closed__2; +x_1 = l_Lean_Parser_Term_explicit___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstField___closed__7; -x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +x_3 = l_Lean_Parser_Term_explicit_parenthesizer___closed__4; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__9() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicit_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField___closed__3; -x_2 = l_Lean_Parser_Term_structInstField___closed__8; -x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); -return x_3; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_explicit_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_explicit_parenthesizer___closed__5; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__10() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_parenthesizer__1___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField___closed__2; -x_2 = l_Lean_Parser_Term_structInstField___closed__9; -x_3 = l_Lean_Parser_withCache(x_1, x_2); -return x_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; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_explicit___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_structInstField___closed__10; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_explicit_parenthesizer), 5, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__1() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicit_parenthesizer__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; +x_3 = l_Lean_Parser_Term_explicit___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_explicit_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_explicit_parenthesizer__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; +} +} +static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstFieldAbbrev", 21, 21); +x_1 = lean_mk_string_unchecked("inaccessible", 12, 12); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__1; +x_4 = l_Lean_Parser_Term_inaccessible___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__1; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__2; +x_1 = l_Lean_Parser_Term_inaccessible___closed__1; +x_2 = l_Lean_Parser_Term_inaccessible___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__4() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked(":=", 2, 2); +x_1 = lean_mk_string_unchecked(".(", 2, 2); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__4; +x_1 = l_Lean_Parser_Term_inaccessible___closed__4; x_2 = l_Lean_Parser_symbol(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__5; -x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__5; -x_3 = l_Lean_Parser_orelse(x_1, x_2); +x_1 = l_Lean_Parser_Term_typeAscription___closed__15; +x_2 = l_Lean_Parser_Term_typeAscription___closed__6; +x_3 = l_Lean_Parser_adaptCacheableContext(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_cdot___closed__7; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__6; -x_3 = l_Lean_Parser_orelse(x_1, x_2); +x_1 = l_Lean_Parser_Term_inaccessible___closed__6; +x_2 = l_Lean_Parser_Term_typeAscription___closed__18; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__8() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("invalid field abbreviation", 26, 26); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__7; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__8; -x_3 = l_Lean_Parser_notFollowedBy(x_1, x_2); +x_1 = l_Lean_Parser_Term_inaccessible___closed__5; +x_2 = l_Lean_Parser_Term_inaccessible___closed__7; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__10() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_ident; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__9; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__11() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__10; -x_2 = l_Lean_Parser_atomic(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__12() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__2; +x_1 = l_Lean_Parser_Term_inaccessible___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__11; +x_3 = l_Lean_Parser_Term_inaccessible___closed__8; x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__13() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__3; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__12; +x_1 = l_Lean_Parser_Term_inaccessible___closed__3; +x_2 = l_Lean_Parser_Term_inaccessible___closed__9; x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__14() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__2; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__13; +x_1 = l_Lean_Parser_Term_inaccessible___closed__2; +x_2 = l_Lean_Parser_Term_inaccessible___closed__10; x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__14; -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("optEllipsis", 11, 11); +x_1 = l_Lean_Parser_Term_inaccessible___closed__11; return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__2() { -_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_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_optEllipsis___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__3() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__1; -x_2 = l_Lean_Parser_Term_optEllipsis___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_2 = l___regBuiltin_Lean_Parser_Term_byTactic__1___closed__2; +x_3 = l_Lean_Parser_Term_inaccessible___closed__2; +x_4 = 1; +x_5 = l_Lean_Parser_Term_inaccessible; +x_6 = lean_unsigned_to_nat(1000u); +x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__4() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_docString__1___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked(" ..", 3, 3); +x_1 = lean_mk_string_unchecked("`.(e)` marks an \"inaccessible pattern\", which does not influence evaluation of the pattern match, but may be necessary for type-checking.\nIn contrast to regular patterns, `e` may be an arbitrary term of the appropriate type.\n", 225, 225); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__4; -x_2 = l_Lean_Parser_symbol(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__5; -x_2 = l_Lean_Parser_optional(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__7() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_docString__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_optEllipsis___closed__6; -x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_Parser_Term_inaccessible___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_inaccessible_docString__1___closed__1; +x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__8() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__3; -x_2 = l_Lean_Parser_Term_optEllipsis___closed__7; -x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); +x_1 = lean_unsigned_to_nat(250u); +x_2 = lean_unsigned_to_nat(23u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__9() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__2; -x_2 = l_Lean_Parser_Term_optEllipsis___closed__8; -x_3 = l_Lean_Parser_withCache(x_1, x_2); +x_1 = lean_unsigned_to_nat(251u); +x_2 = lean_unsigned_to_nat(43u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis() { -_start: -{ -lean_object* x_1; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__9; -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstFields___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstFields", 16, 16); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstFields___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__3() { _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_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstFields___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +x_1 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__1; +x_2 = lean_unsigned_to_nat(23u); +x_3 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__2; +x_4 = lean_unsigned_to_nat(43u); +x_5 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_4); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFields(lean_object* x_1) { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__4() { _start: { -lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Parser_Term_structInstFields___closed__2; -x_3 = l_Lean_Parser_node(x_2, x_1); +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(250u); +x_2 = lean_unsigned_to_nat(27u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__5() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInst", 10, 10); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(250u); +x_2 = lean_unsigned_to_nat(39u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__6() { _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_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInst___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_structInst___closed__1; -x_2 = l_Lean_Parser_Term_structInst___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +x_1 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__4; +x_2 = lean_unsigned_to_nat(27u); +x_3 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__5; +x_4 = lean_unsigned_to_nat(39u); +x_5 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__4() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__7() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("{ ", 2, 2); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__3; +x_2 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__6; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__5() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__4; -x_2 = l_Lean_Parser_symbol(x_1); -return x_2; +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_Parser_Term_inaccessible___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__7; +x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible_formatter___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_typeAscription___closed__6; -x_2 = l_Lean_Parser_Term_tuple___closed__4; -x_3 = l_Lean_Parser_Term_tuple___closed__5; +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; +x_1 = l_Lean_Parser_Term_inaccessible___closed__1; +x_2 = l_Lean_Parser_Term_inaccessible___closed__2; +x_3 = 1; x_4 = 0; -x_5 = l_Lean_Parser_sepBy1(x_1, x_2, x_3, x_4); -return x_5; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible_formatter___closed__2() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked(" with ", 6, 6); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_inaccessible___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__7; -x_2 = l_Lean_Parser_symbol(x_1); +x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst___closed__6; -x_2 = l_Lean_Parser_Term_structInst___closed__8; -x_3 = l_Lean_Parser_andthen(x_1, x_2); +x_1 = l_Lean_Parser_Term_inaccessible_formatter___closed__3; +x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__12; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible_formatter___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__9; -x_2 = l_Lean_Parser_atomic(x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_inaccessible_formatter___closed__2; +x_2 = l_Lean_Parser_Term_inaccessible_formatter___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__11() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible_formatter___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__10; -x_2 = l_Lean_Parser_optional(x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_inaccessible___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_inaccessible_formatter___closed__5; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__12() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_inaccessible_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev; -x_2 = l_Lean_Parser_Term_structInstField; -x_3 = l_Lean_Parser_orelse(x_1, x_2); -return x_3; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_inaccessible_formatter___closed__1; +x_7 = l_Lean_Parser_Term_inaccessible_formatter___closed__6; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__13() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__3; -x_2 = l_Lean_Parser_Term_structInst___closed__12; -x_3 = l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__5; -x_4 = l_Lean_Parser_withAntiquotSpliceAndSuffix(x_1, x_2, x_3); -return x_4; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_inaccessible___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__14() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__7; -x_2 = l_Lean_Parser_Term_structInst___closed__13; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_inaccessible_formatter), 5, 0); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__15() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_tuple___closed__5; -x_2 = l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__12; -x_3 = l_Lean_Parser_orelse(x_1, x_2); -return x_3; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; +x_3 = l_Lean_Parser_Term_inaccessible___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__16() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_structInst___closed__14; -x_2 = l_Lean_Parser_Term_tuple___closed__4; -x_3 = l_Lean_Parser_Term_structInst___closed__15; -x_4 = 1; -x_5 = l_Lean_Parser_sepBy(x_1, x_2, x_3, x_4); -return x_5; +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; +x_1 = l_Lean_Parser_Term_inaccessible___closed__1; +x_2 = l_Lean_Parser_Term_inaccessible___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__17() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__16; -x_2 = l_Lean_Parser_withPosition(x_1); +x_1 = l_Lean_Parser_Term_inaccessible___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__18() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__17; -x_2 = l_Lean_Parser_Term_structInstFields(x_1); +x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__19() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_optIdent___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription___closed__6; -x_3 = l_Lean_Parser_andthen(x_1, x_2); +x_1 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__12; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__20() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__19; -x_2 = l_Lean_Parser_optional(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__21() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_optEllipsis; -x_2 = l_Lean_Parser_Term_structInst___closed__20; -x_3 = l_Lean_Parser_andthen(x_1, x_2); +x_1 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__22() { +static lean_object* _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst___closed__18; -x_2 = l_Lean_Parser_Term_structInst___closed__21; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_inaccessible___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__5; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__23() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_inaccessible_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst___closed__11; -x_2 = l_Lean_Parser_Term_structInst___closed__22; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__6; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__24() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription___closed__15; -x_2 = l_Lean_Parser_Term_structInst___closed__23; -x_3 = l_Lean_Parser_adaptCacheableContext(x_1, x_2); -return x_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; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_inaccessible___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__25() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked(" }", 2, 2); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_inaccessible_parenthesizer), 5, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__26() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; +x_3 = l_Lean_Parser_Term_inaccessible___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; +} +} +static lean_object* _init_l_Lean_Parser_Term_binderType___closed__1() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__25; -x_2 = l_Lean_Parser_symbol(x_1); +x_1 = l_Lean_Parser_Term_typeSpec___closed__4; +x_2 = l_Lean_Parser_optional(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__27() { +static lean_object* _init_l_Lean_Parser_Term_binderType___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst___closed__24; -x_2 = l_Lean_Parser_Term_structInst___closed__26; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("null", 4, 4); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__28() { +static lean_object* _init_l_Lean_Parser_Term_binderType___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst___closed__5; -x_2 = l_Lean_Parser_Term_structInst___closed__27; -x_3 = l_Lean_Parser_andthen(x_1, x_2); +x_1 = lean_box(0); +x_2 = l_Lean_Parser_Term_binderType___closed__2; +x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__29() { +static lean_object* _init_l_Lean_Parser_Term_binderType___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInst___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInst___closed__28; -x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); -return x_4; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_binderType___closed__3; +x_2 = l_Lean_Parser_Term_typeSpec___closed__4; +x_3 = l_Lean_Parser_node(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__30() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType(uint8_t x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst___closed__3; -x_2 = l_Lean_Parser_Term_structInst___closed__29; -x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); +if (x_1 == 0) +{ +lean_object* x_2; +x_2 = l_Lean_Parser_Term_binderType___closed__1; +return x_2; +} +else +{ +lean_object* x_3; +x_3 = l_Lean_Parser_Term_binderType___closed__4; return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst___closed__31() { +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType___boxed(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst___closed__2; -x_2 = l_Lean_Parser_Term_structInst___closed__30; -x_3 = l_Lean_Parser_withCache(x_1, x_2); +uint8_t x_2; lean_object* x_3; +x_2 = lean_unbox(x_1); +lean_dec(x_1); +x_3 = l_Lean_Parser_Term_binderType(x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__1() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_structInst___closed__31; +x_1 = lean_mk_string_unchecked("binderTactic", 12, 12); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__2() { _start: { -lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l___regBuiltin_Lean_Parser_Term_byTactic__1___closed__2; -x_3 = l_Lean_Parser_Term_structInst___closed__2; -x_4 = 1; -x_5 = l_Lean_Parser_Term_structInst; -x_6 = lean_unsigned_to_nat(1000u); -x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); -return x_7; +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_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_binderTactic___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_docString__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_binderTactic___closed__1; +x_2 = l_Lean_Parser_Term_binderTactic___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__4() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("Structure instance. `{ x := e, ... }` assigns `e` to field `x`, which may be\ninherited. If `e` is itself a variable called `x`, it can be elided:\n`fun y => { x := 1, y }`.\nA *structure update* of an existing value can be given via `with`:\n`{ point with x := 1 }`.\nThe structure type can be specified if not inferable:\n`{ x := 1, y := 2 : Point }`.\n", 348, 348); +x_1 = lean_mk_string_unchecked(" := ", 4, 4); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_docString__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__5() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_structInst___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_structInst_docString__1___closed__1; -x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); -return x_4; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_binderTactic___closed__4; +x_2 = l_Lean_Parser_symbol(x_1); +return x_2; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked(" by ", 4, 4); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_binderTactic___closed__6; +x_2 = l_Lean_Parser_symbol(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(233u); -x_2 = lean_unsigned_to_nat(23u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_binderTactic___closed__5; +x_2 = l_Lean_Parser_Term_binderTactic___closed__7; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_binderTactic___closed__8; +x_2 = l_Lean_Parser_atomic(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(237u); -x_2 = lean_unsigned_to_nat(46u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_binderTactic___closed__9; +x_2 = l_Lean_Parser_Tactic_tacticSeq; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__11() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__1; -x_2 = lean_unsigned_to_nat(23u); -x_3 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__2; -x_4 = lean_unsigned_to_nat(46u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_binderTactic___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_binderTactic___closed__10; +x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +return x_4; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(233u); -x_2 = lean_unsigned_to_nat(27u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_binderTactic___closed__3; +x_2 = l_Lean_Parser_Term_binderTactic___closed__11; +x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(233u); -x_2 = lean_unsigned_to_nat(37u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_binderTactic___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic___closed__12; +x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Parser_Term_binderTactic___closed__13; +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("binderDefault", 13, 13); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__4; -x_2 = lean_unsigned_to_nat(27u); -x_3 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__5; -x_4 = lean_unsigned_to_nat(37u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_binderDefault___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_binderDefault___closed__1; +x_2 = l_Lean_Parser_Term_binderDefault___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__3; -x_2 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__6; -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_binderTactic___closed__5; +x_2 = l_Lean_Parser_Term_typeAscription___closed__6; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_declRange__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__5() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_structInst___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__7; -x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_binderDefault___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_binderDefault___closed__4; +x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFields_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__6() { _start: { -lean_object* x_7; lean_object* x_8; -x_7 = l_Lean_Parser_Term_structInstFields___closed__2; -x_8 = l_Lean_PrettyPrinter_Formatter_node_formatter(x_7, x_1, x_2, x_3, x_4, x_5, x_6); -return x_8; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_binderDefault___closed__3; +x_2 = l_Lean_Parser_Term_binderDefault___closed__5; +x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__7() { _start: { -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; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__1; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_binderDefault___closed__2; +x_2 = l_Lean_Parser_Term_binderDefault___closed__6; +x_3 = l_Lean_Parser_withCache(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_binderDefault() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = l_Lean_Parser_Term_binderDefault___closed__7; +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__3() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderDefault_parenthesizer___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; +x_7 = l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg(x_3, x_4, x_5, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_binderDefault_parenthesizer___closed__1() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); +x_1 = lean_unsigned_to_nat(0u); +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_binderDefault_parenthesizer___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__2; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderDefault_parenthesizer___lambda__1___boxed), 6, 0); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_binderDefault_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_cdot_formatter___closed__3; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__4; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); +x_1 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__1; +x_2 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__2; +x_3 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer___spec__1___rarg), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_binderDefault_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__5; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_notFollowedBy_formatter___boxed), 5, 1); +x_1 = l_Lean_Parser_maxPrec; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_binderDefault_parenthesizer___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_syntheticHole_formatter___closed__3; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__6; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +x_1 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__4; +x_2 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__2; +x_3 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer___spec__1___rarg), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__8() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderDefault_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__7; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; +x_6 = l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__1___rarg(x_2, x_3, x_4, x_5); +x_7 = lean_ctor_get(x_6, 0); +lean_inc(x_7); +x_8 = lean_ctor_get(x_6, 1); +lean_inc(x_8); +lean_dec(x_6); +x_9 = l_Lean_Parser_Term_binderDefault___closed__2; +lean_inc(x_7); +x_10 = l_Lean_Syntax_isOfKind(x_7, x_9); +if (x_10 == 0) +{ +lean_object* x_11; lean_object* x_12; +lean_dec(x_7); +x_11 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__3; +x_12 = l_Lean_PrettyPrinter_Parenthesizer_visitArgs(x_11, x_1, x_2, x_3, x_4, x_8); +return x_12; +} +else +{ +lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; +x_13 = lean_unsigned_to_nat(1u); +x_14 = l_Lean_Syntax_getArg(x_7, x_13); +lean_dec(x_7); +x_15 = l_Lean_Parser_Term_byTactic___closed__2; +x_16 = l_Lean_Syntax_isOfKind(x_14, x_15); +if (x_16 == 0) +{ +lean_object* x_17; lean_object* x_18; +x_17 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__3; +x_18 = l_Lean_PrettyPrinter_Parenthesizer_visitArgs(x_17, x_1, x_2, x_3, x_4, x_8); +return x_18; +} +else +{ +lean_object* x_19; lean_object* x_20; +x_19 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__5; +x_20 = l_Lean_PrettyPrinter_Parenthesizer_visitArgs(x_19, x_1, x_2, x_3, x_4, x_8); +return x_20; +} } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__9() { +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderDefault_parenthesizer___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__8; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; +lean_object* x_7; +x_7 = l_Lean_Parser_Term_binderDefault_parenthesizer___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); +lean_dec(x_5); +lean_dec(x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_7; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__1() { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__1; -x_7 = l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__9; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("explicitBinder", 14, 14); +return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2() { _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_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; +x_4 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__3() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFieldAbbrev_formatter), 5, 0); +x_1 = lean_mk_string_unchecked("Explicit binder, like `(x y : A)` or `(x y)`.\nDefault values can be specified using `(x : A := v)` syntax, and tactics using `(x : A := by tac)`.\n", 146, 146); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1(lean_object* x_1) { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__3; +x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__1() { _start: { -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; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__1; -x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__2; +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; x_3 = 1; x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); +x_1 = l_Lean_Parser_Term_binderIdent; +x_2 = l_Lean_Parser_many1(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__7; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_binderTactic; +x_2 = l_Lean_Parser_Term_binderDefault; +x_3 = l_Lean_Parser_orelse(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2; -x_2 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_explicitBinder___closed__3; +x_2 = l_Lean_Parser_optional(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__5() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder(uint8_t x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__3; -x_2 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__4; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; +x_2 = l_Lean_Parser_Term_binderType(x_1); +x_3 = l_Lean_Parser_Term_explicitBinder___closed__4; +x_4 = l_Lean_Parser_andthen(x_2, x_3); +x_5 = l_Lean_Parser_Term_explicitBinder___closed__2; +x_6 = l_Lean_Parser_andthen(x_5, x_4); +x_7 = l_Lean_Parser_Term_typeAscription___closed__15; +x_8 = l_Lean_Parser_adaptCacheableContext(x_7, x_6); +x_9 = l_Lean_Parser_Term_typeAscription___closed__18; +x_10 = l_Lean_Parser_andthen(x_8, x_9); +x_11 = l_Lean_Parser_Term_typeAscription___closed__5; +x_12 = l_Lean_Parser_andthen(x_11, x_10); +x_13 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; +x_14 = lean_unsigned_to_nat(1024u); +x_15 = l_Lean_Parser_leadingNode(x_13, x_14, x_12); +x_16 = l_Lean_Parser_Term_explicitBinder___closed__1; +x_17 = l_Lean_Parser_withAntiquot(x_16, x_15); +return x_17; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__6() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder___boxed(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__5; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; +uint8_t x_2; lean_object* x_3; +x_2 = lean_unbox(x_1); +lean_dec(x_1); +x_3 = l_Lean_Parser_Term_explicitBinder(x_2); +return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__1() { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__1; -x_7 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__6; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("implicitBinder", 14, 14); +return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2() { _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_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstArrayRef___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; +x_4 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__3() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstArrayRef_formatter), 5, 0); +x_1 = lean_mk_string_unchecked("Implicit binder, like `{x y : A}` or `{x y}`.\nIn regular applications, whenever all parameters before it have been specified,\nthen a `_` placeholder is automatically inserted for this parameter.\nImplicit parameters should be able to be determined from the other arguments and the return type\nby unification.\n\nIn `@` explicit mode, implicit binders behave like explicit binders.\n", 378, 378); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1(lean_object* x_1) { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_structInstArrayRef___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__3; +x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_implicitBinder___closed__1() { _start: { -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; -x_1 = l_Lean_Parser_Term_structInstLVal___closed__1; -x_2 = l_Lean_Parser_Term_structInstLVal___closed__2; +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; x_3 = 1; x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__2() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder(uint8_t x_1) { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_fieldIdx_formatter), 5, 0); -return x_1; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; +x_2 = l_Lean_Parser_Term_binderType(x_1); +x_3 = l_Lean_Parser_Term_explicitBinder___closed__2; +x_4 = l_Lean_Parser_andthen(x_3, x_2); +x_5 = l_Lean_Parser_Term_typeAscription___closed__15; +x_6 = l_Lean_Parser_adaptCacheableContext(x_5, x_4); +x_7 = l_Lean_Parser_Tactic_tacticSeqBracketed___closed__6; +x_8 = l_Lean_Parser_andthen(x_6, x_7); +x_9 = l_Lean_Parser_Tactic_tacticSeqBracketed___closed__3; +x_10 = l_Lean_Parser_andthen(x_9, x_8); +x_11 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; +x_12 = lean_unsigned_to_nat(1024u); +x_13 = l_Lean_Parser_leadingNode(x_11, x_12, x_10); +x_14 = l_Lean_Parser_Term_implicitBinder___closed__1; +x_15 = l_Lean_Parser_withAntiquot(x_14, x_13); +return x_15; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__3() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder___boxed(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstLVal_formatter___closed__2; -x_2 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +uint8_t x_2; lean_object* x_3; +x_2 = lean_unbox(x_1); +lean_dec(x_1); +x_3 = l_Lean_Parser_Term_implicitBinder(x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_syntheticHole_formatter___closed__3; -x_2 = l_Lean_Parser_Term_structInstLVal_formatter___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_syntheticHole_formatter___closed__3; -x_2 = l_Lean_Parser_Term_structInstLVal_formatter___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___closed__3; +x_2 = l_Lean_Parser_andthen(x_1, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_cdot_formatter___closed__3; -x_2 = l_Lean_Parser_Term_structInstLVal_formatter___closed__5; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_sufficesDecl___closed__4; +x_2 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__1; +x_3 = l_Lean_Parser_node(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstLVal_formatter___closed__6; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_group_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); +x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__2; +x_2 = l_Lean_Parser_atomic(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstLVal_formatter___closed__7; -x_2 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("⦃", 3, 1); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstLVal_formatter___closed__8; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); +x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__4; +x_2 = l_Lean_Parser_symbol(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstLVal_formatter___closed__4; -x_2 = l_Lean_Parser_Term_structInstLVal_formatter___closed__9; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__3; +x_2 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__5; +x_3 = l_Lean_Parser_orelse(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__11() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInstLVal___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstLVal_formatter___closed__10; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstLVal_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_structInstLVal_formatter___closed__1; -x_7 = l_Lean_Parser_Term_structInstLVal_formatter___closed__11; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstLVal___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstLVal_formatter), 5, 0); +x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__6; return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket___closed__1() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_structInstLVal___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___closed__6; +x_2 = l_Lean_Parser_andthen(x_1, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket___closed__2() { _start: { -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; -x_1 = l_Lean_Parser_Term_structInstField___closed__1; -x_2 = l_Lean_Parser_Term_structInstField___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_sufficesDecl___closed__4; +x_2 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__1; +x_3 = l_Lean_Parser_node(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstField___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); +x_1 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__2; +x_2 = l_Lean_Parser_atomic(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__2; -x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("⦄", 3, 1); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInstField___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstField_formatter___closed__4; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__4; +x_2 = l_Lean_Parser_symbol(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__1; -x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__5; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_withAntiquot_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__3; +x_2 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__5; +x_3 = l_Lean_Parser_orelse(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__6; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withCache_formatter___rarg), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__6; +return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstField_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__1() { _start: { -lean_object* x_6; lean_object* x_7; -x_6 = l_Lean_Parser_Term_structInstField_formatter___closed__7; -x_7 = l_Lean_Parser_ppGroup_formatter(x_6, x_1, x_2, x_3, x_4, x_5); -return x_7; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("strictImplicitBinder", 20, 20); +return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2() { _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_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstField___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; +x_4 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__3() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstField_formatter), 5, 0); +x_1 = lean_mk_string_unchecked("Strict-implicit binder, like `⦃x y : A⦄` or `⦃x y⦄`.\nIn contrast to `{ ... }` implicit binders, strict-implicit binders do not automatically insert\na `_` placeholder until at least one subsequent explicit parameter is specified.\nDo *not* use strict-implicit binders unless there is a subsequent explicit parameter.\nAssuming this rule is followed, for fully applied expressions implicit and strict-implicit binders have the same behavior.\n\nExample: If `h : ∀ ⦃x : A⦄, x ∈ s → p x` and `hs : y ∈ s`,\nthen `h` by itself elaborates to itself without inserting `_` for the `x : A` parameter,\nand `h hs` has type `p y`.\nIn contrast, if `h' : ∀ {x : A}, x ∈ s → p x`, then `h` by itself elaborates to have type `\?m ∈ s → p \?m`\nwith `\?m` a fresh metavariable.\n", 782, 752); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1(lean_object* x_1) { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_structInstField___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__3; +x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder___closed__1() { _start: { -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; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__1; -x_2 = l_Lean_Parser_Term_optEllipsis___closed__2; +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; x_3 = 1; x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__3() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder(uint8_t x_1) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_optEllipsis_formatter___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +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; +x_2 = l_Lean_Parser_Term_binderType(x_1); +x_3 = l_Lean_Parser_Term_strictImplicitRightBracket; +x_4 = l_Lean_Parser_andthen(x_2, x_3); +x_5 = l_Lean_Parser_Term_explicitBinder___closed__2; +x_6 = l_Lean_Parser_andthen(x_5, x_4); +x_7 = l_Lean_Parser_Term_strictImplicitLeftBracket; +x_8 = l_Lean_Parser_andthen(x_7, x_6); +x_9 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; +x_10 = lean_unsigned_to_nat(1024u); +x_11 = l_Lean_Parser_leadingNode(x_9, x_10, x_8); +x_12 = l_Lean_Parser_Term_strictImplicitBinder___closed__1; +x_13 = l_Lean_Parser_withAntiquot(x_12, x_11); +return x_13; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__4() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder___boxed(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_optEllipsis_formatter___closed__3; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; +uint8_t x_2; lean_object* x_3; +x_2 = lean_unbox(x_1); +lean_dec(x_1); +x_3 = l_Lean_Parser_Term_strictImplicitBinder(x_2); +return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_optEllipsis_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1() { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_optEllipsis_formatter___closed__1; -x_7 = l_Lean_Parser_Term_optEllipsis_formatter___closed__4; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("instBinder", 10, 10); +return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2() { _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_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_optEllipsis___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; +x_4 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__3() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optEllipsis_formatter), 5, 0); +x_1 = lean_mk_string_unchecked("Instance-implicit binder, like `[C]` or `[inst : C]`.\nIn regular applications without `@` explicit mode, it is automatically inserted\nand solved for by typeclass inference for the specified class `C`.\nIn `@` explicit mode, if `_` is used for an instance-implicit parameter, then it is still solved for by typeclass inference;\nuse `(_)` to inhibit this and have it be solved for by unification instead, like an implicit argument.\n", 429, 429); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_instBinder_docString__1(lean_object* x_1) { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_optEllipsis___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__3; +x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__1() { _start: { -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; -x_1 = l_Lean_Parser_Term_structInst___closed__1; -x_2 = l_Lean_Parser_Term_structInst___closed__2; +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; x_3 = 1; x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; -x_2 = l_Lean_Parser_Term_tuple___closed__4; -x_3 = l_Lean_Parser_Term_tuple_formatter___closed__2; -x_4 = 0; -x_5 = lean_box(x_4); -x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1_formatter___boxed), 9, 4); -lean_closure_set(x_6, 0, x_1); -lean_closure_set(x_6, 1, x_2); -lean_closure_set(x_6, 2, x_3); -lean_closure_set(x_6, 3, x_5); -return x_6; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("[", 1, 1); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__7; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); +x_1 = l_Lean_Parser_Term_instBinder___closed__2; +x_2 = l_Lean_Parser_symbol(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst_formatter___closed__3; -x_2 = l_Lean_Parser_Term_structInst_formatter___closed__4; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_optIdent; +x_2 = l_Lean_Parser_Term_typeAscription___closed__6; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst_formatter___closed__5; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst_formatter___closed__6; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__2; -x_2 = l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_typeAscription___closed__15; +x_2 = l_Lean_Parser_Term_instBinder___closed__4; +x_3 = l_Lean_Parser_adaptCacheableContext(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInst_formatter___closed__8; -x_2 = l_Lean_Parser_Term_tuple___closed__4; -x_3 = l_Lean_Parser_Term_tuple_formatter___closed__2; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_sepByIndent_formatter___boxed), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("]", 1, 1); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__7() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst_formatter___closed__9; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFields_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); +x_1 = l_Lean_Parser_Term_instBinder___closed__6; +x_2 = l_Lean_Parser_symbol(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__11() { +static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_sufficesDecl_formatter___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_instBinder___closed__5; +x_2 = l_Lean_Parser_Term_instBinder___closed__7; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__12() { +static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__9() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst_formatter___closed__11; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_instBinder___closed__3; +x_2 = l_Lean_Parser_Term_instBinder___closed__8; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__13() { +static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__10() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__2; -x_2 = l_Lean_Parser_Term_structInst_formatter___closed__12; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_instBinder___closed__9; +x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__14() { +static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst_formatter___closed__10; -x_2 = l_Lean_Parser_Term_structInst_formatter___closed__13; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_instBinder___closed__1; +x_2 = l_Lean_Parser_Term_instBinder___closed__10; +x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__15() { +static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst_formatter___closed__7; -x_2 = l_Lean_Parser_Term_structInst_formatter___closed__14; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; +x_2 = l_Lean_Parser_Term_instBinder___closed__11; +x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__16() { +static lean_object* _init_l_Lean_Parser_Term_instBinder() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst_formatter___closed__15; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = l_Lean_Parser_Term_instBinder___closed__12; +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__17() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__25; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("bracketedBinder", 15, 15); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__18() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst_formatter___closed__16; -x_2 = l_Lean_Parser_Term_structInst_formatter___closed__17; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +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_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__19() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst_formatter___closed__2; -x_2 = l_Lean_Parser_Term_structInst_formatter___closed__18; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("A `bracketedBinder` matches any kind of binder group that uses some kind of brackets:\n* An explicit binder like `(x y : A)`\n* An implicit binder like `{x y : A}`\n* A strict implicit binder, `⦃y z : A⦄` or its ASCII alternative `{{y z : A}}`\n* An instance binder `[A]` or `[x : A]` (multiple variables are not allowed here)\n", 327, 323); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__20() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInst___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInst_formatter___closed__19; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__3; +x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInst_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +static lean_object* _init_l_Lean_Parser_Term_bracketedBinder___closed__1() { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_structInst_formatter___closed__1; -x_7 = l_Lean_Parser_Term_structInst_formatter___closed__20; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; +x_1 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__2; +x_3 = 1; +x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_3); +return x_4; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder(uint8_t x_1) { _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_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; +x_2 = l_Lean_Parser_Term_explicitBinder(x_1); +x_3 = l_Lean_Parser_Term_strictImplicitBinder(x_1); +x_4 = l_Lean_Parser_Term_implicitBinder(x_1); +x_5 = l_Lean_Parser_Term_instBinder; +x_6 = l_Lean_Parser_orelse(x_4, x_5); +x_7 = l_Lean_Parser_orelse(x_3, x_6); +x_8 = l_Lean_Parser_orelse(x_2, x_7); +x_9 = l_Lean_Parser_Term_bracketedBinder___closed__1; +x_10 = l_Lean_Parser_withAntiquot(x_9, x_8); +return x_10; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder___boxed(lean_object* x_1) { +_start: +{ +uint8_t x_2; lean_object* x_3; +x_2 = lean_unbox(x_1); +lean_dec(x_1); +x_3 = l_Lean_Parser_Term_bracketedBinder(x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("depArrow", 8, 8); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__2() { +_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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInst___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; +x_4 = l_Lean_Parser_Term_depArrow___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_depArrow___closed__1; +x_2 = l_Lean_Parser_Term_depArrow___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__4() { +_start: +{ +uint8_t x_1; lean_object* x_2; +x_1 = 1; +x_2 = l_Lean_Parser_Term_bracketedBinder(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__5() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInst_formatter), 5, 0); +x_1 = lean_mk_string_unchecked(" → ", 5, 3); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_formatter__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__6() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_structInst___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; +lean_object* x_1; +x_1 = lean_mk_string_unchecked(" -> ", 4, 4); +return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFields_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__7() { _start: { -lean_object* x_7; lean_object* x_8; -x_7 = l_Lean_Parser_Term_structInstFields___closed__2; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer(x_7, x_1, x_2, x_3, x_4, x_5, x_6); -return x_8; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_depArrow___closed__5; +x_2 = l_Lean_Parser_Term_depArrow___closed__6; +x_3 = l_Lean_Parser_unicodeSymbol(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__8() { _start: { -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; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__1; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_depArrow___closed__7; +x_2 = l_Lean_Parser_Term_typeAscription___closed__6; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_depArrow___closed__4; +x_2 = l_Lean_Parser_Term_depArrow___closed__8; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_depArrow___closed__2; +x_2 = lean_unsigned_to_nat(25u); +x_3 = l_Lean_Parser_Term_depArrow___closed__9; +x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_depArrow___closed__3; +x_2 = l_Lean_Parser_Term_depArrow___closed__10; +x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__12() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_depArrow___closed__2; +x_2 = l_Lean_Parser_Term_depArrow___closed__11; +x_3 = l_Lean_Parser_withCache(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Parser_Term_depArrow___closed__12; +return x_1; +} +} +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_depArrow__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_2 = l___regBuiltin_Lean_Parser_Term_byTactic__1___closed__2; +x_3 = l_Lean_Parser_Term_depArrow___closed__2; +x_4 = 1; +x_5 = l_Lean_Parser_Term_depArrow; +x_6 = lean_unsigned_to_nat(1000u); +x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(339u); +x_2 = lean_unsigned_to_nat(23u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__3() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(340u); +x_2 = lean_unsigned_to_nat(66u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__1; +x_2 = lean_unsigned_to_nat(23u); +x_3 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__2; +x_4 = lean_unsigned_to_nat(66u); +x_5 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_4); +return x_5; +} } +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(339u); +x_2 = lean_unsigned_to_nat(27u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__4() { +} +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = lean_unsigned_to_nat(339u); +x_2 = lean_unsigned_to_nat(35u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__5() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__4; +x_2 = lean_unsigned_to_nat(27u); +x_3 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__5; +x_4 = lean_unsigned_to_nat(35u); +x_5 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_4); +return x_5; +} +} +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_cdot_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__4; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__3; +x_2 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__6; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__6() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__5; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_notFollowedBy_parenthesizer___boxed), 5, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_Parser_Term_depArrow___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__7; +x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_binderType_formatter___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__6; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_sufficesDecl_formatter___closed__2; +x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__8() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType_formatter(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: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__7; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +if (x_1 == 0) +{ +lean_object* x_7; lean_object* x_8; +x_7 = l_Lean_Parser_Term_binderType_formatter___closed__1; +x_8 = l_Lean_Parser_optional_formatter(x_7, x_2, x_3, x_4, x_5, x_6); +return x_8; +} +else +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_9 = l_Lean_Parser_Term_binderType___closed__3; +x_10 = l_Lean_Parser_Term_binderType_formatter___closed__1; +x_11 = l_Lean_PrettyPrinter_Formatter_node_formatter(x_9, x_10, x_2, x_3, x_4, x_5, x_6); +return x_11; +} +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType_formatter___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); +lean_dec(x_1); +x_8 = l_Lean_Parser_Term_binderType_formatter(x_7, x_2, x_3, x_4, x_5, x_6); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq_formatter___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__4; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq1Indented_formatter__1___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__9() { +static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__2; +x_1 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__8; -x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +x_3 = l_Lean_Parser_Tactic_tacticSeq_formatter___closed__1; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_tacticSeq_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__9; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_Parser_Tactic_tacticSeqIndentGt_formatter___closed__1; +x_7 = l_Lean_Parser_Tactic_tacticSeq_formatter___closed__2; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Tactic_tacticSeq_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; +x_3 = l___regBuiltin_Lean_Parser_Tactic_sepByIndentSemicolon_docString__1___closed__1; +x_4 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Tactic_tacticSeq_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_tacticSeq_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeq_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_structInstFieldAbbrev___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__2; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; +x_3 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__1; -x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__2; +x_1 = l_Lean_Parser_Term_binderTactic___closed__1; +x_2 = l_Lean_Parser_Term_binderTactic___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); lean_closure_set(x_7, 0, x_1); lean_closure_set(x_7, 1, x_2); lean_closure_set(x_7, 2, x_5); @@ -20541,118 +20777,128 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_binderTactic___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__7; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_binderTactic___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_formatter___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_binderTactic_formatter___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__4; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_binderTactic_formatter___closed__5; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_formatter__1___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__2; +x_1 = l_Lean_Parser_Term_binderTactic___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__5; -x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +x_3 = l_Lean_Parser_Term_binderTactic_formatter___closed__6; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstArrayRef_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderTactic_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__6; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_Parser_Term_binderTactic_formatter___closed__1; +x_7 = l_Lean_Parser_Term_binderTactic_formatter___closed__7; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstArrayRef___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; +x_4 = l_Lean_Parser_Term_binderTactic___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstArrayRef_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderTactic_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_structInstArrayRef___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; +x_3 = l_Lean_Parser_Term_binderTactic___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_binderDefault_formatter___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_structInstLVal___closed__1; -x_2 = l_Lean_Parser_Term_structInstLVal___closed__2; +x_1 = l_Lean_Parser_Term_binderDefault___closed__1; +x_2 = l_Lean_Parser_Term_binderDefault___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); lean_closure_set(x_7, 0, x_1); lean_closure_set(x_7, 1, x_2); lean_closure_set(x_7, 2, x_5); @@ -20660,174 +20906,86 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_fieldIdx_parenthesizer___boxed), 1, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_binderDefault_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__2; -x_2 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; +x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_binderDefault_formatter___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_binderDefault___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_binderDefault_formatter___closed__2; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__5() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderDefault_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_binderDefault_formatter___closed__1; +x_7 = l_Lean_Parser_Term_binderDefault_formatter___closed__3; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_cdot_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__5; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__6; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_group_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__7; -x_2 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__9() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__8; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__10() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4; -x_2 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__9; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__11() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInstLVal___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__10; -x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__11; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstLVal___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; +x_4 = l_Lean_Parser_Term_binderDefault___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstLVal_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderDefault_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_structInstLVal___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__2; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; +x_3 = l_Lean_Parser_Term_binderDefault___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder_formatter___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_structInstField___closed__1; -x_2 = l_Lean_Parser_Term_structInstField___closed__2; +x_1 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); lean_closure_set(x_7, 0, x_1); lean_closure_set(x_7, 1, x_2); lean_closure_set(x_7, 2, x_5); @@ -20835,203 +20993,275 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInstField___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_sufficesDecl_formatter___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +x_1 = l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__2; +x_2 = l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder_formatter___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__2; -x_2 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_explicitBinder_formatter___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__5() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder_formatter(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: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInstField___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__4; -x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_7 = lean_box(x_1); +x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderType_formatter___boxed), 6, 1); +lean_closure_set(x_8, 0, x_7); +x_9 = l_Lean_Parser_Term_explicitBinder_formatter___closed__4; +x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_10, 0, x_8); +lean_closure_set(x_10, 1, x_9); +x_11 = l_Lean_Parser_Term_explicitBinder_formatter___closed__2; +x_12 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_12, 0, x_11); +lean_closure_set(x_12, 1, x_10); +x_13 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_formatter), 6, 1); +lean_closure_set(x_13, 0, x_12); +x_14 = l_Lean_Parser_Term_typeAscription_formatter___closed__12; +x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_15, 0, x_13); +lean_closure_set(x_15, 1, x_14); +x_16 = l_Lean_Parser_Term_typeAscription_formatter___closed__2; +x_17 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_17, 0, x_16); +lean_closure_set(x_17, 1, x_15); +x_18 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_formatter), 6, 1); +lean_closure_set(x_18, 0, x_17); +x_19 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; +x_20 = lean_unsigned_to_nat(1024u); +x_21 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_21, 0, x_19); +lean_closure_set(x_21, 1, x_20); +lean_closure_set(x_21, 2, x_18); +x_22 = l_Lean_Parser_Term_explicitBinder_formatter___closed__1; +x_23 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_22, x_21, x_2, x_3, x_4, x_5, x_6); +return x_23; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstField_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder_formatter___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_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__5; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +uint8_t x_7; lean_object* x_8; +x_7 = lean_unbox(x_1); +lean_dec(x_1); +x_8 = l_Lean_Parser_Term_explicitBinder_formatter(x_7, x_2, x_3, x_4, x_5, x_6); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInstField___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_2, 0, x_1); +lean_closure_set(x_2, 1, x_1); +return x_2; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__2() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstField_parenthesizer), 5, 0); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__1; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_group_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__3() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_structInstField___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__4() { _start: { -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; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__1; -x_2 = l_Lean_Parser_Term_optEllipsis___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__2() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitLeftBracket_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__3; +x_7 = l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__4; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__1() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_2, 0, x_1); +lean_closure_set(x_2, 1, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__1; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_group_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_optEllipsis___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__3; -x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_optEllipsis_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitRightBracket_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__4; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__3; +x_7 = l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__4; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_optEllipsis___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; +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; +x_1 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optEllipsis_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_strictImplicitRightBracket_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__3() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_optEllipsis___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_strictImplicitLeftBracket_formatter), 5, 0); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder_formatter(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: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_7 = lean_box(x_1); +x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderType_formatter___boxed), 6, 1); +lean_closure_set(x_8, 0, x_7); +x_9 = l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__2; +x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_10, 0, x_8); +lean_closure_set(x_10, 1, x_9); +x_11 = l_Lean_Parser_Term_explicitBinder_formatter___closed__2; +x_12 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_12, 0, x_11); +lean_closure_set(x_12, 1, x_10); +x_13 = l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__3; +x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_14, 0, x_13); +lean_closure_set(x_14, 1, x_12); +x_15 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_formatter), 6, 1); +lean_closure_set(x_15, 0, x_14); +x_16 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; +x_17 = lean_unsigned_to_nat(1024u); +x_18 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_18, 0, x_16); +lean_closure_set(x_18, 1, x_17); +lean_closure_set(x_18, 2, x_15); +x_19 = l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__1; +x_20 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_19, x_18, x_2, x_3, x_4, x_5, x_6); +return x_20; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder_formatter___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); +lean_dec(x_1); +x_8 = l_Lean_Parser_Term_strictImplicitBinder_formatter(x_7, x_2, x_3, x_4, x_5, x_6); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_implicitBinder_formatter___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_structInst___closed__1; -x_2 = l_Lean_Parser_Term_structInst___closed__2; +x_1 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); lean_closure_set(x_7, 0, x_1); lean_closure_set(x_7, 1, x_2); lean_closure_set(x_7, 2, x_5); @@ -21039,622 +21269,1045 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__2() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder_formatter(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: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_7 = lean_box(x_1); +x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderType_formatter___boxed), 6, 1); +lean_closure_set(x_8, 0, x_7); +x_9 = l_Lean_Parser_Term_explicitBinder_formatter___closed__2; +x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_10, 0, x_9); +lean_closure_set(x_10, 1, x_8); +x_11 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_formatter), 6, 1); +lean_closure_set(x_11, 0, x_10); +x_12 = l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__5; +x_13 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_13, 0, x_11); +lean_closure_set(x_13, 1, x_12); +x_14 = l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__2; +x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_15, 0, x_14); +lean_closure_set(x_15, 1, x_13); +x_16 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_formatter), 6, 1); +lean_closure_set(x_16, 0, x_15); +x_17 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; +x_18 = lean_unsigned_to_nat(1024u); +x_19 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_19, 0, x_17); +lean_closure_set(x_19, 1, x_18); +lean_closure_set(x_19, 2, x_16); +x_20 = l_Lean_Parser_Term_implicitBinder_formatter___closed__1; +x_21 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_20, x_19, x_2, x_3, x_4, x_5, x_6); +return x_21; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder_formatter___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); +lean_dec(x_1); +x_8 = l_Lean_Parser_Term_implicitBinder_formatter(x_7, x_2, x_3, x_4, x_5, x_6); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_optIdent_formatter___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_syntheticHole_formatter___closed__3; +x_2 = l_Lean_Parser_Term_sufficesDecl_formatter___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_optIdent_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_optIdent_formatter___closed__1; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__3() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_optIdent_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_tuple___closed__4; -x_3 = l_Lean_Parser_Term_tuple_parenthesizer___closed__2; +lean_object* x_6; lean_object* x_7; +x_6 = l_Lean_Parser_Term_optIdent_formatter___closed__2; +x_7 = l_Lean_Parser_optional_formatter(x_6, x_1, x_2, x_3, x_4, x_5); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__1() { +_start: +{ +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; +x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; +x_3 = 1; x_4 = 0; -x_5 = lean_box(x_4); -x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1_parenthesizer___boxed), 9, 4); -lean_closure_set(x_6, 0, x_1); -lean_closure_set(x_6, 1, x_2); -lean_closure_set(x_6, 2, x_3); -lean_closure_set(x_6, 3, x_5); -return x_6; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__7; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_instBinder___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optIdent_formatter), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__4; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_instBinder_formatter___closed__3; +x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__5; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_instBinder_formatter___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__6; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_instBinder___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__2; -x_2 = l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_instBinder_formatter___closed__5; +x_2 = l_Lean_Parser_Term_instBinder_formatter___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__8() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__8; -x_2 = l_Lean_Parser_Term_tuple___closed__4; -x_3 = l_Lean_Parser_Term_tuple_parenthesizer___closed__2; -x_4 = 1; -x_5 = lean_box(x_4); -x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepByIndent_parenthesizer___boxed), 9, 4); -lean_closure_set(x_6, 0, x_1); -lean_closure_set(x_6, 1, x_2); -lean_closure_set(x_6, 2, x_3); -lean_closure_set(x_6, 3, x_5); -return x_6; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_instBinder_formatter___closed__2; +x_2 = l_Lean_Parser_Term_instBinder_formatter___closed__7; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__9() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__9; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFields_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_instBinder_formatter___closed__8; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__11() { +static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__10() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_instBinder_formatter___closed__9; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__12() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_instBinder_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__11; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_instBinder_formatter___closed__1; +x_7 = l_Lean_Parser_Term_instBinder_formatter___closed__10; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__13() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__2; -x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__12; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_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; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__14() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__10; -x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__13; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_instBinder_formatter), 5, 0); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__15() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__7; -x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__14; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; +x_3 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__16() { +static lean_object* _init_l_Lean_Parser_Term_bracketedBinder_formatter___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__15; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__2; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_box(x_3); +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_6, 0, x_1); +lean_closure_set(x_6, 1, x_2); +lean_closure_set(x_6, 2, x_4); +lean_closure_set(x_6, 3, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__17() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder_formatter(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: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_structInst___closed__25; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_7 = lean_box(x_1); +x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_explicitBinder_formatter___boxed), 6, 1); +lean_closure_set(x_8, 0, x_7); +x_9 = lean_box(x_1); +x_10 = lean_alloc_closure((void*)(l_Lean_Parser_Term_strictImplicitBinder_formatter___boxed), 6, 1); +lean_closure_set(x_10, 0, x_9); +x_11 = lean_box(x_1); +x_12 = lean_alloc_closure((void*)(l_Lean_Parser_Term_implicitBinder_formatter___boxed), 6, 1); +lean_closure_set(x_12, 0, x_11); +x_13 = l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__2; +x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); +lean_closure_set(x_14, 0, x_12); +lean_closure_set(x_14, 1, x_13); +x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); +lean_closure_set(x_15, 0, x_10); +lean_closure_set(x_15, 1, x_14); +x_16 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); +lean_closure_set(x_16, 0, x_8); +lean_closure_set(x_16, 1, x_15); +x_17 = l_Lean_Parser_Term_bracketedBinder_formatter___closed__1; +x_18 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_17, x_16, x_2, x_3, x_4, x_5, x_6); +return x_18; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__18() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder_formatter___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); +lean_dec(x_1); +x_8 = l_Lean_Parser_Term_bracketedBinder_formatter(x_7, x_2, x_3, x_4, x_5, x_6); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow_formatter___closed__1() { +_start: +{ +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; +x_1 = l_Lean_Parser_Term_depArrow___closed__1; +x_2 = l_Lean_Parser_Term_depArrow___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow_formatter___closed__2() { +_start: +{ +uint8_t x_1; lean_object* x_2; lean_object* x_3; +x_1 = 1; +x_2 = lean_box(x_1); +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_bracketedBinder_formatter___boxed), 6, 1); +lean_closure_set(x_3, 0, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__16; -x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__17; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_depArrow___closed__5; +x_2 = l_Lean_Parser_Term_depArrow___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbol_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__19() { +static lean_object* _init_l_Lean_Parser_Term_depArrow_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__18; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_depArrow_formatter___closed__3; +x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow_formatter___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_depArrow_formatter___closed__2; +x_2 = l_Lean_Parser_Term_depArrow_formatter___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__20() { +static lean_object* _init_l_Lean_Parser_Term_depArrow_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_structInst___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInst_parenthesizer___closed__19; -x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +x_1 = l_Lean_Parser_Term_depArrow___closed__2; +x_2 = lean_unsigned_to_nat(25u); +x_3 = l_Lean_Parser_Term_depArrow_formatter___closed__5; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInst_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_depArrow_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_structInst_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_structInst_parenthesizer___closed__20; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_Parser_Term_depArrow_formatter___closed__1; +x_7 = l_Lean_Parser_Term_depArrow_formatter___closed__6; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_structInst___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; +x_4 = l_Lean_Parser_Term_depArrow___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInst_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_depArrow_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_structInst___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__2; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; +x_3 = l_Lean_Parser_Term_depArrow___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_depArrow_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_depArrow_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_binderType_parenthesizer___closed__1() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("typeSpec", 8, 8); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__2() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType_parenthesizer(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: { -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_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_typeSpec___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__3() { -_start: +if (x_1 == 0) { -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_typeSpec___closed__1; -x_2 = l_Lean_Parser_Term_typeSpec___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); -return x_5; -} +lean_object* x_7; lean_object* x_8; +x_7 = l_Lean_Parser_Term_binderType_parenthesizer___closed__1; +x_8 = l_Lean_Parser_optional_parenthesizer(x_7, x_2, x_3, x_4, x_5, x_6); +return x_8; } -static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__4() { -_start: +else { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_optIdent___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription___closed__6; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; -} +lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_9 = l_Lean_Parser_Term_binderType___closed__3; +x_10 = l_Lean_Parser_Term_binderType_parenthesizer___closed__1; +x_11 = l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer(x_9, x_10, x_2, x_3, x_4, x_5, x_6); +return x_11; } -static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_typeSpec___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_typeSpec___closed__4; -x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); -return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__6() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType_parenthesizer___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_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeSpec___closed__3; -x_2 = l_Lean_Parser_Term_typeSpec___closed__5; -x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); -return x_3; +uint8_t x_7; lean_object* x_8; +x_7 = lean_unbox(x_1); +lean_dec(x_1); +x_8 = l_Lean_Parser_Term_binderType_parenthesizer(x_7, x_2, x_3, x_4, x_5, x_6); +return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_typeSpec___closed__7() { +static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq_parenthesizer___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeSpec___closed__2; -x_2 = l_Lean_Parser_Term_typeSpec___closed__6; -x_3 = l_Lean_Parser_withCache(x_1, x_2); +x_1 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__4; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq1Indented_parenthesizer__1___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_typeSpec() { +static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq_parenthesizer___closed__2() { _start: { -lean_object* x_1; -x_1 = l_Lean_Parser_Term_typeSpec___closed__7; -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Tactic_tacticSeq_parenthesizer___closed__1; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_optType___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_tacticSeq_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_typeSpec; -x_2 = l_Lean_Parser_optional(x_1); -return x_2; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Tactic_tacticSeqIndentGt_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Tactic_tacticSeq_parenthesizer___closed__2; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_optType() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1___closed__1() { _start: { -lean_object* x_1; -x_1 = l_Lean_Parser_Term_optType___closed__1; -return x_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; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Tactic_sepByIndentSemicolon_docString__1___closed__1; +x_4 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_explicit___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("explicit", 8, 8); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_tacticSeq_parenthesizer), 5, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_explicit___closed__2() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1(lean_object* x_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_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_explicit___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; +x_3 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_explicit___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_explicit___closed__1; -x_2 = l_Lean_Parser_Term_explicit___closed__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; +x_1 = l_Lean_Parser_Term_binderTactic___closed__1; +x_2 = l_Lean_Parser_Term_binderTactic___closed__2; x_3 = 1; x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); -return x_5; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_explicit___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("@", 1, 1); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_binderTactic___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_explicit___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_explicit___closed__4; -x_2 = l_Lean_Parser_symbol(x_1); +x_1 = l_Lean_Parser_Term_binderTactic___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_explicit___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_maxPrec; -x_2 = l_Lean_Parser_termParser(x_1); +x_1 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_explicit___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_explicit___closed__5; -x_2 = l_Lean_Parser_Term_explicit___closed__6; -x_3 = l_Lean_Parser_andthen(x_1, x_2); +x_1 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__5; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_explicit___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_explicit___closed__2; +x_1 = l_Lean_Parser_Term_binderTactic___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_explicit___closed__7; -x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +x_3 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__6; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_explicit___closed__9() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderTactic_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_explicit___closed__3; -x_2 = l_Lean_Parser_Term_explicit___closed__8; -x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); -return x_3; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__7; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_explicit___closed__10() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_explicit___closed__2; -x_2 = l_Lean_Parser_Term_explicit___closed__9; -x_3 = l_Lean_Parser_withCache(x_1, x_2); -return x_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; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_binderTactic___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_explicit() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_explicit___closed__10; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderTactic_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicit__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1(lean_object* x_1) { _start: { -lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l___regBuiltin_Lean_Parser_Term_byTactic__1___closed__2; -x_3 = l_Lean_Parser_Term_explicit___closed__2; -x_4 = 1; -x_5 = l_Lean_Parser_Term_explicit; -x_6 = lean_unsigned_to_nat(1000u); -x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); -return x_7; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; +x_3 = l_Lean_Parser_Term_binderTactic___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_docString__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__1() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("`@x` disables automatic insertion of implicit parameters of the constant `x`.\n`@e` for any term `e` also disables the insertion of implicit lambdas at this position.\n", 166, 166); -return x_1; +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; +x_1 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicit_docString__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__2() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_explicit___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_explicit_docString__1___closed__1; -x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); -return x_4; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(244u); -x_2 = lean_unsigned_to_nat(23u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderDefault_parenthesizer), 5, 0); +return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(245u); -x_2 = lean_unsigned_to_nat(27u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); +x_1 = l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__2; +x_2 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_explicitBinder_parenthesizer___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___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__1; -x_2 = lean_unsigned_to_nat(23u); -x_3 = l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__2; -x_4 = lean_unsigned_to_nat(27u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__4() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer(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: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(244u); -x_2 = lean_unsigned_to_nat(27u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; +x_7 = lean_box(x_1); +x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderType_parenthesizer___boxed), 6, 1); +lean_closure_set(x_8, 0, x_7); +x_9 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__5; +x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_10, 0, x_8); +lean_closure_set(x_10, 1, x_9); +x_11 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__2; +x_12 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_12, 0, x_11); +lean_closure_set(x_12, 1, x_10); +x_13 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_parenthesizer), 6, 1); +lean_closure_set(x_13, 0, x_12); +x_14 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__12; +x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_15, 0, x_13); +lean_closure_set(x_15, 1, x_14); +x_16 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__2; +x_17 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_17, 0, x_16); +lean_closure_set(x_17, 1, x_15); +x_18 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_parenthesizer), 6, 1); +lean_closure_set(x_18, 0, x_17); +x_19 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; +x_20 = lean_unsigned_to_nat(1024u); +x_21 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +lean_closure_set(x_21, 0, x_19); +lean_closure_set(x_21, 1, x_20); +lean_closure_set(x_21, 2, x_18); +x_22 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__1; +x_23 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_22, x_21, x_2, x_3, x_4, x_5, x_6); +return x_23; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__5() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___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_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(244u); -x_2 = lean_unsigned_to_nat(35u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; +uint8_t x_7; lean_object* x_8; +x_7 = lean_unbox(x_1); +lean_dec(x_1); +x_8 = l_Lean_Parser_Term_explicitBinder_parenthesizer(x_7, x_2, x_3, x_4, x_5, x_6); +return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___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___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__4; -x_2 = lean_unsigned_to_nat(27u); -x_3 = l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__5; -x_4 = lean_unsigned_to_nat(35u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_2, 0, x_1); +lean_closure_set(x_2, 1, x_1); +return x_2; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__1; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_group_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__3; +x_7 = l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__4; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_2, 0, x_1); +lean_closure_set(x_2, 1, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__1; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_group_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__3; +x_7 = l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__4; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__1() { +_start: +{ +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; +x_1 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer), 5, 0); +return x_1; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder_parenthesizer(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: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_7 = lean_box(x_1); +x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderType_parenthesizer___boxed), 6, 1); +lean_closure_set(x_8, 0, x_7); +x_9 = l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__2; +x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_10, 0, x_8); +lean_closure_set(x_10, 1, x_9); +x_11 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__2; +x_12 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_12, 0, x_11); +lean_closure_set(x_12, 1, x_10); +x_13 = l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__3; +x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_14, 0, x_13); +lean_closure_set(x_14, 1, x_12); +x_15 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_parenthesizer), 6, 1); +lean_closure_set(x_15, 0, x_14); +x_16 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; +x_17 = lean_unsigned_to_nat(1024u); +x_18 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +lean_closure_set(x_18, 0, x_16); +lean_closure_set(x_18, 1, x_17); +lean_closure_set(x_18, 2, x_15); +x_19 = l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__1; +x_20 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_19, x_18, x_2, x_3, x_4, x_5, x_6); +return x_20; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___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); +lean_dec(x_1); +x_8 = l_Lean_Parser_Term_strictImplicitBinder_parenthesizer(x_7, x_2, x_3, x_4, x_5, x_6); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_implicitBinder_parenthesizer___closed__1() { +_start: +{ +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; +x_1 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder_parenthesizer(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: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; +x_7 = lean_box(x_1); +x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderType_parenthesizer___boxed), 6, 1); +lean_closure_set(x_8, 0, x_7); +x_9 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__2; +x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_10, 0, x_9); +lean_closure_set(x_10, 1, x_8); +x_11 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_parenthesizer), 6, 1); +lean_closure_set(x_11, 0, x_10); +x_12 = l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__5; +x_13 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_13, 0, x_11); +lean_closure_set(x_13, 1, x_12); +x_14 = l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__2; +x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_15, 0, x_14); +lean_closure_set(x_15, 1, x_13); +x_16 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_parenthesizer), 6, 1); +lean_closure_set(x_16, 0, x_15); +x_17 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; +x_18 = lean_unsigned_to_nat(1024u); +x_19 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +lean_closure_set(x_19, 0, x_17); +lean_closure_set(x_19, 1, x_18); +lean_closure_set(x_19, 2, x_16); +x_20 = l_Lean_Parser_Term_implicitBinder_parenthesizer___closed__1; +x_21 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_20, x_19, x_2, x_3, x_4, x_5, x_6); +return x_21; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder_parenthesizer___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); +lean_dec(x_1); +x_8 = l_Lean_Parser_Term_implicitBinder_parenthesizer(x_7, x_2, x_3, x_4, x_5, x_6); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_optIdent_parenthesizer___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__3; -x_2 = l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__6; -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); +x_1 = l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicit_declRange__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_optIdent_parenthesizer___closed__2() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_explicit___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_explicit_declRange__1___closed__7; -x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); -return x_4; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_optIdent_parenthesizer___closed__1; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_explicit_formatter___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_optIdent_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; +x_6 = l_Lean_Parser_Term_optIdent_parenthesizer___closed__2; +x_7 = l_Lean_Parser_optional_parenthesizer(x_6, x_1, x_2, x_3, x_4, x_5); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_explicit___closed__1; -x_2 = l_Lean_Parser_Term_explicit___closed__2; +x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); lean_closure_set(x_7, 0, x_1); lean_closure_set(x_7, 1, x_2); lean_closure_set(x_7, 2, x_5); @@ -21662,91 +22315,208 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_explicit_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_explicit___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); +x_1 = l_Lean_Parser_Term_instBinder___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_explicit_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optIdent_parenthesizer), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_explicit_formatter___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +x_1 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_explicit_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_instBinder___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__5; +x_2 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__7; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__8; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_explicit___closed__2; +x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_explicit_formatter___closed__3; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +x_3 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__9; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicit_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_instBinder_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_explicit_formatter___closed__1; -x_7 = l_Lean_Parser_Term_explicit_formatter___closed__4; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__10; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_explicit___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; +x_4 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_explicit_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_instBinder_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicit_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_explicit___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_explicit_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_explicit_formatter__1___closed__2; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; +x_3 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_explicit_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_bracketedBinder_parenthesizer___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__2; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_box(x_3); +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_6, 0, x_1); +lean_closure_set(x_6, 1, x_2); +lean_closure_set(x_6, 2, x_4); +lean_closure_set(x_6, 3, x_5); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder_parenthesizer(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: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_7 = lean_box(x_1); +x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_explicitBinder_parenthesizer___boxed), 6, 1); +lean_closure_set(x_8, 0, x_7); +x_9 = lean_box(x_1); +x_10 = lean_alloc_closure((void*)(l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___boxed), 6, 1); +lean_closure_set(x_10, 0, x_9); +x_11 = lean_box(x_1); +x_12 = lean_alloc_closure((void*)(l_Lean_Parser_Term_implicitBinder_parenthesizer___boxed), 6, 1); +lean_closure_set(x_12, 0, x_11); +x_13 = l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__2; +x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +lean_closure_set(x_14, 0, x_12); +lean_closure_set(x_14, 1, x_13); +x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +lean_closure_set(x_15, 0, x_10); +lean_closure_set(x_15, 1, x_14); +x_16 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +lean_closure_set(x_16, 0, x_8); +lean_closure_set(x_16, 1, x_15); +x_17 = l_Lean_Parser_Term_bracketedBinder_parenthesizer___closed__1; +x_18 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_17, x_16, x_2, x_3, x_4, x_5, x_6); +return x_18; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder_parenthesizer___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); +lean_dec(x_1); +x_8 = l_Lean_Parser_Term_bracketedBinder_parenthesizer(x_7, x_2, x_3, x_4, x_5, x_6); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow_parenthesizer___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_explicit___closed__1; -x_2 = l_Lean_Parser_Term_explicit___closed__2; +x_1 = l_Lean_Parser_Term_depArrow___closed__1; +x_2 = l_Lean_Parser_Term_depArrow___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -21759,45 +22529,60 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_explicit_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_depArrow_parenthesizer___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_explicit___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +uint8_t x_1; lean_object* x_2; lean_object* x_3; +x_1 = 1; +x_2 = lean_box(x_1); +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_bracketedBinder_parenthesizer___boxed), 6, 1); +lean_closure_set(x_3, 0, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_depArrow_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_depArrow___closed__5; +x_2 = l_Lean_Parser_Term_depArrow___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbol_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_explicit_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_depArrow_parenthesizer___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_maxPrec; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_termParser_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_depArrow_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_explicit_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_depArrow_parenthesizer___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_explicit_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_explicit_parenthesizer___closed__3; +x_1 = l_Lean_Parser_Term_depArrow_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_depArrow_parenthesizer___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_explicit_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_depArrow_parenthesizer___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_explicit___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_explicit_parenthesizer___closed__4; +x_1 = l_Lean_Parser_Term_depArrow___closed__2; +x_2 = lean_unsigned_to_nat(25u); +x_3 = l_Lean_Parser_Term_depArrow_parenthesizer___closed__5; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -21805,220 +22590,261 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicit_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_depArrow_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_explicit_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_explicit_parenthesizer___closed__5; +x_6 = l_Lean_Parser_Term_depArrow_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_depArrow_parenthesizer___closed__6; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_explicit___closed__1; +x_4 = l_Lean_Parser_Term_depArrow___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicit_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_explicit_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_depArrow_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicit_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_explicit___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_explicit_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_explicit_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_depArrow___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_forall___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("inaccessible", 12, 12); +x_1 = lean_mk_string_unchecked("forall", 6, 6); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_forall___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_inaccessible___closed__1; +x_4 = l_Lean_Parser_Term_forall___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_forall___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_inaccessible___closed__1; -x_2 = l_Lean_Parser_Term_inaccessible___closed__2; +x_1 = l_Lean_Parser_Term_forall___closed__1; +x_2 = l_Lean_Parser_Term_forall___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_forall___closed__4() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked(".(", 2, 2); +x_1 = lean_mk_string_unchecked("∀", 3, 1); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_forall___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_forall___closed__4; +x_2 = l_Lean_Parser_Term_forall___closed__1; +x_3 = l_Lean_Parser_unicodeSymbol(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall___closed__6() { +_start: +{ +uint8_t x_1; lean_object* x_2; +x_1 = 0; +x_2 = l_Lean_Parser_Term_bracketedBinder(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_binderIdent; +x_2 = l_Lean_Parser_Term_forall___closed__6; +x_3 = l_Lean_Parser_orelse(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_skip; +x_2 = l_Lean_Parser_Term_forall___closed__7; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall___closed__9() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_inaccessible___closed__4; -x_2 = l_Lean_Parser_symbol(x_1); +x_1 = l_Lean_Parser_Term_forall___closed__8; +x_2 = l_Lean_Parser_many1(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_forall___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__6; -x_2 = l_Lean_Parser_Term_typeAscription___closed__18; +x_1 = l_Lean_Parser_Term_tuple___closed__5; +x_2 = l_Lean_Parser_Term_typeAscription___closed__6; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_forall___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_inaccessible___closed__5; -x_2 = l_Lean_Parser_Term_inaccessible___closed__6; +x_1 = l_Lean_Parser_Term_optType; +x_2 = l_Lean_Parser_Term_forall___closed__10; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_forall___closed__12() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_forall___closed__9; +x_2 = l_Lean_Parser_Term_forall___closed__11; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall___closed__13() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_forall___closed__5; +x_2 = l_Lean_Parser_Term_forall___closed__12; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall___closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_inaccessible___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_inaccessible___closed__7; +x_1 = l_Lean_Parser_Term_forall___closed__2; +x_2 = l_Lean_Parser_leadPrec; +x_3 = l_Lean_Parser_Term_forall___closed__13; x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_forall___closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_inaccessible___closed__3; -x_2 = l_Lean_Parser_Term_inaccessible___closed__8; +x_1 = l_Lean_Parser_Term_forall___closed__3; +x_2 = l_Lean_Parser_Term_forall___closed__14; x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_forall___closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_inaccessible___closed__2; -x_2 = l_Lean_Parser_Term_inaccessible___closed__9; +x_1 = l_Lean_Parser_Term_forall___closed__2; +x_2 = l_Lean_Parser_Term_forall___closed__15; x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible() { +static lean_object* _init_l_Lean_Parser_Term_forall() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_inaccessible___closed__10; +x_1 = l_Lean_Parser_Term_forall___closed__16; return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forall__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; x_2 = l___regBuiltin_Lean_Parser_Term_byTactic__1___closed__2; -x_3 = l_Lean_Parser_Term_inaccessible___closed__2; +x_3 = l_Lean_Parser_Term_forall___closed__2; x_4 = 1; -x_5 = l_Lean_Parser_Term_inaccessible; +x_5 = l_Lean_Parser_Term_forall; x_6 = lean_unsigned_to_nat(1000u); x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); return x_7; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_docString__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("`.(e)` marks an \"inaccessible pattern\", which does not influence evaluation of the pattern match, but may be necessary for type-checking.\nIn contrast to regular patterns, `e` may be an arbitrary term of the appropriate type.\n", 225, 225); -return x_1; -} -} -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_docString__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_inaccessible___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_inaccessible_docString__1___closed__1; -x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); -return x_4; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(250u); -x_2 = lean_unsigned_to_nat(23u); +x_1 = lean_unsigned_to_nat(343u); +x_2 = lean_unsigned_to_nat(0u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(251u); -x_2 = lean_unsigned_to_nat(43u); +x_1 = lean_unsigned_to_nat(346u); +x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__3() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__1; -x_2 = lean_unsigned_to_nat(23u); -x_3 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__2; -x_4 = lean_unsigned_to_nat(43u); +x_1 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__1; +x_2 = lean_unsigned_to_nat(0u); +x_3 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__2; +x_4 = lean_unsigned_to_nat(31u); x_5 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_5, 0, x_1); lean_ctor_set(x_5, 1, x_2); @@ -22027,38 +22853,38 @@ lean_ctor_set(x_5, 3, x_4); return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__4() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(250u); -x_2 = lean_unsigned_to_nat(27u); +x_1 = lean_unsigned_to_nat(343u); +x_2 = lean_unsigned_to_nat(4u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__5() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(250u); -x_2 = lean_unsigned_to_nat(39u); +x_1 = lean_unsigned_to_nat(343u); +x_2 = lean_unsigned_to_nat(12u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__6() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__4; -x_2 = lean_unsigned_to_nat(27u); -x_3 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__5; -x_4 = lean_unsigned_to_nat(39u); +x_1 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__4; +x_2 = lean_unsigned_to_nat(4u); +x_3 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__5; +x_4 = lean_unsigned_to_nat(12u); x_5 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_5, 0, x_1); lean_ctor_set(x_5, 1, x_2); @@ -22067,34 +22893,34 @@ lean_ctor_set(x_5, 3, x_4); return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__7() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__3; -x_2 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__6; +x_1 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__3; +x_2 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__6; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forall_declRange__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_inaccessible___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_inaccessible_declRange__1___closed__7; +x_2 = l_Lean_Parser_Term_forall___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__7; x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_typeSpec_formatter___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_inaccessible___closed__1; -x_2 = l_Lean_Parser_Term_inaccessible___closed__2; +x_1 = l_Lean_Parser_Term_typeSpec___closed__1; +x_2 = l_Lean_Parser_Term_typeSpec___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -22107,47 +22933,210 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_typeSpec_formatter___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_typeSpec___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_binderType_formatter___closed__1; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeSpec_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_typeSpec_formatter___closed__1; +x_7 = l_Lean_Parser_Term_typeSpec_formatter___closed__2; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_typeSpec___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_typeSpec_formatter), 5, 0); +return x_1; +} +} +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; +x_3 = l_Lean_Parser_Term_typeSpec___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_optType_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; +x_6 = l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1___closed__2; +x_7 = l_Lean_Parser_optional_formatter(x_6, x_1, x_2, x_3, x_4, x_5); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__1() { +_start: +{ +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; +x_1 = l_Lean_Parser_Term_forall___closed__1; +x_2 = l_Lean_Parser_Term_forall___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_forall___closed__4; +x_2 = l_Lean_Parser_Term_forall___closed__1; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbol_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__3() { +_start: +{ +uint8_t x_1; lean_object* x_2; lean_object* x_3; +x_1 = 0; +x_2 = lean_box(x_1); +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_bracketedBinder_formatter___boxed), 6, 1); +lean_closure_set(x_3, 0, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_sufficesDecl_formatter___closed__3; +x_2 = l_Lean_Parser_Term_forall_formatter___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__4; +x_2 = l_Lean_Parser_Term_forall_formatter___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_inaccessible___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); +x_1 = l_Lean_Parser_Term_forall_formatter___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__12; +x_1 = l_Lean_Parser_Term_tuple_formatter___closed__2; +x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__8() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optType_formatter), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_inaccessible_formatter___closed__2; -x_2 = l_Lean_Parser_Term_inaccessible_formatter___closed__3; +x_1 = l_Lean_Parser_Term_forall_formatter___closed__8; +x_2 = l_Lean_Parser_Term_forall_formatter___closed__7; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible_formatter___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_forall_formatter___closed__6; +x_2 = l_Lean_Parser_Term_forall_formatter___closed__9; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_forall_formatter___closed__2; +x_2 = l_Lean_Parser_Term_forall_formatter___closed__10; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_inaccessible___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_inaccessible_formatter___closed__4; +x_1 = l_Lean_Parser_Term_forall___closed__2; +x_2 = l_Lean_Parser_leadPrec; +x_3 = l_Lean_Parser_Term_forall_formatter___closed__11; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -22155,55 +23144,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_inaccessible_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_forall_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_inaccessible_formatter___closed__1; -x_7 = l_Lean_Parser_Term_inaccessible_formatter___closed__5; +x_6 = l_Lean_Parser_Term_forall_formatter___closed__1; +x_7 = l_Lean_Parser_Term_forall_formatter___closed__12; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_inaccessible___closed__1; +x_4 = l_Lean_Parser_Term_forall___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_inaccessible_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_forall_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forall_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_inaccessible___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__2; +x_3 = l_Lean_Parser_Term_forall___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_forall_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_forall_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_typeSpec_parenthesizer___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_inaccessible___closed__1; -x_2 = l_Lean_Parser_Term_inaccessible___closed__2; +x_1 = l_Lean_Parser_Term_typeSpec___closed__1; +x_2 = l_Lean_Parser_Term_typeSpec___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -22216,47 +23205,13 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_inaccessible___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__12; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_typeSpec_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_inaccessible___closed__2; +x_1 = l_Lean_Parser_Term_typeSpec___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__4; +x_3 = l_Lean_Parser_Term_binderType_parenthesizer___closed__1; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -22264,1295 +23219,1252 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_inaccessible_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeSpec_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__5; +x_6 = l_Lean_Parser_Term_typeSpec_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_typeSpec_parenthesizer___closed__2; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_inaccessible___closed__1; +x_4 = l_Lean_Parser_Term_typeSpec___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_inaccessible_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_typeSpec_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_inaccessible___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_typeSpec___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_binderType___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_optType_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_typeSpec___closed__4; -x_2 = l_Lean_Parser_optional(x_1); -return x_2; +lean_object* x_6; lean_object* x_7; +x_6 = l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1___closed__2; +x_7 = l_Lean_Parser_optional_parenthesizer(x_6, x_1, x_2, x_3, x_4, x_5); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_binderType___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__1() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("null", 4, 4); -return x_1; +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; +x_1 = l_Lean_Parser_Term_forall___closed__1; +x_2 = l_Lean_Parser_Term_forall___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_binderType___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Parser_Term_binderType___closed__2; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = l_Lean_Parser_Term_forall___closed__4; +x_2 = l_Lean_Parser_Term_forall___closed__1; +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbol_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_binderType___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_binderType___closed__3; -x_2 = l_Lean_Parser_Term_typeSpec___closed__4; -x_3 = l_Lean_Parser_node(x_1, x_2); +uint8_t x_1; lean_object* x_2; lean_object* x_3; +x_1 = 0; +x_2 = lean_box(x_1); +x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_bracketedBinder_parenthesizer___boxed), 6, 1); +lean_closure_set(x_3, 0, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType(uint8_t x_1) { +static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__4() { _start: { -if (x_1 == 0) -{ -lean_object* x_2; -x_2 = l_Lean_Parser_Term_binderType___closed__1; -return x_2; -} -else -{ -lean_object* x_3; -x_3 = l_Lean_Parser_Term_binderType___closed__4; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_forall_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType___boxed(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__5() { _start: { -uint8_t x_2; lean_object* x_3; -x_2 = lean_unbox(x_1); -lean_dec(x_1); -x_3 = l_Lean_Parser_Term_binderType(x_2); +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__5; +x_2 = l_Lean_Parser_Term_forall_parenthesizer___closed__4; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("binderTactic", 12, 12); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__6() { _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_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_binderTactic___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_forall_parenthesizer___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__7() { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_binderTactic___closed__1; -x_2 = l_Lean_Parser_Term_binderTactic___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_tuple_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__8() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked(" by ", 4, 4); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optType_parenthesizer), 5, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_binderTactic___closed__4; -x_2 = l_Lean_Parser_symbol(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField___closed__5; -x_2 = l_Lean_Parser_Term_binderTactic___closed__5; -x_3 = l_Lean_Parser_andthen(x_1, x_2); +x_1 = l_Lean_Parser_Term_forall_parenthesizer___closed__8; +x_2 = l_Lean_Parser_Term_forall_parenthesizer___closed__7; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__10() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_binderTactic___closed__6; -x_2 = l_Lean_Parser_atomic(x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_forall_parenthesizer___closed__6; +x_2 = l_Lean_Parser_Term_forall_parenthesizer___closed__9; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_binderTactic___closed__7; -x_2 = l_Lean_Parser_Tactic_tacticSeq; -x_3 = l_Lean_Parser_andthen(x_1, x_2); +x_1 = l_Lean_Parser_Term_forall_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_forall_parenthesizer___closed__10; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_binderTactic___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_binderTactic___closed__8; -x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +x_1 = l_Lean_Parser_Term_forall___closed__2; +x_2 = l_Lean_Parser_leadPrec; +x_3 = l_Lean_Parser_Term_forall_parenthesizer___closed__11; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__10() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_forall_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_binderTactic___closed__3; -x_2 = l_Lean_Parser_Term_binderTactic___closed__9; -x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); -return x_3; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_forall_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_forall_parenthesizer___closed__12; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic___closed__11() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_binderTactic___closed__2; -x_2 = l_Lean_Parser_Term_binderTactic___closed__10; -x_3 = l_Lean_Parser_withCache(x_1, x_2); -return x_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; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_forall___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_binderTactic___closed__11; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_forall_parenthesizer), 5, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__1() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; +x_3 = l_Lean_Parser_Term_forall___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; +} +} +static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("binderDefault", 13, 13); +x_1 = lean_mk_string_unchecked("matchAlt", 8, 8); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_binderDefault___closed__1; +x_4 = l_Lean_Parser_Term_matchAlt___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_binderDefault___closed__1; -x_2 = l_Lean_Parser_Term_binderDefault___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_matchAlt___closed__1; +x_2 = l_Lean_Parser_Term_matchAlt___closed__2; +x_3 = 0; +x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_binderDefault___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstField___closed__6; -x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); -return x_4; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("| ", 2, 2); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_binderDefault___closed__3; -x_2 = l_Lean_Parser_Term_binderDefault___closed__4; -x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_matchAlt___closed__4; +x_2 = l_Lean_Parser_symbol(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_binderDefault___closed__2; -x_2 = l_Lean_Parser_Term_binderDefault___closed__5; -x_3 = l_Lean_Parser_withCache(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_typeAscription___closed__6; +x_2 = l_Lean_Parser_Term_tuple___closed__4; +x_3 = l_Lean_Parser_Term_tuple___closed__5; +x_4 = 0; +x_5 = l_Lean_Parser_sepBy1(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__7() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_binderDefault___closed__6; +x_1 = lean_mk_string_unchecked(" | ", 3, 3); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderDefault_parenthesizer___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; -x_7 = l_Lean_PrettyPrinter_Parenthesizer_visitToken___rarg(x_3, x_4, x_5, x_6); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Term_binderDefault_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = lean_unsigned_to_nat(0u); -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); +x_1 = l_Lean_Parser_Term_matchAlt___closed__7; +x_2 = l_Lean_Parser_symbol(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__9() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderDefault_parenthesizer___lambda__1___boxed), 6, 0); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_matchAlt___closed__6; +x_2 = l_Lean_Parser_Term_matchAlt___closed__7; +x_3 = l_Lean_Parser_Term_matchAlt___closed__8; +x_4 = 0; +x_5 = l_Lean_Parser_sepBy1(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__10() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__1; -x_2 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__2; -x_3 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer___spec__1___rarg), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("alternative right-hand-side to start in a column greater than or equal to the corresponding '|'", 95, 95); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__11() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_maxPrec; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_term_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); +x_1 = l_Lean_Parser_Term_matchAlt___closed__10; +x_2 = l_Lean_Parser_checkColGe(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault_parenthesizer___closed__5() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlt(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__4; -x_2 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__2; -x_3 = lean_alloc_closure((void*)(l_ReaderT_bind___at_Lean_PrettyPrinter_Parenthesizer_trailingNode_parenthesizer___spec__1___rarg), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +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; +x_2 = l_Lean_Parser_Term_matchAlt___closed__11; +x_3 = l_Lean_Parser_andthen(x_2, x_1); +x_4 = l_Lean_Parser_darrow; +x_5 = l_Lean_Parser_andthen(x_4, x_3); +x_6 = l_Lean_Parser_Term_matchAlt___closed__9; +x_7 = l_Lean_Parser_andthen(x_6, x_5); +x_8 = l_Lean_Parser_Term_matchAlt___closed__5; +x_9 = l_Lean_Parser_andthen(x_8, x_7); +x_10 = l_Lean_Parser_Term_matchAlt___closed__2; +x_11 = lean_unsigned_to_nat(1024u); +x_12 = l_Lean_Parser_leadingNode(x_10, x_11, x_9); +x_13 = l_Lean_Parser_Term_matchAlt___closed__3; +x_14 = l_Lean_Parser_withAntiquot(x_13, x_12); +return x_14; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderDefault_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +static lean_object* _init_l_Lean_Parser_Term_matchAltExpr___closed__1() { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; uint8_t x_10; -x_6 = l_Lean_Syntax_MonadTraverser_getCur___at_Lean_PrettyPrinter_Parenthesizer_visitArgs___spec__1___rarg(x_2, x_3, x_4, x_5); -x_7 = lean_ctor_get(x_6, 0); -lean_inc(x_7); -x_8 = lean_ctor_get(x_6, 1); -lean_inc(x_8); -lean_dec(x_6); -x_9 = l_Lean_Parser_Term_binderDefault___closed__2; -lean_inc(x_7); -x_10 = l_Lean_Syntax_isOfKind(x_7, x_9); -if (x_10 == 0) -{ -lean_object* x_11; lean_object* x_12; -lean_dec(x_7); -x_11 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__3; -x_12 = l_Lean_PrettyPrinter_Parenthesizer_visitArgs(x_11, x_1, x_2, x_3, x_4, x_8); -return x_12; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_typeAscription___closed__6; +x_2 = l_Lean_Parser_Term_matchAlt(x_1); +return x_2; } -else -{ -lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16; -x_13 = lean_unsigned_to_nat(1u); -x_14 = l_Lean_Syntax_getArg(x_7, x_13); -lean_dec(x_7); -x_15 = l_Lean_Parser_Term_byTactic___closed__2; -x_16 = l_Lean_Syntax_isOfKind(x_14, x_15); -if (x_16 == 0) -{ -lean_object* x_17; lean_object* x_18; -x_17 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__3; -x_18 = l_Lean_PrettyPrinter_Parenthesizer_visitArgs(x_17, x_1, x_2, x_3, x_4, x_8); -return x_18; } -else +static lean_object* _init_l_Lean_Parser_Term_matchAltExpr() { +_start: { -lean_object* x_19; lean_object* x_20; -x_19 = l_Lean_Parser_Term_binderDefault_parenthesizer___closed__5; -x_20 = l_Lean_PrettyPrinter_Parenthesizer_visitArgs(x_19, x_1, x_2, x_3, x_4, x_8); -return x_20; +lean_object* x_1; +x_1 = l_Lean_Parser_Term_matchAltExpr___closed__1; +return x_1; } } +LEAN_EXPORT lean_object* l_Lean_Parser_Term_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean(lean_object* x_1) { +_start: +{ +lean_inc(x_1); +return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderDefault_parenthesizer___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___boxed(lean_object* x_1) { _start: { -lean_object* x_7; -x_7 = l_Lean_Parser_Term_binderDefault_parenthesizer___lambda__1(x_1, x_2, x_3, x_4, x_5, x_6); -lean_dec(x_5); -lean_dec(x_4); -lean_dec(x_3); -lean_dec(x_2); +lean_object* x_2; +x_2 = l_Lean_Parser_Term_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean(x_1); lean_dec(x_1); -return x_7; +return x_2; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("explicitBinder", 14, 14); +x_1 = lean_mk_string_unchecked("matchAlts", 9, 9); return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__1; +x_4 = l_Lean_Parser_Term_matchAlts___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("Explicit binder, like `(x y : A)` or `(x y)`.\nDefault values can be specified using `(x : A := v)` syntax, and tactics using `(x : A := by tac)`.\n", 146, 146); -return x_1; -} -} -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__3; -x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); -return x_4; -} -} -static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; +x_1 = l_Lean_Parser_Term_matchAlts___closed__1; +x_2 = l_Lean_Parser_Term_matchAlts___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_binderIdent; -x_2 = l_Lean_Parser_many1(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_binderTactic; -x_2 = l_Lean_Parser_Term_binderDefault; -x_3 = l_Lean_Parser_orelse(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_explicitBinder___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_explicitBinder___closed__3; -x_2 = l_Lean_Parser_optional(x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder(uint8_t x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; 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; -x_2 = l_Lean_Parser_Term_binderType(x_1); -x_3 = l_Lean_Parser_Term_explicitBinder___closed__4; -x_4 = l_Lean_Parser_andthen(x_2, x_3); -x_5 = l_Lean_Parser_Term_explicitBinder___closed__2; -x_6 = l_Lean_Parser_andthen(x_5, x_4); -x_7 = l_Lean_Parser_Term_typeAscription___closed__15; -x_8 = l_Lean_Parser_adaptCacheableContext(x_7, x_6); -x_9 = l_Lean_Parser_Term_typeAscription___closed__18; -x_10 = l_Lean_Parser_andthen(x_8, x_9); -x_11 = l_Lean_Parser_Term_typeAscription___closed__5; -x_12 = l_Lean_Parser_andthen(x_11, x_10); -x_13 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; -x_14 = lean_unsigned_to_nat(1024u); -x_15 = l_Lean_Parser_leadingNode(x_13, x_14, x_12); -x_16 = l_Lean_Parser_Term_explicitBinder___closed__1; -x_17 = l_Lean_Parser_withAntiquot(x_16, x_15); -return x_17; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder___boxed(lean_object* x_1) { -_start: -{ -uint8_t x_2; lean_object* x_3; -x_2 = lean_unbox(x_1); -lean_dec(x_1); -x_3 = l_Lean_Parser_Term_explicitBinder(x_2); -return x_3; +LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlts(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_2 = l_Lean_Parser_Term_matchAlt(x_1); +x_3 = l_Lean_Parser_skip; +x_4 = l_Lean_Parser_andthen(x_3, x_2); +x_5 = l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__7; +x_6 = l_Lean_Parser_andthen(x_5, x_4); +x_7 = l_Lean_Parser_many1(x_6); +x_8 = l_Lean_Parser_withPosition(x_7); +x_9 = l_Lean_Parser_withPosition(x_8); +x_10 = l_Lean_Parser_Term_matchAlts___closed__2; +x_11 = lean_unsigned_to_nat(1024u); +x_12 = l_Lean_Parser_leadingNode(x_10, x_11, x_9); +x_13 = l_Lean_Parser_Term_matchAlts___closed__3; +x_14 = l_Lean_Parser_withAntiquot(x_13, x_12); +return x_14; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("implicitBinder", 14, 14); +x_1 = lean_mk_string_unchecked("matchDiscr", 10, 10); return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__1; +x_4 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__3() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__3() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("Implicit binder, like `{x y : A}` or `{x y}`.\nIn regular applications, whenever all parameters before it have been specified,\nthen a `_` placeholder is automatically inserted for this parameter.\nImplicit parameters should be able to be determined from the other arguments and the return type\nby unification.\n\nIn `@` explicit mode, implicit binders behave like explicit binders.\n", 378, 378); +x_1 = lean_mk_string_unchecked("`matchDiscr` matches a \"match discriminant\", either `h : tm` or `tm`, used in `match` as\n`match h1 : e1, e2, h3 : e3 with ...`. ", 128, 128); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__3; +x_2 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__3; x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_implicitBinder___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr___closed__1() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; +x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder(uint8_t x_1) { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr___closed__2() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; -x_2 = l_Lean_Parser_Term_binderType(x_1); -x_3 = l_Lean_Parser_Term_explicitBinder___closed__2; -x_4 = l_Lean_Parser_andthen(x_3, x_2); -x_5 = l_Lean_Parser_Term_typeAscription___closed__15; -x_6 = l_Lean_Parser_adaptCacheableContext(x_5, x_4); -x_7 = l_Lean_Parser_Tactic_tacticSeqBracketed___closed__6; -x_8 = l_Lean_Parser_andthen(x_6, x_7); -x_9 = l_Lean_Parser_Tactic_tacticSeqBracketed___closed__3; -x_10 = l_Lean_Parser_andthen(x_9, x_8); -x_11 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; -x_12 = lean_unsigned_to_nat(1024u); -x_13 = l_Lean_Parser_leadingNode(x_11, x_12, x_10); -x_14 = l_Lean_Parser_Term_implicitBinder___closed__1; -x_15 = l_Lean_Parser_withAntiquot(x_14, x_13); -return x_15; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_optIdent___closed__5; +x_2 = l_Lean_Parser_Term_typeAscription___closed__6; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder___boxed(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr___closed__3() { _start: { -uint8_t x_2; lean_object* x_3; -x_2 = lean_unbox(x_1); -lean_dec(x_1); -x_3 = l_Lean_Parser_Term_implicitBinder(x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_matchDiscr___closed__2; +x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___closed__3; -x_2 = l_Lean_Parser_andthen(x_1, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_matchDiscr___closed__1; +x_2 = l_Lean_Parser_Term_matchDiscr___closed__3; +x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_sufficesDecl___closed__4; -x_2 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__1; -x_3 = l_Lean_Parser_node(x_1, x_2); +x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; +x_2 = l_Lean_Parser_Term_matchDiscr___closed__4; +x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__2; -x_2 = l_Lean_Parser_atomic(x_1); -return x_2; +lean_object* x_1; +x_1 = l_Lean_Parser_Term_matchDiscr___closed__5; +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("⦃", 3, 1); +x_1 = lean_mk_string_unchecked("trueVal", 7, 7); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__4; -x_2 = l_Lean_Parser_symbol(x_1); -return x_2; +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_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_trueVal___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__3; -x_2 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__5; -x_3 = l_Lean_Parser_orelse(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_trueVal___closed__1; +x_2 = l_Lean_Parser_Term_trueVal___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket() { +static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__4() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__6; +x_1 = lean_mk_string_unchecked("true", 4, 4); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___closed__6; -x_2 = l_Lean_Parser_andthen(x_1, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_sufficesDecl___closed__4; -x_2 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__1; -x_3 = l_Lean_Parser_node(x_1, x_2); +lean_object* x_1; uint8_t x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_trueVal___closed__4; +x_2 = 0; +x_3 = l_Lean_Parser_nonReservedSymbol(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__2; -x_2 = l_Lean_Parser_atomic(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__6() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("⦄", 3, 1); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_trueVal___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_trueVal___closed__5; +x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__7() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__4; -x_2 = l_Lean_Parser_symbol(x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_trueVal___closed__3; +x_2 = l_Lean_Parser_Term_trueVal___closed__6; +x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__3; -x_2 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__5; -x_3 = l_Lean_Parser_orelse(x_1, x_2); +x_1 = l_Lean_Parser_Term_trueVal___closed__2; +x_2 = l_Lean_Parser_Term_trueVal___closed__7; +x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket() { +static lean_object* _init_l_Lean_Parser_Term_trueVal() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__6; +x_1 = l_Lean_Parser_Term_trueVal___closed__8; return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("strictImplicitBinder", 20, 20); +x_1 = lean_mk_string_unchecked("falseVal", 8, 8); return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__1; +x_4 = l_Lean_Parser_Term_falseVal___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_falseVal___closed__1; +x_2 = l_Lean_Parser_Term_falseVal___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__4() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("Strict-implicit binder, like `⦃x y : A⦄` or `⦃x y⦄`.\nIn contrast to `{ ... }` implicit binders, strict-implicit binders do not automatically insert\na `_` placeholder until at least one subsequent explicit parameter is specified.\nDo *not* use strict-implicit binders unless there is a subsequent explicit parameter.\nAssuming this rule is followed, for fully applied expressions implicit and strict-implicit binders have the same behavior.\n\nExample: If `h : ∀ ⦃x : A⦄, x ∈ s → p x` and `hs : y ∈ s`,\nthen `h` by itself elaborates to itself without inserting `_` for the `x : A` parameter,\nand `h hs` has type `p y`.\nIn contrast, if `h' : ∀ {x : A}, x ∈ s → p x`, then `h` by itself elaborates to have type `\?m ∈ s → p \?m`\nwith `\?m` a fresh metavariable.\n", 782, 752); +x_1 = lean_mk_string_unchecked("false", 5, 5); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__5() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__3; -x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); -return x_4; +lean_object* x_1; uint8_t x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_falseVal___closed__4; +x_2 = 0; +x_3 = l_Lean_Parser_nonReservedSymbol(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_falseVal___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_falseVal___closed__5; +x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder(uint8_t x_1) { +static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__7() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; -x_2 = l_Lean_Parser_Term_binderType(x_1); -x_3 = l_Lean_Parser_Term_strictImplicitRightBracket; -x_4 = l_Lean_Parser_andthen(x_2, x_3); -x_5 = l_Lean_Parser_Term_explicitBinder___closed__2; -x_6 = l_Lean_Parser_andthen(x_5, x_4); -x_7 = l_Lean_Parser_Term_strictImplicitLeftBracket; -x_8 = l_Lean_Parser_andthen(x_7, x_6); -x_9 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; -x_10 = lean_unsigned_to_nat(1024u); -x_11 = l_Lean_Parser_leadingNode(x_9, x_10, x_8); -x_12 = l_Lean_Parser_Term_strictImplicitBinder___closed__1; -x_13 = l_Lean_Parser_withAntiquot(x_12, x_11); -return x_13; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_falseVal___closed__3; +x_2 = l_Lean_Parser_Term_falseVal___closed__6; +x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); +return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder___boxed(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__8() { _start: { -uint8_t x_2; lean_object* x_3; -x_2 = lean_unbox(x_1); -lean_dec(x_1); -x_3 = l_Lean_Parser_Term_strictImplicitBinder(x_2); +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_falseVal___closed__2; +x_2 = l_Lean_Parser_Term_falseVal___closed__7; +x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_falseVal() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("instBinder", 10, 10); +x_1 = l_Lean_Parser_Term_falseVal___closed__8; return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("generalizingParam", 17, 17); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; +x_4 = l_Lean_Parser_Term_generalizingParam___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__1; +x_2 = l_Lean_Parser_Term_generalizingParam___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__4() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("Instance-implicit binder, like `[C]` or `[inst : C]`.\nIn regular applications without `@` explicit mode, it is automatically inserted\nand solved for by typeclass inference for the specified class `C`.\nIn `@` explicit mode, if `_` is used for an instance-implicit parameter, then it is still solved for by typeclass inference;\nuse `(_)` to inhibit this and have it be solved for by unification instead, like an implicit argument.\n", 429, 429); +x_1 = lean_mk_string_unchecked("generalizing", 12, 12); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_instBinder_docString__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__5() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__3; -x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); -return x_4; +lean_object* x_1; uint8_t x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__4; +x_2 = 0; +x_3 = l_Lean_Parser_nonReservedSymbol(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_typeAscription___closed__5; +x_2 = l_Lean_Parser_Term_generalizingParam___closed__5; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__6; +x_2 = l_Lean_Parser_atomic(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_optIdent; -x_2 = l_Lean_Parser_Term_typeAscription___closed__6; +x_1 = l_Lean_Parser_Term_trueVal; +x_2 = l_Lean_Parser_Term_falseVal; +x_3 = l_Lean_Parser_orelse(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_typeAscription___closed__18; +x_2 = l_Lean_Parser_skip; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription___closed__15; -x_2 = l_Lean_Parser_Term_instBinder___closed__2; -x_3 = l_Lean_Parser_adaptCacheableContext(x_1, x_2); +x_1 = l_Lean_Parser_Term_generalizingParam___closed__8; +x_2 = l_Lean_Parser_Term_generalizingParam___closed__9; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_instBinder___closed__3; -x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__8; +x_1 = l_Lean_Parser_Term_binderTactic___closed__5; +x_2 = l_Lean_Parser_Term_generalizingParam___closed__10; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__5; -x_2 = l_Lean_Parser_Term_instBinder___closed__4; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__7; +x_2 = l_Lean_Parser_Term_generalizingParam___closed__11; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_instBinder___closed__5; +x_3 = l_Lean_Parser_Term_generalizingParam___closed__12; x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_instBinder___closed__1; -x_2 = l_Lean_Parser_Term_instBinder___closed__6; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__3; +x_2 = l_Lean_Parser_Term_generalizingParam___closed__13; x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; -x_2 = l_Lean_Parser_Term_instBinder___closed__7; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__2; +x_2 = l_Lean_Parser_Term_generalizingParam___closed__14; x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_instBinder___closed__8; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__15; return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_motive___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("bracketedBinder", 15, 15); +x_1 = lean_mk_string_unchecked("motive", 6, 6); return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_motive___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__1; +x_4 = l_Lean_Parser_Term_motive___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("A `bracketedBinder` matches any kind of binder group that uses some kind of brackets:\n* An explicit binder like `(x y : A)`\n* An implicit binder like `{x y : A}`\n* A strict implicit binder, `⦃y z : A⦄` or its ASCII alternative `{{y z : A}}`\n* An instance binder `[A]` or `[x : A]` (multiple variables are not allowed here)\n", 327, 323); -return x_1; -} -} -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__3; -x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); -return x_4; -} -} -static lean_object* _init_l_Lean_Parser_Term_bracketedBinder___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_motive___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_1 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__2; +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_motive___closed__1; +x_2 = l_Lean_Parser_Term_motive___closed__2; x_3 = 1; -x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder(uint8_t x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; -x_2 = l_Lean_Parser_Term_explicitBinder(x_1); -x_3 = l_Lean_Parser_Term_strictImplicitBinder(x_1); -x_4 = l_Lean_Parser_Term_implicitBinder(x_1); -x_5 = l_Lean_Parser_Term_instBinder; -x_6 = l_Lean_Parser_orelse(x_4, x_5); -x_7 = l_Lean_Parser_orelse(x_3, x_6); -x_8 = l_Lean_Parser_orelse(x_2, x_7); -x_9 = l_Lean_Parser_Term_bracketedBinder___closed__1; -x_10 = l_Lean_Parser_withAntiquot(x_9, x_8); -return x_10; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder___boxed(lean_object* x_1) { -_start: -{ -uint8_t x_2; lean_object* x_3; -x_2 = lean_unbox(x_1); -lean_dec(x_1); -x_3 = l_Lean_Parser_Term_bracketedBinder(x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("builtin_structInstFieldDecl_parser", 34, 34); -return x_1; +x_4 = 0; +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__2() { +static lean_object* _init_l_Lean_Parser_Term_motive___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_box(0); -x_2 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__1; -x_3 = l_Lean_Name_str___override(x_1, x_2); +lean_object* x_1; uint8_t x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_motive___closed__1; +x_2 = 0; +x_3 = l_Lean_Parser_nonReservedSymbol(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstFieldDecl", 19, 19); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__4() { -_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_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__3; -x_4 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__3; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__5() { +static lean_object* _init_l_Lean_Parser_Term_motive___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = l_Lean_Parser_Term_motive___closed__4; +x_2 = l_Lean_Parser_Term_binderTactic___closed__5; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__6() { +static lean_object* _init_l_Lean_Parser_Term_motive___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__5; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__8; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = l_Lean_Parser_Term_typeAscription___closed__5; +x_2 = l_Lean_Parser_Term_motive___closed__5; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__7() { +static lean_object* _init_l_Lean_Parser_Term_motive___closed__7() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__6; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__10; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_motive___closed__6; +x_2 = l_Lean_Parser_atomic(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__8() { +static lean_object* _init_l_Lean_Parser_Term_motive___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__7; -x_2 = l_Lean_Parser_Command_docComment___closed__1; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = l_Lean_Parser_Term_inaccessible___closed__6; +x_2 = l_Lean_Parser_Term_generalizingParam___closed__9; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__9() { +static lean_object* _init_l_Lean_Parser_Term_motive___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__8; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = l_Lean_Parser_Term_motive___closed__7; +x_2 = l_Lean_Parser_Term_motive___closed__8; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__10() { +static lean_object* _init_l_Lean_Parser_Term_motive___closed__10() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__9; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_3 = l_Lean_Name_str___override(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_motive___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_motive___closed__9; +x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__11() { +static lean_object* _init_l_Lean_Parser_Term_motive___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__10; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__16; -x_3 = l_Lean_Name_str___override(x_1, x_2); +x_1 = l_Lean_Parser_Term_motive___closed__3; +x_2 = l_Lean_Parser_Term_motive___closed__10; +x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__12() { +static lean_object* _init_l_Lean_Parser_Term_motive___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__11; -x_2 = lean_unsigned_to_nat(1921u); -x_3 = l_Lean_Name_num___override(x_1, x_2); +x_1 = l_Lean_Parser_Term_motive___closed__2; +x_2 = l_Lean_Parser_Term_motive___closed__11; +x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921_(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_motive() { _start: { -lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; -x_2 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__2; -x_3 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__4; -x_4 = 0; -x_5 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__12; -x_6 = l_Lean_Parser_registerBuiltinParserAttribute(x_2, x_3, x_4, x_5, x_1); -return x_6; +lean_object* x_1; +x_1 = l_Lean_Parser_Term_motive___closed__12; +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_match___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("depArrow", 8, 8); +x_1 = lean_mk_string_unchecked("match", 5, 5); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_match___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_depArrow___closed__1; +x_4 = l_Lean_Parser_Term_match___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_match___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_depArrow___closed__1; -x_2 = l_Lean_Parser_Term_depArrow___closed__2; +x_1 = l_Lean_Parser_Term_match___closed__1; +x_2 = l_Lean_Parser_Term_match___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_match___closed__4() { _start: { -uint8_t x_1; lean_object* x_2; -x_1 = 1; -x_2 = l_Lean_Parser_Term_bracketedBinder(x_1); +lean_object* x_1; +x_1 = lean_mk_string_unchecked("match ", 6, 6); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_match___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_match___closed__4; +x_2 = l_Lean_Parser_symbol(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_match___closed__6() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked(" → ", 5, 3); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_generalizingParam; +x_2 = l_Lean_Parser_optional(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_match___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_motive; +x_2 = l_Lean_Parser_optional(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_match___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_matchDiscr; +x_2 = l_Lean_Parser_Term_tuple___closed__4; +x_3 = l_Lean_Parser_Term_tuple___closed__5; +x_4 = 0; +x_5 = l_Lean_Parser_sepBy1(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_match___closed__9() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked(" -> ", 4, 4); +x_1 = lean_mk_string_unchecked(" with", 5, 5); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_match___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_match___closed__9; +x_2 = l_Lean_Parser_symbol(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_match___closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_typeAscription___closed__6; +x_2 = l_Lean_Parser_Term_matchAlts(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_match___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_depArrow___closed__5; -x_2 = l_Lean_Parser_Term_depArrow___closed__6; -x_3 = l_Lean_Parser_unicodeSymbol(x_1, x_2); +x_1 = l_Lean_Parser_Term_match___closed__10; +x_2 = l_Lean_Parser_Term_match___closed__11; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_match___closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_depArrow___closed__7; -x_2 = l_Lean_Parser_Term_typeAscription___closed__6; +x_1 = l_Lean_Parser_Term_match___closed__8; +x_2 = l_Lean_Parser_Term_match___closed__12; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_match___closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_depArrow___closed__4; -x_2 = l_Lean_Parser_Term_depArrow___closed__8; +x_1 = l_Lean_Parser_Term_match___closed__7; +x_2 = l_Lean_Parser_Term_match___closed__13; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_match___closed__15() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_match___closed__6; +x_2 = l_Lean_Parser_Term_match___closed__14; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_match___closed__16() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_match___closed__5; +x_2 = l_Lean_Parser_Term_match___closed__15; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_match___closed__17() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_depArrow___closed__2; -x_2 = lean_unsigned_to_nat(25u); -x_3 = l_Lean_Parser_Term_depArrow___closed__9; +x_1 = l_Lean_Parser_Term_match___closed__2; +x_2 = l_Lean_Parser_leadPrec; +x_3 = l_Lean_Parser_Term_match___closed__16; x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__11() { +static lean_object* _init_l_Lean_Parser_Term_match___closed__18() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_depArrow___closed__3; -x_2 = l_Lean_Parser_Term_depArrow___closed__10; +x_1 = l_Lean_Parser_Term_match___closed__3; +x_2 = l_Lean_Parser_Term_match___closed__17; x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow___closed__12() { +static lean_object* _init_l_Lean_Parser_Term_match___closed__19() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_depArrow___closed__2; -x_2 = l_Lean_Parser_Term_depArrow___closed__11; +x_1 = l_Lean_Parser_Term_match___closed__2; +x_2 = l_Lean_Parser_Term_match___closed__18; x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow() { +static lean_object* _init_l_Lean_Parser_Term_match() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_depArrow___closed__12; +x_1 = l_Lean_Parser_Term_match___closed__19; return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_depArrow__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_match__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; x_2 = l___regBuiltin_Lean_Parser_Term_byTactic__1___closed__2; -x_3 = l_Lean_Parser_Term_depArrow___closed__2; +x_3 = l_Lean_Parser_Term_match___closed__2; x_4 = 1; -x_5 = l_Lean_Parser_Term_depArrow; +x_5 = l_Lean_Parser_Term_match; x_6 = lean_unsigned_to_nat(1000u); x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); return x_7; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_docString__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("Pattern matching. `match e, ... with | p, ... => f | ...` matches each given\nterm `e` against each pattern `p` of a match alternative. When all patterns\nof an alternative match, the `match` term evaluates to the value of the\ncorresponding right-hand side `f` with the pattern variables bound to the\nrespective matched values.\nIf used as `match h : e, ... with | p, ... => f | ...`, `h : e = p` is available\nwithin `f`.\n\nWhen not constructing a proof, `match` does not automatically substitute variables\nmatched on in dependent variables' types. Use `match (generalizing := true) ...` to\nenforce this.\n\nSyntax quotations can also be used in a pattern match.\nThis matches a `Syntax` value against quotations, pattern variables, or `_`.\n\nQuoted identifiers only match identical identifiers - custom matching such as by the preresolved\nnames only should be done explicitly.\n\n`Syntax.atom`s are ignored during matching by default except when part of a built-in literal.\nFor users introducing new atoms, we recommend wrapping them in dedicated syntax kinds if they\nshould participate in matching.\nFor example, in\n```lean\nsyntax \"c\" (\"foo\" <|> \"bar\") ...\n```\n`foo` and `bar` are indistinguishable during matching, but in\n```lean\nsyntax foo := \"foo\"\nsyntax \"c\" (foo <|> \"bar\") ...\n```\nthey are not.\n", 1291, 1291); +return x_1; +} +} +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_match_docString__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_Parser_Term_match___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_match_docString__1___closed__1; +x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); +return x_4; +} +} +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(339u); +x_1 = lean_unsigned_to_nat(413u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -23560,26 +24472,26 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(340u); -x_2 = lean_unsigned_to_nat(66u); +x_1 = lean_unsigned_to_nat(415u); +x_2 = lean_unsigned_to_nat(31u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__3() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__1; +x_1 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__1; x_2 = lean_unsigned_to_nat(23u); -x_3 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__2; -x_4 = lean_unsigned_to_nat(66u); +x_3 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__2; +x_4 = lean_unsigned_to_nat(31u); x_5 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_5, 0, x_1); lean_ctor_set(x_5, 1, x_2); @@ -23588,11 +24500,11 @@ lean_ctor_set(x_5, 3, x_4); return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__4() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(339u); +x_1 = lean_unsigned_to_nat(413u); x_2 = lean_unsigned_to_nat(27u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -23600,26 +24512,26 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__5() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(339u); -x_2 = lean_unsigned_to_nat(35u); +x_1 = lean_unsigned_to_nat(413u); +x_2 = lean_unsigned_to_nat(34u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__6() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__4; +x_1 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__4; x_2 = lean_unsigned_to_nat(27u); -x_3 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__5; -x_4 = lean_unsigned_to_nat(35u); +x_3 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__5; +x_4 = lean_unsigned_to_nat(34u); x_5 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_5, 0, x_1); lean_ctor_set(x_5, 1, x_2); @@ -23628,77 +24540,154 @@ lean_ctor_set(x_5, 3, x_4); return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__7() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__3; -x_2 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__6; +x_1 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__3; +x_2 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__6; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_match_declRange__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_depArrow___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___closed__7; +x_2 = l_Lean_Parser_Term_match___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__7; x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType_formatter(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +static lean_object* _init_l_Lean_Parser_Term_trueVal_formatter___closed__1() { _start: { -if (x_1 == 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; +x_1 = l_Lean_Parser_Term_trueVal___closed__1; +x_2 = l_Lean_Parser_Term_trueVal___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_trueVal_formatter___closed__2() { +_start: { -lean_object* x_7; lean_object* x_8; -x_7 = l_Lean_Parser_Term_structInst_formatter___closed__11; -x_8 = l_Lean_Parser_optional_formatter(x_7, x_2, x_3, x_4, x_5, x_6); +lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_trueVal___closed__4; +x_2 = 0; +x_3 = lean_box(x_2); +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_formatter___boxed), 7, 2); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_trueVal_formatter___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_trueVal___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_trueVal_formatter___closed__2; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_trueVal_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_trueVal_formatter___closed__1; +x_7 = l_Lean_Parser_Term_trueVal_formatter___closed__3; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } -else +} +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_trueVal_formatter__1___closed__1() { +_start: { -lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_9 = l_Lean_Parser_Term_binderType___closed__3; -x_10 = l_Lean_Parser_Term_structInst_formatter___closed__11; -x_11 = l_Lean_PrettyPrinter_Formatter_node_formatter(x_9, x_10, x_2, x_3, x_4, x_5, x_6); -return x_11; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_trueVal___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_trueVal_formatter__1___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_trueVal_formatter), 5, 0); +return x_1; } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType_formatter___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___regBuiltin_Lean_Parser_Term_trueVal_formatter__1(lean_object* x_1) { _start: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_1); -lean_dec(x_1); -x_8 = l_Lean_Parser_Term_binderType_formatter(x_7, x_2, x_3, x_4, x_5, x_6); -return x_8; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; +x_3 = l_Lean_Parser_Term_trueVal___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_trueVal_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_trueVal_formatter__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_falseVal_formatter___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__4; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq1Indented_formatter__1___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +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; +x_1 = l_Lean_Parser_Term_falseVal___closed__1; +x_2 = l_Lean_Parser_Term_falseVal___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_falseVal_formatter___closed__2() { +_start: +{ +lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_falseVal___closed__4; +x_2 = 0; +x_3 = lean_box(x_2); +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_formatter___boxed), 7, 2); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_falseVal_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___closed__2; +x_1 = l_Lean_Parser_Term_falseVal___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Tactic_tacticSeq_formatter___closed__1; +x_3 = l_Lean_Parser_Term_falseVal_formatter___closed__2; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -23706,55 +24695,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_tacticSeq_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_falseVal_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Tactic_tacticSeqIndentGt_formatter___closed__1; -x_7 = l_Lean_Parser_Tactic_tacticSeq_formatter___closed__2; +x_6 = l_Lean_Parser_Term_falseVal_formatter___closed__1; +x_7 = l_Lean_Parser_Term_falseVal_formatter___closed__3; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Tactic_tacticSeq_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Tactic_sepByIndentSemicolon_docString__1___closed__1; -x_4 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___closed__1; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_falseVal___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Tactic_tacticSeq_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_tacticSeq_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_falseVal_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeq_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_formatter__1___closed__2; +x_3 = l_Lean_Parser_Term_falseVal___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_binderTactic___closed__1; -x_2 = l_Lean_Parser_Term_binderTactic___closed__2; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__1; +x_2 = l_Lean_Parser_Term_generalizingParam___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -23767,57 +24756,108 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_binderTactic___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__4; +x_2 = 0; +x_3 = lean_box(x_2); +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_formatter___boxed), 7, 2); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__2; -x_2 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; +x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__2; +x_2 = l_Lean_Parser_Term_generalizingParam_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_binderTactic_formatter___closed__3; +x_1 = l_Lean_Parser_Term_generalizingParam_formatter___closed__3; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_binderTactic_formatter___closed__4; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_formatter__1___closed__2; +x_1 = l___regBuiltin_Lean_Parser_Term_trueVal_formatter__1___closed__2; +x_2 = l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__12; +x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic_formatter___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_generalizingParam_formatter___closed__5; +x_2 = l_Lean_Parser_Term_generalizingParam_formatter___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; +x_2 = l_Lean_Parser_Term_generalizingParam_formatter___closed__7; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_generalizingParam_formatter___closed__4; +x_2 = l_Lean_Parser_Term_generalizingParam_formatter___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_binderTactic___closed__2; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_binderTactic_formatter___closed__5; +x_3 = l_Lean_Parser_Term_generalizingParam_formatter___closed__9; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -23825,55 +24865,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderTactic_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_generalizingParam_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_binderTactic_formatter___closed__1; -x_7 = l_Lean_Parser_Term_binderTactic_formatter___closed__6; +x_6 = l_Lean_Parser_Term_generalizingParam_formatter___closed__1; +x_7 = l_Lean_Parser_Term_generalizingParam_formatter___closed__10; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_generalizingParam_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_binderTactic___closed__1; +x_4 = l_Lean_Parser_Term_generalizingParam___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_generalizingParam_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderTactic_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_generalizingParam_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_generalizingParam_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_binderTactic___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__2; +x_3 = l_Lean_Parser_Term_generalizingParam___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_generalizingParam_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_generalizingParam_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_binderDefault___closed__1; -x_2 = l_Lean_Parser_Term_binderDefault___closed__2; +x_1 = l_Lean_Parser_Term_motive___closed__1; +x_2 = l_Lean_Parser_Term_motive___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -23886,13 +24926,84 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_binderDefault_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__2() { +_start: +{ +lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_motive___closed__1; +x_2 = 0; +x_3 = lean_box(x_2); +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_formatter___boxed), 7, 2); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_motive_formatter___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__2; +x_2 = l_Lean_Parser_Term_motive_formatter___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_motive_formatter___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_inaccessible_formatter___closed__3; +x_2 = l_Lean_Parser_Term_generalizingParam_formatter___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_motive_formatter___closed__5; +x_2 = l_Lean_Parser_Term_motive_formatter___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_binderDefault___closed__2; +x_1 = l_Lean_Parser_Term_motive___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInstField_formatter___closed__3; +x_3 = l_Lean_Parser_Term_motive_formatter___closed__7; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -23900,55 +25011,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderDefault_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_motive_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_binderDefault_formatter___closed__1; -x_7 = l_Lean_Parser_Term_binderDefault_formatter___closed__2; +x_6 = l_Lean_Parser_Term_motive_formatter___closed__1; +x_7 = l_Lean_Parser_Term_motive_formatter___closed__8; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_motive_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_binderDefault___closed__1; +x_4 = l_Lean_Parser_Term_motive___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_motive_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderDefault_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_motive_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_motive_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_binderDefault___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__2; +x_3 = l_Lean_Parser_Term_motive___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_motive_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_motive_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_explicitBinder_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr_formatter___closed__1() { _start: { 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; -x_1 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; +x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -23961,270 +25072,263 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_explicitBinder_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_sufficesDecl_formatter___closed__3; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1_formatter), 6, 1); +x_1 = l_Lean_Parser_Term_optIdent_formatter___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_explicitBinder_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__2; -x_2 = l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); +x_1 = l_Lean_Parser_Term_matchDiscr_formatter___closed__2; +x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_explicitBinder_formatter___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_explicitBinder_formatter___closed__3; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder_formatter(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr_formatter___closed__4() { _start: { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; 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_7 = lean_box(x_1); -x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderType_formatter___boxed), 6, 1); -lean_closure_set(x_8, 0, x_7); -x_9 = l_Lean_Parser_Term_explicitBinder_formatter___closed__4; -x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_10, 0, x_8); -lean_closure_set(x_10, 1, x_9); -x_11 = l_Lean_Parser_Term_explicitBinder_formatter___closed__2; -x_12 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_12, 0, x_11); -lean_closure_set(x_12, 1, x_10); -x_13 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_formatter), 6, 1); -lean_closure_set(x_13, 0, x_12); -x_14 = l_Lean_Parser_Term_typeAscription_formatter___closed__12; -x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_15, 0, x_13); -lean_closure_set(x_15, 1, x_14); -x_16 = l_Lean_Parser_Term_typeAscription_formatter___closed__2; -x_17 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_17, 0, x_16); -lean_closure_set(x_17, 1, x_15); -x_18 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_formatter), 6, 1); -lean_closure_set(x_18, 0, x_17); -x_19 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; -x_20 = lean_unsigned_to_nat(1024u); -x_21 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_21, 0, x_19); -lean_closure_set(x_21, 1, x_20); -lean_closure_set(x_21, 2, x_18); -x_22 = l_Lean_Parser_Term_explicitBinder_formatter___closed__1; -x_23 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_22, x_21, x_2, x_3, x_4, x_5, x_6); -return x_23; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_matchDiscr_formatter___closed__3; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder_formatter___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_Parser_Term_matchDiscr_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_1); -lean_dec(x_1); -x_8 = l_Lean_Parser_Term_explicitBinder_formatter(x_7, x_2, x_3, x_4, x_5, x_6); +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_matchDiscr_formatter___closed__1; +x_7 = l_Lean_Parser_Term_matchDiscr_formatter___closed__4; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_2, 0, x_1); -lean_closure_set(x_2, 1, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__1; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_group_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_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; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__3() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchDiscr_formatter), 5, 0); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__4() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; +x_3 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitLeftBracket_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_darrow_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__3; -x_7 = l_Lean_Parser_Term_strictImplicitLeftBracket_formatter___closed__4; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; +lean_object* x_6; lean_object* x_7; +x_6 = l_Lean_Parser_darrow___closed__1; +x_7 = l_Lean_Parser_symbol_formatter(x_6, x_1, x_2, x_3, x_4, x_5); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__5; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_2, 0, x_1); -lean_closure_set(x_2, 1, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Term_matchAlt___closed__1; +x_2 = l_Lean_Parser_Term_matchAlt___closed__2; +x_3 = 0; +x_4 = lean_box(x_3); +x_5 = lean_box(x_3); +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_6, 0, x_1); +lean_closure_set(x_6, 1, x_2); +lean_closure_set(x_6, 2, x_4); +lean_closure_set(x_6, 3, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__1; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_group_formatter), 6, 1); +x_1 = l_Lean_Parser_Term_matchAlt___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; +x_2 = l_Lean_Parser_Term_tuple___closed__4; +x_3 = l_Lean_Parser_Term_tuple_formatter___closed__2; +x_4 = 0; +x_5 = lean_box(x_4); +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1_formatter___boxed), 9, 4); +lean_closure_set(x_6, 0, x_1); +lean_closure_set(x_6, 1, x_2); +lean_closure_set(x_6, 2, x_3); +lean_closure_set(x_6, 3, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__4; +x_1 = l_Lean_Parser_Term_matchAlt___closed__7; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitRightBracket_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__3; -x_7 = l_Lean_Parser_Term_strictImplicitRightBracket_formatter___closed__4; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__5() { _start: { -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; -x_1 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; -x_3 = 1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Term_matchAlt_formatter___closed__3; +x_2 = l_Lean_Parser_Term_matchAlt___closed__7; +x_3 = l_Lean_Parser_Term_matchAlt_formatter___closed__4; x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +x_5 = lean_box(x_4); +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1_formatter___boxed), 9, 4); +lean_closure_set(x_6, 0, x_1); +lean_closure_set(x_6, 1, x_2); +lean_closure_set(x_6, 2, x_3); +lean_closure_set(x_6, 3, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__6() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_strictImplicitRightBracket_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_checkColGe_formatter___boxed), 4, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__7() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_strictImplicitLeftBracket_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_darrow_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder_formatter(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_EXPORT lean_object* l_Lean_Parser_Term_matchAlt_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_7 = lean_box(x_1); -x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderType_formatter___boxed), 6, 1); +x_7 = l_Lean_Parser_Term_matchAlt_formatter___closed__6; +x_8 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_8, 0, x_7); -x_9 = l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__2; +lean_closure_set(x_8, 1, x_1); +x_9 = l_Lean_Parser_Term_matchAlt_formatter___closed__7; x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_10, 0, x_8); -lean_closure_set(x_10, 1, x_9); -x_11 = l_Lean_Parser_Term_explicitBinder_formatter___closed__2; +lean_closure_set(x_10, 0, x_9); +lean_closure_set(x_10, 1, x_8); +x_11 = l_Lean_Parser_Term_matchAlt_formatter___closed__5; x_12 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_12, 0, x_11); lean_closure_set(x_12, 1, x_10); -x_13 = l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__3; -x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_14, 0, x_13); -lean_closure_set(x_14, 1, x_12); -x_15 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_formatter), 6, 1); +x_13 = lean_alloc_closure((void*)(l_Lean_ppIndent_formatter), 6, 1); +lean_closure_set(x_13, 0, x_12); +x_14 = l_Lean_Parser_Term_matchAlt_formatter___closed__2; +x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_15, 0, x_14); -x_16 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; +lean_closure_set(x_15, 1, x_13); +x_16 = l_Lean_Parser_Term_matchAlt___closed__2; x_17 = lean_unsigned_to_nat(1024u); x_18 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_18, 0, x_16); lean_closure_set(x_18, 1, x_17); lean_closure_set(x_18, 2, x_15); -x_19 = l_Lean_Parser_Term_strictImplicitBinder_formatter___closed__1; +x_19 = l_Lean_Parser_Term_matchAlt_formatter___closed__1; x_20 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_19, x_18, x_2, x_3, x_4, x_5, x_6); return x_20; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder_formatter___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) { +static lean_object* _init_l_Lean_Parser_Term_matchAlts_formatter___closed__1() { _start: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_1); -lean_dec(x_1); -x_8 = l_Lean_Parser_Term_strictImplicitBinder_formatter(x_7, x_2, x_3, x_4, x_5, x_6); -return x_8; +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; +x_1 = l_Lean_Parser_Term_matchAlts___closed__1; +x_2 = l_Lean_Parser_Term_matchAlts___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_implicitBinder_formatter___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlts_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +_start: +{ +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlt_formatter), 6, 1); +lean_closure_set(x_7, 0, x_1); +x_8 = l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__6; +x_9 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_9, 0, x_8); +lean_closure_set(x_9, 1, x_7); +x_10 = lean_alloc_closure((void*)(l_Lean_Parser_many1Indent_formatter), 6, 1); +lean_closure_set(x_10, 0, x_9); +x_11 = lean_alloc_closure((void*)(l_Lean_Parser_withPosition_formatter), 6, 1); +lean_closure_set(x_11, 0, x_10); +x_12 = l_Lean_Parser_Term_matchAlts___closed__2; +x_13 = lean_unsigned_to_nat(1024u); +x_14 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_14, 0, x_12); +lean_closure_set(x_14, 1, x_13); +lean_closure_set(x_14, 2, x_11); +x_15 = l_Lean_Parser_Term_matchAlts_formatter___closed__1; +x_16 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_15, x_14, x_2, x_3, x_4, x_5, x_6); +return x_16; +} +} +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__1() { _start: { 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; -x_1 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; +x_1 = l_Lean_Parser_Term_match___closed__1; +x_2 = l_Lean_Parser_Term_match___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -24237,170 +25341,150 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder_formatter(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__2() { _start: { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_7 = lean_box(x_1); -x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderType_formatter___boxed), 6, 1); -lean_closure_set(x_8, 0, x_7); -x_9 = l_Lean_Parser_Term_explicitBinder_formatter___closed__2; -x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_10, 0, x_9); -lean_closure_set(x_10, 1, x_8); -x_11 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_formatter), 6, 1); -lean_closure_set(x_11, 0, x_10); -x_12 = l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__5; -x_13 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_13, 0, x_11); -lean_closure_set(x_13, 1, x_12); -x_14 = l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__2; -x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_15, 0, x_14); -lean_closure_set(x_15, 1, x_13); -x_16 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_formatter), 6, 1); -lean_closure_set(x_16, 0, x_15); -x_17 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; -x_18 = lean_unsigned_to_nat(1024u); -x_19 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_19, 0, x_17); -lean_closure_set(x_19, 1, x_18); -lean_closure_set(x_19, 2, x_16); -x_20 = l_Lean_Parser_Term_implicitBinder_formatter___closed__1; -x_21 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_20, x_19, x_2, x_3, x_4, x_5, x_6); -return x_21; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_match___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder_formatter___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) { +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__3() { _start: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_1); -lean_dec(x_1); -x_8 = l_Lean_Parser_Term_implicitBinder_formatter(x_7, x_2, x_3, x_4, x_5, x_6); -return x_8; +lean_object* x_1; lean_object* x_2; +x_1 = l___regBuiltin_Lean_Parser_Term_generalizingParam_formatter__1___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_optIdent_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_syntheticHole_formatter___closed__3; -x_2 = l_Lean_Parser_Term_sufficesDecl_formatter___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l___regBuiltin_Lean_Parser_Term_motive_formatter__1___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_optIdent_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; +x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1___closed__2; +x_2 = l_Lean_Parser_Term_tuple___closed__4; +x_3 = l_Lean_Parser_Term_tuple_formatter___closed__2; +x_4 = 0; +x_5 = lean_box(x_4); +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1_formatter___boxed), 9, 4); +lean_closure_set(x_6, 0, x_1); +lean_closure_set(x_6, 1, x_2); +lean_closure_set(x_6, 2, x_3); +lean_closure_set(x_6, 3, x_5); +return x_6; +} +} +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_optIdent_formatter___closed__1; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); +x_1 = l_Lean_Parser_Term_match___closed__9; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_optIdent_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; -x_6 = l_Lean_Parser_Term_optIdent_formatter___closed__2; -x_7 = l_Lean_Parser_optional_formatter(x_6, x_1, x_2, x_3, x_4, x_5); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__7() { _start: { -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; -x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlts_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__8() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optIdent_formatter), 5, 0); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_match_formatter___closed__7; +x_2 = lean_alloc_closure((void*)(l_Lean_ppDedent_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_instBinder_formatter___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; +x_1 = l_Lean_Parser_Term_match_formatter___closed__6; +x_2 = l_Lean_Parser_Term_match_formatter___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__10() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_instBinder_formatter___closed__3; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_match_formatter___closed__5; +x_2 = l_Lean_Parser_Term_match_formatter___closed__9; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_instBinder_formatter___closed__4; -x_2 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3; +x_1 = l_Lean_Parser_Term_match_formatter___closed__4; +x_2 = l_Lean_Parser_Term_match_formatter___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__3; -x_2 = l_Lean_Parser_Term_instBinder_formatter___closed__5; +x_1 = l_Lean_Parser_Term_match_formatter___closed__3; +x_2 = l_Lean_Parser_Term_match_formatter___closed__11; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__13() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_instBinder_formatter___closed__6; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_match_formatter___closed__2; +x_2 = l_Lean_Parser_Term_match_formatter___closed__12; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder_formatter___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_instBinder_formatter___closed__7; +x_1 = l_Lean_Parser_Term_match___closed__2; +x_2 = l_Lean_Parser_leadPrec; +x_3 = l_Lean_Parser_Term_match_formatter___closed__13; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -24408,287 +25492,345 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_instBinder_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_match_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_instBinder_formatter___closed__1; -x_7 = l_Lean_Parser_Term_instBinder_formatter___closed__8; +x_6 = l_Lean_Parser_Term_match_formatter___closed__1; +x_7 = l_Lean_Parser_Term_match_formatter___closed__14; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; +x_4 = l_Lean_Parser_Term_match___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_instBinder_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_match_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_match_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__2; +x_3 = l_Lean_Parser_Term_match___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_match_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_match_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_bracketedBinder_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_trueVal_parenthesizer___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__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; +x_1 = l_Lean_Parser_Term_trueVal___closed__1; +x_2 = l_Lean_Parser_Term_trueVal___closed__2; x_3 = 1; -x_4 = lean_box(x_3); +x_4 = 0; x_5 = lean_box(x_3); -x_6 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_6, 0, x_1); -lean_closure_set(x_6, 1, x_2); -lean_closure_set(x_6, 2, x_4); -lean_closure_set(x_6, 3, x_5); -return x_6; +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder_formatter(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +static lean_object* _init_l_Lean_Parser_Term_trueVal_parenthesizer___closed__2() { _start: { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_7 = lean_box(x_1); -x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_explicitBinder_formatter___boxed), 6, 1); -lean_closure_set(x_8, 0, x_7); -x_9 = lean_box(x_1); -x_10 = lean_alloc_closure((void*)(l_Lean_Parser_Term_strictImplicitBinder_formatter___boxed), 6, 1); -lean_closure_set(x_10, 0, x_9); -x_11 = lean_box(x_1); -x_12 = lean_alloc_closure((void*)(l_Lean_Parser_Term_implicitBinder_formatter___boxed), 6, 1); -lean_closure_set(x_12, 0, x_11); -x_13 = l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__2; -x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); -lean_closure_set(x_14, 0, x_12); -lean_closure_set(x_14, 1, x_13); -x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); -lean_closure_set(x_15, 0, x_10); -lean_closure_set(x_15, 1, x_14); -x_16 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); -lean_closure_set(x_16, 0, x_8); -lean_closure_set(x_16, 1, x_15); -x_17 = l_Lean_Parser_Term_bracketedBinder_formatter___closed__1; -x_18 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_17, x_16, x_2, x_3, x_4, x_5, x_6); -return x_18; +lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_trueVal___closed__4; +x_2 = 0; +x_3 = lean_box(x_2); +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_parenthesizer___boxed), 7, 2); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_3); +return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder_formatter___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) { +static lean_object* _init_l_Lean_Parser_Term_trueVal_parenthesizer___closed__3() { _start: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_1); -lean_dec(x_1); -x_8 = l_Lean_Parser_Term_bracketedBinder_formatter(x_7, x_2, x_3, x_4, x_5, x_6); +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_trueVal___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_trueVal_parenthesizer___closed__2; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_trueVal_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_trueVal_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_trueVal_parenthesizer___closed__3; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow_formatter___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_trueVal_parenthesizer__1___closed__1() { _start: { -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; -x_1 = l_Lean_Parser_Term_depArrow___closed__1; -x_2 = l_Lean_Parser_Term_depArrow___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_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; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_trueVal___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow_formatter___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_trueVal_parenthesizer__1___closed__2() { _start: { -uint8_t x_1; lean_object* x_2; lean_object* x_3; -x_1 = 1; -x_2 = lean_box(x_1); -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_bracketedBinder_formatter___boxed), 6, 1); -lean_closure_set(x_3, 0, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_trueVal_parenthesizer), 5, 0); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow_formatter___closed__3() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_trueVal_parenthesizer__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_depArrow___closed__5; -x_2 = l_Lean_Parser_Term_depArrow___closed__6; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbol_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; +x_3 = l_Lean_Parser_Term_trueVal___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_trueVal_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_trueVal_parenthesizer__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_falseVal_parenthesizer___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_depArrow_formatter___closed__3; -x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +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; +x_1 = l_Lean_Parser_Term_falseVal___closed__1; +x_2 = l_Lean_Parser_Term_falseVal___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow_formatter___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_falseVal_parenthesizer___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_depArrow_formatter___closed__2; -x_2 = l_Lean_Parser_Term_depArrow_formatter___closed__4; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_falseVal___closed__4; +x_2 = 0; +x_3 = lean_box(x_2); +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_parenthesizer___boxed), 7, 2); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow_formatter___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_falseVal_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_depArrow___closed__2; -x_2 = lean_unsigned_to_nat(25u); -x_3 = l_Lean_Parser_Term_depArrow_formatter___closed__5; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +x_1 = l_Lean_Parser_Term_falseVal___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_falseVal_parenthesizer___closed__2; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_depArrow_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_falseVal_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_depArrow_formatter___closed__1; -x_7 = l_Lean_Parser_Term_depArrow_formatter___closed__6; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +x_6 = l_Lean_Parser_Term_falseVal_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_falseVal_parenthesizer___closed__3; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_depArrow___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; +x_4 = l_Lean_Parser_Term_falseVal___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_depArrow_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_falseVal_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_depArrow___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_depArrow_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_depArrow_formatter__1___closed__2; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; +x_3 = l_Lean_Parser_Term_falseVal___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_binderType_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__1() { +_start: +{ +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; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__1; +x_2 = l_Lean_Parser_Term_generalizingParam___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__2() { +_start: +{ +lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__4; +x_2 = 0; +x_3 = lean_box(x_2); +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_parenthesizer___boxed), 7, 2); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; +x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType_parenthesizer(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__4() { _start: { -if (x_1 == 0) +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__5() { +_start: { -lean_object* x_7; lean_object* x_8; -x_7 = l_Lean_Parser_Term_binderType_parenthesizer___closed__1; -x_8 = l_Lean_Parser_optional_parenthesizer(x_7, x_2, x_3, x_4, x_5, x_6); -return x_8; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___regBuiltin_Lean_Parser_Term_trueVal_parenthesizer__1___closed__2; +x_2 = l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } -else +} +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__6() { +_start: { -lean_object* x_9; lean_object* x_10; lean_object* x_11; -x_9 = l_Lean_Parser_Term_binderType___closed__3; -x_10 = l_Lean_Parser_Term_binderType_parenthesizer___closed__1; -x_11 = l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer(x_9, x_10, x_2, x_3, x_4, x_5, x_6); -return x_11; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__12; +x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__5; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} } +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__5; +x_2 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderType_parenthesizer___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) { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__8() { _start: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_1); -lean_dec(x_1); -x_8 = l_Lean_Parser_Term_binderType_parenthesizer(x_7, x_2, x_3, x_4, x_5, x_6); -return x_8; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__7; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__4; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq1Indented_parenthesizer__1___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__4; +x_2 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Tactic_tacticSeq_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___closed__2; +x_1 = l_Lean_Parser_Term_generalizingParam___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Tactic_tacticSeq_parenthesizer___closed__1; +x_3 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__9; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -24696,55 +25838,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Tactic_tacticSeq_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_generalizingParam_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Tactic_tacticSeqIndentGt_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Tactic_tacticSeq_parenthesizer___closed__2; +x_6 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__10; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Tactic_sepByIndentSemicolon_docString__1___closed__1; -x_4 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___closed__1; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_generalizingParam___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Tactic_tacticSeq_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_generalizingParam_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_docString__1___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_generalizingParam___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_binderTactic___closed__1; -x_2 = l_Lean_Parser_Term_binderTactic___closed__2; +x_1 = l_Lean_Parser_Term_motive___closed__1; +x_2 = l_Lean_Parser_Term_motive___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -24757,57 +25899,84 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__2() { +_start: +{ +lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_motive___closed__1; +x_2 = 0; +x_3 = lean_box(x_2); +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_parenthesizer___boxed), 7, 2); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_motive_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_motive_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_binderTactic___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_motive_parenthesizer___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; +x_1 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__3; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__4; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeq_parenthesizer__1___closed__2; +x_1 = l_Lean_Parser_Term_motive_parenthesizer___closed__5; +x_2 = l_Lean_Parser_Term_motive_parenthesizer___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_binderTactic___closed__2; +x_1 = l_Lean_Parser_Term_motive___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__5; +x_3 = l_Lean_Parser_Term_motive_parenthesizer___closed__7; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -24815,55 +25984,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_binderTactic_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_motive_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__6; +x_6 = l_Lean_Parser_Term_motive_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_motive_parenthesizer___closed__8; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_motive_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_binderTactic___closed__1; +x_4 = l_Lean_Parser_Term_motive___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_motive_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderTactic_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_motive_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_motive_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_binderTactic___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_motive___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_motive_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_motive_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__1() { _start: { 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; -x_1 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; +x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1; +x_2 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -24876,278 +26045,220 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__3; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_optIdent_parenthesizer___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__3() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderDefault_parenthesizer), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__2; -x_2 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +static lean_object* _init_l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__4() { _start: { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; 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_7 = lean_box(x_1); -x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderType_parenthesizer___boxed), 6, 1); -lean_closure_set(x_8, 0, x_7); -x_9 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__5; -x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_10, 0, x_8); -lean_closure_set(x_10, 1, x_9); -x_11 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__2; -x_12 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_12, 0, x_11); -lean_closure_set(x_12, 1, x_10); -x_13 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_parenthesizer), 6, 1); -lean_closure_set(x_13, 0, x_12); -x_14 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__12; -x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_15, 0, x_13); -lean_closure_set(x_15, 1, x_14); -x_16 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__2; -x_17 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_17, 0, x_16); -lean_closure_set(x_17, 1, x_15); -x_18 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_parenthesizer), 6, 1); -lean_closure_set(x_18, 0, x_17); -x_19 = l___regBuiltin_Lean_Parser_Term_explicitBinder_docString__1___closed__2; -x_20 = lean_unsigned_to_nat(1024u); -x_21 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); -lean_closure_set(x_21, 0, x_19); -lean_closure_set(x_21, 1, x_20); -lean_closure_set(x_21, 2, x_18); -x_22 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__1; -x_23 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_22, x_21, x_2, x_3, x_4, x_5, x_6); -return x_23; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__3; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_explicitBinder_parenthesizer___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_Parser_Term_matchDiscr_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_1); -lean_dec(x_1); -x_8 = l_Lean_Parser_Term_explicitBinder_parenthesizer(x_7, x_2, x_3, x_4, x_5, x_6); +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__4; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_2, 0, x_1); -lean_closure_set(x_2, 1, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_parenthesizer__1___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__1; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_group_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_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; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__3() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_parenthesizer__1___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchDiscr_parenthesizer), 5, 0); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__4() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_matchDiscr_parenthesizer__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitLeftBracket___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; +x_3 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_matchDiscr_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_matchDiscr_parenthesizer__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_darrow_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__3; -x_7 = l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer___closed__4; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; +lean_object* x_6; lean_object* x_7; +x_6 = l_Lean_Parser_darrow___closed__1; +x_7 = l_Lean_Parser_symbol_parenthesizer(x_6, x_1, x_2, x_3, x_4, x_5); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__5; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_2, 0, x_1); -lean_closure_set(x_2, 1, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Term_matchAlt___closed__1; +x_2 = l_Lean_Parser_Term_matchAlt___closed__2; +x_3 = 0; +x_4 = lean_box(x_3); +x_5 = lean_box(x_3); +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_6, 0, x_1); +lean_closure_set(x_6, 1, x_2); +lean_closure_set(x_6, 2, x_4); +lean_closure_set(x_6, 3, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__1; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_group_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_matchAlt___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_tuple___closed__4; +x_3 = l_Lean_Parser_Term_tuple_parenthesizer___closed__2; +x_4 = 0; +x_5 = lean_box(x_4); +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1_parenthesizer___boxed), 9, 4); +lean_closure_set(x_6, 0, x_1); +lean_closure_set(x_6, 1, x_2); +lean_closure_set(x_6, 2, x_3); +lean_closure_set(x_6, 3, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_strictImplicitRightBracket___closed__4; +x_1 = l_Lean_Parser_Term_matchAlt___closed__7; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__3; -x_7 = l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer___closed__4; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__5() { _start: { -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; -x_1 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; -x_3 = 1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_matchAlt___closed__7; +x_3 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__4; x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +x_5 = lean_box(x_4); +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1_parenthesizer___boxed), 9, 4); +lean_closure_set(x_6, 0, x_1); +lean_closure_set(x_6, 1, x_2); +lean_closure_set(x_6, 2, x_3); +lean_closure_set(x_6, 3, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__6() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_strictImplicitRightBracket_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkColGe_parenthesizer___boxed), 4, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__7() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_strictImplicitLeftBracket_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_darrow_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder_parenthesizer(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_EXPORT lean_object* l_Lean_Parser_Term_matchAlt_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_7 = lean_box(x_1); -x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderType_parenthesizer___boxed), 6, 1); +x_7 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__6; +x_8 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_8, 0, x_7); -x_9 = l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__2; +lean_closure_set(x_8, 1, x_1); +x_9 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__7; x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_10, 0, x_8); -lean_closure_set(x_10, 1, x_9); -x_11 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__2; +lean_closure_set(x_10, 0, x_9); +lean_closure_set(x_10, 1, x_8); +x_11 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__5; x_12 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_12, 0, x_11); lean_closure_set(x_12, 1, x_10); -x_13 = l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__3; -x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_14, 0, x_13); -lean_closure_set(x_14, 1, x_12); -x_15 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_parenthesizer), 6, 1); +x_13 = lean_alloc_closure((void*)(l_Lean_Parser_ppIndent_parenthesizer), 6, 1); +lean_closure_set(x_13, 0, x_12); +x_14 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__2; +x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_15, 0, x_14); -x_16 = l___regBuiltin_Lean_Parser_Term_strictImplicitBinder_docString__1___closed__2; +lean_closure_set(x_15, 1, x_13); +x_16 = l_Lean_Parser_Term_matchAlt___closed__2; x_17 = lean_unsigned_to_nat(1024u); x_18 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_18, 0, x_16); lean_closure_set(x_18, 1, x_17); lean_closure_set(x_18, 2, x_15); -x_19 = l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___closed__1; +x_19 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__1; x_20 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_19, x_18, x_2, x_3, x_4, x_5, x_6); return x_20; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___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); -lean_dec(x_1); -x_8 = l_Lean_Parser_Term_strictImplicitBinder_parenthesizer(x_7, x_2, x_3, x_4, x_5, x_6); -return x_8; -} -} -static lean_object* _init_l_Lean_Parser_Term_implicitBinder_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_matchAlts_parenthesizer___closed__1() { _start: { 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; -x_1 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; +x_1 = l_Lean_Parser_Term_matchAlts___closed__1; +x_2 = l_Lean_Parser_Term_matchAlts___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -25160,87 +26271,37 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder_parenthesizer(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_EXPORT lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { _start: { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; -x_7 = lean_box(x_1); -x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_binderType_parenthesizer___boxed), 6, 1); -lean_closure_set(x_8, 0, x_7); -x_9 = l_Lean_Parser_Term_explicitBinder_parenthesizer___closed__2; -x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlt_parenthesizer), 6, 1); +lean_closure_set(x_7, 0, x_1); +x_8 = l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__6; +x_9 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_9, 0, x_8); +lean_closure_set(x_9, 1, x_7); +x_10 = lean_alloc_closure((void*)(l_Lean_Parser_many1Indent_parenthesizer), 6, 1); lean_closure_set(x_10, 0, x_9); -lean_closure_set(x_10, 1, x_8); -x_11 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_parenthesizer), 6, 1); +x_11 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer), 6, 1); lean_closure_set(x_11, 0, x_10); -x_12 = l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__5; -x_13 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_13, 0, x_11); -lean_closure_set(x_13, 1, x_12); -x_14 = l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__2; -x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_15, 0, x_14); -lean_closure_set(x_15, 1, x_13); -x_16 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_parenthesizer), 6, 1); -lean_closure_set(x_16, 0, x_15); -x_17 = l___regBuiltin_Lean_Parser_Term_implicitBinder_docString__1___closed__2; -x_18 = lean_unsigned_to_nat(1024u); -x_19 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); -lean_closure_set(x_19, 0, x_17); -lean_closure_set(x_19, 1, x_18); -lean_closure_set(x_19, 2, x_16); -x_20 = l_Lean_Parser_Term_implicitBinder_parenthesizer___closed__1; -x_21 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_20, x_19, x_2, x_3, x_4, x_5, x_6); -return x_21; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_implicitBinder_parenthesizer___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); -lean_dec(x_1); -x_8 = l_Lean_Parser_Term_implicitBinder_parenthesizer(x_7, x_2, x_3, x_4, x_5, x_6); -return x_8; -} -} -static lean_object* _init_l_Lean_Parser_Term_optIdent_parenthesizer___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_optIdent_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_optIdent_parenthesizer___closed__1; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_optIdent_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; -x_6 = l_Lean_Parser_Term_optIdent_parenthesizer___closed__2; -x_7 = l_Lean_Parser_optional_parenthesizer(x_6, x_1, x_2, x_3, x_4, x_5); -return x_7; +x_12 = l_Lean_Parser_Term_matchAlts___closed__2; +x_13 = lean_unsigned_to_nat(1024u); +x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); +lean_closure_set(x_14, 0, x_12); +lean_closure_set(x_14, 1, x_13); +lean_closure_set(x_14, 2, x_11); +x_15 = l_Lean_Parser_Term_matchAlts_parenthesizer___closed__1; +x_16 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_15, x_14, x_2, x_3, x_4, x_5, x_6); +return x_16; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__1() { _start: { 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; -x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; +x_1 = l_Lean_Parser_Term_match___closed__1; +x_2 = l_Lean_Parser_Term_match___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -25253,254 +26314,150 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optIdent_parenthesizer), 5, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__3; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__4; -x_2 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__5; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__6; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ppGroup_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_match___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__7; -x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_instBinder_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__8; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__3() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_instBinder_parenthesizer), 5, 0); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__4() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l___regBuiltin_Lean_Parser_Term_instBinder_docString__1___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; +lean_object* x_1; lean_object* x_2; +x_1 = l___regBuiltin_Lean_Parser_Term_motive_parenthesizer__1___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_bracketedBinder_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__2; -x_3 = 1; -x_4 = lean_box(x_3); -x_5 = lean_box(x_3); -x_6 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; +x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_parenthesizer__1___closed__2; +x_2 = l_Lean_Parser_Term_tuple___closed__4; +x_3 = l_Lean_Parser_Term_tuple_parenthesizer___closed__2; +x_4 = 0; +x_5 = lean_box(x_4); +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1_parenthesizer___boxed), 9, 4); lean_closure_set(x_6, 0, x_1); lean_closure_set(x_6, 1, x_2); -lean_closure_set(x_6, 2, x_4); +lean_closure_set(x_6, 2, x_3); lean_closure_set(x_6, 3, x_5); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder_parenthesizer(uint8_t x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__6() { _start: { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; -x_7 = lean_box(x_1); -x_8 = lean_alloc_closure((void*)(l_Lean_Parser_Term_explicitBinder_parenthesizer___boxed), 6, 1); -lean_closure_set(x_8, 0, x_7); -x_9 = lean_box(x_1); -x_10 = lean_alloc_closure((void*)(l_Lean_Parser_Term_strictImplicitBinder_parenthesizer___boxed), 6, 1); -lean_closure_set(x_10, 0, x_9); -x_11 = lean_box(x_1); -x_12 = lean_alloc_closure((void*)(l_Lean_Parser_Term_implicitBinder_parenthesizer___boxed), 6, 1); -lean_closure_set(x_12, 0, x_11); -x_13 = l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__2; -x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); -lean_closure_set(x_14, 0, x_12); -lean_closure_set(x_14, 1, x_13); -x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); -lean_closure_set(x_15, 0, x_10); -lean_closure_set(x_15, 1, x_14); -x_16 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); -lean_closure_set(x_16, 0, x_8); -lean_closure_set(x_16, 1, x_15); -x_17 = l_Lean_Parser_Term_bracketedBinder_parenthesizer___closed__1; -x_18 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_17, x_16, x_2, x_3, x_4, x_5, x_6); -return x_18; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_match___closed__9; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_bracketedBinder_parenthesizer___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) { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__7() { _start: { -uint8_t x_7; lean_object* x_8; -x_7 = lean_unbox(x_1); -lean_dec(x_1); -x_8 = l_Lean_Parser_Term_bracketedBinder_parenthesizer(x_7, x_2, x_3, x_4, x_5, x_6); -return x_8; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlts_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__8() { _start: { -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; -x_1 = l_Lean_Parser_Term_depArrow___closed__1; -x_2 = l_Lean_Parser_Term_depArrow___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_match_parenthesizer___closed__7; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ppDedent_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__9() { _start: { -uint8_t x_1; lean_object* x_2; lean_object* x_3; -x_1 = 1; -x_2 = lean_box(x_1); -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_bracketedBinder_parenthesizer___boxed), 6, 1); -lean_closure_set(x_3, 0, x_2); +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_match_parenthesizer___closed__6; +x_2 = l_Lean_Parser_Term_match_parenthesizer___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_depArrow___closed__5; -x_2 = l_Lean_Parser_Term_depArrow___closed__6; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbol_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_match_parenthesizer___closed__5; +x_2 = l_Lean_Parser_Term_match_parenthesizer___closed__9; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_depArrow_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; +x_1 = l_Lean_Parser_Term_match_parenthesizer___closed__4; +x_2 = l_Lean_Parser_Term_match_parenthesizer___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_depArrow_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_depArrow_parenthesizer___closed__4; +x_1 = l_Lean_Parser_Term_match_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_match_parenthesizer___closed__11; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_depArrow_parenthesizer___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__13() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_match_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_match_parenthesizer___closed__12; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_depArrow___closed__2; -x_2 = lean_unsigned_to_nat(25u); -x_3 = l_Lean_Parser_Term_depArrow_parenthesizer___closed__5; +x_1 = l_Lean_Parser_Term_match___closed__2; +x_2 = l_Lean_Parser_leadPrec; +x_3 = l_Lean_Parser_Term_match_parenthesizer___closed__13; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -25508,553 +26465,327 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_depArrow_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_match_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_depArrow_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_depArrow_parenthesizer___closed__6; +x_6 = l_Lean_Parser_Term_match_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_match_parenthesizer___closed__14; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_depArrow___closed__1; +x_4 = l_Lean_Parser_Term_match___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_depArrow_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_match_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_match_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_depArrow___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_depArrow_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_match___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_match_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_match_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_forall___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("forall", 6, 6); +x_1 = lean_mk_string_unchecked("nomatch", 7, 7); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_forall___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_forall___closed__1; +x_4 = l_Lean_Parser_Term_nomatch___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_forall___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_forall___closed__1; -x_2 = l_Lean_Parser_Term_forall___closed__2; +x_1 = l_Lean_Parser_Term_nomatch___closed__1; +x_2 = l_Lean_Parser_Term_nomatch___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_forall___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__4() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("∀", 3, 1); +x_1 = lean_mk_string_unchecked("nomatch ", 8, 8); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_forall___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall___closed__4; -x_2 = l_Lean_Parser_Term_forall___closed__1; -x_3 = l_Lean_Parser_unicodeSymbol(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_forall___closed__6() { -_start: -{ -uint8_t x_1; lean_object* x_2; -x_1 = 0; -x_2 = l_Lean_Parser_Term_bracketedBinder(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_forall___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_binderIdent; -x_2 = l_Lean_Parser_Term_forall___closed__6; -x_3 = l_Lean_Parser_orelse(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_forall___closed__8() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_skip; -x_2 = l_Lean_Parser_Term_forall___closed__7; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_forall___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_forall___closed__8; -x_2 = l_Lean_Parser_many1(x_1); +x_1 = l_Lean_Parser_Term_nomatch___closed__4; +x_2 = l_Lean_Parser_symbol(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_forall___closed__10() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_tuple___closed__5; -x_2 = l_Lean_Parser_Term_typeAscription___closed__6; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_forall___closed__11() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_optType; -x_2 = l_Lean_Parser_Term_forall___closed__10; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_forall___closed__12() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall___closed__9; -x_2 = l_Lean_Parser_Term_forall___closed__11; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_forall___closed__13() { +static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall___closed__5; -x_2 = l_Lean_Parser_Term_forall___closed__12; +x_1 = l_Lean_Parser_Term_nomatch___closed__5; +x_2 = l_Lean_Parser_Term_matchAlt___closed__6; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_forall___closed__14() { +static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_forall___closed__2; +x_1 = l_Lean_Parser_Term_nomatch___closed__2; x_2 = l_Lean_Parser_leadPrec; -x_3 = l_Lean_Parser_Term_forall___closed__13; +x_3 = l_Lean_Parser_Term_nomatch___closed__6; x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_forall___closed__15() { +static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall___closed__3; -x_2 = l_Lean_Parser_Term_forall___closed__14; +x_1 = l_Lean_Parser_Term_nomatch___closed__3; +x_2 = l_Lean_Parser_Term_nomatch___closed__7; x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_forall___closed__16() { +static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall___closed__2; -x_2 = l_Lean_Parser_Term_forall___closed__15; +x_1 = l_Lean_Parser_Term_nomatch___closed__2; +x_2 = l_Lean_Parser_Term_nomatch___closed__8; x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_forall() { +static lean_object* _init_l_Lean_Parser_Term_nomatch() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_forall___closed__16; +x_1 = l_Lean_Parser_Term_nomatch___closed__9; return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forall__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nomatch__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; x_2 = l___regBuiltin_Lean_Parser_Term_byTactic__1___closed__2; -x_3 = l_Lean_Parser_Term_forall___closed__2; +x_3 = l_Lean_Parser_Term_nomatch___closed__2; x_4 = 1; -x_5 = l_Lean_Parser_Term_forall; +x_5 = l_Lean_Parser_Term_nomatch; x_6 = lean_unsigned_to_nat(1000u); x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); return x_7; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(343u); -x_2 = lean_unsigned_to_nat(0u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(346u); -x_2 = lean_unsigned_to_nat(31u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__1; -x_2 = lean_unsigned_to_nat(0u); -x_3 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__2; -x_4 = lean_unsigned_to_nat(31u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); -return x_5; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(343u); -x_2 = lean_unsigned_to_nat(4u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__5() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_docString__1___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(343u); -x_2 = lean_unsigned_to_nat(12u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("Empty match/ex falso. `nomatch e` is of arbitrary type `α : Sort u` if\nLean can show that an empty set of patterns is exhaustive given `e`'s type,\ne.g. because it has no constructors.\n", 185, 184); +return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__6() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_docString__1(lean_object* x_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___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__4; -x_2 = lean_unsigned_to_nat(4u); -x_3 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__5; -x_4 = lean_unsigned_to_nat(12u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); -return x_5; +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_Parser_Term_nomatch___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_nomatch_docString__1___closed__1; +x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); +return x_4; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__7() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__3; -x_2 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__6; +x_1 = lean_unsigned_to_nat(421u); +x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forall_declRange__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_forall___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_forall_declRange__1___closed__7; -x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); -return x_4; -} -} -static lean_object* _init_l_Lean_Parser_Term_typeSpec_formatter___closed__1() { -_start: -{ -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; -x_1 = l_Lean_Parser_Term_typeSpec___closed__1; -x_2 = l_Lean_Parser_Term_typeSpec___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Term_typeSpec_formatter___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_typeSpec___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_structInst_formatter___closed__11; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeSpec_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_typeSpec_formatter___closed__1; -x_7 = l_Lean_Parser_Term_typeSpec_formatter___closed__2; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_typeSpec___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_typeSpec_formatter), 5, 0); -return x_1; -} -} -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_typeSpec___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_optType_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; -x_6 = l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1___closed__2; -x_7 = l_Lean_Parser_optional_formatter(x_6, x_1, x_2, x_3, x_4, x_5); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__1() { -_start: -{ -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; -x_1 = l_Lean_Parser_Term_forall___closed__1; -x_2 = l_Lean_Parser_Term_forall___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__2() { _start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall___closed__4; -x_2 = l_Lean_Parser_Term_forall___closed__1; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbol_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(421u); +x_2 = lean_unsigned_to_nat(100u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__3() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__3() { _start: { -uint8_t x_1; lean_object* x_2; lean_object* x_3; -x_1 = 0; -x_2 = lean_box(x_1); -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_bracketedBinder_formatter___boxed), 6, 1); -lean_closure_set(x_3, 0, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__1; +x_2 = lean_unsigned_to_nat(23u); +x_3 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__2; +x_4 = lean_unsigned_to_nat(100u); +x_5 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__4() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_sufficesDecl_formatter___closed__3; -x_2 = l_Lean_Parser_Term_forall_formatter___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = lean_unsigned_to_nat(421u); +x_2 = lean_unsigned_to_nat(27u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__5() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__4; -x_2 = l_Lean_Parser_Term_forall_formatter___closed__4; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = lean_unsigned_to_nat(421u); +x_2 = lean_unsigned_to_nat(36u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__6() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_forall_formatter___closed__5; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__4; +x_2 = lean_unsigned_to_nat(27u); +x_3 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__5; +x_4 = lean_unsigned_to_nat(36u); +x_5 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__7() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_tuple_formatter___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__3; +x_2 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__6; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__8() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1(lean_object* x_1) { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optType_formatter), 5, 0); -return x_1; +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_Parser_Term_nomatch___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__7; +x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_nomatch_formatter___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall_formatter___closed__8; -x_2 = l_Lean_Parser_Term_forall_formatter___closed__7; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +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; +x_1 = l_Lean_Parser_Term_nomatch___closed__1; +x_2 = l_Lean_Parser_Term_nomatch___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_nomatch_formatter___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall_formatter___closed__6; -x_2 = l_Lean_Parser_Term_forall_formatter___closed__9; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_nomatch___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__11() { +static lean_object* _init_l_Lean_Parser_Term_nomatch_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall_formatter___closed__2; -x_2 = l_Lean_Parser_Term_forall_formatter___closed__10; +x_1 = l_Lean_Parser_Term_nomatch_formatter___closed__2; +x_2 = l_Lean_Parser_Term_matchAlt_formatter___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_forall_formatter___closed__12() { +static lean_object* _init_l_Lean_Parser_Term_nomatch_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_forall___closed__2; +x_1 = l_Lean_Parser_Term_nomatch___closed__2; x_2 = l_Lean_Parser_leadPrec; -x_3 = l_Lean_Parser_Term_forall_formatter___closed__11; +x_3 = l_Lean_Parser_Term_nomatch_formatter___closed__3; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -26062,55 +26793,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_forall_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_nomatch_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_forall_formatter___closed__1; -x_7 = l_Lean_Parser_Term_forall_formatter___closed__12; +x_6 = l_Lean_Parser_Term_nomatch_formatter___closed__1; +x_7 = l_Lean_Parser_Term_nomatch_formatter___closed__4; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_forall___closed__1; +x_4 = l_Lean_Parser_Term_nomatch___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_forall_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_nomatch_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forall_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_forall___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_forall_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_forall_formatter__1___closed__2; +x_3 = l_Lean_Parser_Term_nomatch___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_nomatch_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_nomatch_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_typeSpec_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_nomatch_parenthesizer___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_typeSpec___closed__1; -x_2 = l_Lean_Parser_Term_typeSpec___closed__2; +x_1 = l_Lean_Parser_Term_nomatch___closed__1; +x_2 = l_Lean_Parser_Term_nomatch___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -26123,13 +26854,35 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_typeSpec_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_nomatch_parenthesizer___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_nomatch___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_nomatch_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_nomatch_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_nomatch_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_typeSpec___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_binderType_parenthesizer___closed__1; +x_1 = l_Lean_Parser_Term_nomatch___closed__2; +x_2 = l_Lean_Parser_leadPrec; +x_3 = l_Lean_Parser_Term_nomatch_parenthesizer___closed__3; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -26137,196 +26890,364 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_typeSpec_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_nomatch_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_typeSpec_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_typeSpec_parenthesizer___closed__2; +x_6 = l_Lean_Parser_Term_nomatch_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_nomatch_parenthesizer___closed__4; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_typeSpec___closed__1; +x_4 = l_Lean_Parser_Term_nomatch___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_typeSpec_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_nomatch_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_typeSpec___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_nomatch___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_optType_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +static lean_object* _init_l_Lean_Parser_Term_nofun___closed__1() { _start: { -lean_object* x_6; lean_object* x_7; -x_6 = l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1___closed__2; -x_7 = l_Lean_Parser_optional_parenthesizer(x_6, x_1, x_2, x_3, x_4, x_5); -return x_7; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("nofun", 5, 5); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_nofun___closed__2() { _start: { -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; -x_1 = l_Lean_Parser_Term_forall___closed__1; -x_2 = l_Lean_Parser_Term_forall___closed__2; +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_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_nofun___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_nofun___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_nofun___closed__1; +x_2 = l_Lean_Parser_Term_nofun___closed__2; x_3 = 1; x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); +x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_nofun___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_nofun___closed__1; +x_2 = l_Lean_Parser_symbol(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_nofun___closed__5() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_nofun___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_nofun___closed__4; +x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_nofun___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_nofun___closed__3; +x_2 = l_Lean_Parser_Term_nofun___closed__5; +x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_nofun___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_nofun___closed__2; +x_2 = l_Lean_Parser_Term_nofun___closed__6; +x_3 = l_Lean_Parser_withCache(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_nofun() { +_start: +{ +lean_object* x_1; +x_1 = l_Lean_Parser_Term_nofun___closed__7; +return x_1; +} +} +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nofun__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_2 = l___regBuiltin_Lean_Parser_Term_byTactic__1___closed__2; +x_3 = l_Lean_Parser_Term_nofun___closed__2; +x_4 = 1; +x_5 = l_Lean_Parser_Term_nofun; +x_6 = lean_unsigned_to_nat(1000u); +x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall___closed__4; -x_2 = l_Lean_Parser_Term_forall___closed__1; -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_unicodeSymbol_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = lean_unsigned_to_nat(423u); +x_2 = lean_unsigned_to_nat(23u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__3() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__2() { _start: { -uint8_t x_1; lean_object* x_2; lean_object* x_3; -x_1 = 0; -x_2 = lean_box(x_1); -x_3 = lean_alloc_closure((void*)(l_Lean_Parser_Term_bracketedBinder_parenthesizer___boxed), 6, 1); -lean_closure_set(x_3, 0, x_2); +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(423u); +x_2 = lean_unsigned_to_nat(60u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__4() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__1; +x_2 = lean_unsigned_to_nat(23u); +x_3 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__2; +x_4 = lean_unsigned_to_nat(60u); +x_5 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_4); +return x_5; +} +} +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_forall_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = lean_unsigned_to_nat(423u); +x_2 = lean_unsigned_to_nat(27u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__5() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__5; -x_2 = l_Lean_Parser_Term_forall_parenthesizer___closed__4; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); +x_1 = lean_unsigned_to_nat(423u); +x_2 = lean_unsigned_to_nat(34u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__6() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__4; +x_2 = lean_unsigned_to_nat(27u); +x_3 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__5; +x_4 = lean_unsigned_to_nat(34u); +x_5 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_4); +return x_5; +} +} +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__3; +x_2 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__6; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nofun_declRange__1(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_Parser_Term_nofun___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__7; +x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_nofun_formatter___closed__1() { +_start: +{ +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; +x_1 = l_Lean_Parser_Term_nofun___closed__1; +x_2 = l_Lean_Parser_Term_nofun___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_nofun_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_forall_parenthesizer___closed__5; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_nofun___closed__1; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_nofun_formatter___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_tuple_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_nofun___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_nofun_formatter___closed__2; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__8() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_nofun_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_nofun_formatter___closed__1; +x_7 = l_Lean_Parser_Term_nofun_formatter___closed__3; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_formatter__1___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_nofun___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optType_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_nofun_formatter), 5, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__9() { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nofun_formatter__1(lean_object* x_1) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall_parenthesizer___closed__8; -x_2 = l_Lean_Parser_Term_forall_parenthesizer___closed__7; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; +x_3 = l_Lean_Parser_Term_nofun___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_nofun_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_nofun_formatter__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_nofun_parenthesizer___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall_parenthesizer___closed__6; -x_2 = l_Lean_Parser_Term_forall_parenthesizer___closed__9; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +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; +x_1 = l_Lean_Parser_Term_nofun___closed__1; +x_2 = l_Lean_Parser_Term_nofun___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__11() { +static lean_object* _init_l_Lean_Parser_Term_nofun_parenthesizer___closed__2() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_forall_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_forall_parenthesizer___closed__10; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_nofun___closed__1; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_forall_parenthesizer___closed__12() { +static lean_object* _init_l_Lean_Parser_Term_nofun_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_forall___closed__2; -x_2 = l_Lean_Parser_leadPrec; -x_3 = l_Lean_Parser_Term_forall_parenthesizer___closed__11; +x_1 = l_Lean_Parser_Term_nofun___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_nofun_parenthesizer___closed__2; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -26334,1043 +27255,1125 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_forall_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_nofun_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_forall_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_forall_parenthesizer___closed__12; +x_6 = l_Lean_Parser_Term_nofun_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_nofun_parenthesizer___closed__3; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_forall___closed__1; +x_4 = l_Lean_Parser_Term_nofun___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_forall_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_nofun_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nofun_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_forall___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_forall_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_nofun___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_nofun_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_nofun_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("matchAlt", 8, 8); +x_1 = lean_mk_string_unchecked("builtin_structInstFieldDecl_parser", 34, 34); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__2() { _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_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_matchAlt___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__1; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__3() { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_matchAlt___closed__1; -x_2 = l_Lean_Parser_Term_matchAlt___closed__2; -x_3 = 0; -x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_3); -return x_4; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("structInstFieldDecl", 19, 19); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__4() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("| ", 2, 2); -return x_1; +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_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__3; +x_4 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__3; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__5() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_matchAlt___closed__4; -x_2 = l_Lean_Parser_symbol(x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__7; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__6() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked(" | ", 3, 3); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__5; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__8; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__7() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_matchAlt___closed__6; -x_2 = l_Lean_Parser_symbol(x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__6; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__10; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__8() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_structInst___closed__6; -x_2 = l_Lean_Parser_Term_matchAlt___closed__6; -x_3 = l_Lean_Parser_Term_matchAlt___closed__7; -x_4 = 0; -x_5 = l_Lean_Parser_sepBy1(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__7; +x_2 = l_Lean_Parser_Command_docComment___closed__1; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__9() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("alternative right-hand-side to start in a column greater than or equal to the corresponding '|'", 95, 95); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__8; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__10() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_matchAlt___closed__9; -x_2 = l_Lean_Parser_checkColGe(x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__9; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlt(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__11() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_2 = l_Lean_Parser_Term_matchAlt___closed__10; -x_3 = l_Lean_Parser_andthen(x_2, x_1); -x_4 = l_Lean_Parser_darrow; -x_5 = l_Lean_Parser_andthen(x_4, x_3); -x_6 = l_Lean_Parser_Term_matchAlt___closed__8; -x_7 = l_Lean_Parser_andthen(x_6, x_5); -x_8 = l_Lean_Parser_Term_matchAlt___closed__5; -x_9 = l_Lean_Parser_andthen(x_8, x_7); -x_10 = l_Lean_Parser_Term_matchAlt___closed__2; -x_11 = lean_unsigned_to_nat(1024u); -x_12 = l_Lean_Parser_leadingNode(x_10, x_11, x_9); -x_13 = l_Lean_Parser_Term_matchAlt___closed__3; -x_14 = l_Lean_Parser_withAntiquot(x_13, x_12); -return x_14; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__10; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__16; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchAltExpr___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__12() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_typeAscription___closed__6; -x_2 = l_Lean_Parser_Term_matchAlt(x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__11; +x_2 = lean_unsigned_to_nat(2099u); +x_3 = l_Lean_Name_num___override(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchAltExpr() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099_(lean_object* x_1) { _start: { -lean_object* x_1; -x_1 = l_Lean_Parser_Term_matchAltExpr___closed__1; -return x_1; +lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; +x_2 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__2; +x_3 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__4; +x_4 = 0; +x_5 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__12; +x_6 = l_Lean_Parser_registerBuiltinParserAttribute(x_2, x_3, x_4, x_5, x_1); +return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDeclParser___closed__1() { _start: { -lean_inc(x_1); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(0); +x_2 = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__3; +x_3 = l_Lean_Name_str___override(x_1, x_2); +return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean___boxed(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDeclParser(lean_object* x_1) { _start: { -lean_object* x_2; -x_2 = l_Lean_Parser_Term_instCoeTSyntaxConsSyntaxNodeKindMkStr4Nil__lean(x_1); -lean_dec(x_1); -return x_2; +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Parser_Term_structInstFieldDeclParser___closed__1; +x_3 = l_Lean_Parser_categoryParser(x_2, x_1); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("matchAlts", 9, 9); +x_1 = lean_mk_string_unchecked("optEllipsis", 11, 11); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_matchAlts___closed__1; +x_4 = l_Lean_Parser_Term_optEllipsis___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlts___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_matchAlts___closed__1; -x_2 = l_Lean_Parser_Term_matchAlts___closed__2; +x_1 = l_Lean_Parser_Term_optEllipsis___closed__1; +x_2 = l_Lean_Parser_Term_optEllipsis___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlts(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; -x_2 = l_Lean_Parser_Term_matchAlt(x_1); -x_3 = l_Lean_Parser_skip; -x_4 = l_Lean_Parser_andthen(x_3, x_2); -x_5 = l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__7; -x_6 = l_Lean_Parser_andthen(x_5, x_4); -x_7 = l_Lean_Parser_many1(x_6); -x_8 = l_Lean_Parser_withPosition(x_7); -x_9 = l_Lean_Parser_withPosition(x_8); -x_10 = l_Lean_Parser_Term_matchAlts___closed__2; -x_11 = lean_unsigned_to_nat(1024u); -x_12 = l_Lean_Parser_leadingNode(x_10, x_11, x_9); -x_13 = l_Lean_Parser_Term_matchAlts___closed__3; -x_14 = l_Lean_Parser_withAntiquot(x_13, x_12); -return x_14; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("matchDiscr", 10, 10); -return x_1; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2() { -_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_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__4() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("`matchDiscr` matches a \"match discriminant\", either `h : tm` or `tm`, used in `match` as\n`match h1 : e1, e2, h3 : e3 with ...`. ", 128, 128); +x_1 = lean_mk_string_unchecked(" ..", 3, 3); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__3; -x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); -return x_4; -} -} -static lean_object* _init_l_Lean_Parser_Term_matchDiscr___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_optEllipsis___closed__4; +x_2 = l_Lean_Parser_symbol(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_optIdent___closed__5; -x_2 = l_Lean_Parser_Term_typeAscription___closed__6; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_optEllipsis___closed__5; +x_2 = l_Lean_Parser_optional(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; +x_1 = l_Lean_Parser_Term_optEllipsis___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_matchDiscr___closed__2; +x_3 = l_Lean_Parser_Term_optEllipsis___closed__6; x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_matchDiscr___closed__1; -x_2 = l_Lean_Parser_Term_matchDiscr___closed__3; +x_1 = l_Lean_Parser_Term_optEllipsis___closed__3; +x_2 = l_Lean_Parser_Term_optEllipsis___closed__7; x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; -x_2 = l_Lean_Parser_Term_matchDiscr___closed__4; +x_1 = l_Lean_Parser_Term_optEllipsis___closed__2; +x_2 = l_Lean_Parser_Term_optEllipsis___closed__8; x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_matchDiscr___closed__5; +x_1 = l_Lean_Parser_Term_optEllipsis___closed__9; return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("trueVal", 7, 7); +x_1 = lean_mk_string_unchecked("structInstArrayRef", 18, 18); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_trueVal___closed__1; +x_4 = l_Lean_Parser_Term_structInstArrayRef___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_trueVal___closed__1; -x_2 = l_Lean_Parser_Term_trueVal___closed__2; +x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__1; +x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__4() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("true", 4, 4); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_inaccessible___closed__6; +x_2 = l_Lean_Parser_Term_instBinder___closed__7; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__5() { _start: { -lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_trueVal___closed__4; -x_2 = 0; -x_3 = l_Lean_Parser_nonReservedSymbol(x_1, x_2); +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_instBinder___closed__3; +x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__4; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_trueVal___closed__2; +x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_trueVal___closed__5; +x_3 = l_Lean_Parser_Term_structInstArrayRef___closed__5; x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_trueVal___closed__3; -x_2 = l_Lean_Parser_Term_trueVal___closed__6; +x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__3; +x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__6; x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_trueVal___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_trueVal___closed__2; -x_2 = l_Lean_Parser_Term_trueVal___closed__7; +x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__2; +x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__7; x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_trueVal() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_trueVal___closed__8; +x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__8; return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("falseVal", 8, 8); +x_1 = lean_mk_string_unchecked("structInstLVal", 14, 14); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_falseVal___closed__1; +x_4 = l_Lean_Parser_Term_structInstLVal___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_falseVal___closed__1; -x_2 = l_Lean_Parser_Term_falseVal___closed__2; +x_1 = l_Lean_Parser_Term_structInstLVal___closed__1; +x_2 = l_Lean_Parser_Term_structInstLVal___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__4() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("false", 5, 5); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_fieldIdx; +x_2 = l_Lean_Parser_Term_structInstArrayRef; +x_3 = l_Lean_Parser_orelse(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__5() { _start: { -lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_falseVal___closed__4; -x_2 = 0; -x_3 = l_Lean_Parser_nonReservedSymbol(x_1, x_2); +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_ident; +x_2 = l_Lean_Parser_Term_structInstLVal___closed__4; +x_3 = l_Lean_Parser_orelse(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_falseVal___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_falseVal___closed__5; -x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); -return x_4; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_ident; +x_2 = l_Lean_Parser_fieldIdx; +x_3 = l_Lean_Parser_orelse(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_falseVal___closed__3; -x_2 = l_Lean_Parser_Term_falseVal___closed__6; -x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); +x_1 = l_Lean_Parser_Term_cdot___closed__7; +x_2 = l_Lean_Parser_Term_structInstLVal___closed__6; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_falseVal___closed__2; -x_2 = l_Lean_Parser_Term_falseVal___closed__7; -x_3 = l_Lean_Parser_withCache(x_1, x_2); +x_1 = l_Lean_Parser_Term_sufficesDecl___closed__4; +x_2 = l_Lean_Parser_Term_structInstLVal___closed__7; +x_3 = l_Lean_Parser_node(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__9() { _start: { -lean_object* x_1; -x_1 = l_Lean_Parser_Term_falseVal___closed__8; -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_structInstLVal___closed__8; +x_2 = l_Lean_Parser_Term_structInstArrayRef; +x_3 = l_Lean_Parser_orelse(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__10() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("generalizingParam", 17, 17); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstLVal___closed__9; +x_2 = l_Lean_Parser_many(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__11() { _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_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_generalizingParam___closed__1; -x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_structInstLVal___closed__5; +x_2 = l_Lean_Parser_Term_structInstLVal___closed__10; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__12() { _start: { -lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__1; -x_2 = l_Lean_Parser_Term_generalizingParam___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); -return x_5; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_structInstLVal___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_structInstLVal___closed__11; +x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__13() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked("generalizing", 12, 12); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_structInstLVal___closed__3; +x_2 = l_Lean_Parser_Term_structInstLVal___closed__12; +x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal___closed__14() { _start: { -lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__4; -x_2 = 0; -x_3 = l_Lean_Parser_nonReservedSymbol(x_1, x_2); +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_structInstLVal___closed__2; +x_2 = l_Lean_Parser_Term_structInstLVal___closed__13; +x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription___closed__5; -x_2 = l_Lean_Parser_Term_generalizingParam___closed__5; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; +lean_object* x_1; +x_1 = l_Lean_Parser_Term_structInstLVal___closed__14; +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldBinder___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__6; -x_2 = l_Lean_Parser_atomic(x_1); -return x_2; +lean_object* x_1; +x_1 = lean_mk_string_unchecked("structInstFieldBinder", 21, 21); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstFieldBinder___closed__2() { +_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_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_structInstFieldBinder___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldBinder___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_trueVal; -x_2 = l_Lean_Parser_Term_falseVal; -x_3 = l_Lean_Parser_orelse(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_structInstFieldBinder___closed__1; +x_2 = l_Lean_Parser_Term_structInstFieldBinder___closed__2; +x_3 = 1; +x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldBinder___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription___closed__18; -x_2 = l_Lean_Parser_skip; -x_3 = l_Lean_Parser_andthen(x_1, x_2); +x_1 = l_Lean_Parser_Term_structInstFieldBinder___closed__3; +x_2 = l_Lean_Parser_Term_forall___closed__7; +x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldBinder() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__8; -x_2 = l_Lean_Parser_Term_generalizingParam___closed__9; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; +lean_object* x_1; +x_1 = l_Lean_Parser_Term_structInstFieldBinder___closed__4; +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__11() { +static lean_object* _init_l_Lean_Parser_Term_optTypeForStructInst___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField___closed__5; -x_2 = l_Lean_Parser_Term_generalizingParam___closed__10; -x_3 = l_Lean_Parser_andthen(x_1, x_2); +x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed___closed__6; +x_2 = l_Lean_Parser_Tactic_tacticSeqBracketed___closed__5; +x_3 = l_Lean_Parser_notFollowedBy(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__12() { +static lean_object* _init_l_Lean_Parser_Term_optTypeForStructInst___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__7; -x_2 = l_Lean_Parser_Term_generalizingParam___closed__11; +x_1 = l_Lean_Parser_Term_typeSpec; +x_2 = l_Lean_Parser_Term_optTypeForStructInst___closed__1; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__13() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_generalizingParam___closed__12; -x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); -return x_4; -} -} -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__14() { +static lean_object* _init_l_Lean_Parser_Term_optTypeForStructInst___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__3; -x_2 = l_Lean_Parser_Term_generalizingParam___closed__13; -x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_optTypeForStructInst___closed__2; +x_2 = l_Lean_Parser_atomic(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam___closed__15() { +static lean_object* _init_l_Lean_Parser_Term_optTypeForStructInst___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__2; -x_2 = l_Lean_Parser_Term_generalizingParam___closed__14; -x_3 = l_Lean_Parser_withCache(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_optTypeForStructInst___closed__3; +x_2 = l_Lean_Parser_optional(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam() { +static lean_object* _init_l_Lean_Parser_Term_optTypeForStructInst() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__15; +x_1 = l_Lean_Parser_Term_optTypeForStructInst___closed__4; return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_motive___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("motive", 6, 6); +x_1 = lean_mk_string_unchecked("structInstField", 15, 15); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_motive___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_motive___closed__1; +x_4 = l_Lean_Parser_Term_structInstField___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_motive___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_motive___closed__1; -x_2 = l_Lean_Parser_Term_motive___closed__2; +x_1 = l_Lean_Parser_Term_structInstField___closed__1; +x_2 = l_Lean_Parser_Term_structInstField___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_motive___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__4() { _start: { -lean_object* x_1; uint8_t x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_motive___closed__1; -x_2 = 0; -x_3 = l_Lean_Parser_nonReservedSymbol(x_1, x_2); +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_type___closed__10; +x_2 = l_Lean_Parser_Term_structInstFieldBinder; +x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_motive___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_motive___closed__4; -x_2 = l_Lean_Parser_Term_structInstField___closed__5; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstField___closed__4; +x_2 = l_Lean_Parser_many(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_motive___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription___closed__5; -x_2 = l_Lean_Parser_Term_motive___closed__5; -x_3 = l_Lean_Parser_andthen(x_1, x_2); +x_1 = l_Lean_Parser_Term_structInstFieldDeclParser___closed__1; +x_2 = lean_unsigned_to_nat(0u); +x_3 = l_Lean_Parser_categoryParser(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_motive___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__7() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_motive___closed__6; -x_2 = l_Lean_Parser_atomic(x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_optTypeForStructInst; +x_2 = l_Lean_Parser_Term_structInstField___closed__6; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_motive___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__6; -x_2 = l_Lean_Parser_Term_generalizingParam___closed__9; +x_1 = l_Lean_Parser_Term_structInstField___closed__5; +x_2 = l_Lean_Parser_Term_structInstField___closed__7; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_motive___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstField___closed__8; +x_2 = l_Lean_Parser_optional(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_motive___closed__7; -x_2 = l_Lean_Parser_Term_motive___closed__8; +x_1 = l_Lean_Parser_Term_structInstLVal; +x_2 = l_Lean_Parser_Term_structInstField___closed__9; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_motive___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_motive___closed__2; +x_1 = l_Lean_Parser_Term_structInstField___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_motive___closed__9; +x_3 = l_Lean_Parser_Term_structInstField___closed__10; x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_motive___closed__11() { +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_motive___closed__3; -x_2 = l_Lean_Parser_Term_motive___closed__10; +x_1 = l_Lean_Parser_Term_structInstField___closed__3; +x_2 = l_Lean_Parser_Term_structInstField___closed__11; x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_motive___closed__12() { +static lean_object* _init_l_Lean_Parser_Term_structInstField___closed__13() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_motive___closed__2; -x_2 = l_Lean_Parser_Term_motive___closed__11; +x_1 = l_Lean_Parser_Term_structInstField___closed__2; +x_2 = l_Lean_Parser_Term_structInstField___closed__12; x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_motive() { +static lean_object* _init_l_Lean_Parser_Term_structInstField() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_motive___closed__12; +x_1 = l_Lean_Parser_Term_structInstField___closed__13; return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstFields___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("match", 5, 5); +x_1 = lean_mk_string_unchecked("structInstFields", 16, 16); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstFields___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_match___closed__1; +x_4 = l_Lean_Parser_Term_structInstFields___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__3() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFields(lean_object* x_1) { +_start: +{ +lean_object* x_2; lean_object* x_3; +x_2 = l_Lean_Parser_Term_structInstFields___closed__2; +x_3 = l_Lean_Parser_node(x_2, x_1); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked("structInst", 10, 10); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__2() { +_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_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_structInst___closed__1; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_match___closed__1; -x_2 = l_Lean_Parser_Term_match___closed__2; +x_1 = l_Lean_Parser_Term_structInst___closed__1; +x_2 = l_Lean_Parser_Term_structInst___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__4() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("match ", 6, 6); +x_1 = lean_mk_string_unchecked("{ ", 2, 2); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_match___closed__4; +x_1 = l_Lean_Parser_Term_structInst___closed__4; x_2 = l_Lean_Parser_symbol(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__6() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked(" with ", 6, 6); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__7() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_generalizingParam; -x_2 = l_Lean_Parser_optional(x_1); +x_1 = l_Lean_Parser_Term_structInst___closed__6; +x_2 = l_Lean_Parser_symbol(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_matchAlt___closed__6; +x_2 = l_Lean_Parser_Term_structInst___closed__7; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__9() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_motive; +x_1 = l_Lean_Parser_Term_structInst___closed__8; +x_2 = l_Lean_Parser_atomic(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInst___closed__9; x_2 = l_Lean_Parser_optional(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__3; +x_2 = l_Lean_Parser_Term_structInstField; +x_3 = l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__5; +x_4 = l_Lean_Parser_withAntiquotSpliceAndSuffix(x_1, x_2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__12() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__7; +x_2 = l_Lean_Parser_Term_structInst___closed__11; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__13() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_tuple___closed__5; +x_2 = l_Lean_Parser_Tactic_sepByIndentSemicolon___closed__12; +x_3 = l_Lean_Parser_orelse(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__14() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_matchDiscr; +x_1 = l_Lean_Parser_Term_structInst___closed__12; x_2 = l_Lean_Parser_Term_tuple___closed__4; -x_3 = l_Lean_Parser_Term_tuple___closed__5; -x_4 = 0; -x_5 = l_Lean_Parser_sepBy1(x_1, x_2, x_3, x_4); +x_3 = l_Lean_Parser_Term_structInst___closed__13; +x_4 = 1; +x_5 = l_Lean_Parser_sepBy(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__15() { _start: { -lean_object* x_1; -x_1 = lean_mk_string_unchecked(" with", 5, 5); -return x_1; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInst___closed__14; +x_2 = l_Lean_Parser_withPosition(x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__16() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_match___closed__9; -x_2 = l_Lean_Parser_symbol(x_1); +x_1 = l_Lean_Parser_Term_structInst___closed__15; +x_2 = l_Lean_Parser_Term_structInstFields(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__11() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__17() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_optIdent___closed__2; +x_2 = l_Lean_Parser_Term_typeAscription___closed__6; +x_3 = l_Lean_Parser_andthen(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__18() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_typeAscription___closed__6; -x_2 = l_Lean_Parser_Term_matchAlts(x_1); +x_1 = l_Lean_Parser_Term_structInst___closed__17; +x_2 = l_Lean_Parser_optional(x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__12() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__19() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match___closed__10; -x_2 = l_Lean_Parser_Term_match___closed__11; +x_1 = l_Lean_Parser_Term_optEllipsis; +x_2 = l_Lean_Parser_Term_structInst___closed__18; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__13() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__20() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match___closed__8; -x_2 = l_Lean_Parser_Term_match___closed__12; +x_1 = l_Lean_Parser_Term_structInst___closed__16; +x_2 = l_Lean_Parser_Term_structInst___closed__19; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__14() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__21() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match___closed__7; -x_2 = l_Lean_Parser_Term_match___closed__13; +x_1 = l_Lean_Parser_Term_structInst___closed__10; +x_2 = l_Lean_Parser_Term_structInst___closed__20; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__15() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__22() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match___closed__6; -x_2 = l_Lean_Parser_Term_match___closed__14; +x_1 = l_Lean_Parser_Term_typeAscription___closed__15; +x_2 = l_Lean_Parser_Term_structInst___closed__21; +x_3 = l_Lean_Parser_adaptCacheableContext(x_1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__23() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked(" }", 2, 2); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__24() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInst___closed__23; +x_2 = l_Lean_Parser_symbol(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__25() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_structInst___closed__22; +x_2 = l_Lean_Parser_Term_structInst___closed__24; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__16() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__26() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match___closed__5; -x_2 = l_Lean_Parser_Term_match___closed__15; +x_1 = l_Lean_Parser_Term_structInst___closed__5; +x_2 = l_Lean_Parser_Term_structInst___closed__25; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__17() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__27() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_match___closed__2; -x_2 = l_Lean_Parser_leadPrec; -x_3 = l_Lean_Parser_Term_match___closed__16; +x_1 = l_Lean_Parser_Term_structInst___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_structInst___closed__26; x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__18() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__28() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match___closed__3; -x_2 = l_Lean_Parser_Term_match___closed__17; +x_1 = l_Lean_Parser_Term_structInst___closed__3; +x_2 = l_Lean_Parser_Term_structInst___closed__27; x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match___closed__19() { +static lean_object* _init_l_Lean_Parser_Term_structInst___closed__29() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match___closed__2; -x_2 = l_Lean_Parser_Term_match___closed__18; +x_1 = l_Lean_Parser_Term_structInst___closed__2; +x_2 = l_Lean_Parser_Term_structInst___closed__28; x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match() { +static lean_object* _init_l_Lean_Parser_Term_structInst() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_match___closed__19; +x_1 = l_Lean_Parser_Term_structInst___closed__29; return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_match__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; x_2 = l___regBuiltin_Lean_Parser_Term_byTactic__1___closed__2; -x_3 = l_Lean_Parser_Term_match___closed__2; +x_3 = l_Lean_Parser_Term_structInst___closed__2; x_4 = 1; -x_5 = l_Lean_Parser_Term_match; +x_5 = l_Lean_Parser_Term_structInst; x_6 = lean_unsigned_to_nat(1000u); x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); return x_7; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_docString__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_docString__1___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("Pattern matching. `match e, ... with | p, ... => f | ...` matches each given\nterm `e` against each pattern `p` of a match alternative. When all patterns\nof an alternative match, the `match` term evaluates to the value of the\ncorresponding right-hand side `f` with the pattern variables bound to the\nrespective matched values.\nIf used as `match h : e, ... with | p, ... => f | ...`, `h : e = p` is available\nwithin `f`.\n\nWhen not constructing a proof, `match` does not automatically substitute variables\nmatched on in dependent variables' types. Use `match (generalizing := true) ...` to\nenforce this.\n\nSyntax quotations can also be used in a pattern match.\nThis matches a `Syntax` value against quotations, pattern variables, or `_`.\n\nQuoted identifiers only match identical identifiers - custom matching such as by the preresolved\nnames only should be done explicitly.\n\n`Syntax.atom`s are ignored during matching by default except when part of a built-in literal.\nFor users introducing new atoms, we recommend wrapping them in dedicated syntax kinds if they\nshould participate in matching.\nFor example, in\n```lean\nsyntax \"c\" (\"foo\" <|> \"bar\") ...\n```\n`foo` and `bar` are indistinguishable during matching, but in\n```lean\nsyntax foo := \"foo\"\nsyntax \"c\" (foo <|> \"bar\") ...\n```\nthey are not.\n", 1291, 1291); +x_1 = lean_mk_string_unchecked("Structure instance. `{ x := e, ... }` assigns `e` to field `x`, which may be\ninherited. If `e` is itself a variable called `x`, it can be elided:\n`fun y => { x := 1, y }`.\nA *structure update* of an existing value can be given via `with`:\n`{ point with x := 1 }`.\nThe structure type can be specified if not inferable:\n`{ x := 1, y := 2 : Point }`.\n", 348, 348); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_match_docString__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_docString__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_match___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_match_docString__1___closed__1; +x_2 = l_Lean_Parser_Term_structInst___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_structInst_docString__1___closed__1; x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); return x_4; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(413u); +x_1 = lean_unsigned_to_nat(233u); x_2 = lean_unsigned_to_nat(23u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -27378,26 +28381,26 @@ lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(415u); -x_2 = lean_unsigned_to_nat(31u); +x_1 = lean_unsigned_to_nat(237u); +x_2 = lean_unsigned_to_nat(46u); x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__3() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__1; +x_1 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__1; x_2 = lean_unsigned_to_nat(23u); -x_3 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__2; -x_4 = lean_unsigned_to_nat(31u); +x_3 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__2; +x_4 = lean_unsigned_to_nat(46u); x_5 = lean_alloc_ctor(0, 4, 0); lean_ctor_set(x_5, 0, x_1); lean_ctor_set(x_5, 1, x_2); @@ -27406,162 +28409,83 @@ lean_ctor_set(x_5, 3, x_4); return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(413u); -x_2 = lean_unsigned_to_nat(27u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__5() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(413u); -x_2 = lean_unsigned_to_nat(34u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__4; +x_1 = lean_unsigned_to_nat(233u); x_2 = lean_unsigned_to_nat(27u); -x_3 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__5; -x_4 = lean_unsigned_to_nat(34u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); -return x_5; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__3; -x_2 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__6; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_match_declRange__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_match___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_match_declRange__1___closed__7; -x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); -return x_4; -} -} -static lean_object* _init_l_Lean_Parser_Term_trueVal_formatter___closed__1() { -_start: -{ -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; -x_1 = l_Lean_Parser_Term_trueVal___closed__1; -x_2 = l_Lean_Parser_Term_trueVal___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Term_trueVal_formatter___closed__2() { -_start: -{ -lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_trueVal___closed__4; -x_2 = 0; -x_3 = lean_box(x_2); -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_formatter___boxed), 7, 2); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_3); -return x_4; -} -} -static lean_object* _init_l_Lean_Parser_Term_trueVal_formatter___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_trueVal___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_trueVal_formatter___closed__2; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; +return x_3; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_trueVal_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__5() { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_trueVal_formatter___closed__1; -x_7 = l_Lean_Parser_Term_trueVal_formatter___closed__3; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_unsigned_to_nat(233u); +x_2 = lean_unsigned_to_nat(37u); +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_trueVal_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_trueVal___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; +x_1 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__4; +x_2 = lean_unsigned_to_nat(27u); +x_3 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__5; +x_4 = lean_unsigned_to_nat(37u); +x_5 = lean_alloc_ctor(0, 4, 0); +lean_ctor_set(x_5, 0, x_1); +lean_ctor_set(x_5, 1, x_2); +lean_ctor_set(x_5, 2, x_3); +lean_ctor_set(x_5, 3, x_4); +return x_5; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_trueVal_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__7() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_trueVal_formatter), 5, 0); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__3; +x_2 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__6; +x_3 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_trueVal_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_declRange__1(lean_object* x_1) { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_trueVal___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_trueVal_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_trueVal_formatter__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; +lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_2 = l_Lean_Parser_Term_structInst___closed__2; +x_3 = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__7; +x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal_formatter___closed__1() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFields_formatter(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 = l_Lean_Parser_Term_structInstFields___closed__2; +x_8 = l_Lean_PrettyPrinter_Formatter_node_formatter(x_7, x_1, x_2, x_3, x_4, x_5, x_6); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_falseVal___closed__1; -x_2 = l_Lean_Parser_Term_falseVal___closed__2; +x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__1; +x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -27574,26 +28498,37 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2() { _start: { -lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_falseVal___closed__4; -x_2 = 0; -x_3 = lean_box(x_2); -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_formatter___boxed), 7, 2); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_3); -return x_4; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_inaccessible_formatter___closed__3; +x_2 = l_Lean_Parser_Term_instBinder_formatter___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_instBinder_formatter___closed__2; +x_2 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_falseVal___closed__2; +x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_falseVal_formatter___closed__2; +x_3 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -27601,55 +28536,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_falseVal_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstArrayRef_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_falseVal_formatter___closed__1; -x_7 = l_Lean_Parser_Term_falseVal_formatter___closed__3; +x_6 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__1; +x_7 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__4; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_falseVal___closed__1; +x_4 = l_Lean_Parser_Term_structInstArrayRef___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_falseVal_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstArrayRef_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_falseVal___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1___closed__2; +x_3 = l_Lean_Parser_Term_structInstArrayRef___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__1; -x_2 = l_Lean_Parser_Term_generalizingParam___closed__2; +x_1 = l_Lean_Parser_Term_structInstLVal___closed__1; +x_2 = l_Lean_Parser_Term_structInstLVal___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -27662,108 +28597,113 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__2() { _start: { -lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__4; -x_2 = 0; -x_3 = lean_box(x_2); -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_formatter___boxed), 7, 2); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_3); -return x_4; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_fieldIdx_formatter), 5, 0); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__2; -x_2 = l_Lean_Parser_Term_generalizingParam_formatter___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +x_1 = l_Lean_Parser_Term_structInstLVal_formatter___closed__2; +x_2 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_generalizingParam_formatter___closed__3; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_trueVal_formatter__1___closed__2; -x_2 = l___regBuiltin_Lean_Parser_Term_falseVal_formatter__1___closed__2; +x_1 = l_Lean_Parser_Term_syntheticHole_formatter___closed__3; +x_2 = l_Lean_Parser_Term_structInstLVal_formatter___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__12; -x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__4; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +x_1 = l_Lean_Parser_Term_syntheticHole_formatter___closed__3; +x_2 = l_Lean_Parser_Term_structInstLVal_formatter___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_generalizingParam_formatter___closed__5; -x_2 = l_Lean_Parser_Term_generalizingParam_formatter___closed__6; +x_1 = l_Lean_Parser_Term_cdot_formatter___closed__3; +x_2 = l_Lean_Parser_Term_structInstLVal_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstLVal_formatter___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_group_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__2; -x_2 = l_Lean_Parser_Term_generalizingParam_formatter___closed__7; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +x_1 = l_Lean_Parser_Term_structInstLVal_formatter___closed__7; +x_2 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstLVal_formatter___closed__8; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_generalizingParam_formatter___closed__4; -x_2 = l_Lean_Parser_Term_generalizingParam_formatter___closed__8; +x_1 = l_Lean_Parser_Term_structInstLVal_formatter___closed__4; +x_2 = l_Lean_Parser_Term_structInstLVal_formatter___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_formatter___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__2; +x_1 = l_Lean_Parser_Term_structInstLVal___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_generalizingParam_formatter___closed__9; +x_3 = l_Lean_Parser_Term_structInstLVal_formatter___closed__10; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -27771,242 +28711,270 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_generalizingParam_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstLVal_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_generalizingParam_formatter___closed__1; -x_7 = l_Lean_Parser_Term_generalizingParam_formatter___closed__10; +x_6 = l_Lean_Parser_Term_structInstLVal_formatter___closed__1; +x_7 = l_Lean_Parser_Term_structInstLVal_formatter___closed__11; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_generalizingParam_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_generalizingParam___closed__1; +x_4 = l_Lean_Parser_Term_structInstLVal___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_generalizingParam_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_generalizingParam_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstLVal_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_generalizingParam_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_generalizingParam___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_generalizingParam_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_generalizingParam_formatter__1___closed__2; +x_3 = l_Lean_Parser_Term_structInstLVal___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldBinder_formatter___closed__1() { _start: { -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; -x_1 = l_Lean_Parser_Term_motive___closed__1; -x_2 = l_Lean_Parser_Term_motive___closed__2; +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Term_structInstFieldBinder___closed__1; +x_2 = l_Lean_Parser_Term_structInstFieldBinder___closed__2; x_3 = 1; -x_4 = 0; +x_4 = lean_box(x_3); x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_6, 0, x_1); +lean_closure_set(x_6, 1, x_2); +lean_closure_set(x_6, 2, x_4); +lean_closure_set(x_6, 3, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__2() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldBinder_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_motive___closed__1; -x_2 = 0; -x_3 = lean_box(x_2); -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_formatter___boxed), 7, 2); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_3); -return x_4; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_structInstFieldBinder_formatter___closed__1; +x_7 = l_Lean_Parser_Term_forall_formatter___closed__4; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } -static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_motive_formatter___closed__2; -x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_notFollowedBy_formatter___boxed), 5, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__2; -x_2 = l_Lean_Parser_Term_motive_formatter___closed__3; +x_1 = l___regBuiltin_Lean_Parser_Term_typeSpec_formatter__1___closed__2; +x_2 = l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__1; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_motive_formatter___closed__4; +x_1 = l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__2; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__6() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_optTypeForStructInst_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2; -x_2 = l_Lean_Parser_Term_generalizingParam_formatter___closed__6; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_6; lean_object* x_7; +x_6 = l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__3; +x_7 = l_Lean_Parser_optional_formatter(x_6, x_1, x_2, x_3, x_4, x_5); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__7() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDeclParser_formatter___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; +x_6 = l_Lean_Parser_Term_structInstFieldDeclParser___closed__1; +x_7 = l_Lean_PrettyPrinter_Formatter_categoryParser_formatter(x_6, x_1, x_2, x_3, x_4, x_5); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDeclParser_formatter(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFieldDeclParser_formatter___rarg), 5, 0); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDeclParser_formatter___boxed(lean_object* x_1) { +_start: +{ +lean_object* x_2; +x_2 = l_Lean_Parser_Term_structInstFieldDeclParser_formatter(x_1); +lean_dec(x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__1() { +_start: +{ +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; +x_1 = l_Lean_Parser_Term_structInstField___closed__1; +x_2 = l_Lean_Parser_Term_structInstField___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__2() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFieldBinder_formatter), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_motive_formatter___closed__5; -x_2 = l_Lean_Parser_Term_motive_formatter___closed__6; +x_1 = l_Lean_Parser_Tactic_tacticSeqIndentGt_formatter___closed__2; +x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_motive_formatter___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_motive___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_motive_formatter___closed__7; -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_motive_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__5() { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_motive_formatter___closed__1; -x_7 = l_Lean_Parser_Term_motive_formatter___closed__8; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFieldDeclParser_formatter___rarg), 5, 0); +return x_1; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_motive_formatter__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_motive___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_ppDedent_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_motive_formatter__1___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__7() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_motive_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optTypeForStructInst_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_motive_formatter__1(lean_object* x_1) { +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__8() { _start: { -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_motive___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_motive_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_motive_formatter__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__7; +x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__9() { _start: { -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; -x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__4; +x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__8; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__10() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_optIdent_formatter___closed__2; +x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__9; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_matchDiscr_formatter___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; +x_1 = l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__2; +x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; +x_1 = l_Lean_Parser_Term_structInstField___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_matchDiscr_formatter___closed__3; +x_3 = l_Lean_Parser_Term_structInstField_formatter___closed__11; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -28014,210 +28982,171 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchDiscr_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__13() { _start: { -lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_matchDiscr_formatter___closed__1; -x_7 = l_Lean_Parser_Term_matchDiscr_formatter___closed__4; -x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); -return x_8; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__1; +x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__12; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_withAntiquot_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_formatter___closed__14() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__13; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withCache_formatter___rarg), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstField_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; +x_6 = l_Lean_Parser_Term_structInstField_formatter___closed__14; +x_7 = l_Lean_Parser_ppGroup_formatter(x_6, x_1, x_2, x_3, x_4, x_5); +return x_7; +} +} +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1; +x_4 = l_Lean_Parser_Term_structInstField___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchDiscr_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstField_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1___closed__2; +x_3 = l_Lean_Parser_Term_structInstField___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Parser_darrow_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; -x_6 = l_Lean_Parser_darrow___closed__1; -x_7 = l_Lean_Parser_symbol_formatter(x_6, x_1, x_2, x_3, x_4, x_5); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Term_matchAlt___closed__1; -x_2 = l_Lean_Parser_Term_matchAlt___closed__2; -x_3 = 0; -x_4 = lean_box(x_3); -x_5 = lean_box(x_3); -x_6 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_6, 0, x_1); -lean_closure_set(x_6, 1, x_2); -lean_closure_set(x_6, 2, x_4); -lean_closure_set(x_6, 3, x_5); -return x_6; -} -} -static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__1() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_matchAlt___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_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; +x_1 = l_Lean_Parser_Term_optEllipsis___closed__1; +x_2 = l_Lean_Parser_Term_optEllipsis___closed__2; +x_3 = 1; +x_4 = 0; +x_5 = lean_box(x_3); +x_6 = lean_box(x_4); +x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); +lean_closure_set(x_7, 0, x_1); +lean_closure_set(x_7, 1, x_2); +lean_closure_set(x_7, 2, x_5); +lean_closure_set(x_7, 3, x_6); +return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_matchAlt___closed__6; +x_1 = l_Lean_Parser_Term_optEllipsis___closed__4; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Term_structInst_formatter___closed__3; -x_2 = l_Lean_Parser_Term_matchAlt___closed__6; -x_3 = l_Lean_Parser_Term_matchAlt_formatter___closed__3; -x_4 = 0; -x_5 = lean_box(x_4); -x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1_formatter___boxed), 9, 4); -lean_closure_set(x_6, 0, x_1); -lean_closure_set(x_6, 1, x_2); -lean_closure_set(x_6, 2, x_3); -lean_closure_set(x_6, 3, x_5); -return x_6; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_optEllipsis_formatter___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__4() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_checkColGe_formatter___boxed), 4, 0); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_optEllipsis___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_optEllipsis_formatter___closed__3; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlt_formatter___closed__6() { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_optEllipsis_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_darrow_formatter), 5, 0); -return x_1; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_optEllipsis_formatter___closed__1; +x_7 = l_Lean_Parser_Term_optEllipsis_formatter___closed__4; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlt_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__1() { _start: { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_7 = l_Lean_Parser_Term_matchAlt_formatter___closed__5; -x_8 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_8, 0, x_7); -lean_closure_set(x_8, 1, x_1); -x_9 = l_Lean_Parser_Term_matchAlt_formatter___closed__6; -x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_10, 0, x_9); -lean_closure_set(x_10, 1, x_8); -x_11 = l_Lean_Parser_Term_matchAlt_formatter___closed__4; -x_12 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_12, 0, x_11); -lean_closure_set(x_12, 1, x_10); -x_13 = lean_alloc_closure((void*)(l_Lean_ppIndent_formatter), 6, 1); -lean_closure_set(x_13, 0, x_12); -x_14 = l_Lean_Parser_Term_matchAlt_formatter___closed__2; -x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_15, 0, x_14); -lean_closure_set(x_15, 1, x_13); -x_16 = l_Lean_Parser_Term_matchAlt___closed__2; -x_17 = lean_unsigned_to_nat(1024u); -x_18 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_18, 0, x_16); -lean_closure_set(x_18, 1, x_17); -lean_closure_set(x_18, 2, x_15); -x_19 = l_Lean_Parser_Term_matchAlt_formatter___closed__1; -x_20 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_19, x_18, x_2, x_3, x_4, x_5, x_6); -return x_20; +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Command_docComment___closed__1; +x_2 = l_Lean_Parser_Command_docComment___closed__2; +x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; +x_4 = l_Lean_Parser_Term_optEllipsis___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; +x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_matchAlts_formatter___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__2() { _start: { -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; -x_1 = l_Lean_Parser_Term_matchAlts___closed__1; -x_2 = l_Lean_Parser_Term_matchAlts___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optEllipsis_formatter), 5, 0); +return x_1; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlts_formatter(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___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1(lean_object* x_1) { _start: { -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlt_formatter), 6, 1); -lean_closure_set(x_7, 0, x_1); -x_8 = l_Lean_Parser_Tactic_tacticSeqBracketed_formatter___closed__6; -x_9 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_9, 0, x_8); -lean_closure_set(x_9, 1, x_7); -x_10 = lean_alloc_closure((void*)(l_Lean_Parser_many1Indent_formatter), 6, 1); -lean_closure_set(x_10, 0, x_9); -x_11 = lean_alloc_closure((void*)(l_Lean_Parser_withPosition_formatter), 6, 1); -lean_closure_set(x_11, 0, x_10); -x_12 = l_Lean_Parser_Term_matchAlts___closed__2; -x_13 = lean_unsigned_to_nat(1024u); -x_14 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); -lean_closure_set(x_14, 0, x_12); -lean_closure_set(x_14, 1, x_13); -lean_closure_set(x_14, 2, x_11); -x_15 = l_Lean_Parser_Term_matchAlts_formatter___closed__1; -x_16 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_15, x_14, x_2, x_3, x_4, x_5, x_6); -return x_16; +lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; +x_3 = l_Lean_Parser_Term_optEllipsis___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__2; +x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); +return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_match___closed__1; -x_2 = l_Lean_Parser_Term_match___closed__2; +x_1 = l_Lean_Parser_Term_structInst___closed__1; +x_2 = l_Lean_Parser_Term_structInst___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -28230,150 +29159,179 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_match___closed__4; +x_1 = l_Lean_Parser_Term_structInst___closed__4; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___regBuiltin_Lean_Parser_Term_generalizingParam_formatter__1___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); +x_1 = l_Lean_Parser_Term_structInst___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l___regBuiltin_Lean_Parser_Term_motive_formatter__1___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_matchAlt_formatter___closed__3; +x_2 = l_Lean_Parser_Term_structInst_formatter___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__5() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; -x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_formatter__1___closed__2; -x_2 = l_Lean_Parser_Term_tuple___closed__4; -x_3 = l_Lean_Parser_Term_tuple_formatter___closed__2; -x_4 = 0; -x_5 = lean_box(x_4); -x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1_formatter___boxed), 9, 4); -lean_closure_set(x_6, 0, x_1); -lean_closure_set(x_6, 1, x_2); -lean_closure_set(x_6, 2, x_3); -lean_closure_set(x_6, 3, x_5); -return x_6; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInst_formatter___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_atomic_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_match___closed__9; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); +x_1 = l_Lean_Parser_Term_structInst_formatter___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__2; +x_2 = l_Lean_Parser_Term_tuple___closed__4; +x_3 = l_Lean_Parser_Term_tuple_formatter___closed__2; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_sepByIndent_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlts_formatter), 6, 1); +x_1 = l_Lean_Parser_Term_structInst_formatter___closed__7; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFields_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__9() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_match_formatter___closed__7; -x_2 = lean_alloc_closure((void*)(l_Lean_ppDedent_formatter), 6, 1); +x_1 = l_Lean_Parser_Term_binderType_formatter___closed__1; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_formatter), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match_formatter___closed__6; -x_2 = l_Lean_Parser_Term_match_formatter___closed__8; +x_1 = l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__2; +x_2 = l_Lean_Parser_Term_structInst_formatter___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match_formatter___closed__5; -x_2 = l_Lean_Parser_Term_match_formatter___closed__9; +x_1 = l_Lean_Parser_Term_structInst_formatter___closed__8; +x_2 = l_Lean_Parser_Term_structInst_formatter___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__11() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match_formatter___closed__4; -x_2 = l_Lean_Parser_Term_match_formatter___closed__10; +x_1 = l_Lean_Parser_Term_structInst_formatter___closed__6; +x_2 = l_Lean_Parser_Term_structInst_formatter___closed__11; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__12() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__13() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInst_formatter___closed__12; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__14() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInst___closed__23; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__15() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match_formatter___closed__3; -x_2 = l_Lean_Parser_Term_match_formatter___closed__11; +x_1 = l_Lean_Parser_Term_structInst_formatter___closed__13; +x_2 = l_Lean_Parser_Term_structInst_formatter___closed__14; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__13() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match_formatter___closed__2; -x_2 = l_Lean_Parser_Term_match_formatter___closed__12; +x_1 = l_Lean_Parser_Term_structInst_formatter___closed__2; +x_2 = l_Lean_Parser_Term_structInst_formatter___closed__15; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match_formatter___closed__14() { +static lean_object* _init_l_Lean_Parser_Term_structInst_formatter___closed__17() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_match___closed__2; -x_2 = l_Lean_Parser_leadPrec; -x_3 = l_Lean_Parser_Term_match_formatter___closed__13; +x_1 = l_Lean_Parser_Term_structInst___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_structInst_formatter___closed__16; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -28381,143 +29339,64 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_match_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInst_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_match_formatter___closed__1; -x_7 = l_Lean_Parser_Term_match_formatter___closed__14; +x_6 = l_Lean_Parser_Term_structInst_formatter___closed__1; +x_7 = l_Lean_Parser_Term_structInst_formatter___closed__17; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_match___closed__1; +x_4 = l_Lean_Parser_Term_structInst___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_match_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInst_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_match_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_match___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_match_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_match_formatter__1___closed__2; +x_3 = l_Lean_Parser_Term_structInst___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_trueVal_parenthesizer___closed__1() { -_start: -{ -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; -x_1 = l_Lean_Parser_Term_trueVal___closed__1; -x_2 = l_Lean_Parser_Term_trueVal___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Term_trueVal_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_trueVal___closed__4; -x_2 = 0; -x_3 = lean_box(x_2); -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_parenthesizer___boxed), 7, 2); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_3); -return x_4; -} -} -static lean_object* _init_l_Lean_Parser_Term_trueVal_parenthesizer___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_trueVal___closed__2; -x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_trueVal_parenthesizer___closed__2; -x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_2); -lean_closure_set(x_4, 2, x_3); -return x_4; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_trueVal_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFields_parenthesizer(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_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_trueVal_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_trueVal_parenthesizer___closed__3; -x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +lean_object* x_7; lean_object* x_8; +x_7 = l_Lean_Parser_Term_structInstFields___closed__2; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_node_parenthesizer(x_7, x_1, x_2, x_3, x_4, x_5, x_6); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_trueVal_parenthesizer__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Command_docComment___closed__1; -x_2 = l_Lean_Parser_Command_docComment___closed__2; -x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_trueVal___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; -x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); -return x_6; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_trueVal_parenthesizer__1___closed__2() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_trueVal_parenthesizer), 5, 0); -return x_1; -} -} -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_trueVal_parenthesizer__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_trueVal___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_trueVal_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_trueVal_parenthesizer__1___closed__2; -x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); -return x_6; -} -} -static lean_object* _init_l_Lean_Parser_Term_falseVal_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_falseVal___closed__1; -x_2 = l_Lean_Parser_Term_falseVal___closed__2; +x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__1; +x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -28530,26 +29409,37 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2() { _start: { -lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_falseVal___closed__4; -x_2 = 0; -x_3 = lean_box(x_2); -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_parenthesizer___boxed), 7, 2); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_3); -return x_4; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__6; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_falseVal_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_falseVal___closed__2; +x_1 = l_Lean_Parser_Term_structInstArrayRef___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_falseVal_parenthesizer___closed__2; +x_3 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -28557,55 +29447,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_falseVal_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstArrayRef_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_falseVal_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_falseVal_parenthesizer___closed__3; +x_6 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__4; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_falseVal___closed__1; +x_4 = l_Lean_Parser_Term_structInstArrayRef___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_falseVal_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstArrayRef_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_falseVal___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_structInstArrayRef___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__1; -x_2 = l_Lean_Parser_Term_generalizingParam___closed__2; +x_1 = l_Lean_Parser_Term_structInstLVal___closed__1; +x_2 = l_Lean_Parser_Term_structInstLVal___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -28618,108 +29508,113 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__2() { _start: { -lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__4; -x_2 = 0; -x_3 = lean_box(x_2); -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_parenthesizer___boxed), 7, 2); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_3); -return x_4; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_fieldIdx_parenthesizer___boxed), 1, 0); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__2; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__2; +x_2 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__3; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_trueVal_parenthesizer__1___closed__2; -x_2 = l___regBuiltin_Lean_Parser_Term_falseVal_parenthesizer__1___closed__2; +x_1 = l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__12; -x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__5; +x_1 = l_Lean_Parser_Term_cdot_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__7() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__6; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_group_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__5; -x_2 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__6; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +x_1 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__7; +x_2 = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__9() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__7; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__8; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__10() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__4; -x_2 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__8; +x_1 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4; +x_2 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__9; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_generalizingParam___closed__2; +x_1 = l_Lean_Parser_Term_structInstLVal___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__9; +x_3 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__10; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -28727,55 +29622,132 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_generalizingParam_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstLVal_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__10; +x_6 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__11; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_generalizingParam___closed__1; +x_4 = l_Lean_Parser_Term_structInstLVal___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_generalizingParam_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstLVal_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_generalizingParam___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_structInstLVal___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldBinder_parenthesizer___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; +x_1 = l_Lean_Parser_Term_structInstFieldBinder___closed__1; +x_2 = l_Lean_Parser_Term_structInstFieldBinder___closed__2; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_box(x_3); +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); +lean_closure_set(x_6, 0, x_1); +lean_closure_set(x_6, 1, x_2); +lean_closure_set(x_6, 2, x_4); +lean_closure_set(x_6, 3, x_5); +return x_6; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldBinder_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_structInstFieldBinder_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_forall_parenthesizer___closed__4; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_notFollowedBy_parenthesizer___boxed), 5, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___regBuiltin_Lean_Parser_Term_typeSpec_parenthesizer__1___closed__2; +x_2 = l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__1; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_optTypeForStructInst_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +_start: +{ +lean_object* x_6; lean_object* x_7; +x_6 = l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__3; +x_7 = l_Lean_Parser_optional_parenthesizer(x_6, x_1, x_2, x_3, x_4, x_5); +return x_7; +} +} +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDeclParser_parenthesizer(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 = l_Lean_Parser_Term_structInstFieldDeclParser___closed__1; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_categoryParser_parenthesizer(x_7, x_1, x_2, x_3, x_4, x_5, x_6); +return x_8; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_motive___closed__1; -x_2 = l_Lean_Parser_Term_motive___closed__2; +x_1 = l_Lean_Parser_Term_structInstField___closed__1; +x_2 = l_Lean_Parser_Term_structInstField___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -28788,24 +29760,19 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__2() { _start: { -lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_motive___closed__1; -x_2 = 0; -x_3 = lean_box(x_2); -x_4 = lean_alloc_closure((void*)(l_Lean_Parser_nonReservedSymbol_parenthesizer___boxed), 7, 2); -lean_closure_set(x_4, 0, x_1); -lean_closure_set(x_4, 1, x_3); -return x_4; +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFieldBinder_parenthesizer), 5, 0); +return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_motive_parenthesizer___closed__2; +x_1 = l_Lean_Parser_Tactic_tacticSeqIndentGt_parenthesizer___closed__2; x_2 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -28813,59 +29780,97 @@ lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__4() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_motive_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_motive_parenthesizer___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); +x_1 = lean_unsigned_to_nat(0u); +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFieldDeclParser_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__5; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ppDedent_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optTypeForStructInst_parenthesizer), 5, 0); +return x_1; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_generalizingParam_parenthesizer___closed__6; +x_1 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__7; +x_2 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__6; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_motive_parenthesizer___closed__5; -x_2 = l_Lean_Parser_Term_motive_parenthesizer___closed__6; +x_1 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__4; +x_2 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__8; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_motive_parenthesizer___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__10() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__9; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__11() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__2; +x_2 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__10; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_motive___closed__2; +x_1 = l_Lean_Parser_Term_structInstField___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_motive_parenthesizer___closed__7; +x_3 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__11; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -28873,55 +29878,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_motive_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstField_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_motive_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_motive_parenthesizer___closed__8; +x_6 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__12; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_motive_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_motive___closed__1; +x_4 = l_Lean_Parser_Term_structInstField___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_motive_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_motive_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstField_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_motive_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_motive___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_motive_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_motive_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_structInstField___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__1() { _start: { 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; -x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1; -x_2 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; +x_1 = l_Lean_Parser_Term_optEllipsis___closed__1; +x_2 = l_Lean_Parser_Term_optEllipsis___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -28934,35 +29939,33 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_optIdent_parenthesizer___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_optEllipsis___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__3() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__2; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; +x_1 = l_Lean_Parser_Term_optEllipsis___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__3; +x_3 = l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__3; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -28970,167 +29973,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchDiscr_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_optEllipsis_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_matchDiscr_parenthesizer___closed__4; +x_6 = l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__4; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__1; +x_4 = l_Lean_Parser_Term_optEllipsis___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_matchDiscr_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchDiscr_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optEllipsis_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_matchDiscr_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_matchDiscr_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_matchDiscr_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_optEllipsis___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -LEAN_EXPORT lean_object* l_Lean_Parser_darrow_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { -_start: -{ -lean_object* x_6; lean_object* x_7; -x_6 = l_Lean_Parser_darrow___closed__1; -x_7 = l_Lean_Parser_symbol_parenthesizer(x_6, x_1, x_2, x_3, x_4, x_5); -return x_7; -} -} -static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Term_matchAlt___closed__1; -x_2 = l_Lean_Parser_Term_matchAlt___closed__2; -x_3 = 0; -x_4 = lean_box(x_3); -x_5 = lean_box(x_3); -x_6 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); -lean_closure_set(x_6, 0, x_1); -lean_closure_set(x_6, 1, x_2); -lean_closure_set(x_6, 2, x_4); -lean_closure_set(x_6, 3, x_5); -return x_6; -} -} -static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_matchAlt___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_matchAlt___closed__6; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; -x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_matchAlt___closed__6; -x_3 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__3; -x_4 = 0; -x_5 = lean_box(x_4); -x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1_parenthesizer___boxed), 9, 4); -lean_closure_set(x_6, 0, x_1); -lean_closure_set(x_6, 1, x_2); -lean_closure_set(x_6, 2, x_3); -lean_closure_set(x_6, 3, x_5); -return x_6; -} -} -static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__5() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_checkColGe_parenthesizer___boxed), 4, 0); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__6() { -_start: -{ -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_darrow_parenthesizer), 5, 0); -return x_1; -} -} -LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlt_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; -x_7 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__5; -x_8 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_8, 0, x_7); -lean_closure_set(x_8, 1, x_1); -x_9 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__6; -x_10 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_10, 0, x_9); -lean_closure_set(x_10, 1, x_8); -x_11 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__4; -x_12 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_12, 0, x_11); -lean_closure_set(x_12, 1, x_10); -x_13 = lean_alloc_closure((void*)(l_Lean_Parser_ppIndent_parenthesizer), 6, 1); -lean_closure_set(x_13, 0, x_12); -x_14 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__2; -x_15 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_15, 0, x_14); -lean_closure_set(x_15, 1, x_13); -x_16 = l_Lean_Parser_Term_matchAlt___closed__2; -x_17 = lean_unsigned_to_nat(1024u); -x_18 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); -lean_closure_set(x_18, 0, x_16); -lean_closure_set(x_18, 1, x_17); -lean_closure_set(x_18, 2, x_15); -x_19 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__1; -x_20 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_19, x_18, x_2, x_3, x_4, x_5, x_6); -return x_20; -} -} -static lean_object* _init_l_Lean_Parser_Term_matchAlts_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_matchAlts___closed__1; -x_2 = l_Lean_Parser_Term_matchAlts___closed__2; +x_1 = l_Lean_Parser_Term_structInst___closed__1; +x_2 = l_Lean_Parser_Term_structInst___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -29143,89 +30034,68 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_matchAlts_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) { -_start: -{ -lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlt_parenthesizer), 6, 1); -lean_closure_set(x_7, 0, x_1); -x_8 = l_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer___closed__6; -x_9 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_9, 0, x_8); -lean_closure_set(x_9, 1, x_7); -x_10 = lean_alloc_closure((void*)(l_Lean_Parser_many1Indent_parenthesizer), 6, 1); -lean_closure_set(x_10, 0, x_9); -x_11 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_withPosition_parenthesizer), 6, 1); -lean_closure_set(x_11, 0, x_10); -x_12 = l_Lean_Parser_Term_matchAlts___closed__2; -x_13 = lean_unsigned_to_nat(1024u); -x_14 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); -lean_closure_set(x_14, 0, x_12); -lean_closure_set(x_14, 1, x_13); -lean_closure_set(x_14, 2, x_11); -x_15 = l_Lean_Parser_Term_matchAlts_parenthesizer___closed__1; -x_16 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_15, x_14, x_2, x_3, x_4, x_5, x_6); -return x_16; -} -} -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__2() { _start: { -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; -x_1 = l_Lean_Parser_Term_match___closed__1; -x_2 = l_Lean_Parser_Term_match___closed__2; -x_3 = 1; -x_4 = 0; -x_5 = lean_box(x_3); -x_6 = lean_box(x_4); -x_7 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___boxed), 9, 4); -lean_closure_set(x_7, 0, x_1); -lean_closure_set(x_7, 1, x_2); -lean_closure_set(x_7, 2, x_5); -lean_closure_set(x_7, 3, x_6); -return x_7; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInst___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_match___closed__4; +x_1 = l_Lean_Parser_Term_structInst___closed__6; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__5() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___regBuiltin_Lean_Parser_Term_generalizingParam_parenthesizer__1___closed__2; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__4; +x_2 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_atomic_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__6() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___regBuiltin_Lean_Parser_Term_motive_parenthesizer__1___closed__2; +x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__5; x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__7() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; -x_1 = l___regBuiltin_Lean_Parser_Term_matchDiscr_parenthesizer__1___closed__2; +x_1 = l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__2; x_2 = l_Lean_Parser_Term_tuple___closed__4; x_3 = l_Lean_Parser_Term_tuple_parenthesizer___closed__2; -x_4 = 0; +x_4 = 1; x_5 = lean_box(x_4); -x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepBy1_parenthesizer___boxed), 9, 4); +x_6 = lean_alloc_closure((void*)(l_Lean_Parser_sepByIndent_parenthesizer___boxed), 9, 4); lean_closure_set(x_6, 0, x_1); lean_closure_set(x_6, 1, x_2); lean_closure_set(x_6, 2, x_3); @@ -29233,103 +30103,125 @@ lean_closure_set(x_6, 3, x_5); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__8() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_match___closed__9; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__7; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFields_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__9() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_Term_matchAlts_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_sufficesDecl_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__10() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_match_parenthesizer___closed__7; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_ppDedent_parenthesizer), 6, 1); +x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__9; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_optional_parenthesizer), 6, 1); lean_closure_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match_parenthesizer___closed__6; -x_2 = l_Lean_Parser_Term_match_parenthesizer___closed__8; +x_1 = l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__2; +x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__10; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__10() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__12() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match_parenthesizer___closed__5; -x_2 = l_Lean_Parser_Term_match_parenthesizer___closed__9; +x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__8; +x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__11; +x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); +lean_closure_set(x_3, 0, x_1); +lean_closure_set(x_3, 1, x_2); +return x_3; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__13() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__6; +x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__12; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__11() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__14() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__13; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_withoutPosition_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__15() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match_parenthesizer___closed__4; -x_2 = l_Lean_Parser_Term_match_parenthesizer___closed__10; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_structInst___closed__23; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__12() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_match_parenthesizer___closed__11; +x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__14; +x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__15; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__13() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__17() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_match_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_match_parenthesizer___closed__12; +x_1 = l_Lean_Parser_Term_structInst_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__16; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_match_parenthesizer___closed__14() { +static lean_object* _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__18() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_match___closed__2; -x_2 = l_Lean_Parser_leadPrec; -x_3 = l_Lean_Parser_Term_match_parenthesizer___closed__13; +x_1 = l_Lean_Parser_Term_structInst___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_structInst_parenthesizer___closed__17; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -29337,286 +30229,139 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_match_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInst_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_match_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_match_parenthesizer___closed__14; +x_6 = l_Lean_Parser_Term_structInst_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_structInst_parenthesizer___closed__18; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_match___closed__1; +x_4 = l_Lean_Parser_Term_structInst___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_match_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_match_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInst_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_match_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_match___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_match_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_match_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_structInst___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDef___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("nomatch", 7, 7); +x_1 = lean_mk_string_unchecked("structInstFieldDef", 18, 18); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDef___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_nomatch___closed__1; +x_4 = l_Lean_Parser_Term_structInstFieldDef___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDef___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_nomatch___closed__1; -x_2 = l_Lean_Parser_Term_nomatch___closed__2; +x_1 = l_Lean_Parser_Term_structInstFieldDef___closed__1; +x_2 = l_Lean_Parser_Term_structInstFieldDef___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__4() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("nomatch ", 8, 8); -return x_1; -} -} -static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_nomatch___closed__4; -x_2 = l_Lean_Parser_symbol(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_nomatch___closed__5; -x_2 = l_Lean_Parser_Term_structInst___closed__6; -x_3 = l_Lean_Parser_andthen(x_1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDef___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_nomatch___closed__2; -x_2 = l_Lean_Parser_leadPrec; -x_3 = l_Lean_Parser_Term_nomatch___closed__6; +x_1 = l_Lean_Parser_Term_structInstFieldDef___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_binderDefault___closed__4; x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__8() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDef___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_nomatch___closed__3; -x_2 = l_Lean_Parser_Term_nomatch___closed__7; +x_1 = l_Lean_Parser_Term_structInstFieldDef___closed__3; +x_2 = l_Lean_Parser_Term_structInstFieldDef___closed__4; x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_nomatch___closed__9() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDef___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_nomatch___closed__2; -x_2 = l_Lean_Parser_Term_nomatch___closed__8; +x_1 = l_Lean_Parser_Term_structInstFieldDef___closed__2; +x_2 = l_Lean_Parser_Term_structInstFieldDef___closed__5; x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_nomatch() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDef() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_nomatch___closed__9; +x_1 = l_Lean_Parser_Term_structInstFieldDef___closed__6; return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nomatch__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldDef__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l___regBuiltin_Lean_Parser_Term_byTactic__1___closed__2; -x_3 = l_Lean_Parser_Term_nomatch___closed__2; +x_2 = l_Lean_Parser_Term_structInstFieldDeclParser___closed__1; +x_3 = l_Lean_Parser_Term_structInstFieldDef___closed__2; x_4 = 1; -x_5 = l_Lean_Parser_Term_nomatch; +x_5 = l_Lean_Parser_Term_structInstFieldDef; x_6 = lean_unsigned_to_nat(1000u); x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); return x_7; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_docString__1___closed__1() { -_start: -{ -lean_object* x_1; -x_1 = lean_mk_string_unchecked("Empty match/ex falso. `nomatch e` is of arbitrary type `α : Sort u` if\nLean can show that an empty set of patterns is exhaustive given `e`'s type,\ne.g. because it has no constructors.\n", 185, 184); -return x_1; -} -} -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_docString__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_nomatch___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_nomatch_docString__1___closed__1; -x_4 = l_Lean_addBuiltinDocString(x_2, x_3, x_1); -return x_4; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(421u); -x_2 = lean_unsigned_to_nat(23u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(421u); -x_2 = lean_unsigned_to_nat(100u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__1; -x_2 = lean_unsigned_to_nat(23u); -x_3 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__2; -x_4 = lean_unsigned_to_nat(100u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); -return x_5; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(421u); -x_2 = lean_unsigned_to_nat(27u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(421u); -x_2 = lean_unsigned_to_nat(36u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__4; -x_2 = lean_unsigned_to_nat(27u); -x_3 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__5; -x_4 = lean_unsigned_to_nat(36u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); -return x_5; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__3; -x_2 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__6; -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_nomatch___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_nomatch_declRange__1___closed__7; -x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); -return x_4; -} -} -static lean_object* _init_l_Lean_Parser_Term_nomatch_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDef_formatter___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_nomatch___closed__1; -x_2 = l_Lean_Parser_Term_nomatch___closed__2; +x_1 = l_Lean_Parser_Term_structInstFieldDef___closed__1; +x_2 = l_Lean_Parser_Term_structInstFieldDef___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -29629,35 +30374,13 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_nomatch_formatter___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_nomatch___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_nomatch_formatter___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_nomatch_formatter___closed__2; -x_2 = l_Lean_Parser_Term_structInst_formatter___closed__3; -x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); -lean_closure_set(x_3, 0, x_1); -lean_closure_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l_Lean_Parser_Term_nomatch_formatter___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDef_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_nomatch___closed__2; -x_2 = l_Lean_Parser_leadPrec; -x_3 = l_Lean_Parser_Term_nomatch_formatter___closed__3; +x_1 = l_Lean_Parser_Term_structInstFieldDef___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_binderDefault_formatter___closed__2; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -29665,55 +30388,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_nomatch_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDef_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_nomatch_formatter___closed__1; -x_7 = l_Lean_Parser_Term_nomatch_formatter___closed__4; +x_6 = l_Lean_Parser_Term_structInstFieldDef_formatter___closed__1; +x_7 = l_Lean_Parser_Term_structInstFieldDef_formatter___closed__2; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_nomatch___closed__1; +x_4 = l_Lean_Parser_Term_structInstFieldDef___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_nomatch_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFieldDef_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_nomatch___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_nomatch_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_nomatch_formatter__1___closed__2; +x_3 = l_Lean_Parser_Term_structInstFieldDef___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_nomatch_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_nomatch___closed__1; -x_2 = l_Lean_Parser_Term_nomatch___closed__2; +x_1 = l_Lean_Parser_Term_structInstFieldDef___closed__1; +x_2 = l_Lean_Parser_Term_structInstFieldDef___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -29726,35 +30449,25 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_nomatch_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_nomatch___closed__4; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_nomatch_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_nomatch_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_structInst_parenthesizer___closed__3; +x_1 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_nomatch_parenthesizer___closed__4() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_nomatch___closed__2; -x_2 = l_Lean_Parser_leadPrec; -x_3 = l_Lean_Parser_Term_nomatch_parenthesizer___closed__3; +x_1 = l_Lean_Parser_Term_structInstFieldDef___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__2; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -29762,250 +30475,139 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_nomatch_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldDef_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_nomatch_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_nomatch_parenthesizer___closed__4; +x_6 = l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__3; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_nomatch___closed__1; +x_4 = l_Lean_Parser_Term_structInstFieldDef___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_nomatch_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFieldDef_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_nomatch___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_nomatch_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_structInstFieldDef___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_nofun___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldEqns___closed__1() { _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("nofun", 5, 5); +x_1 = lean_mk_string_unchecked("structInstFieldEqns", 19, 19); return x_1; } } -static lean_object* _init_l_Lean_Parser_Term_nofun___closed__2() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldEqns___closed__2() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_nofun___closed__1; +x_4 = l_Lean_Parser_Term_structInstFieldEqns___closed__1; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_nofun___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldEqns___closed__3() { _start: { lean_object* x_1; lean_object* x_2; uint8_t x_3; uint8_t x_4; lean_object* x_5; -x_1 = l_Lean_Parser_Term_nofun___closed__1; -x_2 = l_Lean_Parser_Term_nofun___closed__2; +x_1 = l_Lean_Parser_Term_structInstFieldEqns___closed__1; +x_2 = l_Lean_Parser_Term_structInstFieldEqns___closed__2; x_3 = 1; x_4 = 0; x_5 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_Term_nofun___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_nofun___closed__1; -x_2 = l_Lean_Parser_symbol(x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_nofun___closed__5() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldEqns___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_nofun___closed__2; +x_1 = l_Lean_Parser_Term_structInstFieldEqns___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_nofun___closed__4; +x_3 = l_Lean_Parser_Term_match___closed__11; x_4 = l_Lean_Parser_leadingNode(x_1, x_2, x_3); return x_4; } } -static lean_object* _init_l_Lean_Parser_Term_nofun___closed__6() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldEqns___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_nofun___closed__3; -x_2 = l_Lean_Parser_Term_nofun___closed__5; +x_1 = l_Lean_Parser_Term_structInstFieldEqns___closed__3; +x_2 = l_Lean_Parser_Term_structInstFieldEqns___closed__4; x_3 = l_Lean_Parser_withAntiquot(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_nofun___closed__7() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldEqns___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_nofun___closed__2; -x_2 = l_Lean_Parser_Term_nofun___closed__6; +x_1 = l_Lean_Parser_Term_structInstFieldEqns___closed__2; +x_2 = l_Lean_Parser_Term_structInstFieldEqns___closed__5; x_3 = l_Lean_Parser_withCache(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_Term_nofun() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldEqns() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_nofun___closed__7; +x_1 = l_Lean_Parser_Term_structInstFieldEqns___closed__6; return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nofun__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldEqns__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; uint8_t x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l___regBuiltin_Lean_Parser_Term_byTactic__1___closed__2; -x_3 = l_Lean_Parser_Term_nofun___closed__2; +x_2 = l_Lean_Parser_Term_structInstFieldDeclParser___closed__1; +x_3 = l_Lean_Parser_Term_structInstFieldEqns___closed__2; x_4 = 1; -x_5 = l_Lean_Parser_Term_nofun; +x_5 = l_Lean_Parser_Term_structInstFieldEqns; x_6 = lean_unsigned_to_nat(1000u); x_7 = l_Lean_Parser_addBuiltinParser(x_2, x_3, x_4, x_5, x_6, x_1); return x_7; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__1() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(423u); -x_2 = lean_unsigned_to_nat(23u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(423u); -x_2 = lean_unsigned_to_nat(60u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__3() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__1; -x_2 = lean_unsigned_to_nat(23u); -x_3 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__2; -x_4 = lean_unsigned_to_nat(60u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); -return x_5; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__4() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(423u); -x_2 = lean_unsigned_to_nat(27u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__5() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = lean_unsigned_to_nat(423u); -x_2 = lean_unsigned_to_nat(34u); -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__6() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; -x_1 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__4; -x_2 = lean_unsigned_to_nat(27u); -x_3 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__5; -x_4 = lean_unsigned_to_nat(34u); -x_5 = lean_alloc_ctor(0, 4, 0); -lean_ctor_set(x_5, 0, x_1); -lean_ctor_set(x_5, 1, x_2); -lean_ctor_set(x_5, 2, x_3); -lean_ctor_set(x_5, 3, x_4); -return x_5; -} -} -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__7() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__3; -x_2 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__6; -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_1); -lean_ctor_set(x_3, 1, x_2); -return x_3; -} -} -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nofun_declRange__1(lean_object* x_1) { -_start: -{ -lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_2 = l_Lean_Parser_Term_nofun___closed__2; -x_3 = l___regBuiltin_Lean_Parser_Term_nofun_declRange__1___closed__7; -x_4 = l_Lean_addBuiltinDeclarationRanges(x_2, x_3, x_1); -return x_4; -} -} -static lean_object* _init_l_Lean_Parser_Term_nofun_formatter___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldEqns_formatter___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_nofun___closed__1; -x_2 = l_Lean_Parser_Term_nofun___closed__2; +x_1 = l_Lean_Parser_Term_structInstFieldEqns___closed__1; +x_2 = l_Lean_Parser_Term_structInstFieldEqns___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -30018,23 +30620,13 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_nofun_formatter___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_nofun___closed__1; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_formatter), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_nofun_formatter___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldEqns_formatter___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_nofun___closed__2; +x_1 = l_Lean_Parser_Term_structInstFieldEqns___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_nofun_formatter___closed__2; +x_3 = l_Lean_Parser_Term_match_formatter___closed__7; x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -30042,55 +30634,55 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_nofun_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldEqns_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_nofun_formatter___closed__1; -x_7 = l_Lean_Parser_Term_nofun_formatter___closed__3; +x_6 = l_Lean_Parser_Term_structInstFieldEqns_formatter___closed__1; +x_7 = l_Lean_Parser_Term_structInstFieldEqns_formatter___closed__2; x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_formatter__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_nofun___closed__1; +x_4 = l_Lean_Parser_Term_structInstFieldEqns___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_formatter__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_nofun_formatter), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFieldEqns_formatter), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nofun_formatter__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_formatter__1___closed__3; -x_3 = l_Lean_Parser_Term_nofun___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_nofun_formatter__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_nofun_formatter__1___closed__2; +x_3 = l_Lean_Parser_Term_structInstFieldEqns___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_Term_nofun_parenthesizer___closed__1() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldEqns_parenthesizer___closed__1() { _start: { 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; -x_1 = l_Lean_Parser_Term_nofun___closed__1; -x_2 = l_Lean_Parser_Term_nofun___closed__2; +x_1 = l_Lean_Parser_Term_structInstFieldEqns___closed__1; +x_2 = l_Lean_Parser_Term_structInstFieldEqns___closed__2; x_3 = 1; x_4 = 0; x_5 = lean_box(x_3); @@ -30103,23 +30695,13 @@ lean_closure_set(x_7, 3, x_6); return x_7; } } -static lean_object* _init_l_Lean_Parser_Term_nofun_parenthesizer___closed__2() { -_start: -{ -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_Term_nofun___closed__1; -x_2 = lean_alloc_closure((void*)(l_Lean_Parser_symbol_parenthesizer), 6, 1); -lean_closure_set(x_2, 0, x_1); -return x_2; -} -} -static lean_object* _init_l_Lean_Parser_Term_nofun_parenthesizer___closed__3() { +static lean_object* _init_l_Lean_Parser_Term_structInstFieldEqns_parenthesizer___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l_Lean_Parser_Term_nofun___closed__2; +x_1 = l_Lean_Parser_Term_structInstFieldEqns___closed__2; x_2 = lean_unsigned_to_nat(1024u); -x_3 = l_Lean_Parser_Term_nofun_parenthesizer___closed__2; +x_3 = l_Lean_Parser_Term_match_parenthesizer___closed__7; x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer), 8, 3); lean_closure_set(x_4, 0, x_1); lean_closure_set(x_4, 1, x_2); @@ -30127,45 +30709,45 @@ lean_closure_set(x_4, 2, x_3); return x_4; } } -LEAN_EXPORT lean_object* l_Lean_Parser_Term_nofun_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +LEAN_EXPORT lean_object* l_Lean_Parser_Term_structInstFieldEqns_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { lean_object* x_6; lean_object* x_7; lean_object* x_8; -x_6 = l_Lean_Parser_Term_nofun_parenthesizer___closed__1; -x_7 = l_Lean_Parser_Term_nofun_parenthesizer___closed__3; +x_6 = l_Lean_Parser_Term_structInstFieldEqns_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_structInstFieldEqns_parenthesizer___closed__2; x_8 = l_Lean_PrettyPrinter_Parenthesizer_withAntiquot_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); return x_8; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_parenthesizer__1___closed__1() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_Parser_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_Term_nofun___closed__1; +x_4 = l_Lean_Parser_Term_structInstFieldEqns___closed__1; x_5 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__1; x_6 = l_Lean_Name_mkStr5(x_1, x_2, x_3, x_4, x_5); return x_6; } } -static lean_object* _init_l___regBuiltin_Lean_Parser_Term_nofun_parenthesizer__1___closed__2() { +static lean_object* _init_l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1___closed__2() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_nofun_parenthesizer), 5, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFieldEqns_parenthesizer), 5, 0); return x_1; } } -LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_nofun_parenthesizer__1(lean_object* x_1) { +LEAN_EXPORT lean_object* l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_2 = l___regBuiltin_Lean_Parser_Tactic_tacticSeqBracketed_parenthesizer__1___closed__3; -x_3 = l_Lean_Parser_Term_nofun___closed__2; -x_4 = l___regBuiltin_Lean_Parser_Term_nofun_parenthesizer__1___closed__1; -x_5 = l___regBuiltin_Lean_Parser_Term_nofun_parenthesizer__1___closed__2; +x_3 = l_Lean_Parser_Term_structInstFieldEqns___closed__2; +x_4 = l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1___closed__1; +x_5 = l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1___closed__2; x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } @@ -31965,7 +32547,7 @@ static lean_object* _init_l_Lean_Parser_Term_withAnonymousAntiquot___closed__7() { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_withAnonymousAntiquot___closed__6; -x_2 = l_Lean_Parser_Term_structInstField___closed__5; +x_2 = l_Lean_Parser_Term_binderTactic___closed__5; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } @@ -32369,7 +32951,7 @@ static lean_object* _init_l_Lean_Parser_Term_withAnonymousAntiquot_formatter___c { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_withAnonymousAntiquot_formatter___closed__3; -x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -32705,7 +33287,7 @@ static lean_object* _init_l_Lean_Parser_Term_withAnonymousAntiquot_parenthesizer { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_withAnonymousAntiquot_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -34872,7 +35454,7 @@ static lean_object* _init_l_Lean_Parser_Term_letIdLhs___closed__2() { { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_letIdLhs___closed__1; -x_2 = l_Lean_Parser_Term_structInstArrayRef___closed__5; +x_2 = l_Lean_Parser_Term_instBinder___closed__3; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } @@ -34988,7 +35570,7 @@ static lean_object* _init_l_Lean_Parser_Term_letIdDecl___closed__4() { { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_letIdLhs; -x_2 = l_Lean_Parser_Term_structInstField___closed__5; +x_2 = l_Lean_Parser_Term_binderTactic___closed__5; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } @@ -35087,7 +35669,7 @@ static lean_object* _init_l_Lean_Parser_Term_letPatDecl___closed__4() { { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_optType; -x_2 = l_Lean_Parser_Term_structInstField___closed__5; +x_2 = l_Lean_Parser_Term_binderTactic___closed__5; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } @@ -35205,7 +35787,7 @@ static lean_object* _init_l_Lean_Parser_Term_letEqnsDecl___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField___closed__5; +x_1 = l_Lean_Parser_Term_binderTactic___closed__5; x_2 = l_Lean_Parser_Term_match___closed__11; x_3 = l_Lean_Parser_orelse(x_1, x_2); return x_3; @@ -35688,7 +36270,7 @@ static lean_object* _init_l_Lean_Parser_Term_letIdLhs_formatter___closed__1() { { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_doubleQuotedName_formatter___closed__5; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__3; +x_2 = l_Lean_Parser_Term_instBinder_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -35799,7 +36381,7 @@ static lean_object* _init_l_Lean_Parser_Term_letIdDecl_formatter___closed__3() { { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_letIdDecl_formatter___closed__2; -x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -35907,7 +36489,7 @@ static lean_object* _init_l_Lean_Parser_Term_letPatDecl_formatter___closed__2() { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_forall_formatter___closed__8; -x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -36038,7 +36620,7 @@ static lean_object* _init_l_Lean_Parser_Term_letEqnsDecl_formatter___closed__2() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__2; +x_1 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; x_2 = l_Lean_Parser_Term_match_formatter___closed__7; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_orelse_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -36399,7 +36981,7 @@ static lean_object* _init_l_Lean_Parser_Term_letIdLhs_parenthesizer___closed__1( { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_doubleQuotedName_parenthesizer___closed__5; -x_2 = l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_instBinder_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -36510,7 +37092,7 @@ static lean_object* _init_l_Lean_Parser_Term_letIdDecl_parenthesizer___closed__3 { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_letIdDecl_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -36618,7 +37200,7 @@ static lean_object* _init_l_Lean_Parser_Term_letPatDecl_parenthesizer___closed__ { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_forall_parenthesizer___closed__8; -x_2 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -36749,7 +37331,7 @@ static lean_object* _init_l_Lean_Parser_Term_letEqnsDecl_parenthesizer___closed_ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__2; +x_1 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; x_2 = l_Lean_Parser_Term_match_parenthesizer___closed__7; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -38757,7 +39339,7 @@ static lean_object* _init_l_Lean_Parser_Term_haveIdDecl___closed__4() { { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_haveIdLhs; -x_2 = l_Lean_Parser_Term_structInstField___closed__5; +x_2 = l_Lean_Parser_Term_binderTactic___closed__5; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } @@ -39380,7 +39962,7 @@ static lean_object* _init_l_Lean_Parser_Term_haveIdDecl_formatter___closed__3() { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_haveIdDecl_formatter___closed__2; -x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -39919,7 +40501,7 @@ static lean_object* _init_l_Lean_Parser_Term_haveIdDecl_parenthesizer___closed__ { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_haveIdDecl_parenthesizer___closed__2; -x_2 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -54750,7 +55332,7 @@ static lean_object* _init_l_Lean_Parser_Term_letMVar___closed__8() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField___closed__5; +x_1 = l_Lean_Parser_Term_binderTactic___closed__5; x_2 = l_Lean_Parser_Term_letMVar___closed__7; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; @@ -54996,7 +55578,7 @@ static lean_object* _init_l_Lean_Parser_Term_letMVar_formatter___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__2; +x_1 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; x_2 = l_Lean_Parser_Term_letMVar_formatter___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -55153,7 +55735,7 @@ static lean_object* _init_l_Lean_Parser_Term_letMVar_parenthesizer___closed__5() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__2; +x_1 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; x_2 = l_Lean_Parser_Term_letMVar_parenthesizer___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -57491,7 +58073,7 @@ static lean_object* _init_l_Lean_Parser_Term_namedArgument___closed__4() { { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_ident; -x_2 = l_Lean_Parser_Term_structInstField___closed__5; +x_2 = l_Lean_Parser_Term_binderTactic___closed__5; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } @@ -57520,7 +58102,7 @@ static lean_object* _init_l_Lean_Parser_Term_namedArgument___closed__7() { { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_namedArgument___closed__6; -x_2 = l_Lean_Parser_Term_inaccessible___closed__6; +x_2 = l_Lean_Parser_Term_inaccessible___closed__7; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; } @@ -57966,7 +58548,7 @@ static lean_object* _init_l_Lean_Parser_Term_namedArgument_formatter___closed__2 { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_syntheticHole_formatter___closed__3; -x_2 = l_Lean_Parser_Term_structInstField_formatter___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -58000,7 +58582,7 @@ static lean_object* _init_l_Lean_Parser_Term_namedArgument_formatter___closed__5 { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_namedArgument_formatter___closed__4; -x_2 = l_Lean_Parser_Term_inaccessible_formatter___closed__3; +x_2 = l_Lean_Parser_Term_inaccessible_formatter___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -58313,7 +58895,7 @@ static lean_object* _init_l_Lean_Parser_Term_namedArgument_parenthesizer___close { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_syntheticHole_parenthesizer___closed__3; -x_2 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__2; +x_2 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -58347,7 +58929,7 @@ static lean_object* _init_l_Lean_Parser_Term_namedArgument_parenthesizer___close { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_namedArgument_parenthesizer___closed__4; -x_2 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__3; +x_2 = l_Lean_Parser_Term_inaccessible_parenthesizer___closed__4; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); lean_closure_set(x_3, 1, x_2); @@ -66898,7 +67480,7 @@ x_8 = l_Lean_Parser_Term_matchExprAlts_formatter___closed__4; x_9 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_9, 0, x_8); lean_closure_set(x_9, 1, x_7); -x_10 = l_Lean_Parser_Term_matchAlt_formatter___closed__5; +x_10 = l_Lean_Parser_Term_matchAlt_formatter___closed__6; x_11 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_11, 0, x_10); lean_closure_set(x_11, 1, x_9); @@ -67369,7 +67951,7 @@ x_8 = l_Lean_Parser_Term_matchExprAlts_parenthesizer___closed__4; x_9 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_9, 0, x_8); lean_closure_set(x_9, 1, x_7); -x_10 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__5; +x_10 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__6; x_11 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_11, 0, x_10); lean_closure_set(x_11, 1, x_9); @@ -67597,7 +68179,7 @@ static lean_object* _init_l_Lean_Parser_Term_letExpr___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_matchAlt___closed__7; +x_1 = l_Lean_Parser_Term_matchAlt___closed__8; x_2 = l_Lean_Parser_Term_typeAscription___closed__6; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; @@ -67627,7 +68209,7 @@ static lean_object* _init_l_Lean_Parser_Term_letExpr___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField___closed__5; +x_1 = l_Lean_Parser_Term_binderTactic___closed__5; x_2 = l_Lean_Parser_Term_letExpr___closed__8; x_3 = l_Lean_Parser_andthen(x_1, x_2); return x_3; @@ -67858,7 +68440,7 @@ static lean_object* _init_l_Lean_Parser_Term_letExpr_formatter___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_matchAlt_formatter___closed__3; +x_1 = l_Lean_Parser_Term_matchAlt_formatter___closed__4; x_2 = l_Lean_Parser_Term_typeAscription_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -67894,7 +68476,7 @@ static lean_object* _init_l_Lean_Parser_Term_letExpr_formatter___closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_formatter___closed__2; +x_1 = l_Lean_Parser_Term_binderTactic_formatter___closed__2; x_2 = l_Lean_Parser_Term_letExpr_formatter___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Formatter_andthen_formatter), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -68037,7 +68619,7 @@ static lean_object* _init_l_Lean_Parser_Term_letExpr_parenthesizer___closed__3() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__3; +x_1 = l_Lean_Parser_Term_matchAlt_parenthesizer___closed__4; x_2 = l_Lean_Parser_Term_typeAscription_parenthesizer___closed__3; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -68073,7 +68655,7 @@ static lean_object* _init_l_Lean_Parser_Term_letExpr_parenthesizer___closed__6() _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_structInstField_parenthesizer___closed__2; +x_1 = l_Lean_Parser_Term_binderTactic_parenthesizer___closed__2; x_2 = l_Lean_Parser_Term_letExpr_parenthesizer___closed__5; x_3 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_andthen_parenthesizer), 7, 2); lean_closure_set(x_3, 0, x_1); @@ -69287,7 +69869,7 @@ x_6 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_5, x_1); return x_6; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__1() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69297,7 +69879,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__2() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__2() { _start: { lean_object* x_1; lean_object* x_2; @@ -69307,7 +69889,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__3() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__3() { _start: { lean_object* x_1; lean_object* x_2; @@ -69317,7 +69899,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__4() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__4() { _start: { lean_object* x_1; lean_object* x_2; @@ -69327,7 +69909,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__5() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__5() { _start: { lean_object* x_1; lean_object* x_2; @@ -69337,7 +69919,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__6() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__6() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69347,7 +69929,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__7() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__7() { _start: { lean_object* x_1; lean_object* x_2; @@ -69357,7 +69939,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__8() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__8() { _start: { lean_object* x_1; lean_object* x_2; @@ -69367,7 +69949,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__9() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__9() { _start: { lean_object* x_1; lean_object* x_2; @@ -69377,7 +69959,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__10() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__10() { _start: { lean_object* x_1; lean_object* x_2; @@ -69387,7 +69969,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__11() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__11() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69397,7 +69979,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__12() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__12() { _start: { lean_object* x_1; lean_object* x_2; @@ -69407,7 +69989,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__13() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__13() { _start: { lean_object* x_1; lean_object* x_2; @@ -69417,7 +69999,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__14() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__14() { _start: { lean_object* x_1; lean_object* x_2; @@ -69427,7 +70009,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__15() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__15() { _start: { lean_object* x_1; lean_object* x_2; @@ -69437,7 +70019,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__16() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__16() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69447,7 +70029,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__17() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__17() { _start: { lean_object* x_1; lean_object* x_2; @@ -69457,7 +70039,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__18() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__18() { _start: { lean_object* x_1; lean_object* x_2; @@ -69467,7 +70049,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__19() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__19() { _start: { lean_object* x_1; lean_object* x_2; @@ -69477,7 +70059,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__20() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__20() { _start: { lean_object* x_1; lean_object* x_2; @@ -69487,7 +70069,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__21() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__21() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69497,7 +70079,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__22() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__22() { _start: { lean_object* x_1; lean_object* x_2; @@ -69507,7 +70089,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__23() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__23() { _start: { lean_object* x_1; lean_object* x_2; @@ -69517,7 +70099,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__24() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__24() { _start: { lean_object* x_1; lean_object* x_2; @@ -69527,7 +70109,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__25() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__25() { _start: { lean_object* x_1; lean_object* x_2; @@ -69537,7 +70119,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__26() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__26() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69547,7 +70129,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__27() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__27() { _start: { lean_object* x_1; lean_object* x_2; @@ -69557,7 +70139,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__28() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__28() { _start: { lean_object* x_1; lean_object* x_2; @@ -69567,7 +70149,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__29() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__29() { _start: { lean_object* x_1; lean_object* x_2; @@ -69577,7 +70159,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__30() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__30() { _start: { lean_object* x_1; lean_object* x_2; @@ -69587,7 +70169,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__31() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__31() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69597,7 +70179,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__32() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__32() { _start: { lean_object* x_1; lean_object* x_2; @@ -69607,7 +70189,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__33() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__33() { _start: { lean_object* x_1; lean_object* x_2; @@ -69617,7 +70199,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__34() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__34() { _start: { lean_object* x_1; lean_object* x_2; @@ -69627,7 +70209,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__35() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__35() { _start: { lean_object* x_1; lean_object* x_2; @@ -69637,7 +70219,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__36() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__36() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69647,7 +70229,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__37() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__37() { _start: { lean_object* x_1; lean_object* x_2; @@ -69657,7 +70239,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__38() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__38() { _start: { lean_object* x_1; lean_object* x_2; @@ -69667,7 +70249,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__39() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__39() { _start: { lean_object* x_1; lean_object* x_2; @@ -69677,7 +70259,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__40() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__40() { _start: { lean_object* x_1; lean_object* x_2; @@ -69687,7 +70269,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__41() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__41() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69697,7 +70279,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__42() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__42() { _start: { lean_object* x_1; lean_object* x_2; @@ -69707,7 +70289,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__43() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__43() { _start: { lean_object* x_1; lean_object* x_2; @@ -69717,7 +70299,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__44() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__44() { _start: { lean_object* x_1; lean_object* x_2; @@ -69727,7 +70309,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__45() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__45() { _start: { lean_object* x_1; lean_object* x_2; @@ -69737,7 +70319,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__46() { _start: { lean_object* x_1; @@ -69745,29 +70327,29 @@ x_1 = lean_mk_string_unchecked("optSemicolon", 12, 12); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__47() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__47() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__46; x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__48() { _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_Command_docComment___closed__1; x_2 = l_Lean_Parser_Command_docComment___closed__2; x_3 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_71____closed__14; -x_4 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46; +x_4 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__46; x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__49() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__49() { _start: { lean_object* x_1; @@ -69775,27 +70357,27 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optSemicolon), 1, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__50() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__50() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__49; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__49; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__51() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__51() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__48; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__52() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__52() { _start: { lean_object* x_1; @@ -69803,17 +70385,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optSemicolon_formatter), 6, return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__53() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__53() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__52; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__52; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__54() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__54() { _start: { lean_object* x_1; @@ -69821,17 +70403,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_optSemicolon_parenthesizer), return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__55() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__55() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__54; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__54; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__56() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__56() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -69841,7 +70423,7 @@ x_3 = l_Lean_Name_str___override(x_1, x_2); return x_3; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__57() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__57() { _start: { lean_object* x_1; @@ -69849,17 +70431,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFields), 1, 0); return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__58() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__58() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__57; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__57; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__59() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__59() { _start: { lean_object* x_1; lean_object* x_2; @@ -69869,7 +70451,7 @@ lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__60() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__60() { _start: { lean_object* x_1; @@ -69877,17 +70459,17 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFields_formatter), return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__61() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__61() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__60; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__60; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__62() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__62() { _start: { lean_object* x_1; @@ -69895,24 +70477,24 @@ x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_structInstFields_parenthesiz return x_1; } } -static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__63() { +static lean_object* _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__63() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__62; +x_1 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__62; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -LEAN_EXPORT lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419_(lean_object* x_1) { +LEAN_EXPORT lean_object* l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477_(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; -x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__1; +x_2 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__1; x_3 = l___regBuiltin_Lean_Parser_Term_letDecl_docString__1___closed__2; -x_4 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__2; -x_5 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__3; +x_4 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__2; +x_5 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__3; x_6 = l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__6; x_7 = l_Lean_Parser_registerAlias(x_2, x_3, x_4, x_5, x_6, x_1); if (lean_obj_tag(x_7) == 0) @@ -69922,7 +70504,7 @@ x_8 = lean_ctor_get(x_7, 1); lean_inc(x_8); lean_dec(x_7); x_9 = l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__9; -x_10 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__4; +x_10 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__4; x_11 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_2, x_10, x_8); if (lean_obj_tag(x_11) == 0) { @@ -69931,7 +70513,7 @@ x_12 = lean_ctor_get(x_11, 1); lean_inc(x_12); lean_dec(x_11); x_13 = l_Lean_Parser_Tactic_initFn____x40_Lean_Parser_Term___hyg_185____closed__12; -x_14 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__5; +x_14 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__5; x_15 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_2, x_14, x_12); if (lean_obj_tag(x_15) == 0) { @@ -69939,10 +70521,10 @@ lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean x_16 = lean_ctor_get(x_15, 1); lean_inc(x_16); lean_dec(x_15); -x_17 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__6; +x_17 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__6; x_18 = l___regBuiltin_Lean_Parser_Term_haveDecl_docString__1___closed__2; -x_19 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__7; -x_20 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__8; +x_19 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__7; +x_20 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__8; x_21 = l_Lean_Parser_registerAlias(x_17, x_18, x_19, x_20, x_6, x_16); if (lean_obj_tag(x_21) == 0) { @@ -69950,7 +70532,7 @@ lean_object* x_22; lean_object* x_23; lean_object* x_24; x_22 = lean_ctor_get(x_21, 1); lean_inc(x_22); lean_dec(x_21); -x_23 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__9; +x_23 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__9; x_24 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_17, x_23, x_22); if (lean_obj_tag(x_24) == 0) { @@ -69958,7 +70540,7 @@ lean_object* x_25; lean_object* x_26; lean_object* x_27; x_25 = lean_ctor_get(x_24, 1); lean_inc(x_25); lean_dec(x_24); -x_26 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__10; +x_26 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__10; x_27 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_17, x_26, x_25); if (lean_obj_tag(x_27) == 0) { @@ -69966,10 +70548,10 @@ lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean x_28 = lean_ctor_get(x_27, 1); lean_inc(x_28); lean_dec(x_27); -x_29 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__11; +x_29 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__11; x_30 = l___regBuiltin_Lean_Parser_Term_sufficesDecl_docString__1___closed__2; -x_31 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__12; -x_32 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__13; +x_31 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__12; +x_32 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__13; x_33 = l_Lean_Parser_registerAlias(x_29, x_30, x_31, x_32, x_6, x_28); if (lean_obj_tag(x_33) == 0) { @@ -69977,7 +70559,7 @@ lean_object* x_34; lean_object* x_35; lean_object* x_36; x_34 = lean_ctor_get(x_33, 1); lean_inc(x_34); lean_dec(x_33); -x_35 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__14; +x_35 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__14; x_36 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_29, x_35, x_34); if (lean_obj_tag(x_36) == 0) { @@ -69985,7 +70567,7 @@ lean_object* x_37; lean_object* x_38; lean_object* x_39; x_37 = lean_ctor_get(x_36, 1); lean_inc(x_37); lean_dec(x_36); -x_38 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__15; +x_38 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__15; x_39 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_29, x_38, x_37); if (lean_obj_tag(x_39) == 0) { @@ -69993,10 +70575,10 @@ lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean x_40 = lean_ctor_get(x_39, 1); lean_inc(x_40); lean_dec(x_39); -x_41 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__16; +x_41 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__16; x_42 = l_Lean_Parser_Term_letRecDecls___closed__2; -x_43 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__17; -x_44 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__18; +x_43 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__17; +x_44 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__18; x_45 = l_Lean_Parser_registerAlias(x_41, x_42, x_43, x_44, x_6, x_40); if (lean_obj_tag(x_45) == 0) { @@ -70004,7 +70586,7 @@ lean_object* x_46; lean_object* x_47; lean_object* x_48; x_46 = lean_ctor_get(x_45, 1); lean_inc(x_46); lean_dec(x_45); -x_47 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__19; +x_47 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__19; x_48 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_41, x_47, x_46); if (lean_obj_tag(x_48) == 0) { @@ -70012,7 +70594,7 @@ lean_object* x_49; lean_object* x_50; lean_object* x_51; x_49 = lean_ctor_get(x_48, 1); lean_inc(x_49); lean_dec(x_48); -x_50 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__20; +x_50 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__20; x_51 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_41, x_50, x_49); if (lean_obj_tag(x_51) == 0) { @@ -70020,10 +70602,10 @@ lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean x_52 = lean_ctor_get(x_51, 1); lean_inc(x_52); lean_dec(x_51); -x_53 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__21; +x_53 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__21; x_54 = l_Lean_Parser_Term_hole___closed__2; -x_55 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__22; -x_56 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__23; +x_55 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__22; +x_56 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__23; x_57 = l_Lean_Parser_registerAlias(x_53, x_54, x_55, x_56, x_6, x_52); if (lean_obj_tag(x_57) == 0) { @@ -70031,7 +70613,7 @@ lean_object* x_58; lean_object* x_59; lean_object* x_60; x_58 = lean_ctor_get(x_57, 1); lean_inc(x_58); lean_dec(x_57); -x_59 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__24; +x_59 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__24; x_60 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_53, x_59, x_58); if (lean_obj_tag(x_60) == 0) { @@ -70039,7 +70621,7 @@ lean_object* x_61; lean_object* x_62; lean_object* x_63; x_61 = lean_ctor_get(x_60, 1); lean_inc(x_61); lean_dec(x_60); -x_62 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__25; +x_62 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__25; x_63 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_53, x_62, x_61); if (lean_obj_tag(x_63) == 0) { @@ -70047,10 +70629,10 @@ lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean x_64 = lean_ctor_get(x_63, 1); lean_inc(x_64); lean_dec(x_63); -x_65 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__26; +x_65 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__26; x_66 = l_Lean_Parser_Term_syntheticHole___closed__2; -x_67 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__27; -x_68 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__28; +x_67 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__27; +x_68 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__28; x_69 = l_Lean_Parser_registerAlias(x_65, x_66, x_67, x_68, x_6, x_64); if (lean_obj_tag(x_69) == 0) { @@ -70058,7 +70640,7 @@ lean_object* x_70; lean_object* x_71; lean_object* x_72; x_70 = lean_ctor_get(x_69, 1); lean_inc(x_70); lean_dec(x_69); -x_71 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__29; +x_71 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__29; x_72 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_65, x_71, x_70); if (lean_obj_tag(x_72) == 0) { @@ -70066,7 +70648,7 @@ lean_object* x_73; lean_object* x_74; lean_object* x_75; x_73 = lean_ctor_get(x_72, 1); lean_inc(x_73); lean_dec(x_72); -x_74 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__30; +x_74 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__30; x_75 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_65, x_74, x_73); if (lean_obj_tag(x_75) == 0) { @@ -70074,10 +70656,10 @@ lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean x_76 = lean_ctor_get(x_75, 1); lean_inc(x_76); lean_dec(x_75); -x_77 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__31; +x_77 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__31; x_78 = l___regBuiltin_Lean_Parser_Term_matchDiscr_docString__1___closed__2; -x_79 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__32; -x_80 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__33; +x_79 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__32; +x_80 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__33; x_81 = l_Lean_Parser_registerAlias(x_77, x_78, x_79, x_80, x_6, x_76); if (lean_obj_tag(x_81) == 0) { @@ -70085,7 +70667,7 @@ lean_object* x_82; lean_object* x_83; lean_object* x_84; x_82 = lean_ctor_get(x_81, 1); lean_inc(x_82); lean_dec(x_81); -x_83 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__34; +x_83 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__34; x_84 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_77, x_83, x_82); if (lean_obj_tag(x_84) == 0) { @@ -70093,7 +70675,7 @@ lean_object* x_85; lean_object* x_86; lean_object* x_87; x_85 = lean_ctor_get(x_84, 1); lean_inc(x_85); lean_dec(x_84); -x_86 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__35; +x_86 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__35; x_87 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_77, x_86, x_85); if (lean_obj_tag(x_87) == 0) { @@ -70101,10 +70683,10 @@ lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; lean x_88 = lean_ctor_get(x_87, 1); lean_inc(x_88); lean_dec(x_87); -x_89 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__36; +x_89 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__36; x_90 = l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__2; -x_91 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__37; -x_92 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__38; +x_91 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__37; +x_92 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__38; x_93 = l_Lean_Parser_registerAlias(x_89, x_90, x_91, x_92, x_6, x_88); if (lean_obj_tag(x_93) == 0) { @@ -70112,7 +70694,7 @@ lean_object* x_94; lean_object* x_95; lean_object* x_96; x_94 = lean_ctor_get(x_93, 1); lean_inc(x_94); lean_dec(x_93); -x_95 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__39; +x_95 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__39; x_96 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_89, x_95, x_94); if (lean_obj_tag(x_96) == 0) { @@ -70120,7 +70702,7 @@ lean_object* x_97; lean_object* x_98; lean_object* x_99; x_97 = lean_ctor_get(x_96, 1); lean_inc(x_97); lean_dec(x_96); -x_98 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__40; +x_98 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__40; x_99 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_89, x_98, x_97); if (lean_obj_tag(x_99) == 0) { @@ -70128,10 +70710,10 @@ lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; x_100 = lean_ctor_get(x_99, 1); lean_inc(x_100); lean_dec(x_99); -x_101 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__41; +x_101 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__41; x_102 = l___regBuiltin_Lean_Parser_Term_attrKind_docString__1___closed__2; -x_103 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__42; -x_104 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__43; +x_103 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__42; +x_104 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__43; x_105 = l_Lean_Parser_registerAlias(x_101, x_102, x_103, x_104, x_6, x_100); if (lean_obj_tag(x_105) == 0) { @@ -70139,7 +70721,7 @@ lean_object* x_106; lean_object* x_107; lean_object* x_108; x_106 = lean_ctor_get(x_105, 1); lean_inc(x_106); lean_dec(x_105); -x_107 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__44; +x_107 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__44; x_108 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_101, x_107, x_106); if (lean_obj_tag(x_108) == 0) { @@ -70147,7 +70729,7 @@ lean_object* x_109; lean_object* x_110; lean_object* x_111; x_109 = lean_ctor_get(x_108, 1); lean_inc(x_109); lean_dec(x_108); -x_110 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__45; +x_110 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__45; x_111 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_101, x_110, x_109); if (lean_obj_tag(x_111) == 0) { @@ -70155,10 +70737,10 @@ lean_object* x_112; lean_object* x_113; lean_object* x_114; lean_object* x_115; x_112 = lean_ctor_get(x_111, 1); lean_inc(x_112); lean_dec(x_111); -x_113 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__47; -x_114 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48; -x_115 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__50; -x_116 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__51; +x_113 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__47; +x_114 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__48; +x_115 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__50; +x_116 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__51; x_117 = l_Lean_Parser_registerAlias(x_113, x_114, x_115, x_116, x_6, x_112); if (lean_obj_tag(x_117) == 0) { @@ -70166,7 +70748,7 @@ lean_object* x_118; lean_object* x_119; lean_object* x_120; x_118 = lean_ctor_get(x_117, 1); lean_inc(x_118); lean_dec(x_117); -x_119 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__53; +x_119 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__53; x_120 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_113, x_119, x_118); if (lean_obj_tag(x_120) == 0) { @@ -70174,7 +70756,7 @@ lean_object* x_121; lean_object* x_122; lean_object* x_123; x_121 = lean_ctor_get(x_120, 1); lean_inc(x_121); lean_dec(x_120); -x_122 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__55; +x_122 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__55; x_123 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_113, x_122, x_121); if (lean_obj_tag(x_123) == 0) { @@ -70182,10 +70764,10 @@ lean_object* x_124; lean_object* x_125; lean_object* x_126; lean_object* x_127; x_124 = lean_ctor_get(x_123, 1); lean_inc(x_124); lean_dec(x_123); -x_125 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__56; +x_125 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__56; x_126 = l_Lean_Parser_Term_structInstFields___closed__2; -x_127 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__58; -x_128 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__59; +x_127 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__58; +x_128 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__59; x_129 = l_Lean_Parser_registerAlias(x_125, x_126, x_127, x_128, x_6, x_124); if (lean_obj_tag(x_129) == 0) { @@ -70193,7 +70775,7 @@ lean_object* x_130; lean_object* x_131; lean_object* x_132; x_130 = lean_ctor_get(x_129, 1); lean_inc(x_130); lean_dec(x_129); -x_131 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__61; +x_131 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__61; x_132 = l_Lean_Parser_registerAliasCore___rarg(x_9, x_125, x_131, x_130); if (lean_obj_tag(x_132) == 0) { @@ -70201,7 +70783,7 @@ lean_object* x_133; lean_object* x_134; lean_object* x_135; x_133 = lean_ctor_get(x_132, 1); lean_inc(x_133); lean_dec(x_132); -x_134 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__63; +x_134 = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__63; x_135 = l_Lean_Parser_registerAliasCore___rarg(x_13, x_125, x_134, x_133); return x_135; } @@ -73136,537 +73718,6 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_show_parenthesizer__1___clo if (builtin) {res = l___regBuiltin_Lean_Parser_Term_show_parenthesizer__1(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -}l_Lean_Parser_Term_structInstArrayRef___closed__1 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__1); -l_Lean_Parser_Term_structInstArrayRef___closed__2 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__2); -l_Lean_Parser_Term_structInstArrayRef___closed__3 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__3); -l_Lean_Parser_Term_structInstArrayRef___closed__4 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__4); -l_Lean_Parser_Term_structInstArrayRef___closed__5 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__5); -l_Lean_Parser_Term_structInstArrayRef___closed__6 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__6); -l_Lean_Parser_Term_structInstArrayRef___closed__7 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__7); -l_Lean_Parser_Term_structInstArrayRef___closed__8 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__8); -l_Lean_Parser_Term_structInstArrayRef___closed__9 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__9); -l_Lean_Parser_Term_structInstArrayRef___closed__10 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__10(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__10); -l_Lean_Parser_Term_structInstArrayRef___closed__11 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__11(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__11); -l_Lean_Parser_Term_structInstArrayRef___closed__12 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__12(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__12); -l_Lean_Parser_Term_structInstArrayRef___closed__13 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__13(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__13); -l_Lean_Parser_Term_structInstArrayRef = _init_l_Lean_Parser_Term_structInstArrayRef(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef); -l_Lean_Parser_Term_structInstLVal___closed__1 = _init_l_Lean_Parser_Term_structInstLVal___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__1); -l_Lean_Parser_Term_structInstLVal___closed__2 = _init_l_Lean_Parser_Term_structInstLVal___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__2); -l_Lean_Parser_Term_structInstLVal___closed__3 = _init_l_Lean_Parser_Term_structInstLVal___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__3); -l_Lean_Parser_Term_structInstLVal___closed__4 = _init_l_Lean_Parser_Term_structInstLVal___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__4); -l_Lean_Parser_Term_structInstLVal___closed__5 = _init_l_Lean_Parser_Term_structInstLVal___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__5); -l_Lean_Parser_Term_structInstLVal___closed__6 = _init_l_Lean_Parser_Term_structInstLVal___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__6); -l_Lean_Parser_Term_structInstLVal___closed__7 = _init_l_Lean_Parser_Term_structInstLVal___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__7); -l_Lean_Parser_Term_structInstLVal___closed__8 = _init_l_Lean_Parser_Term_structInstLVal___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__8); -l_Lean_Parser_Term_structInstLVal___closed__9 = _init_l_Lean_Parser_Term_structInstLVal___closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__9); -l_Lean_Parser_Term_structInstLVal___closed__10 = _init_l_Lean_Parser_Term_structInstLVal___closed__10(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__10); -l_Lean_Parser_Term_structInstLVal___closed__11 = _init_l_Lean_Parser_Term_structInstLVal___closed__11(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__11); -l_Lean_Parser_Term_structInstLVal___closed__12 = _init_l_Lean_Parser_Term_structInstLVal___closed__12(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__12); -l_Lean_Parser_Term_structInstLVal___closed__13 = _init_l_Lean_Parser_Term_structInstLVal___closed__13(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__13); -l_Lean_Parser_Term_structInstLVal___closed__14 = _init_l_Lean_Parser_Term_structInstLVal___closed__14(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__14); -l_Lean_Parser_Term_structInstLVal = _init_l_Lean_Parser_Term_structInstLVal(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal); -l_Lean_Parser_Term_structInstField___closed__1 = _init_l_Lean_Parser_Term_structInstField___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__1); -l_Lean_Parser_Term_structInstField___closed__2 = _init_l_Lean_Parser_Term_structInstField___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__2); -l_Lean_Parser_Term_structInstField___closed__3 = _init_l_Lean_Parser_Term_structInstField___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__3); -l_Lean_Parser_Term_structInstField___closed__4 = _init_l_Lean_Parser_Term_structInstField___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__4); -l_Lean_Parser_Term_structInstField___closed__5 = _init_l_Lean_Parser_Term_structInstField___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__5); -l_Lean_Parser_Term_structInstField___closed__6 = _init_l_Lean_Parser_Term_structInstField___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__6); -l_Lean_Parser_Term_structInstField___closed__7 = _init_l_Lean_Parser_Term_structInstField___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__7); -l_Lean_Parser_Term_structInstField___closed__8 = _init_l_Lean_Parser_Term_structInstField___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__8); -l_Lean_Parser_Term_structInstField___closed__9 = _init_l_Lean_Parser_Term_structInstField___closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__9); -l_Lean_Parser_Term_structInstField___closed__10 = _init_l_Lean_Parser_Term_structInstField___closed__10(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__10); -l_Lean_Parser_Term_structInstField = _init_l_Lean_Parser_Term_structInstField(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__1 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__1); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__2 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__2); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__3 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__3); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__4 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__4); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__5 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__5); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__6 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__6); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__7 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__7); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__8 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__8); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__9 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__9); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__10 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__10(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__10); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__11 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__11(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__11); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__12 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__12(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__12); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__13 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__13(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__13); -l_Lean_Parser_Term_structInstFieldAbbrev___closed__14 = _init_l_Lean_Parser_Term_structInstFieldAbbrev___closed__14(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev___closed__14); -l_Lean_Parser_Term_structInstFieldAbbrev = _init_l_Lean_Parser_Term_structInstFieldAbbrev(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev); -l_Lean_Parser_Term_optEllipsis___closed__1 = _init_l_Lean_Parser_Term_optEllipsis___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__1); -l_Lean_Parser_Term_optEllipsis___closed__2 = _init_l_Lean_Parser_Term_optEllipsis___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__2); -l_Lean_Parser_Term_optEllipsis___closed__3 = _init_l_Lean_Parser_Term_optEllipsis___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__3); -l_Lean_Parser_Term_optEllipsis___closed__4 = _init_l_Lean_Parser_Term_optEllipsis___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__4); -l_Lean_Parser_Term_optEllipsis___closed__5 = _init_l_Lean_Parser_Term_optEllipsis___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__5); -l_Lean_Parser_Term_optEllipsis___closed__6 = _init_l_Lean_Parser_Term_optEllipsis___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__6); -l_Lean_Parser_Term_optEllipsis___closed__7 = _init_l_Lean_Parser_Term_optEllipsis___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__7); -l_Lean_Parser_Term_optEllipsis___closed__8 = _init_l_Lean_Parser_Term_optEllipsis___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__8); -l_Lean_Parser_Term_optEllipsis___closed__9 = _init_l_Lean_Parser_Term_optEllipsis___closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__9); -l_Lean_Parser_Term_optEllipsis = _init_l_Lean_Parser_Term_optEllipsis(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis); -l_Lean_Parser_Term_structInstFields___closed__1 = _init_l_Lean_Parser_Term_structInstFields___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFields___closed__1); -l_Lean_Parser_Term_structInstFields___closed__2 = _init_l_Lean_Parser_Term_structInstFields___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFields___closed__2); -l_Lean_Parser_Term_structInst___closed__1 = _init_l_Lean_Parser_Term_structInst___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__1); -l_Lean_Parser_Term_structInst___closed__2 = _init_l_Lean_Parser_Term_structInst___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__2); -l_Lean_Parser_Term_structInst___closed__3 = _init_l_Lean_Parser_Term_structInst___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__3); -l_Lean_Parser_Term_structInst___closed__4 = _init_l_Lean_Parser_Term_structInst___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__4); -l_Lean_Parser_Term_structInst___closed__5 = _init_l_Lean_Parser_Term_structInst___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__5); -l_Lean_Parser_Term_structInst___closed__6 = _init_l_Lean_Parser_Term_structInst___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__6); -l_Lean_Parser_Term_structInst___closed__7 = _init_l_Lean_Parser_Term_structInst___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__7); -l_Lean_Parser_Term_structInst___closed__8 = _init_l_Lean_Parser_Term_structInst___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__8); -l_Lean_Parser_Term_structInst___closed__9 = _init_l_Lean_Parser_Term_structInst___closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__9); -l_Lean_Parser_Term_structInst___closed__10 = _init_l_Lean_Parser_Term_structInst___closed__10(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__10); -l_Lean_Parser_Term_structInst___closed__11 = _init_l_Lean_Parser_Term_structInst___closed__11(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__11); -l_Lean_Parser_Term_structInst___closed__12 = _init_l_Lean_Parser_Term_structInst___closed__12(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__12); -l_Lean_Parser_Term_structInst___closed__13 = _init_l_Lean_Parser_Term_structInst___closed__13(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__13); -l_Lean_Parser_Term_structInst___closed__14 = _init_l_Lean_Parser_Term_structInst___closed__14(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__14); -l_Lean_Parser_Term_structInst___closed__15 = _init_l_Lean_Parser_Term_structInst___closed__15(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__15); -l_Lean_Parser_Term_structInst___closed__16 = _init_l_Lean_Parser_Term_structInst___closed__16(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__16); -l_Lean_Parser_Term_structInst___closed__17 = _init_l_Lean_Parser_Term_structInst___closed__17(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__17); -l_Lean_Parser_Term_structInst___closed__18 = _init_l_Lean_Parser_Term_structInst___closed__18(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__18); -l_Lean_Parser_Term_structInst___closed__19 = _init_l_Lean_Parser_Term_structInst___closed__19(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__19); -l_Lean_Parser_Term_structInst___closed__20 = _init_l_Lean_Parser_Term_structInst___closed__20(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__20); -l_Lean_Parser_Term_structInst___closed__21 = _init_l_Lean_Parser_Term_structInst___closed__21(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__21); -l_Lean_Parser_Term_structInst___closed__22 = _init_l_Lean_Parser_Term_structInst___closed__22(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__22); -l_Lean_Parser_Term_structInst___closed__23 = _init_l_Lean_Parser_Term_structInst___closed__23(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__23); -l_Lean_Parser_Term_structInst___closed__24 = _init_l_Lean_Parser_Term_structInst___closed__24(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__24); -l_Lean_Parser_Term_structInst___closed__25 = _init_l_Lean_Parser_Term_structInst___closed__25(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__25); -l_Lean_Parser_Term_structInst___closed__26 = _init_l_Lean_Parser_Term_structInst___closed__26(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__26); -l_Lean_Parser_Term_structInst___closed__27 = _init_l_Lean_Parser_Term_structInst___closed__27(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__27); -l_Lean_Parser_Term_structInst___closed__28 = _init_l_Lean_Parser_Term_structInst___closed__28(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__28); -l_Lean_Parser_Term_structInst___closed__29 = _init_l_Lean_Parser_Term_structInst___closed__29(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__29); -l_Lean_Parser_Term_structInst___closed__30 = _init_l_Lean_Parser_Term_structInst___closed__30(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__30); -l_Lean_Parser_Term_structInst___closed__31 = _init_l_Lean_Parser_Term_structInst___closed__31(); -lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__31); -l_Lean_Parser_Term_structInst = _init_l_Lean_Parser_Term_structInst(); -lean_mark_persistent(l_Lean_Parser_Term_structInst); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInst__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l___regBuiltin_Lean_Parser_Term_structInst_docString__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInst_docString__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_docString__1___closed__1); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInst_docString__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__1); -l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__2); -l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__3 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__3(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__3); -l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__4 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__4(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__4); -l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__5 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__5(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__5); -l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__6 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__6(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__6); -l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__7 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__7(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__7); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__1 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__1); -l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__2 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__2); -l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__3 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__3); -l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__4 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__4); -l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__5 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__5); -l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__6 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__6); -l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__7 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__7); -l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__8 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__8); -l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__9 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_formatter___closed__9); -l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__1); -l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_formatter__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_structInstArrayRef_formatter___closed__1 = _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_formatter___closed__1); -l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2 = _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2); -l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3 = _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3); -l_Lean_Parser_Term_structInstArrayRef_formatter___closed__4 = _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_formatter___closed__4); -l_Lean_Parser_Term_structInstArrayRef_formatter___closed__5 = _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_formatter___closed__5); -l_Lean_Parser_Term_structInstArrayRef_formatter___closed__6 = _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_formatter___closed__6); -l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__1); -l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_structInstLVal_formatter___closed__1 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__1); -l_Lean_Parser_Term_structInstLVal_formatter___closed__2 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__2); -l_Lean_Parser_Term_structInstLVal_formatter___closed__3 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__3); -l_Lean_Parser_Term_structInstLVal_formatter___closed__4 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__4); -l_Lean_Parser_Term_structInstLVal_formatter___closed__5 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__5); -l_Lean_Parser_Term_structInstLVal_formatter___closed__6 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__6); -l_Lean_Parser_Term_structInstLVal_formatter___closed__7 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__7); -l_Lean_Parser_Term_structInstLVal_formatter___closed__8 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__8); -l_Lean_Parser_Term_structInstLVal_formatter___closed__9 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__9); -l_Lean_Parser_Term_structInstLVal_formatter___closed__10 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__10(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__10); -l_Lean_Parser_Term_structInstLVal_formatter___closed__11 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__11(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__11); -l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__1); -l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_structInstField_formatter___closed__1 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__1); -l_Lean_Parser_Term_structInstField_formatter___closed__2 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__2); -l_Lean_Parser_Term_structInstField_formatter___closed__3 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__3); -l_Lean_Parser_Term_structInstField_formatter___closed__4 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__4); -l_Lean_Parser_Term_structInstField_formatter___closed__5 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__5); -l_Lean_Parser_Term_structInstField_formatter___closed__6 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__6); -l_Lean_Parser_Term_structInstField_formatter___closed__7 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__7); -l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__1); -l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_optEllipsis_formatter___closed__1 = _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_formatter___closed__1); -l_Lean_Parser_Term_optEllipsis_formatter___closed__2 = _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_formatter___closed__2); -l_Lean_Parser_Term_optEllipsis_formatter___closed__3 = _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_formatter___closed__3); -l_Lean_Parser_Term_optEllipsis_formatter___closed__4 = _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_formatter___closed__4); -l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__1); -l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_structInst_formatter___closed__1 = _init_l_Lean_Parser_Term_structInst_formatter___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__1); -l_Lean_Parser_Term_structInst_formatter___closed__2 = _init_l_Lean_Parser_Term_structInst_formatter___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__2); -l_Lean_Parser_Term_structInst_formatter___closed__3 = _init_l_Lean_Parser_Term_structInst_formatter___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__3); -l_Lean_Parser_Term_structInst_formatter___closed__4 = _init_l_Lean_Parser_Term_structInst_formatter___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__4); -l_Lean_Parser_Term_structInst_formatter___closed__5 = _init_l_Lean_Parser_Term_structInst_formatter___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__5); -l_Lean_Parser_Term_structInst_formatter___closed__6 = _init_l_Lean_Parser_Term_structInst_formatter___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__6); -l_Lean_Parser_Term_structInst_formatter___closed__7 = _init_l_Lean_Parser_Term_structInst_formatter___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__7); -l_Lean_Parser_Term_structInst_formatter___closed__8 = _init_l_Lean_Parser_Term_structInst_formatter___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__8); -l_Lean_Parser_Term_structInst_formatter___closed__9 = _init_l_Lean_Parser_Term_structInst_formatter___closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__9); -l_Lean_Parser_Term_structInst_formatter___closed__10 = _init_l_Lean_Parser_Term_structInst_formatter___closed__10(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__10); -l_Lean_Parser_Term_structInst_formatter___closed__11 = _init_l_Lean_Parser_Term_structInst_formatter___closed__11(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__11); -l_Lean_Parser_Term_structInst_formatter___closed__12 = _init_l_Lean_Parser_Term_structInst_formatter___closed__12(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__12); -l_Lean_Parser_Term_structInst_formatter___closed__13 = _init_l_Lean_Parser_Term_structInst_formatter___closed__13(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__13); -l_Lean_Parser_Term_structInst_formatter___closed__14 = _init_l_Lean_Parser_Term_structInst_formatter___closed__14(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__14); -l_Lean_Parser_Term_structInst_formatter___closed__15 = _init_l_Lean_Parser_Term_structInst_formatter___closed__15(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__15); -l_Lean_Parser_Term_structInst_formatter___closed__16 = _init_l_Lean_Parser_Term_structInst_formatter___closed__16(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__16); -l_Lean_Parser_Term_structInst_formatter___closed__17 = _init_l_Lean_Parser_Term_structInst_formatter___closed__17(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__17); -l_Lean_Parser_Term_structInst_formatter___closed__18 = _init_l_Lean_Parser_Term_structInst_formatter___closed__18(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__18); -l_Lean_Parser_Term_structInst_formatter___closed__19 = _init_l_Lean_Parser_Term_structInst_formatter___closed__19(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__19); -l_Lean_Parser_Term_structInst_formatter___closed__20 = _init_l_Lean_Parser_Term_structInst_formatter___closed__20(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__20); -l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__1); -l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInst_formatter__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__1); -l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__2); -l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__3); -l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__4); -l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__5 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__5); -l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__6); -l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__7 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__7); -l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__8 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__8); -l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__9 = _init_l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer___closed__9); -l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__1); -l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstFieldAbbrev_parenthesizer__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__1); -l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2); -l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3); -l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__4); -l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__5 = _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__5); -l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__6); -l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__1); -l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__1); -l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__2); -l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__3); -l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4); -l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__5 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__5); -l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__6); -l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__7 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__7); -l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__8 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__8); -l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__9 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__9); -l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__10 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__10(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__10); -l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__11 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__11(); -lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__11); -l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__1); -l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_structInstField_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__1); -l_Lean_Parser_Term_structInstField_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__2); -l_Lean_Parser_Term_structInstField_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__3); -l_Lean_Parser_Term_structInstField_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__4); -l_Lean_Parser_Term_structInstField_parenthesizer___closed__5 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__5); -l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__1); -l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__1); -l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__2); -l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__3); -l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__4); -l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__1); -l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_structInst_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__1); -l_Lean_Parser_Term_structInst_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__2); -l_Lean_Parser_Term_structInst_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__3); -l_Lean_Parser_Term_structInst_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__4); -l_Lean_Parser_Term_structInst_parenthesizer___closed__5 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__5); -l_Lean_Parser_Term_structInst_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__6); -l_Lean_Parser_Term_structInst_parenthesizer___closed__7 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__7); -l_Lean_Parser_Term_structInst_parenthesizer___closed__8 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__8); -l_Lean_Parser_Term_structInst_parenthesizer___closed__9 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__9); -l_Lean_Parser_Term_structInst_parenthesizer___closed__10 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__10(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__10); -l_Lean_Parser_Term_structInst_parenthesizer___closed__11 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__11(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__11); -l_Lean_Parser_Term_structInst_parenthesizer___closed__12 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__12(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__12); -l_Lean_Parser_Term_structInst_parenthesizer___closed__13 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__13(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__13); -l_Lean_Parser_Term_structInst_parenthesizer___closed__14 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__14(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__14); -l_Lean_Parser_Term_structInst_parenthesizer___closed__15 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__15(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__15); -l_Lean_Parser_Term_structInst_parenthesizer___closed__16 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__16(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__16); -l_Lean_Parser_Term_structInst_parenthesizer___closed__17 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__17(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__17); -l_Lean_Parser_Term_structInst_parenthesizer___closed__18 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__18(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__18); -l_Lean_Parser_Term_structInst_parenthesizer___closed__19 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__19(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__19); -l_Lean_Parser_Term_structInst_parenthesizer___closed__20 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__20(); -lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__20); -l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__1(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__1); -l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__2(); -lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__2); -if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); }l_Lean_Parser_Term_typeSpec___closed__1 = _init_l_Lean_Parser_Term_typeSpec___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_typeSpec___closed__1); l_Lean_Parser_Term_typeSpec___closed__2 = _init_l_Lean_Parser_Term_typeSpec___closed__2(); @@ -73786,6 +73837,8 @@ l_Lean_Parser_Term_inaccessible___closed__9 = _init_l_Lean_Parser_Term_inaccessi lean_mark_persistent(l_Lean_Parser_Term_inaccessible___closed__9); l_Lean_Parser_Term_inaccessible___closed__10 = _init_l_Lean_Parser_Term_inaccessible___closed__10(); lean_mark_persistent(l_Lean_Parser_Term_inaccessible___closed__10); +l_Lean_Parser_Term_inaccessible___closed__11 = _init_l_Lean_Parser_Term_inaccessible___closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_inaccessible___closed__11); l_Lean_Parser_Term_inaccessible = _init_l_Lean_Parser_Term_inaccessible(); lean_mark_persistent(l_Lean_Parser_Term_inaccessible); if (builtin) {res = l___regBuiltin_Lean_Parser_Term_inaccessible__1(lean_io_mk_world()); @@ -73823,6 +73876,8 @@ l_Lean_Parser_Term_inaccessible_formatter___closed__4 = _init_l_Lean_Parser_Term lean_mark_persistent(l_Lean_Parser_Term_inaccessible_formatter___closed__4); l_Lean_Parser_Term_inaccessible_formatter___closed__5 = _init_l_Lean_Parser_Term_inaccessible_formatter___closed__5(); lean_mark_persistent(l_Lean_Parser_Term_inaccessible_formatter___closed__5); +l_Lean_Parser_Term_inaccessible_formatter___closed__6 = _init_l_Lean_Parser_Term_inaccessible_formatter___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_inaccessible_formatter___closed__6); l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__1); l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_inaccessible_formatter__1___closed__2(); @@ -73840,6 +73895,8 @@ l_Lean_Parser_Term_inaccessible_parenthesizer___closed__4 = _init_l_Lean_Parser_ lean_mark_persistent(l_Lean_Parser_Term_inaccessible_parenthesizer___closed__4); l_Lean_Parser_Term_inaccessible_parenthesizer___closed__5 = _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__5(); lean_mark_persistent(l_Lean_Parser_Term_inaccessible_parenthesizer___closed__5); +l_Lean_Parser_Term_inaccessible_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_inaccessible_parenthesizer___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_inaccessible_parenthesizer___closed__6); l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__1); l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_inaccessible_parenthesizer__1___closed__2(); @@ -73877,6 +73934,10 @@ l_Lean_Parser_Term_binderTactic___closed__10 = _init_l_Lean_Parser_Term_binderTa lean_mark_persistent(l_Lean_Parser_Term_binderTactic___closed__10); l_Lean_Parser_Term_binderTactic___closed__11 = _init_l_Lean_Parser_Term_binderTactic___closed__11(); lean_mark_persistent(l_Lean_Parser_Term_binderTactic___closed__11); +l_Lean_Parser_Term_binderTactic___closed__12 = _init_l_Lean_Parser_Term_binderTactic___closed__12(); +lean_mark_persistent(l_Lean_Parser_Term_binderTactic___closed__12); +l_Lean_Parser_Term_binderTactic___closed__13 = _init_l_Lean_Parser_Term_binderTactic___closed__13(); +lean_mark_persistent(l_Lean_Parser_Term_binderTactic___closed__13); l_Lean_Parser_Term_binderTactic = _init_l_Lean_Parser_Term_binderTactic(); lean_mark_persistent(l_Lean_Parser_Term_binderTactic); l_Lean_Parser_Term_binderDefault___closed__1 = _init_l_Lean_Parser_Term_binderDefault___closed__1(); @@ -73891,6 +73952,8 @@ l_Lean_Parser_Term_binderDefault___closed__5 = _init_l_Lean_Parser_Term_binderDe lean_mark_persistent(l_Lean_Parser_Term_binderDefault___closed__5); l_Lean_Parser_Term_binderDefault___closed__6 = _init_l_Lean_Parser_Term_binderDefault___closed__6(); lean_mark_persistent(l_Lean_Parser_Term_binderDefault___closed__6); +l_Lean_Parser_Term_binderDefault___closed__7 = _init_l_Lean_Parser_Term_binderDefault___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_binderDefault___closed__7); l_Lean_Parser_Term_binderDefault = _init_l_Lean_Parser_Term_binderDefault(); lean_mark_persistent(l_Lean_Parser_Term_binderDefault); l_Lean_Parser_Term_binderDefault_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_binderDefault_parenthesizer___closed__1(); @@ -73995,6 +74058,14 @@ l_Lean_Parser_Term_instBinder___closed__7 = _init_l_Lean_Parser_Term_instBinder_ lean_mark_persistent(l_Lean_Parser_Term_instBinder___closed__7); l_Lean_Parser_Term_instBinder___closed__8 = _init_l_Lean_Parser_Term_instBinder___closed__8(); lean_mark_persistent(l_Lean_Parser_Term_instBinder___closed__8); +l_Lean_Parser_Term_instBinder___closed__9 = _init_l_Lean_Parser_Term_instBinder___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_instBinder___closed__9); +l_Lean_Parser_Term_instBinder___closed__10 = _init_l_Lean_Parser_Term_instBinder___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_instBinder___closed__10); +l_Lean_Parser_Term_instBinder___closed__11 = _init_l_Lean_Parser_Term_instBinder___closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_instBinder___closed__11); +l_Lean_Parser_Term_instBinder___closed__12 = _init_l_Lean_Parser_Term_instBinder___closed__12(); +lean_mark_persistent(l_Lean_Parser_Term_instBinder___closed__12); l_Lean_Parser_Term_instBinder = _init_l_Lean_Parser_Term_instBinder(); lean_mark_persistent(l_Lean_Parser_Term_instBinder); l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_bracketedBinder_docString__1___closed__1(); @@ -74008,34 +74079,7 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }l_Lean_Parser_Term_bracketedBinder___closed__1 = _init_l_Lean_Parser_Term_bracketedBinder___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_bracketedBinder___closed__1); -l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__1 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__1(); -lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__1); -l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__2 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__2(); -lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__2); -l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__3 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__3(); -lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__3); -l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__4 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__4(); -lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__4); -l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__5 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__5(); -lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__5); -l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__6 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__6(); -lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__6); -l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__7 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__7(); -lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__7); -l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__8 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__8(); -lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__8); -l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__9 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__9(); -lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__9); -l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__10 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__10(); -lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__10); -l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__11 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__11(); -lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__11); -l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__12 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__12(); -lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921____closed__12); -if (builtin) {res = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_1921_(lean_io_mk_world()); -if (lean_io_result_is_error(res)) return res; -lean_dec_ref(res); -}l_Lean_Parser_Term_depArrow___closed__1 = _init_l_Lean_Parser_Term_depArrow___closed__1(); +l_Lean_Parser_Term_depArrow___closed__1 = _init_l_Lean_Parser_Term_depArrow___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_depArrow___closed__1); l_Lean_Parser_Term_depArrow___closed__2 = _init_l_Lean_Parser_Term_depArrow___closed__2(); lean_mark_persistent(l_Lean_Parser_Term_depArrow___closed__2); @@ -74081,7 +74125,9 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1___clo if (builtin) {res = l___regBuiltin_Lean_Parser_Term_depArrow_declRange__1(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -}l_Lean_Parser_Tactic_tacticSeq_formatter___closed__1 = _init_l_Lean_Parser_Tactic_tacticSeq_formatter___closed__1(); +}l_Lean_Parser_Term_binderType_formatter___closed__1 = _init_l_Lean_Parser_Term_binderType_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_binderType_formatter___closed__1); +l_Lean_Parser_Tactic_tacticSeq_formatter___closed__1 = _init_l_Lean_Parser_Tactic_tacticSeq_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq_formatter___closed__1); l_Lean_Parser_Tactic_tacticSeq_formatter___closed__2 = _init_l_Lean_Parser_Tactic_tacticSeq_formatter___closed__2(); lean_mark_persistent(l_Lean_Parser_Tactic_tacticSeq_formatter___closed__2); @@ -74104,6 +74150,8 @@ l_Lean_Parser_Term_binderTactic_formatter___closed__5 = _init_l_Lean_Parser_Term lean_mark_persistent(l_Lean_Parser_Term_binderTactic_formatter___closed__5); l_Lean_Parser_Term_binderTactic_formatter___closed__6 = _init_l_Lean_Parser_Term_binderTactic_formatter___closed__6(); lean_mark_persistent(l_Lean_Parser_Term_binderTactic_formatter___closed__6); +l_Lean_Parser_Term_binderTactic_formatter___closed__7 = _init_l_Lean_Parser_Term_binderTactic_formatter___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_binderTactic_formatter___closed__7); l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__1); l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_binderTactic_formatter__1___closed__2(); @@ -74115,6 +74163,8 @@ lean_dec_ref(res); lean_mark_persistent(l_Lean_Parser_Term_binderDefault_formatter___closed__1); l_Lean_Parser_Term_binderDefault_formatter___closed__2 = _init_l_Lean_Parser_Term_binderDefault_formatter___closed__2(); lean_mark_persistent(l_Lean_Parser_Term_binderDefault_formatter___closed__2); +l_Lean_Parser_Term_binderDefault_formatter___closed__3 = _init_l_Lean_Parser_Term_binderDefault_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_binderDefault_formatter___closed__3); l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__1); l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_binderDefault_formatter__1___closed__2(); @@ -74174,6 +74224,10 @@ l_Lean_Parser_Term_instBinder_formatter___closed__7 = _init_l_Lean_Parser_Term_i lean_mark_persistent(l_Lean_Parser_Term_instBinder_formatter___closed__7); l_Lean_Parser_Term_instBinder_formatter___closed__8 = _init_l_Lean_Parser_Term_instBinder_formatter___closed__8(); lean_mark_persistent(l_Lean_Parser_Term_instBinder_formatter___closed__8); +l_Lean_Parser_Term_instBinder_formatter___closed__9 = _init_l_Lean_Parser_Term_instBinder_formatter___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_instBinder_formatter___closed__9); +l_Lean_Parser_Term_instBinder_formatter___closed__10 = _init_l_Lean_Parser_Term_instBinder_formatter___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_instBinder_formatter___closed__10); l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__1); l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_instBinder_formatter__1___closed__2(); @@ -74227,6 +74281,8 @@ l_Lean_Parser_Term_binderTactic_parenthesizer___closed__5 = _init_l_Lean_Parser_ lean_mark_persistent(l_Lean_Parser_Term_binderTactic_parenthesizer___closed__5); l_Lean_Parser_Term_binderTactic_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__6(); lean_mark_persistent(l_Lean_Parser_Term_binderTactic_parenthesizer___closed__6); +l_Lean_Parser_Term_binderTactic_parenthesizer___closed__7 = _init_l_Lean_Parser_Term_binderTactic_parenthesizer___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_binderTactic_parenthesizer___closed__7); l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__1); l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_binderTactic_parenthesizer__1___closed__2(); @@ -74288,6 +74344,10 @@ l_Lean_Parser_Term_instBinder_parenthesizer___closed__7 = _init_l_Lean_Parser_Te lean_mark_persistent(l_Lean_Parser_Term_instBinder_parenthesizer___closed__7); l_Lean_Parser_Term_instBinder_parenthesizer___closed__8 = _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__8(); lean_mark_persistent(l_Lean_Parser_Term_instBinder_parenthesizer___closed__8); +l_Lean_Parser_Term_instBinder_parenthesizer___closed__9 = _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_instBinder_parenthesizer___closed__9); +l_Lean_Parser_Term_instBinder_parenthesizer___closed__10 = _init_l_Lean_Parser_Term_instBinder_parenthesizer___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_instBinder_parenthesizer___closed__10); l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__1); l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_instBinder_parenthesizer__1___closed__2(); @@ -74474,6 +74534,8 @@ l_Lean_Parser_Term_matchAlt___closed__9 = _init_l_Lean_Parser_Term_matchAlt___cl lean_mark_persistent(l_Lean_Parser_Term_matchAlt___closed__9); l_Lean_Parser_Term_matchAlt___closed__10 = _init_l_Lean_Parser_Term_matchAlt___closed__10(); lean_mark_persistent(l_Lean_Parser_Term_matchAlt___closed__10); +l_Lean_Parser_Term_matchAlt___closed__11 = _init_l_Lean_Parser_Term_matchAlt___closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_matchAlt___closed__11); l_Lean_Parser_Term_matchAltExpr___closed__1 = _init_l_Lean_Parser_Term_matchAltExpr___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_matchAltExpr___closed__1); l_Lean_Parser_Term_matchAltExpr = _init_l_Lean_Parser_Term_matchAltExpr(); @@ -74767,6 +74829,8 @@ l_Lean_Parser_Term_matchAlt_formatter___closed__5 = _init_l_Lean_Parser_Term_mat lean_mark_persistent(l_Lean_Parser_Term_matchAlt_formatter___closed__5); l_Lean_Parser_Term_matchAlt_formatter___closed__6 = _init_l_Lean_Parser_Term_matchAlt_formatter___closed__6(); lean_mark_persistent(l_Lean_Parser_Term_matchAlt_formatter___closed__6); +l_Lean_Parser_Term_matchAlt_formatter___closed__7 = _init_l_Lean_Parser_Term_matchAlt_formatter___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_matchAlt_formatter___closed__7); l_Lean_Parser_Term_matchAlts_formatter___closed__1 = _init_l_Lean_Parser_Term_matchAlts_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_matchAlts_formatter___closed__1); l_Lean_Parser_Term_match_formatter___closed__1 = _init_l_Lean_Parser_Term_match_formatter___closed__1(); @@ -74907,6 +74971,8 @@ l_Lean_Parser_Term_matchAlt_parenthesizer___closed__5 = _init_l_Lean_Parser_Term lean_mark_persistent(l_Lean_Parser_Term_matchAlt_parenthesizer___closed__5); l_Lean_Parser_Term_matchAlt_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__6(); lean_mark_persistent(l_Lean_Parser_Term_matchAlt_parenthesizer___closed__6); +l_Lean_Parser_Term_matchAlt_parenthesizer___closed__7 = _init_l_Lean_Parser_Term_matchAlt_parenthesizer___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_matchAlt_parenthesizer___closed__7); l_Lean_Parser_Term_matchAlts_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_matchAlts_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_matchAlts_parenthesizer___closed__1); l_Lean_Parser_Term_match_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_match_parenthesizer___closed__1(); @@ -75081,6 +75147,604 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_nofun_parenthesizer__1___cl if (builtin) {res = l___regBuiltin_Lean_Parser_Term_nofun_parenthesizer__1(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +}l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__1 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__1); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__2 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__2); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__3 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__3); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__4 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__4); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__5 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__5); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__6 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__6); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__7 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__7); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__8 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__8); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__9 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__9); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__10 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__10); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__11 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__11); +l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__12 = _init_l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__12(); +lean_mark_persistent(l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099____closed__12); +if (builtin) {res = l_Lean_Parser_Term_initFn____x40_Lean_Parser_Term___hyg_2099_(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstFieldDeclParser___closed__1 = _init_l_Lean_Parser_Term_structInstFieldDeclParser___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDeclParser___closed__1); +l_Lean_Parser_Term_optEllipsis___closed__1 = _init_l_Lean_Parser_Term_optEllipsis___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__1); +l_Lean_Parser_Term_optEllipsis___closed__2 = _init_l_Lean_Parser_Term_optEllipsis___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__2); +l_Lean_Parser_Term_optEllipsis___closed__3 = _init_l_Lean_Parser_Term_optEllipsis___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__3); +l_Lean_Parser_Term_optEllipsis___closed__4 = _init_l_Lean_Parser_Term_optEllipsis___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__4); +l_Lean_Parser_Term_optEllipsis___closed__5 = _init_l_Lean_Parser_Term_optEllipsis___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__5); +l_Lean_Parser_Term_optEllipsis___closed__6 = _init_l_Lean_Parser_Term_optEllipsis___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__6); +l_Lean_Parser_Term_optEllipsis___closed__7 = _init_l_Lean_Parser_Term_optEllipsis___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__7); +l_Lean_Parser_Term_optEllipsis___closed__8 = _init_l_Lean_Parser_Term_optEllipsis___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__8); +l_Lean_Parser_Term_optEllipsis___closed__9 = _init_l_Lean_Parser_Term_optEllipsis___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis___closed__9); +l_Lean_Parser_Term_optEllipsis = _init_l_Lean_Parser_Term_optEllipsis(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis); +l_Lean_Parser_Term_structInstArrayRef___closed__1 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__1); +l_Lean_Parser_Term_structInstArrayRef___closed__2 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__2); +l_Lean_Parser_Term_structInstArrayRef___closed__3 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__3); +l_Lean_Parser_Term_structInstArrayRef___closed__4 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__4); +l_Lean_Parser_Term_structInstArrayRef___closed__5 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__5); +l_Lean_Parser_Term_structInstArrayRef___closed__6 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__6); +l_Lean_Parser_Term_structInstArrayRef___closed__7 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__7); +l_Lean_Parser_Term_structInstArrayRef___closed__8 = _init_l_Lean_Parser_Term_structInstArrayRef___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef___closed__8); +l_Lean_Parser_Term_structInstArrayRef = _init_l_Lean_Parser_Term_structInstArrayRef(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef); +l_Lean_Parser_Term_structInstLVal___closed__1 = _init_l_Lean_Parser_Term_structInstLVal___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__1); +l_Lean_Parser_Term_structInstLVal___closed__2 = _init_l_Lean_Parser_Term_structInstLVal___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__2); +l_Lean_Parser_Term_structInstLVal___closed__3 = _init_l_Lean_Parser_Term_structInstLVal___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__3); +l_Lean_Parser_Term_structInstLVal___closed__4 = _init_l_Lean_Parser_Term_structInstLVal___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__4); +l_Lean_Parser_Term_structInstLVal___closed__5 = _init_l_Lean_Parser_Term_structInstLVal___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__5); +l_Lean_Parser_Term_structInstLVal___closed__6 = _init_l_Lean_Parser_Term_structInstLVal___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__6); +l_Lean_Parser_Term_structInstLVal___closed__7 = _init_l_Lean_Parser_Term_structInstLVal___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__7); +l_Lean_Parser_Term_structInstLVal___closed__8 = _init_l_Lean_Parser_Term_structInstLVal___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__8); +l_Lean_Parser_Term_structInstLVal___closed__9 = _init_l_Lean_Parser_Term_structInstLVal___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__9); +l_Lean_Parser_Term_structInstLVal___closed__10 = _init_l_Lean_Parser_Term_structInstLVal___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__10); +l_Lean_Parser_Term_structInstLVal___closed__11 = _init_l_Lean_Parser_Term_structInstLVal___closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__11); +l_Lean_Parser_Term_structInstLVal___closed__12 = _init_l_Lean_Parser_Term_structInstLVal___closed__12(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__12); +l_Lean_Parser_Term_structInstLVal___closed__13 = _init_l_Lean_Parser_Term_structInstLVal___closed__13(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__13); +l_Lean_Parser_Term_structInstLVal___closed__14 = _init_l_Lean_Parser_Term_structInstLVal___closed__14(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal___closed__14); +l_Lean_Parser_Term_structInstLVal = _init_l_Lean_Parser_Term_structInstLVal(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal); +l_Lean_Parser_Term_structInstFieldBinder___closed__1 = _init_l_Lean_Parser_Term_structInstFieldBinder___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldBinder___closed__1); +l_Lean_Parser_Term_structInstFieldBinder___closed__2 = _init_l_Lean_Parser_Term_structInstFieldBinder___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldBinder___closed__2); +l_Lean_Parser_Term_structInstFieldBinder___closed__3 = _init_l_Lean_Parser_Term_structInstFieldBinder___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldBinder___closed__3); +l_Lean_Parser_Term_structInstFieldBinder___closed__4 = _init_l_Lean_Parser_Term_structInstFieldBinder___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldBinder___closed__4); +l_Lean_Parser_Term_structInstFieldBinder = _init_l_Lean_Parser_Term_structInstFieldBinder(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldBinder); +l_Lean_Parser_Term_optTypeForStructInst___closed__1 = _init_l_Lean_Parser_Term_optTypeForStructInst___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_optTypeForStructInst___closed__1); +l_Lean_Parser_Term_optTypeForStructInst___closed__2 = _init_l_Lean_Parser_Term_optTypeForStructInst___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_optTypeForStructInst___closed__2); +l_Lean_Parser_Term_optTypeForStructInst___closed__3 = _init_l_Lean_Parser_Term_optTypeForStructInst___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_optTypeForStructInst___closed__3); +l_Lean_Parser_Term_optTypeForStructInst___closed__4 = _init_l_Lean_Parser_Term_optTypeForStructInst___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_optTypeForStructInst___closed__4); +l_Lean_Parser_Term_optTypeForStructInst = _init_l_Lean_Parser_Term_optTypeForStructInst(); +lean_mark_persistent(l_Lean_Parser_Term_optTypeForStructInst); +l_Lean_Parser_Term_structInstField___closed__1 = _init_l_Lean_Parser_Term_structInstField___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__1); +l_Lean_Parser_Term_structInstField___closed__2 = _init_l_Lean_Parser_Term_structInstField___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__2); +l_Lean_Parser_Term_structInstField___closed__3 = _init_l_Lean_Parser_Term_structInstField___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__3); +l_Lean_Parser_Term_structInstField___closed__4 = _init_l_Lean_Parser_Term_structInstField___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__4); +l_Lean_Parser_Term_structInstField___closed__5 = _init_l_Lean_Parser_Term_structInstField___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__5); +l_Lean_Parser_Term_structInstField___closed__6 = _init_l_Lean_Parser_Term_structInstField___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__6); +l_Lean_Parser_Term_structInstField___closed__7 = _init_l_Lean_Parser_Term_structInstField___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__7); +l_Lean_Parser_Term_structInstField___closed__8 = _init_l_Lean_Parser_Term_structInstField___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__8); +l_Lean_Parser_Term_structInstField___closed__9 = _init_l_Lean_Parser_Term_structInstField___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__9); +l_Lean_Parser_Term_structInstField___closed__10 = _init_l_Lean_Parser_Term_structInstField___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__10); +l_Lean_Parser_Term_structInstField___closed__11 = _init_l_Lean_Parser_Term_structInstField___closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__11); +l_Lean_Parser_Term_structInstField___closed__12 = _init_l_Lean_Parser_Term_structInstField___closed__12(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__12); +l_Lean_Parser_Term_structInstField___closed__13 = _init_l_Lean_Parser_Term_structInstField___closed__13(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField___closed__13); +l_Lean_Parser_Term_structInstField = _init_l_Lean_Parser_Term_structInstField(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField); +l_Lean_Parser_Term_structInstFields___closed__1 = _init_l_Lean_Parser_Term_structInstFields___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFields___closed__1); +l_Lean_Parser_Term_structInstFields___closed__2 = _init_l_Lean_Parser_Term_structInstFields___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFields___closed__2); +l_Lean_Parser_Term_structInst___closed__1 = _init_l_Lean_Parser_Term_structInst___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__1); +l_Lean_Parser_Term_structInst___closed__2 = _init_l_Lean_Parser_Term_structInst___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__2); +l_Lean_Parser_Term_structInst___closed__3 = _init_l_Lean_Parser_Term_structInst___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__3); +l_Lean_Parser_Term_structInst___closed__4 = _init_l_Lean_Parser_Term_structInst___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__4); +l_Lean_Parser_Term_structInst___closed__5 = _init_l_Lean_Parser_Term_structInst___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__5); +l_Lean_Parser_Term_structInst___closed__6 = _init_l_Lean_Parser_Term_structInst___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__6); +l_Lean_Parser_Term_structInst___closed__7 = _init_l_Lean_Parser_Term_structInst___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__7); +l_Lean_Parser_Term_structInst___closed__8 = _init_l_Lean_Parser_Term_structInst___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__8); +l_Lean_Parser_Term_structInst___closed__9 = _init_l_Lean_Parser_Term_structInst___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__9); +l_Lean_Parser_Term_structInst___closed__10 = _init_l_Lean_Parser_Term_structInst___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__10); +l_Lean_Parser_Term_structInst___closed__11 = _init_l_Lean_Parser_Term_structInst___closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__11); +l_Lean_Parser_Term_structInst___closed__12 = _init_l_Lean_Parser_Term_structInst___closed__12(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__12); +l_Lean_Parser_Term_structInst___closed__13 = _init_l_Lean_Parser_Term_structInst___closed__13(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__13); +l_Lean_Parser_Term_structInst___closed__14 = _init_l_Lean_Parser_Term_structInst___closed__14(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__14); +l_Lean_Parser_Term_structInst___closed__15 = _init_l_Lean_Parser_Term_structInst___closed__15(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__15); +l_Lean_Parser_Term_structInst___closed__16 = _init_l_Lean_Parser_Term_structInst___closed__16(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__16); +l_Lean_Parser_Term_structInst___closed__17 = _init_l_Lean_Parser_Term_structInst___closed__17(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__17); +l_Lean_Parser_Term_structInst___closed__18 = _init_l_Lean_Parser_Term_structInst___closed__18(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__18); +l_Lean_Parser_Term_structInst___closed__19 = _init_l_Lean_Parser_Term_structInst___closed__19(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__19); +l_Lean_Parser_Term_structInst___closed__20 = _init_l_Lean_Parser_Term_structInst___closed__20(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__20); +l_Lean_Parser_Term_structInst___closed__21 = _init_l_Lean_Parser_Term_structInst___closed__21(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__21); +l_Lean_Parser_Term_structInst___closed__22 = _init_l_Lean_Parser_Term_structInst___closed__22(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__22); +l_Lean_Parser_Term_structInst___closed__23 = _init_l_Lean_Parser_Term_structInst___closed__23(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__23); +l_Lean_Parser_Term_structInst___closed__24 = _init_l_Lean_Parser_Term_structInst___closed__24(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__24); +l_Lean_Parser_Term_structInst___closed__25 = _init_l_Lean_Parser_Term_structInst___closed__25(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__25); +l_Lean_Parser_Term_structInst___closed__26 = _init_l_Lean_Parser_Term_structInst___closed__26(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__26); +l_Lean_Parser_Term_structInst___closed__27 = _init_l_Lean_Parser_Term_structInst___closed__27(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__27); +l_Lean_Parser_Term_structInst___closed__28 = _init_l_Lean_Parser_Term_structInst___closed__28(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__28); +l_Lean_Parser_Term_structInst___closed__29 = _init_l_Lean_Parser_Term_structInst___closed__29(); +lean_mark_persistent(l_Lean_Parser_Term_structInst___closed__29); +l_Lean_Parser_Term_structInst = _init_l_Lean_Parser_Term_structInst(); +lean_mark_persistent(l_Lean_Parser_Term_structInst); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInst__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l___regBuiltin_Lean_Parser_Term_structInst_docString__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInst_docString__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_docString__1___closed__1); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInst_docString__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__2); +l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__3 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__3(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__3); +l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__4 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__4(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__4); +l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__5 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__5(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__5); +l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__6 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__6(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__6); +l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__7 = _init_l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__7(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_declRange__1___closed__7); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInst_declRange__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstArrayRef_formatter___closed__1 = _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_formatter___closed__1); +l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2 = _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_formatter___closed__2); +l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3 = _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_formatter___closed__3); +l_Lean_Parser_Term_structInstArrayRef_formatter___closed__4 = _init_l_Lean_Parser_Term_structInstArrayRef_formatter___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_formatter___closed__4); +l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_formatter__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstLVal_formatter___closed__1 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__1); +l_Lean_Parser_Term_structInstLVal_formatter___closed__2 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__2); +l_Lean_Parser_Term_structInstLVal_formatter___closed__3 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__3); +l_Lean_Parser_Term_structInstLVal_formatter___closed__4 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__4); +l_Lean_Parser_Term_structInstLVal_formatter___closed__5 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__5); +l_Lean_Parser_Term_structInstLVal_formatter___closed__6 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__6); +l_Lean_Parser_Term_structInstLVal_formatter___closed__7 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__7); +l_Lean_Parser_Term_structInstLVal_formatter___closed__8 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__8); +l_Lean_Parser_Term_structInstLVal_formatter___closed__9 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__9); +l_Lean_Parser_Term_structInstLVal_formatter___closed__10 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__10); +l_Lean_Parser_Term_structInstLVal_formatter___closed__11 = _init_l_Lean_Parser_Term_structInstLVal_formatter___closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_formatter___closed__11); +l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstLVal_formatter__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstFieldBinder_formatter___closed__1 = _init_l_Lean_Parser_Term_structInstFieldBinder_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldBinder_formatter___closed__1); +l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__1 = _init_l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__1); +l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__2 = _init_l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__2); +l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__3 = _init_l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_optTypeForStructInst_formatter___closed__3); +l_Lean_Parser_Term_structInstField_formatter___closed__1 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__1); +l_Lean_Parser_Term_structInstField_formatter___closed__2 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__2); +l_Lean_Parser_Term_structInstField_formatter___closed__3 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__3); +l_Lean_Parser_Term_structInstField_formatter___closed__4 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__4); +l_Lean_Parser_Term_structInstField_formatter___closed__5 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__5); +l_Lean_Parser_Term_structInstField_formatter___closed__6 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__6); +l_Lean_Parser_Term_structInstField_formatter___closed__7 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__7); +l_Lean_Parser_Term_structInstField_formatter___closed__8 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__8); +l_Lean_Parser_Term_structInstField_formatter___closed__9 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__9); +l_Lean_Parser_Term_structInstField_formatter___closed__10 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__10); +l_Lean_Parser_Term_structInstField_formatter___closed__11 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__11); +l_Lean_Parser_Term_structInstField_formatter___closed__12 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__12(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__12); +l_Lean_Parser_Term_structInstField_formatter___closed__13 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__13(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__13); +l_Lean_Parser_Term_structInstField_formatter___closed__14 = _init_l_Lean_Parser_Term_structInstField_formatter___closed__14(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_formatter___closed__14); +l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstField_formatter__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_optEllipsis_formatter___closed__1 = _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_formatter___closed__1); +l_Lean_Parser_Term_optEllipsis_formatter___closed__2 = _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_formatter___closed__2); +l_Lean_Parser_Term_optEllipsis_formatter___closed__3 = _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_formatter___closed__3); +l_Lean_Parser_Term_optEllipsis_formatter___closed__4 = _init_l_Lean_Parser_Term_optEllipsis_formatter___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_formatter___closed__4); +l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__1); +l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_optEllipsis_formatter__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInst_formatter___closed__1 = _init_l_Lean_Parser_Term_structInst_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__1); +l_Lean_Parser_Term_structInst_formatter___closed__2 = _init_l_Lean_Parser_Term_structInst_formatter___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__2); +l_Lean_Parser_Term_structInst_formatter___closed__3 = _init_l_Lean_Parser_Term_structInst_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__3); +l_Lean_Parser_Term_structInst_formatter___closed__4 = _init_l_Lean_Parser_Term_structInst_formatter___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__4); +l_Lean_Parser_Term_structInst_formatter___closed__5 = _init_l_Lean_Parser_Term_structInst_formatter___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__5); +l_Lean_Parser_Term_structInst_formatter___closed__6 = _init_l_Lean_Parser_Term_structInst_formatter___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__6); +l_Lean_Parser_Term_structInst_formatter___closed__7 = _init_l_Lean_Parser_Term_structInst_formatter___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__7); +l_Lean_Parser_Term_structInst_formatter___closed__8 = _init_l_Lean_Parser_Term_structInst_formatter___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__8); +l_Lean_Parser_Term_structInst_formatter___closed__9 = _init_l_Lean_Parser_Term_structInst_formatter___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__9); +l_Lean_Parser_Term_structInst_formatter___closed__10 = _init_l_Lean_Parser_Term_structInst_formatter___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__10); +l_Lean_Parser_Term_structInst_formatter___closed__11 = _init_l_Lean_Parser_Term_structInst_formatter___closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__11); +l_Lean_Parser_Term_structInst_formatter___closed__12 = _init_l_Lean_Parser_Term_structInst_formatter___closed__12(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__12); +l_Lean_Parser_Term_structInst_formatter___closed__13 = _init_l_Lean_Parser_Term_structInst_formatter___closed__13(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__13); +l_Lean_Parser_Term_structInst_formatter___closed__14 = _init_l_Lean_Parser_Term_structInst_formatter___closed__14(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__14); +l_Lean_Parser_Term_structInst_formatter___closed__15 = _init_l_Lean_Parser_Term_structInst_formatter___closed__15(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__15); +l_Lean_Parser_Term_structInst_formatter___closed__16 = _init_l_Lean_Parser_Term_structInst_formatter___closed__16(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__16); +l_Lean_Parser_Term_structInst_formatter___closed__17 = _init_l_Lean_Parser_Term_structInst_formatter___closed__17(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_formatter___closed__17); +l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_formatter__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInst_formatter__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__1); +l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__2); +l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__3); +l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInstArrayRef_parenthesizer___closed__4); +l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstArrayRef_parenthesizer__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__1); +l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__2); +l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__3); +l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__4); +l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__5 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__5); +l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__6); +l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__7 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__7); +l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__8 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__8); +l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__9 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__9); +l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__10 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__10); +l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__11 = _init_l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_structInstLVal_parenthesizer___closed__11); +l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstLVal_parenthesizer__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstFieldBinder_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_structInstFieldBinder_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldBinder_parenthesizer___closed__1); +l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__1); +l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__2); +l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_optTypeForStructInst_parenthesizer___closed__3); +l_Lean_Parser_Term_structInstField_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__1); +l_Lean_Parser_Term_structInstField_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__2); +l_Lean_Parser_Term_structInstField_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__3); +l_Lean_Parser_Term_structInstField_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__4); +l_Lean_Parser_Term_structInstField_parenthesizer___closed__5 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__5); +l_Lean_Parser_Term_structInstField_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__6); +l_Lean_Parser_Term_structInstField_parenthesizer___closed__7 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__7); +l_Lean_Parser_Term_structInstField_parenthesizer___closed__8 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__8); +l_Lean_Parser_Term_structInstField_parenthesizer___closed__9 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__9); +l_Lean_Parser_Term_structInstField_parenthesizer___closed__10 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__10); +l_Lean_Parser_Term_structInstField_parenthesizer___closed__11 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__11); +l_Lean_Parser_Term_structInstField_parenthesizer___closed__12 = _init_l_Lean_Parser_Term_structInstField_parenthesizer___closed__12(); +lean_mark_persistent(l_Lean_Parser_Term_structInstField_parenthesizer___closed__12); +l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstField_parenthesizer__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__1); +l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__2); +l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__3); +l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_optEllipsis_parenthesizer___closed__4); +l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__1); +l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_optEllipsis_parenthesizer__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInst_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__1); +l_Lean_Parser_Term_structInst_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__2); +l_Lean_Parser_Term_structInst_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__3); +l_Lean_Parser_Term_structInst_parenthesizer___closed__4 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__4); +l_Lean_Parser_Term_structInst_parenthesizer___closed__5 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__5); +l_Lean_Parser_Term_structInst_parenthesizer___closed__6 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__6); +l_Lean_Parser_Term_structInst_parenthesizer___closed__7 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__7); +l_Lean_Parser_Term_structInst_parenthesizer___closed__8 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__8); +l_Lean_Parser_Term_structInst_parenthesizer___closed__9 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__9(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__9); +l_Lean_Parser_Term_structInst_parenthesizer___closed__10 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__10(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__10); +l_Lean_Parser_Term_structInst_parenthesizer___closed__11 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__11(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__11); +l_Lean_Parser_Term_structInst_parenthesizer___closed__12 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__12(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__12); +l_Lean_Parser_Term_structInst_parenthesizer___closed__13 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__13(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__13); +l_Lean_Parser_Term_structInst_parenthesizer___closed__14 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__14(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__14); +l_Lean_Parser_Term_structInst_parenthesizer___closed__15 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__15(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__15); +l_Lean_Parser_Term_structInst_parenthesizer___closed__16 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__16(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__16); +l_Lean_Parser_Term_structInst_parenthesizer___closed__17 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__17(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__17); +l_Lean_Parser_Term_structInst_parenthesizer___closed__18 = _init_l_Lean_Parser_Term_structInst_parenthesizer___closed__18(); +lean_mark_persistent(l_Lean_Parser_Term_structInst_parenthesizer___closed__18); +l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInst_parenthesizer__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstFieldDef___closed__1 = _init_l_Lean_Parser_Term_structInstFieldDef___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDef___closed__1); +l_Lean_Parser_Term_structInstFieldDef___closed__2 = _init_l_Lean_Parser_Term_structInstFieldDef___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDef___closed__2); +l_Lean_Parser_Term_structInstFieldDef___closed__3 = _init_l_Lean_Parser_Term_structInstFieldDef___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDef___closed__3); +l_Lean_Parser_Term_structInstFieldDef___closed__4 = _init_l_Lean_Parser_Term_structInstFieldDef___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDef___closed__4); +l_Lean_Parser_Term_structInstFieldDef___closed__5 = _init_l_Lean_Parser_Term_structInstFieldDef___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDef___closed__5); +l_Lean_Parser_Term_structInstFieldDef___closed__6 = _init_l_Lean_Parser_Term_structInstFieldDef___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDef___closed__6); +l_Lean_Parser_Term_structInstFieldDef = _init_l_Lean_Parser_Term_structInstFieldDef(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDef); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstFieldDef__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstFieldDef_formatter___closed__1 = _init_l_Lean_Parser_Term_structInstFieldDef_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDef_formatter___closed__1); +l_Lean_Parser_Term_structInstFieldDef_formatter___closed__2 = _init_l_Lean_Parser_Term_structInstFieldDef_formatter___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDef_formatter___closed__2); +l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstFieldDef_formatter__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__1); +l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__2); +l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldDef_parenthesizer___closed__3); +l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstFieldDef_parenthesizer__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstFieldEqns___closed__1 = _init_l_Lean_Parser_Term_structInstFieldEqns___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldEqns___closed__1); +l_Lean_Parser_Term_structInstFieldEqns___closed__2 = _init_l_Lean_Parser_Term_structInstFieldEqns___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldEqns___closed__2); +l_Lean_Parser_Term_structInstFieldEqns___closed__3 = _init_l_Lean_Parser_Term_structInstFieldEqns___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldEqns___closed__3); +l_Lean_Parser_Term_structInstFieldEqns___closed__4 = _init_l_Lean_Parser_Term_structInstFieldEqns___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldEqns___closed__4); +l_Lean_Parser_Term_structInstFieldEqns___closed__5 = _init_l_Lean_Parser_Term_structInstFieldEqns___closed__5(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldEqns___closed__5); +l_Lean_Parser_Term_structInstFieldEqns___closed__6 = _init_l_Lean_Parser_Term_structInstFieldEqns___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldEqns___closed__6); +l_Lean_Parser_Term_structInstFieldEqns = _init_l_Lean_Parser_Term_structInstFieldEqns(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldEqns); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstFieldEqns__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstFieldEqns_formatter___closed__1 = _init_l_Lean_Parser_Term_structInstFieldEqns_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldEqns_formatter___closed__1); +l_Lean_Parser_Term_structInstFieldEqns_formatter___closed__2 = _init_l_Lean_Parser_Term_structInstFieldEqns_formatter___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldEqns_formatter___closed__2); +l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_formatter__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); +}l_Lean_Parser_Term_structInstFieldEqns_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_structInstFieldEqns_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldEqns_parenthesizer___closed__1); +l_Lean_Parser_Term_structInstFieldEqns_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_structInstFieldEqns_parenthesizer___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_structInstFieldEqns_parenthesizer___closed__2); +l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1___closed__1 = _init_l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1___closed__1(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1___closed__1); +l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1___closed__2 = _init_l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1___closed__2(); +lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1___closed__2); +if (builtin) {res = l___regBuiltin_Lean_Parser_Term_structInstFieldEqns_parenthesizer__1(lean_io_mk_world()); +if (lean_io_result_is_error(res)) return res; +lean_dec_ref(res); }l_Lean_Parser_Term_funImplicitBinder___closed__1 = _init_l_Lean_Parser_Term_funImplicitBinder___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_funImplicitBinder___closed__1); l_Lean_Parser_Term_funImplicitBinder___closed__2 = _init_l_Lean_Parser_Term_funImplicitBinder___closed__2(); @@ -81878,133 +82542,133 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Tactic_quotSeq_parenthesizer__1_ if (builtin) {res = l___regBuiltin_Lean_Parser_Tactic_quotSeq_parenthesizer__1(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -}l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__1(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__1); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__2(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__2); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__3(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__3); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__4(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__4); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__5 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__5(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__5); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__6 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__6(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__6); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__7 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__7(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__7); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__8 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__8(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__8); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__9 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__9(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__9); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__10 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__10(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__10); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__11 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__11(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__11); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__12 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__12(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__12); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__13 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__13(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__13); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__14 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__14(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__14); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__15 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__15(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__15); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__16 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__16(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__16); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__17 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__17(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__17); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__18 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__18(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__18); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__19 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__19(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__19); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__20 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__20(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__20); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__21 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__21(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__21); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__22 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__22(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__22); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__23 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__23(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__23); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__24 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__24(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__24); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__25 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__25(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__25); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__26 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__26(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__26); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__27 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__27(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__27); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__28 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__28(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__28); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__29 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__29(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__29); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__30 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__30(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__30); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__31 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__31(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__31); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__32 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__32(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__32); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__33 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__33(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__33); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__34 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__34(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__34); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__35 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__35(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__35); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__36 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__36(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__36); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__37 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__37(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__37); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__38 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__38(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__38); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__39 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__39(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__39); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__40 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__40(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__40); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__41 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__41(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__41); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__42 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__42(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__42); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__43 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__43(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__43); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__44 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__44(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__44); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__45 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__45(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__45); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__46); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__47 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__47(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__47); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__48); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__49 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__49(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__49); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__50 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__50(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__50); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__51 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__51(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__51); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__52 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__52(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__52); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__53 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__53(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__53); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__54 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__54(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__54); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__55 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__55(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__55); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__56 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__56(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__56); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__57 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__57(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__57); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__58 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__58(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__58); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__59 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__59(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__59); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__60 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__60(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__60); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__61 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__61(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__61); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__62 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__62(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__62); -l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__63 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__63(); -lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419____closed__63); -if (builtin) {res = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5419_(lean_io_mk_world()); +}l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__1 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__1(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__1); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__2 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__2(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__2); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__3 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__3(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__3); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__4 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__4(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__4); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__5 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__5(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__5); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__6 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__6(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__6); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__7 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__7(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__7); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__8 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__8(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__8); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__9 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__9(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__9); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__10 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__10(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__10); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__11 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__11(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__11); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__12 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__12(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__12); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__13 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__13(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__13); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__14 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__14(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__14); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__15 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__15(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__15); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__16 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__16(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__16); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__17 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__17(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__17); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__18 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__18(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__18); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__19 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__19(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__19); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__20 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__20(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__20); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__21 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__21(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__21); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__22 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__22(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__22); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__23 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__23(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__23); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__24 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__24(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__24); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__25 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__25(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__25); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__26 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__26(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__26); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__27 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__27(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__27); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__28 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__28(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__28); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__29 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__29(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__29); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__30 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__30(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__30); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__31 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__31(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__31); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__32 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__32(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__32); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__33 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__33(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__33); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__34 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__34(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__34); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__35 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__35(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__35); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__36 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__36(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__36); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__37 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__37(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__37); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__38 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__38(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__38); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__39 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__39(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__39); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__40 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__40(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__40); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__41 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__41(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__41); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__42 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__42(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__42); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__43 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__43(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__43); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__44 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__44(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__44); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__45 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__45(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__45); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__46 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__46(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__46); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__47 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__47(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__47); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__48 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__48(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__48); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__49 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__49(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__49); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__50 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__50(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__50); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__51 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__51(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__51); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__52 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__52(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__52); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__53 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__53(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__53); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__54 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__54(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__54); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__55 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__55(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__55); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__56 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__56(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__56); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__57 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__57(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__57); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__58 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__58(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__58); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__59 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__59(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__59); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__60 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__60(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__60); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__61 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__61(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__61); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__62 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__62(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__62); +l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__63 = _init_l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__63(); +lean_mark_persistent(l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477____closed__63); +if (builtin) {res = l_Lean_Parser_initFn____x40_Lean_Parser_Term___hyg_5477_(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); }return lean_io_result_mk_ok(lean_box(0)); diff --git a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c index 2ce970bbee47..e00a4acb12c8 100644 --- a/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c +++ b/stage0/stdlib/Lean/PrettyPrinter/Delaborator/Builtins.c @@ -195,6 +195,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabMVarAux___lambda__1___ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabConstWithSignature_delabParams___closed__9; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withBindingBody_x27___at_Lean_PrettyPrinter_Delaborator_delabDIte_delabBranch___spec__2(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppCore___lambda__1(uint8_t, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__7; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withBoundedAppFnArgs___at_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); static lean_object* l_Lean_PrettyPrinter_Delaborator_delabLetFun___lambda__2___closed__3; uint64_t lean_uint64_lor(uint64_t, uint64_t); @@ -288,6 +289,7 @@ LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabMVarAux___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_getPPFunBinderTypes(lean_object*); lean_object* l_Lean_Syntax_getArgs(lean_object*); +static lean_object* l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__9; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppExplicitCore___lambda__4___closed__4; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_tryAppUnexpanders_go___closed__3; LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withBindingBody___at_Lean_PrettyPrinter_Delaborator_delabAppMatch_usingNames___spec__1___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -874,6 +876,7 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabConstWithSignatur LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_tryAppUnexpanders___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabConstWithSignature_processSpine___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabConstWithSignature_delabParamsAux___lambda__14___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__6; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabMProdMk__1___closed__2; static lean_object* l___regBuiltin_Lean_PrettyPrinter_Delaborator_delabHOrElse__1___closed__1; lean_object* l_Lean_Syntax_mkLit(lean_object*, lean_object*, lean_object*); @@ -1151,6 +1154,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_withTypeAscription___closed LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_PrettyPrinter_Delaborator_delabConstWithSignature_delabParamsAux___spec__14(lean_object*, lean_object*, size_t, size_t, lean_object*); LEAN_EXPORT lean_object* l_panic___at_Lean_PrettyPrinter_Delaborator_withMDataOptions___spec__12(lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withBoundedAppFn___at_Lean_PrettyPrinter_Delaborator_delabAppExplicitCore___spec__6(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; static lean_object* l_Lean_PrettyPrinter_Delaborator_delabLetFun___closed__1; LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_getParamKinds___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabLetFun___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -1402,6 +1406,7 @@ LEAN_EXPORT lean_object* l___private_Lean_PrettyPrinter_Delaborator_Builtins_0__ static lean_object* l_Lean_PrettyPrinter_Delaborator_delabMVarAux___lambda__1___closed__4; LEAN_EXPORT lean_object* l_Array_foldrMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabForall___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_withOverApp(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +static lean_object* l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__8; LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_tryAppUnexpanders_go___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withAppArg___at_Lean_PrettyPrinter_Delaborator_delabDIte___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_SubExpr_withBindingBody_x27___at___private_Lean_PrettyPrinter_Delaborator_Builtins_0__Lean_PrettyPrinter_Delaborator_shouldGroupWithNext___spec__2(lean_object*); @@ -8254,7 +8259,7 @@ static lean_object* _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Del _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstField", 15, 15); +x_1 = lean_mk_string_unchecked("structInstLVal", 14, 14); return x_1; } } @@ -8274,7 +8279,7 @@ static lean_object* _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Del _start: { lean_object* x_1; -x_1 = lean_mk_string_unchecked("structInstLVal", 14, 14); +x_1 = lean_mk_string_unchecked("structInstField", 15, 15); return x_1; } } @@ -8293,15 +8298,61 @@ return x_5; static lean_object* _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5() { _start: { +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = lean_box(2); +x_2 = l_Lean_PrettyPrinter_Delaborator_withTypeAscription___closed__10; +x_3 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__9; +x_4 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_4, 0, x_1); +lean_ctor_set(x_4, 1, x_2); +lean_ctor_set(x_4, 2, x_3); +return x_4; +} +} +static lean_object* _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__6() { +_start: +{ lean_object* x_1; -x_1 = lean_mk_string_unchecked(":=", 2, 2); +x_1 = lean_mk_string_unchecked("structInstFieldDef", 18, 18); +return x_1; +} +} +static lean_object* _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___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_Lean_PrettyPrinter_Delaborator_withTypeAscription___closed__2; +x_2 = l_Lean_PrettyPrinter_Delaborator_withTypeAscription___closed__3; +x_3 = l_Lean_PrettyPrinter_Delaborator_withTypeAscription___closed__4; +x_4 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__6; +x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); +return x_5; +} +} +static lean_object* _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__8() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked(" := ", 4, 4); return x_1; } } +static lean_object* _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__9() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = lean_box(2); +x_2 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__8; +x_3 = lean_alloc_ctor(2, 2, 0); +lean_ctor_set(x_3, 0, x_1); +lean_ctor_set(x_3, 1, x_2); +return x_3; +} +} LEAN_EXPORT lean_object* l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11, lean_object* x_12, lean_object* x_13, lean_object* x_14) { _start: { -lean_object* x_15; lean_object* x_16; 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_59; uint8_t x_60; +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_89; uint8_t x_90; lean_inc(x_1); x_15 = lean_mk_syntax_ident(x_1); x_16 = l_Lean_PrettyPrinter_Delaborator_SubExpr_nextExtraPos___at_Lean_PrettyPrinter_Delaborator_mkAnnotatedIdent___spec__1___rarg(x_9, x_10, x_11, x_12, x_13, x_14); @@ -8321,25 +8372,25 @@ lean_inc(x_17); x_20 = l_Lean_PrettyPrinter_Delaborator_annotatePos(x_17, x_15); lean_inc(x_1); x_21 = l_Lean_Name_append(x_2, x_1); -x_59 = lean_array_get_size(x_5); -x_60 = lean_nat_dec_lt(x_4, x_59); -lean_dec(x_59); -if (x_60 == 0) +x_89 = lean_array_get_size(x_5); +x_90 = lean_nat_dec_lt(x_4, x_89); +lean_dec(x_89); +if (x_90 == 0) { -lean_object* x_61; lean_object* x_62; -x_61 = l_Lean_instInhabitedExpr; -x_62 = l_outOfBounds___rarg(x_61); -x_22 = x_62; -goto block_58; +lean_object* x_91; lean_object* x_92; +x_91 = l_Lean_instInhabitedExpr; +x_92 = l_outOfBounds___rarg(x_91); +x_22 = x_92; +goto block_88; } else { -lean_object* x_63; -x_63 = lean_array_fget(x_5, x_4); -x_22 = x_63; -goto block_58; +lean_object* x_93; +x_93 = lean_array_fget(x_5, x_4); +x_22 = x_93; +goto block_88; } -block_58: +block_88: { lean_object* x_23; uint8_t x_24; lean_inc(x_20); @@ -8347,7 +8398,7 @@ x_23 = l_Lean_PrettyPrinter_Delaborator_addFieldInfo(x_17, x_21, x_1, x_20, x_22 x_24 = !lean_is_exclusive(x_23); if (x_24 == 0) { -lean_object* 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; 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_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; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; x_25 = lean_ctor_get(x_23, 0); lean_dec(x_25); x_26 = lean_ctor_get(x_12, 5); @@ -8360,67 +8411,135 @@ x_31 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_31, 0, x_28); lean_ctor_set(x_31, 1, x_29); lean_ctor_set(x_31, 2, x_30); -x_32 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__4; -lean_inc(x_28); +x_32 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__2; x_33 = l_Lean_Syntax_node2(x_28, x_32, x_20, x_31); -x_34 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; -lean_inc(x_28); +x_34 = l_Lean_Syntax_getArg(x_3, x_4); +x_35 = lean_box(0); if (lean_is_scalar(x_19)) { - x_35 = lean_alloc_ctor(2, 2, 0); + x_36 = lean_alloc_ctor(1, 2, 0); } else { - x_35 = x_19; - lean_ctor_set_tag(x_35, 2); + x_36 = x_19; + lean_ctor_set_tag(x_36, 1); } -lean_ctor_set(x_35, 0, x_28); -lean_ctor_set(x_35, 1, x_34); -x_36 = l_Lean_Syntax_getArg(x_3, x_4); -x_37 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__2; -x_38 = l_Lean_Syntax_node3(x_28, x_37, x_33, x_35, x_36); -x_39 = lean_array_push(x_6, x_38); -x_40 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_23, 0, x_40); +lean_ctor_set(x_36, 0, x_34); +lean_ctor_set(x_36, 1, x_35); +x_37 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__9; +x_38 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_38, 0, x_37); +lean_ctor_set(x_38, 1, x_36); +x_39 = lean_array_mk(x_38); +x_40 = lean_box(2); +x_41 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__7; +x_42 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_42, 0, x_40); +lean_ctor_set(x_42, 1, x_41); +lean_ctor_set(x_42, 2, x_39); +x_43 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_43, 0, x_42); +lean_ctor_set(x_43, 1, x_35); +x_44 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_45 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_45, 0, x_44); +lean_ctor_set(x_45, 1, x_43); +x_46 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_46, 0, x_44); +lean_ctor_set(x_46, 1, x_45); +x_47 = lean_array_mk(x_46); +x_48 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_48, 0, x_40); +lean_ctor_set(x_48, 1, x_29); +lean_ctor_set(x_48, 2, x_47); +x_49 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_49, 0, x_48); +lean_ctor_set(x_49, 1, x_35); +x_50 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_50, 0, x_33); +lean_ctor_set(x_50, 1, x_49); +x_51 = lean_array_mk(x_50); +x_52 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__4; +x_53 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_53, 0, x_40); +lean_ctor_set(x_53, 1, x_52); +lean_ctor_set(x_53, 2, x_51); +x_54 = lean_array_push(x_6, x_53); +x_55 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_55, 0, x_54); +lean_ctor_set(x_23, 0, x_55); return x_23; } else { -lean_object* x_41; lean_object* x_42; uint8_t x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; -x_41 = lean_ctor_get(x_23, 1); -lean_inc(x_41); +lean_object* x_56; lean_object* x_57; uint8_t x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; lean_object* x_87; +x_56 = lean_ctor_get(x_23, 1); +lean_inc(x_56); lean_dec(x_23); -x_42 = lean_ctor_get(x_12, 5); -x_43 = 0; -x_44 = l_Lean_SourceInfo_fromRef(x_42, x_43); -x_45 = l_Lean_PrettyPrinter_Delaborator_withTypeAscription___closed__10; -x_46 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__9; -lean_inc(x_44); -x_47 = lean_alloc_ctor(1, 3, 0); -lean_ctor_set(x_47, 0, x_44); -lean_ctor_set(x_47, 1, x_45); -lean_ctor_set(x_47, 2, x_46); -x_48 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__4; -lean_inc(x_44); -x_49 = l_Lean_Syntax_node2(x_44, x_48, x_20, x_47); -x_50 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; -lean_inc(x_44); +x_57 = lean_ctor_get(x_12, 5); +x_58 = 0; +x_59 = l_Lean_SourceInfo_fromRef(x_57, x_58); +x_60 = l_Lean_PrettyPrinter_Delaborator_withTypeAscription___closed__10; +x_61 = l_Lean_PrettyPrinter_Delaborator_delabSort___closed__9; +lean_inc(x_59); +x_62 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_62, 0, x_59); +lean_ctor_set(x_62, 1, x_60); +lean_ctor_set(x_62, 2, x_61); +x_63 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__2; +x_64 = l_Lean_Syntax_node2(x_59, x_63, x_20, x_62); +x_65 = l_Lean_Syntax_getArg(x_3, x_4); +x_66 = lean_box(0); if (lean_is_scalar(x_19)) { - x_51 = lean_alloc_ctor(2, 2, 0); + x_67 = lean_alloc_ctor(1, 2, 0); } else { - x_51 = x_19; - lean_ctor_set_tag(x_51, 2); + x_67 = x_19; + lean_ctor_set_tag(x_67, 1); } -lean_ctor_set(x_51, 0, x_44); -lean_ctor_set(x_51, 1, x_50); -x_52 = l_Lean_Syntax_getArg(x_3, x_4); -x_53 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__2; -x_54 = l_Lean_Syntax_node3(x_44, x_53, x_49, x_51, x_52); -x_55 = lean_array_push(x_6, x_54); -x_56 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_56, 0, x_55); -x_57 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_57, 0, x_56); -lean_ctor_set(x_57, 1, x_41); -return x_57; +lean_ctor_set(x_67, 0, x_65); +lean_ctor_set(x_67, 1, x_66); +x_68 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__9; +x_69 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_69, 0, x_68); +lean_ctor_set(x_69, 1, x_67); +x_70 = lean_array_mk(x_69); +x_71 = lean_box(2); +x_72 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__7; +x_73 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_73, 0, x_71); +lean_ctor_set(x_73, 1, x_72); +lean_ctor_set(x_73, 2, x_70); +x_74 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_74, 0, x_73); +lean_ctor_set(x_74, 1, x_66); +x_75 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_76 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_76, 0, x_75); +lean_ctor_set(x_76, 1, x_74); +x_77 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_77, 0, x_75); +lean_ctor_set(x_77, 1, x_76); +x_78 = lean_array_mk(x_77); +x_79 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_79, 0, x_71); +lean_ctor_set(x_79, 1, x_60); +lean_ctor_set(x_79, 2, x_78); +x_80 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_80, 0, x_79); +lean_ctor_set(x_80, 1, x_66); +x_81 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_81, 0, x_64); +lean_ctor_set(x_81, 1, x_80); +x_82 = lean_array_mk(x_81); +x_83 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__4; +x_84 = lean_alloc_ctor(1, 3, 0); +lean_ctor_set(x_84, 0, x_71); +lean_ctor_set(x_84, 1, x_83); +lean_ctor_set(x_84, 2, x_82); +x_85 = lean_array_push(x_6, x_84); +x_86 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_86, 0, x_85); +x_87 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_87, 0, x_86); +lean_ctor_set(x_87, 1, x_56); +return x_87; } } } @@ -14946,6 +15065,14 @@ x_5 = l_Lean_Name_mkStr4(x_1, x_2, x_3, x_4); return x_5; } } +static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string_unchecked(":=", 2, 2); +return x_1; +} +} LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg(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: { @@ -14972,7 +15099,7 @@ x_16 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_16, 0, x_14); lean_ctor_set(x_16, 1, x_15); x_17 = lean_mk_syntax_ident(x_1); -x_18 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_18 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_14); x_19 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_19, 0, x_14); @@ -15009,7 +15136,7 @@ x_31 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_31, 0, x_29); lean_ctor_set(x_31, 1, x_30); x_32 = lean_mk_syntax_ident(x_1); -x_33 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_33 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_29); x_34 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_34, 0, x_29); @@ -17145,7 +17272,7 @@ static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_ lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__1; x_2 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_tryAppUnexpanders___closed__1; -x_3 = lean_unsigned_to_nat(479u); +x_3 = lean_unsigned_to_nat(483u); x_4 = lean_unsigned_to_nat(58u); x_5 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -25950,7 +26077,7 @@ static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambd lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__1; x_2 = l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__3___closed__2; -x_3 = lean_unsigned_to_nat(710u); +x_3 = lean_unsigned_to_nat(714u); x_4 = lean_unsigned_to_nat(10u); x_5 = l_Lean_PrettyPrinter_Delaborator_delabAppMatch___lambda__3___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -27188,7 +27315,7 @@ lean_inc(x_83); x_92 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_92, 0, x_83); lean_ctor_set(x_92, 1, x_91); -x_93 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_93 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_83); x_94 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_94, 0, x_83); @@ -27638,7 +27765,7 @@ lean_inc(x_216); x_225 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_225, 0, x_216); lean_ctor_set(x_225, 1, x_224); -x_226 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_226 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_216); x_227 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_227, 0, x_216); @@ -29101,7 +29228,7 @@ x_43 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_43, 0, x_38); lean_ctor_set(x_43, 1, x_41); lean_ctor_set(x_43, 2, x_42); -x_44 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_44 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_38); x_45 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_45, 0, x_38); @@ -29176,7 +29303,7 @@ lean_inc(x_60); x_69 = l_Lean_Syntax_node2(x_60, x_68, x_67, x_58); lean_inc(x_60); x_70 = l_Lean_Syntax_node1(x_60, x_63, x_69); -x_71 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_71 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_60); x_72 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_72, 0, x_60); @@ -29237,7 +29364,7 @@ lean_inc(x_84); x_93 = l_Lean_Syntax_node2(x_84, x_92, x_91, x_81); lean_inc(x_84); x_94 = l_Lean_Syntax_node1(x_84, x_87, x_93); -x_95 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_95 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_84); x_96 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_96, 0, x_84); @@ -35287,7 +35414,7 @@ static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabLetE___closed__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; x_1 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__1; x_2 = l_Lean_PrettyPrinter_Delaborator_delabLetE___closed__1; -x_3 = lean_unsigned_to_nat(960u); +x_3 = lean_unsigned_to_nat(964u); x_4 = lean_unsigned_to_nat(38u); x_5 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -35578,7 +35705,7 @@ x_42 = lean_alloc_ctor(1, 3, 0); lean_ctor_set(x_42, 0, x_37); lean_ctor_set(x_42, 1, x_40); lean_ctor_set(x_42, 2, x_41); -x_43 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_43 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_37); if (lean_is_scalar(x_11)) { x_44 = lean_alloc_ctor(2, 2, 0); @@ -35663,7 +35790,7 @@ lean_inc(x_59); x_68 = l_Lean_Syntax_node2(x_59, x_67, x_66, x_57); lean_inc(x_59); x_69 = l_Lean_Syntax_node1(x_59, x_62, x_68); -x_70 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_70 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_59); x_71 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_71, 0, x_59); @@ -35729,7 +35856,7 @@ lean_inc(x_83); x_92 = l_Lean_Syntax_node2(x_83, x_91, x_90, x_80); lean_inc(x_83); x_93 = l_Lean_Syntax_node1(x_83, x_86, x_92); -x_94 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_94 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_83); x_95 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_95, 0, x_83); @@ -36163,7 +36290,7 @@ static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabLit___closed__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; x_1 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__1; x_2 = l_Lean_PrettyPrinter_Delaborator_delabLit___closed__1; -x_3 = lean_unsigned_to_nat(980u); +x_3 = lean_unsigned_to_nat(984u); x_4 = lean_unsigned_to_nat(29u); x_5 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -39303,7 +39430,7 @@ static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabProj___closed__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; x_1 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__1; x_2 = l_Lean_PrettyPrinter_Delaborator_delabProj___closed__1; -x_3 = lean_unsigned_to_nat(1088u); +x_3 = lean_unsigned_to_nat(1092u); x_4 = lean_unsigned_to_nat(36u); x_5 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -43973,7 +44100,7 @@ lean_inc(x_4); x_20 = l_Lean_Syntax_node2(x_4, x_19, x_18, x_1); lean_inc(x_4); x_21 = l_Lean_Syntax_node1(x_4, x_14, x_20); -x_22 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_22 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_4); x_23 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_23, 0, x_4); @@ -44084,7 +44211,7 @@ lean_inc(x_4); x_21 = l_Lean_Syntax_node2(x_4, x_20, x_19, x_2); lean_inc(x_4); x_22 = l_Lean_Syntax_node1(x_4, x_14, x_21); -x_23 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_23 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_4); x_24 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_24, 0, x_4); @@ -44445,7 +44572,7 @@ static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabDoElems___closed lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__1; x_2 = l_Lean_PrettyPrinter_Delaborator_delabDoElems___closed__4; -x_3 = lean_unsigned_to_nat(1224u); +x_3 = lean_unsigned_to_nat(1228u); x_4 = lean_unsigned_to_nat(40u); x_5 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -50609,7 +50736,7 @@ lean_ctor_set(x_37, 0, x_24); lean_ctor_set(x_37, 1, x_36); lean_inc(x_24); x_38 = l_Lean_Syntax_node2(x_24, x_34, x_37, x_21); -x_39 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_39 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_24); x_40 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_40, 0, x_24); @@ -50677,7 +50804,7 @@ lean_ctor_set(x_67, 0, x_54); lean_ctor_set(x_67, 1, x_66); lean_inc(x_54); x_68 = l_Lean_Syntax_node2(x_54, x_64, x_67, x_50); -x_69 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_69 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_54); x_70 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_70, 0, x_54); @@ -51212,7 +51339,7 @@ lean_ctor_set(x_31, 0, x_18); lean_ctor_set(x_31, 1, x_30); lean_inc(x_18); x_32 = l_Lean_Syntax_node2(x_18, x_28, x_31, x_4); -x_33 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_33 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_18); x_34 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_34, 0, x_18); @@ -51275,7 +51402,7 @@ lean_ctor_set(x_59, 0, x_46); lean_ctor_set(x_59, 1, x_58); lean_inc(x_46); x_60 = l_Lean_Syntax_node2(x_46, x_56, x_59, x_4); -x_61 = l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5; +x_61 = l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3; lean_inc(x_46); x_62 = lean_alloc_ctor(2, 2, 0); lean_ctor_set(x_62, 0, x_46); @@ -52712,7 +52839,7 @@ static lean_object* _init_l_Lean_PrettyPrinter_Delaborator_delabConstWithSignatu lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6; x_1 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__1; x_2 = l_Lean_PrettyPrinter_Delaborator_delabConstWithSignature_delabParamsAux___closed__1; -x_3 = lean_unsigned_to_nat(1349u); +x_3 = lean_unsigned_to_nat(1353u); x_4 = lean_unsigned_to_nat(42u); x_5 = l_Lean_PrettyPrinter_Delaborator_delabFVar___closed__3; x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5); @@ -53963,6 +54090,14 @@ l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructure lean_mark_persistent(l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__4); l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5 = _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5(); lean_mark_persistent(l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__5); +l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__6 = _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__6(); +lean_mark_persistent(l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__6); +l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__7 = _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__7(); +lean_mark_persistent(l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__7); +l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__8 = _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__8(); +lean_mark_persistent(l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__8); +l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__9 = _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__9(); +lean_mark_persistent(l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___lambda__1___closed__9); l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___closed__1 = _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___closed__1(); lean_mark_persistent(l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___closed__1); l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___closed__2 = _init_l_Std_Range_forIn_x27_loop___at_Lean_PrettyPrinter_Delaborator_unexpandStructureInstance___spec__1___closed__2(); @@ -54073,6 +54208,8 @@ l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__1 = _ lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__1); l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__2(); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__2); +l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3 = _init_l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3(); +lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkNamedArg___closed__3); l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkArg___closed__1 = _init_l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkArg___closed__1(); lean_mark_persistent(l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkArg___closed__1); l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkArg___closed__2 = _init_l_Lean_PrettyPrinter_Delaborator_delabAppImplicitCore_mkArg___closed__2(); From 7b8504cf06e831d80546dd7a7fb537e8d0cb60fd Mon Sep 17 00:00:00 2001 From: Kyle Miller Date: Sat, 30 Nov 2024 16:20:59 -0800 Subject: [PATCH 05/24] chore: post-stage0 cleanup for #6165 (#6268) This PR puts code in terms of syntax quotations now that there has been a stage0 update. Fixes a lingering bug in StructInst where some intermediate syntax was malformed, but this had no observable effects outside of some debug messages. --- src/Lean/Elab/MutualDef.lean | 5 +- src/Lean/Elab/PatternVar.lean | 15 +-- src/Lean/Elab/StructInst.lean | 98 +++++++------------ .../PrettyPrinter/Delaborator/Builtins.lean | 6 +- 4 files changed, 46 insertions(+), 78 deletions(-) diff --git a/src/Lean/Elab/MutualDef.lean b/src/Lean/Elab/MutualDef.lean index a74287fa04ca..df3bf7c5228f 100644 --- a/src/Lean/Elab/MutualDef.lean +++ b/src/Lean/Elab/MutualDef.lean @@ -283,9 +283,8 @@ private partial def withFunLocalDecls {α} (headers : Array DefViewElabHeader) ( loop 0 #[] private def expandWhereStructInst : Macro := fun whereStx => do - let whereTk := whereStx[0] - let structInstFields : TSyntaxArray ``Parser.Term.structInstField := .mk whereStx[1][0].getSepArgs - let whereDecls? := whereStx[2].getOptional? + let `(Parser.Command.whereStructInst| where%$whereTk $[$structInstFields];* $[$whereDecls?:whereDecls]?) := whereStx + | Macro.throwUnsupported let startOfStructureTkInfo : SourceInfo := match whereTk.getPos? with diff --git a/src/Lean/Elab/PatternVar.lean b/src/Lean/Elab/PatternVar.lean index 5736f39f92ba..9e2dce4bdfa5 100644 --- a/src/Lean/Elab/PatternVar.lean +++ b/src/Lean/Elab/PatternVar.lean @@ -261,16 +261,11 @@ partial def collect (stx : Syntax) : M Syntax := withRef stx <| withFreshMacroSc | `({ $[$srcs?,* with]? $fields,* $[..%$ell?]? $[: $ty?]? }) => if let some srcs := srcs? then throwErrorAt (mkNullNode srcs) "invalid struct instance pattern, 'with' is not allowed in patterns" - -- TODO(kmill) restore this - -- let fields ← fields.getElems.mapM fun - -- | `(Parser.Term.structInstField| $lval:structInstLVal := $val) => do - -- let newVal ← collect val - -- `(Parser.Term.structInstField| $lval:structInstLVal := $newVal) - -- | _ => throwInvalidPattern -- `structInstFieldAbbrev` should be expanded at this point - let fields ← fields.getElems.mapM fun field => do - let field := field.raw - let val ← collect field[1][2][1] - pure <| field.setArg 1 <| field[1].setArg 2 <| field[1][2].setArg 1 val + let fields ← fields.getElems.mapM fun + | `(Parser.Term.structInstField| $lval:structInstLVal := $val) => do + let newVal ← collect val + `(Parser.Term.structInstField| $lval:structInstLVal := $newVal) + | _ => throwInvalidPattern -- `structInstField` should be expanded at this point `({ $[$srcs?,* with]? $fields,* $[..%$ell?]? $[: $ty?]? }) | _ => throwInvalidPattern diff --git a/src/Lean/Elab/StructInst.lean b/src/Lean/Elab/StructInst.lean index 77fd8fa0d611..6332ead08c82 100644 --- a/src/Lean/Elab/StructInst.lean +++ b/src/Lean/Elab/StructInst.lean @@ -74,62 +74,44 @@ Structure instance notation makes use of the expected type. `(($stxNew : $expected)) def mkStructInstField (lval : TSyntax ``Parser.Term.structInstLVal) (binders : TSyntaxArray ``Parser.Term.structInstFieldBinder) - (type? : Option Term) (val : Term) : MacroM Term := do + (type? : Option Term) (val : Term) : MacroM (TSyntax ``Parser.Term.structInstField) := do let mut val := val if let some type := type? then val ← `(($val : $type)) if !binders.isEmpty then -- HACK: this produces invalid syntax, but the fun elaborator supports structInstFieldBinder as well val ← `(fun $binders* => $val) --- `(Parser.Term.structInstField| $lval := $val) - return mkNode ``Parser.Term.structInstField - #[lval, mkNullNode #[mkNullNode, mkNullNode, mkNode ``Parser.Term.structInstFieldDef #[mkAtom " := ", val]]] + `(Parser.Term.structInstField| $lval := $val) /-- Takes an arbitrary `structInstField` and expands it to be a `structInstFieldDef` without any binders or type ascription. -/ private def expandStructInstField (stx : Syntax) : MacroM (Option Syntax) := withRef stx do - if stx.isOfKind `Lean.Parser.Term.structInstField && stx.getNumArgs == 3 then - -- old syntax - let lval : TSyntax ``Parser.Term.structInstLVal := stx[0] - let val : Term := stx[2] - mkStructInstField lval #[] none val - else if stx.isOfKind `Lean.Parser.Term.structInstFieldAbbrev then - -- old syntax - let id : Ident := stx[0] - let lval ← `(Parser.Term.structInstLVal| $id:ident) - mkStructInstField lval #[] none id - else if stx.isOfKind ``Parser.Term.structInstField then - let lval := stx[0] - if stx[1].getNumArgs > 0 then - let binders := stx[1][0].getArgs - let ty? := match stx[1][1] with | `(Parser.Term.optTypeForStructInst| $[: $ty?]?) => ty? | _ => none - let decl := stx[1][2] - match decl with - | `(Parser.Term.structInstFieldDef| := $val) => - if binders.isEmpty && ty?.isNone then - return none - else - mkStructInstField lval binders ty? val - | `(Parser.Term.structInstFieldEqns| $alts:matchAlts) => - let val ← expandMatchAltsIntoMatch stx alts (useExplicit := false) - mkStructInstField lval binders ty? val - | _ => Macro.throwUnsupported - else - -- Abbreviation - match lval with - | `(Parser.Term.structInstLVal| $id:ident) => - mkStructInstField lval #[] none id - | _ => - Macro.throwErrorAt lval "unsupported structure instance field abbreviation, expecting identifier" - else - Macro.throwUnsupported + match stx with + | `(Parser.Term.structInstField| $_:structInstLVal := $_) => + -- Already expanded. + return none + | `(Parser.Term.structInstField| $lval:structInstLVal $[$binders]* $[: $ty?]? $decl:structInstFieldDecl) => + match decl with + | `(Parser.Term.structInstFieldDef| := $val) => + mkStructInstField lval binders ty? val + | `(Parser.Term.structInstFieldEqns| $alts:matchAlts) => + let val ← expandMatchAltsIntoMatch stx alts (useExplicit := false) + mkStructInstField lval binders ty? val + | _ => Macro.throwUnsupported + | `(Parser.Term.structInstField| $lval:structInstLVal) => + -- Abbreviation + match lval with + | `(Parser.Term.structInstLVal| $id:ident) => + mkStructInstField lval #[] none id + | _ => + Macro.throwErrorAt lval "unsupported structure instance field abbreviation, expecting identifier" + | _ => Macro.throwUnsupported /-- Expands fields. * Abbrevations. Example: `{ x }` expands to `{ x := x }`. * Equations. Example: `{ f | 0 => 0 | n + 1 => n }` expands to `{ f := fun x => match x with | 0 => 0 | n + 1 => n }`. -* `where`. Example: `{ s where x := 1 }` expands to `{ s := { x := 1 }}`. * Binders and types. Example: `{ f n : Nat := n + 1 }` expands to `{ f := fun n => (n + 1 : Nat) }`. -/ @[builtin_macro Lean.Parser.Term.structInst] def expandStructInstFields : Macro | stx => do @@ -461,7 +443,7 @@ Converts a `FieldLHS` back into syntax. This assumes the `ref` fields have the c Recall that `structInstField` elements have the form ```lean -def structInstField := leading_parser structInstLVal >> " := " >> termParser +def structInstField := leading_parser structInstLVal >> group (null >> null >> group (" := " >> termParser)) def structInstLVal := leading_parser (ident <|> numLit <|> structInstArrayRef) >> many (("." >> (ident <|> numLit)) <|> structInstArrayRef) def structInstArrayRef := leading_parser "[" >> termParser >>"]" ``` @@ -487,7 +469,7 @@ private def Field.toSyntax : Field → Syntax let stx := field.ref let stx := stx.setArg 1 <| stx[1].setArg 2 <| stx[1][2].setArg 1 field.val.toSyntax match field.lhs with - | first::rest => stx.setArg 0 <| mkNullNode #[first.toSyntax true, mkNullNode <| rest.toArray.map (FieldLHS.toSyntax false) ] + | first::rest => stx.setArg 0 <| mkNode ``Parser.Term.structInstLVal #[first.toSyntax true, mkNullNode <| rest.toArray.map (FieldLHS.toSyntax false) ] | _ => unreachable! /-- Creates a view of a field left-hand side. -/ @@ -509,25 +491,21 @@ and the computed structure name (from `Lean.Elab.Term.StructInst.getStructName`) and structure source view (from `Lean.Elab.Term.StructInst.getStructSources`). -/ private def mkStructView (stx : Syntax) (structName : Name) (sources : SourcesView) : MacroM StructInstView := do - /- Recall that `stx` is of the form - ``` - leading_parser "{" >> optional (atomic (sepBy1 termParser ", " >> " with ")) - >> structInstFields (sepByIndent structInstField ...) - >> optional ".." - >> optional (" : " >> termParser) - >> " }" - ``` - This method assumes that `structInstField` had already been expanded by the macro `expandStructInstFields` - and is of the form - ``` - def structInstFieldDef := leading_parser - structInstLVal >> group (null >> null >> group (" := " >> termParser)) - ``` + /- + Recall that `stx` is of the form + ``` + leading_parser "{" >> optional (atomic (sepBy1 termParser ", " >> " with ")) + >> structInstFields (sepByIndent structInstField ...) + >> optional ".." + >> optional (" : " >> termParser) + >> " }" + ``` + This method assumes that `structInstField` had already been expanded by the macro `expandStructInstFields`. -/ let fields ← stx[2][0].getSepArgs.toList.mapM fun fieldStx => do - let val := fieldStx[1][2][1] - let first ← toFieldLHS fieldStx[0][0] - let rest ← fieldStx[0][1].getArgs.toList.mapM toFieldLHS + let `(Parser.Term.structInstField| $lval:structInstLVal := $val) := fieldStx | Macro.throwUnsupported + let first ← toFieldLHS lval.raw[0] + let rest ← lval.raw[1].getArgs.toList.mapM toFieldLHS return { ref := fieldStx, lhs := first :: rest, val := FieldVal.term val : Field } return { ref := stx, structName, params := #[], fields, sources } @@ -673,7 +651,7 @@ mutual let updateSource (structStx : Syntax) : TermElabM Syntax := do let sourcesNew ← s.sources.explicit.filterMapM fun source => mkProjStx? source.stx source.structName fieldName let explicitSourceStx := if sourcesNew.isEmpty then mkNullNode else mkSourcesWithSyntax sourcesNew - let implicitSourceStx := s.sources.implicit.getD mkNullNode + let implicitSourceStx := s.sources.implicit.getD (mkNode ``Parser.Term.optEllipsis #[mkNullNode]) return (structStx.setArg 1 explicitSourceStx).setArg 3 implicitSourceStx let valStx := s.ref -- construct substructure syntax using s.ref as template let valStx := valStx.setArg 4 mkNullNode -- erase optional expected type diff --git a/src/Lean/PrettyPrinter/Delaborator/Builtins.lean b/src/Lean/PrettyPrinter/Delaborator/Builtins.lean index abb766f49594..56f91ee8c1d7 100644 --- a/src/Lean/PrettyPrinter/Delaborator/Builtins.lean +++ b/src/Lean/PrettyPrinter/Delaborator/Builtins.lean @@ -238,11 +238,7 @@ def unexpandStructureInstance (stx : Syntax) : Delab := whenPPOption getPPStruct let fieldPos ← nextExtraPos let fieldId := annotatePos fieldPos fieldId addFieldInfo fieldPos (s.induct ++ fieldName) fieldName fieldId fieldVals[idx]! - -- TODO(kmill) restore this --- let field ← `(structInstField|$fieldId:ident := $(stx[1][idx])) - let lval ← `(structInstLVal| $fieldId:ident) - let field := mkNode ``Parser.Term.structInstField - #[lval, mkNullNode #[mkNullNode, mkNullNode, mkNode ``Parser.Term.structInstFieldDef #[mkAtom " := ", stx[1][idx]]]] + let field ← `(structInstField|$fieldId:ident := $(stx[1][idx])) fields := fields.push field let tyStx ← withType do if (← getPPOption getPPStructureInstanceType) then delab >>= pure ∘ some else pure none From 3ee2842e77ea02abeee4dd7d49fb5d8b2bcea19c Mon Sep 17 00:00:00 2001 From: Kim Morrison Date: Sun, 1 Dec 2024 17:26:00 +1100 Subject: [PATCH 06/24] feat: remove runtime bounds checks and partial from qsort (#6241) This PR refactors `Array.qsort` to remove runtime array bounds checks, and avoids the use of `partial`. We use the `Vector` API, along with auto_params, to avoid having to write any proofs. The new code benchmarks indistinguishably from the old. --- src/Init/Data/Array/QSort.lean | 54 ++++++++++++++++---------------- tests/bench/qsort/.gitignore | 1 + tests/bench/qsort/Main.lean | 15 +++++++++ tests/bench/qsort/README.md | 1 + tests/bench/qsort/lakefile.toml | 7 +++++ tests/bench/qsort/lean-toolchain | 1 + 6 files changed, 52 insertions(+), 27 deletions(-) create mode 100644 tests/bench/qsort/.gitignore create mode 100644 tests/bench/qsort/Main.lean create mode 100644 tests/bench/qsort/README.md create mode 100644 tests/bench/qsort/lakefile.toml create mode 100644 tests/bench/qsort/lean-toolchain diff --git a/src/Init/Data/Array/QSort.lean b/src/Init/Data/Array/QSort.lean index 17176d699c46..82cd9f4b7167 100644 --- a/src/Init/Data/Array/QSort.lean +++ b/src/Init/Data/Array/QSort.lean @@ -4,46 +4,46 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Leonardo de Moura -/ prelude -import Init.Data.Array.Basic +import Init.Data.Vector.Basic import Init.Data.Ord namespace Array --- TODO: remove the [Inhabited α] parameters as soon as we have the tactic framework for automating proof generation and using Array.fget -def qpartition (as : Array α) (lt : α → α → Bool) (lo hi : Nat) : Nat × Array α := - if h : as.size = 0 then (0, as) else have : Inhabited α := ⟨as[0]'(by revert h; cases as.size <;> simp)⟩ -- TODO: remove +private def qpartition {n} (as : Vector α n) (lt : α → α → Bool) (lo hi : Nat) + (hlo : lo < n := by omega) (hhi : hi < n := by omega) : {n : Nat // lo ≤ n} × Vector α n := let mid := (lo + hi) / 2 - let as := if lt (as.get! mid) (as.get! lo) then as.swapIfInBounds lo mid else as - let as := if lt (as.get! hi) (as.get! lo) then as.swapIfInBounds lo hi else as - let as := if lt (as.get! mid) (as.get! hi) then as.swapIfInBounds mid hi else as - let pivot := as.get! hi - let rec loop (as : Array α) (i j : Nat) := + let as := if lt as[mid] as[lo] then as.swap lo mid else as + let as := if lt as[hi] as[lo] then as.swap lo hi else as + let as := if lt as[mid] as[hi] then as.swap mid hi else as + let pivot := as[hi] + let rec loop (as : Vector α n) (i j : Nat) + (ilo : lo ≤ i := by omega) (jh : j < n := by omega) (w : i ≤ j := by omega) := if h : j < hi then - if lt (as.get! j) pivot then - let as := as.swapIfInBounds i j - loop as (i+1) (j+1) + if lt as[j] pivot then + loop (as.swap i j) (i+1) (j+1) else loop as i (j+1) else - let as := as.swapIfInBounds i hi - (i, as) - termination_by hi - j - decreasing_by all_goals simp_wf; decreasing_trivial_pre_omega + (⟨i, ilo⟩, as.swap i hi) loop as lo lo -@[inline] partial def qsort (as : Array α) (lt : α → α → Bool) (low := 0) (high := as.size - 1) : Array α := - let rec @[specialize] sort (as : Array α) (low high : Nat) := - if low < high then - let p := qpartition as lt low high; - -- TODO: fix `partial` support in the equation compiler, it breaks if we use `let (mid, as) := partition as lt low high` - let mid := p.1 - let as := p.2 - if mid >= high then as +@[inline] def qsort (as : Array α) (lt : α → α → Bool := by exact (· < ·)) + (low := 0) (high := as.size - 1) : Array α := + let rec @[specialize] sort {n} (as : Vector α n) (lo hi : Nat) + (hlo : lo < n := by omega) (hhi : hi < n := by omega) := + if h₁ : lo < hi then + let ⟨⟨mid, hmid⟩, as⟩ := qpartition as lt lo hi + if h₂ : mid ≥ hi then + as else - let as := sort as low mid - sort as (mid+1) high + sort (sort as lo mid) (mid+1) hi else as - sort as low high + if h : as.size = 0 then + as + else + let low := min low (as.size - 1) + let high := min high (as.size - 1) + sort ⟨as, rfl⟩ low high |>.toArray set_option linter.unusedVariables.funArgs false in /-- diff --git a/tests/bench/qsort/.gitignore b/tests/bench/qsort/.gitignore new file mode 100644 index 000000000000..bfb30ec8c762 --- /dev/null +++ b/tests/bench/qsort/.gitignore @@ -0,0 +1 @@ +/.lake diff --git a/tests/bench/qsort/Main.lean b/tests/bench/qsort/Main.lean new file mode 100644 index 000000000000..1f54e1a4b507 --- /dev/null +++ b/tests/bench/qsort/Main.lean @@ -0,0 +1,15 @@ +set_option linter.unusedVariables false + +abbrev Elem := UInt32 + +def badRand (seed : Elem) : Elem := +seed * 1664525 + 1013904223 + +def mkRandomArray : Nat → Elem → Array Elem → Array Elem +| 0, seed, as => as +| i+1, seed, as => mkRandomArray i (badRand seed) (as.push seed) + +def main (args : List String) : IO UInt32 := do + let a := mkRandomArray 4000000 0 (Array.mkEmpty 4000000) + IO.println (a.qsort (· < ·)).size + return 0 diff --git a/tests/bench/qsort/README.md b/tests/bench/qsort/README.md new file mode 100644 index 000000000000..f4ba77ea345d --- /dev/null +++ b/tests/bench/qsort/README.md @@ -0,0 +1 @@ +# insertionSort \ No newline at end of file diff --git a/tests/bench/qsort/lakefile.toml b/tests/bench/qsort/lakefile.toml new file mode 100644 index 000000000000..d97d7992b639 --- /dev/null +++ b/tests/bench/qsort/lakefile.toml @@ -0,0 +1,7 @@ +name = "qsort" +version = "0.1.0" +defaultTargets = ["qsort"] + +[[lean_exe]] +name = "qsort" +root = "Main" diff --git a/tests/bench/qsort/lean-toolchain b/tests/bench/qsort/lean-toolchain new file mode 100644 index 000000000000..dcca6df980de --- /dev/null +++ b/tests/bench/qsort/lean-toolchain @@ -0,0 +1 @@ +lean4 From 819cb879e12803ecdf27bb0d036f4c2018e2c820 Mon Sep 17 00:00:00 2001 From: Kim Morrison Date: Sun, 1 Dec 2024 17:44:14 +1100 Subject: [PATCH 07/24] chore: upstream Vector lemmas (#6271) This PR upstreams existing lemmas about `Vector` from Batteries. Thanks to @fgdorais for preparing these in https://github.com/leanprover-community/batteries/pull/1062. Further contributions to the `Vector` API welcome via PR here. --- src/Init/Data/Vector/Lemmas.lean | 156 ++++++++++++++++++++++++++++++- 1 file changed, 151 insertions(+), 5 deletions(-) diff --git a/src/Init/Data/Vector/Lemmas.lean b/src/Init/Data/Vector/Lemmas.lean index d5d1df7fef7a..376eaa86cff4 100644 --- a/src/Init/Data/Vector/Lemmas.lean +++ b/src/Init/Data/Vector/Lemmas.lean @@ -13,8 +13,6 @@ Lemmas about `Vector α n` namespace Vector -theorem length_toList {α n} (xs : Vector α n) : xs.toList.length = n := by simp - @[simp] theorem getElem_mk {data : Array α} {size : data.size = n} {i : Nat} (h : i < n) : (Vector.mk data size)[i] = data[i] := rfl @@ -23,9 +21,6 @@ theorem length_toList {α n} (xs : Vector α n) : xs.toList.length = n := by sim cases xs simp -theorem getElem_toList {α n} (xs : Vector α n) (i : Nat) (h : i < xs.toList.length) : - xs.toList[i] = xs[i]'(by simpa using h) := by simp - @[simp] theorem getElem_ofFn {α n} (f : Fin n → α) (i : Nat) (h : i < n) : (Vector.ofFn f)[i] = f ⟨i, by simpa using h⟩ := by simp [ofFn] @@ -93,6 +88,157 @@ defeq issues in the implicit size argument. subst h simp [pop, back, back!, ← Array.eq_push_pop_back!_of_size_ne_zero] + +/-! ### mk lemmas -/ + +theorem toArray_mk (a : Array α) (h : a.size = n) : (Vector.mk a h).toArray = a := rfl + +@[simp] theorem allDiff_mk [BEq α] (a : Array α) (h : a.size = n) : + (Vector.mk a h).allDiff = a.allDiff := rfl + +@[simp] theorem mk_append_mk (a b : Array α) (ha : a.size = n) (hb : b.size = m) : + Vector.mk a ha ++ Vector.mk b hb = Vector.mk (a ++ b) (by simp [ha, hb]) := rfl + +@[simp] theorem back!_mk [Inhabited α] (a : Array α) (h : a.size = n) : + (Vector.mk a h).back! = a.back! := rfl + +@[simp] theorem back?_mk (a : Array α) (h : a.size = n) : + (Vector.mk a h).back? = a.back? := rfl + +@[simp] theorem drop_mk (a : Array α) (h : a.size = n) (m) : + (Vector.mk a h).drop m = Vector.mk (a.extract m a.size) (by simp [h]) := rfl + +@[simp] theorem eraseIdx_mk (a : Array α) (h : a.size = n) (i) (h') : + (Vector.mk a h).eraseIdx i h' = Vector.mk (a.eraseIdx i) (by simp [h]) := rfl + +@[simp] theorem eraseIdx!_mk (a : Array α) (h : a.size = n) (i) (hi : i < n) : + (Vector.mk a h).eraseIdx! i = Vector.mk (a.eraseIdx i) (by simp [h, hi]) := by + simp [Vector.eraseIdx!, hi] + +@[simp] theorem extract_mk (a : Array α) (h : a.size = n) (start stop) : + (Vector.mk a h).extract start stop = Vector.mk (a.extract start stop) (by simp [h]) := rfl + +@[simp] theorem indexOf?_mk [BEq α] (a : Array α) (h : a.size = n) (x : α) : + (Vector.mk a h).indexOf? x = (a.indexOf? x).map (Fin.cast h) := rfl + +@[simp] theorem mk_isEqv_mk (r : α → α → Bool) (a b : Array α) (ha : a.size = n) (hb : b.size = n) : + Vector.isEqv (Vector.mk a ha) (Vector.mk b hb) r = Array.isEqv a b r := by + simp [Vector.isEqv, Array.isEqv, ha, hb] + +@[simp] theorem mk_isPrefixOf_mk [BEq α] (a b : Array α) (ha : a.size = n) (hb : b.size = m) : + (Vector.mk a ha).isPrefixOf (Vector.mk b hb) = a.isPrefixOf b := rfl + +@[simp] theorem map_mk (a : Array α) (h : a.size = n) (f : α → β) : + (Vector.mk a h).map f = Vector.mk (a.map f) (by simp [h]) := rfl + +@[simp] theorem reverse_mk (a : Array α) (h : a.size = n) : + (Vector.mk a h).reverse = Vector.mk a.reverse (by simp [h]) := rfl + +@[simp] theorem set_mk (a : Array α) (h : a.size = n) (i x w) : + (Vector.mk a h).set i x = Vector.mk (a.set i x) (by simp [h]) := rfl + +@[simp] theorem set!_mk (a : Array α) (h : a.size = n) (i x) : + (Vector.mk a h).set! i x = Vector.mk (a.set! i x) (by simp [h]) := rfl + +@[simp] theorem setIfInBounds_mk (a : Array α) (h : a.size = n) (i x) : + (Vector.mk a h).setIfInBounds i x = Vector.mk (a.setIfInBounds i x) (by simp [h]) := rfl + +@[simp] theorem swap_mk (a : Array α) (h : a.size = n) (i j) (hi hj) : + (Vector.mk a h).swap i j = Vector.mk (a.swap i j) (by simp [h]) := + rfl + +@[simp] theorem swapIfInBounds_mk (a : Array α) (h : a.size = n) (i j) : + (Vector.mk a h).swapIfInBounds i j = Vector.mk (a.swapIfInBounds i j) (by simp [h]) := rfl + +@[simp] theorem swapAt_mk (a : Array α) (h : a.size = n) (i x) (hi) : + (Vector.mk a h).swapAt i x = + ((a.swapAt i x).fst, Vector.mk (a.swapAt i x).snd (by simp [h])) := + rfl + +@[simp] theorem swapAt!_mk (a : Array α) (h : a.size = n) (i x) : (Vector.mk a h).swapAt! i x = + ((a.swapAt! i x).fst, Vector.mk (a.swapAt! i x).snd (by simp [h])) := rfl + +@[simp] theorem take_mk (a : Array α) (h : a.size = n) (m) : + (Vector.mk a h).take m = Vector.mk (a.take m) (by simp [h]) := rfl + +@[simp] theorem mk_zipWith_mk (f : α → β → γ) (a : Array α) (b : Array β) + (ha : a.size = n) (hb : b.size = n) : zipWith (Vector.mk a ha) (Vector.mk b hb) f = + Vector.mk (Array.zipWith a b f) (by simp [ha, hb]) := rfl + +/-! ### toArray lemmas -/ + +@[simp] theorem toArray_append (a : Vector α m) (b : Vector α n) : + (a ++ b).toArray = a.toArray ++ b.toArray := rfl + +@[simp] theorem toArray_drop (a : Vector α n) (m) : + (a.drop m).toArray = a.toArray.extract m a.size := rfl + +@[simp] theorem toArray_empty : (#v[] : Vector α 0).toArray = #[] := rfl + +@[simp] theorem toArray_mkEmpty (cap) : + (Vector.mkEmpty (α := α) cap).toArray = Array.mkEmpty cap := rfl + +@[simp] theorem toArray_eraseIdx (a : Vector α n) (i) (h) : + (a.eraseIdx i h).toArray = a.toArray.eraseIdx i (by simp [h]) := rfl + +@[simp] theorem toArray_eraseIdx! (a : Vector α n) (i) (hi : i < n) : + (a.eraseIdx! i).toArray = a.toArray.eraseIdx! i := by + cases a; simp_all [Array.eraseIdx!] + +@[simp] theorem toArray_extract (a : Vector α n) (start stop) : + (a.extract start stop).toArray = a.toArray.extract start stop := rfl + +@[simp] theorem toArray_map (f : α → β) (a : Vector α n) : + (a.map f).toArray = a.toArray.map f := rfl + +@[simp] theorem toArray_ofFn (f : Fin n → α) : (Vector.ofFn f).toArray = Array.ofFn f := rfl + +@[simp] theorem toArray_pop (a : Vector α n) : a.pop.toArray = a.toArray.pop := rfl + +@[simp] theorem toArray_push (a : Vector α n) (x) : (a.push x).toArray = a.toArray.push x := rfl + +@[simp] theorem toArray_range : (Vector.range n).toArray = Array.range n := rfl + +@[simp] theorem toArray_reverse (a : Vector α n) : a.reverse.toArray = a.toArray.reverse := rfl + +@[simp] theorem toArray_set (a : Vector α n) (i x h) : + (a.set i x).toArray = a.toArray.set i x (by simpa using h):= rfl + +@[simp] theorem toArray_set! (a : Vector α n) (i x) : + (a.set! i x).toArray = a.toArray.set! i x := rfl + +@[simp] theorem toArray_setIfInBounds (a : Vector α n) (i x) : + (a.setIfInBounds i x).toArray = a.toArray.setIfInBounds i x := rfl + +@[simp] theorem toArray_singleton (x : α) : (Vector.singleton x).toArray = #[x] := rfl + +@[simp] theorem toArray_swap (a : Vector α n) (i j) (hi hj) : (a.swap i j).toArray = + a.toArray.swap i j (by simp [hi, hj]) (by simp [hi, hj]) := rfl + +@[simp] theorem toArray_swapIfInBounds (a : Vector α n) (i j) : + (a.swapIfInBounds i j).toArray = a.toArray.swapIfInBounds i j := rfl + +@[simp] theorem toArray_swapAt (a : Vector α n) (i x h) : + ((a.swapAt i x).fst, (a.swapAt i x).snd.toArray) = + ((a.toArray.swapAt i x (by simpa using h)).fst, + (a.toArray.swapAt i x (by simpa using h)).snd) := rfl + +@[simp] theorem toArray_swapAt! (a : Vector α n) (i x) : + ((a.swapAt! i x).fst, (a.swapAt! i x).snd.toArray) = + ((a.toArray.swapAt! i x).fst, (a.toArray.swapAt! i x).snd) := rfl + +@[simp] theorem toArray_take (a : Vector α n) (m) : (a.take m).toArray = a.toArray.take m := rfl + +@[simp] theorem toArray_zipWith (f : α → β → γ) (a : Vector α n) (b : Vector β n) : + (Vector.zipWith a b f).toArray = Array.zipWith a.toArray b.toArray f := rfl + +/-! ### toList lemmas -/ + +theorem length_toList {α n} (xs : Vector α n) : xs.toList.length = n := by simp + +theorem getElem_toList {α n} (xs : Vector α n) (i : Nat) (h : i < xs.toList.length) : + xs.toList[i] = xs[i]'(by simpa using h) := by simp + /-! ### Decidable quantifiers. -/ theorem forall_zero_iff {P : Vector α 0 → Prop} : From b2f70dad52dfd72975ab08c8b24d5d46f79e9d7b Mon Sep 17 00:00:00 2001 From: Kim Morrison Date: Sun, 1 Dec 2024 19:35:28 +1100 Subject: [PATCH 08/24] feat: Array.swap_perm (#6272) This PR introduces the basic theory of permutations of `Array`s and proves `Array.swap_perm`. The API falls well short of what is available for `List` at this point. --- src/Init/Data/Array.lean | 1 + src/Init/Data/Array/Perm.lean | 65 ++++++++++++++++++++++++++++ src/Init/Data/List/Lemmas.lean | 8 ++++ src/Init/Data/List/Nat.lean | 1 + src/Init/Data/List/Nat/Perm.lean | 54 +++++++++++++++++++++++ src/Init/Data/List/Nat/TakeDrop.lean | 2 +- src/Init/Data/List/Perm.lean | 16 ++++++- src/Init/Data/Vector/Basic.lean | 3 ++ 8 files changed, 147 insertions(+), 3 deletions(-) create mode 100644 src/Init/Data/Array/Perm.lean create mode 100644 src/Init/Data/List/Nat/Perm.lean diff --git a/src/Init/Data/Array.lean b/src/Init/Data/Array.lean index 6626b0b815e5..d87435c78ef8 100644 --- a/src/Init/Data/Array.lean +++ b/src/Init/Data/Array.lean @@ -20,3 +20,4 @@ import Init.Data.Array.MapIdx import Init.Data.Array.Set import Init.Data.Array.Monadic import Init.Data.Array.FinRange +import Init.Data.Array.Perm diff --git a/src/Init/Data/Array/Perm.lean b/src/Init/Data/Array/Perm.lean new file mode 100644 index 000000000000..a7b7d58c7ddb --- /dev/null +++ b/src/Init/Data/Array/Perm.lean @@ -0,0 +1,65 @@ +/- +Copyright (c) 2024 Lean FRO. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Kim Morrison +-/ +prelude +import Init.Data.List.Nat.Perm +import Init.Data.Array.Lemmas + +namespace Array + +open List + +/-- +`Perm as bs` asserts that `as` and `bs` are permutations of each other. + +This is a wrapper around `List.Perm`, and for now has much less API. +For more complicated verification, use `perm_iff_toList_perm` and the `List` API. +-/ +def Perm (as bs : Array α) : Prop := + as.toList ~ bs.toList + +@[inherit_doc] scoped infixl:50 " ~ " => Perm + +theorem perm_iff_toList_perm {as bs : Array α} : as ~ bs ↔ as.toList ~ bs.toList := Iff.rfl + +@[simp] theorem perm_toArray (as bs : List α) : as.toArray ~ bs.toArray ↔ as ~ bs := by + simp [perm_iff_toList_perm] + +@[simp, refl] protected theorem Perm.refl (l : Array α) : l ~ l := by + cases l + simp + +protected theorem Perm.rfl {l : List α} : l ~ l := .refl _ + +theorem Perm.of_eq {l₁ l₂ : Array α} (h : l₁ = l₂) : l₁ ~ l₂ := h ▸ .rfl + +protected theorem Perm.symm {l₁ l₂ : Array α} (h : l₁ ~ l₂) : l₂ ~ l₁ := by + cases l₁; cases l₂ + simp only [perm_toArray] at h + simpa using h.symm + +protected theorem Perm.trans {l₁ l₂ l₃ : Array α} (h₁ : l₁ ~ l₂) (h₂ : l₂ ~ l₃) : l₁ ~ l₃ := by + cases l₁; cases l₂; cases l₃ + simp only [perm_toArray] at h₁ h₂ + simpa using h₁.trans h₂ + +instance : Trans (Perm (α := α)) (Perm (α := α)) (Perm (α := α)) where + trans h₁ h₂ := Perm.trans h₁ h₂ + +theorem perm_comm {l₁ l₂ : Array α} : l₁ ~ l₂ ↔ l₂ ~ l₁ := ⟨Perm.symm, Perm.symm⟩ + +theorem Perm.push (x y : α) {l₁ l₂ : Array α} (p : l₁ ~ l₂) : + (l₁.push x).push y ~ (l₂.push y).push x := by + cases l₁; cases l₂ + simp only [perm_toArray] at p + simp only [push_toArray, List.append_assoc, singleton_append, perm_toArray] + exact p.append (Perm.swap' _ _ Perm.nil) + +theorem swap_perm {as : Array α} {i j : Nat} (h₁ : i < as.size) (h₂ : j < as.size) : + as.swap i j ~ as := by + simp only [swap, perm_iff_toList_perm, toList_set] + apply set_set_perm + +end Array diff --git a/src/Init/Data/List/Lemmas.lean b/src/Init/Data/List/Lemmas.lean index 1c165b9cf75f..a07c702af515 100644 --- a/src/Init/Data/List/Lemmas.lean +++ b/src/Init/Data/List/Lemmas.lean @@ -589,6 +589,14 @@ theorem getElem?_set' {l : List α} {i j : Nat} {a : α} : · simp only [getElem?_set_self', Option.map_eq_map, ↓reduceIte, *] · simp only [ne_eq, not_false_eq_true, getElem?_set_ne, ↓reduceIte, *] +@[simp] theorem set_getElem_self {as : List α} {i : Nat} (h : i < as.length) : + as.set i as[i] = as := by + apply ext_getElem + · simp + · intro n h₁ h₂ + rw [getElem_set] + split <;> simp_all + theorem set_eq_of_length_le {l : List α} {n : Nat} (h : l.length ≤ n) {a : α} : l.set n a = l := by induction l generalizing n with diff --git a/src/Init/Data/List/Nat.lean b/src/Init/Data/List/Nat.lean index 17385c3719f8..dae9a70f7ec5 100644 --- a/src/Init/Data/List/Nat.lean +++ b/src/Init/Data/List/Nat.lean @@ -15,3 +15,4 @@ import Init.Data.List.Nat.Find import Init.Data.List.Nat.BEq import Init.Data.List.Nat.Modify import Init.Data.List.Nat.InsertIdx +import Init.Data.List.Nat.Perm diff --git a/src/Init/Data/List/Nat/Perm.lean b/src/Init/Data/List/Nat/Perm.lean new file mode 100644 index 000000000000..4335a95af095 --- /dev/null +++ b/src/Init/Data/List/Nat/Perm.lean @@ -0,0 +1,54 @@ +/- +Copyright (c) 2024 Lean FRO. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Kim Morrison +-/ +prelude +import Init.Data.List.Nat.TakeDrop +import Init.Data.List.Perm + +namespace List + +/-- Helper lemma for `set_set_perm`-/ +private theorem set_set_perm' {as : List α} {i j : Nat} (h₁ : i < as.length) (h₂ : i + j < as.length) + (hj : 0 < j) : + (as.set i as[i + j]).set (i + j) as[i] ~ as := by + have : as = + as.take i ++ as[i] :: (as.take (i + j)).drop (i + 1) ++ as[i + j] :: as.drop (i + j + 1) := by + simp only [getElem_cons_drop, append_assoc, cons_append] + rw [← drop_append_of_le_length] + · simp + · simp; omega + conv => lhs; congr; congr; rw [this] + conv => rhs; rw [this] + rw [set_append_left _ _ (by simp; omega)] + rw [set_append_right _ _ (by simp; omega)] + rw [set_append_right _ _ (by simp; omega)] + simp only [length_append, length_take, length_set, length_cons, length_drop] + rw [(show i - min i as.length = 0 by omega)] + rw [(show i + j - (min i as.length + (min (i + j) as.length - (i + 1) + 1)) = 0 by omega)] + simp only [set_cons_zero] + simp only [append_assoc] + apply Perm.append_left + apply cons_append_cons_perm + +theorem set_set_perm {as : List α} {i j : Nat} (h₁ : i < as.length) (h₂ : j < as.length) : + (as.set i as[j]).set j as[i] ~ as := by + if h₃ : i = j then + simp [h₃] + else + if h₃ : i < j then + let j' := j - i + have t : j = i + j' := by omega + generalize j' = j' at t + subst t + exact set_set_perm' _ _ (by omega) + else + rw [set_comm _ _ _ (by omega)] + let i' := i - j + have t : i = j + i' := by omega + generalize i' = i' at t + subst t + apply set_set_perm' _ _ (by omega) + +end List diff --git a/src/Init/Data/List/Nat/TakeDrop.lean b/src/Init/Data/List/Nat/TakeDrop.lean index 9c1d7174a705..1fdc1fe60f03 100644 --- a/src/Init/Data/List/Nat/TakeDrop.lean +++ b/src/Init/Data/List/Nat/TakeDrop.lean @@ -345,7 +345,7 @@ theorem drop_append {l₁ l₂ : List α} (i : Nat) : drop (l₁.length + i) (l rw [drop_append_eq_append_drop, drop_eq_nil_of_le] <;> simp [Nat.add_sub_cancel_left, Nat.le_add_right] -theorem set_eq_take_append_cons_drop {l : List α} {n : Nat} {a : α} : +theorem set_eq_take_append_cons_drop (l : List α) (n : Nat) (a : α) : l.set n a = if n < l.length then l.take n ++ a :: l.drop (n + 1) else l := by split <;> rename_i h · ext1 m diff --git a/src/Init/Data/List/Perm.lean b/src/Init/Data/List/Perm.lean index 6373a6511d8d..501d02daf5ae 100644 --- a/src/Init/Data/List/Perm.lean +++ b/src/Init/Data/List/Perm.lean @@ -39,6 +39,9 @@ protected theorem Perm.symm {l₁ l₂ : List α} (h : l₁ ~ l₂) : l₂ ~ l | swap => exact swap .. | trans _ _ ih₁ ih₂ => exact trans ih₂ ih₁ +instance : Trans (Perm (α := α)) (Perm (α := α)) (Perm (α := α)) where + trans h₁ h₂ := Perm.trans h₁ h₂ + theorem perm_comm {l₁ l₂ : List α} : l₁ ~ l₂ ↔ l₂ ~ l₁ := ⟨Perm.symm, Perm.symm⟩ theorem Perm.swap' (x y : α) {l₁ l₂ : List α} (p : l₁ ~ l₂) : y :: x :: l₁ ~ x :: y :: l₂ := @@ -102,7 +105,7 @@ theorem perm_append_comm : ∀ {l₁ l₂ : List α}, l₁ ++ l₂ ~ l₂ ++ l | _ :: _, _ => (perm_append_comm.cons _).trans perm_middle.symm theorem perm_append_comm_assoc (l₁ l₂ l₃ : List α) : - Perm (l₁ ++ (l₂ ++ l₃)) (l₂ ++ (l₁ ++ l₃)) := by + (l₁ ++ (l₂ ++ l₃)) ~ (l₂ ++ (l₁ ++ l₃)) := by simpa only [List.append_assoc] using perm_append_comm.append_right _ theorem concat_perm (l : List α) (a : α) : concat l a ~ a :: l := by simp @@ -133,7 +136,7 @@ theorem Perm.nil_eq {l : List α} (p : [] ~ l) : [] = l := p.symm.eq_nil.symm theorem not_perm_nil_cons (x : α) (l : List α) : ¬[] ~ x :: l := (nomatch ·.symm.eq_nil) -theorem not_perm_cons_nil {l : List α} {a : α} : ¬(Perm (a::l) []) := +theorem not_perm_cons_nil {l : List α} {a : α} : ¬((a::l) ~ []) := fun h => by simpa using h.length_eq theorem Perm.isEmpty_eq {l l' : List α} (h : Perm l l') : l.isEmpty = l'.isEmpty := by @@ -478,6 +481,15 @@ theorem Perm.flatten {l₁ l₂ : List (List α)} (h : l₁ ~ l₂) : l₁.flatt @[deprecated Perm.flatten (since := "2024-10-14")] abbrev Perm.join := @Perm.flatten +theorem cons_append_cons_perm {a b : α} {as bs : List α} : + a :: as ++ b :: bs ~ b :: as ++ a :: bs := by + suffices [[a], as, [b], bs].flatten ~ [[b], as, [a], bs].flatten by simpa + apply Perm.flatten + calc + [[a], as, [b], bs] ~ [as, [a], [b], bs] := Perm.swap as [a] _ + _ ~ [as, [b], [a], bs] := Perm.cons _ (Perm.swap [b] [a] _) + _ ~ [[b], as, [a], bs] := Perm.swap [b] as _ + theorem Perm.flatMap_right {l₁ l₂ : List α} (f : α → List β) (p : l₁ ~ l₂) : l₁.flatMap f ~ l₂.flatMap f := (p.map _).flatten diff --git a/src/Init/Data/Vector/Basic.lean b/src/Init/Data/Vector/Basic.lean index 01613f0be16f..8ac2214ea20e 100644 --- a/src/Init/Data/Vector/Basic.lean +++ b/src/Init/Data/Vector/Basic.lean @@ -21,6 +21,9 @@ deriving Repr, DecidableEq attribute [simp] Vector.size_toArray +/-- Convert `xs : Array α` to `Vector α xs.size`. -/ +abbrev Array.toVector (xs : Array α) : Vector α xs.size := .mk xs rfl + namespace Vector /-- Syntax for `Vector α n` -/ From 23236ef5203c2ed9105fcaf39ddb61bf5f25efde Mon Sep 17 00:00:00 2001 From: Kyle Miller Date: Sun, 1 Dec 2024 10:04:32 -0800 Subject: [PATCH 09/24] fix: have `Lean.Meta.isConstructorApp'?` be aware of `n + k` Nat offsets (#6270) This PR fixes a bug that could cause the `injectivity` tactic to fail in reducible mode, which could cause unfolding lemma generation to fail (used by tactics such as `unfold`). In particular, `Lean.Meta.isConstructorApp'?` was not aware that `n + 1` is equivalent to `Nat.succ n`. Closes #5064 --- src/Lean/Meta/CtorRecognizer.lean | 24 +++++++++++++++++++++--- tests/lean/run/5064.lean | 27 +++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 tests/lean/run/5064.lean diff --git a/src/Lean/Meta/CtorRecognizer.lean b/src/Lean/Meta/CtorRecognizer.lean index afde2e4c2d33..c7d251037bdc 100644 --- a/src/Lean/Meta/CtorRecognizer.lean +++ b/src/Lean/Meta/CtorRecognizer.lean @@ -35,11 +35,27 @@ def isConstructorApp? (e : Expr) : MetaM (Option ConstructorVal) := do /-- Similar to `isConstructorApp?`, but uses `whnf`. +It also uses `isOffset?` for `Nat`. + +See also `Lean.Meta.constructorApp'?`. -/ def isConstructorApp'? (e : Expr) : MetaM (Option ConstructorVal) := do - if let some r ← isConstructorApp? e then + if let some (_, k) ← isOffset? e then + if k = 0 then + return none + else + let .ctorInfo val ← getConstInfo ``Nat.succ | return none + return some val + else if let some r ← isConstructorApp? e then return r - isConstructorApp? (← whnf e) + else try + /- + We added the `try` block here because `whnf` fails at terms `n ^ m` + when `m` is a big numeral, and `n` is a numeral. This is a little bit hackish. + -/ + isConstructorApp? (← whnf e) + catch _ => + return none /-- Returns `true`, if `e` is constructor application of builtin literal defeq to @@ -70,7 +86,9 @@ def constructorApp? (e : Expr) : MetaM (Option (ConstructorVal × Array Expr)) : /-- Similar to `constructorApp?`, but on failure it puts `e` in WHNF and tries again. -It also `isOffset?` +It also uses `isOffset?` for `Nat`. + +See also `Lean.Meta.isConstructorApp'?`. -/ def constructorApp'? (e : Expr) : MetaM (Option (ConstructorVal × Array Expr)) := do if let some (e, k) ← isOffset? e then diff --git a/tests/lean/run/5064.lean b/tests/lean/run/5064.lean new file mode 100644 index 000000000000..6df9de86225b --- /dev/null +++ b/tests/lean/run/5064.lean @@ -0,0 +1,27 @@ +/-! +# Make sure `injection` tactic can handle `0 = n + 1` +https://github.com/leanprover/lean4/issues/5064 +-/ + +/-! +Motivating example from #5064. +This failed when generating the splitter theorem for `thingy`. +-/ + +def thingy : List (Nat ⊕ Nat) → List Bool + | Sum.inr (_n + 2) :: l => thingy l + | _ => [] + termination_by l => l.length + +/-- info: ⊢ [] = [] -/ +#guard_msgs in +theorem thingy_empty : thingy [] = [] := by + unfold thingy + trace_state + rfl + +/-! +Test using `injection` directly. +-/ +example (n : Nat) (h : 0 = n + 1) : False := by + with_reducible injection h From 0a2a8e8aa41d4efdb6d71fec0d68aeaa7693bcb6 Mon Sep 17 00:00:00 2001 From: Kyle Miller Date: Sun, 1 Dec 2024 11:12:42 -0800 Subject: [PATCH 10/24] feat: make "foo has been deprecated" warning be hoverable (#6273) This PR modifies the "foo has been deprecated: use betterFoo instead" warning so that foo and betterFoo are hoverable. --- src/Lean/Linter/Deprecated.lean | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Lean/Linter/Deprecated.lean b/src/Lean/Linter/Deprecated.lean index ff248cc620d2..e9ac7a1ee2ba 100644 --- a/src/Lean/Linter/Deprecated.lean +++ b/src/Lean/Linter/Deprecated.lean @@ -51,8 +51,8 @@ def checkDeprecated [Monad m] [MonadEnv m] [MonadLog m] [AddMessageContext m] [M if getLinterValue linter.deprecated (← getOptions) then let some attr := deprecatedAttr.getParam? (← getEnv) declName | pure () logWarning <| .tagged ``deprecatedAttr <| - s!"`{declName}` has been deprecated" ++ match attr.text? with + m!"`{.ofConstName declName true}` has been deprecated" ++ match attr.text? with | some text => s!": {text}" | none => match attr.newName? with - | some newName => s!": use `{newName}` instead" + | some newName => m!": use `{.ofConstName newName true}` instead" | none => "" From 62b823878293d6bdb3acbf278767f8682f40c20e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Sun, 1 Dec 2024 22:11:44 +0100 Subject: [PATCH 11/24] chore: remove accidentally added file (#6262) This PR removes an accidentally comitted file. --- debug.log | 1 - 1 file changed, 1 deletion(-) delete mode 100644 debug.log diff --git a/debug.log b/debug.log deleted file mode 100644 index 3e3495567796..000000000000 --- a/debug.log +++ /dev/null @@ -1 +0,0 @@ -[0829/202002.254:ERROR:crashpad_client_win.cc(868)] not connected From 6bf8ff32f0c9c5bdbecd4bef5a7f49ef6700199e Mon Sep 17 00:00:00 2001 From: Mac Malone Date: Sun, 1 Dec 2024 17:38:49 -0500 Subject: [PATCH 12/24] feat: more UInt bitwise theorems (#6188) This PR completes the `toNat` theorems for the bitwise operations (`and`, `or`, `xor`, `shiftLeft`, `shiftRight`) of the UInt types and adds `toBitVec` theorems as well. It also renames `and_toNat` to `toNat_and` to fit with the current naming convention. --- src/Init/Data/UInt/Bitwise.lean | 32 ++++++++++++++++------- src/Std/Data/DHashMap/Internal/Index.lean | 16 +++--------- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/src/Init/Data/UInt/Bitwise.lean b/src/Init/Data/UInt/Bitwise.lean index b9282fcf4f74..25912f31d814 100644 --- a/src/Init/Data/UInt/Bitwise.lean +++ b/src/Init/Data/UInt/Bitwise.lean @@ -1,25 +1,39 @@ /- Copyright (c) 2024 Lean FRO, LLC. All Rights Reserved. Released under Apache 2.0 license as described in the file LICENSE. -Authors: Markus Himmel +Authors: Markus Himmel, Mac Malone -/ prelude -import Init.Data.UInt.Basic +import Init.Data.UInt.Lemmas import Init.Data.Fin.Bitwise import Init.Data.BitVec.Lemmas set_option hygiene false in -macro "declare_bitwise_uint_theorems" typeName:ident : command => +macro "declare_bitwise_uint_theorems" typeName:ident bits:term:arg : command => `( namespace $typeName -@[simp] protected theorem and_toNat (a b : $typeName) : (a &&& b).toNat = a.toNat &&& b.toNat := BitVec.toNat_and .. +@[simp] protected theorem toBitVec_and (a b : $typeName) : (a &&& b).toBitVec = a.toBitVec &&& b.toBitVec := rfl +@[simp] protected theorem toBitVec_or (a b : $typeName) : (a ||| b).toBitVec = a.toBitVec ||| b.toBitVec := rfl +@[simp] protected theorem toBitVec_xor (a b : $typeName) : (a ^^^ b).toBitVec = a.toBitVec ^^^ b.toBitVec := rfl +@[simp] protected theorem toBitVec_shiftLeft (a b : $typeName) : (a <<< b).toBitVec = a.toBitVec <<< (b.toBitVec % $bits) := rfl +@[simp] protected theorem toBitVec_shiftRight (a b : $typeName) : (a >>> b).toBitVec = a.toBitVec >>> (b.toBitVec % $bits) := rfl + +@[simp] protected theorem toNat_and (a b : $typeName) : (a &&& b).toNat = a.toNat &&& b.toNat := by simp [toNat] +@[simp] protected theorem toNat_or (a b : $typeName) : (a ||| b).toNat = a.toNat ||| b.toNat := by simp [toNat] +@[simp] protected theorem toNat_xor (a b : $typeName) : (a ^^^ b).toNat = a.toNat ^^^ b.toNat := by simp [toNat] +@[simp] protected theorem toNat_shiftLeft (a b : $typeName) : (a <<< b).toNat = a.toNat <<< (b.toNat % $bits) % 2 ^ $bits := by simp [toNat] +@[simp] protected theorem toNat_shiftRight (a b : $typeName) : (a >>> b).toNat = a.toNat >>> (b.toNat % $bits) := by simp [toNat] + +open $typeName (toNat_and) in +@[deprecated toNat_and (since := "2024-11-28")] +protected theorem and_toNat (a b : $typeName) : (a &&& b).toNat = a.toNat &&& b.toNat := BitVec.toNat_and .. end $typeName ) -declare_bitwise_uint_theorems UInt8 -declare_bitwise_uint_theorems UInt16 -declare_bitwise_uint_theorems UInt32 -declare_bitwise_uint_theorems UInt64 -declare_bitwise_uint_theorems USize +declare_bitwise_uint_theorems UInt8 8 +declare_bitwise_uint_theorems UInt16 16 +declare_bitwise_uint_theorems UInt32 32 +declare_bitwise_uint_theorems UInt64 64 +declare_bitwise_uint_theorems USize System.Platform.numBits diff --git a/src/Std/Data/DHashMap/Internal/Index.lean b/src/Std/Data/DHashMap/Internal/Index.lean index 60e14072e767..0bfca7684458 100644 --- a/src/Std/Data/DHashMap/Internal/Index.lean +++ b/src/Std/Data/DHashMap/Internal/Index.lean @@ -46,19 +46,11 @@ cf. https://github.com/leanprover/lean4/issues/4157 @[irreducible, inline] def mkIdx (sz : Nat) (h : 0 < sz) (hash : UInt64) : { u : USize // u.toNat < sz } := ⟨(scrambleHash hash).toUSize &&& (sz.toUSize - 1), by - -- Making this proof significantly less painful will be a good test for our USize API + -- This proof is a good test for our USize API by_cases h' : sz < USize.size - · rw [USize.and_toNat, ← USize.ofNat_one, USize.toNat_sub_of_le, USize.toNat_ofNat_of_lt] - · refine Nat.lt_of_le_of_lt Nat.and_le_right (Nat.sub_lt h ?_) - rw [USize.toNat_ofNat_of_lt] - · exact Nat.one_pos - · exact Nat.lt_of_le_of_lt h h' - · exact h' - · rw [USize.le_def, BitVec.le_def] - change _ ≤ (_ % _) - rw [Nat.mod_eq_of_lt h', USize.ofNat, BitVec.toNat_ofNat, Nat.mod_eq_of_lt] - · exact h - · exact Nat.lt_of_le_of_lt h h' + · rw [USize.toNat_and, USize.toNat_sub_of_le, USize.toNat_ofNat_of_lt h'] + · exact Nat.lt_of_le_of_lt Nat.and_le_right (Nat.sub_lt h (by simp)) + · simp [USize.le_iff_toNat_le, Nat.mod_eq_of_lt h', Nat.succ_le_of_lt h] · exact Nat.lt_of_lt_of_le (USize.toNat_lt_size _) (Nat.le_of_not_lt h')⟩ end Std.DHashMap.Internal From 29e84fa7eaacddaa42df27494cccb6ab1e89f3fd Mon Sep 17 00:00:00 2001 From: Kim Morrison Date: Mon, 2 Dec 2024 10:57:15 +1100 Subject: [PATCH 13/24] feat: omega doesn't get stuck on bare Int.negSucc (#6276) This PR ensures `omega` doesn't get stuck on bare `Int.negSucc` terms in goals. This came up in https://github.com/ImperialCollegeLondon/FLT/pull/260. --- src/Lean/Elab/Tactic/Omega/Frontend.lean | 1 + tests/lean/run/omega.lean | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/Lean/Elab/Tactic/Omega/Frontend.lean b/src/Lean/Elab/Tactic/Omega/Frontend.lean index 0d992d100fb3..9c407fda6186 100644 --- a/src/Lean/Elab/Tactic/Omega/Frontend.lean +++ b/src/Lean/Elab/Tactic/Omega/Frontend.lean @@ -228,6 +228,7 @@ partial def asLinearComboImpl (e : Expr) : OmegaM (LinearCombo × OmegaM Expr × | .app (.app (.app (.app (.const ``Prod.mk [u, v]) _) _) x) y => rewrite e (mkApp4 (.const ``Prod.snd_mk [u, v]) α x β y) | _ => mkAtomLinearCombo e + | (``Int.negSucc, #[n]) => rewrite e (mkApp (.const ``Int.negSucc_eq []) n) | _ => mkAtomLinearCombo e where /-- diff --git a/tests/lean/run/omega.lean b/tests/lean/run/omega.lean index 5dbd185978b3..36061c90d81c 100644 --- a/tests/lean/run/omega.lean +++ b/tests/lean/run/omega.lean @@ -466,6 +466,12 @@ example (z : Int) : z.toNat = 0 ↔ z ≤ 0 := by example (z : Int) (a : Fin z.toNat) (h : 0 ≤ z) : ↑↑a ≤ z := by omega +/-! ### Int.negSucc +Make sure we aren't stopped by stray `Int.negSucc` terms. +-/ + +example (x : Int) (h : Int.negSucc 0 < x ∧ x < 1) : x = 0 := by omega + /-! ### BitVec -/ open BitVec From 3c5e612dc54733cd707becb929457d2f9d8ca6fd Mon Sep 17 00:00:00 2001 From: Kim Morrison Date: Mon, 2 Dec 2024 15:11:10 +1100 Subject: [PATCH 14/24] chore: begin development cycle for v4.16.0 (#6277) --- RELEASES.md | 9 +++++++-- src/CMakeLists.txt | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 9483bd8219b6..d70621fbdc8f 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -8,11 +8,16 @@ This file contains work-in-progress notes for the upcoming release, as well as p Please check the [releases](https://github.com/leanprover/lean4/releases) page for the current status of each version. -v4.15.0 +v4.16.0 ---------- Development in progress. +v4.15.0 +---------- + +Release candidate, release notes will be copied from the branch `releases/v4.15.0` once completed. + v4.14.0 ---------- @@ -88,7 +93,7 @@ v4.13.0 * [#4768](https://github.com/leanprover/lean4/pull/4768) fixes a parse error when `..` appears with a `.` on the next line * Metaprogramming - * [#3090](https://github.com/leanprover/lean4/pull/3090) handles level parameters in `Meta.evalExpr` (@eric-wieser) + * [#3090](https://github.com/leanprover/lean4/pull/3090) handles level parameters in `Meta.evalExpr` (@eric-wieser) * [#5401](https://github.com/leanprover/lean4/pull/5401) instance for `Inhabited (TacticM α)` (@alexkeizer) * [#5412](https://github.com/leanprover/lean4/pull/5412) expose Kernel.check for debugging purposes * [#5556](https://github.com/leanprover/lean4/pull/5556) improves the "invalid projection" type inference error in `inferType`. diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 08e584b1795e..7ad5d59766b4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -10,7 +10,7 @@ endif() include(ExternalProject) project(LEAN CXX C) set(LEAN_VERSION_MAJOR 4) -set(LEAN_VERSION_MINOR 15) +set(LEAN_VERSION_MINOR 16) set(LEAN_VERSION_PATCH 0) set(LEAN_VERSION_IS_RELEASE 0) # This number is 1 in the release revision, and 0 otherwise. set(LEAN_SPECIAL_VERSION_DESC "" CACHE STRING "Additional version description like 'nightly-2018-03-11'") From b3e0c9c3fa9d79d9fa8ec5b97721be8d590018f6 Mon Sep 17 00:00:00 2001 From: Marc Huisinga Date: Mon, 2 Dec 2024 10:37:12 +0100 Subject: [PATCH 15/24] fix: use sensible notion of indentation in structure instance field completion (#6279) This PR fixes a bug in structure instance field completion that caused it to not function correctly for bracketed structure instances written in Mathlib style. --- .../Completion/SyntheticCompletion.lean | 48 ++--------- .../completionStructureInstance.lean | 10 +-- ...pletionStructureInstance.lean.expected.out | 10 +-- tests/lean/interactive/completionTactics.lean | 5 ++ .../completionTactics.lean.expected.out | 86 +++++++++++++++++++ 5 files changed, 108 insertions(+), 51 deletions(-) diff --git a/src/Lean/Server/Completion/SyntheticCompletion.lean b/src/Lean/Server/Completion/SyntheticCompletion.lean index 86336eb3b21c..a733017faac5 100644 --- a/src/Lean/Server/Completion/SyntheticCompletion.lean +++ b/src/Lean/Server/Completion/SyntheticCompletion.lean @@ -100,20 +100,6 @@ private def findSyntheticIdentifierCompletion? HoverInfo.after some { hoverInfo, ctx, info := .id stx id danglingDot info.lctx none } -private partial def getIndentationAmount (fileMap : FileMap) (line : Nat) : Nat := Id.run do - let lineStartPos := fileMap.lineStart line - let lineEndPos := fileMap.lineStart (line + 1) - let mut it : String.Iterator := ⟨fileMap.source, lineStartPos⟩ - let mut indentationAmount := 0 - while it.pos < lineEndPos do - let c := it.curr - if c = ' ' || c = '\t' then - indentationAmount := indentationAmount + 1 - else - break - it := it.next - return indentationAmount - private partial def isCursorOnWhitespace (fileMap : FileMap) (hoverPos : String.Pos) : Bool := fileMap.source.atEnd hoverPos || (fileMap.source.get hoverPos).isWhitespace @@ -127,15 +113,10 @@ private partial def isSyntheticTacticCompletion (cmdStx : Syntax) : Bool := Id.run do let hoverFilePos := fileMap.toPosition hoverPos - let mut hoverLineIndentation := getIndentationAmount fileMap hoverFilePos.line - if hoverFilePos.column < hoverLineIndentation then - -- Ignore trailing whitespace after the cursor - hoverLineIndentation := hoverFilePos.column - go hoverFilePos hoverLineIndentation cmdStx 0 + go hoverFilePos cmdStx 0 where go (hoverFilePos : Position) - (hoverLineIndentation : Nat) (stx : Syntax) (leadingWs : Nat) : Bool := Id.run do @@ -148,7 +129,7 @@ where return false let mut wsBeforeArg := leadingWs for arg in stx.getArgs do - if go hoverFilePos hoverLineIndentation arg wsBeforeArg then + if go hoverFilePos arg wsBeforeArg then return true -- We must account for the whitespace before an argument because the syntax nodes we use -- to identify tactic blocks only start *after* the whitespace following a `by`, and we @@ -158,7 +139,7 @@ where wsBeforeArg := arg.getTrailingSize return isCompletionInEmptyTacticBlock stx || isCompletionAfterSemicolon stx - || isCompletionOnTacticBlockIndentation hoverFilePos hoverLineIndentation stx + || isCompletionOnTacticBlockIndentation hoverFilePos stx | _, _ => -- Empty tactic blocks typically lack ranges since they do not contain any tokens. -- We do not perform more precise range checking in this case because we assume that empty @@ -169,24 +150,17 @@ where isCompletionOnTacticBlockIndentation (hoverFilePos : Position) - (hoverLineIndentation : Nat) (stx : Syntax) : Bool := Id.run do - let isCursorInIndentation := hoverFilePos.column <= hoverLineIndentation - if ! isCursorInIndentation then - -- Do not trigger tactic completion at the end of a properly indented tactic block line since - -- that line might already have entered term mode by that point. - return false let some tacticsNode := getTacticsNode? stx | return false let some firstTacticPos := tacticsNode.getPos? | return false - let firstTacticLine := fileMap.toPosition firstTacticPos |>.line - let firstTacticIndentation := getIndentationAmount fileMap firstTacticLine + let firstTacticColumn := fileMap.toPosition firstTacticPos |>.column -- This ensures that we do not accidentally provide tactic completions in a term mode proof - -- tactic completions are only provided at the same indentation level as the other tactics in -- that tactic block. - let isCursorInTacticBlock := hoverLineIndentation == firstTacticIndentation + let isCursorInTacticBlock := hoverFilePos.column == firstTacticColumn return isCursorInProperWhitespace fileMap hoverPos && isCursorInTacticBlock isCompletionAfterSemicolon (stx : Syntax) : Bool := Id.run do @@ -315,10 +289,6 @@ private def isSyntheticStructFieldCompletion return false let hoverFilePos := fileMap.toPosition hoverPos - let mut hoverLineIndentation := getIndentationAmount fileMap hoverFilePos.line - if hoverFilePos.column < hoverLineIndentation then - -- Ignore trailing whitespace after the cursor - hoverLineIndentation := hoverFilePos.column return Option.isSome <| findWithLeadingToken? (stx := cmdStx) fun leadingToken? stx => Id.run do let some leadingToken := leadingToken? @@ -355,14 +325,10 @@ private def isSyntheticStructFieldCompletion let isCompletionOnIndentation := Id.run do if ! isCursorInProperWhitespace then return false - let isCursorInIndentation := hoverFilePos.column <= hoverLineIndentation - if ! isCursorInIndentation then - return false let some firstFieldPos := stx.getPos? | return false - let firstFieldLine := fileMap.toPosition firstFieldPos |>.line - let firstFieldIndentation := getIndentationAmount fileMap firstFieldLine - let isCursorInBlock := hoverLineIndentation == firstFieldIndentation + let firstFieldColumn := fileMap.toPosition firstFieldPos |>.column + let isCursorInBlock := hoverFilePos.column == firstFieldColumn return isCursorInBlock return isCompletionOnIndentation diff --git a/tests/lean/interactive/completionStructureInstance.lean b/tests/lean/interactive/completionStructureInstance.lean index a9a084fbf5ac..9f098b82dcda 100644 --- a/tests/lean/interactive/completionStructureInstance.lean +++ b/tests/lean/interactive/completionStructureInstance.lean @@ -74,11 +74,11 @@ example : S := { --^ textDocument/completion } -example : S := { - foo := 1 - -- All field completions expected ---^ textDocument/completion -} +example : S := + { foo := 1 + } -- All field completions expected + --^ textDocument/completion + example : S := { foo := 1, } -- All field completions expected --^ textDocument/completion diff --git a/tests/lean/interactive/completionStructureInstance.lean.expected.out b/tests/lean/interactive/completionStructureInstance.lean.expected.out index 230c804b6498..e5a8826146b6 100644 --- a/tests/lean/interactive/completionStructureInstance.lean.expected.out +++ b/tests/lean/interactive/completionStructureInstance.lean.expected.out @@ -416,7 +416,7 @@ "cPos": 0}}], "isIncomplete": true} {"textDocument": {"uri": "file:///completionStructureInstance.lean"}, - "position": {"line": 78, "character": 2}} + "position": {"line": 78, "character": 4}} {"items": [{"sortText": "0", "label": "bar", @@ -425,7 +425,7 @@ "data": {"params": {"textDocument": {"uri": "file:///completionStructureInstance.lean"}, - "position": {"line": 78, "character": 2}}, + "position": {"line": 78, "character": 4}}, "cPos": 0}}, {"sortText": "1", "label": "barfoo", @@ -434,7 +434,7 @@ "data": {"params": {"textDocument": {"uri": "file:///completionStructureInstance.lean"}, - "position": {"line": 78, "character": 2}}, + "position": {"line": 78, "character": 4}}, "cPos": 0}}, {"sortText": "2", "label": "foo", @@ -443,7 +443,7 @@ "data": {"params": {"textDocument": {"uri": "file:///completionStructureInstance.lean"}, - "position": {"line": 78, "character": 2}}, + "position": {"line": 78, "character": 4}}, "cPos": 0}}, {"sortText": "3", "label": "foobar", @@ -452,7 +452,7 @@ "data": {"params": {"textDocument": {"uri": "file:///completionStructureInstance.lean"}, - "position": {"line": 78, "character": 2}}, + "position": {"line": 78, "character": 4}}, "cPos": 0}}], "isIncomplete": true} {"textDocument": {"uri": "file:///completionStructureInstance.lean"}, diff --git a/tests/lean/interactive/completionTactics.lean b/tests/lean/interactive/completionTactics.lean index 110c4aa97410..9b9675b2636b 100644 --- a/tests/lean/interactive/completionTactics.lean +++ b/tests/lean/interactive/completionTactics.lean @@ -113,3 +113,8 @@ example : True := by { -- All tactic completions expected --^ textDocument/completion } + +example : True := by + { skip -- All tactic completions expected + } + --^ textDocument/completion diff --git a/tests/lean/interactive/completionTactics.lean.expected.out b/tests/lean/interactive/completionTactics.lean.expected.out index dbe081fa5785..75fe7c939ae4 100644 --- a/tests/lean/interactive/completionTactics.lean.expected.out +++ b/tests/lean/interactive/completionTactics.lean.expected.out @@ -1472,3 +1472,89 @@ "position": {"line": 112, "character": 2}}, "cPos": 0}}], "isIncomplete": true} +{"textDocument": {"uri": "file:///completionTactics.lean"}, + "position": {"line": 118, "character": 4}} +{"items": + [{"sortText": "0", + "label": "exact", + "kind": 14, + "documentation": {"value": "Another docstring ", "kind": "markdown"}, + "data": + {"params": + {"textDocument": {"uri": "file:///completionTactics.lean"}, + "position": {"line": 118, "character": 4}}, + "cPos": 0}}, + {"sortText": "1", + "label": "Lean.Parser.Tactic.introMatch", + "kind": 14, + "documentation": + {"value": + "The tactic\n```\nintro\n| pat1 => tac1\n| pat2 => tac2\n```\nis the same as:\n```\nintro x\nmatch x with\n| pat1 => tac1\n| pat2 => tac2\n```\nThat is, `intro` can be followed by match arms and it introduces the values while\ndoing a pattern match. This is equivalent to `fun` with match arms in term mode.\n", + "kind": "markdown"}, + "data": + {"params": + {"textDocument": {"uri": "file:///completionTactics.lean"}, + "position": {"line": 118, "character": 4}}, + "cPos": 0}}, + {"sortText": "2", + "label": "Lean.Parser.Tactic.match", + "kind": 14, + "documentation": + {"value": + "`match` performs case analysis on one or more expressions.\nSee [Induction and Recursion][tpil4].\nThe syntax for the `match` tactic is the same as term-mode `match`, except that\nthe match arms are tactics instead of expressions.\n```\nexample (n : Nat) : n = n := by\n match n with\n | 0 => rfl\n | i+1 => simp\n```\n\n[tpil4]: https://lean-lang.org/theorem_proving_in_lean4/induction_and_recursion.html\n", + "kind": "markdown"}, + "data": + {"params": + {"textDocument": {"uri": "file:///completionTactics.lean"}, + "position": {"line": 118, "character": 4}}, + "cPos": 0}}, + {"sortText": "3", + "label": "Lean.Parser.Tactic.nestedTactic", + "kind": 14, + "data": + {"params": + {"textDocument": {"uri": "file:///completionTactics.lean"}, + "position": {"line": 118, "character": 4}}, + "cPos": 0}}, + {"sortText": "4", + "label": "Lean.Parser.Tactic.open", + "kind": 14, + "documentation": + {"value": + "`open Foo in tacs` (the tactic) acts like `open Foo` at command level,\nbut it opens a namespace only within the tactics `tacs`. ", + "kind": "markdown"}, + "data": + {"params": + {"textDocument": {"uri": "file:///completionTactics.lean"}, + "position": {"line": 118, "character": 4}}, + "cPos": 0}}, + {"sortText": "5", + "label": "Lean.Parser.Tactic.set_option", + "kind": 14, + "documentation": + {"value": + "`set_option opt val in tacs` (the tactic) acts like `set_option opt val` at the command level,\nbut it sets the option only within the tactics `tacs`. ", + "kind": "markdown"}, + "data": + {"params": + {"textDocument": {"uri": "file:///completionTactics.lean"}, + "position": {"line": 118, "character": 4}}, + "cPos": 0}}, + {"sortText": "6", + "label": "Lean.Parser.Tactic.unknown", + "kind": 14, + "data": + {"params": + {"textDocument": {"uri": "file:///completionTactics.lean"}, + "position": {"line": 118, "character": 4}}, + "cPos": 0}}, + {"sortText": "7", + "label": "skip", + "kind": 14, + "documentation": {"value": "A docstring ", "kind": "markdown"}, + "data": + {"params": + {"textDocument": {"uri": "file:///completionTactics.lean"}, + "position": {"line": 118, "character": 4}}, + "cPos": 0}}], + "isIncomplete": true} From 6fcf35e930d44038e63105a4fadd42d2a756b461 Mon Sep 17 00:00:00 2001 From: Sebastian Ullrich Date: Mon, 2 Dec 2024 11:00:57 +0100 Subject: [PATCH 16/24] chore: `script/mathlib-bench` (#6280) A simple approach to benchmarking lean4 PRs against Mathlib --- script/mathlib-bench | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100755 script/mathlib-bench diff --git a/script/mathlib-bench b/script/mathlib-bench new file mode 100755 index 000000000000..b065a9aa56e2 --- /dev/null +++ b/script/mathlib-bench @@ -0,0 +1,12 @@ +#! /bin/env bash +# Open a Mathlib4 PR for benchmarking a given Lean 4 PR + +set -euo pipefail + +[ $# -eq 1 ] || (echo "usage: $0 "; exit 1) + +LEAN_PR=$1 +PR_RESPONSE=$(gh api repos/leanprover-community/mathlib4/pulls -X POST -f head=lean-pr-testing-$LEAN_PR -f base=nightly-testing -f title="leanprover/lean4#$LEAN_PR benchmarking" -f draft=true -f body="ignore me") +PR_NUMBER=$(echo "$PR_RESPONSE" | jq '.number') +echo "opened https://github.com/leanprover-community/mathlib4/pull/$PR_NUMBER" +gh api repos/leanprover-community/mathlib4/issues/$PR_NUMBER/comments -X POST -f body="!bench" > /dev/null From be63c8280eda591fc3df0ceb1846c4209be1f0e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 11:33:27 +0100 Subject: [PATCH 17/24] chore: CI: bump dcarbone/install-jq-action from 2.1.0 to 3.0.1 (#6275) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [dcarbone/install-jq-action](https://github.com/dcarbone/install-jq-action) from 2.1.0 to 3.0.1.
Release notes

Sourced from dcarbone/install-jq-action's releases.

v3.0.1

What's Changed

Full Changelog: https://github.com/dcarbone/install-jq-action/compare/v3.0.0...v3.0.1

v3.0.0

What's Changed

Full Changelog: https://github.com/dcarbone/install-jq-action/compare/v2...v3.0.0

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dcarbone/install-jq-action&package-manager=github_actions&previous-version=2.1.0&new-version=3.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pr-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-release.yml b/.github/workflows/pr-release.yml index ddedc51271ba..e9a89bcb3389 100644 --- a/.github/workflows/pr-release.yml +++ b/.github/workflows/pr-release.yml @@ -111,7 +111,7 @@ jobs: - name: 'Setup jq' if: ${{ steps.workflow-info.outputs.pullRequestNumber != '' }} - uses: dcarbone/install-jq-action@v2.1.0 + uses: dcarbone/install-jq-action@v3.0.1 # Check that the most recently nightly coincides with 'git merge-base HEAD master' - name: Check merge-base and nightly-testing-YYYY-MM-DD From 95dbac26cff90f2a54806020ab4de77301a43892 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Mon, 2 Dec 2024 11:52:43 +0100 Subject: [PATCH 18/24] chore: shake Std.Time (#6283) This PR reduces the import closure of `Std.Time` such that it doesn't have to be rebuilt on every change in `Init.Data`. Noticed while working on `Init` refactorings. --- src/Std/Time/DateTime/Timestamp.lean | 1 + src/Std/Time/Internal/UnitVal.lean | 1 - src/Std/Time/Zoned/Database/Windows.lean | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Std/Time/DateTime/Timestamp.lean b/src/Std/Time/DateTime/Timestamp.lean index f2c38ddea7b2..8ba43cc11892 100644 --- a/src/Std/Time/DateTime/Timestamp.lean +++ b/src/Std/Time/DateTime/Timestamp.lean @@ -6,6 +6,7 @@ Authors: Sofia Rodrigues prelude import Std.Time.Internal import Init.Data.Int +import Init.System.IO import Std.Time.Time import Std.Time.Date import Std.Time.Duration diff --git a/src/Std/Time/Internal/UnitVal.lean b/src/Std/Time/Internal/UnitVal.lean index cc97c0b6481c..782b5c28d456 100644 --- a/src/Std/Time/Internal/UnitVal.lean +++ b/src/Std/Time/Internal/UnitVal.lean @@ -4,7 +4,6 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Sofia Rodrigues -/ prelude -import Init.Data import Std.Internal.Rat namespace Std diff --git a/src/Std/Time/Zoned/Database/Windows.lean b/src/Std/Time/Zoned/Database/Windows.lean index 2a9a0bea23f3..80458d886eaf 100644 --- a/src/Std/Time/Zoned/Database/Windows.lean +++ b/src/Std/Time/Zoned/Database/Windows.lean @@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE. Authors: Sofia Rodrigues -/ prelude +import Init.Data.SInt.Basic import Std.Time.DateTime import Std.Time.Zoned.TimeZone import Std.Time.Zoned.ZoneRules From e157fcbcd1643d6440926abcc9cafab1e59cae74 Mon Sep 17 00:00:00 2001 From: Kim Morrison Date: Mon, 2 Dec 2024 22:00:03 +1100 Subject: [PATCH 19/24] chore: missing Array/Vector injectivity lemmas (#6284) --- src/Init/Data/Array/Lemmas.lean | 13 +++++++++++++ src/Init/Data/Vector/Lemmas.lean | 14 ++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/Init/Data/Array/Lemmas.lean b/src/Init/Data/Array/Lemmas.lean index 62272a03dc83..2225e85e584a 100644 --- a/src/Init/Data/Array/Lemmas.lean +++ b/src/Init/Data/Array/Lemmas.lean @@ -59,6 +59,14 @@ namespace List open Array +theorem toArray_inj {a b : List α} (h : a.toArray = b.toArray) : a = b := by + cases a with + | nil => simpa using h + | cons a as => + cases b with + | nil => simp at h + | cons b bs => simpa using h + @[simp] theorem size_toArrayAux {a : List α} {b : Array α} : (a.toArrayAux b).size = b.size + a.length := by simp [size] @@ -396,6 +404,11 @@ namespace Array /-! ## Preliminaries -/ +/-! ### toList -/ + +theorem toList_inj {a b : Array α} (h : a.toList = b.toList) : a = b := by + cases a; cases b; simpa using h + /-! ### empty -/ @[simp] theorem empty_eq {xs : Array α} : #[] = xs ↔ xs = #[] := by diff --git a/src/Init/Data/Vector/Lemmas.lean b/src/Init/Data/Vector/Lemmas.lean index 376eaa86cff4..a3d71282a8f5 100644 --- a/src/Init/Data/Vector/Lemmas.lean +++ b/src/Init/Data/Vector/Lemmas.lean @@ -11,6 +11,15 @@ import Init.Data.Vector.Basic Lemmas about `Vector α n` -/ +namespace Array + +theorem toVector_inj {a b : Array α} (h₁ : a.size = b.size) (h₂ : a.toVector.cast h₁ = b.toVector) : a = b := by + ext i ih₁ ih₂ + · exact h₁ + · simpa using congrArg (fun a => a[i]) h₂ + +end Array + namespace Vector @[simp] theorem getElem_mk {data : Array α} {size : data.size = n} {i : Nat} (h : i < n) : @@ -239,6 +248,11 @@ theorem length_toList {α n} (xs : Vector α n) : xs.toList.length = n := by sim theorem getElem_toList {α n} (xs : Vector α n) (i : Nat) (h : i < xs.toList.length) : xs.toList[i] = xs[i]'(by simpa using h) := by simp +theorem toList_inj {a b : Vector α n} (h : a.toList = b.toList) : a = b := by + rcases a with ⟨⟨a⟩, ha⟩ + rcases b with ⟨⟨b⟩, hb⟩ + simpa using h + /-! ### Decidable quantifiers. -/ theorem forall_zero_iff {P : Vector α 0 → Prop} : From 0d89f0194b4e7c949fea28626891d81a31d5625c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Mon, 2 Dec 2024 15:27:49 +0100 Subject: [PATCH 20/24] perf: bv_decide uses rfl in reflection if possible (#6286) This PR ensure `bv_decide` uses definitional equality in its reflection procedure as much as possible. Previously it would build up explicit congruence proofs for the kernel to check. This reduces the size of proof terms passed to kernel speeds up checking of large reflection proofs. --- .../BVDecide/Frontend/BVDecide/Reflect.lean | 35 +++++++++++++++---- .../Frontend/BVDecide/ReifiedBVExpr.lean | 10 +++--- .../Frontend/BVDecide/ReifiedBVLogical.lean | 27 ++++++++++---- .../Frontend/BVDecide/ReifiedBVPred.lean | 16 ++++++--- .../Frontend/BVDecide/ReifiedLemmas.lean | 2 +- .../BVDecide/Frontend/BVDecide/Reify.lean | 35 +++++++++++++------ .../Frontend/BVDecide/SatAtBVLogical.lean | 2 +- tests/lean/run/bv_preprocess_stress.lean | 16 +++++++++ tests/lean/run/bv_reflection_stress.lean | 21 ++++------- 9 files changed, 113 insertions(+), 51 deletions(-) create mode 100644 tests/lean/run/bv_preprocess_stress.lean diff --git a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/Reflect.lean b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/Reflect.lean index 6723a4150d20..bfc42764f8bc 100644 --- a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/Reflect.lean +++ b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/Reflect.lean @@ -157,9 +157,9 @@ structure ReifiedBVExpr where -/ bvExpr : BVExpr width /-- - A proof that `bvExpr.eval atomsAssignment = originalBVExpr`. + A proof that `bvExpr.eval atomsAssignment = originalBVExpr`, none if it holds by `rfl`. -/ - evalsAtAtoms : M Expr + evalsAtAtoms : M (Option Expr) /-- A cache for `toExpr bvExpr`. -/ @@ -174,9 +174,9 @@ structure ReifiedBVPred where -/ bvPred : BVPred /-- - A proof that `bvPred.eval atomsAssignment = originalBVPredExpr`. + A proof that `bvPred.eval atomsAssignment = originalBVPredExpr`, none if it holds by `rfl`. -/ - evalsAtAtoms : M Expr + evalsAtAtoms : M (Option Expr) /-- A cache for `toExpr bvPred` -/ @@ -191,9 +191,9 @@ structure ReifiedBVLogical where -/ bvExpr : BVLogicalExpr /-- - A proof that `bvExpr.eval atomsAssignment = originalBVLogicalExpr`. + A proof that `bvExpr.eval atomsAssignment = originalBVLogicalExpr`, none if it holds by `rfl`. -/ - evalsAtAtoms : M Expr + evalsAtAtoms : M (Option Expr) /-- A cache for `toExpr bvExpr` -/ @@ -263,6 +263,29 @@ where let newAtomsAssignment ← mkListLit packedType packed modify fun s => { s with atomsAssignmentCache := newAtomsAssignment } +@[specialize] +def simplifyBinaryProof' (mkFRefl : Expr → Expr) (fst : Expr) (fproof : Option Expr) + (mkSRefl : Expr → Expr) (snd : Expr) (sproof : Option Expr) : Option (Expr × Expr) := do + match fproof, sproof with + | some fproof, some sproof => some (fproof, sproof) + | some fproof, none => some (fproof, mkSRefl snd) + | none, some sproof => some (mkFRefl fst, sproof) + | none, none => none + +@[specialize] +def simplifyBinaryProof (mkRefl : Expr → Expr) (fst : Expr) (fproof : Option Expr) (snd : Expr) + (sproof : Option Expr) : Option (Expr × Expr) := do + simplifyBinaryProof' mkRefl fst fproof mkRefl snd sproof + +@[specialize] +def simplifyTernaryProof (mkRefl : Expr → Expr) (fst : Expr) (fproof : Option Expr) (snd : Expr) + (sproof : Option Expr) (thd : Expr) (tproof : Option Expr) : Option (Expr × Expr × Expr) := do + match fproof, simplifyBinaryProof mkRefl snd sproof thd tproof with + | some fproof, some stproof => some (fproof, stproof) + | some fproof, none => some (fproof, mkRefl snd, mkRefl thd) + | none, some stproof => some (mkRefl fst, stproof) + | none, none => none + end M /-- diff --git a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedBVExpr.lean b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedBVExpr.lean index a7e5d1fb5505..ff3853ec3362 100644 --- a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedBVExpr.lean +++ b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedBVExpr.lean @@ -37,9 +37,8 @@ Register `e` as an atom of `width` that might potentially be `synthetic`. def mkAtom (e : Expr) (width : Nat) (synthetic : Bool) : M ReifiedBVExpr := do let ident ← M.lookup e width synthetic let expr := mkApp2 (mkConst ``BVExpr.var) (toExpr width) (toExpr ident) - let proof := do - let evalExpr ← mkEvalExpr width expr - return mkBVRefl width evalExpr + -- This is safe because this proof always holds definitionally. + let proof := pure none return ⟨width, .var ident, proof, expr⟩ /-- @@ -70,9 +69,8 @@ Build a reified version of the constant `val`. def mkBVConst (val : BitVec w) : M ReifiedBVExpr := do let bvExpr : BVExpr w := .const val let expr := mkApp2 (mkConst ``BVExpr.const) (toExpr w) (toExpr val) - let proof := do - let evalExpr ← ReifiedBVExpr.mkEvalExpr w expr - return ReifiedBVExpr.mkBVRefl w evalExpr + -- This is safe because this proof always holds definitionally. + let proof := pure none return ⟨w, bvExpr, proof, expr⟩ end ReifiedBVExpr diff --git a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedBVLogical.lean b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedBVLogical.lean index b0c1335284fa..3ea51fca3aba 100644 --- a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedBVLogical.lean +++ b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedBVLogical.lean @@ -49,7 +49,8 @@ Build a reified version of the constant `val`. def mkBoolConst (val : Bool) : M ReifiedBVLogical := do let boolExpr := .const val let expr := mkApp2 (mkConst ``BoolExpr.const) (mkConst ``BVPred) (toExpr val) - let proof := pure <| ReifiedBVLogical.mkRefl (toExpr val) + -- This is safe because this proof always holds definitionally. + let proof := pure none return ⟨boolExpr, proof, expr⟩ /-- @@ -71,8 +72,13 @@ def mkGate (lhs rhs : ReifiedBVLogical) (lhsExpr rhsExpr : Expr) (gate : Gate) : let proof := do let lhsEvalExpr ← ReifiedBVLogical.mkEvalExpr lhs.expr let rhsEvalExpr ← ReifiedBVLogical.mkEvalExpr rhs.expr - let lhsProof ← lhs.evalsAtAtoms - let rhsProof ← rhs.evalsAtAtoms + let lhsProof? ← lhs.evalsAtAtoms + let rhsProof? ← rhs.evalsAtAtoms + let some (lhsProof, rhsProof) := + M.simplifyBinaryProof + ReifiedBVLogical.mkRefl + lhsEvalExpr lhsProof? + rhsEvalExpr rhsProof? | return none return mkApp6 (mkConst congrThm) lhsExpr rhsExpr @@ -95,8 +101,9 @@ def mkNot (sub : ReifiedBVLogical) (subExpr : Expr) : M ReifiedBVLogical := do let boolExpr := .not sub.bvExpr let expr := mkApp2 (mkConst ``BoolExpr.not) (mkConst ``BVPred) sub.expr let proof := do + -- This is safe as `not_congr` holds definitionally if the arguments are defeq. + let some subProof ← sub.evalsAtAtoms | return none let subEvalExpr ← ReifiedBVLogical.mkEvalExpr sub.expr - let subProof ← sub.evalsAtAtoms return mkApp3 (mkConst ``Std.Tactic.BVDecide.Reflect.Bool.not_congr) subExpr subEvalExpr subProof return ⟨boolExpr, proof, expr⟩ @@ -119,9 +126,15 @@ def mkIte (discr lhs rhs : ReifiedBVLogical) (discrExpr lhsExpr rhsExpr : Expr) let discrEvalExpr ← ReifiedBVLogical.mkEvalExpr discr.expr let lhsEvalExpr ← ReifiedBVLogical.mkEvalExpr lhs.expr let rhsEvalExpr ← ReifiedBVLogical.mkEvalExpr rhs.expr - let discrProof ← discr.evalsAtAtoms - let lhsProof ← lhs.evalsAtAtoms - let rhsProof ← rhs.evalsAtAtoms + let discrProof? ← discr.evalsAtAtoms + let lhsProof? ← lhs.evalsAtAtoms + let rhsProof? ← rhs.evalsAtAtoms + let some (discrProof, lhsProof, rhsProof) := + M.simplifyTernaryProof + ReifiedBVLogical.mkRefl + discrEvalExpr discrProof? + lhsEvalExpr lhsProof? + rhsEvalExpr rhsProof? | return none return mkApp9 (mkConst ``Std.Tactic.BVDecide.Reflect.Bool.ite_congr) discrExpr lhsExpr rhsExpr diff --git a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedBVPred.lean b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedBVPred.lean index 31cabd742f2a..d700b43be187 100644 --- a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedBVPred.lean +++ b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedBVPred.lean @@ -35,8 +35,10 @@ def boolAtom (t : Expr) : M (Option ReifiedBVPred) := do let bvExpr : BVPred := .getLsbD atom.bvExpr 0 let expr := mkApp3 (mkConst ``BVPred.getLsbD) (toExpr 1) atom.expr (toExpr 0) let proof := do + -- ofBool_congr does not hold definitionally, if this ever becomes an issue we need to find + -- a more clever encoding for boolean atoms let atomEval ← ReifiedBVExpr.mkEvalExpr atom.width atom.expr - let atomProof ← atom.evalsAtAtoms + let atomProof := (← atom.evalsAtAtoms).getD (ReifiedBVExpr.mkBVRefl atom.width atomEval) return mkApp3 (mkConst ``Std.Tactic.BVDecide.Reflect.BitVec.ofBool_congr) t @@ -63,9 +65,14 @@ def mkBinPred (lhs rhs : ReifiedBVExpr) (lhsExpr rhsExpr : Expr) (pred : BVBinPr rhs.expr let proof := do let lhsEval ← ReifiedBVExpr.mkEvalExpr lhs.width lhs.expr - let lhsProof ← lhs.evalsAtAtoms let rhsEval ← ReifiedBVExpr.mkEvalExpr rhs.width rhs.expr - let rhsProof ← rhs.evalsAtAtoms + let lhsProof? ← lhs.evalsAtAtoms + let rhsProof? ← rhs.evalsAtAtoms + let some (lhsProof, rhsProof) := + M.simplifyBinaryProof + (ReifiedBVExpr.mkBVRefl lhs.width) + lhsEval lhsProof? + rhsEval rhsProof? | return none return mkApp7 (mkConst congrThm) (toExpr lhs.width) @@ -90,8 +97,9 @@ def mkGetLsbD (sub : ReifiedBVExpr) (subExpr : Expr) (idx : Nat) : M ReifiedBVPr let idxExpr := toExpr idx let expr := mkApp3 (mkConst ``BVPred.getLsbD) (toExpr sub.width) sub.expr idxExpr let proof := do + -- This is safe as `getLsbD_congr` holds definitionally if the arguments are defeq. + let some subProof ← sub.evalsAtAtoms | return none let subEval ← ReifiedBVExpr.mkEvalExpr sub.width sub.expr - let subProof ← sub.evalsAtAtoms return mkApp5 (mkConst ``Std.Tactic.BVDecide.Reflect.BitVec.getLsbD_congr) idxExpr diff --git a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedLemmas.lean b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedLemmas.lean index 372279f4e444..87afcbadaf61 100644 --- a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedLemmas.lean +++ b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/ReifiedLemmas.lean @@ -62,7 +62,7 @@ where let proof := do let evalExpr ← ReifiedBVLogical.mkEvalExpr imp.expr - let congrProof ← imp.evalsAtAtoms + let congrProof := (← imp.evalsAtAtoms).getD (ReifiedBVLogical.mkRefl evalExpr) let lemmaProof := mkApp4 (mkConst lemmaName) (toExpr lhs.width) discrExpr lhsExpr rhsExpr let trueExpr := mkConst ``Bool.true diff --git a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/Reify.lean b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/Reify.lean index 1845b3e13262..29ea6d5efabe 100644 --- a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/Reify.lean +++ b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/Reify.lean @@ -112,7 +112,8 @@ where inner.expr let proof := do let innerEval ← ReifiedBVExpr.mkEvalExpr inner.width inner.expr - let innerProof ← inner.evalsAtAtoms + -- This is safe as `zeroExtend_congr` holds definitionally if the arguments are defeq. + let some innerProof ← inner.evalsAtAtoms | return none return mkApp5 (mkConst ``Std.Tactic.BVDecide.Reflect.BitVec.zeroExtend_congr) newWidthExpr (toExpr inner.width) @@ -132,7 +133,8 @@ where inner.expr let proof := do let innerEval ← ReifiedBVExpr.mkEvalExpr inner.width inner.expr - let innerProof ← inner.evalsAtAtoms + -- This is safe as `zeroExtend_congr` holds definitionally if the arguments are defeq. + let some innerProof ← inner.evalsAtAtoms | return none return mkApp5 (mkConst ``Std.Tactic.BVDecide.Reflect.BitVec.signExtend_congr) newWidthExpr (toExpr inner.width) @@ -150,9 +152,13 @@ where lhs.expr rhs.expr let proof := do let lhsEval ← ReifiedBVExpr.mkEvalExpr lhs.width lhs.expr - let lhsProof ← lhs.evalsAtAtoms - let rhsProof ← rhs.evalsAtAtoms let rhsEval ← ReifiedBVExpr.mkEvalExpr rhs.width rhs.expr + let lhsProof? ← lhs.evalsAtAtoms + let rhsProof? ← rhs.evalsAtAtoms + let some (lhsProof, rhsProof) := + M.simplifyBinaryProof' + (ReifiedBVExpr.mkBVRefl lhs.width) lhsEval lhsProof? + (ReifiedBVExpr.mkBVRefl rhs.width) rhsEval rhsProof? | return none return mkApp8 (mkConst ``Std.Tactic.BVDecide.Reflect.BitVec.append_congr) (toExpr lhs.width) (toExpr rhs.width) lhsExpr lhsEval @@ -169,7 +175,8 @@ where inner.expr let proof := do let innerEval ← ReifiedBVExpr.mkEvalExpr inner.width inner.expr - let innerProof ← inner.evalsAtAtoms + -- This is safe as `zeroExtend_congr` holds definitionally if the arguments are defeq. + let some innerProof ← inner.evalsAtAtoms | return none return mkApp5 (mkConst ``Std.Tactic.BVDecide.Reflect.BitVec.replicate_congr) (toExpr n) (toExpr inner.width) @@ -189,7 +196,8 @@ where inner.expr let proof := do let innerEval ← ReifiedBVExpr.mkEvalExpr inner.width inner.expr - let innerProof ← inner.evalsAtAtoms + -- This is safe as `zeroExtend_congr` holds definitionally if the arguments are defeq. + let some innerProof ← inner.evalsAtAtoms | return none return mkApp6 (mkConst ``Std.Tactic.BVDecide.Reflect.BitVec.extract_congr) startExpr lenExpr @@ -301,11 +309,16 @@ where return none binaryCongrProof (lhs rhs : ReifiedBVExpr) (lhsExpr rhsExpr : Expr) (congrThm : Expr) : - M Expr := do + M (Option Expr) := do let lhsEval ← ReifiedBVExpr.mkEvalExpr lhs.width lhs.expr - let lhsProof ← lhs.evalsAtAtoms - let rhsProof ← rhs.evalsAtAtoms let rhsEval ← ReifiedBVExpr.mkEvalExpr rhs.width rhs.expr + let lhsProof? ← lhs.evalsAtAtoms + let rhsProof? ← rhs.evalsAtAtoms + let some (lhsProof, rhsProof) := + M.simplifyBinaryProof + (ReifiedBVExpr.mkBVRefl lhs.width) + lhsEval lhsProof? + rhsEval rhsProof? | return none return mkApp6 congrThm lhsExpr rhsExpr lhsEval rhsEval lhsProof rhsProof unaryReflection (innerExpr : Expr) (op : BVUnOp) (congrThm : Name) : @@ -316,9 +329,9 @@ where let proof := unaryCongrProof inner innerExpr (mkConst congrThm) return some ⟨inner.width, bvExpr, proof, expr⟩ - unaryCongrProof (inner : ReifiedBVExpr) (innerExpr : Expr) (congrProof : Expr) : M Expr := do + unaryCongrProof (inner : ReifiedBVExpr) (innerExpr : Expr) (congrProof : Expr) : M (Option Expr) := do let innerEval ← ReifiedBVExpr.mkEvalExpr inner.width inner.expr - let innerProof ← inner.evalsAtAtoms + let some innerProof ← inner.evalsAtAtoms | return none return mkApp4 congrProof (toExpr inner.width) innerExpr innerEval innerProof goBvLit (x : Expr) : M (Option ReifiedBVExpr) := do diff --git a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/SatAtBVLogical.lean b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/SatAtBVLogical.lean index 64f0349fcef1..9e570abeb5d4 100644 --- a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/SatAtBVLogical.lean +++ b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/SatAtBVLogical.lean @@ -37,7 +37,7 @@ partial def of (h : Expr) : LemmaM (Option SatAtBVLogical) := do let proof := do let evalLogic ← ReifiedBVLogical.mkEvalExpr bvLogical.expr -- this is evalLogic = lhsExpr - let evalProof ← bvLogical.evalsAtAtoms + let evalProof := (← bvLogical.evalsAtAtoms).getD (ReifiedBVLogical.mkRefl evalLogic) -- h is lhsExpr = true -- we prove evalLogic = true by evalLogic = lhsExpr = true return ReifiedBVLogical.mkTrans evalLogic lhsExpr (mkConst ``Bool.true) evalProof h diff --git a/tests/lean/run/bv_preprocess_stress.lean b/tests/lean/run/bv_preprocess_stress.lean new file mode 100644 index 000000000000..516720614876 --- /dev/null +++ b/tests/lean/run/bv_preprocess_stress.lean @@ -0,0 +1,16 @@ +import Std.Tactic.BVDecide + +/- +The benchmarks are binary and trees with 2^n variables where n increases each line +-/ + +-- Our benchmark terms are huge, no need to waste time on linting +set_option linter.all false + +-- All of these are ~subsecond +theorem t1 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) : x0 = true := by bv_decide +theorem t2 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) (x11 : Bool) (x10 : Bool) (_ : (x10 && x11) = x1) (x01 : Bool) (x00 : Bool) (_ : (x00 && x01) = x0) : x00 = true := by bv_decide +theorem t3 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) (x11 : Bool) (x10 : Bool) (_ : (x10 && x11) = x1) (x111 : Bool) (x110 : Bool) (_ : (x110 && x111) = x11) (x101 : Bool) (x100 : Bool) (_ : (x100 && x101) = x10) (x01 : Bool) (x00 : Bool) (_ : (x00 && x01) = x0) (x011 : Bool) (x010 : Bool) (_ : (x010 && x011) = x01) (x001 : Bool) (x000 : Bool) (_ : (x000 && x001) = x00) : x000 = true := by bv_decide +theorem t4 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) (x11 : Bool) (x10 : Bool) (_ : (x10 && x11) = x1) (x111 : Bool) (x110 : Bool) (_ : (x110 && x111) = x11) (x1111 : Bool) (x1110 : Bool) (_ : (x1110 && x1111) = x111) (x1101 : Bool) (x1100 : Bool) (_ : (x1100 && x1101) = x110) (x101 : Bool) (x100 : Bool) (_ : (x100 && x101) = x10) (x1011 : Bool) (x1010 : Bool) (_ : (x1010 && x1011) = x101) (x1001 : Bool) (x1000 : Bool) (_ : (x1000 && x1001) = x100) (x01 : Bool) (x00 : Bool) (_ : (x00 && x01) = x0) (x011 : Bool) (x010 : Bool) (_ : (x010 && x011) = x01) (x0111 : Bool) (x0110 : Bool) (_ : (x0110 && x0111) = x011) (x0101 : Bool) (x0100 : Bool) (_ : (x0100 && x0101) = x010) (x001 : Bool) (x000 : Bool) (_ : (x000 && x001) = x00) (x0011 : Bool) (x0010 : Bool) (_ : (x0010 && x0011) = x001) (x0001 : Bool) (x0000 : Bool) (_ : (x0000 && x0001) = x000) : x0000 = true := by bv_decide +theorem t5 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) (x11 : Bool) (x10 : Bool) (_ : (x10 && x11) = x1) (x111 : Bool) (x110 : Bool) (_ : (x110 && x111) = x11) (x1111 : Bool) (x1110 : Bool) (_ : (x1110 && x1111) = x111) (x11111 : Bool) (x11110 : Bool) (_ : (x11110 && x11111) = x1111) (x11101 : Bool) (x11100 : Bool) (_ : (x11100 && x11101) = x1110) (x1101 : Bool) (x1100 : Bool) (_ : (x1100 && x1101) = x110) (x11011 : Bool) (x11010 : Bool) (_ : (x11010 && x11011) = x1101) (x11001 : Bool) (x11000 : Bool) (_ : (x11000 && x11001) = x1100) (x101 : Bool) (x100 : Bool) (_ : (x100 && x101) = x10) (x1011 : Bool) (x1010 : Bool) (_ : (x1010 && x1011) = x101) (x10111 : Bool) (x10110 : Bool) (_ : (x10110 && x10111) = x1011) (x10101 : Bool) (x10100 : Bool) (_ : (x10100 && x10101) = x1010) (x1001 : Bool) (x1000 : Bool) (_ : (x1000 && x1001) = x100) (x10011 : Bool) (x10010 : Bool) (_ : (x10010 && x10011) = x1001) (x10001 : Bool) (x10000 : Bool) (_ : (x10000 && x10001) = x1000) (x01 : Bool) (x00 : Bool) (_ : (x00 && x01) = x0) (x011 : Bool) (x010 : Bool) (_ : (x010 && x011) = x01) (x0111 : Bool) (x0110 : Bool) (_ : (x0110 && x0111) = x011) (x01111 : Bool) (x01110 : Bool) (_ : (x01110 && x01111) = x0111) (x01101 : Bool) (x01100 : Bool) (_ : (x01100 && x01101) = x0110) (x0101 : Bool) (x0100 : Bool) (_ : (x0100 && x0101) = x010) (x01011 : Bool) (x01010 : Bool) (_ : (x01010 && x01011) = x0101) (x01001 : Bool) (x01000 : Bool) (_ : (x01000 && x01001) = x0100) (x001 : Bool) (x000 : Bool) (_ : (x000 && x001) = x00) (x0011 : Bool) (x0010 : Bool) (_ : (x0010 && x0011) = x001) (x00111 : Bool) (x00110 : Bool) (_ : (x00110 && x00111) = x0011) (x00101 : Bool) (x00100 : Bool) (_ : (x00100 && x00101) = x0010) (x0001 : Bool) (x0000 : Bool) (_ : (x0000 && x0001) = x000) (x00011 : Bool) (x00010 : Bool) (_ : (x00010 && x00011) = x0001) (x00001 : Bool) (x00000 : Bool) (_ : (x00000 && x00001) = x0000) : x00000 = true := by bv_decide +theorem t6 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) (x11 : Bool) (x10 : Bool) (_ : (x10 && x11) = x1) (x111 : Bool) (x110 : Bool) (_ : (x110 && x111) = x11) (x1111 : Bool) (x1110 : Bool) (_ : (x1110 && x1111) = x111) (x11111 : Bool) (x11110 : Bool) (_ : (x11110 && x11111) = x1111) (x111111 : Bool) (x111110 : Bool) (_ : (x111110 && x111111) = x11111) (x111101 : Bool) (x111100 : Bool) (_ : (x111100 && x111101) = x11110) (x11101 : Bool) (x11100 : Bool) (_ : (x11100 && x11101) = x1110) (x111011 : Bool) (x111010 : Bool) (_ : (x111010 && x111011) = x11101) (x111001 : Bool) (x111000 : Bool) (_ : (x111000 && x111001) = x11100) (x1101 : Bool) (x1100 : Bool) (_ : (x1100 && x1101) = x110) (x11011 : Bool) (x11010 : Bool) (_ : (x11010 && x11011) = x1101) (x110111 : Bool) (x110110 : Bool) (_ : (x110110 && x110111) = x11011) (x110101 : Bool) (x110100 : Bool) (_ : (x110100 && x110101) = x11010) (x11001 : Bool) (x11000 : Bool) (_ : (x11000 && x11001) = x1100) (x110011 : Bool) (x110010 : Bool) (_ : (x110010 && x110011) = x11001) (x110001 : Bool) (x110000 : Bool) (_ : (x110000 && x110001) = x11000) (x101 : Bool) (x100 : Bool) (_ : (x100 && x101) = x10) (x1011 : Bool) (x1010 : Bool) (_ : (x1010 && x1011) = x101) (x10111 : Bool) (x10110 : Bool) (_ : (x10110 && x10111) = x1011) (x101111 : Bool) (x101110 : Bool) (_ : (x101110 && x101111) = x10111) (x101101 : Bool) (x101100 : Bool) (_ : (x101100 && x101101) = x10110) (x10101 : Bool) (x10100 : Bool) (_ : (x10100 && x10101) = x1010) (x101011 : Bool) (x101010 : Bool) (_ : (x101010 && x101011) = x10101) (x101001 : Bool) (x101000 : Bool) (_ : (x101000 && x101001) = x10100) (x1001 : Bool) (x1000 : Bool) (_ : (x1000 && x1001) = x100) (x10011 : Bool) (x10010 : Bool) (_ : (x10010 && x10011) = x1001) (x100111 : Bool) (x100110 : Bool) (_ : (x100110 && x100111) = x10011) (x100101 : Bool) (x100100 : Bool) (_ : (x100100 && x100101) = x10010) (x10001 : Bool) (x10000 : Bool) (_ : (x10000 && x10001) = x1000) (x100011 : Bool) (x100010 : Bool) (_ : (x100010 && x100011) = x10001) (x100001 : Bool) (x100000 : Bool) (_ : (x100000 && x100001) = x10000) (x01 : Bool) (x00 : Bool) (_ : (x00 && x01) = x0) (x011 : Bool) (x010 : Bool) (_ : (x010 && x011) = x01) (x0111 : Bool) (x0110 : Bool) (_ : (x0110 && x0111) = x011) (x01111 : Bool) (x01110 : Bool) (_ : (x01110 && x01111) = x0111) (x011111 : Bool) (x011110 : Bool) (_ : (x011110 && x011111) = x01111) (x011101 : Bool) (x011100 : Bool) (_ : (x011100 && x011101) = x01110) (x01101 : Bool) (x01100 : Bool) (_ : (x01100 && x01101) = x0110) (x011011 : Bool) (x011010 : Bool) (_ : (x011010 && x011011) = x01101) (x011001 : Bool) (x011000 : Bool) (_ : (x011000 && x011001) = x01100) (x0101 : Bool) (x0100 : Bool) (_ : (x0100 && x0101) = x010) (x01011 : Bool) (x01010 : Bool) (_ : (x01010 && x01011) = x0101) (x010111 : Bool) (x010110 : Bool) (_ : (x010110 && x010111) = x01011) (x010101 : Bool) (x010100 : Bool) (_ : (x010100 && x010101) = x01010) (x01001 : Bool) (x01000 : Bool) (_ : (x01000 && x01001) = x0100) (x010011 : Bool) (x010010 : Bool) (_ : (x010010 && x010011) = x01001) (x010001 : Bool) (x010000 : Bool) (_ : (x010000 && x010001) = x01000) (x001 : Bool) (x000 : Bool) (_ : (x000 && x001) = x00) (x0011 : Bool) (x0010 : Bool) (_ : (x0010 && x0011) = x001) (x00111 : Bool) (x00110 : Bool) (_ : (x00110 && x00111) = x0011) (x001111 : Bool) (x001110 : Bool) (_ : (x001110 && x001111) = x00111) (x001101 : Bool) (x001100 : Bool) (_ : (x001100 && x001101) = x00110) (x00101 : Bool) (x00100 : Bool) (_ : (x00100 && x00101) = x0010) (x001011 : Bool) (x001010 : Bool) (_ : (x001010 && x001011) = x00101) (x001001 : Bool) (x001000 : Bool) (_ : (x001000 && x001001) = x00100) (x0001 : Bool) (x0000 : Bool) (_ : (x0000 && x0001) = x000) (x00011 : Bool) (x00010 : Bool) (_ : (x00010 && x00011) = x0001) (x000111 : Bool) (x000110 : Bool) (_ : (x000110 && x000111) = x00011) (x000101 : Bool) (x000100 : Bool) (_ : (x000100 && x000101) = x00010) (x00001 : Bool) (x00000 : Bool) (_ : (x00000 && x00001) = x0000) (x000011 : Bool) (x000010 : Bool) (_ : (x000010 && x000011) = x00001) (x000001 : Bool) (x000000 : Bool) (_ : (x000000 && x000001) = x00000) : x000000 = true := by bv_decide diff --git a/tests/lean/run/bv_reflection_stress.lean b/tests/lean/run/bv_reflection_stress.lean index f30cbc537da0..3b79e2a079bd 100644 --- a/tests/lean/run/bv_reflection_stress.lean +++ b/tests/lean/run/bv_reflection_stress.lean @@ -1,7 +1,5 @@ import Std.Tactic.BVDecide -open Lean - /- The benchmarks are binary and trees with 2^n variables where n increases each line -/ @@ -9,16 +7,9 @@ The benchmarks are binary and trees with 2^n variables where n increases each li -- Our benchmark terms are huge, no need to waste time on linting set_option linter.all false --- All of these are ~subsecond -theorem t1 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) : x0 = true := by bv_decide -theorem t2 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) (x11 : Bool) (x10 : Bool) (_ : (x10 && x11) = x1) (x01 : Bool) (x00 : Bool) (_ : (x00 && x01) = x0) : x00 = true := by bv_decide -theorem t3 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) (x11 : Bool) (x10 : Bool) (_ : (x10 && x11) = x1) (x111 : Bool) (x110 : Bool) (_ : (x110 && x111) = x11) (x101 : Bool) (x100 : Bool) (_ : (x100 && x101) = x10) (x01 : Bool) (x00 : Bool) (_ : (x00 && x01) = x0) (x011 : Bool) (x010 : Bool) (_ : (x010 && x011) = x01) (x001 : Bool) (x000 : Bool) (_ : (x000 && x001) = x00) : x000 = true := by bv_decide -theorem t4 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) (x11 : Bool) (x10 : Bool) (_ : (x10 && x11) = x1) (x111 : Bool) (x110 : Bool) (_ : (x110 && x111) = x11) (x1111 : Bool) (x1110 : Bool) (_ : (x1110 && x1111) = x111) (x1101 : Bool) (x1100 : Bool) (_ : (x1100 && x1101) = x110) (x101 : Bool) (x100 : Bool) (_ : (x100 && x101) = x10) (x1011 : Bool) (x1010 : Bool) (_ : (x1010 && x1011) = x101) (x1001 : Bool) (x1000 : Bool) (_ : (x1000 && x1001) = x100) (x01 : Bool) (x00 : Bool) (_ : (x00 && x01) = x0) (x011 : Bool) (x010 : Bool) (_ : (x010 && x011) = x01) (x0111 : Bool) (x0110 : Bool) (_ : (x0110 && x0111) = x011) (x0101 : Bool) (x0100 : Bool) (_ : (x0100 && x0101) = x010) (x001 : Bool) (x000 : Bool) (_ : (x000 && x001) = x00) (x0011 : Bool) (x0010 : Bool) (_ : (x0010 && x0011) = x001) (x0001 : Bool) (x0000 : Bool) (_ : (x0000 && x0001) = x000) : x0000 = true := by bv_decide -theorem t5 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) (x11 : Bool) (x10 : Bool) (_ : (x10 && x11) = x1) (x111 : Bool) (x110 : Bool) (_ : (x110 && x111) = x11) (x1111 : Bool) (x1110 : Bool) (_ : (x1110 && x1111) = x111) (x11111 : Bool) (x11110 : Bool) (_ : (x11110 && x11111) = x1111) (x11101 : Bool) (x11100 : Bool) (_ : (x11100 && x11101) = x1110) (x1101 : Bool) (x1100 : Bool) (_ : (x1100 && x1101) = x110) (x11011 : Bool) (x11010 : Bool) (_ : (x11010 && x11011) = x1101) (x11001 : Bool) (x11000 : Bool) (_ : (x11000 && x11001) = x1100) (x101 : Bool) (x100 : Bool) (_ : (x100 && x101) = x10) (x1011 : Bool) (x1010 : Bool) (_ : (x1010 && x1011) = x101) (x10111 : Bool) (x10110 : Bool) (_ : (x10110 && x10111) = x1011) (x10101 : Bool) (x10100 : Bool) (_ : (x10100 && x10101) = x1010) (x1001 : Bool) (x1000 : Bool) (_ : (x1000 && x1001) = x100) (x10011 : Bool) (x10010 : Bool) (_ : (x10010 && x10011) = x1001) (x10001 : Bool) (x10000 : Bool) (_ : (x10000 && x10001) = x1000) (x01 : Bool) (x00 : Bool) (_ : (x00 && x01) = x0) (x011 : Bool) (x010 : Bool) (_ : (x010 && x011) = x01) (x0111 : Bool) (x0110 : Bool) (_ : (x0110 && x0111) = x011) (x01111 : Bool) (x01110 : Bool) (_ : (x01110 && x01111) = x0111) (x01101 : Bool) (x01100 : Bool) (_ : (x01100 && x01101) = x0110) (x0101 : Bool) (x0100 : Bool) (_ : (x0100 && x0101) = x010) (x01011 : Bool) (x01010 : Bool) (_ : (x01010 && x01011) = x0101) (x01001 : Bool) (x01000 : Bool) (_ : (x01000 && x01001) = x0100) (x001 : Bool) (x000 : Bool) (_ : (x000 && x001) = x00) (x0011 : Bool) (x0010 : Bool) (_ : (x0010 && x0011) = x001) (x00111 : Bool) (x00110 : Bool) (_ : (x00110 && x00111) = x0011) (x00101 : Bool) (x00100 : Bool) (_ : (x00100 && x00101) = x0010) (x0001 : Bool) (x0000 : Bool) (_ : (x0000 && x0001) = x000) (x00011 : Bool) (x00010 : Bool) (_ : (x00010 && x00011) = x0001) (x00001 : Bool) (x00000 : Bool) (_ : (x00000 && x00001) = x0000) : x00000 = true := by bv_decide -theorem t6 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) (x11 : Bool) (x10 : Bool) (_ : (x10 && x11) = x1) (x111 : Bool) (x110 : Bool) (_ : (x110 && x111) = x11) (x1111 : Bool) (x1110 : Bool) (_ : (x1110 && x1111) = x111) (x11111 : Bool) (x11110 : Bool) (_ : (x11110 && x11111) = x1111) (x111111 : Bool) (x111110 : Bool) (_ : (x111110 && x111111) = x11111) (x111101 : Bool) (x111100 : Bool) (_ : (x111100 && x111101) = x11110) (x11101 : Bool) (x11100 : Bool) (_ : (x11100 && x11101) = x1110) (x111011 : Bool) (x111010 : Bool) (_ : (x111010 && x111011) = x11101) (x111001 : Bool) (x111000 : Bool) (_ : (x111000 && x111001) = x11100) (x1101 : Bool) (x1100 : Bool) (_ : (x1100 && x1101) = x110) (x11011 : Bool) (x11010 : Bool) (_ : (x11010 && x11011) = x1101) (x110111 : Bool) (x110110 : Bool) (_ : (x110110 && x110111) = x11011) (x110101 : Bool) (x110100 : Bool) (_ : (x110100 && x110101) = x11010) (x11001 : Bool) (x11000 : Bool) (_ : (x11000 && x11001) = x1100) (x110011 : Bool) (x110010 : Bool) (_ : (x110010 && x110011) = x11001) (x110001 : Bool) (x110000 : Bool) (_ : (x110000 && x110001) = x11000) (x101 : Bool) (x100 : Bool) (_ : (x100 && x101) = x10) (x1011 : Bool) (x1010 : Bool) (_ : (x1010 && x1011) = x101) (x10111 : Bool) (x10110 : Bool) (_ : (x10110 && x10111) = x1011) (x101111 : Bool) (x101110 : Bool) (_ : (x101110 && x101111) = x10111) (x101101 : Bool) (x101100 : Bool) (_ : (x101100 && x101101) = x10110) (x10101 : Bool) (x10100 : Bool) (_ : (x10100 && x10101) = x1010) (x101011 : Bool) (x101010 : Bool) (_ : (x101010 && x101011) = x10101) (x101001 : Bool) (x101000 : Bool) (_ : (x101000 && x101001) = x10100) (x1001 : Bool) (x1000 : Bool) (_ : (x1000 && x1001) = x100) (x10011 : Bool) (x10010 : Bool) (_ : (x10010 && x10011) = x1001) (x100111 : Bool) (x100110 : Bool) (_ : (x100110 && x100111) = x10011) (x100101 : Bool) (x100100 : Bool) (_ : (x100100 && x100101) = x10010) (x10001 : Bool) (x10000 : Bool) (_ : (x10000 && x10001) = x1000) (x100011 : Bool) (x100010 : Bool) (_ : (x100010 && x100011) = x10001) (x100001 : Bool) (x100000 : Bool) (_ : (x100000 && x100001) = x10000) (x01 : Bool) (x00 : Bool) (_ : (x00 && x01) = x0) (x011 : Bool) (x010 : Bool) (_ : (x010 && x011) = x01) (x0111 : Bool) (x0110 : Bool) (_ : (x0110 && x0111) = x011) (x01111 : Bool) (x01110 : Bool) (_ : (x01110 && x01111) = x0111) (x011111 : Bool) (x011110 : Bool) (_ : (x011110 && x011111) = x01111) (x011101 : Bool) (x011100 : Bool) (_ : (x011100 && x011101) = x01110) (x01101 : Bool) (x01100 : Bool) (_ : (x01100 && x01101) = x0110) (x011011 : Bool) (x011010 : Bool) (_ : (x011010 && x011011) = x01101) (x011001 : Bool) (x011000 : Bool) (_ : (x011000 && x011001) = x01100) (x0101 : Bool) (x0100 : Bool) (_ : (x0100 && x0101) = x010) (x01011 : Bool) (x01010 : Bool) (_ : (x01010 && x01011) = x0101) (x010111 : Bool) (x010110 : Bool) (_ : (x010110 && x010111) = x01011) (x010101 : Bool) (x010100 : Bool) (_ : (x010100 && x010101) = x01010) (x01001 : Bool) (x01000 : Bool) (_ : (x01000 && x01001) = x0100) (x010011 : Bool) (x010010 : Bool) (_ : (x010010 && x010011) = x01001) (x010001 : Bool) (x010000 : Bool) (_ : (x010000 && x010001) = x01000) (x001 : Bool) (x000 : Bool) (_ : (x000 && x001) = x00) (x0011 : Bool) (x0010 : Bool) (_ : (x0010 && x0011) = x001) (x00111 : Bool) (x00110 : Bool) (_ : (x00110 && x00111) = x0011) (x001111 : Bool) (x001110 : Bool) (_ : (x001110 && x001111) = x00111) (x001101 : Bool) (x001100 : Bool) (_ : (x001100 && x001101) = x00110) (x00101 : Bool) (x00100 : Bool) (_ : (x00100 && x00101) = x0010) (x001011 : Bool) (x001010 : Bool) (_ : (x001010 && x001011) = x00101) (x001001 : Bool) (x001000 : Bool) (_ : (x001000 && x001001) = x00100) (x0001 : Bool) (x0000 : Bool) (_ : (x0000 && x0001) = x000) (x00011 : Bool) (x00010 : Bool) (_ : (x00010 && x00011) = x0001) (x000111 : Bool) (x000110 : Bool) (_ : (x000110 && x000111) = x00011) (x000101 : Bool) (x000100 : Bool) (_ : (x000100 && x000101) = x00010) (x00001 : Bool) (x00000 : Bool) (_ : (x00000 && x00001) = x0000) (x000011 : Bool) (x000010 : Bool) (_ : (x000010 && x000011) = x00001) (x000001 : Bool) (x000000 : Bool) (_ : (x000000 && x000001) = x00000) : x000000 = true := by bv_decide - -/-! -# Binary `and` of 2^7 variables -~2.3s --/ -theorem t7 (_ : x = true) (x1 : Bool) (x0 : Bool) (_ : (x0 && x1) = x) (x11 : Bool) (x10 : Bool) (_ : (x10 && x11) = x1) (x111 : Bool) (x110 : Bool) (_ : (x110 && x111) = x11) (x1111 : Bool) (x1110 : Bool) (_ : (x1110 && x1111) = x111) (x11111 : Bool) (x11110 : Bool) (_ : (x11110 && x11111) = x1111) (x111111 : Bool) (x111110 : Bool) (_ : (x111110 && x111111) = x11111) (x1111111 : Bool) (x1111110 : Bool) (_ : (x1111110 && x1111111) = x111111) (x1111101 : Bool) (x1111100 : Bool) (_ : (x1111100 && x1111101) = x111110) (x111101 : Bool) (x111100 : Bool) (_ : (x111100 && x111101) = x11110) (x1111011 : Bool) (x1111010 : Bool) (_ : (x1111010 && x1111011) = x111101) (x1111001 : Bool) (x1111000 : Bool) (_ : (x1111000 && x1111001) = x111100) (x11101 : Bool) (x11100 : Bool) (_ : (x11100 && x11101) = x1110) (x111011 : Bool) (x111010 : Bool) (_ : (x111010 && x111011) = x11101) (x1110111 : Bool) (x1110110 : Bool) (_ : (x1110110 && x1110111) = x111011) (x1110101 : Bool) (x1110100 : Bool) (_ : (x1110100 && x1110101) = x111010) (x111001 : Bool) (x111000 : Bool) (_ : (x111000 && x111001) = x11100) (x1110011 : Bool) (x1110010 : Bool) (_ : (x1110010 && x1110011) = x111001) (x1110001 : Bool) (x1110000 : Bool) (_ : (x1110000 && x1110001) = x111000) (x1101 : Bool) (x1100 : Bool) (_ : (x1100 && x1101) = x110) (x11011 : Bool) (x11010 : Bool) (_ : (x11010 && x11011) = x1101) (x110111 : Bool) (x110110 : Bool) (_ : (x110110 && x110111) = x11011) (x1101111 : Bool) (x1101110 : Bool) (_ : (x1101110 && x1101111) = x110111) (x1101101 : Bool) (x1101100 : Bool) (_ : (x1101100 && x1101101) = x110110) (x110101 : Bool) (x110100 : Bool) (_ : (x110100 && x110101) = x11010) (x1101011 : Bool) (x1101010 : Bool) (_ : (x1101010 && x1101011) = x110101) (x1101001 : Bool) (x1101000 : Bool) (_ : (x1101000 && x1101001) = x110100) (x11001 : Bool) (x11000 : Bool) (_ : (x11000 && x11001) = x1100) (x110011 : Bool) (x110010 : Bool) (_ : (x110010 && x110011) = x11001) (x1100111 : Bool) (x1100110 : Bool) (_ : (x1100110 && x1100111) = x110011) (x1100101 : Bool) (x1100100 : Bool) (_ : (x1100100 && x1100101) = x110010) (x110001 : Bool) (x110000 : Bool) (_ : (x110000 && x110001) = x11000) (x1100011 : Bool) (x1100010 : Bool) (_ : (x1100010 && x1100011) = x110001) (x1100001 : Bool) (x1100000 : Bool) (_ : (x1100000 && x1100001) = x110000) (x101 : Bool) (x100 : Bool) (_ : (x100 && x101) = x10) (x1011 : Bool) (x1010 : Bool) (_ : (x1010 && x1011) = x101) (x10111 : Bool) (x10110 : Bool) (_ : (x10110 && x10111) = x1011) (x101111 : Bool) (x101110 : Bool) (_ : (x101110 && x101111) = x10111) (x1011111 : Bool) (x1011110 : Bool) (_ : (x1011110 && x1011111) = x101111) (x1011101 : Bool) (x1011100 : Bool) (_ : (x1011100 && x1011101) = x101110) (x101101 : Bool) (x101100 : Bool) (_ : (x101100 && x101101) = x10110) (x1011011 : Bool) (x1011010 : Bool) (_ : (x1011010 && x1011011) = x101101) (x1011001 : Bool) (x1011000 : Bool) (_ : (x1011000 && x1011001) = x101100) (x10101 : Bool) (x10100 : Bool) (_ : (x10100 && x10101) = x1010) (x101011 : Bool) (x101010 : Bool) (_ : (x101010 && x101011) = x10101) (x1010111 : Bool) (x1010110 : Bool) (_ : (x1010110 && x1010111) = x101011) (x1010101 : Bool) (x1010100 : Bool) (_ : (x1010100 && x1010101) = x101010) (x101001 : Bool) (x101000 : Bool) (_ : (x101000 && x101001) = x10100) (x1010011 : Bool) (x1010010 : Bool) (_ : (x1010010 && x1010011) = x101001) (x1010001 : Bool) (x1010000 : Bool) (_ : (x1010000 && x1010001) = x101000) (x1001 : Bool) (x1000 : Bool) (_ : (x1000 && x1001) = x100) (x10011 : Bool) (x10010 : Bool) (_ : (x10010 && x10011) = x1001) (x100111 : Bool) (x100110 : Bool) (_ : (x100110 && x100111) = x10011) (x1001111 : Bool) (x1001110 : Bool) (_ : (x1001110 && x1001111) = x100111) (x1001101 : Bool) (x1001100 : Bool) (_ : (x1001100 && x1001101) = x100110) (x100101 : Bool) (x100100 : Bool) (_ : (x100100 && x100101) = x10010) (x1001011 : Bool) (x1001010 : Bool) (_ : (x1001010 && x1001011) = x100101) (x1001001 : Bool) (x1001000 : Bool) (_ : (x1001000 && x1001001) = x100100) (x10001 : Bool) (x10000 : Bool) (_ : (x10000 && x10001) = x1000) (x100011 : Bool) (x100010 : Bool) (_ : (x100010 && x100011) = x10001) (x1000111 : Bool) (x1000110 : Bool) (_ : (x1000110 && x1000111) = x100011) (x1000101 : Bool) (x1000100 : Bool) (_ : (x1000100 && x1000101) = x100010) (x100001 : Bool) (x100000 : Bool) (_ : (x100000 && x100001) = x10000) (x1000011 : Bool) (x1000010 : Bool) (_ : (x1000010 && x1000011) = x100001) (x1000001 : Bool) (x1000000 : Bool) (_ : (x1000000 && x1000001) = x100000) (x01 : Bool) (x00 : Bool) (_ : (x00 && x01) = x0) (x011 : Bool) (x010 : Bool) (_ : (x010 && x011) = x01) (x0111 : Bool) (x0110 : Bool) (_ : (x0110 && x0111) = x011) (x01111 : Bool) (x01110 : Bool) (_ : (x01110 && x01111) = x0111) (x011111 : Bool) (x011110 : Bool) (_ : (x011110 && x011111) = x01111) (x0111111 : Bool) (x0111110 : Bool) (_ : (x0111110 && x0111111) = x011111) (x0111101 : Bool) (x0111100 : Bool) (_ : (x0111100 && x0111101) = x011110) (x011101 : Bool) (x011100 : Bool) (_ : (x011100 && x011101) = x01110) (x0111011 : Bool) (x0111010 : Bool) (_ : (x0111010 && x0111011) = x011101) (x0111001 : Bool) (x0111000 : Bool) (_ : (x0111000 && x0111001) = x011100) (x01101 : Bool) (x01100 : Bool) (_ : (x01100 && x01101) = x0110) (x011011 : Bool) (x011010 : Bool) (_ : (x011010 && x011011) = x01101) (x0110111 : Bool) (x0110110 : Bool) (_ : (x0110110 && x0110111) = x011011) (x0110101 : Bool) (x0110100 : Bool) (_ : (x0110100 && x0110101) = x011010) (x011001 : Bool) (x011000 : Bool) (_ : (x011000 && x011001) = x01100) (x0110011 : Bool) (x0110010 : Bool) (_ : (x0110010 && x0110011) = x011001) (x0110001 : Bool) (x0110000 : Bool) (_ : (x0110000 && x0110001) = x011000) (x0101 : Bool) (x0100 : Bool) (_ : (x0100 && x0101) = x010) (x01011 : Bool) (x01010 : Bool) (_ : (x01010 && x01011) = x0101) (x010111 : Bool) (x010110 : Bool) (_ : (x010110 && x010111) = x01011) (x0101111 : Bool) (x0101110 : Bool) (_ : (x0101110 && x0101111) = x010111) (x0101101 : Bool) (x0101100 : Bool) (_ : (x0101100 && x0101101) = x010110) (x010101 : Bool) (x010100 : Bool) (_ : (x010100 && x010101) = x01010) (x0101011 : Bool) (x0101010 : Bool) (_ : (x0101010 && x0101011) = x010101) (x0101001 : Bool) (x0101000 : Bool) (_ : (x0101000 && x0101001) = x010100) (x01001 : Bool) (x01000 : Bool) (_ : (x01000 && x01001) = x0100) (x010011 : Bool) (x010010 : Bool) (_ : (x010010 && x010011) = x01001) (x0100111 : Bool) (x0100110 : Bool) (_ : (x0100110 && x0100111) = x010011) (x0100101 : Bool) (x0100100 : Bool) (_ : (x0100100 && x0100101) = x010010) (x010001 : Bool) (x010000 : Bool) (_ : (x010000 && x010001) = x01000) (x0100011 : Bool) (x0100010 : Bool) (_ : (x0100010 && x0100011) = x010001) (x0100001 : Bool) (x0100000 : Bool) (_ : (x0100000 && x0100001) = x010000) (x001 : Bool) (x000 : Bool) (_ : (x000 && x001) = x00) (x0011 : Bool) (x0010 : Bool) (_ : (x0010 && x0011) = x001) (x00111 : Bool) (x00110 : Bool) (_ : (x00110 && x00111) = x0011) (x001111 : Bool) (x001110 : Bool) (_ : (x001110 && x001111) = x00111) (x0011111 : Bool) (x0011110 : Bool) (_ : (x0011110 && x0011111) = x001111) (x0011101 : Bool) (x0011100 : Bool) (_ : (x0011100 && x0011101) = x001110) (x001101 : Bool) (x001100 : Bool) (_ : (x001100 && x001101) = x00110) (x0011011 : Bool) (x0011010 : Bool) (_ : (x0011010 && x0011011) = x001101) (x0011001 : Bool) (x0011000 : Bool) (_ : (x0011000 && x0011001) = x001100) (x00101 : Bool) (x00100 : Bool) (_ : (x00100 && x00101) = x0010) (x001011 : Bool) (x001010 : Bool) (_ : (x001010 && x001011) = x00101) (x0010111 : Bool) (x0010110 : Bool) (_ : (x0010110 && x0010111) = x001011) (x0010101 : Bool) (x0010100 : Bool) (_ : (x0010100 && x0010101) = x001010) (x001001 : Bool) (x001000 : Bool) (_ : (x001000 && x001001) = x00100) (x0010011 : Bool) (x0010010 : Bool) (_ : (x0010010 && x0010011) = x001001) (x0010001 : Bool) (x0010000 : Bool) (_ : (x0010000 && x0010001) = x001000) (x0001 : Bool) (x0000 : Bool) (_ : (x0000 && x0001) = x000) (x00011 : Bool) (x00010 : Bool) (_ : (x00010 && x00011) = x0001) (x000111 : Bool) (x000110 : Bool) (_ : (x000110 && x000111) = x00011) (x0001111 : Bool) (x0001110 : Bool) (_ : (x0001110 && x0001111) = x000111) (x0001101 : Bool) (x0001100 : Bool) (_ : (x0001100 && x0001101) = x000110) (x000101 : Bool) (x000100 : Bool) (_ : (x000100 && x000101) = x00010) (x0001011 : Bool) (x0001010 : Bool) (_ : (x0001010 && x0001011) = x000101) (x0001001 : Bool) (x0001000 : Bool) (_ : (x0001000 && x0001001) = x000100) (x00001 : Bool) (x00000 : Bool) (_ : (x00000 && x00001) = x0000) (x000011 : Bool) (x000010 : Bool) (_ : (x000010 && x000011) = x00001) (x0000111 : Bool) (x0000110 : Bool) (_ : (x0000110 && x0000111) = x000011) (x0000101 : Bool) (x0000100 : Bool) (_ : (x0000100 && x0000101) = x000010) (x000001 : Bool) (x000000 : Bool) (_ : (x000000 && x000001) = x00000) (x0000011 : Bool) (x0000010 : Bool) (_ : (x0000010 && x0000011) = x000001) (x0000001 : Bool) (x0000000 : Bool) (_ : (x0000000 && x0000001) = x000000) : x0000000 = true := by bv_decide +example (_ : x = 1#1) (x1 : BitVec 1) (x0 : BitVec 1) (_ : (x0 &&& x1) = x) : x0 = 1#1 := by bv_decide (config := { embeddedConstraintSubst := false, andFlattening := false}) +example (_ : x = 1#1) (x1 : BitVec 1) (x0 : BitVec 1) (_ : (x0 &&& x1) = x) (x11 : BitVec 1) (x10 : BitVec 1) (_ : (x10 &&& x11) = x1) (x01 : BitVec 1) (x00 : BitVec 1) (_ : (x00 &&& x01) = x0) : x00 = 1#1 := by bv_decide (config := { embeddedConstraintSubst := false, andFlattening := false}) +example (_ : x = 1#1) (x1 : BitVec 1) (x0 : BitVec 1) (_ : (x0 &&& x1) = x) (x11 : BitVec 1) (x10 : BitVec 1) (_ : (x10 &&& x11) = x1) (x111 : BitVec 1) (x110 : BitVec 1) (_ : (x110 &&& x111) = x11) (x101 : BitVec 1) (x100 : BitVec 1) (_ : (x100 &&& x101) = x10) (x01 : BitVec 1) (x00 : BitVec 1) (_ : (x00 &&& x01) = x0) (x011 : BitVec 1) (x010 : BitVec 1) (_ : (x010 &&& x011) = x01) (x001 : BitVec 1) (x000 : BitVec 1) (_ : (x000 &&& x001) = x00) : x000 = 1#1 := by bv_decide (config := { embeddedConstraintSubst := false, andFlattening := false}) +example (_ : x = 1#1) (x1 : BitVec 1) (x0 : BitVec 1) (_ : (x0 &&& x1) = x) (x11 : BitVec 1) (x10 : BitVec 1) (_ : (x10 &&& x11) = x1) (x111 : BitVec 1) (x110 : BitVec 1) (_ : (x110 &&& x111) = x11) (x1111 : BitVec 1) (x1110 : BitVec 1) (_ : (x1110 &&& x1111) = x111) (x1101 : BitVec 1) (x1100 : BitVec 1) (_ : (x1100 &&& x1101) = x110) (x101 : BitVec 1) (x100 : BitVec 1) (_ : (x100 &&& x101) = x10) (x1011 : BitVec 1) (x1010 : BitVec 1) (_ : (x1010 &&& x1011) = x101) (x1001 : BitVec 1) (x1000 : BitVec 1) (_ : (x1000 &&& x1001) = x100) (x01 : BitVec 1) (x00 : BitVec 1) (_ : (x00 &&& x01) = x0) (x011 : BitVec 1) (x010 : BitVec 1) (_ : (x010 &&& x011) = x01) (x0111 : BitVec 1) (x0110 : BitVec 1) (_ : (x0110 &&& x0111) = x011) (x0101 : BitVec 1) (x0100 : BitVec 1) (_ : (x0100 &&& x0101) = x010) (x001 : BitVec 1) (x000 : BitVec 1) (_ : (x000 &&& x001) = x00) (x0011 : BitVec 1) (x0010 : BitVec 1) (_ : (x0010 &&& x0011) = x001) (x0001 : BitVec 1) (x0000 : BitVec 1) (_ : (x0000 &&& x0001) = x000) : x0000 = 1#1 := by bv_decide (config := { embeddedConstraintSubst := false, andFlattening := false}) +example (_ : x = 1#1) (x1 : BitVec 1) (x0 : BitVec 1) (_ : (x0 &&& x1) = x) (x11 : BitVec 1) (x10 : BitVec 1) (_ : (x10 &&& x11) = x1) (x111 : BitVec 1) (x110 : BitVec 1) (_ : (x110 &&& x111) = x11) (x1111 : BitVec 1) (x1110 : BitVec 1) (_ : (x1110 &&& x1111) = x111) (x11111 : BitVec 1) (x11110 : BitVec 1) (_ : (x11110 &&& x11111) = x1111) (x11101 : BitVec 1) (x11100 : BitVec 1) (_ : (x11100 &&& x11101) = x1110) (x1101 : BitVec 1) (x1100 : BitVec 1) (_ : (x1100 &&& x1101) = x110) (x11011 : BitVec 1) (x11010 : BitVec 1) (_ : (x11010 &&& x11011) = x1101) (x11001 : BitVec 1) (x11000 : BitVec 1) (_ : (x11000 &&& x11001) = x1100) (x101 : BitVec 1) (x100 : BitVec 1) (_ : (x100 &&& x101) = x10) (x1011 : BitVec 1) (x1010 : BitVec 1) (_ : (x1010 &&& x1011) = x101) (x10111 : BitVec 1) (x10110 : BitVec 1) (_ : (x10110 &&& x10111) = x1011) (x10101 : BitVec 1) (x10100 : BitVec 1) (_ : (x10100 &&& x10101) = x1010) (x1001 : BitVec 1) (x1000 : BitVec 1) (_ : (x1000 &&& x1001) = x100) (x10011 : BitVec 1) (x10010 : BitVec 1) (_ : (x10010 &&& x10011) = x1001) (x10001 : BitVec 1) (x10000 : BitVec 1) (_ : (x10000 &&& x10001) = x1000) (x01 : BitVec 1) (x00 : BitVec 1) (_ : (x00 &&& x01) = x0) (x011 : BitVec 1) (x010 : BitVec 1) (_ : (x010 &&& x011) = x01) (x0111 : BitVec 1) (x0110 : BitVec 1) (_ : (x0110 &&& x0111) = x011) (x01111 : BitVec 1) (x01110 : BitVec 1) (_ : (x01110 &&& x01111) = x0111) (x01101 : BitVec 1) (x01100 : BitVec 1) (_ : (x01100 &&& x01101) = x0110) (x0101 : BitVec 1) (x0100 : BitVec 1) (_ : (x0100 &&& x0101) = x010) (x01011 : BitVec 1) (x01010 : BitVec 1) (_ : (x01010 &&& x01011) = x0101) (x01001 : BitVec 1) (x01000 : BitVec 1) (_ : (x01000 &&& x01001) = x0100) (x001 : BitVec 1) (x000 : BitVec 1) (_ : (x000 &&& x001) = x00) (x0011 : BitVec 1) (x0010 : BitVec 1) (_ : (x0010 &&& x0011) = x001) (x00111 : BitVec 1) (x00110 : BitVec 1) (_ : (x00110 &&& x00111) = x0011) (x00101 : BitVec 1) (x00100 : BitVec 1) (_ : (x00100 &&& x00101) = x0010) (x0001 : BitVec 1) (x0000 : BitVec 1) (_ : (x0000 &&& x0001) = x000) (x00011 : BitVec 1) (x00010 : BitVec 1) (_ : (x00010 &&& x00011) = x0001) (x00001 : BitVec 1) (x00000 : BitVec 1) (_ : (x00000 &&& x00001) = x0000) : x00000 = 1#1 := by bv_decide (config := { embeddedConstraintSubst := false, andFlattening := false}) +example (_ : x = 1#1) (x1 : BitVec 1) (x0 : BitVec 1) (_ : (x0 &&& x1) = x) (x11 : BitVec 1) (x10 : BitVec 1) (_ : (x10 &&& x11) = x1) (x111 : BitVec 1) (x110 : BitVec 1) (_ : (x110 &&& x111) = x11) (x1111 : BitVec 1) (x1110 : BitVec 1) (_ : (x1110 &&& x1111) = x111) (x11111 : BitVec 1) (x11110 : BitVec 1) (_ : (x11110 &&& x11111) = x1111) (x111111 : BitVec 1) (x111110 : BitVec 1) (_ : (x111110 &&& x111111) = x11111) (x111101 : BitVec 1) (x111100 : BitVec 1) (_ : (x111100 &&& x111101) = x11110) (x11101 : BitVec 1) (x11100 : BitVec 1) (_ : (x11100 &&& x11101) = x1110) (x111011 : BitVec 1) (x111010 : BitVec 1) (_ : (x111010 &&& x111011) = x11101) (x111001 : BitVec 1) (x111000 : BitVec 1) (_ : (x111000 &&& x111001) = x11100) (x1101 : BitVec 1) (x1100 : BitVec 1) (_ : (x1100 &&& x1101) = x110) (x11011 : BitVec 1) (x11010 : BitVec 1) (_ : (x11010 &&& x11011) = x1101) (x110111 : BitVec 1) (x110110 : BitVec 1) (_ : (x110110 &&& x110111) = x11011) (x110101 : BitVec 1) (x110100 : BitVec 1) (_ : (x110100 &&& x110101) = x11010) (x11001 : BitVec 1) (x11000 : BitVec 1) (_ : (x11000 &&& x11001) = x1100) (x110011 : BitVec 1) (x110010 : BitVec 1) (_ : (x110010 &&& x110011) = x11001) (x110001 : BitVec 1) (x110000 : BitVec 1) (_ : (x110000 &&& x110001) = x11000) (x101 : BitVec 1) (x100 : BitVec 1) (_ : (x100 &&& x101) = x10) (x1011 : BitVec 1) (x1010 : BitVec 1) (_ : (x1010 &&& x1011) = x101) (x10111 : BitVec 1) (x10110 : BitVec 1) (_ : (x10110 &&& x10111) = x1011) (x101111 : BitVec 1) (x101110 : BitVec 1) (_ : (x101110 &&& x101111) = x10111) (x101101 : BitVec 1) (x101100 : BitVec 1) (_ : (x101100 &&& x101101) = x10110) (x10101 : BitVec 1) (x10100 : BitVec 1) (_ : (x10100 &&& x10101) = x1010) (x101011 : BitVec 1) (x101010 : BitVec 1) (_ : (x101010 &&& x101011) = x10101) (x101001 : BitVec 1) (x101000 : BitVec 1) (_ : (x101000 &&& x101001) = x10100) (x1001 : BitVec 1) (x1000 : BitVec 1) (_ : (x1000 &&& x1001) = x100) (x10011 : BitVec 1) (x10010 : BitVec 1) (_ : (x10010 &&& x10011) = x1001) (x100111 : BitVec 1) (x100110 : BitVec 1) (_ : (x100110 &&& x100111) = x10011) (x100101 : BitVec 1) (x100100 : BitVec 1) (_ : (x100100 &&& x100101) = x10010) (x10001 : BitVec 1) (x10000 : BitVec 1) (_ : (x10000 &&& x10001) = x1000) (x100011 : BitVec 1) (x100010 : BitVec 1) (_ : (x100010 &&& x100011) = x10001) (x100001 : BitVec 1) (x100000 : BitVec 1) (_ : (x100000 &&& x100001) = x10000) (x01 : BitVec 1) (x00 : BitVec 1) (_ : (x00 &&& x01) = x0) (x011 : BitVec 1) (x010 : BitVec 1) (_ : (x010 &&& x011) = x01) (x0111 : BitVec 1) (x0110 : BitVec 1) (_ : (x0110 &&& x0111) = x011) (x01111 : BitVec 1) (x01110 : BitVec 1) (_ : (x01110 &&& x01111) = x0111) (x011111 : BitVec 1) (x011110 : BitVec 1) (_ : (x011110 &&& x011111) = x01111) (x011101 : BitVec 1) (x011100 : BitVec 1) (_ : (x011100 &&& x011101) = x01110) (x01101 : BitVec 1) (x01100 : BitVec 1) (_ : (x01100 &&& x01101) = x0110) (x011011 : BitVec 1) (x011010 : BitVec 1) (_ : (x011010 &&& x011011) = x01101) (x011001 : BitVec 1) (x011000 : BitVec 1) (_ : (x011000 &&& x011001) = x01100) (x0101 : BitVec 1) (x0100 : BitVec 1) (_ : (x0100 &&& x0101) = x010) (x01011 : BitVec 1) (x01010 : BitVec 1) (_ : (x01010 &&& x01011) = x0101) (x010111 : BitVec 1) (x010110 : BitVec 1) (_ : (x010110 &&& x010111) = x01011) (x010101 : BitVec 1) (x010100 : BitVec 1) (_ : (x010100 &&& x010101) = x01010) (x01001 : BitVec 1) (x01000 : BitVec 1) (_ : (x01000 &&& x01001) = x0100) (x010011 : BitVec 1) (x010010 : BitVec 1) (_ : (x010010 &&& x010011) = x01001) (x010001 : BitVec 1) (x010000 : BitVec 1) (_ : (x010000 &&& x010001) = x01000) (x001 : BitVec 1) (x000 : BitVec 1) (_ : (x000 &&& x001) = x00) (x0011 : BitVec 1) (x0010 : BitVec 1) (_ : (x0010 &&& x0011) = x001) (x00111 : BitVec 1) (x00110 : BitVec 1) (_ : (x00110 &&& x00111) = x0011) (x001111 : BitVec 1) (x001110 : BitVec 1) (_ : (x001110 &&& x001111) = x00111) (x001101 : BitVec 1) (x001100 : BitVec 1) (_ : (x001100 &&& x001101) = x00110) (x00101 : BitVec 1) (x00100 : BitVec 1) (_ : (x00100 &&& x00101) = x0010) (x001011 : BitVec 1) (x001010 : BitVec 1) (_ : (x001010 &&& x001011) = x00101) (x001001 : BitVec 1) (x001000 : BitVec 1) (_ : (x001000 &&& x001001) = x00100) (x0001 : BitVec 1) (x0000 : BitVec 1) (_ : (x0000 &&& x0001) = x000) (x00011 : BitVec 1) (x00010 : BitVec 1) (_ : (x00010 &&& x00011) = x0001) (x000111 : BitVec 1) (x000110 : BitVec 1) (_ : (x000110 &&& x000111) = x00011) (x000101 : BitVec 1) (x000100 : BitVec 1) (_ : (x000100 &&& x000101) = x00010) (x00001 : BitVec 1) (x00000 : BitVec 1) (_ : (x00000 &&& x00001) = x0000) (x000011 : BitVec 1) (x000010 : BitVec 1) (_ : (x000010 &&& x000011) = x00001) (x000001 : BitVec 1) (x000000 : BitVec 1) (_ : (x000000 &&& x000001) = x00000) : x000000 = 1#1 := by bv_decide (config := { embeddedConstraintSubst := false, andFlattening := false}) From 0b8f50f78d9bb94c5034a5044e662b0b8e37e7ca Mon Sep 17 00:00:00 2001 From: Sebastian Ullrich Date: Mon, 2 Dec 2024 15:37:03 +0100 Subject: [PATCH 21/24] feat: async linting (#4460) This PR runs all linters for a single command (together) on a separate thread from further elaboration, making a first step towards parallelizing the elaborator. --- src/Init/System/IO.lean | 11 +++++++++++ src/Lean/CoreM.lean | 8 +++----- src/Lean/Elab/BuiltinCommand.lean | 3 +++ src/Lean/Elab/Command.lean | 19 ++++++++++++++++--- src/Lean/Elab/Frontend.lean | 2 ++ src/Lean/Elab/GuardMsgs.lean | 4 ++++ src/Lean/Message.lean | 4 ++++ src/runtime/io.cpp | 4 ++++ 8 files changed, 47 insertions(+), 8 deletions(-) diff --git a/src/Init/System/IO.lean b/src/Init/System/IO.lean index 6ac06bd3febf..037a5fc4e3e1 100644 --- a/src/Init/System/IO.lean +++ b/src/Init/System/IO.lean @@ -981,3 +981,14 @@ not used concurrently or which are already persistent. -/ @[extern "lean_runtime_mark_persistent"] unsafe def Runtime.markPersistent (a : α) : BaseIO α := return a + +set_option linter.unusedVariables false in +/-- +Discards the passed owned reference. This leads to `a` any any object reachable from it never being +freed. This can be a useful optimization for eliding deallocation time of big object graphs that are +kept alive close to the end of the process anyway (in which case calling `Runtime.markPersistent` +would be similarly costly to deallocation). It is still considered a safe operation as it cannot +lead to undefined behavior. +-/ +@[extern "lean_runtime_forget"] +def Runtime.forget (a : α) : BaseIO Unit := return diff --git a/src/Lean/CoreM.lean b/src/Lean/CoreM.lean index 95dc414c7044..7b3037d05894 100644 --- a/src/Lean/CoreM.lean +++ b/src/Lean/CoreM.lean @@ -32,7 +32,7 @@ register_builtin_option maxHeartbeats : Nat := { } register_builtin_option Elab.async : Bool := { - defValue := false + defValue := true descr := "perform elaboration using multiple threads where possible" } @@ -356,9 +356,7 @@ Returns the current log and then resets its messages while adjusting `MessageLog for incremental reporting during elaboration of a single command. -/ def getAndEmptyMessageLog : CoreM MessageLog := - modifyGet fun s => (s.messages, { s with - messages.unreported := {} - messages.hadErrors := s.messages.hasErrors }) + modifyGet fun s => (s.messages, { s with messages := s.messages.markAllReported }) instance : MonadLog CoreM where getRef := getRef @@ -417,7 +415,7 @@ def wrapAsyncAsSnapshot (act : Unit → CoreM Unit) (desc : String := by exact d IO.FS.withIsolatedStreams (isolateStderr := stderrAsMessages.get (← getOptions)) do let tid ← IO.getTID -- reset trace state and message log so as not to report them twice - modify ({ · with messages := {}, traceState := { tid } }) + modify fun st => { st with messages := st.messages.markAllReported, traceState := { tid } } try withTraceNode `Elab.async (fun _ => return desc) do act () diff --git a/src/Lean/Elab/BuiltinCommand.lean b/src/Lean/Elab/BuiltinCommand.lean index f42c6b4a661c..1175b39ce651 100644 --- a/src/Lean/Elab/BuiltinCommand.lean +++ b/src/Lean/Elab/BuiltinCommand.lean @@ -488,6 +488,9 @@ where let mut lines : Array MessageData := #[] let decls ← getOptionDecls for (name, val) in opts do + -- `#guard_msgs` sets this option internally, we don't want it to end up in its output + if name == `Elab.async then + continue let (isSet, isUnknown) := match decls.find? name with | some decl => (decl.defValue != val, false) diff --git a/src/Lean/Elab/Command.lean b/src/Lean/Elab/Command.lean index 4e33521c4bf9..1f99971162a9 100644 --- a/src/Lean/Elab/Command.lean +++ b/src/Lean/Elab/Command.lean @@ -287,7 +287,9 @@ def runLinters (stx : Syntax) : CommandElabM Unit := do | Exception.internal _ _ => logException ex finally - modify fun s => { savedState with messages := s.messages } + -- TODO: it would be good to preserve even more state (#4363) but preserving info + -- trees currently breaks from linters adding context-less info nodes + modify fun s => { savedState with messages := s.messages, traceState := s.traceState } /-- Catches and logs exceptions occurring in `x`. Unlike `try catch` in `CommandElabM`, this function @@ -311,7 +313,7 @@ def wrapAsyncAsSnapshot (act : Unit → CommandElabM Unit) IO.FS.withIsolatedStreams (isolateStderr := Core.stderrAsMessages.get (← getOptions)) do let tid ← IO.getTID -- reset trace state and message log so as not to report them twice - modify ({ · with messages := {}, traceState := { tid } }) + modify fun st => { st with messages := st.messages.markAllReported, traceState := { tid } } try withTraceNode `Elab.async (fun _ => return desc) do act () @@ -344,6 +346,17 @@ def wrapAsyncAsSnapshot (act : Unit → CommandElabM Unit) def logSnapshotTask (task : Language.SnapshotTask Language.SnapshotTree) : CommandElabM Unit := modify fun s => { s with snapshotTasks := s.snapshotTasks.push task } +def runLintersAsync (stx : Syntax) : CommandElabM Unit := do + if !Elab.async.get (← getOptions) then + withoutModifyingEnv do + runLinters stx + return + + -- We only start one task for all linters for now as most linters are fast and we simply want + -- to unblock elaboration of the next command + let lintAct ← wrapAsyncAsSnapshot fun _ => runLinters stx + logSnapshotTask { range? := none, task := (← BaseIO.asTask lintAct) } + protected def getCurrMacroScope : CommandElabM Nat := do pure (← read).currMacroScope protected def getMainModule : CommandElabM Name := do pure (← getEnv).mainModule @@ -547,7 +560,7 @@ def elabCommandTopLevel (stx : Syntax) : CommandElabM Unit := withRef stx do pro -- rather than engineer a general solution. unless (stx.find? (·.isOfKind ``Lean.guardMsgsCmd)).isSome do withLogging do - runLinters stx + runLintersAsync stx finally -- note the order: first process current messages & info trees, then add back old messages & trees, -- then convert new traces to messages diff --git a/src/Lean/Elab/Frontend.lean b/src/Lean/Elab/Frontend.lean index d5d15fec1c69..29f30ea51a38 100644 --- a/src/Lean/Elab/Frontend.lean +++ b/src/Lean/Elab/Frontend.lean @@ -169,6 +169,8 @@ def runFrontend IO.FS.writeFile ⟨out⟩ <| Json.compress <| toJson profile let hasErrors := snaps.getAll.any (·.diagnostics.msgLog.hasErrors) + -- no point in freeing the snapshot graph and all referenced data this close to process exit + Runtime.forget snaps pure (cmdState.env, !hasErrors) diff --git a/src/Lean/Elab/GuardMsgs.lean b/src/Lean/Elab/GuardMsgs.lean index ed8f5c723431..f48641fafbfb 100644 --- a/src/Lean/Elab/GuardMsgs.lean +++ b/src/Lean/Elab/GuardMsgs.lean @@ -140,8 +140,12 @@ def MessageOrdering.apply (mode : MessageOrdering) (msgs : List String) : List S |>.trim |> removeTrailingWhitespaceMarker let (whitespace, ordering, specFn) ← parseGuardMsgsSpec spec? let initMsgs ← modifyGet fun st => (st.messages, { st with messages := {} }) + -- disable async elaboration for `cmd` so `msgs` will contain all messages + let async := Elab.async.get (← getOptions) + modifyScope fun scope => { scope with opts := Elab.async.set scope.opts false } -- The `#guard_msgs` command is special-cased in `elabCommandTopLevel` to ensure linters only run once. elabCommandTopLevel cmd + modifyScope fun scope => { scope with opts := Elab.async.set scope.opts async } let msgs := (← get).messages let mut toCheck : MessageLog := .empty let mut toPassthrough : MessageLog := .empty diff --git a/src/Lean/Message.lean b/src/Lean/Message.lean index 4ccc56c36db1..65fe62c274c3 100644 --- a/src/Lean/Message.lean +++ b/src/Lean/Message.lean @@ -441,6 +441,10 @@ instance : Append MessageLog := def hasErrors (log : MessageLog) : Bool := log.hadErrors || log.unreported.any (·.severity matches .error) +/-- Clears unreported messages while preserving `hasErrors`. -/ +def markAllReported (log : MessageLog) : MessageLog := + { log with unreported := {}, hadErrors := log.hasErrors } + def errorsToWarnings (log : MessageLog) : MessageLog := { unreported := log.unreported.map (fun m => match m.severity with | MessageSeverity.error => { m with severity := MessageSeverity.warning } | _ => m) } diff --git a/src/runtime/io.cpp b/src/runtime/io.cpp index 6e495b0f52d6..9212b29b700d 100644 --- a/src/runtime/io.cpp +++ b/src/runtime/io.cpp @@ -1460,6 +1460,10 @@ extern "C" LEAN_EXPORT obj_res lean_runtime_mark_persistent(obj_arg a, obj_arg / return io_result_mk_ok(a); } +extern "C" LEAN_EXPORT obj_res lean_runtime_forget(obj_arg /* a */, obj_arg /* w */) { + return io_result_mk_ok(box(0)); +} + void initialize_io() { g_io_error_nullptr_read = lean_mk_io_user_error(mk_ascii_string_unchecked("null reference read")); mark_persistent(g_io_error_nullptr_read); From 3c348d45265dab59e6902462d506d493add8b043 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 17:09:50 +0100 Subject: [PATCH 22/24] chore: CI: bump dawidd6/action-download-artifact from 6 to 7 (#6274) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 6 to 7.
Release notes

Sourced from dawidd6/action-download-artifact's releases.

v7

What's Changed

New Contributors

Full Changelog: https://github.com/dawidd6/action-download-artifact/compare/v6...v7

Commits
  • 80620a5 node_modules: update
  • b15e003 node_modules: install
  • 1ee9a45 build(deps): Fix cross-spawn >=7.0.0 <= 7.0.5 vulnerability (#317)
  • b2f2706 build(deps): bump @​actions/artifact from 2.1.10 to 2.1.11 (#313)
  • fdbeba0 build(deps): bump @​actions/core from 1.11.0 to 1.11.1 (#312)
  • a74b429 build(deps): bump @​actions/core from 1.10.1 to 1.11.0 (#310)
  • 24e807a build(deps): bump @​actions/artifact from 2.1.9 to 2.1.10 (#311)
  • 9592e3c build(deps): bump path-to-regexp from 6.2.2 to 6.3.0 (#307)
  • 5f966b6 build(deps): bump adm-zip from 0.5.15 to 0.5.16 (#306)
  • db9477a build(deps): bump adm-zip from 0.5.14 to 0.5.15 (#301)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dawidd6/action-download-artifact&package-manager=github_actions&previous-version=6&new-version=7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/pr-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-release.yml b/.github/workflows/pr-release.yml index e9a89bcb3389..6bdee3056e72 100644 --- a/.github/workflows/pr-release.yml +++ b/.github/workflows/pr-release.yml @@ -34,7 +34,7 @@ jobs: - name: Download artifact from the previous workflow. if: ${{ steps.workflow-info.outputs.pullRequestNumber != '' }} id: download-artifact - uses: dawidd6/action-download-artifact@v6 # https://github.com/marketplace/actions/download-workflow-artifact + uses: dawidd6/action-download-artifact@v7 # https://github.com/marketplace/actions/download-workflow-artifact with: run_id: ${{ github.event.workflow_run.id }} path: artifacts From f156f22d7c4fcc3dd6c148e5cd8ae28ca1313925 Mon Sep 17 00:00:00 2001 From: Mac Malone Date: Mon, 2 Dec 2024 12:11:27 -0500 Subject: [PATCH 23/24] feat: lake: build without `leanc` (#6176) This PR changes Lake's build process to no longer use `leanc` for compiling C files or linking shared libraries and executables. Instead, it directly invokes the bundled compiler (or the native compiler if none) using the necessary flags. --- src/lake/Lake/Build/Actions.lean | 10 +++++ src/lake/Lake/Build/Common.lean | 37 ++++++++++++----- src/lake/Lake/Build/Executable.lean | 2 +- src/lake/Lake/Build/Trace.lean | 4 ++ src/lake/Lake/Config/InstallPath.lean | 49 ++++++++++++++++------- src/lake/Lake/Config/LeanExe.lean | 25 +++++++----- src/lake/examples/bootstrap/lakefile.lean | 2 +- src/lake/tests/buildArgs/test.sh | 22 +++++----- 8 files changed, 102 insertions(+), 49 deletions(-) diff --git a/src/lake/Lake/Build/Actions.lean b/src/lake/Lake/Build/Actions.lean index afb7bdb5384c..af7cf61a075e 100644 --- a/src/lake/Lake/Build/Actions.lean +++ b/src/lake/Lake/Build/Actions.lean @@ -105,6 +105,16 @@ def compileExe proc { cmd := linker.toString args := #["-o", binFile.toString] ++ linkFiles.map toString ++ linkArgs + env := ← do + -- It is difficult to identify the correct minor version here, leading to linking warnings like: + -- `ld64.lld: warning: /usr/lib/system/libsystem_kernel.dylib has version 13.5.0, which is newer than target minimum of 13.0.0` + -- In order to suppress these we set the MACOSX_DEPLOYMENT_TARGET variable into the far future. + if System.Platform.isOSX then + match (← IO.getEnv "MACOSX_DEPLOYMENT_TARGET") with + | some _ => pure #[] + | none => pure #[("MACOSX_DEPLOYMENT_TARGET", some "99.0")] + else + pure #[] } /-- Download a file using `curl`, clobbering any existing file. -/ diff --git a/src/lake/Lake/Build/Common.lean b/src/lake/Lake/Build/Common.lean index 4917f5ad181a..aec6f769e1c7 100644 --- a/src/lake/Lake/Build/Common.lean +++ b/src/lake/Lake/Build/Common.lean @@ -306,7 +306,8 @@ which will be computed in the resulting `BuildJob` before building. let extraDepTrace := return (← getLeanTrace).mix <| (pureHash traceArgs).mix platformTrace buildFileAfterDep oFile srcJob (extraDepTrace := extraDepTrace) fun srcFile => do - compileO oFile srcFile (weakArgs ++ traceArgs) (← getLeanc) + let lean ← getLeanInstall + compileO oFile srcFile (lean.ccFlags ++ weakArgs ++ traceArgs) lean.cc /-- Build a static library from object file jobs using the `ar` packaged with Lean. -/ def buildStaticLib @@ -315,7 +316,10 @@ def buildStaticLib buildFileAfterDepArray libFile oFileJobs fun oFiles => do compileStaticLib libFile oFiles (← getLeanAr) -/-- Build a shared library by linking the results of `linkJobs` using `leanc`. -/ +/-- +Build a shared library by linking the results of `linkJobs` +using the Lean toolchain's C compiler. +-/ def buildLeanSharedLib (libFile : FilePath) (linkJobs : Array (BuildJob FilePath)) (weakArgs traceArgs : Array String := #[]) @@ -323,19 +327,31 @@ def buildLeanSharedLib let extraDepTrace := return (← getLeanTrace).mix <| (pureHash traceArgs).mix platformTrace buildFileAfterDepArray libFile linkJobs (extraDepTrace := extraDepTrace) fun links => do - compileSharedLib libFile (links.map toString ++ weakArgs ++ traceArgs) (← getLeanc) + let lean ← getLeanInstall + let args := links.map toString ++ weakArgs ++ traceArgs ++ lean.ccLinkSharedFlags + compileSharedLib libFile args lean.cc + -/-- Build an executable by linking the results of `linkJobs` using `leanc`. -/ +/-- +Build an executable by linking the results of `linkJobs` +using the Lean toolchain's linker. +-/ def buildLeanExe (exeFile : FilePath) (linkJobs : Array (BuildJob FilePath)) - (weakArgs traceArgs : Array String := #[]) + (weakArgs traceArgs : Array String := #[]) (sharedLean : Bool := false) : SpawnM (BuildJob FilePath) := let extraDepTrace := - return (← getLeanTrace).mix <| (pureHash traceArgs).mix platformTrace + return (← getLeanTrace).mix <| + (pureHash sharedLean).mix <| (pureHash traceArgs).mix platformTrace buildFileAfterDepArray exeFile linkJobs (extraDepTrace := extraDepTrace) fun links => do - compileExe exeFile links (weakArgs ++ traceArgs) (← getLeanc) + let lean ← getLeanInstall + let args := weakArgs ++ traceArgs ++ lean.ccLinkFlags sharedLean + compileExe exeFile links args lean.cc -/-- Build a shared library from a static library using `leanc`. -/ +/-- +Build a shared library from a static library using `leanc` +using the Lean toolchain's linker. +-/ def buildLeanSharedLibOfStatic (staticLibJob : BuildJob FilePath) (weakArgs traceArgs : Array String := #[]) @@ -347,11 +363,12 @@ def buildLeanSharedLibOfStatic #[s!"-Wl,-force_load,{staticLib}"] else #["-Wl,--whole-archive", staticLib.toString, "-Wl,--no-whole-archive"] + let lean ← getLeanInstall let depTrace := staticTrace.mix <| (← getLeanTrace).mix <| (pureHash traceArgs).mix <| platformTrace - let args := baseArgs ++ weakArgs ++ traceArgs + let args := baseArgs ++ weakArgs ++ traceArgs ++ lean.ccLinkSharedFlags let trace ← buildFileUnlessUpToDate dynlib depTrace do - compileSharedLib dynlib args (← getLeanc) + compileSharedLib dynlib args lean.cc return (dynlib, trace) /-- Construct a `Dynlib` object for a shared library target. -/ diff --git a/src/lake/Lake/Build/Executable.lean b/src/lake/Lake/Build/Executable.lean index ff8ec5239136..9e411d25f215 100644 --- a/src/lake/Lake/Build/Executable.lean +++ b/src/lake/Lake/Build/Executable.lean @@ -29,4 +29,4 @@ def LeanExe.recBuildExe (self : LeanExe) : FetchM (BuildJob FilePath) := let deps := (← fetch <| self.pkg.facet `deps).push self.pkg for dep in deps do for lib in dep.externLibs do linkJobs := linkJobs.push <| ← lib.static.fetch - buildLeanExe self.file linkJobs self.weakLinkArgs self.linkArgs + buildLeanExe self.file linkJobs self.weakLinkArgs self.linkArgs self.sharedLean diff --git a/src/lake/Lake/Build/Trace.lean b/src/lake/Lake/Build/Trace.lean index 2552f6e3e254..0b0e273a3a9a 100644 --- a/src/lake/Lake/Build/Trace.lean +++ b/src/lake/Lake/Build/Trace.lean @@ -125,6 +125,9 @@ instance : ToString Hash := ⟨Hash.toString⟩ @[inline] def ofByteArray (bytes : ByteArray) : Hash := ⟨hash bytes⟩ +@[inline] def ofBool (b : Bool) := + mk (hash b) + @[inline] protected def toJson (self : Hash) : Json := toJson self.val @@ -151,6 +154,7 @@ instance [ComputeHash α m] : ComputeTrace α m Hash := ⟨ComputeHash.computeHa @[inline] def computeHash [ComputeHash α m] [MonadLiftT m n] (a : α) : n Hash := liftM <| ComputeHash.computeHash a +instance : ComputeHash Bool Id := ⟨Hash.ofBool⟩ instance : ComputeHash String Id := ⟨Hash.ofString⟩ /-- diff --git a/src/lake/Lake/Config/InstallPath.lean b/src/lake/Lake/Config/InstallPath.lean index a0877ef9316f..9257ea158087 100644 --- a/src/lake/Lake/Config/InstallPath.lean +++ b/src/lake/Lake/Config/InstallPath.lean @@ -3,10 +3,12 @@ Copyright (c) 2021 Mac Malone. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mac Malone -/ +import Lean.Compiler.FFI import Lake.Util.NativeLib import Lake.Config.Defaults -open System +open System Lean.Compiler.FFI + namespace Lake /-- Convert the string value of an environment variable to a boolean. -/ @@ -71,7 +73,13 @@ structure LeanInstall where initSharedLib := leanSharedLibDir sysroot / initSharedLib ar : FilePath := "ar" cc : FilePath := "cc" - customCc : Bool := false + customCc : Bool := true + cFlags := getCFlags sysroot |>.push "-Wno-unused-command-line-argument" + linkStaticFlags := getLinkerFlags sysroot (linkStatic := true) + linkSharedFlags := getLinkerFlags sysroot (linkStatic := false) + ccFlags := cFlags + ccLinkStaticFlags := linkStaticFlags + ccLinkSharedFlags := linkSharedFlags deriving Inhabited, Repr /-- @@ -88,6 +96,10 @@ def LeanInstall.sharedLibPath (self : LeanInstall) : SearchPath := def LeanInstall.leanCc? (self : LeanInstall) : Option String := if self.customCc then self.cc.toString else none +/-- The link-time flags for the C compiler of the Lean installation. -/ +def LeanInstall.ccLinkFlags (shared : Bool) (self : LeanInstall) : Array String := + if shared then self.ccLinkSharedFlags else self.ccLinkStaticFlags + /-- Lake executable file name. -/ def lakeExe : FilePath := FilePath.addExtension "lake" FilePath.exeExtension @@ -178,8 +190,7 @@ def LeanInstall.get (sysroot : FilePath) (collocated : Bool := false) : BaseIO L -- Remark: This is expensive (at least on Windows), so try to avoid it. getGithash let ar ← findAr - let (cc, customCc) ← findCc - return {sysroot, githash, ar, cc, customCc} + setCc {sysroot, githash, ar} where getGithash := do EIO.catchExceptions (h := fun _ => pure "") do @@ -187,7 +198,7 @@ where cmd := leanExe sysroot |>.toString, args := #["--githash"] } - pure <| out.stdout.trim + return out.stdout.trim findAr := do if let some ar ← IO.getEnv "LEAN_AR" then return FilePath.mk ar @@ -199,19 +210,27 @@ where return ar else return "ar" - findCc := do + setCc i := do if let some cc ← IO.getEnv "LEAN_CC" then - return (FilePath.mk cc, true) + return withCustomCc i cc else let cc := leanCcExe sysroot - let cc ← - if (← cc.pathExists) then - pure cc - else if let some cc ← IO.getEnv "CC" then - pure cc - else - pure "cc" - return (cc, false) + if (← cc.pathExists) then + return withInternalCc i cc + else if let some cc ← IO.getEnv "CC" then + return withCustomCc i cc + else + return withCustomCc i "cc" + @[inline] withCustomCc (i : LeanInstall) cc := + {i with cc} + withInternalCc (i : LeanInstall) cc := + let ccLinkFlags := getInternalLinkerFlags sysroot + {i with + cc, customCc := false + ccFlags := i.cFlags ++ getInternalCFlags sysroot + ccLinkStaticFlags := ccLinkFlags ++ i.linkStaticFlags + ccLinkSharedFlags := ccLinkFlags ++ i.linkSharedFlags + } /-- Attempt to detect the installation of the given `lean` command diff --git a/src/lake/Lake/Config/LeanExe.lean b/src/lake/Lake/Config/LeanExe.lean index dc880b08e5c6..62b849315e41 100644 --- a/src/lake/Lake/Config/LeanExe.lean +++ b/src/lake/Lake/Config/LeanExe.lean @@ -3,7 +3,6 @@ Copyright (c) 2022 Mac Malone. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Mac Malone -/ -import Lean.Compiler.FFI import Lake.Config.Module namespace Lake @@ -74,21 +73,27 @@ The file name of binary executable /-- The arguments to pass to `leanc` when linking the binary executable. -By default, the package's plus the executable's `moreLinkArgs`. -If `supportInterpreter := true`, Lake links directly to the Lean shared -libraries on Windows by prepending `-leanshared` and adds `-rdynamic` on -other systems. +By default, the package's plus the executable's `moreLinkArgs`. +If `supportInterpreter := true`, Lake prepends `-rdynamic` on non-Windows +systems. -/ def linkArgs (self : LeanExe) : Array String := - if self.config.supportInterpreter then - if Platform.isWindows then - #["-leanshared"] ++ self.pkg.moreLinkArgs ++ self.config.moreLinkArgs - else - #["-rdynamic"] ++ self.pkg.moreLinkArgs ++ self.config.moreLinkArgs + if self.config.supportInterpreter && !Platform.isWindows then + #["-rdynamic"] ++ self.pkg.moreLinkArgs ++ self.config.moreLinkArgs else self.pkg.moreLinkArgs ++ self.config.moreLinkArgs +/-- +Whether the Lean shared library should be dynamically linked to the executable. + +If `supportInterpreter := true`, Lean symbols must be visible to the +interpreter. On Windows, it is not possible to statically include these +symbols in the executable due to symbol limits, so Lake dynamically links to +the Lean shared library. Otherwise, Lean is linked statically. +-/ +@[inline] def sharedLean (self : LeanExe) : Bool := + strictAnd Platform.isWindows self.config.supportInterpreter /-- The arguments to weakly pass to `leanc` when linking the binary executable. diff --git a/src/lake/examples/bootstrap/lakefile.lean b/src/lake/examples/bootstrap/lakefile.lean index 3b44e0853051..dfb02c2c60c8 100644 --- a/src/lake/examples/bootstrap/lakefile.lean +++ b/src/lake/examples/bootstrap/lakefile.lean @@ -8,5 +8,5 @@ lean_lib Lake @[default_target] lean_exe lake where - root := `Lake.Main + root := `LakeMain supportInterpreter := true diff --git a/src/lake/tests/buildArgs/test.sh b/src/lake/tests/buildArgs/test.sh index 88c62073a818..53776ee767b7 100755 --- a/src/lake/tests/buildArgs/test.sh +++ b/src/lake/tests/buildArgs/test.sh @@ -3,39 +3,37 @@ set -exo pipefail LAKE=${LAKE:-../../.lake/build/bin/lake} -unamestr=`uname` -if [ "$unamestr" = Darwin ] || [ "$unamestr" = FreeBSD ]; then - sed_i() { sed -i '' "$@"; } -else - sed_i() { sed -i "$@"; } -fi - ./clean.sh # Test that changing `moreLean/Leanc/LinkArgs` triggers a rebuild # Test that changing `weakLean/Leanc/LinkArgs` does not +# Test `leanArgs` ${LAKE} build +Hello -R # see https://github.com/leanprover/lake/issues/50 ${LAKE} build +Hello -R -KleanArgs=-DwarningAsError=true -v | grep --color warningAsError +# Test `weakLeanArgs` ${LAKE} build +Hello -R # see https://github.com/leanprover/lake/issues/172 ${LAKE} build +Hello -R -KweakLeanArgs=-DwarningAsError=true --no-build +# Test `leancArgs` ${LAKE} build +Hello:o -R -${LAKE} build +Hello:o -R -KleancArgs=-DBAR -v | grep --color leanc +${LAKE} build +Hello:o -R -KleancArgs=-DBAR -v | grep --color "Built Hello:c.o" +# Test `weakLeancArgs` ${LAKE} build +Hello:o -R ${LAKE} build +Hello:o -R -KweakLeancArgs=-DBAR --no-build +# Test `linkArgs` ${LAKE} build +Hello:dynlib Hello:shared hello -R -${LAKE} build +Hello:dynlib -R -KlinkArgs=-L.lake/build/lib -v | grep --color leanc -${LAKE} build Hello:shared -R -KlinkArgs=-L.lake/build/lib -v | grep --color leanc -${LAKE} build hello -R -KlinkArgs=-L.lake/build/lib -v | grep --color leanc +${LAKE} build +Hello:dynlib -R -KlinkArgs=-L.lake/build/lib -v | grep --color "Built Hello:dynlib" +${LAKE} build Hello:shared -R -KlinkArgs=-L.lake/build/lib -v | grep --color "Built Hello:shared" +${LAKE} build hello -R -KlinkArgs=-L.lake/build/lib -v | grep --color "Built hello" +# Test `weakLinkArgs` ${LAKE} build +Hello:dynlib Hello:shared hello -R ${LAKE} build +Hello:dynlib -R -KweakLinkArgs=-L.lake/build/lib --no-build ${LAKE} build Hello:shared -R -KweakLinkArgs=-L.lake/build/lib --no-build ${LAKE} build hello -R -KweakLinkArgs=-L.lake/build/lib --no-build - From b2336fd9803dc976aacc2d4b43df90f57c6de1c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Mon, 2 Dec 2024 18:44:58 +0100 Subject: [PATCH 24/24] perf: speed up bv_decide reflection using Lean.RArray (#6288) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR uses Lean.RArray in bv_decide's reflection proofs. Giving speedups on problems with lots of variables. Implement like #6068, speedup: ``` # before λ hyperfine "lean +nightly-2024-12-02 tests/lean/run/bv_reflection_stress.lean" Benchmark 1: lean +nightly-2024-12-02 tests/lean/run/bv_reflection_stress.lean Time (mean ± σ): 1.939 s ± 0.007 s [User: 1.549 s, System: 0.104 s] Range (min … max): 1.928 s … 1.947 s 10 runs # after λ hyperfine "lean tests/lean/run/bv_reflection_stress.lean" Benchmark 1: lean tests/lean/run/bv_reflection_stress.lean Time (mean ± σ): 1.409 s ± 0.006 s [User: 1.058 s, System: 0.073 s] Range (min … max): 1.401 s … 1.419 s 10 runs ``` --- .../BVDecide/Frontend/BVDecide/Reflect.lean | 24 ++++++++++++------- .../Frontend/BVDecide/SatAtBVLogical.lean | 17 +++++++------ .../BVDecide/Bitblast/BVExpr/Basic.lean | 11 +++++---- .../Bitblast/BVExpr/Circuit/Lemmas/Basic.lean | 4 ++-- 4 files changed, 33 insertions(+), 23 deletions(-) diff --git a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/Reflect.lean b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/Reflect.lean index bfc42764f8bc..bb4c3892eb67 100644 --- a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/Reflect.lean +++ b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/Reflect.lean @@ -8,6 +8,7 @@ import Std.Data.HashMap import Std.Tactic.BVDecide.Bitblast.BVExpr.Basic import Lean.Meta.AppBuilder import Lean.ToExpr +import Lean.Data.RArray /-! This module contains the implementation of the reflection monad, used by all other components of this @@ -138,9 +139,11 @@ structure State where -/ atoms : Std.HashMap Expr Atom := {} /-- - A cache for `atomsAssignment`. + A cache for `atomsAssignment`. We maintain the invariant that this value is only used if + `atoms` is non empty. The reason for not using an `Option` is that it would pollute a lot of code + with error handling that is never hit as this invariant is enforced before all of this code. -/ - atomsAssignmentCache : Expr := mkConst ``List.nil [.zero] + atomsAssignmentCache : Expr := mkConst `illegal /-- The reflection monad, used to track `BitVec` variables that we see as we traverse the context. @@ -228,9 +231,9 @@ def run (m : M α) : MetaM α := /-- Retrieve the atoms as pairs of their width and expression. -/ -def atoms : M (List (Nat × Expr)) := do +def atoms : M (Array (Nat × Expr)) := do let sortedAtoms := (← getThe State).atoms.toArray.qsort (·.2.atomNumber < ·.2.atomNumber) - return sortedAtoms.map (fun (expr, {width, ..}) => (width, expr)) |>.toList + return sortedAtoms.map (fun (expr, {width, ..}) => (width, expr)) /-- Retrieve a `BitVec.Assignment` representing the atoms we found so far. @@ -257,11 +260,14 @@ def lookup (e : Expr) (width : Nat) (synthetic : Bool) : M Nat := do where updateAtomsAssignment : M Unit := do let as ← atoms - let packed := - as.map (fun (width, expr) => mkApp2 (mkConst ``BVExpr.PackedBitVec.mk) (toExpr width) expr) - let packedType := mkConst ``BVExpr.PackedBitVec - let newAtomsAssignment ← mkListLit packedType packed - modify fun s => { s with atomsAssignmentCache := newAtomsAssignment } + if h : 0 < as.size then + let ras := Lean.RArray.ofArray as h + let packedType := mkConst ``BVExpr.PackedBitVec + let pack := fun (width, expr) => mkApp2 (mkConst ``BVExpr.PackedBitVec.mk) (toExpr width) expr + let newAtomsAssignment := ras.toExpr packedType pack + modify fun s => { s with atomsAssignmentCache := newAtomsAssignment } + else + throwError "updateAtomsAssignment should only be called when there is an atom" @[specialize] def simplifyBinaryProof' (mkFRefl : Expr → Expr) (fst : Expr) (fproof : Option Expr) diff --git a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/SatAtBVLogical.lean b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/SatAtBVLogical.lean index 9e570abeb5d4..bceb1a0580c2 100644 --- a/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/SatAtBVLogical.lean +++ b/src/Lean/Elab/Tactic/BVDecide/Frontend/BVDecide/SatAtBVLogical.lean @@ -61,13 +61,16 @@ def and (x y : SatAtBVLogical) : SatAtBVLogical where /-- Given a proof that `x.expr.Unsat`, produce a proof of `False`. -/ def proveFalse (x : SatAtBVLogical) (h : Expr) : M Expr := do - let atomsList ← M.atomsAssignment - let evalExpr := mkApp2 (mkConst ``BVLogicalExpr.eval) atomsList x.expr - return mkApp3 - (mkConst ``Std.Tactic.BVDecide.Reflect.Bool.false_of_eq_true_of_eq_false) - evalExpr - (← x.satAtAtoms) - (.app h atomsList) + if (← get).atoms.isEmpty then + throwError "Unable to identify any relevant atoms." + else + let atomsList ← M.atomsAssignment + let evalExpr := mkApp2 (mkConst ``BVLogicalExpr.eval) atomsList x.expr + return mkApp3 + (mkConst ``Std.Tactic.BVDecide.Reflect.Bool.false_of_eq_true_of_eq_false) + evalExpr + (← x.satAtAtoms) + (.app h atomsList) end SatAtBVLogical diff --git a/src/Std/Tactic/BVDecide/Bitblast/BVExpr/Basic.lean b/src/Std/Tactic/BVDecide/Bitblast/BVExpr/Basic.lean index 22af1d1cb39f..f1ab2f404f62 100644 --- a/src/Std/Tactic/BVDecide/Bitblast/BVExpr/Basic.lean +++ b/src/Std/Tactic/BVDecide/Bitblast/BVExpr/Basic.lean @@ -6,6 +6,7 @@ Authors: Henrik Böving prelude import Init.Data.Hashable import Init.Data.BitVec +import Init.Data.RArray import Std.Tactic.BVDecide.Bitblast.BoolExpr.Basic /-! @@ -279,20 +280,20 @@ structure PackedBitVec where /-- The notion of variable assignments for `BVExpr`. -/ -abbrev Assignment := List PackedBitVec +abbrev Assignment := Lean.RArray PackedBitVec /-- Get the value of a `BVExpr.var` from an `Assignment`. -/ -def Assignment.getD (assign : Assignment) (idx : Nat) : PackedBitVec := - List.getD assign idx ⟨BitVec.zero 0⟩ +def Assignment.get (assign : Assignment) (idx : Nat) : PackedBitVec := + Lean.RArray.get assign idx /-- The semantics for `BVExpr`. -/ def eval (assign : Assignment) : BVExpr w → BitVec w | .var idx => - let ⟨bv⟩ := assign.getD idx + let ⟨bv⟩ := assign.get idx bv.truncate w | .const val => val | .zeroExtend v expr => BitVec.zeroExtend v (eval assign expr) @@ -307,7 +308,7 @@ def eval (assign : Assignment) : BVExpr w → BitVec w | .arithShiftRight lhs rhs => BitVec.sshiftRight' (eval assign lhs) (eval assign rhs) @[simp] -theorem eval_var : eval assign ((.var idx) : BVExpr w) = (assign.getD idx).bv.truncate _ := by +theorem eval_var : eval assign ((.var idx) : BVExpr w) = (assign.get idx).bv.truncate _ := by rfl @[simp] diff --git a/src/Std/Tactic/BVDecide/Bitblast/BVExpr/Circuit/Lemmas/Basic.lean b/src/Std/Tactic/BVDecide/Bitblast/BVExpr/Circuit/Lemmas/Basic.lean index b57266bfc5d0..ecb877a42563 100644 --- a/src/Std/Tactic/BVDecide/Bitblast/BVExpr/Circuit/Lemmas/Basic.lean +++ b/src/Std/Tactic/BVDecide/Bitblast/BVExpr/Circuit/Lemmas/Basic.lean @@ -18,11 +18,11 @@ namespace Std.Tactic.BVDecide namespace BVExpr def Assignment.toAIGAssignment (assign : Assignment) : BVBit → Bool := - fun bit => (assign.getD bit.var).bv.getLsbD bit.idx + fun bit => (assign.get bit.var).bv.getLsbD bit.idx @[simp] theorem Assignment.toAIGAssignment_apply (assign : Assignment) (bit : BVBit) : - assign.toAIGAssignment bit = (assign.getD bit.var).bv.getLsbD bit.idx := by + assign.toAIGAssignment bit = (assign.get bit.var).bv.getLsbD bit.idx := by rfl end BVExpr