diff --git a/stage0/src/Lean/Elab/Term.lean b/stage0/src/Lean/Elab/Term.lean index 9d4665c102..49658255a5 100644 --- a/stage0/src/Lean/Elab/Term.lean +++ b/stage0/src/Lean/Elab/Term.lean @@ -974,11 +974,21 @@ match ctx.declName? with @[builtinTermElab «prop»] def elabProp : TermElab := fun _ _ => pure $ mkSort levelZero +private def elabOptLevel (stx : Syntax) : TermElabM Level := +if stx.isNone then + pure levelZero +else + elabLevel $ stx.getArg 0 + @[builtinTermElab «sort»] def elabSort : TermElab := -fun _ _ => pure $ mkSort levelZero +fun stx _ => do + u ← elabOptLevel $ stx.getArg 1; + pure $ mkSort u @[builtinTermElab «type»] def elabTypeStx : TermElab := -fun _ _ => pure $ mkSort levelOne +fun stx _ => do + u ← elabOptLevel $ stx.getArg 1; + pure $ mkSort (mkLevelSucc u) @[builtinTermElab «hole»] def elabHole : TermElab := fun stx expectedType? => mkFreshExprMVar stx expectedType? diff --git a/stage0/stdlib/Lean/Delaborator.c b/stage0/stdlib/Lean/Delaborator.c index 2c3dcae349..42af2b49b3 100644 --- a/stage0/stdlib/Lean/Delaborator.c +++ b/stage0/stdlib/Lean/Delaborator.c @@ -35,7 +35,6 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_Level_quote___main___lambda__1___closed__5; lean_object* l_Lean_Delaborator_annotatePos(lean_object*, lean_object*); lean_object* l_PersistentHashMap_find_x3f___at_Lean_Delaborator_delabFor___main___spec__2___boxed(lean_object*, lean_object*); -lean_object* l_Lean_Delaborator_delabSort___closed__12; lean_object* l_Lean_Delaborator_annotatePos___main(lean_object*, lean_object*); lean_object* l_Lean_mkTermIdFromIdent(lean_object*); lean_object* l_Lean_LocalDecl_userName(lean_object*); @@ -226,7 +225,6 @@ uint8_t l_Lean_Elab_Term_blockImplicitLambda(lean_object*); lean_object* l_Lean_Delaborator_delabOfNat___closed__2; lean_object* l___regBuiltin_Lean_Delaborator_delabLit(lean_object*); lean_object* l_Lean_Delaborator_delabAttribute___closed__2; -lean_object* l_Lean_Delaborator_delabSort___closed__14; lean_object* l_Lean_Delaborator_mkDelabAttribute___lambda__1(lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabForall___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_delabAppImplicit___closed__5; @@ -242,7 +240,6 @@ lean_object* l_Lean_Delaborator_delabFor___main(lean_object*, lean_object*, lean extern lean_object* l_Lean_Parser_Term_explicitBinder___elambda__1___closed__2; lean_object* l_Lean_Syntax_getId(lean_object*); lean_object* l_Lean_Delaborator_delabProjectionApp___closed__3; -lean_object* l_Lean_Delaborator_delabSort___closed__15; uint8_t l_Array_anyRangeMAux___main___at_Lean_Delaborator_delabForall___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Delaborator_withAppFnArgs(lean_object*); lean_object* lean_name_mk_string(lean_object*, lean_object*); @@ -262,7 +259,6 @@ lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lea extern lean_object* l_Lean_numLitKind___closed__2; lean_object* l_Lean_Level_getOffsetAux___main(lean_object*, lean_object*); extern lean_object* l_Lean_Meta_evalNat___main___closed__6; -extern lean_object* l_Lean_mkAppStx___closed__6; lean_object* l_Lean_Delaborator_withBindingBody___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_ReaderT_failure___at_Lean_Delaborator_DelabM_inhabited___spec__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_attrParamSyntaxToIdentifier(lean_object*); @@ -358,7 +354,6 @@ lean_object* l_Lean_Delaborator_delabAppImplicit___lambda__1(lean_object*, lean_ uint8_t l_Lean_BinderInfo_isExplicit(uint8_t); lean_object* l_Lean_Delaborator_delabMVar___closed__1; lean_object* l_Lean_Level_quote___main___lambda__1___closed__2; -lean_object* l_Lean_Delaborator_delabSort___closed__13; extern lean_object* l_Lean_Parser_Term_paren___elambda__1___closed__1; lean_object* l___regBuiltin_Lean_Delaborator_delabCoeFun___closed__1; lean_object* l_Lean_Delaborator_delabMVar___closed__2; @@ -8199,18 +8194,22 @@ return x_5; lean_object* _init_l_Lean_Delaborator_delabSort___closed__1() { _start: { -lean_object* x_1; -x_1 = lean_mk_string("sortApp"); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_SourceInfo_inhabited___closed__1; +x_2 = l_Lean_Parser_Term_sort___elambda__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; } } lean_object* _init_l_Lean_Delaborator_delabSort___closed__2() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_mkAppStx___closed__6; +x_1 = l_Array_empty___closed__1; x_2 = l_Lean_Delaborator_delabSort___closed__1; -x_3 = lean_name_mk_string(x_1, x_2); +x_3 = lean_array_push(x_1, x_2); return x_3; } } @@ -8219,7 +8218,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_SourceInfo_inhabited___closed__1; -x_2 = l_Lean_Parser_Term_sort___elambda__1___closed__5; +x_2 = l_Lean_Parser_Term_prop___elambda__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); @@ -8240,7 +8239,7 @@ lean_object* _init_l_Lean_Delaborator_delabSort___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_sort___elambda__1___closed__2; +x_1 = l_Lean_Parser_Term_prop___elambda__1___closed__2; x_2 = l_Lean_Delaborator_delabSort___closed__4; x_3 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_3, 0, x_1); @@ -8251,11 +8250,11 @@ return x_3; lean_object* _init_l_Lean_Delaborator_delabSort___closed__6() { _start: { -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_empty___closed__1; -x_2 = l_Lean_Delaborator_delabSort___closed__5; -x_3 = lean_array_push(x_1, x_2); -return x_3; +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Delaborator_delabSort___closed__5; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; } } lean_object* _init_l_Lean_Delaborator_delabSort___closed__7() { @@ -8263,7 +8262,7 @@ _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_SourceInfo_inhabited___closed__1; -x_2 = l_Lean_Parser_Term_prop___elambda__1___closed__5; +x_2 = l_Lean_Parser_Term_type___elambda__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); @@ -8284,78 +8283,34 @@ lean_object* _init_l_Lean_Delaborator_delabSort___closed__9() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_prop___elambda__1___closed__2; -x_2 = l_Lean_Delaborator_delabSort___closed__8; -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 = l_Lean_Delaborator_delabSort___closed__8; +x_2 = l___private_Lean_Elab_Term_5__expandCDot___main___closed__4; +x_3 = lean_array_push(x_1, x_2); return x_3; } } lean_object* _init_l_Lean_Delaborator_delabSort___closed__10() { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Delaborator_delabSort___closed__9; -x_2 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_2, 0, x_1); -return x_2; -} -} -lean_object* _init_l_Lean_Delaborator_delabSort___closed__11() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_SourceInfo_inhabited___closed__1; -x_2 = l_Lean_Parser_Term_type___elambda__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; -} -} -lean_object* _init_l_Lean_Delaborator_delabSort___closed__12() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_empty___closed__1; -x_2 = l_Lean_Delaborator_delabSort___closed__11; -x_3 = lean_array_push(x_1, x_2); -return x_3; -} -} -lean_object* _init_l_Lean_Delaborator_delabSort___closed__13() { -_start: -{ lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = l_Lean_Parser_Term_type___elambda__1___closed__2; -x_2 = l_Lean_Delaborator_delabSort___closed__12; +x_2 = l_Lean_Delaborator_delabSort___closed__9; 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; } } -lean_object* _init_l_Lean_Delaborator_delabSort___closed__14() { +lean_object* _init_l_Lean_Delaborator_delabSort___closed__11() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_Delaborator_delabSort___closed__13; +x_1 = l_Lean_Delaborator_delabSort___closed__10; x_2 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_2, 0, x_1); return x_2; } } -lean_object* _init_l_Lean_Delaborator_delabSort___closed__15() { -_start: -{ -lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Array_empty___closed__1; -x_2 = l_Lean_Delaborator_delabSort___closed__13; -x_3 = lean_array_push(x_1, x_2); -return x_3; -} -} lean_object* l_Lean_Delaborator_delabSort(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { @@ -8393,190 +8348,220 @@ lean_dec(x_6); switch (lean_obj_tag(x_10)) { case 0: { -lean_object* x_20; lean_object* x_21; +lean_object* x_24; lean_object* x_25; lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -x_20 = l_Lean_Delaborator_delabSort___closed__10; -x_21 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_21, 0, x_20); -lean_ctor_set(x_21, 1, x_8); -return x_21; +x_24 = l_Lean_Delaborator_delabSort___closed__6; +x_25 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_25, 0, x_24); +lean_ctor_set(x_25, 1, x_8); +return x_25; } case 1: { -lean_object* x_22; -x_22 = lean_ctor_get(x_10, 0); -lean_inc(x_22); -if (lean_obj_tag(x_22) == 0) -{ -lean_object* x_23; lean_object* x_24; -lean_dec(x_22); -lean_dec(x_10); -lean_dec(x_9); -lean_dec(x_7); -x_23 = l_Lean_Delaborator_delabSort___closed__14; -x_24 = lean_alloc_ctor(0, 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_dec(x_22); -x_25 = l_Lean_Level_dec___main(x_10); -if (lean_obj_tag(x_25) == 0) -{ lean_object* x_26; -x_26 = lean_box(0); -x_11 = x_26; -goto block_19; -} -else +x_26 = lean_ctor_get(x_10, 0); +lean_inc(x_26); +if (lean_obj_tag(x_26) == 0) { -uint8_t x_27; +lean_object* x_27; lean_object* x_28; +lean_dec(x_26); lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -x_27 = !lean_is_exclusive(x_25); -if (x_27 == 0) -{ -lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; -x_28 = lean_ctor_get(x_25, 0); -x_29 = l_Lean_Level_quote___main(x_28); -x_30 = l_Lean_Delaborator_delabSort___closed__15; -x_31 = lean_array_push(x_30, x_29); -x_32 = l_Lean_Delaborator_delabSort___closed__2; -x_33 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_33, 0, x_32); -lean_ctor_set(x_33, 1, x_31); -lean_ctor_set(x_25, 0, x_33); -x_34 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_34, 0, x_25); -lean_ctor_set(x_34, 1, x_8); -return x_34; +x_27 = l_Lean_Delaborator_delabSort___closed__11; +x_28 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_28, 0, x_27); +lean_ctor_set(x_28, 1, x_8); +return x_28; } else { -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_35 = lean_ctor_get(x_25, 0); -lean_inc(x_35); -lean_dec(x_25); -x_36 = l_Lean_Level_quote___main(x_35); -x_37 = l_Lean_Delaborator_delabSort___closed__15; -x_38 = lean_array_push(x_37, x_36); -x_39 = l_Lean_Delaborator_delabSort___closed__2; -x_40 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_40, 0, x_39); -lean_ctor_set(x_40, 1, x_38); -x_41 = lean_alloc_ctor(1, 1, 0); +lean_object* x_29; +lean_dec(x_26); +x_29 = l_Lean_Level_dec___main(x_10); +if (lean_obj_tag(x_29) == 0) +{ +lean_object* x_30; +x_30 = lean_box(0); +x_11 = x_30; +goto block_23; +} +else +{ +uint8_t x_31; +lean_dec(x_10); +lean_dec(x_9); +lean_dec(x_7); +x_31 = !lean_is_exclusive(x_29); +if (x_31 == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; +x_32 = lean_ctor_get(x_29, 0); +x_33 = l_Lean_Level_quote___main(x_32); +x_34 = l_Array_empty___closed__1; +x_35 = lean_array_push(x_34, x_33); +x_36 = l_Lean_nullKind___closed__2; +x_37 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_37, 0, x_36); +lean_ctor_set(x_37, 1, x_35); +x_38 = l_Lean_Delaborator_delabSort___closed__8; +x_39 = lean_array_push(x_38, x_37); +x_40 = l_Lean_Parser_Term_type___elambda__1___closed__2; +x_41 = lean_alloc_ctor(1, 2, 0); lean_ctor_set(x_41, 0, x_40); +lean_ctor_set(x_41, 1, x_39); +lean_ctor_set(x_29, 0, x_41); x_42 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_42, 0, x_41); +lean_ctor_set(x_42, 0, x_29); lean_ctor_set(x_42, 1, x_8); return x_42; } +else +{ +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; +x_43 = lean_ctor_get(x_29, 0); +lean_inc(x_43); +lean_dec(x_29); +x_44 = l_Lean_Level_quote___main(x_43); +x_45 = l_Array_empty___closed__1; +x_46 = lean_array_push(x_45, x_44); +x_47 = l_Lean_nullKind___closed__2; +x_48 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_48, 0, x_47); +lean_ctor_set(x_48, 1, x_46); +x_49 = l_Lean_Delaborator_delabSort___closed__8; +x_50 = lean_array_push(x_49, x_48); +x_51 = l_Lean_Parser_Term_type___elambda__1___closed__2; +x_52 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_52, 0, x_51); +lean_ctor_set(x_52, 1, x_50); +x_53 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_53, 0, x_52); +x_54 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_54, 0, x_53); +lean_ctor_set(x_54, 1, x_8); +return x_54; +} } } } default: { -lean_object* x_43; -x_43 = l_Lean_Level_dec___main(x_10); -if (lean_obj_tag(x_43) == 0) +lean_object* x_55; +x_55 = l_Lean_Level_dec___main(x_10); +if (lean_obj_tag(x_55) == 0) { -lean_object* x_44; -x_44 = lean_box(0); -x_11 = x_44; -goto block_19; +lean_object* x_56; +x_56 = lean_box(0); +x_11 = x_56; +goto block_23; } else { -uint8_t x_45; +uint8_t x_57; lean_dec(x_10); lean_dec(x_9); lean_dec(x_7); -x_45 = !lean_is_exclusive(x_43); -if (x_45 == 0) +x_57 = !lean_is_exclusive(x_55); +if (x_57 == 0) { -lean_object* x_46; lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; -x_46 = lean_ctor_get(x_43, 0); -x_47 = l_Lean_Level_quote___main(x_46); -x_48 = l_Lean_Delaborator_delabSort___closed__15; -x_49 = lean_array_push(x_48, x_47); -x_50 = l_Lean_Delaborator_delabSort___closed__2; -x_51 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_51, 0, x_50); -lean_ctor_set(x_51, 1, x_49); -lean_ctor_set(x_43, 0, x_51); -x_52 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_52, 0, x_43); -lean_ctor_set(x_52, 1, x_8); -return x_52; +lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; lean_object* x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; +x_58 = lean_ctor_get(x_55, 0); +x_59 = l_Lean_Level_quote___main(x_58); +x_60 = l_Array_empty___closed__1; +x_61 = lean_array_push(x_60, x_59); +x_62 = l_Lean_nullKind___closed__2; +x_63 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_63, 0, x_62); +lean_ctor_set(x_63, 1, x_61); +x_64 = l_Lean_Delaborator_delabSort___closed__8; +x_65 = lean_array_push(x_64, x_63); +x_66 = l_Lean_Parser_Term_type___elambda__1___closed__2; +x_67 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_67, 0, x_66); +lean_ctor_set(x_67, 1, x_65); +lean_ctor_set(x_55, 0, x_67); +x_68 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_68, 0, x_55); +lean_ctor_set(x_68, 1, x_8); +return x_68; } 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; -x_53 = lean_ctor_get(x_43, 0); -lean_inc(x_53); -lean_dec(x_43); -x_54 = l_Lean_Level_quote___main(x_53); -x_55 = l_Lean_Delaborator_delabSort___closed__15; -x_56 = lean_array_push(x_55, x_54); -x_57 = l_Lean_Delaborator_delabSort___closed__2; -x_58 = lean_alloc_ctor(1, 2, 0); -lean_ctor_set(x_58, 0, x_57); -lean_ctor_set(x_58, 1, x_56); -x_59 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_59, 0, x_58); -x_60 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_60, 0, x_59); -lean_ctor_set(x_60, 1, x_8); -return x_60; +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; +x_69 = lean_ctor_get(x_55, 0); +lean_inc(x_69); +lean_dec(x_55); +x_70 = l_Lean_Level_quote___main(x_69); +x_71 = l_Array_empty___closed__1; +x_72 = lean_array_push(x_71, x_70); +x_73 = l_Lean_nullKind___closed__2; +x_74 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_74, 0, x_73); +lean_ctor_set(x_74, 1, x_72); +x_75 = l_Lean_Delaborator_delabSort___closed__8; +x_76 = lean_array_push(x_75, x_74); +x_77 = l_Lean_Parser_Term_type___elambda__1___closed__2; +x_78 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_78, 0, x_77); +lean_ctor_set(x_78, 1, x_76); +x_79 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_79, 0, x_78); +x_80 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_80, 0, x_79); +lean_ctor_set(x_80, 1, x_8); +return x_80; } } } } -block_19: +block_23: { -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_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_dec(x_11); x_12 = l_Lean_Level_quote___main(x_10); -x_13 = l_Lean_Delaborator_delabSort___closed__6; +x_13 = l_Array_empty___closed__1; x_14 = lean_array_push(x_13, x_12); -x_15 = l_Lean_Delaborator_delabSort___closed__2; +x_15 = l_Lean_nullKind___closed__2; 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 = l_Lean_Delaborator_delabSort___closed__2; +x_18 = lean_array_push(x_17, x_16); +x_19 = l_Lean_Parser_Term_sort___elambda__1___closed__2; +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_19); +lean_ctor_set(x_20, 1, x_18); if (lean_is_scalar(x_7)) { - x_17 = lean_alloc_ctor(1, 1, 0); + x_21 = lean_alloc_ctor(1, 1, 0); } else { - x_17 = x_7; + x_21 = x_7; } -lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_21, 0, x_20); if (lean_is_scalar(x_9)) { - x_18 = lean_alloc_ctor(0, 2, 0); + x_22 = lean_alloc_ctor(0, 2, 0); } else { - x_18 = x_9; + x_22 = x_9; } -lean_ctor_set(x_18, 0, x_17); -lean_ctor_set(x_18, 1, x_8); -return x_18; +lean_ctor_set(x_22, 0, x_21); +lean_ctor_set(x_22, 1, x_8); +return x_22; } } else { -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; +lean_object* x_81; lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_dec(x_7); lean_dec(x_6); -x_61 = lean_ctor_get(x_4, 1); -lean_inc(x_61); +x_81 = lean_ctor_get(x_4, 1); +lean_inc(x_81); lean_dec(x_4); -x_62 = l_Lean_Delaborator_DelabM_inhabited___closed__1; -x_63 = l_unreachable_x21___rarg(x_62); -x_64 = lean_apply_3(x_63, x_1, x_2, x_61); -return x_64; +x_82 = l_Lean_Delaborator_DelabM_inhabited___closed__1; +x_83 = l_unreachable_x21___rarg(x_82); +x_84 = lean_apply_3(x_83, x_1, x_2, x_81); +return x_84; } } } @@ -18877,14 +18862,6 @@ l_Lean_Delaborator_delabSort___closed__10 = _init_l_Lean_Delaborator_delabSort__ lean_mark_persistent(l_Lean_Delaborator_delabSort___closed__10); l_Lean_Delaborator_delabSort___closed__11 = _init_l_Lean_Delaborator_delabSort___closed__11(); lean_mark_persistent(l_Lean_Delaborator_delabSort___closed__11); -l_Lean_Delaborator_delabSort___closed__12 = _init_l_Lean_Delaborator_delabSort___closed__12(); -lean_mark_persistent(l_Lean_Delaborator_delabSort___closed__12); -l_Lean_Delaborator_delabSort___closed__13 = _init_l_Lean_Delaborator_delabSort___closed__13(); -lean_mark_persistent(l_Lean_Delaborator_delabSort___closed__13); -l_Lean_Delaborator_delabSort___closed__14 = _init_l_Lean_Delaborator_delabSort___closed__14(); -lean_mark_persistent(l_Lean_Delaborator_delabSort___closed__14); -l_Lean_Delaborator_delabSort___closed__15 = _init_l_Lean_Delaborator_delabSort___closed__15(); -lean_mark_persistent(l_Lean_Delaborator_delabSort___closed__15); l___regBuiltin_Lean_Delaborator_delabSort___closed__1 = _init_l___regBuiltin_Lean_Delaborator_delabSort___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Delaborator_delabSort___closed__1); res = l___regBuiltin_Lean_Delaborator_delabSort(lean_io_mk_world()); diff --git a/stage0/stdlib/Lean/Elab/Definition.c b/stage0/stdlib/Lean/Elab/Definition.c index eaeb7d816c..808d62716a 100644 --- a/stage0/stdlib/Lean/Elab/Definition.c +++ b/stage0/stdlib/Lean/Elab/Definition.c @@ -20,6 +20,7 @@ lean_object* l_Lean_extractMacroScopes(lean_object*); lean_object* l_Lean_registerTraceClass(lean_object*, lean_object*); extern lean_object* l___private_Lean_Meta_ExprDefEq_8__checkTypesAndAssign___closed__7; lean_object* l_Lean_Elab_Command_addDecl(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_mkSort(lean_object*); lean_object* l_Lean_Elab_Term_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_unreachable_x21___rarg(lean_object*); lean_object* l_Lean_Elab_Command_withUsedWhen_x27___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -28,6 +29,7 @@ lean_object* l_Lean_Elab_Term_inferType(lean_object*, lean_object*, lean_object* lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Command_collectUsedFVarsAtFVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_iterateMAux___main___at_Lean_Elab_Command_elabDefLike___spec__5(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_Elab_Command_withUsedWhen_x27___rarg___closed__1; lean_object* l_Lean_Elab_Command_modifyScope___at_Lean_Elab_Command_elabDefLike___spec__2(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_elabDefLike___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_mkDef___lambda__1___closed__4; @@ -86,7 +88,6 @@ lean_object* l_Lean_Elab_Command_mkDef___lambda__1___boxed(lean_object*, lean_ob lean_object* lean_name_mk_string(lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_withUsedWhen(lean_object*); lean_object* l_Lean_Elab_Term_throwError___rarg(lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_Elab_Term_elabTypeStx___rarg___closed__1; lean_object* l_Lean_Elab_Command_collectUsedFVars(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Command_withUsedWhen___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Command_namespace___elambda__1___closed__1; @@ -137,6 +138,7 @@ uint8_t l_Lean_NameSet_contains(lean_object*, lean_object*); lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*); extern lean_object* l_ShareCommon_State_empty; lean_object* lean_state_sharecommon(lean_object*, lean_object*); +extern lean_object* l_Lean_levelOne; lean_object* lean_task_pure(lean_object*); lean_object* l___private_Lean_Elab_Command_12__addScopes___main(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_CollectLevelParams_main___main(lean_object*, lean_object*); @@ -1319,11 +1321,20 @@ lean_dec(x_1); return x_11; } } +lean_object* _init_l_Lean_Elab_Command_withUsedWhen_x27___rarg___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_levelOne; +x_2 = l_Lean_mkSort(x_1); +return x_2; +} +} lean_object* l_Lean_Elab_Command_withUsedWhen_x27___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, uint8_t x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) { _start: { lean_object* x_9; lean_object* x_10; -x_9 = l_Lean_Elab_Term_elabTypeStx___rarg___closed__1; +x_9 = l_Lean_Elab_Command_withUsedWhen_x27___rarg___closed__1; x_10 = l_Lean_Elab_Command_withUsedWhen___rarg(x_1, x_2, x_3, x_4, x_9, x_5, x_6, x_7, x_8); return x_10; } @@ -6885,6 +6896,8 @@ if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); l_Lean_Elab_Command_removeUnused___closed__1 = _init_l_Lean_Elab_Command_removeUnused___closed__1(); lean_mark_persistent(l_Lean_Elab_Command_removeUnused___closed__1); +l_Lean_Elab_Command_withUsedWhen_x27___rarg___closed__1 = _init_l_Lean_Elab_Command_withUsedWhen_x27___rarg___closed__1(); +lean_mark_persistent(l_Lean_Elab_Command_withUsedWhen_x27___rarg___closed__1); l_Lean_Elab_Command_mkDef___lambda__1___closed__1 = _init_l_Lean_Elab_Command_mkDef___lambda__1___closed__1(); lean_mark_persistent(l_Lean_Elab_Command_mkDef___lambda__1___closed__1); l_Lean_Elab_Command_mkDef___lambda__1___closed__2 = _init_l_Lean_Elab_Command_mkDef___lambda__1___closed__2(); diff --git a/stage0/stdlib/Lean/Elab/Quotation.c b/stage0/stdlib/Lean/Elab/Quotation.c index 9b416dca7f..ecc8cf320b 100644 --- a/stage0/stdlib/Lean/Elab/Quotation.c +++ b/stage0/stdlib/Lean/Elab/Quotation.c @@ -313,6 +313,7 @@ lean_object* l___private_Lean_Elab_Quotation_4__getHeadInfo___elambda__3___close lean_object* l_List_map___main___at_Lean_Elab_Term_Quotation_oldExpandMatchSyntax___spec__1(lean_object*); lean_object* l___private_Lean_Elab_Quotation_2__quoteSyntax___main___closed__41; lean_object* l___private_Lean_Elab_Quotation_2__quoteSyntax___main___closed__13; +extern lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__4; lean_object* l___private_Lean_Elab_Quotation_4__getHeadInfo___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Quotation_4__getHeadInfo___elambda__2(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Quotation_4__getHeadInfo___lambda__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -438,7 +439,6 @@ lean_object* l___private_Lean_Elab_Quotation_8__letBindRhss___main___closed__8; lean_object* lean_panic_fn(lean_object*, lean_object*); extern lean_object* l_Lean_setOptionFromString___closed__1; lean_object* l___private_Lean_Elab_Quotation_2__quoteSyntax___main___closed__28; -extern lean_object* l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__4; lean_object* l_ReaderT_pure___at_Lean_Elab_Term_Quotation_HeadInfo_Inhabited___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Quotation_2__quoteSyntax___main___closed__30; lean_object* l___private_Lean_Elab_Quotation_6__compileStxMatch___main___closed__11; @@ -1568,7 +1568,7 @@ x_9 = l___private_Lean_Syntax_8__quoteList___main___at___private_Lean_Elab_Quota x_10 = l_Lean_mkAppStx___closed__9; x_11 = lean_array_push(x_10, x_8); x_12 = lean_array_push(x_11, x_9); -x_13 = l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__4; +x_13 = l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__4; x_14 = l_Lean_mkCAppStx(x_13, x_12); x_15 = lean_array_push(x_10, x_14); x_16 = lean_array_push(x_15, x_5); diff --git a/stage0/stdlib/Lean/Elab/Term.c b/stage0/stdlib/Lean/Elab/Term.c index a930b6c1f4..fb9f47c632 100644 --- a/stage0/stdlib/Lean/Elab/Term.c +++ b/stage0/stdlib/Lean/Elab/Term.c @@ -48,7 +48,6 @@ lean_object* l_Lean_Elab_Term_mkTermElabAttribute___closed__4; lean_object* l_Lean_Syntax_isNatLitAux(lean_object*, lean_object*); extern lean_object* l___private_Lean_Meta_ExprDefEq_8__checkTypesAndAssign___closed__7; extern lean_object* l_Lean_Parser_Term_explicit___elambda__1___closed__2; -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabNum___boxed(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_declareBuiltinParser___closed__8; lean_object* l_Lean_Elab_Term_State_inhabited; @@ -56,6 +55,7 @@ extern lean_object* l_Lean_Parser_darrow___elambda__1___closed__1; lean_object* lean_mk_empty_array_with_capacity(lean_object*); lean_object* l_Lean_mkSort(lean_object*); lean_object* l_Lean_Elab_Term_instantiateMVars(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Term_20__resolveLocalNameAux___main(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___closed__9; lean_object* l_Lean_Elab_Term_mkFreshExprMVar(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Nat_HasQuote___closed__2; @@ -87,7 +87,6 @@ lean_object* l_Lean_Meta_mkForall(lean_object*, lean_object*, lean_object*, lean extern size_t l_PersistentHashMap_insertAux___main___rarg___closed__2; lean_object* l_Lean_Meta_mkAppM(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabParen(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__5; lean_object* l_Lean_Syntax_getIdAt(lean_object*, lean_object*); lean_object* l_ReaderT_read___at_Lean_Elab_Term_monadLog___spec__1(lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabQuotedName___closed__1; @@ -98,34 +97,32 @@ lean_object* l_Lean_Elab_Term_resettingSynthInstanceCacheWhen___rarg___boxed(lea lean_object* l_Lean_Elab_getPos___at_Lean_Elab_Term_throwError___spec__2___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Term_15__tryCoeSort___closed__7; uint8_t l_List_elem___main___at_Lean_NameHashSet_insert___spec__2(lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__5; lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabArrayLit___closed__2; extern lean_object* l_Lean_Parser_Term_type___elambda__1___closed__2; extern lean_object* l_Prod_HasRepr___rarg___closed__1; +lean_object* l___private_Lean_Elab_Term_22__mkFreshLevelMVars(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabUsingElabFns___closed__2; lean_object* l_Lean_Elab_Term_elabQuotedName___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_PersistentArray_foldlMAux___main___at___private_Lean_Elab_Term_3__fromMetaState___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Term_3__fromMetaState___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MacroScopesView_format(lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Term_21__mkFreshLevelMVars(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_setMCtx___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_Exception_toMessageData(lean_object*); -lean_object* l_List_foldlM___main___at___private_Lean_Elab_Term_22__mkConsts___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_PersistentHashMap_mkCollisionNode___rarg___closed__1; lean_object* l_Lean_mkMVar(lean_object*); extern lean_object* l_Array_empty___closed__1; lean_object* l___private_Lean_Elab_Term_11__elabUsingElabFnsAux___main(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); lean_object* lean_environment_find(lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Term_elabSort___rarg(lean_object*); lean_object* l_Lean_Elab_Term_tryCoe___closed__2; lean_object* l_Lean_Elab_Term_resolveName___closed__3; +lean_object* l___private_Lean_Elab_Term_20__resolveLocalNameAux(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_logAt___at_Lean_Elab_Term_logTrace___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_checkTraceOption(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_mkExplicitBinder___closed__2; -lean_object* l_Lean_Elab_Term_elabTypeStx___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Term_elabTypeStx___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_dbg_trace(lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Term_19__resolveLocalNameAux(lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabNum___closed__1; lean_object* l_Lean_Elab_Term_getEnv___boxed(lean_object*); lean_object* l_Lean_Elab_Term_throwErrorIfErrors___closed__2; @@ -140,7 +137,6 @@ lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___closed__6; lean_object* l_Lean_Elab_Term_getDecLevel(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_monadQuotation___closed__2; lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux___main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withoutPostponing(lean_object*); lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___closed__13; lean_object* l_Lean_Elab_Term_decLevel(lean_object*, lean_object*, lean_object*, lean_object*); @@ -165,6 +161,7 @@ lean_object* l_mkHashMap___at_Lean_Elab_Term_termElabAttribute___spec__2(lean_ob lean_object* l_Lean_Elab_Term_mkForallUsedOnly(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_inferType___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_monadLog___closed__7; +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabProp(lean_object*); lean_object* lean_string_append(lean_object*, lean_object*); extern lean_object* l_Lean_Meta_Exception_toStr___closed__1; @@ -183,6 +180,7 @@ lean_object* l_Lean_Elab_Term_logTrace___boxed(lean_object*, lean_object*, lean_ extern lean_object* l_Lean_Expr_getAppArgs___closed__1; lean_object* l___private_Lean_Elab_Term_9__exceptionToSorry___closed__1; lean_object* l_Lean_Elab_Term_mkFreshAnonymousName___rarg___closed__1; +lean_object* l___private_Lean_Elab_Term_21__resolveLocalName___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_isTypeFormer(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withIncRecDepth(lean_object*); lean_object* l_Lean_Elab_Level_elabLevel(lean_object*, lean_object*, lean_object*); @@ -191,9 +189,10 @@ lean_object* l_Lean_WHNF_unfoldDefinitionAux___at_Lean_Meta_unfoldDefinition_x3f lean_object* l___regBuiltin_Lean_Elab_Term_elabRawCharLit(lean_object*); extern lean_object* l_List_repr___rarg___closed__3; extern lean_object* l_Lean_unitToExpr___lambda__1___closed__3; +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_typeAscription___elambda__1___closed__2; lean_object* l_Lean_Elab_Term_throwError(lean_object*); -lean_object* l_Lean_Elab_Term_elabSort___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Term_elabSort___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getMCtx(lean_object*); size_t l_USize_shiftRight(size_t, size_t); lean_object* l_Lean_Elab_Term_withLCtx___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -202,7 +201,6 @@ lean_object* l_Lean_Elab_Term_synthesizeInst(lean_object*, lean_object*, lean_ob lean_object* l_Lean_Elab_Term_elabArrayLit___closed__6; lean_object* l_Lean_Elab_Term_monadLog___closed__10; lean_object* l_Lean_Elab_Term_resolveName___closed__6; -lean_object* l_Lean_Elab_Term_elabTypeStx___rarg(lean_object*); lean_object* lean_string_utf8_byte_size(lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabByTactic(lean_object*); lean_object* l_Lean_mkAtom(lean_object*); @@ -216,13 +214,13 @@ lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_obj lean_object* l_Lean_Elab_Term_withLetDecl___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_assignExprMVar(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getMainModule___rarg(lean_object*); -lean_object* l___private_Lean_Elab_Term_22__mkConsts___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_Exception_hasToString(lean_object*); lean_object* l_Lean_Elab_Term_elabParen___closed__5; lean_object* l_Lean_Elab_Term_mkTermElabAttribute___closed__5; extern lean_object* l_Lean_LocalContext_Inhabited___closed__1; lean_object* l_Lean_Elab_Term_resolveName___closed__5; lean_object* l_Lean_Elab_Term_mkFreshExprMVar___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Term_23__mkConsts___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_LVal_hasToString(lean_object*); lean_object* l_Lean_Elab_Term_elabImplicitLambda___main(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_Lean_Elab_MonadMacroAdapter___closed__7; @@ -233,6 +231,7 @@ lean_object* l_AssocList_find_x3f___main___at_Lean_Elab_Term_elabUsingElabFns___ extern lean_object* l_Lean_mkAppStx___closed__8; lean_object* l_Lean_Elab_Term_elabBadCDot___closed__1; lean_object* l_Lean_Elab_Term_MetaHasEval___rarg___closed__6; +extern lean_object* l_Lean_levelZero; lean_object* l_Lean_Elab_Term_mkExpectedTypeHint(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_TermElabResult_inhabited___closed__1; lean_object* l___private_Lean_Elab_Term_3__fromMetaState(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -263,13 +262,13 @@ lean_object* l___private_Lean_Elab_Term_7__isMonad_x3f___closed__1; lean_object* l___private_Lean_Elab_Term_11__elabUsingElabFnsAux___main___closed__3; lean_object* l_Lean_Elab_Term_elabParen___closed__1; lean_object* l_Lean_Elab_Term_addDecl(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Term_24__regTraceClasses___closed__1; lean_object* l___private_Lean_Elab_Term_15__tryCoeSort___closed__1; extern lean_object* l_Lean_mkTermIdFromIdent___closed__2; lean_object* l_Array_foldlStepMAux___main___at_Lean_Elab_Term_elabParen___spec__1(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_liftMetaM(lean_object*); extern lean_object* l_Lean_PersistentEnvExtension_inhabited___rarg___closed__1; lean_object* l___private_Lean_Elab_Term_7__isMonad_x3f___closed__2; -lean_object* l___private_Lean_Elab_Term_21__mkFreshLevelMVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t lean_metavar_ctx_is_expr_assigned(lean_object*, lean_object*); extern lean_object* l_Lean_LocalContext_Inhabited___closed__2; lean_object* l_Lean_Meta_isClass(lean_object*, lean_object*, lean_object*); @@ -289,6 +288,8 @@ lean_object* l_Lean_Elab_Term_monadLog___closed__5; extern lean_object* l_Lean_Parser_termParser___closed__1; lean_object* l_Lean_Elab_Term_withIncRecDepth___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_tryCoe(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Term_17__elabOptLevel___boxed(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__3; lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabParen___closed__4; lean_object* l_Lean_Elab_Term_withIncRecDepth___rarg___closed__2; @@ -296,6 +297,7 @@ lean_object* l_Lean_Elab_Term_elabLevel(lean_object*, lean_object*, lean_object* lean_object* l___regBuiltin_Lean_Elab_Term_elabNamedHole(lean_object*); lean_object* l_Lean_Elab_Term_Lean_Elab_MonadMacroAdapter___lambda__1(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_monadLog___closed__1; +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Syntax_isCharLit_x3f(lean_object*); lean_object* l_Array_isEqvAux___main___at_Lean_Elab_Term_withMVarContext___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_fget(lean_object*, lean_object*); @@ -322,6 +324,7 @@ lean_object* l_Lean_Elab_Term_State_inhabited___closed__1; lean_object* l_Lean_Elab_Term_MetaHasEval___rarg___closed__4; extern lean_object* l_Lean_EnvExtension_Inhabited___rarg___closed__1; lean_object* l_Lean_Elab_Term_dbgTrace(lean_object*); +lean_object* l___private_Lean_Elab_Term_22__mkFreshLevelMVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabArrayLit___closed__11; lean_object* l_Lean_Elab_Term_decLevel_x3f(lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_numLitKind; @@ -342,6 +345,7 @@ lean_object* l_Lean_Elab_Term_isExprMVarAssigned___boxed(lean_object*, lean_obje lean_object* l_Lean_Elab_Term_elabProp___rarg(lean_object*); lean_object* l_Lean_Syntax_isStrLit_x3f(lean_object*); lean_object* l___private_Lean_Elab_Term_15__tryCoeSort___closed__2; +lean_object* l___private_Lean_Elab_Term_23__mkConsts(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_termElabAttribute___closed__1; lean_object* l___private_Lean_Elab_Term_5__expandCDot___main___closed__3; lean_object* l_Lean_Elab_Term_mkFreshInstanceName(lean_object*); @@ -349,7 +353,6 @@ lean_object* l_Lean_Elab_Term_elabChar___boxed(lean_object*, lean_object*, lean_ lean_object* l___private_Lean_Elab_Term_11__elabUsingElabFnsAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_append___main(lean_object*, lean_object*); extern lean_object* l_Lean_PersistentEnvExtension_inhabited___rarg___closed__2; -lean_object* l___private_Lean_Elab_Term_22__mkConsts(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_synthesizeInstMVarCore___closed__3; lean_object* l_Lean_Elab_mkMessageCore(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*); extern lean_object* l_Lean_Parser_Term_quotedName___elambda__1___closed__2; @@ -360,7 +363,6 @@ lean_object* l_Lean_KernelException_toMessageData(lean_object*, lean_object*); lean_object* l_Array_umapMAux___main___at___private_Lean_Elab_Term_5__expandCDot___main___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabStr___boxed(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Array_anyRangeMAux___main___at___private_Lean_Elab_Term_14__isLambdaWithImplicit___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__2; lean_object* l_Lean_Elab_Term_mkConst___closed__2; lean_object* l_Lean_Elab_Term_isType(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_setEnv___boxed(lean_object*, lean_object*, lean_object*); @@ -368,7 +370,6 @@ lean_object* l___private_Lean_Elab_Term_5__expandCDot___main(lean_object*, lean_ lean_object* l_Lean_Elab_Term_elabTerm(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabQuotedName(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_tryLiftAndCoe___closed__1; -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__1; lean_object* l_Lean_Elab_Term_TermElabM_inhabited(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_mkInstMVar(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* lean_array_get(lean_object*, lean_object*, lean_object*); @@ -387,7 +388,6 @@ lean_object* l_Lean_SMap_empty___at_Lean_Elab_Term_termElabAttribute___spec__1__ lean_object* l_Lean_Elab_Term_tryLiftAndCoe___closed__2; lean_object* lean_array_fset(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_mkConst___closed__4; -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux___main___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_List_lengthAux___main___rarg(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkForallUsedOnly(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabNum(lean_object*); @@ -398,7 +398,7 @@ lean_object* l_Lean_Elab_Term_monadQuotation___closed__1; lean_object* l_Array_anyRangeMAux___main___at___private_Lean_Elab_Term_4__hasCDot___main___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Term_5__expandCDot___main___closed__2; uint8_t l_Lean_Elab_Term_blockImplicitLambda(lean_object*); -lean_object* l_Lean_Elab_Term_elabTypeStx(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Term_elabTypeStx(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_throwTypeMismatchError___rarg___closed__3; lean_object* l_Lean_Elab_Term_monadLog___closed__6; extern lean_object* l_Lean_strLitKind___closed__2; @@ -446,7 +446,6 @@ lean_object* l_Lean_Elab_Term_mkExplicitBinder___closed__5; lean_object* l___private_Lean_Elab_Term_5__expandCDot___main___closed__4; lean_object* l_Lean_Elab_Term_monadLog___lambda__2___boxed(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_fun___elambda__1___closed__2; -lean_object* l_Lean_Elab_Term_elabTypeStx___rarg___closed__1; extern lean_object* l_Lean_Elab_Exception_hasToString___closed__1; lean_object* l___private_Lean_Elab_Term_5__expandCDot___main___closed__1; extern lean_object* l_PersistentArray_empty___closed__3; @@ -454,13 +453,14 @@ lean_object* l_Lean_Elab_Term_resolveName(lean_object*, lean_object*, lean_objec lean_object* l___regBuiltin_Lean_Elab_Term_elabRawNumLit(lean_object*); lean_object* l_Lean_Elab_Term_elabProp___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getCurrMacroScope(lean_object*, lean_object*); -lean_object* l_Nat_foldMAux___main___at___private_Lean_Elab_Term_21__mkFreshLevelMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_MetavarContext_assignExpr(lean_object*, lean_object*, lean_object*); +lean_object* l_Nat_foldMAux___main___at___private_Lean_Elab_Term_22__mkFreshLevelMVars___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Environment_contains(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_applyResult___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_monadQuotation___closed__4; lean_object* l_Lean_Elab_Term_withLocalDecl___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getMainModule(lean_object*); +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__4; lean_object* l_Lean_Elab_Term_throwUnsupportedSyntax___boxed(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_mkTermElabAttribute(lean_object*); extern lean_object* l_Lean_numLitKind___closed__2; @@ -492,10 +492,8 @@ lean_object* l_Lean_Elab_addMacroStack(lean_object*, lean_object*); lean_object* l_Lean_LocalDecl_toExpr(lean_object*); extern lean_object* l_Lean_firstFrontendMacroScope; lean_object* l_Lean_Elab_Term_elabTermAux(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*); -lean_object* l_Nat_foldMAux___main___at___private_Lean_Elab_Term_21__mkFreshLevelMVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_AssocList_find_x3f___main___at_Lean_Elab_Term_elabUsingElabFns___spec__6___boxed(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_termElabAttribute___closed__5; -lean_object* l___private_Lean_Elab_Term_18__elabCDot(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_mkElabAttribute___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabRawNumLit___closed__1; lean_object* l_Lean_Elab_mkMessageAt___at_Lean_Elab_Term_throwError___spec__3(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); @@ -505,7 +503,6 @@ lean_object* l_Lean_Elab_Term_getCurrNamespace___boxed(lean_object*, lean_object extern lean_object* l___private_Lean_Elab_Util_4__regTraceClasses___closed__1; lean_object* l___private_Lean_Elab_Term_1__mkMessageAux(lean_object*, lean_object*, lean_object*, uint8_t); lean_object* l_Lean_Elab_Term_getLocalInsts(lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__6; lean_object* l_Lean_Elab_Term_mkFreshInstanceName___rarg(lean_object*); lean_object* l_Lean_Meta_whnf(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_isClass(lean_object*, lean_object*, lean_object*, lean_object*); @@ -520,7 +517,6 @@ lean_object* l_Lean_Elab_Term_elabArrayLit___closed__4; uint8_t l_Lean_Expr_Data_binderInfo(uint64_t); lean_object* l_Lean_Elab_Term_TermElabM_inhabited___boxed(lean_object*, lean_object*); lean_object* l_Lean_Meta_mkPure(lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Term_20__resolveLocalName(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_mkFreshAnonymousIdent___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabRawNumLit(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_SMap_find_x3f___at_Lean_Elab_Term_elabUsingElabFns___spec__1(lean_object*, lean_object*); @@ -555,6 +551,7 @@ lean_object* l_Lean_Elab_Term_monadLog___closed__2; extern lean_object* l_Lean_Meta_Exception_toStr___closed__7; lean_object* l_Lean_Elab_Term_dropTermParens___main(lean_object*); lean_object* l_Lean_Elab_Term_logDbgTrace___closed__1; +lean_object* l___private_Lean_Elab_Term_19__elabCDot(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Array_foldlStepMAux___main___at_Lean_Elab_Term_elabParen___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getDeclName_x3f___boxed(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_isDefEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -566,7 +563,6 @@ lean_object* lean_local_ctx_mk_local_decl(lean_object*, lean_object*, lean_objec lean_object* l_Lean_Elab_Term_mkFreshAnonymousName(lean_object*); lean_object* l_Lean_Elab_Term_withLCtx(lean_object*); extern lean_object* l_Option_HasRepr___rarg___closed__3; -lean_object* l___private_Lean_Elab_Term_19__resolveLocalNameAux___main(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withoutPostponing___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Parser_Term_prop___elambda__1___closed__2; lean_object* l_Lean_Elab_Term_savingMCtx(lean_object*); @@ -588,6 +584,7 @@ lean_object* l___private_Lean_Elab_Term_16__mkAuxNameAux___main(lean_object*, le lean_object* l_Lean_Elab_Term_setMCtx(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabStr(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_MetaHasEval___rarg___closed__1; +lean_object* l_Lean_mkLevelSucc(lean_object*); lean_object* l_Lean_Elab_Term_getLCtx(lean_object*, lean_object*); uint8_t l___private_Lean_Elab_Term_4__hasCDot___main(lean_object*); lean_object* l_Lean_Elab_Term_traceAtCmdPos(lean_object*, lean_object*, lean_object*, lean_object*); @@ -625,7 +622,6 @@ lean_object* l_Lean_Elab_Term_withTransparency___rarg___boxed(lean_object*, lean extern lean_object* l_Lean_Parser_Term_paren___elambda__1___closed__1; uint8_t l___private_Lean_Elab_Term_12__isExplicit(lean_object*); extern lean_object* l_Lean_Meta_evalNat___main___closed__9; -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__4; lean_object* l___private_Lean_Elab_Term_11__elabUsingElabFnsAux(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_tryLiftAndCoe___closed__6; lean_object* l_Lean_Elab_Term_savingMCtx___rarg(lean_object*, lean_object*, lean_object*); @@ -666,7 +662,7 @@ lean_object* l_Lean_Elab_Term_unfoldDefinition_x3f___boxed(lean_object*, lean_ob extern lean_object* l_Lean_Meta_evalNat___main___closed__8; lean_object* l_Lean_Elab_Term_mkExplicitBinder(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_isDefEqNoConstantApprox___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l_Lean_Elab_Term_elabSort(lean_object*, lean_object*, lean_object*); +lean_object* l_Lean_Elab_Term_elabSort(lean_object*, lean_object*, lean_object*, lean_object*); uint8_t l_Lean_Elab_Term_levelMVarToParam___lambda__1(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Term_16__mkAuxNameAux(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_adaptExpander(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -688,6 +684,7 @@ lean_object* l_Lean_Elab_Term_whnfForall(lean_object*, lean_object*, lean_object lean_object* l_Lean_Elab_Term_instantiateMVars___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getDecLevel___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withFreshMacroScope___rarg(lean_object*, lean_object*, lean_object*); +uint8_t l_Lean_Syntax_isNone(lean_object*); extern lean_object* l_Lean_TraceState_Inhabited___closed__1; lean_object* l_Lean_Meta_inferType(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_resetSynthInstanceCache___rarg(lean_object*); @@ -696,6 +693,7 @@ lean_object* l_Lean_Elab_resolveGlobalName(lean_object*, lean_object*, lean_obje lean_object* l_Lean_Elab_Term_getEnv(lean_object*); lean_object* l_Lean_Elab_Term_getOpenDecls(lean_object*, lean_object*); lean_object* l_Lean_Meta_isExprDefEq(lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__6; lean_object* l_Lean_mkTermIdFrom(lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabRawCharLit___closed__1; extern lean_object* l_Lean_FileMap_Inhabited___closed__1; @@ -713,6 +711,7 @@ extern lean_object* l_Lean_KernelException_toMessageData___closed__12; lean_object* l_Lean_Elab_Term_monadLog___closed__11; lean_object* l_Lean_Elab_Term_mkTacticMVar___closed__2; lean_object* l_Lean_Meta_instantiateMVars(lean_object*, lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Term_21__resolveLocalName(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_mkExplicitBinder___closed__1; uint8_t l___private_Lean_Elab_Term_13__isExplicitApp(lean_object*); lean_object* l_Lean_Elab_Term_elabImplicitLambda___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -726,6 +725,7 @@ lean_object* l_Lean_Elab_Term_withLetDecl___rarg___boxed(lean_object*, lean_obje lean_object* l_Lean_Elab_mkMessage___at_Lean_Elab_Term_throwError___spec__1(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getOpenDecls___boxed(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getTraceState___boxed(lean_object*); +lean_object* l_List_foldlM___main___at___private_Lean_Elab_Term_23__mkConsts___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_throwTypeMismatchError___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_withLetDecl(lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabListLit___closed__1; @@ -735,7 +735,6 @@ lean_object* l_Lean_Elab_Term_withoutMacroStackAtErr___rarg(lean_object*, lean_o lean_object* l_Lean_Elab_Term_resettingSynthInstanceCache___rarg(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_mkHole___closed__2; lean_object* l_Lean_Elab_Term_withLocalDecl(lean_object*); -lean_object* l_List_foldlM___main___at___private_Lean_Elab_Term_22__mkConsts___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_resolveName___closed__2; extern lean_object* l_Lean_Expr_arrayLit_x3f___closed__2; lean_object* l___private_Init_Data_Array_Basic_3__iterateRevMAux___main___at_Lean_Elab_Term_elabListLit___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); @@ -746,7 +745,6 @@ lean_object* l_Lean_Elab_Term_isDefEq___boxed(lean_object*, lean_object*, lean_o lean_object* l_Lean_Elab_Term_decLevel___boxed(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_getLCtx___boxed(lean_object*, lean_object*); lean_object* l_PersistentHashMap_findAtAux___main___at_Lean_Elab_Term_elabUsingElabFns___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__3; lean_object* l_Lean_Elab_Term_mkFreshLevelMVar___boxed(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabByTactic___closed__1; lean_object* l_Lean_Elab_Term_ppGoal(lean_object*, lean_object*, lean_object*, lean_object*); @@ -757,10 +755,10 @@ lean_object* l_Lean_Elab_Term_mkPairs(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_throwErrorIfErrors(lean_object*, lean_object*); lean_object* l_PersistentHashMap_findAux___main___at_Lean_Elab_Term_elabUsingElabFns___spec__3(lean_object*, size_t, lean_object*); lean_object* l_Lean_Elab_Term_monadLog___lambda__3(lean_object*, lean_object*, lean_object*); -lean_object* l___private_Lean_Elab_Term_20__resolveLocalName___boxed(lean_object*, lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Term_10__postponeElabTerm___closed__1; lean_object* l___private_Lean_Elab_Term_15__tryCoeSort___closed__6; lean_object* l_Lean_Elab_Term_monadQuotation___closed__3; +lean_object* l_Nat_foldMAux___main___at___private_Lean_Elab_Term_22__mkFreshLevelMVars___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_setEnv(lean_object*, lean_object*, lean_object*); lean_object* l_Array_iterateMAux___main___at___private_Lean_Elab_Term_3__fromMetaState___spec__5(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Meta_mkFreshLevelMVar___rarg(lean_object*); @@ -780,6 +778,7 @@ extern lean_object* l_Lean_Parser_Term_listLit___elambda__1___closed__2; lean_object* l___regBuiltin_Lean_Elab_Term_elabTacticBlock___closed__1; uint8_t l_Lean_LocalInstance_beq(lean_object*, lean_object*); lean_object* l___private_Lean_Elab_Term_11__elabUsingElabFnsAux___main___closed__1; +lean_object* l___private_Lean_Elab_Term_24__regTraceClasses(lean_object*); uint8_t l_PersistentArray_anyM___at_Lean_MessageLog_hasErrors___spec__1(lean_object*); lean_object* lean_compile_decl(lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_Meta_resettingSynthInstanceCache___rarg___closed__1; @@ -804,16 +803,15 @@ lean_object* l_Lean_Elab_Term_getMCtx___boxed(lean_object*); lean_object* l_PersistentHashMap_find_x3f___at_Lean_Elab_Term_elabUsingElabFns___spec__2(lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_applyResult(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Name_toStringWithSep___main(lean_object*, lean_object*); +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__2; lean_object* l_Lean_Meta_isTypeFormer(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_MetaHasEval___rarg___closed__3; -lean_object* l___private_Lean_Elab_Term_23__regTraceClasses(lean_object*); lean_object* l_Lean_Elab_Term_mkTacticMVar(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabRawStrLit___closed__1; lean_object* l_PersistentArray_forM___at___private_Lean_Parser_Module_4__testModuleParserAux___main___spec__6(lean_object*, lean_object*, lean_object*); lean_object* lean_usize_to_nat(size_t); extern lean_object* l_Lean_Elab_mkMacroAttribute___closed__2; uint8_t l_Array_isEqvAux___main___at_Lean_Elab_Term_withMVarContext___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); -extern lean_object* l_Lean_levelOne; lean_object* l_ReaderT_lift___at_Lean_Elab_Term_Lean_Elab_MonadMacroAdapter___spec__1___rarg(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Message_toString(lean_object*); lean_object* l_Lean_Elab_Term_mkAuxName___boxed(lean_object*, lean_object*, lean_object*, lean_object*); @@ -823,8 +821,8 @@ lean_object* l___private_Lean_Elab_Term_11__elabUsingElabFnsAux___main___boxed(l lean_object* l_Lean_Elab_Term_isLocalTermId_x3f(lean_object*, uint8_t, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_MetaHasEval___rarg___closed__5; lean_object* l_Lean_indentExpr(lean_object*); +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_Lean_Elab_MonadMacroAdapter___closed__8; -lean_object* l___private_Lean_Elab_Term_23__regTraceClasses___closed__1; lean_object* l_Lean_Elab_Term_trace(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_elabRawCharLit___closed__2; lean_object* l_Lean_Elab_Term_mkFreshInstanceName___boxed(lean_object*); @@ -833,6 +831,7 @@ lean_object* l_Lean_Elab_Term_resolveName___boxed(lean_object*, lean_object*, le lean_object* l_Lean_Elab_Term_mkExplicitBinder___closed__6; lean_object* l___private_Lean_Elab_Term_2__fromMetaException(lean_object*, lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Elab_Term_elabArrayLit(lean_object*); +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__1; lean_object* l_Lean_Elab_Term_resolveName___closed__1; lean_object* l_Lean_Elab_Term_mkAuxName___closed__1; lean_object* l_Lean_Elab_Term_resettingSynthInstanceCache(lean_object*); @@ -846,8 +845,10 @@ lean_object* l_Lean_Elab_Term_tryLiftAndCoe___closed__5; lean_object* l_Lean_Elab_Term_tryPostponeIfNoneOrMVar___boxed(lean_object*, lean_object*, lean_object*); lean_object* lean_uint32_to_nat(uint32_t); lean_object* l_Lean_Elab_Term_throwTypeMismatchError___rarg___closed__1; +lean_object* l___private_Lean_Elab_Term_17__elabOptLevel(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Elab_Term_mkTacticMVar___closed__1; lean_object* l_Lean_Elab_Term_throwTypeMismatchError___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); +lean_object* l_List_foldlM___main___at___private_Lean_Elab_Term_23__mkConsts___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Lean_PersistentEnvExtension_inhabited___rarg___closed__4; extern lean_object* l_EStateM_MonadState___closed__2; extern lean_object* l_Lean_Parser_Term_arrayLit___elambda__1___closed__2; @@ -24932,41 +24933,115 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } -lean_object* l_Lean_Elab_Term_elabSort___rarg(lean_object* x_1) { +lean_object* l___private_Lean_Elab_Term_17__elabOptLevel(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { -lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Expr_getAppArgs___closed__1; -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; +uint8_t x_4; +x_4 = l_Lean_Syntax_isNone(x_1); +if (x_4 == 0) +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_5 = lean_unsigned_to_nat(0u); +x_6 = l_Lean_Syntax_getArg(x_1, x_5); +x_7 = l_Lean_Elab_Term_elabLevel(x_6, x_2, x_3); +return x_7; +} +else +{ +lean_object* x_8; lean_object* x_9; +x_8 = l_Lean_levelZero; +x_9 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_9, 0, x_8); +lean_ctor_set(x_9, 1, x_3); +return x_9; } } -lean_object* l_Lean_Elab_Term_elabSort(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +} +lean_object* l___private_Lean_Elab_Term_17__elabOptLevel___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabSort___rarg), 1, 0); -return x_4; -} -} -lean_object* l_Lean_Elab_Term_elabSort___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_Lean_Elab_Term_elabSort(x_1, x_2, x_3); -lean_dec(x_3); +x_4 = l___private_Lean_Elab_Term_17__elabOptLevel(x_1, x_2, x_3); lean_dec(x_2); lean_dec(x_1); return x_4; } } +lean_object* l_Lean_Elab_Term_elabSort(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_5 = lean_unsigned_to_nat(1u); +x_6 = l_Lean_Syntax_getArg(x_1, x_5); +x_7 = l___private_Lean_Elab_Term_17__elabOptLevel(x_6, x_3, x_4); +lean_dec(x_6); +if (lean_obj_tag(x_7) == 0) +{ +uint8_t x_8; +x_8 = !lean_is_exclusive(x_7); +if (x_8 == 0) +{ +lean_object* x_9; lean_object* x_10; +x_9 = lean_ctor_get(x_7, 0); +x_10 = l_Lean_mkSort(x_9); +lean_ctor_set(x_7, 0, x_10); +return x_7; +} +else +{ +lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; +x_11 = lean_ctor_get(x_7, 0); +x_12 = lean_ctor_get(x_7, 1); +lean_inc(x_12); +lean_inc(x_11); +lean_dec(x_7); +x_13 = l_Lean_mkSort(x_11); +x_14 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_14, 0, x_13); +lean_ctor_set(x_14, 1, x_12); +return x_14; +} +} +else +{ +uint8_t x_15; +x_15 = !lean_is_exclusive(x_7); +if (x_15 == 0) +{ +return x_7; +} +else +{ +lean_object* x_16; lean_object* x_17; lean_object* x_18; +x_16 = lean_ctor_get(x_7, 0); +x_17 = lean_ctor_get(x_7, 1); +lean_inc(x_17); +lean_inc(x_16); +lean_dec(x_7); +x_18 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_18, 0, x_16); +lean_ctor_set(x_18, 1, x_17); +return x_18; +} +} +} +} +lean_object* l_Lean_Elab_Term_elabSort___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +_start: +{ +lean_object* x_5; +x_5 = l_Lean_Elab_Term_elabSort(x_1, x_2, x_3, x_4); +lean_dec(x_3); +lean_dec(x_2); +lean_dec(x_1); +return x_5; +} +} lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabSort___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabSort___boxed), 3, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabSort___boxed), 4, 0); return x_1; } } @@ -24981,50 +25056,83 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } -lean_object* _init_l_Lean_Elab_Term_elabTypeStx___rarg___closed__1() { +lean_object* l_Lean_Elab_Term_elabTypeStx(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_1; lean_object* x_2; -x_1 = l_Lean_levelOne; -x_2 = l_Lean_mkSort(x_1); -return x_2; +lean_object* x_5; lean_object* x_6; lean_object* x_7; +x_5 = lean_unsigned_to_nat(1u); +x_6 = l_Lean_Syntax_getArg(x_1, x_5); +x_7 = l___private_Lean_Elab_Term_17__elabOptLevel(x_6, x_3, x_4); +lean_dec(x_6); +if (lean_obj_tag(x_7) == 0) +{ +uint8_t x_8; +x_8 = !lean_is_exclusive(x_7); +if (x_8 == 0) +{ +lean_object* x_9; lean_object* x_10; lean_object* x_11; +x_9 = lean_ctor_get(x_7, 0); +x_10 = l_Lean_mkLevelSucc(x_9); +x_11 = l_Lean_mkSort(x_10); +lean_ctor_set(x_7, 0, x_11); +return x_7; +} +else +{ +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; +x_12 = lean_ctor_get(x_7, 0); +x_13 = lean_ctor_get(x_7, 1); +lean_inc(x_13); +lean_inc(x_12); +lean_dec(x_7); +x_14 = l_Lean_mkLevelSucc(x_12); +x_15 = l_Lean_mkSort(x_14); +x_16 = lean_alloc_ctor(0, 2, 0); +lean_ctor_set(x_16, 0, x_15); +lean_ctor_set(x_16, 1, x_13); +return x_16; } } -lean_object* l_Lean_Elab_Term_elabTypeStx___rarg(lean_object* x_1) { +else +{ +uint8_t x_17; +x_17 = !lean_is_exclusive(x_7); +if (x_17 == 0) +{ +return x_7; +} +else +{ +lean_object* x_18; lean_object* x_19; lean_object* x_20; +x_18 = lean_ctor_get(x_7, 0); +x_19 = lean_ctor_get(x_7, 1); +lean_inc(x_19); +lean_inc(x_18); +lean_dec(x_7); +x_20 = lean_alloc_ctor(1, 2, 0); +lean_ctor_set(x_20, 0, x_18); +lean_ctor_set(x_20, 1, x_19); +return x_20; +} +} +} +} +lean_object* l_Lean_Elab_Term_elabTypeStx___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { -lean_object* x_2; lean_object* x_3; -x_2 = l_Lean_Elab_Term_elabTypeStx___rarg___closed__1; -x_3 = lean_alloc_ctor(0, 2, 0); -lean_ctor_set(x_3, 0, x_2); -lean_ctor_set(x_3, 1, x_1); -return x_3; -} -} -lean_object* l_Lean_Elab_Term_elabTypeStx(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabTypeStx___rarg), 1, 0); -return x_4; -} -} -lean_object* l_Lean_Elab_Term_elabTypeStx___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { -_start: -{ -lean_object* x_4; -x_4 = l_Lean_Elab_Term_elabTypeStx(x_1, x_2, x_3); +lean_object* x_5; +x_5 = l_Lean_Elab_Term_elabTypeStx(x_1, x_2, x_3, x_4); lean_dec(x_3); lean_dec(x_2); lean_dec(x_1); -return x_4; +return x_5; } } lean_object* _init_l___regBuiltin_Lean_Elab_Term_elabTypeStx___closed__1() { _start: { lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabTypeStx___boxed), 3, 0); +x_1 = lean_alloc_closure((void*)(l_Lean_Elab_Term_elabTypeStx___boxed), 4, 0); return x_1; } } @@ -25318,7 +25426,7 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } -lean_object* _init_l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__1() { +lean_object* _init_l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__1() { _start: { lean_object* x_1; @@ -25326,22 +25434,22 @@ x_1 = lean_mk_string("Prod.mk"); return x_1; } } -lean_object* _init_l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__2() { +lean_object* _init_l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__2() { _start: { lean_object* x_1; lean_object* x_2; -x_1 = l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__1; +x_1 = l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__1; x_2 = lean_string_utf8_byte_size(x_1); return x_2; } } -lean_object* _init_l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__3() { +lean_object* _init_l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__3() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; -x_1 = l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__1; +x_1 = l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__1; x_2 = lean_unsigned_to_nat(0u); -x_3 = l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__2; +x_3 = l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__2; x_4 = lean_alloc_ctor(0, 3, 0); lean_ctor_set(x_4, 0, x_1); lean_ctor_set(x_4, 1, x_2); @@ -25349,7 +25457,7 @@ lean_ctor_set(x_4, 2, x_3); return x_4; } } -lean_object* _init_l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__4() { +lean_object* _init_l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__4() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -25359,31 +25467,31 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* _init_l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__5() { +lean_object* _init_l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; x_1 = lean_box(0); -x_2 = l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__4; +x_2 = l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__4; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_2); lean_ctor_set(x_3, 1, x_1); return x_3; } } -lean_object* _init_l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__6() { +lean_object* _init_l___private_Lean_Elab_Term_18__mkPairsAux___main___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_Elab_Term_17__mkPairsAux___main___closed__5; +x_2 = l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__5; 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* l___private_Lean_Elab_Term_17__mkPairsAux___main(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main(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; uint8_t x_7; @@ -25411,11 +25519,11 @@ x_13 = lean_ctor_get(x_4, 1); lean_inc(x_13); x_14 = lean_ctor_get(x_4, 0); lean_inc(x_14); -x_15 = l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__4; +x_15 = l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__4; x_16 = l_Lean_addMacroScope(x_14, x_15, x_13); x_17 = l_Lean_SourceInfo_inhabited___closed__1; -x_18 = l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__3; -x_19 = l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__6; +x_18 = l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__3; +x_19 = l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__6; x_20 = lean_alloc_ctor(3, 4, 0); lean_ctor_set(x_20, 0, x_17); lean_ctor_set(x_20, 1, x_18); @@ -25447,28 +25555,28 @@ goto _start; } } } -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux___main___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___main___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_Term_17__mkPairsAux___main(x_1, x_2, x_3, x_4, x_5); +x_6 = l___private_Lean_Elab_Term_18__mkPairsAux___main(x_1, x_2, x_3, x_4, x_5); lean_dec(x_1); return x_6; } } -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux(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_Term_17__mkPairsAux___main(x_1, x_2, x_3, x_4, x_5); +x_6 = l___private_Lean_Elab_Term_18__mkPairsAux___main(x_1, x_2, x_3, x_4, x_5); return x_6; } } -lean_object* l___private_Lean_Elab_Term_17__mkPairsAux___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l___private_Lean_Elab_Term_18__mkPairsAux___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_Term_17__mkPairsAux(x_1, x_2, x_3, x_4, x_5); +x_6 = l___private_Lean_Elab_Term_18__mkPairsAux(x_1, x_2, x_3, x_4, x_5); lean_dec(x_1); return x_6; } @@ -25482,7 +25590,7 @@ x_5 = lean_unsigned_to_nat(1u); x_6 = lean_nat_sub(x_4, x_5); lean_dec(x_4); x_7 = l_Array_back___at_Lean_Parser_checkStackTopFn___spec__1(x_1); -x_8 = l___private_Lean_Elab_Term_17__mkPairsAux___main(x_1, x_6, x_7, x_2, x_3); +x_8 = l___private_Lean_Elab_Term_18__mkPairsAux___main(x_1, x_6, x_7, x_2, x_3); return x_8; } } @@ -25495,7 +25603,7 @@ lean_dec(x_1); return x_4; } } -lean_object* l___private_Lean_Elab_Term_18__elabCDot(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l___private_Lean_Elab_Term_19__elabCDot(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; lean_object* x_6; lean_object* x_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; @@ -26046,7 +26154,7 @@ else { lean_object* x_53; lean_dec(x_1); -x_53 = l___private_Lean_Elab_Term_18__elabCDot(x_41, x_2, x_3, x_4); +x_53 = l___private_Lean_Elab_Term_19__elabCDot(x_41, x_2, x_3, x_4); return x_53; } } @@ -26133,7 +26241,7 @@ x_112 = lean_alloc_ctor(1, 1, 0); lean_ctor_set(x_112, 0, x_110); lean_inc(x_3); lean_inc(x_112); -x_113 = l___private_Lean_Elab_Term_18__elabCDot(x_41, x_112, x_3, x_111); +x_113 = l___private_Lean_Elab_Term_19__elabCDot(x_41, x_112, x_3, x_111); if (lean_obj_tag(x_113) == 0) { lean_object* x_114; lean_object* x_115; lean_object* x_116; @@ -26799,7 +26907,7 @@ x_5 = l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(x_2, x_3, x_4, x_1); return x_5; } } -lean_object* l___private_Lean_Elab_Term_19__resolveLocalNameAux___main(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l___private_Lean_Elab_Term_20__resolveLocalNameAux___main(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; @@ -26869,15 +26977,15 @@ return x_17; } } } -lean_object* l___private_Lean_Elab_Term_19__resolveLocalNameAux(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l___private_Lean_Elab_Term_20__resolveLocalNameAux(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l___private_Lean_Elab_Term_19__resolveLocalNameAux___main(x_1, x_2, x_3); +x_4 = l___private_Lean_Elab_Term_20__resolveLocalNameAux___main(x_1, x_2, x_3); return x_4; } } -lean_object* l___private_Lean_Elab_Term_20__resolveLocalName(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l___private_Lean_Elab_Term_21__resolveLocalName(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; uint8_t x_5; @@ -26888,7 +26996,7 @@ if (x_5 == 0) lean_object* x_6; lean_object* x_7; lean_object* x_8; x_6 = lean_ctor_get(x_4, 0); x_7 = lean_box(0); -x_8 = l___private_Lean_Elab_Term_19__resolveLocalNameAux___main(x_6, x_1, x_7); +x_8 = l___private_Lean_Elab_Term_20__resolveLocalNameAux___main(x_6, x_1, x_7); lean_ctor_set(x_4, 0, x_8); return x_4; } @@ -26901,7 +27009,7 @@ lean_inc(x_10); lean_inc(x_9); lean_dec(x_4); x_11 = lean_box(0); -x_12 = l___private_Lean_Elab_Term_19__resolveLocalNameAux___main(x_9, x_1, x_11); +x_12 = l___private_Lean_Elab_Term_20__resolveLocalNameAux___main(x_9, x_1, 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_10); @@ -26909,11 +27017,11 @@ return x_13; } } } -lean_object* l___private_Lean_Elab_Term_20__resolveLocalName___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { +lean_object* l___private_Lean_Elab_Term_21__resolveLocalName___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) { _start: { lean_object* x_4; -x_4 = l___private_Lean_Elab_Term_20__resolveLocalName(x_1, x_2, x_3); +x_4 = l___private_Lean_Elab_Term_21__resolveLocalName(x_1, x_2, x_3); lean_dec(x_2); return x_4; } @@ -26947,7 +27055,7 @@ lean_object* x_10; lean_object* x_11; lean_object* x_12; x_10 = lean_ctor_get(x_9, 2); lean_inc(x_10); lean_dec(x_9); -x_11 = l___private_Lean_Elab_Term_20__resolveLocalName(x_10, x_3, x_4); +x_11 = l___private_Lean_Elab_Term_21__resolveLocalName(x_10, x_3, x_4); x_12 = lean_ctor_get(x_11, 0); lean_inc(x_12); if (lean_obj_tag(x_12) == 0) @@ -27134,7 +27242,7 @@ lean_dec(x_3); return x_6; } } -lean_object* l_Nat_foldMAux___main___at___private_Lean_Elab_Term_21__mkFreshLevelMVars___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* l_Nat_foldMAux___main___at___private_Lean_Elab_Term_22__mkFreshLevelMVars___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_7; uint8_t x_8; @@ -27173,32 +27281,32 @@ return x_16; } } } -lean_object* l___private_Lean_Elab_Term_21__mkFreshLevelMVars(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l___private_Lean_Elab_Term_22__mkFreshLevelMVars(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 = lean_box(0); lean_inc(x_2); -x_6 = l_Nat_foldMAux___main___at___private_Lean_Elab_Term_21__mkFreshLevelMVars___spec__1(x_1, x_2, x_2, x_5, x_3, x_4); +x_6 = l_Nat_foldMAux___main___at___private_Lean_Elab_Term_22__mkFreshLevelMVars___spec__1(x_1, x_2, x_2, x_5, x_3, x_4); lean_dec(x_2); return x_6; } } -lean_object* l_Nat_foldMAux___main___at___private_Lean_Elab_Term_21__mkFreshLevelMVars___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* l_Nat_foldMAux___main___at___private_Lean_Elab_Term_22__mkFreshLevelMVars___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) { _start: { lean_object* x_7; -x_7 = l_Nat_foldMAux___main___at___private_Lean_Elab_Term_21__mkFreshLevelMVars___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_Nat_foldMAux___main___at___private_Lean_Elab_Term_22__mkFreshLevelMVars___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_2); lean_dec(x_1); return x_7; } } -lean_object* l___private_Lean_Elab_Term_21__mkFreshLevelMVars___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { +lean_object* l___private_Lean_Elab_Term_22__mkFreshLevelMVars___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) { _start: { lean_object* x_5; -x_5 = l___private_Lean_Elab_Term_21__mkFreshLevelMVars(x_1, x_2, x_3, x_4); +x_5 = l___private_Lean_Elab_Term_22__mkFreshLevelMVars(x_1, x_2, x_3, x_4); lean_dec(x_1); return x_5; } @@ -27319,7 +27427,7 @@ lean_object* x_22; lean_object* x_23; uint8_t x_24; x_22 = lean_nat_sub(x_19, x_20); lean_dec(x_20); lean_dec(x_19); -x_23 = l___private_Lean_Elab_Term_21__mkFreshLevelMVars(x_1, x_22, x_4, x_8); +x_23 = l___private_Lean_Elab_Term_22__mkFreshLevelMVars(x_1, x_22, x_4, x_8); x_24 = !lean_is_exclusive(x_23); if (x_24 == 0) { @@ -27369,7 +27477,7 @@ lean_dec(x_1); return x_6; } } -lean_object* l_List_foldlM___main___at___private_Lean_Elab_Term_22__mkConsts___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* l_List_foldlM___main___at___private_Lean_Elab_Term_23__mkConsts___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: { if (lean_obj_tag(x_4) == 0) @@ -27587,7 +27695,7 @@ return x_48; } } } -lean_object* l___private_Lean_Elab_Term_22__mkConsts(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l___private_Lean_Elab_Term_23__mkConsts(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; @@ -27596,24 +27704,24 @@ x_7 = lean_ctor_get(x_6, 1); lean_inc(x_7); lean_dec(x_6); x_8 = lean_box(0); -x_9 = l_List_foldlM___main___at___private_Lean_Elab_Term_22__mkConsts___spec__1(x_1, x_3, x_8, x_2, x_4, x_7); +x_9 = l_List_foldlM___main___at___private_Lean_Elab_Term_23__mkConsts___spec__1(x_1, x_3, x_8, x_2, x_4, x_7); return x_9; } } -lean_object* l_List_foldlM___main___at___private_Lean_Elab_Term_22__mkConsts___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* l_List_foldlM___main___at___private_Lean_Elab_Term_23__mkConsts___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) { _start: { lean_object* x_7; -x_7 = l_List_foldlM___main___at___private_Lean_Elab_Term_22__mkConsts___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); +x_7 = l_List_foldlM___main___at___private_Lean_Elab_Term_23__mkConsts___spec__1(x_1, x_2, x_3, x_4, x_5, x_6); lean_dec(x_1); return x_7; } } -lean_object* l___private_Lean_Elab_Term_22__mkConsts___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { +lean_object* l___private_Lean_Elab_Term_23__mkConsts___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_Term_22__mkConsts(x_1, x_2, x_3, x_4, x_5); +x_6 = l___private_Lean_Elab_Term_23__mkConsts(x_1, x_2, x_3, x_4, x_5); lean_dec(x_1); return x_6; } @@ -27760,7 +27868,7 @@ _start: { lean_object* x_7; lean_object* x_8; lean_inc(x_2); -x_7 = l___private_Lean_Elab_Term_20__resolveLocalName(x_2, x_5, x_6); +x_7 = l___private_Lean_Elab_Term_21__resolveLocalName(x_2, x_5, x_6); x_8 = lean_ctor_get(x_7, 0); lean_inc(x_8); if (lean_obj_tag(x_8) == 0) @@ -27774,7 +27882,7 @@ if (x_10 == 0) { lean_object* x_11; lean_dec(x_2); -x_11 = l___private_Lean_Elab_Term_22__mkConsts(x_1, x_3, x_4, x_5, x_9); +x_11 = l___private_Lean_Elab_Term_23__mkConsts(x_1, x_3, x_4, x_5, x_9); return x_11; } else @@ -27793,7 +27901,7 @@ if (x_15 == 0) { lean_object* x_16; lean_dec(x_2); -x_16 = l___private_Lean_Elab_Term_22__mkConsts(x_1, x_13, x_4, x_5, x_14); +x_16 = l___private_Lean_Elab_Term_23__mkConsts(x_1, x_13, x_4, x_5, x_14); return x_16; } else @@ -29112,7 +29220,7 @@ x_8 = l_Lean_Elab_Term_MetaHasEval___rarg(x_1, x_2, x_3, x_4, x_7, x_6); return x_8; } } -lean_object* _init_l___private_Lean_Elab_Term_23__regTraceClasses___closed__1() { +lean_object* _init_l___private_Lean_Elab_Term_24__regTraceClasses___closed__1() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; @@ -29122,7 +29230,7 @@ x_3 = lean_name_mk_string(x_1, x_2); return x_3; } } -lean_object* l___private_Lean_Elab_Term_23__regTraceClasses(lean_object* x_1) { +lean_object* l___private_Lean_Elab_Term_24__regTraceClasses(lean_object* x_1) { _start: { lean_object* x_2; lean_object* x_3; @@ -29134,7 +29242,7 @@ lean_object* x_4; lean_object* x_5; lean_object* x_6; x_4 = lean_ctor_get(x_3, 1); lean_inc(x_4); lean_dec(x_3); -x_5 = l___private_Lean_Elab_Term_23__regTraceClasses___closed__1; +x_5 = l___private_Lean_Elab_Term_24__regTraceClasses___closed__1; x_6 = l_Lean_registerTraceClass(x_5, x_4); if (lean_obj_tag(x_6) == 0) { @@ -29576,8 +29684,6 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabSort___closed__1); res = l___regBuiltin_Lean_Elab_Term_elabSort(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l_Lean_Elab_Term_elabTypeStx___rarg___closed__1 = _init_l_Lean_Elab_Term_elabTypeStx___rarg___closed__1(); -lean_mark_persistent(l_Lean_Elab_Term_elabTypeStx___rarg___closed__1); l___regBuiltin_Lean_Elab_Term_elabTypeStx___closed__1 = _init_l___regBuiltin_Lean_Elab_Term_elabTypeStx___closed__1(); lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabTypeStx___closed__1); res = l___regBuiltin_Lean_Elab_Term_elabTypeStx(lean_io_mk_world()); @@ -29619,18 +29725,18 @@ lean_mark_persistent(l___regBuiltin_Lean_Elab_Term_elabByTactic___closed__1); res = l___regBuiltin_Lean_Elab_Term_elabByTactic(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); -l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__1 = _init_l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__1); -l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__2 = _init_l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__2(); -lean_mark_persistent(l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__2); -l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__3 = _init_l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__3(); -lean_mark_persistent(l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__3); -l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__4 = _init_l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__4(); -lean_mark_persistent(l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__4); -l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__5 = _init_l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__5(); -lean_mark_persistent(l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__5); -l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__6 = _init_l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__6(); -lean_mark_persistent(l___private_Lean_Elab_Term_17__mkPairsAux___main___closed__6); +l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__1 = _init_l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__1); +l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__2 = _init_l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__2(); +lean_mark_persistent(l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__2); +l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__3 = _init_l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__3(); +lean_mark_persistent(l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__3); +l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__4 = _init_l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__4(); +lean_mark_persistent(l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__4); +l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__5 = _init_l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__5(); +lean_mark_persistent(l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__5); +l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__6 = _init_l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__6(); +lean_mark_persistent(l___private_Lean_Elab_Term_18__mkPairsAux___main___closed__6); l_Lean_Elab_Term_elabParen___closed__1 = _init_l_Lean_Elab_Term_elabParen___closed__1(); lean_mark_persistent(l_Lean_Elab_Term_elabParen___closed__1); l_Lean_Elab_Term_elabParen___closed__2 = _init_l_Lean_Elab_Term_elabParen___closed__2(); @@ -29780,9 +29886,9 @@ l_Lean_Elab_Term_MetaHasEval___rarg___closed__5 = _init_l_Lean_Elab_Term_MetaHas lean_mark_persistent(l_Lean_Elab_Term_MetaHasEval___rarg___closed__5); l_Lean_Elab_Term_MetaHasEval___rarg___closed__6 = _init_l_Lean_Elab_Term_MetaHasEval___rarg___closed__6(); lean_mark_persistent(l_Lean_Elab_Term_MetaHasEval___rarg___closed__6); -l___private_Lean_Elab_Term_23__regTraceClasses___closed__1 = _init_l___private_Lean_Elab_Term_23__regTraceClasses___closed__1(); -lean_mark_persistent(l___private_Lean_Elab_Term_23__regTraceClasses___closed__1); -res = l___private_Lean_Elab_Term_23__regTraceClasses(lean_io_mk_world()); +l___private_Lean_Elab_Term_24__regTraceClasses___closed__1 = _init_l___private_Lean_Elab_Term_24__regTraceClasses___closed__1(); +lean_mark_persistent(l___private_Lean_Elab_Term_24__regTraceClasses___closed__1); +res = l___private_Lean_Elab_Term_24__regTraceClasses(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); return lean_mk_io_result(lean_box(0));